/*
Theme Name: Solene
Description: Contemporary fashion storefront with WooCommerce integration.
Version: 1.0.7
Text Domain: solene
Requires PHP: 7.4
*/

:root{--ink:#16181b;--bone:#f4f1ea;--sage:#dde4d3;--deep:#1f3a30;--terra:#c2542d;--mut:#6f726c;--line:#d9d6cb;--serif:"Bodoni Moda",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:140px}body{margin:0;background:var(--bone);color:var(--ink);font:400 16px/1.6 "DM Sans",sans-serif}body.lock{overflow:hidden}
a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{display:block;width:100%;background:#cfd6c4}[hidden]{display:none!important}
.w{max-width:1320px;margin:auto;padding:0 28px}
.fi{display:inline-grid!important;place-items:center;width:1em;height:1em;line-height:1!important;vertical-align:middle}.fi:before{display:block;line-height:1;margin:0!important}
#sf *{-webkit-tap-highlight-color:transparent}#sf a:focus,#sf button:focus,#sf input:focus{outline:0;box-shadow:none}
.top{background:var(--deep);color:#e9efe4;font-size:13px;letter-spacing:.08em}.top .w{display:flex;justify-content:space-between;padding-top:9px;padding-bottom:9px}
.hd{position:sticky;top:0;z-index:60;background:var(--bone);border-bottom:1px solid var(--line)}
.r1{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px;height:82px}
.logo{font:italic 700 38px var(--serif)}.logo b{color:var(--terra);font-style:normal}
.pill{width:100%;max-width:580px;justify-self:center;height:50px;border:1px solid var(--line);border-radius:50px;background:#fff;display:flex;align-items:center;gap:12px;padding:0 22px;color:var(--mut);font-size:15px;text-align:left;transition:.2s}.pill:hover{border-color:var(--ink)}.pill i{font-size:19px;color:var(--ink)}
.tools{display:flex;gap:4px}
.tool{position:relative;width:48px;height:48px;border:0;border-radius:50%;background:transparent;color:var(--ink);display:grid;place-items:center;font-size:23px;transition:.2s}.tool:hover{background:var(--sage)}
.cnt{position:absolute;top:1px;right:-1px;min-width:19px;height:19px;padding:0 4px;border-radius:20px;background:var(--terra);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;line-height:1}
.nv{border-top:1px solid var(--line);position:relative}.nvr{display:flex;justify-content:center;gap:44px}
.nvr>a,.dr>a{position:relative;display:flex;align-items:center;gap:6px;height:56px;font-size:14.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.nvr>a:after,.dr>a:after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--terra);transition:.25s}.nvr>a:hover:after,.dr:hover>a:after{width:100%}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--bone);border-bottom:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s;box-shadow:0 26px 40px #0002}
.dr:hover .mega,.dr:focus-within .mega{opacity:1;visibility:visible;transform:none}
.mg4{display:grid;grid-template-columns:repeat(4,1fr) 1.3fr;gap:36px;padding:34px 28px}
.mg4 strong{display:block;font:italic 700 24px var(--serif);margin-bottom:10px}.mg4 a{display:block;padding:6px 0;font-size:15px;color:var(--mut)}.mg4 a:hover{color:var(--terra)}.mg4 img{height:190px;object-fit:cover}
.mm,.ms,.bnav,.mnav{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:17px 32px;border:0;border-radius:50px;background:var(--ink);color:#fff;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:.25s}.btn:hover{background:var(--terra);color:#fff}.btn.lt{background:#fff;color:var(--ink)}.btn.lt:hover{background:var(--terra);color:#fff}
.kick{font-size:13px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--terra)}
/* hero split */
.hero{background:var(--sage);overflow:hidden}
.hs{display:none;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;min-height:640px;padding-top:44px}.hs.on{display:grid;animation:fd .7s}
@keyframes fd{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hs h1{font:italic 500 clamp(54px,6.4vw,98px)/.98 var(--serif);margin:16px 0 22px}.hs h1 em{color:var(--terra)}
.hs p{font-size:18px;color:#454a43;max-width:480px;margin:0 0 30px}
.hv{position:relative}.arch{height:590px;border-radius:320px 320px 0 0;overflow:hidden;background:#c4cdb8}.arch img{height:100%;object-fit:cover}
.bd{position:absolute;left:-26px;bottom:60px;width:128px;height:128px;border-radius:50%;background:var(--terra);color:#fff;display:grid;place-items:center;text-align:center;font:italic 700 20px/1.1 var(--serif);transform:rotate(-8deg)}
.hct{display:flex;align-items:center;gap:20px;padding:26px 28px 34px}
.hct button{width:54px;height:54px;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);font-size:21px;display:grid;place-items:center;transition:.2s}.hct button:hover{background:var(--ink);color:#fff}
.hd2{display:flex;gap:8px}.hd2 button{width:34px;height:4px;border:0;border-radius:4px;padding:0;background:#a9b39b}.hd2 button.on{background:var(--terra);width:58px}.hn{font:italic 700 22px var(--serif)}
.pk{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);background:#fff}
.pk div{display:flex;align-items:center;gap:16px;padding:26px 28px;border-right:1px solid var(--line)}.pk div:last-child{border:0}.pk i{font-size:30px;color:var(--terra)}.pk b{display:block;font-size:16px}.pk small{color:var(--mut);font-size:14px}
.sec{padding:96px 0}.sage{background:var(--sage)}
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px}.sh h2{font:italic 500 clamp(42px,5vw,68px)/1 var(--serif);margin:10px 0 0}.sh p{color:var(--mut);max-width:430px;margin:0}
.lk{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid;padding-bottom:3px;white-space:nowrap}.lk:hover{color:var(--terra)}
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:270px 270px;gap:16px}
.bt{position:relative;overflow:hidden;background:#cfd6c4;border-radius:22px}.bt:first-child{grid-column:1/3;grid-row:1/3}.bt:last-child{grid-column:3/5}
.bt img{position:absolute;inset:0;height:100%;object-fit:cover;transition:.7s}.bt:hover img{transform:scale(1.06)}
.bt:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,20,16,.72),transparent 58%)}
.bt .in{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff;display:flex;justify-content:space-between;align-items:flex-end}
.bt h3{font:italic 700 34px var(--serif);margin:0;line-height:1}.bt span{font-size:14px;color:#e2e8da}.bt .go{width:46px;height:46px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:20px;transition:.2s}.bt:hover .go{background:var(--terra);color:#fff}
.tabs{display:flex;gap:10px;flex-wrap:wrap}.tabs button{height:46px;padding:0 24px;border:1px solid var(--ink);border-radius:50px;background:transparent;color:var(--ink);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:.2s}.tabs button:hover{background:var(--sage)}.tabs button.on{background:var(--ink);color:#fff}
.prods{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 20px;margin-top:34px}
.pc{background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line);transition:.25s}.pc:hover{box-shadow:0 18px 40px #0001;transform:translateY(-4px)}
.pm{position:relative;aspect-ratio:3/4;overflow:hidden;background:#cfd6c4}.pm img{position:absolute;inset:0;height:100%;object-fit:cover;transition:.6s}.pc:hover .pm img{transform:scale(1.05)}
.tg{position:absolute;left:12px;top:12px;z-index:2;background:var(--ink);color:#fff;padding:5px 12px;border-radius:30px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tg.sl{background:var(--terra)}
.qa{position:absolute;right:12px;top:12px;z-index:2;display:flex;flex-direction:column;gap:8px}
.qa button{width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:19px;display:grid;place-items:center;box-shadow:0 4px 12px #0002;transition:.2s}.qa button:hover{background:var(--ink);color:#fff}.qa .wh.on{background:var(--terra);color:#fff}.qa .wh.on:hover{background:var(--ink)}
.pb{padding:16px 18px 20px}.pb small{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}.pb h3{font:italic 700 23px/1.2 var(--serif);margin:4px 0 8px}
.pf{display:flex;justify-content:space-between;align-items:center}.pf b{font-size:18px}.pf s{color:var(--mut);font-size:15px;margin-left:6px}.sw{display:flex;gap:5px}.sw i{width:15px;height:15px;border-radius:50%;border:1px solid #0003}
.deal{background:var(--deep);color:#fff;overflow:hidden}.dg{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding-top:70px}
.deal h2{font:italic 500 clamp(44px,5.4vw,76px)/1 var(--serif);margin:14px 0 18px}.deal p{color:#c9d8cc;font-size:17px;max-width:470px}
.cd{display:flex;gap:12px;margin:26px 0 32px}.cd div{width:84px;padding:14px 0;border:1px solid #ffffff40;border-radius:14px;text-align:center}.cd b{display:block;font:700 34px/1 var(--serif)}.cd small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#a9bfae}
.dv{height:520px;border-radius:300px 300px 0 0;overflow:hidden;align-self:end}.dv img{height:100%;object-fit:cover}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gi{position:relative;aspect-ratio:1;overflow:hidden;border-radius:18px;background:#cfd6c4}.gi img{position:absolute;inset:0;height:100%;object-fit:cover;transition:.6s}.gi:hover img{transform:scale(1.07)}
.gi span{position:absolute;inset:0;background:#16181bb0;color:#fff;display:grid;place-items:center;font-size:32px;opacity:0;transition:.25s}.gi:hover span{opacity:1}
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rv{background:#fff;border-radius:22px;padding:34px;border:1px solid var(--line)}
.st{color:var(--terra);font-size:15px;letter-spacing:2px}.rv blockquote{font:italic 500 26px/1.3 var(--serif);margin:14px 0 26px}
.pe{display:flex;align-items:center;gap:12px}.pe img{width:50px;height:50px;border-radius:50%;object-fit:cover}.pe b{display:block;font-size:15px}.pe small{color:var(--mut);font-size:13px}
.ft{background:var(--ink);color:#c5c7bf;padding-top:0}
.fn{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:56px 0;border-bottom:1px solid #30332f}
.fn h3{font:italic 500 clamp(32px,4vw,48px)/1.05 var(--serif);color:#fff;margin:0}
.nf{display:flex;background:#fff;border-radius:50px;padding:6px}.nf input{flex:1;min-width:0;border:0;background:transparent;padding:0 22px;font-size:16px;color:var(--ink)}.nf button{height:52px;padding:0 28px;border:0;border-radius:50px;background:var(--terra);color:#fff;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.nf button:hover{background:var(--ink)}
.fg{display:grid;grid-template-columns:1.5fr .8fr .8fr 1.1fr;gap:48px;padding:56px 28px 0}
.ft .logo{color:#fff}.ft p{font-size:15px;margin:14px 0}.ft h4{font:italic 700 22px var(--serif);color:#fff;margin:0 0 14px}.ft a{display:block;font-size:15px;padding:5px 0;color:#b2b5ac}.ft a:hover{color:var(--terra)}
.so{display:flex;gap:10px;margin-top:18px}.so a{width:44px;height:44px;border:1px solid #484b46;border-radius:50%;display:grid;place-items:center;font-size:18px;padding:0;color:#fff}.so a:hover{background:var(--terra);border-color:var(--terra);color:#fff}
.fb{border-top:1px solid #30332f;margin-top:52px;padding:22px 0;font-size:14px;color:#8a8d84}.fb .w{display:flex;justify-content:space-between;gap:12px}
.scrim{position:fixed;inset:0;z-index:89;background:#0009;opacity:0;visibility:hidden;transition:.25s}.scrim.show{opacity:1;visibility:visible}
.dw{position:fixed;z-index:92;top:0;right:0;bottom:0;width:min(94vw,440px);background:var(--bone);transform:translateX(105%);transition:.3s;display:flex;flex-direction:column}.dw.open{transform:none}
.dh{height:78px;padding:0 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.dh h3{font:italic 700 30px var(--serif);margin:0}
.cl{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:22px;display:grid;place-items:center}.cl:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.di{flex:1;overflow:auto;padding:20px 22px}.em{text-align:center;color:var(--mut);padding:70px 10px}.em i{display:grid;font-size:36px;margin-bottom:10px}
.it{display:grid;grid-template-columns:84px 1fr auto;gap:14px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}.it img{height:104px;object-fit:cover;border-radius:12px}
.it h4{font:italic 700 20px/1.2 var(--serif);margin:2px 0 4px}.it b{font-size:16px}
.qt{display:flex;align-items:center;margin-top:10px}.qt button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:17px;color:var(--ink)}.qt button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.qt span{width:40px;text-align:center;font-size:15px}
.rm{width:34px;height:34px;border:0;background:transparent;color:var(--mut);font-size:18px}.rm:hover{color:var(--terra)}
.df{padding:18px 22px;border-top:1px solid var(--line)}.sb{display:flex;justify-content:space-between;font-size:19px;font-weight:700;margin-bottom:14px}
.ck{width:100%;height:56px;border:0;border-radius:50px;background:var(--ink);color:#fff;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ck:hover{background:var(--terra)}.it .ck{height:42px;margin-top:8px;font-size:12px}
.sp{position:fixed;z-index:93;top:0;left:0;right:0;max-height:100vh;overflow:auto;background:var(--bone);transform:translateY(-105%);transition:.3s}.sp.open{transform:none}
.sx{max-width:1100px;margin:auto;padding:30px 24px 38px}.s2{display:flex;justify-content:space-between;align-items:center}.s2 h3{font:italic 700 38px var(--serif);margin:0}
.sl2{display:flex;margin-top:20px;background:#fff;border:1px solid var(--ink);border-radius:50px;padding:5px}.sl2 input{flex:1;min-width:0;height:54px;border:0;background:transparent;padding:0 22px;font-size:18px}.sl2 button{border:0;border-radius:50px;background:var(--ink);color:#fff;padding:0 28px;font-size:14px;font-weight:700;letter-spacing:.1em}.sl2 button:hover{background:var(--terra)}
.rs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.rt{display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:9px;cursor:pointer}.rt:hover{background:var(--sage)}.rt img{width:64px;height:76px;object-fit:cover;border-radius:10px}.rt .ri{flex:1;min-width:0}.rt b{display:block;font:italic 700 19px var(--serif)}.rt small{font-size:13px;color:var(--mut)}
.rw{width:38px;height:38px;border:0;border-radius:50%;background:var(--bone);color:var(--ink);font-size:18px;display:grid;place-items:center}.rw:hover{background:var(--ink);color:#fff}.rw.on{background:var(--terra);color:#fff}.nr{color:var(--mut);padding:12px 0}
.toast{position:fixed;z-index:100;left:50%;bottom:26px;transform:translate(-50%,80px);opacity:0;background:var(--ink);color:#fff;padding:13px 24px;border-radius:50px;font-size:14px;font-weight:500;transition:.25s;white-space:nowrap}.toast.show{transform:translate(-50%,0);opacity:1}
.ctl{display:none}
@media(max-width:1100px) and (min-width:901px){.r1{gap:20px}.nvr{gap:26px}.nvr>a,.dr>a{font-size:13px}.prods{grid-template-columns:repeat(3,1fr)}.logo{font-size:32px}.mg4{grid-template-columns:repeat(4,1fr)}.mg4>div:last-child{display:none}}
@media(max-width:900px){
.w{padding:0 18px}.top .w{justify-content:center}.top .w span:last-child{display:none}.top{font-size:12px}
.r1{grid-template-columns:48px 1fr auto;height:68px;gap:10px}.pill,.tools,.nv{display:none}
.logo{justify-self:center;font-size:30px}
.mm{display:grid;width:46px;height:46px;border:0;border-radius:50%;background:var(--ink);color:#fff;font-size:22px;place-items:center}
.ms{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 22px;border-radius:50px;background:var(--terra);color:#fff;font-size:13px;font-weight:700;letter-spacing:.14em}.ms:hover{background:var(--ink)}
.mnav{display:block;position:fixed;z-index:59;top:72px;left:12px;right:12px;max-height:calc(100vh - 170px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:8px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s;box-shadow:0 20px 40px #0003}.mnav.open{opacity:1;visibility:visible;transform:none}
.mnav>a,.mg>button{width:100%;min-height:58px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);padding:0 14px;display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:16px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.mnav>a:hover,.mg>button:hover{background:#fff;color:var(--terra)}
.sub{display:none;background:var(--sage);border-radius:12px;margin:6px 0;padding:6px 14px}.mg.open .sub{display:block}.sub a{display:block;padding:13px 6px;font-size:16px}.sub a:hover{color:var(--terra)}
.bnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:70;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border:1px solid var(--line);border-radius:26px;padding:6px;box-shadow:0 10px 30px #0003}
.bnav a,.bnav button{position:relative;height:56px;border:0;border-radius:20px;padding:0;background:transparent;color:var(--mut);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:500}
.bnav a:hover,.bnav button:hover,.bnav a:active,.bnav button:active{color:var(--terra);background:var(--sage)}.bnav i{font-size:23px}.bnav .cnt{right:calc(50% - 26px);top:3px}
.ft{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}.toast{bottom:calc(104px + env(safe-area-inset-bottom,0px))}
.hs{grid-template-columns:1fr;gap:26px;min-height:0;padding-top:28px}.hv{order:-1}.arch{height:420px;border-radius:240px 240px 0 0}.bd{left:8px;bottom:20px;width:104px;height:104px;font-size:17px}.hct{padding:22px 18px 30px}
.pk{grid-template-columns:1fr 1fr}.pk div{padding:20px 16px;border-bottom:1px solid var(--line)}.pk div:nth-child(2){border-right:0}.pk div:nth-child(n+3){border-bottom:0}
.sec{padding:68px 0}.sh{flex-direction:column;align-items:flex-start}
.bento{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px 220px}.bt:first-child{grid-column:1/3;grid-row:1}.bt:last-child{grid-column:1/3}
.prods{grid-template-columns:repeat(2,1fr);gap:20px 14px}
.dg{grid-template-columns:1fr;padding-top:56px;gap:30px}.dv{height:380px;order:2}
.gal{grid-template-columns:1fr 1fr}.revs{grid-template-columns:1fr 1fr}.fn{grid-template-columns:1fr}.fg{grid-template-columns:1fr 1fr;gap:34px 24px}.fg>div:first-child,.fg>div:last-child{grid-column:1/-1}.rs{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
.hs h1{font-size:56px}.hs p{font-size:16px}
.bento,.prods,.gal,.revs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px}
.bento::-webkit-scrollbar,.prods::-webkit-scrollbar,.gal::-webkit-scrollbar,.revs::-webkit-scrollbar{display:none}
.bento>*,.prods>*,.gal>*,.revs>*{flex:0 0 100%;min-width:100%;max-width:100%;scroll-snap-align:start;scroll-snap-stop:always}
.bt,.bt:first-child,.bt:last-child{height:440px}.gi{aspect-ratio:1}
.qa{flex-direction:row}.pm{aspect-ratio:4/5}
.ctl{display:flex;align-items:center;justify-content:space-between;margin-top:18px}
.dots{display:flex;gap:6px;flex-wrap:wrap}.dots button{width:8px;height:8px;border:0;border-radius:20px;padding:0;background:#b5b8ad}.dots button.on{width:28px;background:var(--terra)}
.arr{display:flex;gap:8px}.arr button{width:50px;height:50px;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);font-size:20px;display:grid;place-items:center}.arr button:hover{background:var(--ink);color:#fff}
.cd div{width:calc(25% - 9px)}.fb .w{flex-direction:column}.rs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.rt{flex:0 0 100%;scroll-snap-align:start}.sx{padding:22px 16px}.s2 h3{font-size:30px}.rv{padding:26px}.rv blockquote{font-size:24px}.tabs button{padding:0 18px;height:44px}
}
@media(max-width:380px){.logo{font-size:25px}.ms{padding:0 14px}.hs h1{font-size:48px}.bnav a,.bnav button{font-size:11px}}


/* FINAL MOBILE / ICON / ELEMENTOR STATE FIXES */

/* Keep every Flaticon glyph mathematically centered inside its control */
#sf .fi{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:1em!important;
  height:1em!important;
  line-height:1!important;
  vertical-align:middle!important;
  flex:0 0 auto!important;
}
#sf .fi::before{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
}
#sf button,
#sf .tool,
#sf .mm,
#sf .cl,
#sf .qa button,
#sf .hct button,
#sf .arr button,
#sf .go,
#sf .so a,
#sf .qt button,
#sf .rw{
  align-items:center!important;
  justify-content:center!important;
}
#sf .tool i,#sf .mm i,#sf .cl i,#sf .qa button i,#sf .hct button i,
#sf .arr button i,#sf .go,#sf .so a i,#sf .qt button i,#sf .rw i{
  position:relative!important;
  top:0!important;
  left:0!important;
  transform:none!important;
}

/* Kill Elementor/global pink hover, focus and active backgrounds */
#sf,
#sf *{
  --e-global-color-accent:var(--terra)!important;
  -webkit-tap-highlight-color:transparent!important;
}
#sf a:focus,
#sf a:active,
#sf button:focus,
#sf button:active,
#sf input:focus,
#sf input:active{
  outline:none!important;
  box-shadow:none!important;
}
#sf a:not(.btn):not(.ms):not(.go):not(.so a):active{
  background-color:transparent!important;
}
#sf .mnav a,
#sf .mnav button,
#sf .bnav a,
#sf .bnav button{
  --e-global-color-accent:var(--terra)!important;
}
#sf .mnav a:hover,#sf .mnav a:focus,#sf .mnav a:active,
#sf .mg>button:hover,#sf .mg>button:focus,#sf .mg>button:active{
  background:#fff!important;
  color:var(--terra)!important;
}
#sf .sub a:hover,#sf .sub a:focus,#sf .sub a:active{
  background:transparent!important;
  color:var(--terra)!important;
}
#sf .bnav a:hover,#sf .bnav a:focus,#sf .bnav a:active,
#sf .bnav button:hover,#sf .bnav button:focus,#sf .bnav button:active{
  background:var(--sage)!important;
  color:var(--terra)!important;
}

/* Mobile hero/banner: compact and contained within one viewport */
@media(max-width:700px){
  #sf .hero{
    height:calc(100svh - 104px)!important;
    min-height:560px!important;
    max-height:760px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  #sf .hero>.w{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  #sf .hs{
    height:100%!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    gap:14px!important;
    padding-top:18px!important;
    align-items:start!important;
  }
  #sf .hs>div:first-child{padding-bottom:2px!important}
  #sf .hs h1{
    font-size:clamp(39px,11.5vw,52px)!important;
    margin:8px 0 10px!important;
    line-height:.96!important;
  }
  #sf .hs p{
    font-size:14px!important;
    line-height:1.5!important;
    margin:0 0 14px!important;
    max-width:100%!important;
  }
  #sf .kick{font-size:11px!important}
  #sf .btn{padding:13px 21px!important;font-size:12px!important}
  #sf .hv{
    order:0!important;
    min-height:0!important;
    height:100%!important;
  }
  #sf .arch{
    height:100%!important;
    min-height:220px!important;
    max-height:330px!important;
    border-radius:180px 180px 0 0!important;
  }
  #sf .bd{
    width:82px!important;
    height:82px!important;
    left:8px!important;
    bottom:10px!important;
    font-size:14px!important;
  }
  #sf .hct{
    flex:0 0 auto!important;
    padding:9px 18px 12px!important;
    gap:12px!important;
  }
  #sf .hct button{
    width:42px!important;
    height:42px!important;
    font-size:17px!important;
  }
  #sf .hn{font-size:18px!important}
  #sf .hd2 button{height:3px!important;width:24px!important}
  #sf .hd2 button.on{width:42px!important}
}
@media(max-width:380px){
  #sf .hero{min-height:520px!important}
  #sf .hs h1{font-size:38px!important}
  #sf .arch{min-height:200px!important}
}


/* MOBILE MENU FINAL FIX — no Elementor pink + consistent left alignment */
@media(max-width:900px){

  /* Remove Elementor/theme background states from every mobile menu level */
  #sf .mnav,
  #sf .mnav *,
  #sf .mg,
  #sf .sub{
    --e-global-color-accent:var(--terra)!important;
  }

  #sf .mnav>a,
  #sf .mg>button{
    background:#fff!important;
    background-color:#fff!important;
    color:var(--ink)!important;
    text-align:left!important;
    justify-content:space-between!important;
    align-items:center!important;
    width:100%!important;
  }

  #sf .mnav>a:hover,
  #sf .mnav>a:focus,
  #sf .mnav>a:active,
  #sf .mnav>a.elementor-item-active,
  #sf .mg>button:hover,
  #sf .mg>button:focus,
  #sf .mg>button:active,
  #sf .mg.open>button{
    background:#fff!important;
    background-color:#fff!important;
    color:var(--terra)!important;
    box-shadow:none!important;
  }

  /* All submenu items start from the same left edge */
  #sf .sub{
    background:var(--sage)!important;
    text-align:left!important;
    padding:6px 14px!important;
  }

  #sf .sub a,
  #sf .sub a:hover,
  #sf .sub a:focus,
  #sf .sub a:active,
  #sf .sub a.elementor-item-active{
    display:block!important;
    width:100%!important;
    text-align:left!important;
    justify-content:flex-start!important;
    margin:0!important;
    padding:13px 6px!important;
    background:transparent!important;
    background-color:transparent!important;
    color:var(--ink)!important;
  }

  #sf .sub a:hover,
  #sf .sub a:focus,
  #sf .sub a:active{
    color:var(--terra)!important;
  }

  /* Kill Elementor pseudo-element active/hover fills */
  #sf .mnav a:before,
  #sf .mnav a:after,
  #sf .mnav button:before,
  #sf .mnav button:after,
  #sf .sub a:before,
  #sf .sub a:after{
    background:transparent!important;
    background-color:transparent!important;
    box-shadow:none!important;
  }

  /* Keep dropdown arrow on right, not centered */
  #sf .mg>button .fi,
  #sf .mnav>a>.fi{
    margin-left:auto!important;
    margin-right:0!important;
    flex:0 0 auto!important;
  }
}


/* =========================================================
   REQUESTED ONLY: Elementor pink removal + marquee motion
   + footer width consistency
   ========================================================= */

/* Remove Elementor/theme default pink hover/active/focus effects */
#sf, #sf *{
  --e-global-color-accent:var(--terra)!important;
  -webkit-tap-highlight-color:transparent!important;
}
#sf a:focus,#sf a:focus-visible,#sf a:active,
#sf button:focus,#sf button:focus-visible,#sf button:active,
#sf [role="button"]:focus,#sf [role="button"]:active,
#sf summary:focus,#sf summary:active,
#sf input:focus,#sf input:active{
  outline:none!important;
  box-shadow:none!important;
}
#sf .nvr>a:hover,#sf .nvr>a:focus,#sf .nvr>a:active,
#sf .dr>a:hover,#sf .dr>a:focus,#sf .dr>a:active,
#sf .mg4 a:hover,#sf .mg4 a:focus,#sf .mg4 a:active{
  background:transparent!important;
}
#sf .mnav>a,#sf .mg>button{
  background:#fff!important;
}
#sf .mnav>a:hover,#sf .mnav>a:focus,#sf .mnav>a:active,
#sf .mg>button:hover,#sf .mg>button:focus,#sf .mg>button:active,
#sf .mg.open>button{
  background:#fff!important;
  color:var(--terra)!important;
}
#sf .sub a,#sf .sub a:hover,#sf .sub a:focus,#sf .sub a:active{
  background:transparent!important;
}
#sf .bnav a:hover,#sf .bnav a:focus,#sf .bnav a:active,
#sf .bnav button:hover,#sf .bnav button:focus,#sf .bnav button:active{
  background:var(--sage)!important;
  color:var(--terra)!important;
}
#sf .tabs button:hover,#sf .tabs button:focus,#sf .tabs button:active{background:var(--sage)!important;color:var(--ink)!important}
#sf .tabs button.on,#sf .tabs button.on:hover,#sf .tabs button.on:focus,#sf .tabs button.on:active{background:var(--ink)!important;color:#fff!important}
#sf .qa button:hover,#sf .qa button:focus,#sf .qa button:active,
#sf .hct button:hover,#sf .hct button:focus,#sf .hct button:active,
#sf .arr button:hover,#sf .arr button:focus,#sf .arr button:active,
#sf .cl:hover,#sf .cl:focus,#sf .cl:active,
#sf .qt button:hover,#sf .qt button:focus,#sf .qt button:active,
#sf .rw:hover,#sf .rw:focus,#sf .rw:active{
  background:var(--ink)!important;color:#fff!important;
}
#sf .qa .wh.on,#sf .rw.on{background:var(--terra)!important;color:#fff!important}
#sf .btn:hover,#sf .btn:focus,#sf .btn:active,
#sf .nf button:hover,#sf .nf button:focus,#sf .nf button:active,
#sf .ck:hover,#sf .ck:focus,#sf .ck:active{
  background:var(--terra)!important;color:#fff!important;
}
#sf .so a:hover,#sf .so a:focus,#sf .so a:active{background:var(--terra)!important;border-color:var(--terra)!important;color:#fff!important}

