/* ================================   Indian Hive - Main Stylesheet   ================================ *//* === CSS Variables === */:root {    /* Colors */    --saffron: #FF9933;    --deep-orange: #E85D04;    --turmeric: #FBBF24;    --cardamom: #34D399;    --midnight: #1A1A2E;    --cream: #FFF8F0;    --terracotta: #D84315;    --warm-white: #FFFBF5;    --gold: #D4AF37;    /* Typography */    --font-display: 'Playfair Display', serif;    --font-body: 'Montserrat', sans-serif;    /* Spacing */    --section-padding: 6rem 5%;    --container-max: 1400px;    /* Transitions */    --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);    --transition-bounce: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);}/* === Reset & Base === */* {    margin: 0;    padding: 0;    box-sizing: border-box;}html {    scroll-behavior: smooth;}body {    font-family: var(--font-body);    background: var(--warm-white);    color: var(--midnight);    line-height: 1.6;    overflow-x: hidden;}img {    max-width: 100%;    display: block;}a {    text-decoration: none;    color: inherit;}/* === Utility Classes === */.container {    max-width: var(--container-max);    margin: 0 auto;    padding: 0 5%;}.section-header {    margin-bottom: 3rem;}.section-header.center {    text-align: center;}.section-label {    display: inline-block;    font-size: 0.875rem;    font-weight: 600;    text-transform: uppercase;    letter-spacing: 2px;    color: var(--saffron);    margin-bottom: 1rem;}.section-title {    font-family: var(--font-display);    font-size: clamp(2rem, 5vw, 3.5rem);    font-weight: 700;    line-height: 1.2;    color: var(--midnight);}/* === Navigation === */.navbar {    position: fixed;    top: 0;    width: 100%;    background: rgba(255, 255, 255, 0.98);    backdrop-filter: blur(10px);    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);    z-index: 1000;    transition: var(--transition-smooth);}.nav-container {    max-width: var(--container-max);    margin: 0 auto;    padding: 1.25rem 5%;    display: flex;    justify-content: space-between;    align-items: center;}.logo-text {    font-family: var(--font-display);    font-size: 1.75rem;    font-weight: 700;    color: var(--deep-orange);    letter-spacing: -0.5px;}.logo {    display: flex;    align-items: center;    gap: 0.6rem;}/* Logo image — adjust height to taste (40px sits neatly in the navbar) */.logo-img {    height: 40px;    width: auto;    display: block;    object-fit: contain;}.nav-menu {    display: flex;    gap: 2.5rem;    list-style: none;    align-items: center;}.nav-menu a {    font-size: 0.95rem;    font-weight: 500;    color: var(--midnight);    position: relative;    transition: var(--transition-smooth);}.nav-menu a::after {    content: '';    position: absolute;    bottom: -5px;    left: 0;    width: 0;    height: 2px;    background: var(--saffron);    transition: width 0.3s ease;}.nav-menu a:hover,.nav-menu a.active {    color: var(--deep-orange);}.nav-menu a:hover::after,.nav-menu a.active::after {    width: 100%;}.hamburger {    display: none;    flex-direction: column;    gap: 5px;    cursor: pointer;}.hamburger span {    width: 28px;    height: 3px;    background: var(--midnight);    transition: var(--transition-smooth);    border-radius: 2px;}/* === Hero Section === */.hero {    min-height: 100vh;    display: flex;    align-items: center;    justify-content: center;    position: relative;    background: linear-gradient(135deg, #FF9933 0%, #E85D04 100%);    padding: 8rem 5%;    overflow: hidden;}.hero::before {    content: '';    position: absolute;    top: 0;    left: 0;    right: 0;    bottom: 0;    background-image:            radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.15) 0%, transparent 50%),            radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.1) 0%, transparent 50%);    animation: float 15s ease-in-out infinite;}@keyframes float {    0%, 100% { transform: translate(0, 0); }    50% { transform: translate(30px, 20px); }}.hero-content {    max-width: 900px;    text-align: center;    position: relative;    z-index: 1;    animation: fadeInUp 1s ease-out;}@keyframes fadeInUp {    from {        opacity: 0;        transform: translateY(40px);    }    to {        opacity: 1;        transform: translateY(0);    }}.hero-title {    font-family: var(--font-display);    font-size: clamp(2.5rem, 7vw, 5rem);    font-weight: 700;    font-style: italic;    color: white;    line-height: 1.1;    margin-bottom: 1.5rem;    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);}.hero-subtitle {    font-size: clamp(1.1rem, 2.5vw, 1.5rem);    color: rgba(255, 255, 255, 0.95);    font-weight: 300;    margin-bottom: 2.5rem;}.hero-info {    display: flex;    justify-content: center;    gap: 2rem;    margin-bottom: 3rem;    flex-wrap: wrap;}.info-card {    display: flex;    align-items: center;    gap: 0.75rem;    padding: 1rem 1.5rem;    background: rgba(255, 255, 255, 0.15);    backdrop-filter: blur(10px);    border-radius: 50px;    color: white;    font-size: 1rem;}.info-icon {    width: 24px;    height: 24px;}.hero-cta {    display: flex;    gap: 1.5rem;    justify-content: center;    flex-wrap: wrap;}.btn {    padding: 1rem 2.5rem;    border-radius: 50px;    font-weight: 600;    font-size: 1.05rem;    transition: var(--transition-smooth);    cursor: pointer;    border: none;    display: inline-block;}.btn-primary {    background: white;    color: var(--deep-orange);    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);}.btn-primary:hover {    transform: translateY(-3px);    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);}.btn-secondary {    background: transparent;    color: white;    border: 2px solid white;}.btn-secondary:hover {    background: white;    color: var(--deep-orange);}.btn-accent {    background: var(--saffron);    color: white;}.btn-accent:hover {    background: var(--deep-orange);    transform: translateY(-2px);}.btn-light {    background: white;    color: var(--midnight);}.btn-light:hover {    background: var(--warm-white);    transform: translateY(-2px);}.scroll-indicator {    position: absolute;    bottom: 3rem;    left: 50%;    transform: translateX(-50%);    display: flex;    flex-direction: column;    align-items: center;    gap: 0.5rem;    color: white;    font-size: 0.85rem;    opacity: 0.8;    animation: bounce 2s infinite;}.scroll-indicator svg {    width: 24px;    height: 24px;}@keyframes bounce {    0%, 20%, 50%, 80%, 100% {        transform: translateX(-50%) translateY(0);    }    40% {        transform: translateX(-50%) translateY(-10px);    }    60% {        transform: translateX(-50%) translateY(-5px);    }}/* === Welcome Section === */.welcome {    padding: var(--section-padding);    background: var(--cream);}.welcome-grid {    display: grid;    grid-template-columns: 1fr 1fr;    gap: 4rem;    align-items: start;}.lead-text {    font-size: 1.25rem;    font-weight: 500;    color: var(--deep-orange);    margin-bottom: 1.5rem;    line-height: 1.7;}.welcome-content p {    margin-bottom: 1.5rem;    color: #555;    line-height: 1.8;}.welcome-content .btn {    margin-top: 1rem;}.welcome-features {    display: grid;    gap: 2rem;}.feature-card {    background: white;    padding: 2rem;    border-radius: 16px;    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);    transition: var(--transition-smooth);}.feature-card:hover {    transform: translateY(-5px);    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);}.feature-icon {    width: 60px;    height: 60px;    background: linear-gradient(135deg, var(--saffron), var(--deep-orange));    border-radius: 12px;    display: flex;    align-items: center;    justify-content: center;    margin-bottom: 1.5rem;}.feature-icon svg {    width: 30px;    height: 30px;    stroke: white;}.feature-card h3 {    font-family: var(--font-display);    font-size: 1.5rem;    margin-bottom: 0.75rem;    color: var(--midnight);}.feature-card p {    color: #666;    line-height: 1.7;}/* === Services Preview === */.services-preview {    padding: var(--section-padding);    background: var(--warm-white);}.services-grid {    display: grid;    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));    gap: 2.5rem;    margin-top: 3rem;}.service-card {    background: white;    border-radius: 20px;    overflow: hidden;    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);    transition: var(--transition-smooth);}.service-card:hover {    transform: translateY(-10px);    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);}.service-image {    height: 250px;    overflow: hidden;}.service-image img {    width: 100%;    height: 100%;    object-fit: cover;    transition: transform 0.6s ease;}.service-card:hover .service-image img {    transform: scale(1.1);}.service-content {    padding: 2rem;}.service-content h3 {    font-family: var(--font-display);    font-size: 1.5rem;    margin-bottom: 1rem;    color: var(--midnight);}.service-content p {    color: #666;    margin-bottom: 1.5rem;    line-height: 1.7;}.service-link {    color: var(--deep-orange);    font-weight: 600;    transition: var(--transition-smooth);}.service-link:hover {    color: var(--saffron);    padding-left: 5px;}/* === Offer Banner === */.offer-banner {    padding: 5rem 5%;    background: linear-gradient(135deg, var(--terracotta), var(--deep-orange));    text-align: center;    position: relative;    overflow: hidden;}.offer-banner::before {    content: '';    position: absolute;    top: -50%;    right: -20%;    width: 600px;    height: 600px;    background: radial-gradient(circle, rgba(255, 255, 255, 0.1), transparent);    border-radius: 50%;}.offer-content {    position: relative;    z-index: 1;    max-width: 700px;    margin: 0 auto;}.offer-badge {    display: inline-block;    padding: 0.5rem 1.5rem;    background: var(--turmeric);    color: var(--midnight);    font-weight: 700;    font-size: 0.875rem;    text-transform: uppercase;    letter-spacing: 1px;    border-radius: 50px;    margin-bottom: 1.5rem;}.offer-content h2 {    font-family: var(--font-display);    font-size: clamp(2rem, 5vw, 3rem);    color: white;    margin-bottom: 1rem;}.offer-content p {    font-size: 1.15rem;    color: rgba(255, 255, 255, 0.9);    margin-bottom: 2rem;}/* === Photo Gallery === */.gallery {    padding: var(--section-padding);    background: var(--warm-white);}.gallery-grid {    display: grid;    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));    gap: 1.5rem;    margin-top: 3rem;}.gallery-item {    position: relative;    height: 350px;    border-radius: 16px;    overflow: hidden;    cursor: pointer;    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);}.gallery-item img {    width: 100%;    height: 100%;    object-fit: cover;    transition: transform 0.5s ease;}.gallery-overlay {    position: absolute;    inset: 0;    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);    display: flex;    align-items: flex-end;    padding: 2rem;    opacity: 0;    transition: opacity 0.3s ease;}.gallery-overlay span {    color: white;    font-size: 1.25rem;    font-weight: 600;}.gallery-item:hover img {    transform: scale(1.1);}.gallery-item:hover .gallery-overlay {    opacity: 1;}/* === Footer === */.footer {    background: var(--midnight);    color: white;    padding: 4rem 5% 2rem;}.footer-grid {    display: grid;    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));    gap: 3rem;    margin-bottom: 3rem;}.footer-col h3 {    font-family: var(--font-display);    font-size: 1.75rem;    margin-bottom: 1rem;    color: var(--turmeric);}.footer-col h4 {    font-size: 1.25rem;    margin-bottom: 1.5rem;    color: var(--turmeric);}.footer-col p {    color: rgba(255, 255, 255, 0.7);    line-height: 1.7;    margin-bottom: 1.5rem;}.footer-col ul {    list-style: none;}.footer-col ul li {    margin-bottom: 0.75rem;}.footer-col ul li a {    color: rgba(255, 255, 255, 0.7);    transition: var(--transition-smooth);}.footer-col ul li a:hover {    color: var(--turmeric);    padding-left: 5px;}.social-links {    display: flex;    gap: 1rem;}.social-links a {    width: 45px;    height: 45px;    background: rgba(255, 255, 255, 0.1);    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    transition: var(--transition-smooth);}.social-links a:hover {    background: var(--saffron);    transform: translateY(-5px);}.social-links svg {    width: 20px;    height: 20px;}.contact-info li {    display: flex;    align-items: flex-start;    gap: 1rem;    color: rgba(255, 255, 255, 0.7);    margin-bottom: 1rem;}.contact-info svg {    width: 20px;    height: 20px;    flex-shrink: 0;    margin-top: 3px;}.hours li {    display: flex;    justify-content: space-between;    color: rgba(255, 255, 255, 0.7);    padding: 0.5rem 0;    border-bottom: 1px solid rgba(255, 255, 255, 0.1);}.footer-bottom {    text-align: center;    padding-top: 2rem;    border-top: 1px solid rgba(255, 255, 255, 0.1);}.footer-bottom p {    color: rgba(255, 255, 255, 0.5);    font-size: 0.9rem;}/* === Page Header === */.page-header {    padding: 10rem 5% 4rem;    background: linear-gradient(135deg, #FF9933 0%, #E85D04 100%);    text-align: center;    color: white;    position: relative;    overflow: hidden;}.page-header::before {    content: '';    position: absolute;    top: -50%;    left: -10%;    width: 500px;    height: 500px;    background: radial-gradient(circle, rgba(255, 255, 255, 0.1), transparent);    border-radius: 50%;}.page-header h1 {    font-family: var(--font-display);    font-size: clamp(2.5rem, 6vw, 4.5rem);    font-weight: 700;    margin-bottom: 1rem;    position: relative;    z-index: 1;}.page-subtitle {    font-size: 1.25rem;    opacity: 0.95;    margin-bottom: 2rem;}.page-info {    display: flex;    justify-content: center;    gap: 2rem;    flex-wrap: wrap;}.info-badge {    display: flex;    align-items: center;    gap: 0.75rem;    padding: 0.75rem 1.5rem;    background: rgba(255, 255, 255, 0.15);    backdrop-filter: blur(10px);    border-radius: 50px;    font-size: 1rem;}.info-badge svg {    width: 20px;    height: 20px;}/* === Lunch Menu Styles === */.lunch-menu {    padding: 4rem 5% 6rem;    background: var(--warm-white);}.pricing-card {    background: linear-gradient(135deg, var(--saffron), var(--deep-orange));    border-radius: 16px;    padding: 2rem;    margin-bottom: 3rem;    color: white;}.pricing-content {    display: flex;    justify-content: space-between;    align-items: center;    gap: 2rem;    flex-wrap: wrap;}.price-info {    display: flex;    gap: 2rem;}.price-item {    display: flex;    flex-direction: column;    align-items: center;}.price-label {    font-size: 0.875rem;    font-weight: 600;    text-transform: uppercase;    letter-spacing: 1px;    opacity: 0.9;}.price-value {    font-size: 2.5rem;    font-weight: 700;    font-family: var(--font-display);}.includes-info {    font-size: 1rem;    opacity: 0.95;}/* Day Tabs */.day-tabs {    display: flex;    gap: 1rem;    margin-bottom: 2rem;    overflow-x: auto;    padding-bottom: 0.5rem;}.day-tab {    flex: 1;    min-width: 150px;    padding: 1.25rem 1.5rem;    background: white;    border: 2px solid #e0e0e0;    border-radius: 12px;    cursor: pointer;    transition: var(--transition-smooth);    display: flex;    flex-direction: column;    align-items: center;    gap: 0.25rem;}.day-tab:hover {    border-color: var(--saffron);    transform: translateY(-3px);    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);}.day-tab.active {    background: var(--saffron);    border-color: var(--saffron);    color: white;}.day-tab.special-tab.active {    background: var(--deep-orange);    border-color: var(--deep-orange);}.day-name {    font-weight: 700;    font-size: 1.1rem;}.day-swedish {    font-size: 0.85rem;    opacity: 0.8;}.day-tab.active .day-swedish {    opacity: 0.95;}/* Menu Content */.menu-content {    background: white;    border-radius: 16px;    padding: 2.5rem;    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);    margin-bottom: 2rem;    min-height: 400px;}.day-menu {    display: none;    animation: fadeIn 0.4s ease;}.day-menu.active {    display: block;}@keyframes fadeIn {    from {        opacity: 0;        transform: translateY(10px);    }    to {        opacity: 1;        transform: translateY(0);    }}.menu-grid {    display: grid;    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));    gap: 1.5rem;}.menu-item {    padding: 1.5rem;    background: var(--cream);    border-radius: 12px;    transition: var(--transition-smooth);    border: 2px solid transparent;}.menu-item:hover {    background: var(--warm-white);    border-color: var(--saffron);    transform: translateY(-3px);}.menu-item.special {    background: linear-gradient(135deg, rgba(255, 153, 51, 0.15), rgba(232, 93, 4, 0.15));    border-color: var(--saffron);}.item-number {    display: inline-flex;    align-items: center;    justify-content: center;    width: 32px;    height: 32px;    background: var(--saffron);    color: white;    border-radius: 50%;    font-weight: 700;    font-size: 1rem;    margin-bottom: 1rem;}.menu-item.special .item-number {    background: var(--deep-orange);}.menu-item h3 {    font-family: var(--font-display);    font-size: 1.15rem;    color: var(--midnight);    margin-bottom: 0.5rem;    font-weight: 600;}.menu-item p {    color: #666;    line-height: 1.6;    font-size: 0.9rem;}/* Bottom Section */.bottom-section {    display: grid;    grid-template-columns: 1fr 2fr;    gap: 2rem;}.drinks-box,.order-box {    background: white;    padding: 2rem;    border-radius: 16px;    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);}.drinks-box h3,.order-box h3 {    font-family: var(--font-display);    font-size: 1.5rem;    color: var(--deep-orange);    margin-bottom: 1rem;}.drink-items {    display: flex;    flex-direction: column;    gap: 0.75rem;}.drink-items span {    padding: 0.75rem 1rem;    background: var(--cream);    border-radius: 8px;    font-weight: 500;}.order-box {    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;    text-align: center;    background: linear-gradient(135deg, var(--midnight), #2a2a3e);    color: white;}.order-box h3 {    color: var(--turmeric);    font-size: 2rem;    margin-bottom: 0.5rem;}.order-box .btn {    margin-top: 1rem;    display: flex;    align-items: center;    gap: 0.75rem;}.order-box .btn svg {    width: 20px;    height: 20px;}/* Remove old styles that are no longer needed */.pricing-header,.pricing-includes,.menu-sections,.menu-category,.category-header,.menu-items,.item-content,.drinks-section,.drinks-list,.drink-item,.order-cta,.cta-buttons {    /* These are now handled by the new compact styles above */}/* === Menu Gallery Section === */.menu-gallery-section {    padding: 4rem 5% 6rem;    background: var(--warm-white);}.gallery-description {    text-align: center;    color: #666;    font-size: 1.05rem;    margin-top: 1rem;}/* Outer wrapper — MUST be relative so absolute buttons work on mobile */.gallery-slideshow {    display: flex;    align-items: center;    justify-content: center;    gap: 2rem;    margin: 3rem auto;    max-width: 1400px;    position: relative;   /* ← critical fix */}.gallery-container {    flex: 1;    max-width: 700px;    position: relative;    background: white;    border-radius: 20px;    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);    overflow: hidden;    /* Prevent text selection during swipe */    user-select: none;    -webkit-user-select: none;}.gallery-slides {    position: relative;    width: 100%;    padding-bottom: 144.58%; /* portrait aspect ratio 1144:1654 */    overflow: hidden;}.gallery-slide {    position: absolute;    top: 0; left: 0;    width: 100%; height: 100%;    opacity: 0;    transition: opacity 0.6s ease-in-out;    pointer-events: none;}.gallery-slide.active {    opacity: 1;    pointer-events: auto;}.gallery-slide img {    width: 100%;    height: 100%;    object-fit: contain;    background: #f8f8f8;    /* Stop iOS long-press saving images during swipe */    -webkit-touch-callout: none;    pointer-events: none;}/* Navigation Buttons — desktop: sit outside the card */.gallery-nav {    width: 60px;    height: 60px;    background: white;    border: 2px solid var(--saffron);    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    cursor: pointer;    transition: var(--transition-smooth);    flex-shrink: 0;    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12);    z-index: 20;}.gallery-nav:hover {    background: var(--saffron);    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);}.gallery-nav:hover svg {    stroke: white;}.gallery-nav svg {    width: 28px;    height: 28px;    stroke: var(--saffron);    transition: stroke 0.3s ease;    /* Prevent SVG from intercepting touch */    pointer-events: none;}.gallery-nav:active {    transform: scale(0.93);}/* Progress Bar */.progress-bar {    position: absolute;    bottom: 0; left: 0; right: 0;    height: 4px;    background: rgba(0, 0, 0, 0.1);}.progress-fill {    height: 100%;    background: var(--saffron);    width: 0%;    transition: width 0.05s linear;}/* Dot Navigation */.dot-navigation {    display: flex;    justify-content: center;    align-items: center;    gap: 0.75rem;    margin-top: 2rem;    min-height: 24px;}.nav-dot {    width: 12px;    height: 12px;    background: #d0d0d0;    border: none;    border-radius: 50%;    cursor: pointer;    transition: all 0.3s ease;    display: none;    padding: 0;    /* Make tap target bigger on mobile without changing visual size */    position: relative;}.nav-dot::after {    content: '';    position: absolute;    inset: -8px;}.nav-dot.visible      { display: block; }.nav-dot.active       { background: var(--saffron); width: 16px; height: 16px; }.nav-dot.prev-dot,.nav-dot.next-dot     { width: 10px; height: 10px; opacity: 0.6; }.nav-dot:hover        { background: var(--deep-orange); transform: scale(1.2); }/* Order Section */.order-section {    padding: 5rem 5%;    background: linear-gradient(135deg, var(--midnight), #2a2a3e);    color: white;}.order-content {    max-width: 800px;    margin: 0 auto;    text-align: center;}.order-content h2 {    font-family: var(--font-display);    font-size: clamp(2rem, 5vw, 3rem);    margin-bottom: 1rem;}.order-content p {    font-size: 1.15rem;    opacity: 0.9;    margin-bottom: 2rem;}.order-buttons {    display: flex;    justify-content: center;    gap: 1.5rem;    flex-wrap: wrap;}.order-buttons .btn {    display: flex;    align-items: center;    gap: 0.75rem;}.order-buttons .btn svg {    width: 20px;    height: 20px;    pointer-events: none;}/* ================================   RESPONSIVE — GALLERY   ================================ *//* Tablet: buttons float over the card edges */@media (max-width: 968px) {    .gallery-slideshow {        gap: 0;           /* remove side gap — buttons will overlap card */    }    .gallery-container {        max-width: 520px;        /* leave room for the overlapping buttons */        margin: 0 3.5rem;    }    .gallery-nav {        position: absolute;        top: 50%;        width: 48px;        height: 48px;        /* override flex layout so they sit over the image */    }    .gallery-nav svg {        width: 22px;        height: 22px;    }    .prev-btn {        left: 0;        transform: translateY(-50%);    }    .next-btn {        right: 0;        transform: translateY(-50%);    }    /* Keep scale working without losing the vertical centering */    .prev-btn:hover { transform: translateY(-50%) scale(1.1); }    .next-btn:hover { transform: translateY(-50%) scale(1.1); }    .prev-btn:active { transform: translateY(-50%) scale(0.93); }    .next-btn:active { transform: translateY(-50%) scale(0.93); }}/* Mobile: full width, buttons stay over image */@media (max-width: 640px) {    .gallery-container {        max-width: 100%;        margin: 0 2.5rem;   /* breathing room for the buttons */        border-radius: 12px;    }    .gallery-nav {        width: 40px;        height: 40px;    }    .gallery-nav svg {        width: 18px;        height: 18px;    }    .nav-dot        { width: 10px; height: 10px; }    .nav-dot.active { width: 14px; height: 14px; }    .nav-dot.prev-dot,    .nav-dot.next-dot { width: 8px; height: 8px; }    .order-buttons {        flex-direction: column;        align-items: stretch;    }    .order-buttons .btn {        width: 100%;        justify-content: center;    }    @media (max-width: 968px) {        /* Show hamburger on mobile */        .hamburger {            display: flex;        }        /* Slide the nav in from the right */        .nav-menu {            position: fixed;            top: 72px;            right: -100%;            width: 70%;            max-width: 350px;            height: calc(100vh - 72px);            background: white;            flex-direction: column;            padding: 2rem;            box-shadow: -5px 0 20px rgba(0, 0, 0, 0.1);            transition: right 0.3s ease;            align-items: flex-start;            gap: 1.5rem;            z-index: 999;            overflow-y: auto;        }        .nav-menu.active {            right: 0;        }        /* Hamburger → X animation */        .hamburger.active span:nth-child(1) {            transform: rotate(45deg) translate(5px, 5px);        }        .hamburger.active span:nth-child(2) {            opacity: 0;            transform: translateX(-10px);        }        .hamburger.active span:nth-child(3) {            transform: rotate(-45deg) translate(7px, -7px);        }        /* Full-width nav links on mobile */        .nav-menu li {            width: 100%;        }        .nav-menu a {            font-size: 1.1rem;            padding: 0.5rem 0;            display: block;            width: 100%;        }    }}