/* ============================================================
   CHAAT CHATORI – Main Stylesheet
   ============================================================ */

/* ===== CSS Variables ===== */
:root {
  --red:       #C8151B;
  --dark-red:  #9e1016;
  --yellow:    #F5A623;
  --gold:      #D4A017;
  --brown:     #4a2c0a;
  --dark:      #1a1a1a;
  --text:      #333;
  --text-light:#666;
  --bg:        #fff;
  --bg-light:  #FFF8F0;
  --bg-dark:   #1C1C1C;
  --border:    #e8e0d5;
  --shadow:    0 4px 24px rgba(0,0,0,0.10);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.18);
  --radius:    14px;
  --radius-sm: 8px;
  --font-head: 'Playfair Display', serif;
  --font-body: 'Poppins', sans-serif;
  --transition:0.35s ease;
}

/* ===== Reset & Base ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.6;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{font-family:var(--font-body);}

/* ===== Utility ===== */
.container{max-width:1220px;margin:0 auto;padding:0 24px;}
.section{padding:70px 0;}
.section-alt{background:var(--bg-light);}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 30px;border-radius:50px;font-weight:600;font-size:15px;cursor:pointer;border:2px solid transparent;transition:all var(--transition);white-space:nowrap;}
.btn-red{background:var(--red);color:#fff;border-color:var(--red);}
.btn-red:hover{background:var(--dark-red);border-color:var(--dark-red);transform:translateY(-3px);box-shadow:0 8px 25px rgba(200,21,27,0.40);}
.btn-outline{background:transparent;color:var(--red);border-color:var(--red);}
.btn-outline:hover{background:var(--red);color:#fff;transform:translateY(-3px);}
.btn-yellow{background:var(--yellow);color:#1a1a1a;border-color:var(--yellow);}
.btn-yellow:hover{background:#e0961f;transform:translateY(-3px);box-shadow:0 8px 25px rgba(245,166,35,0.40);}
.btn-green{background:#25D366;color:#fff;border-color:#25D366;}
.btn-green:hover{background:#1ebe5a;transform:translateY(-3px);}
.btn-dark{background:#1a1a1a;color:#fff;border-color:#1a1a1a;}
.btn-dark:hover{background:#333;transform:translateY(-3px);}

/* ===== Section Title ===== */
.section-title{text-align:center;margin-bottom:48px;}
.section-title h2{font-size:2.1rem;font-family:var(--font-head);font-weight:700;line-height:1.2;}
.section-title h2 span{color:var(--red);font-style:italic;}
.section-title p{color:var(--text-light);font-size:15px;margin-top:10px;max-width:560px;margin-left:auto;margin-right:auto;}
.section-title .underline{width:64px;height:3px;background:linear-gradient(90deg,var(--red),var(--yellow));margin:12px auto 0;border-radius:2px;}

/* ===== Top Bar ===== */
/* top-bar styles in nav.css */

/* ===== Header ===== */
header{background:#fff;padding:12px 0;position:sticky;top:0;z-index:1000;box-shadow:0 2px 18px rgba(0,0,0,0.09);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.logo img{height:64px;width:auto;object-fit:contain;transition:transform var(--transition);}
.logo img:hover{transform:scale(1.04);}
.nav{display:flex;align-items:center;gap:28px;}
.nav a{font-weight:600;font-size:15px;color:var(--text);transition:color var(--transition);position:relative;padding-bottom:4px;}
.nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--red);transition:width var(--transition);}
.nav a:hover,.nav a.active{color:var(--red);}
.nav a:hover::after,.nav a.active::after{width:100%;}
.header-actions{display:flex;align-items:center;gap:12px;}
.header-phone{display:flex;align-items:center;gap:8px;border:2px solid var(--red);color:var(--red);padding:8px 18px;border-radius:50px;font-weight:600;font-size:14px;transition:all var(--transition);}
.header-phone:hover{background:var(--red);color:#fff;}
/* hamburger in nav.css */

/* ===== HERO – Full BG Slider ===== */
/* hero styles in nav.css */
.hero-dots{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:3;}
.hero-dot{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;transition:all var(--transition);border:2px solid transparent;}
.hero-dot.active{background:var(--yellow);width:28px;border-radius:6px;}
.hero-arrows{position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;justify-content:space-between;padding:0 20px;z-index:3;pointer-events:none;}
.hero-arrow{pointer-events:all;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.4);color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition);backdrop-filter:blur(4px);}
.hero-arrow:hover{background:var(--red);border-color:var(--red);}

/* ===== Page Hero (inner pages) ===== */
/* page-hero styles in nav.css */

/* ===== CTA Strips ===== */
.cta-bar{background:var(--dark);padding:22px 0;}
.cta-bar .container{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;}
.cta-bar p{color:#ccc;font-size:15px;}
.cta-bar p span{color:var(--yellow);font-weight:700;}

/* Catering CTA Banner */
.catering-cta{background:linear-gradient(135deg,#1a0a00 0%,#3d1a00 50%,#1a0a00 100%);padding:50px 0;border-radius:20px;margin:0 0 70px;}
.catering-cta .container{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.catering-left h2{font-family:var(--font-head);font-size:1.9rem;color:#fff;margin-bottom:10px;}
.catering-left h2 span{color:var(--yellow);font-style:italic;}
.catering-left p{color:#bbb;font-size:14px;line-height:1.8;}
.catering-right{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end;}

/* Order Platform Buttons */
.order-platforms{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.btn-zomato{background:#E23744;color:#fff;border-color:#E23744;}
.btn-zomato:hover{background:#c42b38;transform:translateY(-3px);}
.btn-swiggy{background:#FC8019;color:#fff;border-color:#FC8019;}
.btn-swiggy:hover{background:#e57316;transform:translateY(-3px);}

/* ===== Categories ===== */
.categories-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.category-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition);cursor:pointer;text-align:center;border:1px solid var(--border);position:relative;}
.category-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-lg);}
.category-card .cat-img-wrap{overflow:hidden;height:170px;}
.category-card .cat-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.category-card:hover .cat-img-wrap img{transform:scale(1.12);}
.category-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin:-26px auto 12px;position:relative;z-index:1;box-shadow:0 3px 12px rgba(0,0,0,.22);}
.category-card h3{font-size:1.05rem;font-weight:700;margin-bottom:5px;}
.category-card p{font-size:12px;color:var(--text-light);padding-bottom:18px;}
.category-card .cat-hover-overlay{position:absolute;inset:0;background:rgba(200,21,27,.85);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition);border-radius:var(--radius);}
.category-card:hover .cat-hover-overlay{opacity:1;}
.cat-hover-overlay span{color:#fff;font-weight:700;font-size:14px;}

/* ===== Popular / Item Cards ===== */
.popular-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;}
.popular-header h2{font-family:var(--font-head);font-size:2rem;display:flex;align-items:center;gap:10px;}
.popular-header h2 span{color:var(--red);font-style:italic;}
.popular-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.item-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);transition:transform var(--transition),box-shadow var(--transition);}
.item-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.item-card .img-wrap{overflow:hidden;height:180px;}
.item-card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.item-card:hover .img-wrap img{transform:scale(1.10);}
.item-card-body{padding:14px 16px;}
.item-card h3{font-size:.95rem;font-weight:700;margin-bottom:10px;}
.item-price-row{display:flex;align-items:center;justify-content:space-between;}
.item-price{font-weight:800;font-size:1.1rem;color:var(--red);}
.add-btn{background:var(--red);color:#fff;border:none;padding:8px 18px;border-radius:50px;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all var(--transition);}
.add-btn:hover{background:var(--dark-red);transform:scale(1.06);}

/* ===== Offer Banner ===== */
.offer-banner{background:linear-gradient(135deg,var(--red) 0%,#8b0d12 100%);border-radius:20px;padding:40px 56px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden;box-shadow:0 10px 40px rgba(200,21,27,.35);}
.offer-banner::before{content:'';position:absolute;top:-60px;left:-60px;width:220px;height:220px;background:rgba(255,255,255,.06);border-radius:50%;}
.offer-banner::after{content:'';position:absolute;bottom:-40px;right:120px;width:160px;height:160px;background:rgba(255,255,255,.04);border-radius:50%;}
.offer-tag{background:#000;color:var(--yellow);padding:10px 18px;border-radius:10px;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:1px;line-height:1.4;display:inline-block;}
.offer-content{flex:1;color:#fff;text-align:center;}
.offer-content h2{font-size:1.1rem;margin-bottom:6px;opacity:.88;}
.offer-content h3{font-size:2.1rem;font-weight:800;margin-bottom:18px;}
.offer-content h3 span{color:var(--yellow);}
.offer-img{font-size:5.5rem;animation:bounce 2s infinite;}

/* ===== Testimonials ===== */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.review-card{background:#fff;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);border:1px solid var(--border);transition:transform var(--transition);}
.review-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.review-quote{color:var(--red);font-size:2.8rem;line-height:1;margin-bottom:10px;font-family:Georgia,serif;}
.review-text{font-size:14px;color:var(--text-light);margin-bottom:16px;font-style:italic;line-height:1.8;}
.review-stars{color:var(--yellow);font-size:1rem;margin-bottom:6px;}
.review-author{font-weight:700;font-size:14px;}

/* ===== Stats Bar ===== */
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.stat-item{background:#fff;padding:30px 22px;display:flex;align-items:center;gap:16px;transition:background var(--transition);}
.stat-item:hover{background:var(--bg-light);}
.stat-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;transition:transform var(--transition);}
.stat-item:hover .stat-icon{transform:scale(1.1) rotate(-5deg);}
.stat-info{text-align:left;}
.stat-info strong{font-size:1.7rem;font-weight:800;display:block;color:var(--dark);}
.stat-info span{font-size:12px;color:var(--text-light);}

/* ===== Why Choose ===== */
.why-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;}
.why-card{text-align:center;padding:26px 18px;background:#fff;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);transition:all var(--transition);}
.why-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--red);}
.why-icon{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.7rem;margin:0 auto 16px;transition:transform var(--transition);}
.why-card:hover .why-icon{transform:scale(1.15) rotate(8deg);}
.why-card h3{font-size:.9rem;font-weight:700;margin-bottom:9px;}
.why-card p{font-size:12px;color:var(--text-light);line-height:1.7;}

/* ===== Kitchen Gallery ===== */
.kitchen-section{display:grid;grid-template-columns:1fr 2fr;gap:44px;align-items:center;}
.kitchen-images{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.kitchen-images img{border-radius:12px;width:100%;height:168px;object-fit:cover;transition:transform var(--transition),box-shadow var(--transition);}
.kitchen-images img:hover{transform:scale(1.04);box-shadow:var(--shadow-lg);}
.kitchen-images img:first-child{grid-column:1/-1;height:190px;}

/* ===== Menu Cards ===== */
.menu-tabs{display:flex;gap:4px;background:#fff;border-radius:50px;padding:5px;box-shadow:var(--shadow);border:1px solid var(--border);width:fit-content;margin:0 auto 44px;}
.menu-tab{padding:11px 30px;border-radius:50px;font-weight:600;cursor:pointer;transition:all var(--transition);font-size:15px;display:flex;align-items:center;gap:8px;border:none;background:none;color:var(--text);}
.menu-tab.active{background:var(--red);color:#fff;box-shadow:0 4px 14px rgba(200,21,27,.35);}
.menu-section-title{display:flex;align-items:center;gap:14px;margin-bottom:26px;}
.menu-section-title h2{font-size:1.55rem;font-weight:700;}
.menu-section-title::after{content:'';flex:1;height:2px;background:linear-gradient(90deg,var(--border),transparent);}
.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-bottom:16px;}
.menu-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);transition:all var(--transition);}
.menu-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.menu-card .mc-img{overflow:hidden;height:165px;}
.menu-card .mc-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.menu-card:hover .mc-img img{transform:scale(1.11);}
.menu-card-body{padding:14px 16px;}
.menu-card h3{font-size:.9rem;font-weight:700;margin-bottom:4px;}
.menu-card p{font-size:12px;color:var(--text-light);margin-bottom:10px;line-height:1.5;}
.menu-card .price{font-weight:800;color:var(--red);font-size:1.05rem;}
.menu-card .mc-actions{display:flex;align-items:center;justify-content:space-between;margin-top:10px;}

/* ===== Contact Cards ===== */
.contact-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-bottom:56px;}
.contact-card{background:#fff;border-radius:var(--radius);padding:30px 22px;text-align:center;box-shadow:var(--shadow);border:1px solid var(--border);transition:all var(--transition);}
.contact-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.contact-card .c-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 auto 18px;transition:transform var(--transition);}
.contact-card:hover .c-icon{transform:scale(1.12) rotate(-6deg);}
.contact-card h3{font-size:1rem;font-weight:700;margin-bottom:8px;}
.contact-card .c-value{color:var(--red);font-weight:700;font-size:1rem;margin-bottom:4px;}
.contact-card p{font-size:13px;color:var(--text-light);}

/* ===== Form ===== */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.form-group{margin-bottom:14px;}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:13px 18px;border:1.5px solid var(--border);border-radius:10px;font-family:var(--font-body);font-size:14px;transition:border-color var(--transition),box-shadow var(--transition);color:var(--text);background:#fafafa;}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(200,21,27,.10);background:#fff;}
.form-group textarea{min-height:135px;resize:vertical;}

/* ===== Footer ===== */
.footer-info-bar{background:var(--bg-light);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:32px 0;}
.footer-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.info-item{display:flex;align-items:flex-start;gap:14px;}
.info-item .info-icon{font-size:1.8rem;flex-shrink:0;margin-top:2px;}
.info-item h4{font-size:14px;font-weight:700;margin-bottom:4px;}
.info-item p{font-size:13px;color:var(--text-light);line-height:1.6;}
.footer-main{background:#111;color:#ccc;padding:56px 0 24px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr 1fr;gap:32px;margin-bottom:36px;}
.footer-logo{margin-bottom:14px;}
.footer-logo img{height:60px;width:auto;filter:brightness(0) invert(1);opacity:.9;}
.footer-tagline{font-size:13px;color:#888;line-height:1.8;margin-top:10px;}
.footer-socials{display:flex;gap:10px;margin-top:18px;}
.social-btn{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition);overflow:hidden;}
.social-btn:hover{transform:translateY(-3px) scale(1.1);}
.social-btn img,.social-btn svg{width:22px;height:22px;}
.social-btn.fb{background:#1877F2;}
.social-btn.ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);}
.social-btn.wa{background:#25D366;}
.social-btn.gm{background:#fff;}
.footer-col h4{color:#fff;font-size:15px;font-weight:700;margin-bottom:18px;position:relative;padding-bottom:10px;}
.footer-col h4::after{content:'';position:absolute;bottom:0;left:0;width:32px;height:2px;background:var(--red);}
.footer-col ul{display:flex;flex-direction:column;gap:10px;}
.footer-col ul a{color:#999;font-size:13px;transition:color var(--transition);display:flex;align-items:center;gap:6px;}
.footer-col ul a:hover{color:var(--red);padding-left:4px;}
.footer-col ul a.active-link{color:var(--red);font-weight:600;}
.footer-col ul a.active-link::before{content:'›';color:var(--red);font-weight:700;}
.footer-contact-item{display:flex;gap:10px;margin-bottom:13px;font-size:13px;color:#999;}
.footer-contact-item .icon{font-size:15px;flex-shrink:0;margin-top:2px;}
.footer-qr-box{background:#fff;padding:10px;border-radius:10px;display:inline-block;margin-top:10px;}
.footer-qr-box img{width:82px;height:82px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;color:#666;}
.footer-bottom span.red{color:var(--red);}
.footer-bottom a{color:#aaa;transition:color var(--transition);}
.footer-bottom a:hover{color:var(--red);}
.credit-link{color:#aaa;font-size:12px;}
.credit-link a{color:var(--yellow);font-weight:600;}
.credit-link a:hover{color:#fff;}

/* ===== Mobile Nav ===== */
.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border);padding:8px 0 4px;z-index:1001;box-shadow:0 -4px 20px rgba(0,0,0,.10);}
.mobile-nav ul{display:flex;justify-content:space-around;}
.mobile-nav li a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;font-weight:600;color:var(--text-light);transition:color var(--transition);}
.mobile-nav li a .nav-icon{font-size:1.25rem;}
.mobile-nav li a.active{color:var(--yellow);}
.mobile-nav li a:hover{color:var(--red);}

/* ===== FAB ===== */
.fab-group{position:fixed;right:18px;bottom:80px;z-index:999;display:flex;flex-direction:column;gap:12px;}
.fab{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.28);transition:transform var(--transition),box-shadow var(--transition);}
.fab:hover{transform:scale(1.12);box-shadow:0 8px 28px rgba(0,0,0,.35);}
.fab-wa{background:#25D366;}
.fab-call{background:var(--red);}

/* ===== Privacy Policy ===== */
.policy-content{max-width:860px;margin:0 auto;}
.policy-content h2{font-family:var(--font-head);font-size:1.6rem;margin:36px 0 12px;color:var(--dark);}
.policy-content h2:first-child{margin-top:0;}
.policy-content p{font-size:14.5px;color:var(--text-light);line-height:1.9;margin-bottom:14px;}
.policy-content ul{padding-left:22px;margin-bottom:14px;}
.policy-content ul li{font-size:14.5px;color:var(--text-light);line-height:1.8;margin-bottom:6px;list-style:disc;}
.policy-content a{color:var(--red);}

/* ===== Animations ===== */
@keyframes fadeInUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}
@keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
@keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}
@keyframes shimmer{0%{background-position:-400px 0;}100%{background-position:400px 0;}}

/* Scroll reveal */
/* Reveal animations – only activate after JS marks body with .js-ready */
.js-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease;}
.js-ready .reveal.visible{opacity:1;transform:none;}
.js-ready .reveal-left{opacity:0;transform:translateX(-28px);transition:opacity .6s ease,transform .6s ease;}
.js-ready .reveal-left.visible{opacity:1;transform:none;}
.js-ready .reveal-right{opacity:0;transform:translateX(28px);transition:opacity .6s ease,transform .6s ease;}
.js-ready .reveal-right.visible{opacity:1;transform:none;}

/* ===== Responsive ===== */
@media(max-width:1100px){
  .categories-grid{grid-template-columns:repeat(2,1fr);}
  .popular-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .why-grid{grid-template-columns:repeat(3,1fr);}
  .menu-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  .catering-cta .container{grid-template-columns:1fr;}
  .catering-right{justify-content:flex-start;}
  .stats-bar{grid-template-columns:repeat(2,1fr);}
  .contact-info-grid{grid-template-columns:repeat(2,1fr);}
  .kitchen-section{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .top-bar .container{gap:10px;font-size:11.5px;}
  .nav{display:none;}
  /* Mobile nav handled by nav.css drawer styles */
  /* nav-close handled by nav.css */
  .hamburger{display:flex;}
  .header-phone{display:none;}
  .header-actions .btn{padding:9px 18px;font-size:13px;}
  /* hero responsive in nav.css */
  /* hero responsive in nav.css */
  .popular-grid,.menu-grid{grid-template-columns:repeat(2,1fr);}
  .categories-grid{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .testimonials-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-info-grid{grid-template-columns:repeat(2,1fr);}
  .offer-banner{flex-direction:column;text-align:center;padding:30px 26px;}
  .mobile-nav{display:block;}
  body{padding-bottom:65px;}
  .fab-group{bottom:130px;}
  .menu-tabs{flex-wrap:wrap;border-radius:14px;width:100%;}
  .menu-tab{flex:1;justify-content:center;}
  .form-row{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:6px;}
}
@media(max-width:520px){
  /* hero responsive in nav.css */
  .popular-grid,.menu-grid{grid-template-columns:1fr 1fr;}
  .stats-bar{grid-template-columns:1fr;}
  .contact-info-grid{grid-template-columns:1fr 1fr;}
  .hero-buttons{flex-direction:column;align-items:flex-start;}
  .cta-bar .container{flex-direction:column;text-align:center;}
}

/* ============================================================
   GALLERY PAGE STYLES
   ============================================================ */

/* Filter Tabs */
.filter-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 36px; justify-content: center; }
.filter-btn { padding: 9px 22px; border-radius: 50px; border: 2px solid var(--border); background: #fff; font-family: var(--font-body); font-size: 14px; font-weight: 600; cursor: pointer; transition: all var(--transition); color: var(--text); }
.filter-btn:hover, .filter-btn.active { background: var(--red); color: #fff; border-color: var(--red); box-shadow: 0 4px 14px rgba(200,21,27,.30); }

/* Photo Grid */
.photo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.photo-item { position: relative; border-radius: 12px; overflow: hidden; cursor: pointer; box-shadow: var(--shadow); }
.photo-item.wide { grid-column: span 2; }
.photo-item.tall { grid-row: span 2; }
.photo-item img { width: 100%; height: 220px; object-fit: cover; display: block; transition: transform .5s ease; }
.photo-item.wide img { height: 220px; }
.photo-item.tall img { height: 100%; min-height: 454px; object-fit: cover; }
.photo-item:hover img { transform: scale(1.09); }
.photo-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.65) 0%, transparent 60%); opacity: 0; transition: opacity var(--transition); display: flex; align-items: flex-end; padding: 16px; }
.photo-item:hover .photo-overlay { opacity: 1; }
.photo-overlay span { color: #fff; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 6px; }
.photo-zoom-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.6); opacity: 0; transition: all var(--transition); background: rgba(255,255,255,.2); backdrop-filter: blur(4px); border: 2px solid rgba(255,255,255,.6); border-radius: 50%; width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.3rem; }
.photo-item:hover .photo-zoom-icon { opacity: 1; transform: translate(-50%, -50%) scale(1); }

/* Gallery hidden state for filtering */
.photo-item.hidden { display: none; }

/* Lightbox */
.lightbox { display: none; position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,.96); align-items: center; justify-content: center; flex-direction: column; }
.lightbox.open { display: flex; }
.lb-header { position: absolute; top: 0; left: 0; right: 0; padding: 16px 24px; display: flex; justify-content: space-between; align-items: center; background: linear-gradient(to bottom, rgba(0,0,0,.7), transparent); z-index: 2; }
.lb-title { color: #fff; font-weight: 600; font-size: 14px; }
.lb-counter { color: rgba(255,255,255,.6); font-size: 13px; }
.lb-close-btn { background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.3); color: #fff; width: 40px; height: 40px; border-radius: 50%; font-size: 1.2rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background var(--transition); }
.lb-close-btn:hover { background: var(--red); }
.lb-body { position: relative; max-width: 92vw; max-height: 82vh; display: flex; align-items: center; justify-content: center; }
.lb-img { max-width: 90vw; max-height: 80vh; object-fit: contain; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.5); transition: opacity .3s ease; }
.lb-img.fade { opacity: 0; }
.lb-btn { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.15); border: 2px solid rgba(255,255,255,.3); color: #fff; width: 50px; height: 50px; border-radius: 50%; font-size: 1.6rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all var(--transition); backdrop-filter: blur(4px); z-index: 2; }
.lb-btn:hover { background: var(--red); border-color: var(--red); transform: translateY(-50%) scale(1.08); }
.lb-prev { left: -70px; }
.lb-next { right: -70px; }
.lb-footer { position: absolute; bottom: 0; left: 0; right: 0; padding: 16px 24px; background: linear-gradient(to top, rgba(0,0,0,.7), transparent); display: flex; gap: 8px; justify-content: center; overflow-x: auto; }
.lb-thumb { width: 54px; height: 54px; object-fit: cover; border-radius: 6px; cursor: pointer; opacity: .55; transition: all var(--transition); border: 2px solid transparent; flex-shrink: 0; }
.lb-thumb.active { opacity: 1; border-color: var(--yellow); transform: scale(1.08); }

/* ============================================================
   VIDEO GALLERY PAGE STYLES
   ============================================================ */

.video-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.video-card { background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--border); transition: all var(--transition); }
.video-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.video-thumb { position: relative; overflow: hidden; aspect-ratio: 16/9; background: #111; cursor: pointer; }
.video-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.video-card:hover .video-thumb img { transform: scale(1.06); }
.play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 60px; height: 60px; background: rgba(200,21,27,.90); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: all var(--transition); box-shadow: 0 4px 20px rgba(0,0,0,.4); }
.play-btn svg { width: 24px; height: 24px; fill: #fff; margin-left: 4px; }
.video-card:hover .play-btn { transform: translate(-50%, -50%) scale(1.12); background: var(--red); box-shadow: 0 8px 28px rgba(200,21,27,.5); }
.video-duration { position: absolute; bottom: 10px; right: 10px; background: rgba(0,0,0,.75); color: #fff; font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 4px; letter-spacing: .5px; }
.video-category-badge { position: absolute; top: 10px; left: 10px; background: var(--red); color: #fff; font-size: 10px; font-weight: 700; padding: 3px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: .8px; }
.video-card-body { padding: 16px; }
.video-card h3 { font-size: .95rem; font-weight: 700; margin-bottom: 6px; line-height: 1.4; }
.video-card p { font-size: 12px; color: var(--text-light); line-height: 1.6; }
.video-card .vc-meta { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; }
.video-card .vc-views { font-size: 11px; color: var(--text-light); display: flex; align-items: center; gap: 4px; }
.video-card .vc-watch { font-size: 12px; font-weight: 700; color: var(--red); display: flex; align-items: center; gap: 4px; transition: color var(--transition); }
.video-card:hover .vc-watch { color: var(--dark-red); }

/* Video Modal */
.video-modal { display: none; position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,.95); align-items: center; justify-content: center; }
.video-modal.open { display: flex; }
.vm-inner { position: relative; width: 90vw; max-width: 900px; }
.vm-close { position: absolute; top: -44px; right: 0; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.3); color: #fff; width: 38px; height: 38px; border-radius: 50%; font-size: 1.1rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background var(--transition); }
.vm-close:hover { background: var(--red); }
.vm-iframe-wrap { position: relative; padding-bottom: 56.25%; height: 0; border-radius: 12px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.vm-iframe-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* Upload Placeholder Cards */
.upload-placeholder { border: 2px dashed var(--border); border-radius: var(--radius); aspect-ratio: 16/9; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--text-light); background: var(--bg-light); transition: all var(--transition); cursor: pointer; }
.upload-placeholder:hover { border-color: var(--red); background: #fff5f5; color: var(--red); }
.upload-placeholder .up-icon { font-size: 2.5rem; }
.upload-placeholder p { font-size: 13px; font-weight: 600; }
.upload-placeholder span { font-size: 11px; opacity: .7; }

/* Gallery stats bar */
.gallery-stats { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; margin-bottom: 28px; }
.gallery-stat { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--text-light); }
.gallery-stat strong { color: var(--dark); font-weight: 700; }

/* Masonry-style featured row */
.photo-featured { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: auto auto; gap: 14px; margin-bottom: 14px; }
.photo-featured .pf-main { grid-row: 1 / 3; }
.photo-featured .pf-main img { height: 454px; }
.photo-featured .pf-sm img { height: 220px; }

/* Responsive gallery */
@media(max-width:1100px) { .photo-grid { grid-template-columns: repeat(3,1fr); } .video-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:768px) {
  .photo-grid { grid-template-columns: repeat(2,1fr); }
  .photo-item.wide { grid-column: span 1; }
  .photo-item.tall { grid-row: span 1; }
  .photo-item.tall img { min-height: 0; height: 200px; }
  .photo-featured { grid-template-columns: 1fr 1fr; }
  .photo-featured .pf-main { grid-column: 1/-1; grid-row: auto; }
  .photo-featured .pf-main img { height: 240px; }
  .lb-prev { left: 10px; }
  .lb-next { right: 10px; }
  .lb-btn { width: 40px; height: 40px; font-size: 1.2rem; }
  .video-grid { grid-template-columns: 1fr; }
}
@media(max-width:480px) { .photo-grid { grid-template-columns: repeat(2,1fr); gap:8px; } .photo-item img { height:160px; } }

/* ============================================================
   FAQ PAGE
   ============================================================ */
.faq-hero-stats { display: flex; gap: 32px; margin-top: 24px; flex-wrap: wrap; }
.faq-hero-stat { text-align: center; }
.faq-hero-stat strong { display: block; font-size: 1.8rem; font-weight: 800; color: var(--yellow); }
.faq-hero-stat span { font-size: 12px; color: rgba(255,255,255,.7); }

.faq-search-wrap { max-width: 560px; margin: 0 auto 48px; position: relative; }
.faq-search-wrap input { width: 100%; padding: 16px 56px 16px 20px; border-radius: 50px; border: 2px solid var(--border); font-size: 15px; font-family: var(--font-body); box-shadow: var(--shadow); transition: border-color var(--transition); }
.faq-search-wrap input:focus { outline: none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(200,21,27,.1); }
.faq-search-icon { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 1.2rem; color: var(--text-light); pointer-events: none; }
.faq-no-results { text-align: center; padding: 40px; color: var(--text-light); display: none; }
.faq-no-results .nr-icon { font-size: 3rem; margin-bottom: 12px; }

.faq-category { margin-bottom: 48px; }
.faq-category-title { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.faq-category-title h2 { font-size: 1.3rem; font-weight: 700; }
.faq-category-title::after { content: ''; flex: 1; height: 2px; background: linear-gradient(90deg, var(--border), transparent); }

.faq-item { border: 1.5px solid var(--border); border-radius: var(--radius); margin-bottom: 10px; overflow: hidden; transition: border-color var(--transition), box-shadow var(--transition); background: #fff; }
.faq-item:hover { border-color: rgba(200,21,27,.3); box-shadow: 0 4px 16px rgba(200,21,27,.08); }
.faq-item.open { border-color: var(--red); box-shadow: 0 4px 20px rgba(200,21,27,.12); }
.faq-q { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; cursor: pointer; gap: 16px; user-select: none; }
.faq-q h3 { font-size: 15px; font-weight: 600; line-height: 1.5; color: var(--dark); flex: 1; }
.faq-item.open .faq-q h3 { color: var(--red); }
.faq-icon { width: 32px; height: 32px; border-radius: 50%; background: var(--bg-light); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; transition: all var(--transition); flex-shrink: 0; font-weight: 700; color: var(--text-light); }
.faq-item.open .faq-icon { background: var(--red); color: #fff; transform: rotate(45deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .4s ease, padding .3s ease; }
.faq-a-inner { padding: 0 22px 20px; font-size: 14.5px; color: var(--text-light); line-height: 1.9; border-top: 1px solid var(--border); padding-top: 16px; }
.faq-a-inner a { color: var(--red); font-weight: 600; }
.faq-a-inner strong { color: var(--dark); }
.faq-item.open .faq-a { max-height: 600px; }

.faq-highlight { background: var(--bg-light); border-radius: var(--radius); padding: 32px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 20px; }
.faq-highlight h3 { font-size: 1.3rem; font-weight: 700; margin-bottom: 8px; }
.faq-highlight p { font-size: 14px; color: var(--text-light); line-height: 1.8; }

/* ============================================================
   TESTIMONIALS PAGE
   ============================================================ */
.testimonials-filter { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 36px; justify-content: center; }
.t-filter-btn { padding: 8px 20px; border-radius: 50px; border: 2px solid var(--border); background: #fff; font-family: var(--font-body); font-size: 13px; font-weight: 600; cursor: pointer; transition: all var(--transition); color: var(--text); }
.t-filter-btn:hover, .t-filter-btn.active { background: var(--red); color: #fff; border-color: var(--red); }

.testimonials-featured { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 48px; }

.review-card-full { background: #fff; border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow); border: 1px solid var(--border); transition: all var(--transition); position: relative; overflow: hidden; }
.review-card-full::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--red), var(--yellow)); }
.review-card-full:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.review-card-full.hidden { display: none; }
.rc-header { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 18px; }
.rc-avatar { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1rem; font-weight: 800; color: var(--dark); flex-shrink: 0; font-family: var(--font-head); }
.rc-info { flex: 1; }
.rc-name { font-weight: 700; font-size: 15px; margin-bottom: 2px; }
.rc-location { font-size: 12px; color: var(--text-light); display: flex; align-items: center; gap: 4px; }
.rc-verified { display: inline-flex; align-items: center; gap: 4px; background: #dcfce7; color: #16a34a; font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 20px; margin-left: 6px; }
.rc-stars { color: var(--yellow); font-size: 15px; letter-spacing: 1px; margin-bottom: 6px; }
.rc-date-cat { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.rc-cat { font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 20px; }
.rc-date { font-size: 11px; color: var(--text-light); }
.rc-title { font-weight: 700; font-size: 15px; margin-bottom: 10px; color: var(--dark); }
.rc-text { font-size: 13.5px; color: var(--text-light); line-height: 1.8; font-style: italic; }
.rc-highlight { display: flex; align-items: center; gap: 6px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border); font-size: 12px; color: var(--text-light); }
.rc-highlight strong { color: var(--red); }
.rc-quote-mark { color: var(--red); font-size: 3rem; line-height: 0.5; font-family: Georgia, serif; margin-right: 6px; vertical-align: middle; opacity: .4; }

.all-reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }

.rating-summary { display: grid; grid-template-columns: 200px 1fr; gap: 40px; align-items: center; background: #fff; border-radius: var(--radius); padding: 36px; box-shadow: var(--shadow); border: 1px solid var(--border); margin-bottom: 48px; }
.rating-big { text-align: center; }
.rating-big .score { font-size: 4rem; font-weight: 800; color: var(--dark); line-height: 1; }
.rating-big .stars { color: var(--yellow); font-size: 1.3rem; margin: 6px 0; }
.rating-big .count { font-size: 13px; color: var(--text-light); }
.rating-bars { display: flex; flex-direction: column; gap: 10px; }
.rating-bar-row { display: flex; align-items: center; gap: 12px; font-size: 13px; }
.rating-bar-row .label { width: 36px; font-weight: 600; text-align: right; color: var(--text-light); }
.rating-bar-row .bar-wrap { flex: 1; background: var(--border); border-radius: 4px; height: 10px; overflow: hidden; }
.rating-bar-fill { height: 100%; background: linear-gradient(90deg, var(--yellow), var(--gold)); border-radius: 4px; transition: width 1s ease; width: 0; }
.rating-bar-row .pct { width: 36px; font-size: 12px; color: var(--text-light); }

/* ============================================================
   BLOG PAGE
   ============================================================ */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.blog-card { background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--border); transition: all var(--transition); display: flex; flex-direction: column; }
.blog-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.blog-card.hidden { display: none; }
.blog-img-wrap { overflow: hidden; height: 210px; position: relative; }
.blog-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.blog-card:hover .blog-img-wrap img { transform: scale(1.08); }
.blog-badge { position: absolute; top: 14px; left: 14px; padding: 4px 12px; border-radius: 20px; font-size: 11px; font-weight: 700; }
.blog-featured-badge { position: absolute; top: 14px; right: 14px; background: var(--yellow); color: #1a1a1a; padding: 4px 10px; border-radius: 20px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; }
.blog-body { padding: 22px; flex: 1; display: flex; flex-direction: column; }
.blog-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.blog-meta-item { font-size: 12px; color: var(--text-light); display: flex; align-items: center; gap: 4px; }
.blog-title { font-family: var(--font-head); font-size: 1.1rem; font-weight: 700; line-height: 1.4; margin-bottom: 10px; color: var(--dark); transition: color var(--transition); cursor: pointer; }
.blog-card:hover .blog-title { color: var(--red); }
.blog-excerpt { font-size: 13px; color: var(--text-light); line-height: 1.7; flex: 1; }
.blog-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--border); }
.blog-author { display: flex; align-items: center; gap: 8px; }
.blog-author-avatar { width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 800; }
.blog-author-name { font-size: 12px; font-weight: 600; color: var(--text-light); }
.blog-read-more { font-size: 12px; font-weight: 700; color: var(--red); display: flex; align-items: center; gap: 4px; transition: gap var(--transition); }
.blog-card:hover .blog-read-more { gap: 8px; }

/* Blog Tags */
.blog-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.blog-tag { font-size: 11px; padding: 3px 10px; background: var(--bg-light); border-radius: 20px; color: var(--text-light); transition: all var(--transition); cursor: pointer; border: 1px solid var(--border); }
.blog-tag:hover { background: var(--red); color: #fff; border-color: var(--red); }

/* Featured Blog (large card) */
.blog-featured-card { display: grid; grid-template-columns: 1.2fr 1fr; gap: 0; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-lg); border: 1px solid var(--border); margin-bottom: 48px; background: #fff; transition: box-shadow var(--transition); }
.blog-featured-card:hover { box-shadow: 0 20px 60px rgba(0,0,0,.18); }
.bfc-img { overflow: hidden; position: relative; }
.bfc-img img { width: 100%; height: 100%; object-fit: cover; min-height: 380px; transition: transform .6s ease; }
.blog-featured-card:hover .bfc-img img { transform: scale(1.05); }
.bfc-body { padding: 40px; display: flex; flex-direction: column; justify-content: center; }
.bfc-body .blog-title { font-size: 1.5rem; margin-bottom: 14px; }
.bfc-body .blog-excerpt { font-size: 14px; line-height: 1.8; margin-bottom: 20px; }

/* Blog Article Modal */
.blog-modal { display: none; position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,.7); align-items: flex-start; justify-content: center; overflow-y: auto; padding: 40px 20px; }
.blog-modal.open { display: flex; }
.blog-modal-inner { background: #fff; border-radius: 20px; max-width: 820px; width: 100%; position: relative; overflow: hidden; box-shadow: 0 24px 80px rgba(0,0,0,.3); animation: fadeInUp .4s ease both; }
.bm-hero-img { width: 100%; height: 320px; object-fit: cover; }
.bm-body { padding: 40px; }
.bm-close { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; border-radius: 50%; background: rgba(0,0,0,.5); border: none; color: #fff; font-size: 1.1rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background var(--transition); z-index: 2; backdrop-filter: blur(4px); }
.bm-close:hover { background: var(--red); }
.bm-body h1 { font-family: var(--font-head); font-size: 1.8rem; line-height: 1.3; margin-bottom: 16px; }
.bm-body h3 { font-size: 1.1rem; font-weight: 700; margin: 28px 0 10px; color: var(--dark); }
.bm-body p { font-size: 14.5px; color: var(--text-light); line-height: 1.9; margin-bottom: 14px; }
.bm-body ul { padding-left: 20px; margin-bottom: 14px; }
.bm-body ul li { font-size: 14.5px; color: var(--text-light); line-height: 1.8; margin-bottom: 6px; }
.bm-body a { color: var(--red); font-weight: 600; }
.bm-body em { color: var(--text); }
.bm-body strong { color: var(--dark); }
.bm-cta { background: var(--bg-light); border-radius: var(--radius); padding: 24px; margin-top: 32px; text-align: center; }
.bm-cta p { font-weight: 600; margin-bottom: 14px; font-size: 15px; }

/* Responsive */
@media(max-width:1100px) {
  .testimonials-featured, .all-reviews-grid { grid-template-columns: repeat(2,1fr); }
  .blog-grid { grid-template-columns: repeat(2,1fr); }
  .blog-featured-card { grid-template-columns: 1fr; }
  .bfc-img img { min-height: 240px; }
  .rating-summary { grid-template-columns: 1fr; }
  .rating-big { display: flex; gap: 24px; align-items: center; justify-content: center; }
}
@media(max-width:768px) {
  .testimonials-featured, .all-reviews-grid { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: 1fr; }
  .faq-hero-stats { gap: 20px; }
  .blog-featured-card { grid-template-columns: 1fr; }
  .bfc-body { padding: 24px; }
  .bm-body { padding: 24px; }
  .bm-body h1 { font-size: 1.4rem; }
}
