/* ===========================================================
   GUNDAMMA GARI VANTILLU — Core Styles
   Premium Andhra Homemade Food | WhatsApp Only Ordering
   =========================================================== */
:root{
  --primary:#FFC107;
  --primary-dark:#FFB300;
  --primary-soft:#FFF3BF;
  --secondary:#111111;
  --bg:#FFFDF7;
  --bg-soft:#FFF8E1;
  --card:#ffffff;
  --muted:#6b7280;
  --border:#F1EEE2;
  --shadow:0 8px 30px rgba(17,17,17,.06);
  --shadow-lg:0 22px 60px rgba(17,17,17,.12);
  --radius:18px;
  --radius-lg:26px;
  --radius-pill:100px;
  --fs:15px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  margin:0;
  font-family:'Poppins',sans-serif;
  font-size:var(--fs);
  color:var(--secondary);
  background:var(--bg);
  letter-spacing:-.01em;
  line-height:1.6;
  overflow-x:hidden;
  width:100%;
  max-width:100vw;
  padding-top:80px;
}
img{display:block;max-width:100%;object-fit:cover}
a{text-decoration:none;color:inherit}
button{font-family:inherit}
h1,h2,h3,h4,h5{letter-spacing:-.025em;line-height:1.12;margin:0}
.container{max-width:1180px;width:100%;padding-left:1rem;padding-right:1rem}
.muted{color:var(--muted)}
.small{font-size:.82rem}

/* ---------- Scrollbar + Progress ---------- */
#scrollProgress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--primary);z-index:9999;transition:width .08s linear}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-thumb{background:var(--primary);border-radius:20px}
::-webkit-scrollbar-track{background:transparent}

