/* ============================================================
   Chai Studio — Johar Town, Lahore
   Full multi-page cafe theme (Lambert-style structure)
   Original code · dark + gold brand · responsive
   ============================================================ */

/* -------- Design tokens -------- */
:root{
    --chai-dark:      #141110;   /* page background */
    --chai-dark-2:    #1c1815;   /* panels / cards */
    --chai-dark-3:    #2a2018;   /* borders */
    --chai-cream:     #f6efe6;   /* primary text */
    --chai-muted:     #b9ac9c;   /* secondary text */
    --chai-gold:      #f2b937;   /* brand yellow-gold */
    --chai-gold-2:    #d19323;   /* deeper amber */
    --chai-red:       #c0392b;   /* accent (logo badge) */
    --chai-overlay:   rgba(0,0,0,.5);

    --chai-head: "Playfair Display", Georgia, serif;
    --chai-body: "Lato", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    --chai-ease: cubic-bezier(.16,.84,.44,1);
    --chai-shadow: 0 24px 60px rgba(0,0,0,.4);
    --chai-radius: 8px;
    --chai-container: 1200px;
}

/* -------- Reset-ish -------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:100px; }
body{
    margin:0;
    font-family:var(--chai-body);
    color:var(--chai-cream);
    background:var(--chai-dark);
    line-height:1.7;
    overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4,h5{ font-family:var(--chai-head); font-weight:600; line-height:1.15; margin:0; }
p{ margin:0 0 1.1em; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
ul{ list-style:none; margin:0; padding:0; }
:focus-visible{ outline:2px solid var(--chai-gold); outline-offset:3px; }

.chai-container{ width:100%; max-width:var(--chai-container); margin:0 auto; padding:0 24px; }
.chai-center{ text-align:center; }
.chai-gold-text{ color:var(--chai-gold); }
.chai-hidden{ display:none !important; }

/* -------- Buttons -------- */
.chai-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
    padding:15px 30px; border-radius:40px;
    background:var(--chai-gold); color:#241a09;
    transition:background .3s, transform .3s, box-shadow .3s;
}
.chai-btn:hover{ background:var(--chai-gold-2); transform:translateY(-2px); box-shadow:0 12px 26px rgba(0,0,0,.35); }
.chai-btn--ghost{ background:transparent; color:var(--chai-cream); border:1px solid rgba(255,255,255,.4); }
.chai-btn--ghost:hover{ background:var(--chai-gold); color:#241a09; border-color:var(--chai-gold); }
.chai-btn--sm{ padding:11px 20px; font-size:.72rem; }
.chai-btn--block{ width:100%; }

.chai-link{
    display:inline-block;
    font-size:.8rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
    color:var(--chai-gold);
    padding-bottom:6px; border-bottom:2px solid var(--chai-gold);
    transition:color .3s, border-color .3s, letter-spacing .3s;
}
.chai-link:hover{ color:var(--chai-cream); border-color:var(--chai-cream); letter-spacing:.24em; }
.chai-center-link{ display:table; margin:48px auto 0; }

/* -------- Section title -------- */
.chai-section-title h4{
    font-family:var(--chai-body);
    font-size:.8rem; font-weight:700; letter-spacing:.3em; text-transform:uppercase;
    color:var(--chai-gold); margin:0 0 10px;
}
.chai-decor-title{ font-size:clamp(2rem, 4.5vw, 3.2rem); color:var(--chai-cream); }
.chai-decor-title.chai-light{ color:#fff; }
.chai-separator{ display:block; width:60px; height:3px; margin:22px 0 26px; background:var(--chai-gold); }
.chai-center .chai-separator, .chai-center-sep{ margin-left:auto; margin-right:auto; }
.chai-section-lead{ max-width:640px; margin:0 auto 10px; color:var(--chai-muted); }

/* ============================================================
   Preloader
   ============================================================ */
.chai-preloader{
    position:fixed; inset:0; z-index:9999;
    display:flex; align-items:center; justify-content:center; background:var(--chai-dark);
    transition:opacity .6s var(--chai-ease), visibility .6s var(--chai-ease);
}
.chai-preloader.is-loaded{ opacity:0; visibility:hidden; }
.chai-preloader-inner{ text-align:center; }
.chai-preloader-mark{ display:block; font-family:var(--chai-head); font-size:2rem; letter-spacing:.04em; margin-bottom:18px; }
.chai-preloader-mark b{ color:var(--chai-gold); font-weight:600; }
.chai-preloader-spinner{
    display:inline-block; width:34px; height:34px;
    border:2px solid rgba(242,185,55,.25); border-top-color:var(--chai-gold);
    border-radius:50%; animation:chai-spin .8s linear infinite;
}
@keyframes chai-spin{ to{ transform:rotate(360deg); } }

/* ============================================================
   Header
   ============================================================ */
.chai-header{
    position:fixed; top:0; left:0; width:100%; z-index:900;
    transition:background .4s var(--chai-ease), box-shadow .4s var(--chai-ease), padding .4s var(--chai-ease);
    padding:14px 0;
}
.chai-header::after{
    content:""; position:absolute; inset:0; z-index:-1;
    background:linear-gradient(to bottom, rgba(0,0,0,.6), rgba(0,0,0,0));
    transition:opacity .4s var(--chai-ease);
}
.chai-header.is-solid{ background:rgba(18,13,10,.97); box-shadow:0 10px 30px rgba(0,0,0,.4); padding:8px 0; }
.chai-header.is-solid::after{ opacity:0; }
/* inner pages start solid (no full-screen hero behind) */
.chai-header.chai-header--inner{ background:rgba(18,13,10,.97); box-shadow:0 8px 26px rgba(0,0,0,.35); position:fixed; }
.chai-header.chai-header--inner::after{ opacity:0; }

.chai-header-grid{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; }
.chai-social{ display:flex; gap:16px; align-items:center; }
.chai-social a{ font-size:1rem; opacity:.85; transition:color .25s, opacity .25s, transform .25s; }
.chai-social a:hover{ color:var(--chai-gold); opacity:1; transform:translateY(-2px); }

.chai-logo{ justify-self:center; display:flex; align-items:center; gap:10px; font-family:var(--chai-head); font-size:1.7rem; font-weight:700; letter-spacing:.02em; white-space:nowrap; }
.chai-logo span{ color:var(--chai-gold); }
.chai-logo .chai-logo-cup{ color:var(--chai-gold); font-size:1.5rem; }

.chai-header-right{ justify-self:end; display:flex; align-items:center; gap:24px; }
.chai-nav ul{ display:flex; gap:26px; align-items:center; }
.chai-nav a{
    position:relative; font-size:.78rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
    opacity:.9; padding:6px 0; transition:color .25s;
}
.chai-nav a::after{ content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--chai-gold); transition:width .3s var(--chai-ease); }
.chai-nav a:hover, .chai-nav a.is-active{ color:var(--chai-gold); }
.chai-nav a:hover::after, .chai-nav a.is-active::after{ width:100%; }

/* cart button */
.chai-cart-btn{ position:relative; font-size:1.15rem; color:var(--chai-cream); transition:color .25s; }
.chai-cart-btn:hover{ color:var(--chai-gold); }
.chai-cart-count{
    position:absolute; top:-8px; right:-11px; min-width:18px; height:18px; padding:0 5px;
    background:var(--chai-gold); color:#241a09; font-family:var(--chai-body); font-size:.66rem; font-weight:700;
    border-radius:10px; display:flex; align-items:center; justify-content:center; line-height:1;
}
.chai-cart-count:empty, .chai-cart-count[data-count="0"]{ display:none; }

/* Mobile toggle */
.chai-nav-toggle{ display:none; width:42px; height:42px; position:relative; }
.chai-nav-toggle span{ position:absolute; left:9px; right:9px; height:2px; background:var(--chai-cream); transition:transform .3s var(--chai-ease), opacity .2s; }
.chai-nav-toggle span:nth-child(1){ top:14px; }
.chai-nav-toggle span:nth-child(2){ top:20px; }
.chai-nav-toggle span:nth-child(3){ top:26px; }
.chai-nav-toggle.is-open span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.chai-nav-toggle.is-open span:nth-child(2){ opacity:0; }
.chai-nav-toggle.is-open span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

/* ============================================================
   Hero Carousel
   ============================================================ */
.chai-hero{ position:relative; height:100vh; height:100svh; min-height:600px; overflow:hidden; }
.chai-hero-carousel{ height:100%; }
.chai-slide{ position:relative; overflow:hidden; }
.chai-slide-bg{ position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.12); transition:transform 7s ease-out; background-color:var(--chai-dark-2); }
.swiper-slide-active .chai-slide-bg{ transform:scale(1); }
.chai-slide-overlay{ position:absolute; inset:0; background:var(--chai-overlay); }
.chai-slide-content{ position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:0 24px; }
.chai-slide-sub{ font-family:var(--chai-body); font-size:.8rem; font-weight:700; letter-spacing:.34em; text-transform:uppercase; color:var(--chai-gold); margin:0 0 18px; opacity:0; transform:translateY(24px); }
.chai-slide-title{ font-size:clamp(2.6rem, 7vw, 5.6rem); font-weight:700; color:#fff; text-shadow:0 4px 30px rgba(0,0,0,.5); opacity:0; transform:translateY(30px); }
.chai-slide-title a{ transition:color .3s; }
.chai-slide-title a:hover{ color:var(--chai-gold); }
.chai-slide-cta{ margin-top:34px; opacity:0; transform:translateY(30px); }
.swiper-slide-active .chai-slide-sub{ animation:chai-up .9s var(--chai-ease) .25s forwards; }
.swiper-slide-active .chai-slide-title{ animation:chai-up .9s var(--chai-ease) .4s forwards; }
.swiper-slide-active .chai-slide-cta{ animation:chai-up .9s var(--chai-ease) .55s forwards; }
@keyframes chai-up{ to{ opacity:1; transform:translateY(0); } }

.chai-hero-progress{ position:absolute; left:0; bottom:0; width:100%; height:3px; z-index:5; background:rgba(255,255,255,.15); }
.chai-hero-progress span{ display:block; height:100%; width:0; background:var(--chai-gold); }
.chai-hero-nav{ position:absolute; z-index:6; right:38px; bottom:56px; display:flex; gap:14px; }
.chai-hero-nav button{ width:56px; height:56px; border-radius:50%; border:1px solid rgba(255,255,255,.35); color:#fff; font-size:1rem; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(4px); transition:background .3s, color .3s, border-color .3s, transform .3s; }
.chai-hero-nav button:hover{ background:var(--chai-gold); border-color:var(--chai-gold); color:var(--chai-dark); transform:scale(1.06); }
.chai-hero-scroll{ position:absolute; left:50%; bottom:40px; transform:translateX(-50%); z-index:6; width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.1rem; animation:chai-bob 2s ease-in-out infinite; }
@keyframes chai-bob{ 0%,100%{ transform:translate(-50%,0); } 50%{ transform:translate(-50%,10px); } }

/* ============================================================
   Page banner (inner pages)
   ============================================================ */
.chai-page-banner{ position:relative; padding:190px 0 90px; text-align:center; overflow:hidden; }
.chai-page-banner-bg{ position:absolute; inset:0; background-size:cover; background-position:center; z-index:0; }
.chai-page-banner::after{ content:""; position:absolute; inset:0; background:rgba(0,0,0,.62); z-index:1; }
.chai-page-banner .chai-container{ position:relative; z-index:2; }
.chai-page-banner h1{ font-size:clamp(2.2rem,5vw,3.6rem); color:#fff; }
.chai-page-banner .chai-eyebrow{ color:var(--chai-gold); font-family:var(--chai-body); font-weight:700; letter-spacing:.3em; text-transform:uppercase; font-size:.78rem; margin-bottom:12px; }
.chai-breadcrumb{ margin-top:16px; color:var(--chai-muted); font-size:.85rem; letter-spacing:.05em; }
.chai-breadcrumb a:hover{ color:var(--chai-gold); }
.chai-breadcrumb span{ color:var(--chai-gold); }

/* ============================================================
   Story split section
   ============================================================ */
.chai-story-section{ padding:120px 0; }
.chai-story-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.chai-story-text p{ color:var(--chai-muted); }
.chai-story-text strong{ color:var(--chai-cream); font-weight:700; }
.chai-story-text em{ color:var(--chai-gold); font-style:italic; }
.chai-story-slider-holder{ position:relative; }
.chai-story-slider{ border-radius:var(--chai-radius); overflow:hidden; box-shadow:var(--chai-shadow); }
.chai-story-img{ height:520px; background-size:cover; background-position:center; background-color:var(--chai-dark-2); }
.chai-story-dots.swiper-pagination{ bottom:18px; }
.chai-story-dots .swiper-pagination-bullet{ width:10px; height:10px; background:#fff; opacity:.55; transition:opacity .3s, width .3s; }
.chai-story-dots .swiper-pagination-bullet-active{ background:var(--chai-gold); opacity:1; width:26px; border-radius:6px; }
.chai-story-slider-holder::before{ content:""; position:absolute; inset:-16px -16px auto auto; width:120px; height:120px; border-top:3px solid var(--chai-gold); border-right:3px solid var(--chai-gold); z-index:2; pointer-events:none; }
.chai-story-stats{ display:flex; gap:34px; margin-top:26px; flex-wrap:wrap; }
.chai-stat b{ display:block; font-family:var(--chai-head); font-size:2rem; color:var(--chai-gold); }
.chai-stat span{ font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--chai-muted); }

/* ============================================================
   Parallax Video — Opening Hours
   ============================================================ */
.chai-hours-section{ position:relative; overflow:hidden; padding:150px 0; text-align:center; display:flex; align-items:center; }
.chai-video-wrap{ position:absolute; inset:-8% 0; z-index:0; will-change:transform; }
.chai-video-poster{ position:absolute; inset:0; background-size:cover; background-position:center; }
.chai-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.chai-hours-overlay{ position:absolute; inset:0; z-index:1; background:rgba(0,0,0,.62); }
.chai-hours-content{ position:relative; z-index:2; }
.chai-eyebrow{ font-family:var(--chai-body); font-size:.8rem; font-weight:700; letter-spacing:.32em; text-transform:uppercase; color:var(--chai-gold); margin:0 0 14px; }
.chai-hours-heading{ font-size:clamp(2.2rem, 5vw, 3.6rem); color:#fff; }
.chai-bold-separator{ display:block; width:90px; height:2px; margin:26px auto 34px; background:rgba(255,255,255,.4); position:relative; }
.chai-bold-separator::after{ content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:10px; height:10px; background:var(--chai-gold); border-radius:50%; }
.chai-hours-box{ margin:0 auto 30px; }
.chai-hours-day{ font-size:.9rem; font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:var(--chai-muted); margin-bottom:10px; }
.chai-hours-time{ font-family:var(--chai-head); font-size:clamp(2rem,5vw,3rem); color:#fff; }
.chai-hours-time span{ color:var(--chai-gold); margin:0 8px; }
.chai-hours-note{ max-width:620px; margin:0 auto 26px; color:var(--chai-muted); }

/* ============================================================
   Deals grid
   ============================================================ */
.chai-deals-section{ position:relative; overflow:hidden; padding:120px 0; }
.chai-deals-bg{ position:absolute; inset:-8% 0; z-index:0; will-change:transform; background-size:cover; background-position:center; background-color:var(--chai-dark-2); }
.chai-deals-overlay{ position:absolute; inset:0; z-index:1; background:rgba(15,11,9,.85); }
.chai-deals-section .chai-container{ position:relative; z-index:2; }
.chai-deals-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:36px; }
.chai-deal-card{ background:var(--chai-dark-2); border:1px solid var(--chai-dark-3); border-radius:var(--chai-radius); overflow:hidden; display:flex; flex-direction:column; transition:transform .4s var(--chai-ease), box-shadow .4s var(--chai-ease), border-color .4s; }
.chai-deal-card:hover{ transform:translateY(-8px); box-shadow:var(--chai-shadow); border-color:var(--chai-gold); }
.chai-deal-card--highlight{ border-color:var(--chai-gold); }
.chai-deal-head{ display:flex; align-items:center; justify-content:space-between; padding:20px 22px 0; }
.chai-deal-head h4{ font-size:1.15rem; color:var(--chai-cream); }
.chai-deal-price{ font-family:var(--chai-head); font-size:1.4rem; color:var(--chai-gold); white-space:nowrap; }
.chai-deal-body{ padding:14px 22px 24px; flex:1; display:flex; flex-direction:column; }
.chai-deal-body ul li{ color:var(--chai-muted); font-size:.94rem; padding:5px 0 5px 20px; position:relative; }
.chai-deal-body ul li::before{ content:"\f0f4"; font-family:"Font Awesome 6 Free"; font-weight:900; position:absolute; left:0; color:var(--chai-gold); font-size:.7rem; top:8px; }
.chai-deal-tag{ align-self:flex-start; margin-top:16px; font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#241a09; background:var(--chai-gold); padding:6px 12px; border-radius:40px; }

/* offer chips */
.chai-offers{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:26px; }
.chai-offer{ text-align:center; padding:26px 20px; border:1px dashed var(--chai-gold); border-radius:var(--chai-radius); background:rgba(242,185,55,.05); }
.chai-offer h4{ color:var(--chai-gold); font-size:1.2rem; margin-bottom:6px; }
.chai-offer span{ font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--chai-muted); }

/* ============================================================
   Feature / highlight cards (home)
   ============================================================ */
.chai-features{ padding:110px 0; }
.chai-feature-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:40px; }
.chai-feature{ text-align:center; padding:44px 28px; background:var(--chai-dark-2); border:1px solid var(--chai-dark-3); border-radius:var(--chai-radius); transition:transform .4s var(--chai-ease), border-color .4s; }
.chai-feature:hover{ transform:translateY(-6px); border-color:var(--chai-gold); }
.chai-feature i{ font-size:2.2rem; color:var(--chai-gold); margin-bottom:18px; }
.chai-feature h4{ font-size:1.35rem; margin-bottom:12px; }
.chai-feature p{ color:var(--chai-muted); font-size:.95rem; margin:0; }

/* ============================================================
   Menu (menu page + home preview)
   ============================================================ */
.chai-menu-section{ padding:110px 0; }
.chai-menu-tabs{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:34px 0 50px; }
.chai-menu-tab{ font-size:.74rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--chai-muted); padding:10px 20px; border:1px solid var(--chai-dark-3); border-radius:40px; transition:all .3s; }
.chai-menu-tab:hover{ color:var(--chai-cream); border-color:var(--chai-gold); }
.chai-menu-tab.is-active{ background:var(--chai-gold); color:#241a09; border-color:var(--chai-gold); }

.chai-menu-group{ margin-bottom:56px; }
.chai-menu-group-head{ display:flex; align-items:baseline; gap:16px; margin-bottom:26px; }
.chai-menu-group-head h3{ font-size:1.7rem; color:var(--chai-gold); white-space:nowrap; }
.chai-menu-group-head .chai-menu-line{ flex:1; height:1px; background:var(--chai-dark-3); }
.chai-menu-group-head .chai-menu-cols{ font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--chai-muted); }
.chai-menu-list{ display:grid; grid-template-columns:1fr 1fr; gap:6px 48px; }
.chai-menu-item{ display:flex; align-items:flex-end; gap:12px; padding:12px 0; border-bottom:1px dashed rgba(255,255,255,.08); }
.chai-menu-item-info{ flex:1; min-width:0; }
.chai-menu-item-name{ font-family:var(--chai-head); font-size:1.08rem; color:var(--chai-cream); }
.chai-menu-item-desc{ font-size:.85rem; color:var(--chai-muted); }
.chai-menu-dots{ flex:1; border-bottom:1px dotted rgba(255,255,255,.22); transform:translateY(-5px); min-width:20px; }
.chai-menu-item-price{ font-family:var(--chai-head); font-size:1.05rem; color:var(--chai-gold); white-space:nowrap; }
.chai-menu-item-price small{ color:var(--chai-muted); font-size:.72rem; }
.chai-menu-note{ text-align:center; color:var(--chai-muted); font-size:.85rem; margin-top:20px; }

/* ============================================================
   Gallery
   ============================================================ */
.chai-gallery-section{ padding:110px 0; }
.chai-gallery-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.chai-gallery-item{ position:relative; overflow:hidden; border-radius:var(--chai-radius); cursor:pointer; aspect-ratio:1/1; background:var(--chai-dark-2); }
.chai-gallery-item img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--chai-ease); }
.chai-gallery-item::after{ content:"\f00e"; font-family:"Font Awesome 6 Free"; font-weight:900; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.6rem; background:rgba(0,0,0,.5); opacity:0; transition:opacity .35s; }
.chai-gallery-item:hover img{ transform:scale(1.08); }
.chai-gallery-item:hover::after{ opacity:1; }
.chai-gallery-item--wide{ grid-column:span 2; aspect-ratio:2/1; }

