:root {
  --primary: #e8281a;
  --secondary: #f6a623;
  --dark: #1a1a1a;
  --green: #2d6a4f;
  --cream: #fff8f0;
  --cream2: #fef0dc;
  --light: #f9f5f0;
  --shadow: 0 8px 40px rgba(0,0,0,.1);
  --shadow-lg: 0 20px 60px rgba(0,0,0,.18);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:system-ui,-apple-system,sans-serif; color:#444; background:#fff; overflow-x:hidden; }
h1,h2,h3,h4,h5 { color:var(--dark); }
a { text-decoration:none; }
img { max-width:100%; }
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-thumb { background:var(--primary); border-radius:10px; }

/* ===================== TOP BAR ===================== */
#topbar { background:#111; padding:8px 0; font-size:.82rem; }
#topbar span { color:#aaa; margin-right:16px; }
#topbar span i { color:var(--secondary); margin-right:5px; }
#topbar .tsoc a { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08); display:inline-flex; align-items:center; justify-content:center; color:#bbb; font-size:.8rem; margin-left:5px; transition:background .18s, color .18s; }
#topbar .tsoc a:hover { background:var(--primary); color:#fff; }
.ttag { background:var(--primary); color:#fff; padding:2px 10px; border-radius:20px; font-size:.7rem; font-weight:600; text-transform:uppercase; }

/* ===================== NAVBAR ===================== */
#nav { background:#fff; position:sticky; top:0; z-index:990; box-shadow:0 2px 20px rgba(0,0,0,.07); }
#nav.scrolled { box-shadow:0 4px 30px rgba(0,0,0,.14); }
.blogo { display:flex; align-items:center; gap:10px; }
.bico { width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--secondary)); display:flex; align-items:center; justify-content:center; font-size:1.3rem; color:#fff; box-shadow:0 4px 15px rgba(232,40,26,.35); }
.bname { font-size:1.5rem; font-weight:900; color:var(--dark); }
.bname span { color:var(--primary); }
.bsub { font-size:.62rem; text-transform:uppercase; letter-spacing:2px; color:#666; }
.navbar-nav .nav-link { font-size:.87rem; font-weight:500; color:#333 !important; padding:26px 13px !important; position:relative; }
.navbar-nav .nav-link::after { content:""; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:0; height:3px; background:var(--primary); border-radius:3px 3px 0 0; }
.navbar-nav .nav-link:hover::after, .navbar-nav .nav-link.active::after { width:55%; }
.navbar-nav .nav-link:hover { color:var(--primary) !important; }
.nav-cta { background:linear-gradient(135deg,var(--primary),#c01e12); color:#fff !important; border-radius:8px; padding:10px 20px !important; font-size:.84rem !important; font-weight:600 !important; box-shadow:0 4px 15px rgba(232,40,26,.3); margin-left:6px; }
.nav-cta::after { display:none !important; }
.nav-cta:hover { color:#fff !important; }

/* ===================== SECTION COMMONS ===================== */
section { padding:88px 0; }
.slbl { font-size:1.1rem; color:var(--primary); display:block; margin-bottom:4px; font-weight:600; }
.stitle { font-size:clamp(1.9rem,4vw,2.7rem); font-weight:900; line-height:1.2; margin-bottom:12px; }
.stitle span { color:var(--primary); }
.sline { width:58px; height:4px; border-radius:4px; background:linear-gradient(90deg,var(--primary),var(--secondary)); margin:0 auto 12px; }
.sline.lft { margin-left:0; }
.sdesc { color:#555; font-size:.93rem; line-height:1.8; }
.btn-red { background:linear-gradient(135deg,var(--primary),#c01e12); color:#fff; border:none; border-radius:50px; padding:14px 32px; font-weight:600; font-size:.93rem; box-shadow:0 8px 24px rgba(232,40,26,.35); display:inline-flex; align-items:center; gap:9px; cursor:pointer; }
.btn-red:hover { color:#fff; box-shadow:0 14px 34px rgba(232,40,26,.45); }

/* ===================== HERO ===================== */
#hero { background:var(--cream); min-height:92vh; display:flex; align-items:center; position:relative; overflow:hidden; }
.hbgtxt { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-size:22vw; font-weight:900; color:rgba(0,0,0,.04); pointer-events:none; white-space:nowrap; }
.hs { position:absolute; border-radius:50%; }
.hs1 { width:480px; height:480px; background:radial-gradient(circle,rgba(232,40,26,.07),transparent 70%); top:-90px; right:-80px; }
.hs2 { width:280px; height:280px; background:radial-gradient(circle,rgba(246,166,35,.09),transparent 70%); bottom:-50px; left:8%; }
.hbadge { display:inline-flex; align-items:center; gap:8px; background:#fff; border-radius:30px; padding:6px 16px 6px 6px; box-shadow:0 4px 20px rgba(0,0,0,.1); margin-bottom:22px; }
.hbadge .hbi { width:30px; height:30px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--secondary)); display:flex; align-items:center; justify-content:center; color:#fff; font-size:.78rem; }
.hbadge span { font-size:.76rem; font-weight:600; color:var(--dark); }
.htitle { font-size:clamp(2.7rem,6vw,4.8rem); font-weight:900; line-height:1.1; margin-bottom:18px; }
.htitle .hl { color:var(--primary); position:relative; display:inline-block; }
.htitle .hl::before { content:""; position:absolute; bottom:2px; left:0; right:0; height:7px; background:rgba(232,40,26,.14); border-radius:4px; z-index:-1; }
.hdesc { font-size:1rem; color:#666; line-height:1.8; max-width:470px; margin-bottom:30px; }
.btn-play { display:inline-flex; align-items:center; gap:12px; color:var(--dark); font-weight:600; font-size:.9rem; padding:10px 16px; cursor:pointer; }
.btn-play .pico { width:48px; height:48px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 20px rgba(0,0,0,.12); color:var(--primary); font-size:.95rem; flex-shrink:0; }
.btn-play:hover { color:var(--primary); }
.hstats { display:flex; gap:20px; flex-wrap:wrap; margin-top:32px; }
.hstat .snum { font-size:1.9rem; font-weight:900; color:var(--dark); display:block; line-height:1; }
.hstat .snum em { color:var(--primary); font-style:normal; }
.hstat small { font-size:.7rem; color:#666; text-transform:uppercase; letter-spacing:1px; }
.sdiv { width:1px; background:#ddd; height:38px; align-self:center; }
.hcircle { width:480px; height:480px; border-radius:50%; background:radial-gradient(circle at 40% 40%,#fff8f0,#ffe5c8); display:flex; align-items:center; justify-content:center; margin:0 auto; position:relative; box-shadow:0 28px 76px rgba(232,40,26,.14); }
.hcircle img { width:90%; height:90%; object-fit:cover; border-radius:50%; }
.fcard { position:absolute; background:#fff; border-radius:11px; padding:10px 15px; box-shadow:var(--shadow); display:flex; align-items:center; gap:9px; }
.fcard.fc1 { top:55px; left:-15px; }
.fcard.fc2 { bottom:75px; right:-25px; }
.fcard.fc3 { top:38%; right:-45px; }
.fcoi { width:34px; height:34px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:.95rem; }
.fcoi.r { background:rgba(232,40,26,.11); color:var(--primary); }
.fcoi.y { background:rgba(246,166,35,.14); color:var(--secondary); }
.fcoi.g { background:rgba(45,106,79,.11); color:var(--green); }
.fcnum { font-weight:700; font-size:.92rem; color:var(--dark); display:block; line-height:1; }
.fcsm { font-size:.66rem; color:#666; }

/* ===================== CATEGORY ===================== */
#category { background:var(--cream); }
.catcard { background:#fff; border-radius:15px; padding:22px 14px; text-align:center; cursor:pointer; box-shadow:0 4px 18px rgba(0,0,0,.06); border:2px solid transparent; transition:box-shadow .2s, border-color .2s; }
.catcard:hover, .catcard.active { box-shadow:0 14px 38px rgba(232,40,26,.14); border-color:var(--primary); }
.catimg { width:86px; height:86px; border-radius:50%; object-fit:cover; margin:0 auto 12px; display:block; }
.catnm { font-size:.86rem; font-weight:600; color:var(--dark); margin-bottom:3px; }
.catct { font-size:.73rem; color:#666; }

/* ===================== ABOUT ===================== */
#about { background:#fff; }
.astack { position:relative; }
.amain { border-radius:18px; overflow:hidden; box-shadow:var(--shadow-lg); }
.amain img { width:100%; height:440px; object-fit:cover; display:block; }
.asm { position:absolute; bottom:-26px; right:-26px; width:170px; height:170px; border-radius:14px; overflow:hidden; border:5px solid #fff; box-shadow:var(--shadow); }
.asm img { width:100%; height:100%; object-fit:cover; }
.aexp { position:absolute; top:28px; left:-16px; background:var(--primary); color:#fff; border-radius:14px; padding:18px 22px; text-align:center; box-shadow:0 10px 28px rgba(232,40,26,.4); }
.aexp .anum { font-size:2.3rem; font-weight:900; line-height:1; display:block; }
.aexp small { font-size:.7rem; opacity:.9; }
.fti { display:flex; align-items:flex-start; gap:13px; margin-bottom:18px; }
.ftico { width:46px; height:46px; border-radius:11px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:1.15rem; }
.ftico.r { background:rgba(232,40,26,.1); color:var(--primary); }
.ftico.y { background:rgba(246,166,35,.11); color:var(--secondary); }
.ftico.g { background:rgba(45,106,79,.1); color:var(--green); }
.fti h3 { font-size:.9rem; font-weight:700; color:var(--dark); margin-bottom:2px; }
.fti p { font-size:.8rem; color:#555; margin:0; line-height:1.6; }

/* ===================== MENU / CARDS ===================== */
#menu { background:var(--light); }
.filtbtn { border:2px solid #e5e5e5; background:#fff; border-radius:50px; padding:8px 20px; font-size:.84rem; font-weight:600; color:#666; cursor:pointer; margin:3px; }
.filtbtn.active, .filtbtn:hover { background:var(--primary); border-color:var(--primary); color:#fff; box-shadow:0 5px 18px rgba(232,40,26,.24); }
.mwrap.gone { display:none !important; }
.mcard { background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 4px 22px rgba(0,0,0,.07); cursor:pointer; }
.mcard:hover { box-shadow:0 18px 48px rgba(0,0,0,.13); }
.mimg { position:relative; overflow:hidden; height:215px; background:var(--cream2); }
.mimg img { width:100%; height:100%; object-fit:cover; }
.mbdg { position:absolute; top:13px; left:13px; background:var(--primary); color:#fff; border-radius:7px; padding:3px 11px; font-size:.7rem; font-weight:700; }
.mbdg.new { background:var(--green); }
.mbdg.hot { background:var(--secondary); color:var(--dark); }
.mhrt { position:absolute; top:13px; right:13px; width:33px; height:33px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; color:#888; cursor:pointer; box-shadow:0 2px 9px rgba(0,0,0,.1); }
.mhrt:hover { color:var(--primary); }
.mbody { padding:18px; }
.mcat { font-size:.7rem; font-weight:600; color:#9c5500; text-transform:uppercase; letter-spacing:1px; margin-bottom:5px; }
.mtit { font-size:1.05rem; font-weight:700; margin-bottom:5px; }
.mdesc { font-size:.78rem; color:#666; margin-bottom:13px; line-height:1.5; }
.mfoot { display:flex; align-items:center; justify-content:space-between; }
.mprice { font-size:1.25rem; font-weight:800; color:var(--primary); }
.mprice small { font-size:.72rem; font-weight:400; color:#767676; text-decoration:line-through; margin-left:5px; }
.mstars { font-size:.73rem; color:var(--secondary); }
.madd { width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--primary),#c01e12); border:none; color:#fff; font-size:1rem; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 4px 11px rgba(232,40,26,.28); }

/* ===================== SPECIAL OFFER ===================== */
#special { background:linear-gradient(135deg,#1a0000 0%,#2d0000 100%); position:relative; overflow:hidden; }
.spbg { position:absolute; inset:0; pointer-events:none; opacity:.03; background:repeating-linear-gradient(45deg,#fff 0,#fff 1px,transparent 0,transparent 50%); background-size:40px 40px; }
.sptag { display:inline-block; background:var(--secondary); color:var(--dark); border-radius:6px; padding:4px 15px; font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:2px; margin-bottom:14px; }
.sptitle { font-size:clamp(2.3rem,5vw,3.8rem); font-weight:900; color:#fff; line-height:1.1; }
.sptitle span { color:var(--secondary); }
.spdesc { color:rgba(255,255,255,.62); margin:18px 0; font-size:.93rem; line-height:1.8; }
.cdwrap { display:flex; gap:14px; margin:26px 0; }
.cditem { text-align:center; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.11); border-radius:11px; padding:13px 18px; min-width:72px; }
.cdnum { font-size:2.1rem; font-weight:900; color:#fff; display:block; line-height:1; }
.cdlbl { font-size:.63rem; text-transform:uppercase; letter-spacing:1px; color:rgba(255,255,255,.48); margin-top:3px; display:block; }
.spimgw { position:relative; text-align:center; }
.spglow { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:360px; height:360px; border-radius:50%; background:radial-gradient(circle,rgba(246,166,35,.24),transparent 70%); }
.spimgw img { position:relative; z-index:2; width:100%; max-width:440px; filter:drop-shadow(0 28px 56px rgba(246,166,35,.28)); }
.sppbdg { position:absolute; top:18px; left:18px; z-index:3; background:var(--primary); color:#fff; width:86px; height:86px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; box-shadow:0 8px 24px rgba(232,40,26,.5); }
.sppbdg .old { font-size:.68rem; text-decoration:line-through; opacity:.7; }
.sppbdg .np { font-size:1.25rem; font-weight:900; }

/* ===================== GALLERY ===================== */
#gallery { background:var(--light); }
.ggrid { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(2,215px); gap:13px; }
.gitem { border-radius:14px; overflow:hidden; position:relative; cursor:pointer; }
.gitem:first-child { grid-row:span 2; }
.gitem img { width:100%; height:100%; object-fit:cover; }
.gover { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.76),transparent 60%); opacity:0; display:flex; align-items:flex-end; padding:18px; }
.gitem:hover .gover { opacity:1; }
.gover span { color:#fff; font-weight:600; font-size:.88rem; }
.gover i { color:var(--secondary); margin-right:5px; }

/* ===================== TESTIMONIALS ===================== */
#testimonials { background:#fff; }
.tescard { background:var(--cream); border-radius:18px; padding:28px; position:relative; overflow:hidden; transition:box-shadow .2s; }
.tescard:hover { box-shadow:var(--shadow); }
.tesq { position:absolute; top:18px; right:22px; font-size:4.5rem; color:rgba(232,40,26,.07); line-height:1; }
.tess { color:var(--secondary); font-size:.83rem; margin-bottom:12px; }
.testxt { font-size:.88rem; color:#666; line-height:1.8; margin-bottom:18px; }
.tesauth { display:flex; align-items:center; gap:11px; }
.tesauth img { width:46px; height:46px; border-radius:50%; object-fit:cover; border:3px solid var(--primary); }
.tesnm { font-weight:700; font-size:.88rem; color:var(--dark); margin-bottom:1px; }
.tesrl { font-size:.73rem; color:#666; }

/* ===================== HOURS / GUARANTEES ===================== */
#hours { background:linear-gradient(135deg,var(--green),#1a4a35); position:relative; overflow:hidden; }
.hrsbg { position:absolute; inset:0; opacity:.05; background:repeating-linear-gradient(45deg,#fff 0,#fff 1px,transparent 0,transparent 50%); background-size:28px 28px; }
.hrscard { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:18px; padding:28px; }
.hrsrow { display:flex; justify-content:space-between; align-items:center; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.09); }
.hrsrow:last-child { border:none; }
.hrsday { color:#fff; font-size:.9rem; font-weight:500; }
.hrstime { color:#fff; font-weight:700; font-size:.9rem; }
.hdot { width:7px; height:7px; border-radius:50%; }
.hdot.on { background:#4ade80; box-shadow:0 0 7px #4ade80; }
.hdot.off { background:#ff6b6b; }
.hrscta { background:var(--primary); border-radius:18px; padding:28px; text-align:center; box-shadow:0 18px 48px rgba(232,40,26,.4); }
.hrscta h3 { color:#fff; font-size:1.4rem; font-weight:800; }
.hrscta p { color:#fff; font-size:.86rem; margin:9px 0 18px; }
.btnw { background:#fff; color:var(--primary); border-radius:50px; padding:11px 28px; font-weight:700; font-size:.88rem; display:inline-block; }
.btnw:hover { color:var(--primary); }

/* ===================== BLOG ===================== */
#blog { background:var(--light); }
.blcard { background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 4px 18px rgba(0,0,0,.06); transition:box-shadow .2s; }
.blcard:hover { box-shadow:var(--shadow-lg); }
.blimg { position:relative; height:195px; overflow:hidden; }
.blimg img { width:100%; height:100%; object-fit:cover; }
.bldatebdg { position:absolute; top:14px; left:14px; background:var(--primary); color:#fff; border-radius:9px; padding:5px 11px; text-align:center; line-height:1.2; }
.bldatebdg .bd { font-size:1.15rem; font-weight:800; display:block; }
.bldatebdg .bm { font-size:.63rem; text-transform:uppercase; letter-spacing:.8px; }
.blbody { padding:20px; }
.bltag { font-size:.7rem; font-weight:600; color:var(--primary); text-transform:uppercase; letter-spacing:.8px; margin-bottom:7px; }
.bltit { font-size:1rem; font-weight:700; margin-bottom:9px; line-height:1.4; }
.bltit a { color:var(--dark); }
.bltit a:hover { color:var(--primary); }
.blmeta { display:flex; gap:14px; font-size:.76rem; color:#666; margin-bottom:13px; }
.blmeta i { color:var(--primary); margin-right:3px; }
.blmore { font-size:.8rem; font-weight:600; color:var(--primary); display:inline-flex; align-items:center; gap:5px; }
.blmore:hover { color:var(--dark); }

/* ===================== NEWSLETTER / CTA ===================== */
#newsletter { background:linear-gradient(135deg,var(--primary),#8b0000); position:relative; overflow:hidden; padding:80px 0; }
.nlbg { position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Ccircle cx='50' cy='50' r='40' fill='none' stroke='white' stroke-width='.4' opacity='.1'/%3E%3C/svg%3E"); background-size:75px; }
.nlw { position:relative; z-index:2; }
.nlw h2 { color:#fff; font-size:2.1rem; }
.nl-form-wrap { display:flex; gap:10px; max-width:560px; margin:0 auto; align-items:center; }
.nlinput { flex:1; min-width:0; border:none; border-radius:50px; padding:14px 22px; font-size:.9rem; outline:none; color:#333; }
.nlbtn { flex-shrink:0; background:var(--secondary); color:var(--dark); border:none; border-radius:50px; padding:14px 26px; font-weight:700; font-size:.9rem; cursor:pointer; white-space:nowrap; }
.nlbtn:hover { box-shadow:0 6px 18px rgba(0,0,0,.2); }

/* ===================== CONTACT ===================== */
#contact-section { background:#fff; }
.ctdark { background:var(--dark); border-radius:18px; padding:38px; height:100%; }
.ctdark h4 { color:#fff; margin-bottom:7px; }
.ctdark .ctsub { color:rgba(255,255,255,.58); font-size:.88rem; margin-bottom:26px; }
.ctitem { display:flex; gap:13px; margin-bottom:20px; align-items:flex-start; }
.cticon { width:40px; height:40px; border-radius:9px; background:rgba(232,40,26,.18); display:flex; align-items:center; justify-content:center; color:var(--primary); font-size:.9rem; flex-shrink:0; }
.ctinfo strong { display:block; color:#aaa; font-size:.73rem; text-transform:uppercase; letter-spacing:.8px; margin-bottom:1px; }
.ctinfo span { color:#fff; font-size:.87rem; }
.ctsocrow { display:flex; gap:8px; margin-top:14px; }
.ctsocrow a { width:35px; height:35px; border-radius:8px; background:rgba(255,255,255,.09); display:flex; align-items:center; justify-content:center; color:#bbb; }
.ctsocrow a:hover { background:var(--primary); color:#fff; }
.resico { width:54px; height:54px; border-radius:13px; background:rgba(232,40,26,.1); display:flex; align-items:center; justify-content:center; color:var(--primary); font-size:1.25rem; flex-shrink:0; }
.flbl { font-size:.83rem; font-weight:600; color:var(--dark); margin-bottom:5px; display:block; }
.fctrl { width:100%; border:2px solid #eee; border-radius:9px; padding:11px 15px; font-size:.88rem; outline:none; color:var(--dark); background:#fff; appearance:auto; }
.fctrl:focus { border-color:var(--primary); }
.sucmsg { display:none; text-align:center; padding:16px; background:rgba(45,106,79,.07); border-radius:11px; margin-top:14px; }
.sucmsg i { color:var(--green); font-size:1.7rem; display:block; margin-bottom:7px; }
.sucmsg p { color:var(--green); font-weight:600; margin:0; font-size:.88rem; }

/* ===================== FOOTER ===================== */
footer { background:var(--dark); padding:68px 0 0; }
.fnm { font-size:1.9rem; font-weight:900; color:#fff; }
.fnm span { color:var(--primary); }
.fdesc { color:#aaa; font-size:.86rem; line-height:1.8; margin-top:9px; }
.fsoc { display:flex; gap:9px; margin-top:18px; }
.fsoc a { width:40px; height:40px; border-radius:9px; background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; color:#aaa; font-size:.88rem; transition:background .18s, color .18s; }
.fsoc a:hover { background:var(--primary); color:#fff; }
.ftit { color:#fff; font-size:.95rem; font-weight:700; margin-bottom:18px; padding-bottom:9px; border-bottom:2px solid var(--primary); display:inline-block; }
.flinks li { list-style:none; margin-bottom:9px; }
.flinks a { color:#aaa; font-size:.86rem; display:inline-flex; align-items:center; gap:7px; transition:color .18s, transform .18s; }
.flinks a:hover { color:var(--secondary); transform:translateX(4px); }
.flinks a i { color:var(--primary); font-size:.68rem; }
.fci { display:flex; align-items:flex-start; gap:11px; margin-bottom:14px; }
.fciico { width:34px; height:34px; border-radius:7px; background:rgba(232,40,26,.14); display:flex; align-items:center; justify-content:center; color:var(--primary); font-size:.82rem; flex-shrink:0; }
.fciinfo { color:#aaa; font-size:.83rem; line-height:1.6; }
.fciinfo strong { color:#bbb; display:block; font-size:.77rem; }
.fbot { border-top:1px solid rgba(255,255,255,.06); padding:18px 0; margin-top:46px; }
.fbot p { color:#aaa; font-size:.8rem; margin:0; }
.fbot span { color:var(--primary); }
.fbot a { color:#aaa; font-size:.8rem; margin-left:18px; }
.fbot a:hover { color:var(--secondary); }

/* ===================== BACK TO TOP ===================== */
#btt { position:fixed; bottom:28px; right:28px; z-index:9990; width:44px; height:44px; border-radius:11px; background:linear-gradient(135deg,var(--primary),#c01e12); color:#fff; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:.95rem; box-shadow:0 6px 18px rgba(232,40,26,.38); opacity:0; }
#btt.show { opacity:1; }
#btt:hover { opacity:.85; }

/* ===================== RESPONSIVE ===================== */
@media (max-width:991px) {
  .hcircle { width:320px; height:320px; }
  .fc1,.fc2,.fc3 { transform:scale(.82); transform-origin:center; }
  .ggrid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .gitem:first-child { grid-row:span 1; }
  .asm { display:none; }
}
@media (max-width:767px) {
  section { padding:55px 0; }
  #topbar .top-contact span:last-child { display:none; }
  .hcircle { width:260px; height:260px; }
  .fcard.fc1,.fcard.fc2,.fcard.fc3 { display:none !important; }
  .hstats { display:none !important; }
  .ggrid { grid-template-columns:1fr 1fr; }
  .cdwrap { gap:8px; }
  .cditem { min-width:56px; padding:9px; }
  .nl-form-wrap { flex-direction:column; padding:0 8px; }
  .nlinput,.nlbtn { width:100%; border-radius:12px; }
  .fcard { padding:22px 18px; }
}
@media (max-width:480px) {
  .hcircle { width:220px; height:220px; }
  .htitle { font-size:2.4rem; }
  .stitle { font-size:1.8rem; }
}
@media (max-width:540px) {
  .nl-form-wrap { flex-direction:column; padding:0 10px; }
  .nlinput { width:100%; border-radius:12px; }
  .nlbtn { width:100%; border-radius:12px; }
}

/* ===================== PRICING CARDS ===================== */
#abonnements .col-sm-6 > div { transition:transform .2s, box-shadow .2s; cursor:default; }
#abonnements .col-sm-6 > div:hover { transform:translateY(-4px); box-shadow:0 20px 56px rgba(0,0,0,.28); }

/* ===================== BACK-TO-TOP TRANSITION ===================== */
#btt { transition:opacity .25s, box-shadow .2s; }

/* ===================== WHATSAPP FAB ===================== */
@keyframes wa-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(37,211,102,.55); }
  70%  { box-shadow: 0 0 0 14px rgba(37,211,102,0); }
  100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}
#wa-fab { animation: wa-pulse 2s ease-out infinite; }
#wa-fab:hover { animation: none; }

/* ===================== REDUCED MOTION ===================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition:none !important; animation:none !important; }
  html { scroll-behavior:auto; }
}