/* Existing top bar becomes a continuous marquee; no new section */
#sf .top{overflow:hidden}
#sf .top .w{
  max-width:none!important;
  width:max-content!important;
  padding-left:0!important;
  padding-right:0!important;
  gap:0!important;
  justify-content:flex-start!important;
  animation:sfTopMarquee 22s linear infinite;
  will-change:transform;
}
#sf .top .w span{
  display:inline-flex!important;
  align-items:center;
  flex:0 0 auto;
  white-space:nowrap;
  padding:9px 54px!important;
}
@keyframes sfTopMarquee{to{transform:translateX(-50%)}}
#sf .top:hover .w{animation-play-state:paused}

/* Existing icon-benefit boxes under banner become marquee */
#sf .pk{
  display:flex!important;
  width:max-content!important;
  min-width:200%!important;
  overflow:visible!important;
  animation:sfPerkMarquee 28s linear infinite;
  will-change:transform;
}
#sf .pk-wrap{overflow:hidden;background:#fff;border-bottom:1px solid var(--line)}
#sf .pk div{
  width:25vw!important;
  min-width:310px!important;
  flex:0 0 auto!important;
  border-bottom:0!important;
}
@keyframes sfPerkMarquee{to{transform:translateX(-50%)}}
#sf .pk-wrap:hover .pk{animation-play-state:paused}

/* Footer content follows same 1320px width as the rest of the site */
#sf .ft .fg{
  width:100%!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:28px!important;
  padding-right:28px!important;
}

/* Preserve mobile alignment and widths */
@media(max-width:900px){
  #sf .top .w span{padding:8px 34px!important}
  #sf .pk{min-width:max-content!important}
  #sf .pk div{width:280px!important;min-width:280px!important;padding:20px 18px!important}
  #sf .ft .fg{padding-left:18px!important;padding-right:18px!important}
}
@media(prefers-reduced-motion:reduce){
  #sf .top .w,#sf .pk{animation-play-state:paused!important}
}
