/* ================================   Indian Hive - Main Stylesheet   ================================ *//* === CSS Variables === */:root {    --saffron: #FF9933;    --deep-orange: #E85D04;    --turmeric: #FBBF24;    --cardamom: #34D399;    --midnight: #1A1A2E;    --cream: #FFF8F0;    --terracotta: #D84315;    --warm-white: #FFFBF5;    --gold: #D4AF37;    --font-display: 'Playfair Display', serif;    --font-body: 'Montserrat', sans-serif;    --section-padding: 6rem 5%;    --container-max: 1400px;    --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: 1rem 5%;    display: flex;    justify-content: space-between;    align-items: center;}/* Logo wrapper — image + text sit side by side */.logo {    display: flex;    align-items: center;    gap: 0.5rem;}/* Navbar logo image — small, contained */.logo-img {    height: 38px;    width: auto;    display: block;    object-fit: contain;}.logo-text {    font-family: var(--font-display);    font-size: 1.75rem;    font-weight: 700;    color: var(--deep-orange);    letter-spacing: -0.5px;}.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;    inset: 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: logo on left, text on right */.hero-content {    max-width: 1100px;    width: 100%;    display: flex;    align-items: center;    gap: 4rem;    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 logo (left column) ---- */.hero-logo {    flex-shrink: 0;    width: 180px;      /* comfortable size — not oversized */    height: 180px;}.hero-logo img {    width: 100%;    height: 100%;    object-fit: contain;    filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.25));    animation: logoFloat 3s ease-in-out infinite;}@keyframes logoFloat {    0%, 100% { transform: translateY(0px); }    50%       { transform: translateY(-8px); }}/* ---- Hero text (right column) ---- */.hero-text-container {    flex: 1;    text-align: left;}.hero-title {    font-family: var(--font-display);    font-size: clamp(2rem, 5vw, 4rem);    font-weight: 700;    color: white;    line-height: 1.15;    margin-bottom: 1.25rem;    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);}.hero-subtitle {    font-size: clamp(1rem, 2vw, 1.25rem);    color: rgba(255, 255, 255, 0.95);    font-weight: 300;    margin-bottom: 2rem;}.hero-info {    display: flex;    justify-content: flex-start;    gap: 1.25rem;    margin-bottom: 2.5rem;    flex-wrap: wrap;}.info-card {    display: flex;    align-items: center;    gap: 0.6rem;    padding: 1.25rem 2rem;    background: rgba(255, 255, 255, 0.15);    backdrop-filter: blur(10px);    border-radius: 50px;    color: white;    font-size: 1.05rem;    min-width: 220px;}.info-card span {    line-height: 1.5;}.info-card svg,.info-icon {    width: 26px;    height: 20px;    flex-shrink: 0;}.hero-cta {    display: flex;    gap: 1.25rem;    justify-content: flex-start;    flex-wrap: wrap;}/* Scroll indicator */.scroll-indicator {    position: absolute;    bottom: 2.5rem;    left: 50%;    transform: translateX(-50%);    display: flex;    flex-direction: column;    align-items: center;    gap: 0.4rem;    color: white;    font-size: 0.8rem;    letter-spacing: 1px;    text-transform: uppercase;    opacity: 0.75;    animation: bounce 2s infinite;}.scroll-indicator svg { width: 22px; height: 22px; }@keyframes bounce {    0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }    40% { transform: translateX(-50%) translateY(-8px); }    60% { transform: translateX(-50%) translateY(-4px); }}/* ================================   BUTTONS   ================================ */.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;    font-family: var(--font-body);}.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); }/* ================================   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; }/* ================================   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; }/* ================================   RESPONSIVE   ================================ */@media (max-width: 968px) {    .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;    }    .nav-menu.active { right: 0; }    .hamburger { display: flex; }    .hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }    .hamburger.active span:nth-child(2) { opacity: 0; }    .hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(7px, -7px); }    /* Hero stacks vertically on tablet */    .hero-content {        flex-direction: column;        text-align: center;        gap: 2rem;    }    .hero-logo { width: 130px; height: 130px; }    .hero-text-container { text-align: center; }    .hero-info { justify-content: center; }    .hero-cta { justify-content: center; }    .welcome-grid { grid-template-columns: 1fr; gap: 3rem; }    .services-grid, .gallery-grid { grid-template-columns: 1fr; }    .footer-grid { grid-template-columns: 1fr; }}@media (max-width: 640px) {    .hero-logo { width: 100px; height: 100px; }    .hero-info { flex-direction: column; gap: 0.75rem; align-items: center; }    .hero-cta { flex-direction: column; align-items: center; }    .btn { width: 100%; text-align: center; }}/* === 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, var(--deep-orange), var(--terracotta));    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;}/* Gallery Slideshow Container */.gallery-slideshow {    display: flex;    align-items: center;    justify-content: center;    gap: 2rem;    margin: 3rem auto;    max-width: 1400px;    position: relative;}.gallery-container {    flex: 1;    max-width: 700px; /* Adjusted for portrait aspect ratio */    position: relative;    background: white;    border-radius: 20px;    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);    overflow: hidden;}.gallery-slides {    position: relative;    width: 100%;    padding-bottom: 144.58%; /* 1654/1144 * 100 = 144.58% for aspect ratio */    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;}/* Navigation Buttons */.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.1);}.gallery-nav:hover {    background: var(--saffron);    transform: scale(1.1);    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: var(--transition-smooth);}.gallery-nav:active {    transform: scale(0.95);}/* 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 - Only 3 dots visible */.dot-navigation {    display: flex;    justify-content: center;    align-items: center;    gap: 0.75rem;    margin-top: 2rem;    min-height: 20px;}.nav-dot {    width: 12px;    height: 12px;    background: #d0d0d0;    border: none;    border-radius: 50%;    cursor: pointer;    transition: all 0.3s ease;    display: none; /* Hide all dots by default */    padding: 0;}.nav-dot.visible {    display: block; /* Show only visible dots */}.nav-dot.active {    background: var(--saffron);    width: 16px;    height: 16px;    transform: scale(1);}.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;}/* Responsive Design for Gallery */@media (max-width: 968px) {    .gallery-slideshow {        flex-direction: column;        gap: 1.5rem;    }    .gallery-container {        max-width: 500px;    }    .gallery-nav {        width: 50px;        height: 50px;    }    .gallery-nav svg {        width: 24px;        height: 24px;    }    .prev-btn {        position: absolute;        left: 1rem;        top: 50%;        transform: translateY(-50%);        z-index: 20;    }    .next-btn {        position: absolute;        right: 1rem;        top: 50%;        transform: translateY(-50%);        z-index: 20;    }    .prev-btn:hover,    .next-btn:hover {        transform: translateY(-50%) scale(1.1);    }}@media (max-width: 640px) {    .gallery-container {        max-width: 100%;    }    .gallery-nav {        width: 45px;        height: 45px;    }    .gallery-nav svg {        width: 20px;        height: 20px;    }    .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;        width: 100%;    }    .order-buttons .btn {        width: 100%;        justify-content: center;    }}/* === Responsive Design === */@media (max-width: 968px) {    .nav-menu {        position: fixed;        top: 80px;        right: -100%;        width: 70%;        max-width: 350px;        height: calc(100vh - 80px);        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;    }    .nav-menu.active {        right: 0;    }    .hamburger {        display: flex;    }    .hamburger.active span:nth-child(1) {        transform: rotate(45deg) translate(5px, 5px);    }    .hamburger.active span:nth-child(2) {        opacity: 0;    }    .hamburger.active span:nth-child(3) {        transform: rotate(-45deg) translate(7px, -7px);    }    /* Hero with Logo - Responsive */    .hero-content {        flex-direction: column;        text-align: center;        gap: 2rem;    }    .hero-logo {        width: 200px;        height: 200px;    }    .hero-info {        justify-content: center;    }    .hero-cta {        justify-content: center;    }    .welcome-grid {        grid-template-columns: 1fr;        gap: 3rem;    }    .services-grid,    .gallery-grid {        grid-template-columns: 1fr;    }    .footer-grid {        grid-template-columns: 1fr;    }    .pricing-content {        flex-direction: column;        align-items: flex-start;    }    .day-tabs {        flex-direction: column;    }    .day-tab {        min-width: 100%;    }    .menu-grid {        grid-template-columns: 1fr;    }    .bottom-section {        grid-template-columns: 1fr;    }}@media (max-width: 640px) {    .hero-logo {        width: 150px;        height: 150px;    }    .hero-info {        flex-direction: column;        gap: 1rem;    }    .hero-cta {        flex-direction: column;    }    .btn {        width: 100%;        text-align: center;    }}