html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: sans-serif;
    /* Remove overflow: hidden; here */
}

#hikewithkurt-map {
    width: 100%;
    height: 100dvh;
    position: relative;
    overflow: hidden; /* Only apply overflow hidden to the map container */
}


/* Filter icon - no background, top right */
#hikewithkurt-mobile-filter-icon {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 30px;
    height: 30px;
    background: none;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999999;
    cursor: pointer;
}

#hikewithkurt-mobile-filter-icon img {
    width: 30px;
    height: 30px;
    filter: brightness(0) invert(1);
}

/* Close icon for single hike view (initially hidden), top right, no background */
#hikewithkurt-mobile-close-icon {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 30px;
    height: 30px;
    background: none;
    border-radius: 0;
    box-shadow: none;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 999999;
    cursor: pointer;
}

#hikewithkurt-mobile-close-icon img {
    width: 30px;
    height: 30px;
    filter: brightness(0) invert(1);
}

/* Bottom tab for specific hike view */
#hikewithkurt-mobile-bottom-tab {
    position: fixed;
    bottom: 0;
    width: 90%;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    z-index: 1600;
    padding: 20px 10px;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.2);
    display: none;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.7), rgba(255,255,255,1));
}

.bottom-tab-title {
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 10px;
}

.bottom-tab-stats-line {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    text-align: center;
    margin-bottom: 10px;
}

.bottom-tab-click {
    font-size: 16px;
    color: #000; /* Make text black */
    font-weight: bold; /* Make text bold */
}

/* Drawer (initial half-screen) with no padding so image can be full width */
#hikewithkurt-mobile-drawer {
    position: fixed;
    bottom: -100%;
    width: 100%;
    background: #fff;
    box-shadow: 0 -2px 5px rgba(0,0,0,0.3);
    transition: bottom 0.3s ease;
    z-index: 1500;
    height: 50%;
    overflow-y: auto;
    padding: 0; /* No padding here, full-width image */
}

#hikewithkurt-mobile-drawer.open {
    bottom: 0;
}

/* Full-screen mode for drawer */
#hikewithkurt-mobile-drawer.full-screen {
    top: 0;
    left: 0;
    bottom: auto;
    height: 100%;
    border-radius: 0;
    box-shadow: none;
    padding: 0; /* Still no padding */
}

/* In full screen mode, icons top-right, no background */
#hikewithkurt-mobile-drawer.full-screen #hikewithkurt-mobile-filter-icon,
#hikewithkurt-mobile-drawer.full-screen #hikewithkurt-mobile-close-icon {
    position: absolute;
    top: 20px;
    background: none;
    box-shadow: none;
    cursor: pointer;
    z-index: 999999;
}

#hikewithkurt-mobile-drawer.full-screen #hikewithkurt-mobile-filter-icon {
    right: 60px;
}

#hikewithkurt-mobile-drawer.full-screen #hikewithkurt-mobile-close-icon {
    right: 20px;
}

#hikewithkurt-mobile-drawer.full-screen #hikewithkurt-mobile-filter-icon img,
#hikewithkurt-mobile-drawer.full-screen #hikewithkurt-mobile-close-icon img {
    filter: brightness(0) invert(1);
}

#hikewithkurt-mobile-bottom-tab.full-screen-hide {
    display: none;
}

/* Hikes list overlay (single column) */
#hikewithkurt-mobile-hikes-list {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    z-index: 2000;
    display: flex;
    flex-direction: column;
}

#hikewithkurt-mobile-hikes-list.open {
    transform: translateY(0);
}

.hikewithkurt-mobile-hikes-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    background: #333;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
}

#hikewithkurt-mobile-hikes-list-close {
    background: transparent;
    border: none;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
}

/* Single column hike list with larger font for mileage/elevation */
.hikewithkurt-mobile-hikes-list-content {
    flex: 1;
    overflow-y: auto;
    padding: 10px;
    display: flex;
    flex-direction: column;
}

.hike-grid-item {
    width: 100%;
    box-sizing: border-box;
    padding: 10px;
    cursor: pointer;
}

.hike-grid-item-content {
    border: 1px solid #ccc;
    padding: 10px;
    border-radius: 5px;
    background-color: #f9f9f9;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1),
                0 6px 20px rgba(0,0,0,0.1);
    transition: transform 0.2s;
}

.hike-grid-item-content img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 5px;
}

.hike-grid-item-content h3 {
    font-size: 18px;
    margin: 10px 0;
}

.hike-grid-item-content p {
    font-size: 16px;
    color: #666;
    margin: 5px 0;
    font-weight: bold;
}

.hike-grid-item-content:hover {
    transform: scale(1.02);
}

/* New styles for the drawer content (full-width image, no padding on drawer) */
.hikewithkurt-image-container {
    position: relative;
    width: 100%;
    background-color: #fff;
    margin: 0;
}

.hikewithkurt-full-image {
    width: 100%;
    display: block;
    object-fit: cover;
    border: none;
}

/* Add padding only to the content below the image */
.hikewithkurt-drawer-content-inner {
    padding: 20px;
}

.hikewithkurt-image-overlay {
    position: absolute;
    bottom: 20px;
    left: 20px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.6);

    max-width: 70%; /* Adjust as needed to leave space for the icon */
    word-break: break-word; /* Allows wrapping onto next line */
    overflow-wrap: break-word; /* Ensures long words are wrapped too */
}


.hikewithkurt-hike-title {
    margin: 0;
    font-size: 24px;
    font-weight: bold;
}

.hikewithkurt-hike-location {
    display: block;
    font-size: 16px;
    font-weight: normal;
    margin-top: 5px;
}

.hikewithkurt-more-icon-container {
    position: absolute;
    bottom: 20px;
    right: 20px;
    cursor: pointer;
    z-index: 100000; /* Increase this value so it's above the close icon */
    text-align: center;
}

.hikewithkurt-more-icon {
    width: 40px;
    height: 40px;
    display: block;
    filter: invert(1) brightness(2);
}

.hikewithkurt-more-text {
    font-size: 16px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.6);
    margin-top: 5px;
    text-align: center;
}

.hikewithkurt-more-menu {
    display: none;
    position: absolute;
    bottom: 90px;
    right: 0;
    background: #fff;
    color: #000;
    list-style: none;
    padding: 10px;
    border-radius: 5px;
    text-align: right;
    white-space: nowrap;
    border: 1px solid #ccc;
    z-index: 100001; /* Ensure this is even higher than the container */
}

.hikewithkurt-more-icon-container.active .hikewithkurt-more-menu {
    display: block;
}

.hikewithkurt-more-menu li {
    margin: 5px 0;
}

.hikewithkurt-more-menu li a {
    color: #000;
    text-decoration: none;
    font-size: 14px;
}

.hikewithkurt-more-menu li a:hover {
    text-decoration: underline;
}

.hikewithkurt-hike-stats-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px 0 10px;
    gap: 50px;
}

.hikewithkurt-hike-stats-item {
    font-size: 16px; /* Reduced from 20px to 16px */
    font-weight: bold;
    color: #333;
    text-align: center;
}


.hikewithkurt-hike-description {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
}

.hikewithkurt-hike-description,
.hikewithkurt-hike-info,
.hikewithkurt-required-passes {
    font-size: 16px;
}