/* ---------- Page Loader ---------- */
#pageLoader{position:fixed;inset:0;background:linear-gradient(135deg,#FFF8E1 0%,#FFFDF7 50%,#FFF8E1 100%);z-index:10000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;transition:opacity .4s ease,transform .4s ease}
#pageLoader.dismissed{opacity:0!important;pointer-events:none!important;transform:scale(1.02)}
.loader-logo{width:80px;height:80px;object-fit:contain;animation:logoPulse 1.5s ease-in-out infinite}
.loader-bar{width:200px;height:4px;background:rgba(180,141,46,.2);border-radius:20px;overflow:hidden;position:relative}
.loader-bar span{display:block;height:100%;width:40%;background:linear-gradient(90deg,#b08d2e,#FFD700,#b08d2e);background-size:200% 100%;animation:loadMove 1.2s infinite ease-in-out;border-radius:20px}
.loader-spinner{width:50px;height:50px;border:3px solid rgba(180,141,46,.2);border-top-color:#b08d2e;border-radius:50%;animation:spin 1s linear infinite}
@keyframes loadMove{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes logoPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}

/* ---------- Typography Helpers ---------- */
.kicker{text-transform:uppercase;letter-spacing:.2em;font-weight:700;font-size:.68rem;color:#b08d2e}
.h2{font-size:clamp(1.45rem,3vw,2rem);font-weight:800}
.lead-soft{color:var(--muted);font-size:.95rem;line-height:1.7}
.sec-desc{color:var(--muted);font-size:.9rem;max-width:520px}

.section{padding:80px 0}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:24px}
.section-head .left{max-width:640px}

/* ---------- Buttons ---------- */
.btn-wa{
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--secondary) !important;
  font-weight: 600; font-size: .9rem; border-radius: var(--radius-pill); padding: .6rem 1.15rem;
  box-shadow: 0 8px 18px rgba(255,193,7,.30); transition: transform .25s, box-shadow .25s, background .25s;
}
.btn-wa:hover{ transform: translateY(-2px); background-color: var(--primary-dark) !important; box-shadow: 0 12px 26px rgba(255,193,7,.42); color: var(--secondary) !important; }
.btn-ghost{border:1.5px solid var(--secondary);color:var(--secondary);border-radius:var(--radius-pill);font-weight:600;font-size:.9rem;padding:.6rem 1.15rem;background:#fff;transition:.25s}
.btn-ghost:hover{background:var(--secondary);color:#fff}
.ripple{position:relative;overflow:hidden}
.ripple:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--x,50%) var(--y,50%),rgba(255,255,255,.45),transparent 60%);opacity:0;transition:.5s}
.ripple:active:after{opacity:1}

/* ---------- Header ---------- */
#mainHeader{background:rgba(255,253,247,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);transition:background .35s,box-shadow .35s;position:fixed;top:0;left:0;width:100%;z-index:99999}
#mainHeader.scrolled{background:rgba(255,255,255,.94);box-shadow:var(--shadow)}
.logo-mark{height:51px;border-radius:11px;object-fit:contain;transition:width .35s,height .35s}
#mainHeader.scrolled .logo-mark{height:45px}
.brand b{font-size:14px;letter-spacing:-.02em}
.brand small{font-size:9px;letter-spacing:.16em;color:#9a8c6a;display:block;line-height:1}
.navbar .container{position:relative}
.desktop-nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items-center;gap:1rem}
.nav-link{font-weight:600;font-size:.92rem;color:var(--secondary)!important;padding:.45rem .9rem!important;border-radius:0!important;background:transparent!important;position:relative;transition:color .22s}
.nav-link::after{content:'';position:absolute;bottom:-2px;left:50%;transform:translateX(-50%) scaleX(0);width:80%;height:3px;background:var(--primary);border-radius:3px;transition:transform .25s ease,background .25s ease}
.nav-link:hover::after{transform:translateX(-50%) scaleX(0.6)}
.nav-link.active{color:var(--secondary)!important;background:transparent!important;font-weight:700}
.nav-link.active::after{transform:translateX(-50%) scaleX(1);background:var(--primary)}

@media(max-width:767px){
  #headerWA{display:none}
  .desktop-nav{display:none}
  .navbar .container{position:static}
  .container{padding-left:0.75rem;padding-right:0.75rem}
  img,video,iframe,svg,canvas{max-width:100%}
}

/* ---------- Marquee ---------- */
.marquee-wrap{overflow:hidden;background:var(--secondary);color:var(--primary);padding:.5rem 0;font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}
.marquee-track{display:flex;width:max-content;max-width:none;animation:marquee 24s linear infinite}
.marquee-item{white-space:nowrap;padding:0 1.6rem;display:flex;align-items:center;gap:.6rem}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

@media(max-width:767px){
  .marquee-track{animation:marquee 9s linear infinite}
  .marquee-item{padding:0 4.5rem;gap:1.2rem}
}

/* ---------- Hero ---------- */
.hero{position:relative;padding:20px 0 30px;overflow:hidden}
.hero-bg-blob{position:absolute;pointer-events:none;border-radius:50%}
.b1{width:480px;height:480px;background:radial-gradient(closest-side,#FFE082,transparent);right:-120px;top:-110px;opacity:.85}
.b2{width:380px;height:380px;background:radial-gradient(closest-side,#FFD54F,#FFE082);left:-150px;bottom:40px;opacity:.45}
.badge-soft{background:#fff;border:1px solid var(--border);border-radius:var(--radius-pill);padding:.34rem .7rem;font-size:.74rem;font-weight:600;display:inline-flex;gap:.45rem;align-items:center;box-shadow:var(--shadow)}
.hero-title{font-size:clamp(1.9rem,5.4vw,3.1rem);font-weight:800;line-height:.96}
.hero-title em{font-style:normal;background:linear-gradient(100deg,var(--primary) 5%,#FFA000 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-desc{color:var(--muted);font-size:.95rem;line-height:1.7;max-width:540px}
.hero-card-stack{position:relative;min-height:440px}

/* ---------- Hero Slider ---------- */
.hero-slider{position:relative;min-height:440px;overflow:hidden;border-radius:var(--radius-lg)}
.hero-slider-track{display:flex;transition:transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94)}
.hero-slide{min-width:100%;position:relative}
.hero-slide-content{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:5px solid #fff;aspect-ratio:4/3}
.hero-slide-content img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease}
.hero-slide:hover .hero-slide-content img{transform:scale(1.05)}
.hero-slide-overlay{position:absolute;bottom:16px;left:16px;right:16px}
.hero-slide-overlay .glass-chip{background:rgba(255,255,255,0.9);backdrop-filter:blur(10px);padding:8px 12px;border-radius:12px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1);animation:slideUp 0.5s ease 0.3s both}
.hero-slide-overlay .glass-chip .letter-animation{display:inline-block;overflow:hidden}
.hero-slide-overlay .glass-chip .letter-animation span{display:inline-block;opacity:0;transform:translateY(20px);animation:letterSlide 0.5s ease forwards}
@keyframes letterSlide{to{opacity:1;transform:translateY(0)}}
.hero-slider-nav{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 8px;pointer-events:none}
.hero-slider-btn{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.9);border:none;box-shadow:0 4px 12px rgba(0,0,0,0.15);cursor:pointer;pointer-events:auto;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;color:#333}
.hero-slider-btn:hover{background:var(--primary);color:var(--secondary);transform:scale(1.1)}
.hero-slider-btn:active{transform:scale(0.95)}
.hero-slider-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.hero-slider-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.5);border:none;cursor:pointer;transition:all 0.3s ease}
.hero-slider-dot.active{background:var(--primary);width:28px;border-radius:10px}
.hero-slider-dot:hover{background:rgba(255,255,255,0.8)}

.hero-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:5px solid #fff;transition:.6s cubic-bezier(.16,1,.3,1)}
.hero-img:hover{transform:translateY(-6px) scale(1.01)}
.img-a{width:90%;aspect-ratio:4/3.2;margin-left:auto}
.img-b{width:50%;aspect-ratio:1/1;position:absolute;left:0;bottom:30px;transform:rotate(-5deg);z-index:2}
.img-c{width:36%;aspect-ratio:1/1;position:absolute;right:-4px;bottom:-10px;transform:rotate(6deg);z-index:3;border-radius:24px}

@media(max-width:991px){
  .hero{padding:30px 0}
  .hero-title{font-size:clamp(1.6rem,4vw,2.2rem)}
  .hero-desc{font-size:.88rem;max-width:100%}
  .hero-card-stack{min-height:320px;margin-top:30px}
  .img-a{width:100%;aspect-ratio:4/3}
  .img-b{width:45%;aspect-ratio:1/1;left:5px;bottom:20px}
  .img-c{width:32%;aspect-ratio:1/1;right:5px;bottom:-5px}
  .glass-chip{font-size:.7rem;padding:.4rem .6rem}
}

@media(max-width:767px){
  .hero{padding:10px 0}
  .hero-title{font-size:clamp(1.4rem,6vw,1.8rem)}
  .hero-desc{font-size:.82rem}
  .badge-soft{font-size:.68rem;padding:.28rem .6rem}
  .btn-wa.btn-lg,.btn-ghost.btn-lg{padding:.6rem 1rem;font-size:.88rem}
  .hero-card-stack{min-height:120px;margin-top:10px}
  .img-a{width:100%;aspect-ratio:4/3;margin-left:auto}
  .img-b,.img-c{display:none}
  .stat-num{font-size:1rem}
  .stat-label{font-size:.7rem}
  .glass-chip{display:none}
  .hero .row.g-2.mt-4{display:none}
}
.glass-chip{position:absolute;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.06);border-radius:18px;padding:.55rem .75rem;box-shadow:var(--shadow);display:flex;gap:.6rem;align-items:center;animation:float 4s ease-in-out infinite;z-index:4}
.glass-chip img{width:42px;height:42px;border-radius:11px}
.gc1{left:6%;top:16%}.gc2{right:10%;top:2%;animation-delay:.8s}.gc3{left:40%;bottom:0;animation-delay:1.4s}

/* ---------- Cards (product) ---------- */
.p-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.4s cubic-bezier(.16,1,.3,1);height:100%;display:flex;flex-direction:column}
.p-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.p-img-wrap{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--bg-soft);cursor:pointer}
.p-img-wrap img{width:100%;height:100%;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.p-card:hover .p-img-wrap img{transform:scale(1.07)}
.badge-stack{position:absolute;left:10px;top:10px;display:flex;flex-direction:column;gap:5px;z-index:2}
.b-mini{font-size:.64rem;font-weight:700;letter-spacing:.03em;padding:.28rem .55rem;border-radius:var(--radius-pill);line-height:1}
.b-pop{background:var(--primary);color:var(--secondary)}
.b-limited{background:#111;color:#fff}
.b-veg{position:absolute;right:10px;top:10px;width:24px;height:24px;border-radius:7px;background:#fff;border:1.5px solid #e6f4ea;display:grid;place-items:center;box-shadow:var(--shadow)}
.b-veg.non{border-color:#fde8e8}
.dot-veg{width:9px;height:9px;border-radius:50%}
.dot-veg.v{background:#2e7d32}.dot-veg.n{background:#c62828}
.p-body{padding:12px 13px;display:flex;flex-direction:column;flex:1}
.p-title{font-weight:700;font-size:.96rem;line-height:1.25;cursor:pointer}
.p-desc{color:var(--muted);font-size:.8rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em;margin:.4rem 0 .6rem}
.meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.chip{font-size:.7rem;font-weight:600;background:var(--bg-soft);border:1px solid #FFE9A8;padding:.2rem .5rem;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.rating{font-weight:700;font-size:.78rem;display:flex;align-items:center;gap:4px;background:var(--secondary);color:var(--primary);padding:.2rem .45rem;border-radius:var(--radius-pill)}
.price-row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}
.price{font-weight:800;font-size:1.08rem;letter-spacing:-.02em}
.price small{font-weight:500;color:var(--muted);font-size:.76rem;text-decoration:line-through;margin-left:5px}
.btn-wa-sm{border:0;background:var(--secondary);color:#fff;border-radius:var(--radius-pill);font-weight:600;font-size:.8rem;padding:.5rem .8rem;display:inline-flex;align-items:center;gap:5px;transition:.25s}
.btn-wa-sm:hover{background:#000}
.fav-btn{width:34px;height:34px;border-radius:var(--radius-pill);border:1px solid var(--border);background:#fff;display:grid;place-items:center;transition:.25s;color:#999}
.fav-btn.active{background:var(--primary);border-color:var(--primary);color:var(--secondary)}
.spice{display:inline-flex;gap:2px}
.spice i{width:5px;height:11px;border-radius:100px;background:#FFE082;display:block}
.spice i.on{background:#FF6F00}

/* ---------- Mobile Swiper Styling ---------- */
.mobile-product-swiper{padding:1rem 0}
.mobile-product-swiper .swiper-slide{height:auto}
.mobile-product-swiper .swiper-pagination{bottom:0!important;position:relative;margin-top:1rem}
.mobile-product-swiper .swiper-pagination-bullet{background:var(--primary);opacity:0.3;transition:opacity .3s}
.mobile-product-swiper .swiper-pagination-bullet-active{opacity:1;background:var(--primary-dark)}
.mobile-product-swiper .swiper-button-next,
.mobile-product-swiper .swiper-button-prev{display:none}

@media(min-width:768px){
  .mobile-product-swiper{display:none}
}

/* ---------- Category ---------- */
.cat-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:16px 12px;text-align:center;box-shadow:var(--shadow);transition:.35s;height:100%;cursor:pointer}
.cat-card:hover{transform:translateY(-5px) scale(1.02);border-color:var(--primary);box-shadow:0 16px 36px rgba(255,193,7,.18)}
.cat-ic{width:62px;height:62px;border-radius:18px;margin:0 auto 10px;display:grid;place-items:center;font-size:28px;background:linear-gradient(180deg,#FFF8E1,#FFE082);border:1px solid #FFE082}
.cat-card h6{font-weight:700;margin:0;font-size:.92rem}
.cat-card p{font-size:.72rem;color:var(--muted);margin:2px 0 6px}
.cat-card .exp{font-size:.74rem;font-weight:700;color:#b08d2e;display:inline-flex;align-items:center;gap:3px}

/* ---------- Glass / Filters ---------- */
.glass{background:rgba(255,255,255,.74);backdrop-filter:blur(14px);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);box-shadow:var(--shadow)}
.search-box{position:relative}
.search-box .form-control{border-radius:var(--radius-pill);border:1px solid var(--border);padding:.6rem 1rem .6rem 2.4rem;background:#fff;box-shadow:var(--shadow);font-size:.88rem}
.search-box i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
.filter-chip{border:1px solid var(--border);background:#fff;padding:.45rem .85rem;border-radius:var(--radius-pill);font-weight:600;font-size:.82rem;white-space:nowrap;transition:.2s;color:#444}
.filter-chip:hover{border-color:var(--primary)}
.filter-chip.active{background:var(--secondary);color:#fff;border-color:var(--secondary)}
.filter-chip.veg-only.active{background:#2e7d32;border-color:#2e7d32}

/* ---------- Timeline ---------- */
.t-line{position:relative;padding-left:4px}
.t-line:before{content:"";position:absolute;left:13px;top:4px;bottom:4px;width:2px;background:linear-gradient(var(--primary),var(--border));border-radius:20px}
.t-item{position:relative;padding-left:42px;padding-bottom:26px}
.t-dot{position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--secondary);color:var(--primary);display:grid;place-items:center;font-weight:800;font-size:.74rem;border:3px solid #fff;box-shadow:var(--shadow)}

/* ---------- Reviews ---------- */
.review-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:18px;box-shadow:var(--shadow);height:100%}
.stars{color:var(--primary)}
#reviews .section-head .left{text-align:center}
.review-card .rounded-circle{display:flex;align-items:center;justify-content:center}

/* ---------- Contact ---------- */
#contact .d-flex .rounded-3{display:flex;align-items:center;justify-content:center}

/* ---------- Gallery ---------- */
.masonry{columns:2;column-gap:12px}
.m-card{break-inside:avoid;border-radius:18px;overflow:hidden;margin-bottom:12px;position:relative;cursor:pointer;box-shadow:var(--shadow);border:4px solid #fff}
.m-card img{width:100%;transition:.7s}
.m-card:hover img{transform:scale(1.06)}
.m-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 60%);display:flex;align-items:flex-end;padding:12px;opacity:0;transition:.3s}
.m-card:hover .m-overlay{opacity:1}
.m-overlay span{background:#fff;border-radius:var(--radius-pill);padding:.26rem .6rem;font-weight:700;font-size:.74rem}

/* ---------- Stats ---------- */
.stat{text-align:center}
.stat-num{font-size:1.9rem;font-weight:800;line-height:1}
.stat-label{font-size:.76rem;color:var(--muted);font-weight:600}

/* ---------- Dark band / Why ---------- */
.darkband{background:var(--secondary);color:#fff;border-radius:30px;margin:0 12px}
.darkband .glass{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#fff}
.darkband .glass .rounded-3{display:flex;align-items:center;justify-content:center;margin:0 auto}

/* ---------- Footer ---------- */
.footer{background:var(--secondary);color:#EDE9DF;border-radius:34px 34px 0 0;margin-top:46px;overflow:hidden;position:relative}
.footer:before{content:"";position:absolute;width:560px;height:560px;background:radial-gradient(closest-side,rgba(255,193,7,.18),transparent);right:-120px;top:-180px}
.footer a{color:#BEB8A8;transition:.2s;display:block}.footer a:hover{color:var(--primary)}
#footerCats a{color:#BEB8A8;padding:4px 0;display:block}
.hr-soft{border-color:rgba(255,255,255,.12)}

/* ---------- Bottom Mobile Nav ---------- */
#bottomNav{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:999;width:min(440px,calc(100% - 16px));display:flex;justify-content:space-between;background:rgba(17,17,17,.92);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:7px;box-shadow:0 16px 36px rgba(0,0,0,.32)}
#bottomNav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;color:#9A9589;font-size:.6rem;font-weight:700;letter-spacing:.04em;padding:5px 2px;border-radius:16px;transition:.28s;text-transform:uppercase}
#bottomNav a i{font-size:18px;line-height:1;transition:.28s}
#bottomNav a.active{background:var(--primary);color:var(--secondary);box-shadow:0 10px 20px rgba(255,193,7,.3)}
#bottomNav a.active i{transform:translateY(-2px)}

/* ---------- Floating ---------- */
#floatWA{position:fixed;right:16px;bottom:92px;z-index:998;width:52px;height:52px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;font-size:26px;box-shadow:0 12px 28px rgba(37,211,102,.35);transition:.25s}
#floatWA:hover{transform:translateY(-3px) scale(1.05)}
#toTop{position:fixed;right:16px;bottom:158px;z-index:998;width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--border);display:grid;place-items:center;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.3s;color:#333}
#toTop.show{opacity:1;pointer-events:auto}

/* ---------- Product Detail Page ---------- */
.product-image-container{position:relative;box-shadow:var(--shadow-lg)}
.product-image-container .main-image{position:relative;margin-bottom:16px}
.product-image-container .thumb-active{border:3px solid var(--primary)!important}
.thumbnail-gallery{background:var(--bg)}
.product-details{padding:0}
.rating-badge{background:rgba(255,193,7,.15);color:#FFA000;padding:4px 12px;border-radius:20px;font-weight:600;font-size:.9rem}
.price-section{padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.price-display{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.current-price{font-size:2rem;font-weight:800;color:var(--primary)}
.original-price{font-size:1.2rem;text-decoration:line-through;color:var(--muted)}
.discount-badge{background:#dc3545;color:#fff;padding:4px 10px;border-radius:6px;font-weight:600;font-size:.85rem}
.info-card{transition:transform .3s ease}
.info-card:hover{transform:translateY(-4px)}
.ingredients-section{background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.7));backdrop-filter:blur(10px)}
.ingredient-chip{background:rgba(40,167,69,.1);color:#28a745;padding:6px 14px;border-radius:20px;font-size:.9rem;font-weight:500;border:1px solid rgba(40,167,69,.2)}
.order-section{margin-top:24px}
.trust-badges{font-size:.85rem}
.related-products .p-card{transition:transform .3s ease,box-shadow .3s ease}
.related-products .p-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.customer-review .rating{color:#FFA000;font-size:1.2rem}

/* ---------- Product Modal ---------- */
.p-modal{position:fixed;inset:0;z-index:1060;display:none}
.p-modal.show{display:block}
.p-modal-backdrop{position:absolute;inset:70px 0 0;background:rgba(17,17,17,.52);backdrop-filter:blur(10px)}
.p-modal-panel{position:relative;background:var(--bg);width:min(1040px,94vw);max-height:calc(92vh - 70px);margin:70px auto 4vh;overflow:auto;border-radius:24px;box-shadow:var(--shadow-lg);animation:slideUp .5s cubic-bezier(.16,1,.3,1)}
.p-modal-panel::-webkit-scrollbar{width:6px}

/* ---------- Lightbox ---------- */

/* Contact Information Card - vertically center icons with text */
.glass.p-4 .d-flex.gap-3{
  align-items:center !important;
}

/* Center icons in icon containers */
.glass.p-4 .bg-dark.text-warning.rounded-3{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#lightbox{position:fixed;inset:0;z-index:1060;display:none;background:rgba(0,0,0,.86);align-items:center;justify-content:center;padding:0}
#lightbox.show{display:flex}
#lightbox img{max-width:100vw;max-height:100vh;object-fit:contain;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
#lbPrev,#lbNext{width:48px;height:48px;display:flex;align-items:center;justify-content:center;opacity:.8;transition:.2s}
#lbPrev:hover,#lbNext:hover{opacity:1;transform:translateY(-50%) scale(1.1)}
#lbPrev{display:none}
#lbNext{display:none}

/* ---------- Skeleton ---------- */
.skeleton{background:linear-gradient(90deg,#FFF3BF 25%,#FFFCF0 50%,#FFF3BF 75%);background-size:200% 100%;animation:shine 1.2s infinite;height:160px;border-radius:14px}
@keyframes shine{0%{background-position:-200% 0}100%{background-position:200% 0}}

/* ---------- Quantity Controls ---------- */
.qty-controls{display:flex;align-items:center;gap:4px}
.qty-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:#fff;display:grid;place-items:center;font-weight:600;font-size:1rem;cursor:pointer;transition:.2s;color:var(--secondary)}
.qty-btn:hover{background:var(--primary);border-color:var(--primary);color:var(--secondary)}
.qty-btn:active{transform:scale(.95)}
.qty-display{min-width:24px;text-align:center;font-weight:600;font-size:.9rem}
.qty-btn-sm{width:24px;height:24px;border-radius:4px;border:1px solid var(--border);background:#fff;display:grid;place-items-center;font-weight:600;font-size:.8rem;cursor:pointer;transition:.2s;color:var(--secondary)}
.qty-btn-sm:hover{background:var(--primary);border-color:var(--primary);color:var(--secondary)}
.qty-display-sm{min-width:20px;text-align:center;font-weight:600;font-size:.85rem}
.remove-btn{width:28px;height:28px;border-radius:4px;border:1px solid #dc3545;background:#fff;color:#dc3545;display:grid;place-items:center;cursor:pointer;transition:.2s}
.remove-btn:hover{background:#dc3545;color:#fff}

/* ---------- Add to Order Button ---------- */
.add-order-btn{border:0;background:var(--secondary);color:#fff;border-radius:var(--radius-pill);font-weight:600;font-size:.75rem;padding:.4rem .8rem;white-space:nowrap;transition:.25s;cursor:pointer}
.add-order-btn:hover{background:#000}
.add-order-btn.added{background:#28a745}

/* ---------- Product Card Added State ---------- */
.p-card.added{border-color:#28a745;box-shadow:0 0 0 2px rgba(40,167,69,.1)}

/* ---------- Floating Order Panel ---------- */
#orderPanel{position:fixed;bottom:20px;width:400px;max-width:calc(100vw - 40px);background:#fff;border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.2);z-index:997;opacity:0;pointer-events:none;transform:translateY(30px);transition:all .4s cubic-bezier(.4,0,.2,1);max-height:calc(100vh - 100px);display:flex;flex-direction:column}
#orderPanel.has-items{opacity:1;pointer-events:auto;transform:translateY(0)}
.order-panel-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:relative;background:linear-gradient(135deg,#FFF8E1,#FFFDF7);border-radius:24px 24px 0 0}
.order-panel-header::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),#FFA000,var(--primary))}
.order-panel-header .icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary),#FFA000);border-radius:16px;display:grid;place-items:center;font-size:1.4rem;color:#fff;box-shadow:0 6px 20px rgba(255,160,0,.4);position:relative}
.order-panel-header .icon::after{content:'';position:absolute;top:-2px;right:-2px;width:12px;height:12px;background:#28a745;border-radius:50%;border:2px solid #fff}
.order-panel-header .close-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:#fff;display:grid;place-items:center;cursor:pointer;transition:.3s;color:var(--muted);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.order-panel-header .close-btn:hover{background:#dc3545;border-color:#dc3545;color:#fff;transform:rotate(90deg) scale(1.1)}
.order-panel-header .timer{position:absolute;top:12px;right:50%;transform:translateX(50%);font-size:.7rem;color:var(--muted);font-weight:700;background:rgba(255,160,0,.2);color:#FFA000;padding:4px 10px;border-radius:20px;border:1px solid rgba(255,160,0,.4);backdrop-filter:blur(10px)}
.order-panel-body{flex:1;overflow-y:auto;padding:16px;max-height:280px;background:#FAFAFA}
.order-panel-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;gap:10px;background:#fff;border-radius:0 0 24px 24px}
.order-panel-footer .btn{flex:1;padding:.8rem;font-size:.9rem;font-weight:700;border-radius:12px;transition:.3s;box-shadow:0 4px 12px rgba(0,0,0,.1)}
.order-panel-footer .btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.15)}
.order-panel-footer .btn-view{background:var(--primary);color:#fff;border:0}
.order-panel-footer .btn-view:hover{background:#000}
.single-product-card{background:#fff;border-radius:16px;padding:16px;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.05)}
.single-product-card .product-info{display:flex;gap:12px;align-items:center}
.single-product-card .product-img{width:60px;height:60px;border-radius:12px;object-fit:cover}
.single-product-card .product-details{flex:1}
.single-product-card .product-name{font-weight:700;font-size:.95rem;color:var(--secondary);margin-bottom:4px}
.single-product-card .product-price{font-size:.85rem;color:var(--muted)}
.single-product-card .product-qty{font-weight:600;color:var(--primary);font-size:1.1rem}
.view-all-link{text-align:center;padding:12px;background:#f8f9fa;border-radius:12px;margin-top:12px;cursor:pointer;transition:.3s;font-weight:600;color:var(--primary);font-size:.85rem}
.view-all-link:hover{background:var(--primary);color:#fff}
.order-item-card{transition:.3s}
.btn-filter-theme {
  background: var(--primary) !important;
  color: var(--secondary) !important;
  border-color: var(--primary) !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 14px rgba(255, 193, 7, 0.35);
}
.btn-filter-theme:hover {
  background: var(--primary-dark) !important;
  color: var(--secondary) !important;
  box-shadow: 0 6px 18px rgba(255, 193, 7, 0.45);
}

/* ---------- Review System Styles ---------- */
/* ---------- Review System Styles (Matched to reference design) ---------- */
.review-card {
  background: #ffffff;
  border-radius: 22px;
  padding: 24px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.review-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.07);
}
.review-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.review-author {
  display: flex;
  align-items: center;
  gap: 12px;
}
.review-avatar-circle {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #18181b;
  color: #ffffff;
  font-weight: 700;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.review-author-info {
  display: flex;
  flex-direction: column;
}
.review-author-name {
  font-weight: 700;
  font-size: 1.05rem;
  color: #111111;
  line-height: 1.25;
}
.review-author-meta {
  font-size: 0.85rem;
  color: #71717a;
  font-weight: 400;
  margin-top: 2px;
}
.review-rating-pill {
  background: #18181b;
  color: #ffffff;
  border-radius: 100px;
  padding: 5px 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  font-size: 0.88rem;
}
.review-rating-pill i {
  color: #ffc107;
  font-size: 0.9rem;
}
.review-text {
  font-size: 0.92rem;
  color: #3f3f46;
  line-height: 1.6;
  margin-bottom: 18px;
  flex: 1;
}
.review-verified {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  color: #71717a;
  font-weight: 500;
  margin-top: auto;
}
.review-verified i {
  color: #10b981;
  font-size: 1rem;
}
.review-image{max-width:200px;max-height:200px;border-radius:12px;object-fit:cover;margin-top:12px;cursor:pointer;transition:.3s}
.review-image:hover{transform:scale(1.05)}
.review-product-thumb{width:60px;height:60px;border-radius:12px;object-fit:cover}
.rating-bar{margin-bottom:8px}
.rating-label{min-width:40px;font-weight:600;color:var(--secondary)}
.rating-count{min-width:30px;font-weight:600;color:var(--muted)}
.rating-breakdown{background:#FAFAFA;border-radius:12px;padding:16px;margin-top:16px}
.btn-review{background:linear-gradient(135deg,var(--primary),#FFA000);color:#fff;border:0;padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:600;cursor:pointer;transition:.3s;white-space:nowrap}
.btn-review:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(255,160,0,.3)}
.order-panel-footer .btn-wa{background:#25D366;color:#fff;border:0}
.order-panel-footer .btn-wa:hover{background:#128C7E}
.order-panel-footer .btn-clear{background:#f8f9fa;color:#dc3545;border:1px solid var(--border)}
.order-panel-footer .btn-clear:hover{background:#dc3545;color:#fff}

@media(max-width:767px){
  #orderPanel{right:0;bottom:0;left:0;width:100%;max-width:100%;border-radius:20px 20px 0 0;max-height:60vh}
  .order-panel-body{max-height:calc(60vh - 120px)}
}

/* ---------- Page Banner (sub pages) ---------- */
.page-banner{position:relative;padding:34px 0 26px;background:linear-gradient(135deg,#FFF8E1,#FFFDF7);border-bottom:1px solid var(--border);overflow:hidden}
.page-banner h1{font-size:clamp(1.6rem,4vw,2.3rem);font-weight:800}
.breadcrumb-c{font-size:.8rem;color:var(--muted)}
.breadcrumb-c a{color:var(--muted)}

/* ---------- Pagination ---------- */
.pagination{margin:0;gap:.5rem}
.pagination .page-item{margin:0}
.pagination .page-link{
  border:1px solid var(--border);
  color:var(--text);
  background:var(--bg);
  padding:.5rem .75rem;
  min-width:36px;
  text-align:center;
  border-radius:8px;
  transition:.2s;
}
.pagination .page-link:hover{
  background:var(--primary);
  color:var(--secondary);
  border-color:var(--primary);
}
.pagination .page-item.active .page-link{
  background:var(--primary);
  color:var(--secondary);
  border-color:var(--primary);
}
.pagination .page-item.disabled .page-link{
  color:var(--muted);
  pointer-events:none;
  opacity:.5;
}
.breadcrumb-c a:hover{color:var(--secondary)}

/* ---------- Star Rating ---------- */
.star-rating {
  display: flex;
  gap: 0.5rem;
  cursor: pointer;
}
.star-rating i {
  font-size: 1.8rem;
  color: #d1d5db;
  transition: all 0.2s ease;
}
.star-rating i:hover,
.star-rating i.active {
  color: var(--primary);
}
.star-rating i:hover {
  transform: scale(1.15);
}