/* lightbox */
.chai-lightbox{ position:fixed; inset:0; z-index:1200; background:rgba(0,0,0,.92); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:opacity .35s, visibility .35s; }
.chai-lightbox.is-open{ opacity:1; visibility:visible; }
.chai-lightbox img{ max-width:90vw; max-height:82vh; border-radius:6px; box-shadow:var(--chai-shadow); }
.chai-lightbox-close, .chai-lightbox-prev, .chai-lightbox-next{ position:absolute; color:#fff; font-size:1.6rem; width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.08); transition:background .3s; }
.chai-lightbox-close:hover, .chai-lightbox-prev:hover, .chai-lightbox-next:hover{ background:var(--chai-gold); color:#241a09; }
.chai-lightbox-close{ top:24px; right:24px; }
.chai-lightbox-prev{ left:24px; top:50%; transform:translateY(-50%); }
.chai-lightbox-next{ right:24px; top:50%; transform:translateY(-50%); }

/* ============================================================
   Shop / Products
   ============================================================ */
.chai-shop-section{ padding:110px 0; }
.chai-shop-layout{ display:grid; grid-template-columns:1fr; gap:30px; }
.chai-product-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:20px; }
.chai-product{ background:var(--chai-dark-2); border:1px solid var(--chai-dark-3); border-radius:var(--chai-radius); overflow:hidden; display:flex; flex-direction:column; transition:transform .4s var(--chai-ease), box-shadow .4s, border-color .4s; }
.chai-product:hover{ transform:translateY(-6px); box-shadow:var(--chai-shadow); border-color:var(--chai-gold); }
.chai-product-media{ position:relative; aspect-ratio:4/3; background-size:cover; background-position:center; background-color:var(--chai-dark-3); }
.chai-product-badge{ position:absolute; top:12px; left:12px; background:var(--chai-red); color:#fff; font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:5px 10px; border-radius:40px; }
.chai-product-cat{ font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--chai-gold); }
.chai-product-body{ padding:18px 18px 20px; flex:1; display:flex; flex-direction:column; }
.chai-product-body h4{ font-size:1.12rem; margin:8px 0 6px; }
.chai-product-body p{ font-size:.86rem; color:var(--chai-muted); margin:0 0 16px; flex:1; }
.chai-product-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.chai-product-price{ font-family:var(--chai-head); font-size:1.3rem; color:var(--chai-gold); }
.chai-add-btn{ background:var(--chai-gold); color:#241a09; width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1rem; transition:background .3s, transform .3s; }
.chai-add-btn:hover{ background:var(--chai-gold-2); transform:scale(1.08); }
.chai-shop-filters{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:30px 0 10px; }

/* toast */
.chai-toast{ position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(20px); z-index:1300; background:var(--chai-gold); color:#241a09; font-weight:700; font-size:.85rem; padding:14px 22px; border-radius:40px; box-shadow:var(--chai-shadow); opacity:0; visibility:hidden; transition:all .35s var(--chai-ease); }
.chai-toast.is-show{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }

/* ============================================================
   Cart page
   ============================================================ */
.chai-cart-section{ padding:130px 0 90px; min-height:60vh; }
.chai-cart-layout{ display:grid; grid-template-columns:1fr 340px; gap:40px; align-items:start; }
.chai-cart-table{ width:100%; border-collapse:collapse; }
.chai-cart-table th{ text-align:left; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--chai-muted); padding:0 0 16px; border-bottom:1px solid var(--chai-dark-3); font-weight:700; }
.chai-cart-row td{ padding:18px 0; border-bottom:1px solid var(--chai-dark-3); vertical-align:middle; }
.chai-cart-prod{ display:flex; align-items:center; gap:16px; }
.chai-cart-thumb{ width:70px; height:70px; border-radius:6px; background-size:cover; background-position:center; background-color:var(--chai-dark-3); flex-shrink:0; }
.chai-cart-prod h4{ font-size:1rem; margin:0 0 4px; }
.chai-cart-prod span{ font-size:.75rem; color:var(--chai-gold); letter-spacing:.1em; text-transform:uppercase; }
.chai-qty{ display:inline-flex; align-items:center; border:1px solid var(--chai-dark-3); border-radius:40px; overflow:hidden; }
.chai-qty button{ width:34px; height:34px; color:var(--chai-cream); transition:background .2s; }
.chai-qty button:hover{ background:var(--chai-dark-3); color:var(--chai-gold); }
.chai-qty input{ width:38px; text-align:center; background:none; border:none; color:var(--chai-cream); font-family:inherit; font-size:.9rem; -moz-appearance:textfield; }
.chai-qty input::-webkit-outer-spin-button, .chai-qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.chai-cart-remove{ color:var(--chai-muted); font-size:1rem; transition:color .2s; }
.chai-cart-remove:hover{ color:var(--chai-red); }
.chai-cart-line-price{ font-family:var(--chai-head); color:var(--chai-gold); font-size:1.05rem; }

.chai-cart-summary{ background:var(--chai-dark-2); border:1px solid var(--chai-dark-3); border-radius:var(--chai-radius); padding:28px 26px; position:sticky; top:110px; }
.chai-cart-summary h3{ font-size:1.3rem; margin-bottom:20px; }
.chai-summary-row{ display:flex; justify-content:space-between; padding:10px 0; color:var(--chai-muted); font-size:.92rem; }
.chai-summary-row.chai-total{ border-top:1px solid var(--chai-dark-3); margin-top:8px; padding-top:18px; color:var(--chai-cream); font-size:1.05rem; }
.chai-summary-row.chai-total b{ font-family:var(--chai-head); color:var(--chai-gold); font-size:1.5rem; }
.chai-cart-empty{ text-align:center; padding:60px 0; color:var(--chai-muted); }
.chai-cart-empty i{ font-size:3rem; color:var(--chai-dark-3); margin-bottom:18px; }

/* ============================================================
   Forms (reservation / contact / checkout)
   ============================================================ */
.chai-form-section{ padding:120px 0; }
.chai-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start; }
.chai-form{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.chai-field{ display:flex; flex-direction:column; gap:8px; }
.chai-field--full{ grid-column:1 / -1; }
.chai-field label{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--chai-muted); font-weight:700; }
.chai-field input, .chai-field select, .chai-field textarea{
    background:var(--chai-dark-2); border:1px solid var(--chai-dark-3); border-radius:6px;
    color:var(--chai-cream); padding:13px 15px; font-family:inherit; font-size:.92rem; outline:none; transition:border-color .25s;
}
.chai-field input:focus, .chai-field select:focus, .chai-field textarea:focus{ border-color:var(--chai-gold); }
.chai-field textarea{ resize:vertical; min-height:120px; }
.chai-field select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23f2b937' d='M6 8L0 0h12z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; }
.chai-form-msg{ grid-column:1/-1; font-size:.9rem; min-height:1em; }
.chai-form-msg.ok{ color:var(--chai-gold); }
.chai-form-msg.err{ color:#e58a7b; }

.chai-info-list li{ display:flex; gap:16px; padding:16px 0; border-bottom:1px solid var(--chai-dark-3); }
.chai-info-list i{ color:var(--chai-gold); font-size:1.2rem; width:24px; margin-top:4px; }
.chai-info-list h4{ font-size:1rem; margin:0 0 4px; }
.chai-info-list p{ margin:0; color:var(--chai-muted); font-size:.92rem; }
.chai-map{ width:100%; height:340px; border:0; border-radius:var(--chai-radius); filter:grayscale(.3) contrast(1.05); margin-top:30px; }

/* ============================================================
   Testimonials
   ============================================================ */
.chai-testi-section{ position:relative; overflow:hidden; padding:130px 0; text-align:center; }
.chai-testi-bg{ position:absolute; inset:-8% 0; z-index:0; background-size:cover; background-position:center; }
.chai-testi-section::after{ content:""; position:absolute; inset:0; z-index:1; background:rgba(12,9,7,.88); }
.chai-testi-section .chai-container{ position:relative; z-index:2; }
.chai-testi-slider{ max-width:760px; margin:36px auto 0; }
.chai-testi-item{ padding:10px 20px; }
.chai-testi-stars{ color:var(--chai-gold); font-size:1rem; margin-bottom:20px; letter-spacing:3px; }
.chai-testi-item p{ font-family:var(--chai-head); font-style:italic; font-size:1.3rem; line-height:1.7; color:var(--chai-cream); }
.chai-testi-item h4{ margin-top:22px; color:var(--chai-gold); font-family:var(--chai-body); font-size:.82rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.chai-testi-item h4 span{ display:block; color:var(--chai-muted); font-weight:400; letter-spacing:.05em; text-transform:none; margin-top:4px; font-size:.8rem; }
.chai-testi-quote{ font-size:3rem; color:var(--chai-gold); opacity:.6; margin-bottom:6px; }
.chai-testi-dots{ position:static; margin-top:30px; }
.chai-testi-dots .swiper-pagination-bullet{ background:#fff; opacity:.4; width:9px; height:9px; }
.chai-testi-dots .swiper-pagination-bullet-active{ background:var(--chai-gold); opacity:1; }

/* ============================================================
   Team
   ============================================================ */
.chai-team-section{ padding:110px 0; }
.chai-team-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:40px; }
.chai-team-card{ position:relative; border-radius:var(--chai-radius); overflow:hidden; background:var(--chai-dark-2); }
.chai-team-photo{ aspect-ratio:3/4; background-size:cover; background-position:center; }
.chai-team-info{ padding:20px; text-align:center; }
.chai-team-info h4{ font-size:1.15rem; margin-bottom:4px; }
.chai-team-info span{ font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--chai-gold); }

/* ============================================================
   CTA strip
   ============================================================ */
.chai-cta{ padding:80px 0; background:linear-gradient(120deg, var(--chai-gold), var(--chai-gold-2)); text-align:center; color:#241a09; }
.chai-cta h2{ font-size:clamp(1.8rem,4vw,2.8rem); color:#241a09; margin-bottom:14px; }
.chai-cta p{ color:#3a2b0c; margin-bottom:26px; font-weight:600; }
.chai-cta .chai-btn{ background:#241a09; color:var(--chai-gold); }
.chai-cta .chai-btn:hover{ background:#0f0b06; }

/* ============================================================
   Footer
   ============================================================ */
.chai-footer{ background:var(--chai-dark-2); padding:80px 0 26px; }
.chai-footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:44px; padding-bottom:44px; border-bottom:1px solid var(--chai-dark-3); }
.chai-footer-col h4{ font-size:1.25rem; margin-bottom:18px; }
.chai-footer-col p{ color:var(--chai-muted); font-size:.93rem; }
.chai-footer-links li a{ display:inline-block; padding:6px 0; color:var(--chai-muted); font-size:.93rem; transition:color .25s, padding-left .25s; }
.chai-footer-links li a:hover{ color:var(--chai-gold); padding-left:6px; }
.chai-footer-contacts li{ color:var(--chai-muted); margin-bottom:12px; font-size:.93rem; display:flex; gap:10px; }
.chai-footer-contacts i{ color:var(--chai-gold); width:18px; margin-top:5px; }
.chai-footer-social{ display:flex; gap:14px; margin-top:18px; }
.chai-footer-social a{ width:40px; height:40px; border-radius:50%; border:1px solid var(--chai-dark-3); display:flex; align-items:center; justify-content:center; transition:all .3s; }
.chai-footer-social a:hover{ background:var(--chai-gold); color:#241a09; border-color:var(--chai-gold); transform:translateY(-3px); }
.chai-subscribe{ display:flex; margin-top:10px; }
.chai-subscribe input{ flex:1; min-width:0; background:var(--chai-dark); border:1px solid var(--chai-dark-3); border-right:none; color:var(--chai-cream); padding:12px 15px; border-radius:6px 0 0 6px; font-family:inherit; font-size:.88rem; outline:none; }
.chai-subscribe input:focus{ border-color:var(--chai-gold); }
.chai-subscribe button{ background:var(--chai-gold); color:#241a09; padding:0 18px; border-radius:0 6px 6px 0; transition:background .3s; }
.chai-subscribe button:hover{ background:var(--chai-gold-2); }
.chai-subscribe-msg{ display:block; margin-top:10px; font-size:.82rem; min-height:1em; color:var(--chai-gold); }
.chai-footer-bottom{ display:flex; align-items:center; justify-content:space-between; padding-top:24px; flex-wrap:wrap; gap:14px; }
.chai-footer-bottom p{ margin:0; color:var(--chai-muted); font-size:.84rem; }
.chai-to-top{ display:inline-flex; align-items:center; gap:10px; font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--chai-muted); transition:color .3s; }
.chai-to-top:hover{ color:var(--chai-gold); }

/* ============================================================
   Reveal on scroll
   ============================================================ */
.chai-reveal{ opacity:0; transform:translateY(30px); transition:opacity .8s var(--chai-ease), transform .8s var(--chai-ease); }
.chai-reveal.is-visible{ opacity:1; transform:none; }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:1024px){
    .chai-product-grid{ grid-template-columns:repeat(3,1fr); }
    .chai-team-grid{ grid-template-columns:repeat(2,1fr); }
    .chai-footer-grid{ grid-template-columns:1fr 1fr; }
    .chai-footer-col:first-child{ grid-column:1 / -1; }
}
@media (max-width:960px){
    .chai-story-grid, .chai-form-grid{ grid-template-columns:1fr; gap:44px; }
    .chai-story-img{ height:420px; }
    .chai-deals-grid, .chai-feature-grid, .chai-offers{ grid-template-columns:repeat(2,1fr); }
    .chai-product-grid{ grid-template-columns:repeat(2,1fr); }
    .chai-cart-layout{ grid-template-columns:1fr; }
    .chai-cart-summary{ position:static; }
    .chai-menu-list{ grid-template-columns:1fr; }
    .chai-gallery-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px){
    .chai-header-grid{ grid-template-columns:auto 1fr auto; }
    .chai-social{ display:none; }
    .chai-logo{ justify-self:start; font-size:1.4rem; }
    .chai-header-right{ gap:18px; }
    .chai-nav-toggle{ display:block; }
    .chai-nav{ position:fixed; inset:0; z-index:800; background:rgba(16,11,8,.99); display:flex; align-items:center; justify-content:center; transform:translateX(100%); transition:transform .4s var(--chai-ease); }
    .chai-nav.is-open{ transform:translateX(0); }
    .chai-nav ul{ flex-direction:column; gap:28px; text-align:center; }
    .chai-nav a{ font-size:1.05rem; }
    .chai-hero-nav{ right:20px; bottom:70px; }
    .chai-hero-nav button{ width:48px; height:48px; }
    .chai-story-section, .chai-deals-section, .chai-features, .chai-menu-section, .chai-gallery-section, .chai-shop-section, .chai-team-section{ padding:70px 0; }
    .chai-hours-section, .chai-testi-section, .chai-form-section{ padding:90px 0; }
    .chai-form{ grid-template-columns:1fr; }
    .chai-page-banner{ padding:150px 0 70px; }
}
@media (max-width:560px){
    .chai-deals-grid, .chai-feature-grid, .chai-offers, .chai-product-grid, .chai-gallery-grid{ grid-template-columns:1fr; }
    .chai-team-grid{ grid-template-columns:1fr; }
    .chai-footer-grid{ grid-template-columns:1fr; gap:34px; }
    .chai-footer-bottom{ justify-content:center; text-align:center; }
    .chai-story-slider-holder::before{ display:none; }
    .chai-gallery-item--wide{ grid-column:span 1; aspect-ratio:1/1; }
    .chai-menu-group-head h3{ font-size:1.4rem; }
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
    *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
    .chai-slide-bg{ transform:none; }
    .chai-reveal{ opacity:1; transform:none; }
}
