/* ===== BASE / GLOBAL ===== */
:root{--b:#12AEE5;--g:#2F6B3F;--dg:#234C32;--m:#E8F5EE;--c:#FAF8F2;--be:#F2EBDD;--t:#202020;--s:#6B6B6B;--l:#E7E7E7;--y:#F4D35E;--bg:#fff;--site-max-width:3600px;--site-gutter:clamp(20px,2vw,40px);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#fff}}
*{box-sizing:border-box}
body{margin:0;font:15px/1.6 Manrope,sans-serif;color:var(--t);background:var(--bg)}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--b);outline-offset:2px}
h1,h2,h3{line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(30px,5vw,54px);font-weight:800}
h2{font-size:clamp(24px,3.2vw,38px);font-weight:800}
h3{font-size:20px}

/* Layout */
.w{width:min(calc(100% - var(--site-gutter) - var(--site-gutter)),var(--site-max-width));margin:auto;padding:0 var(--site-gutter)}
.sec{padding:44px 0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}
.car{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}
.car>*{flex:0 0 250px;scroll-snap-align:start}

/* Buttons */
.btn{display:inline-block;background:var(--b);color:#fff;border:0;border-radius:8px;padding:12px 22px;font-weight:800;margin:4px 6px 4px 0;transition:.2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #12aee555}
.btn.g{background:var(--g)}
.btn.o{background:#fff;color:var(--g);border:2px solid var(--g)}
.btn.sm{padding:8px 12px;font-size:13px}

/* Form elements */
select,input,textarea{font:inherit;padding:10px;border:1px solid var(--l);border-radius:8px;width:100%}
select{width:auto}
input[type=checkbox],input[type=radio]{width:auto}

/* WordPress search form inside .sb */
.sb .search-form{display:flex;width:100%}
.sb .search-form label{flex:1}
.sb .search-form input[type=search]{width:100%;padding:11px 16px;border:1px solid var(--l);border-radius:8px 0 0 8px;background:var(--c);font:inherit;border-right:0}
.sb .search-form button,.sb .search-form input[type=submit]{padding:11px 16px;background:var(--b);color:#fff;border:0;border-radius:0 8px 8px 0;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}

/* Remove WordPress block wrapper padding */
.wp-site-blocks{padding:0!important}
.entry-content{max-width:none!important;padding:0!important}

/* Utilities */
.ann{background:var(--b);color:#fff;text-align:center;padding:8px;font-weight:700;font-size:13px;display:block;letter-spacing:.04em}
.bc{font-size:13px;color:var(--s);padding:14px 0}
.bc a{color:var(--b);font-weight:700}
.em{text-align:center;padding:60px 20px}
.em .e{font-size:64px}
.ver{color:var(--g);font-weight:800;font-size:12px}
.st{color:#e6a700;font-size:13px}
.er{color:#c0392b;font-size:12px}
.band{background:var(--dg);color:#fff;border-radius:14px;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.tr{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.tr div,.card{background:var(--c);border-radius:10px;padding:20px;border:1px solid var(--be)}
.tr div{text-align:center;font-weight:700}
.toast{position:fixed;right:24px;bottom:24px;transform:translateY(12px);background:rgba(18,28,22,.96);color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 10px 25px rgba(17,24,39,.18);z-index:9999;display:none;font-weight:700;letter-spacing:.01em;max-width:min(420px,calc(100vw - 32px));text-align:left}
.toast.on{display:block;animation:f .28s ease-out forwards}
.sahaj-page-loader[hidden]{display:none!important}
.sahaj-page-loader{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:20px;background:rgb(255 255 255 / 82%);backdrop-filter:blur(3px)}
.sahaj-page-loader-card{display:grid;justify-items:center;gap:12px;min-width:170px;padding:22px 26px;border:1px solid #e7ece8;border-radius:16px;background:#fff;box-shadow:0 12px 40px #173b251a}
.sahaj-page-loader-spinner{width:38px;height:38px;border:4px solid #dcefe5;border-top-color:var(--b);border-radius:50%;animation:sahaj-loader-spin .75s linear infinite}
.sahaj-page-loader-message{color:var(--dg);font-size:14px;font-weight:800}
@keyframes sahaj-loader-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.sahaj-page-loader-spinner{animation-duration:1.8s}}
.sk{background:linear-gradient(90deg,#eee,#f7f7f7,#eee);background-size:200%;animation:sh 1s infinite;height:300px;border-radius:10px}
@keyframes sh{to{background-position:-200%}}
@keyframes f{from{opacity:0;transform:translateY(10px)}}
@keyframes pop{50%{transform:scale(1.35)}}

/* Reset WordPress body padding/margin */
body.home,body.single-product,body.woocommerce{margin:0;padding:0}

/* Header & Nav */
body>header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--l)}
.hm{display:flex;align-items:center;gap:16px;width:min(calc(100% - var(--site-gutter) - var(--site-gutter)),var(--site-max-width));margin:auto;padding:12px var(--site-gutter)}
.logo{font-weight:800;font-size:22px;color:var(--dg)}
.logo span{color:var(--b)}
.hm .custom-logo-link{display:flex;align-items:center;flex:0 0 auto}
.hm .custom-logo{display:block;width:auto;max-width:min(280px,28vw);max-height:48px}
.hm .sahaj-header-logo{max-height:56px}
.sahaj-footer-logo{display:block;width:auto;max-width:180px;max-height:64px;margin:0 0 24px}
.sb{flex:1;position:relative}
.sb form{display:flex;width:100%;overflow:hidden;border:1px solid var(--l);border-radius:8px;background:var(--c)}
.sb input[type=search]{min-width:0;flex:1;width:100%;padding:11px 16px;border:0;border-radius:0;background:transparent;font:inherit}
.sb form button{display:grid;place-items:center;width:44px;flex:0 0 44px;border:0;background:transparent;color:var(--dg)}
.sb form button:hover{background:var(--m)}
.sb form button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sb form:focus-within{border-color:var(--b);box-shadow:0 0 0 3px #12aee522}
.sug{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--l);border-radius:8px;box-shadow:0 8px 24px #0002;display:none;z-index:40;max-height:340px;overflow:auto}
.sug.on{display:block}
.sug a{display:block;padding:9px 14px}
.sug a:hover{background:var(--m)}
.sug small{display:block;padding:8px 14px 0;color:var(--s);font-weight:700}
.ic{background:none;border:0;position:relative;padding:8px;font-weight:700;color:var(--t)}
.ic b{position:absolute;top:0;right:-2px;background:var(--b);color:#fff;border-radius:99px;font-size:11px;min-width:18px;height:18px;line-height:18px;text-align:center}
nav.d{display:flex;gap:2px;width:min(calc(100% - var(--site-gutter) - var(--site-gutter)),var(--site-max-width));margin:auto;padding:0 var(--site-gutter);flex-wrap:wrap}
nav.d .nav-item{position:relative}
nav.d .nav-item>a{display:block;padding:9px 12px;font-weight:700;font-size:13px;letter-spacing:.03em}
nav.d .nav-item:hover>a,nav.d .nav-item:focus-within>a{color:var(--b)}
nav.d .nav-item .dd{display:none;position:absolute;top:100%;left:0;min-width:210px;background:#fff;border:1px solid var(--l);border-radius:8px;box-shadow:0 10px 30px #0002;padding:6px;z-index:40}
nav.d .nav-item:hover .dd,nav.d .nav-item:focus-within .dd{display:block}
nav.d .nav-item .dd .nav-item{position:relative}
nav.d .nav-item .dd .nav-item .dd{top:-7px;left:calc(100% - 1px)}
nav.d .nav-item.has-dd>a:after,nav.d .nav-item .dd .has-dd>a:after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 2px 8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
nav.d .nav-item .dd .has-dd>a:after{transform:rotate(-45deg)}
nav.d .nav-item .dd a{display:block;padding:8px 12px;border-radius:6px;white-space:nowrap}
nav.d .nav-item .dd a:hover{background:var(--m);color:var(--g)}
.bg{display:none;font-size:22px}
.mm{position:fixed;inset:0 30% 0 0;background:#fff;z-index:60;padding:20px;overflow:auto;transform:translateX(-100%);transition:.3s;box-shadow:4px 0 30px #0004}
.mm.on{transform:none}
.mm a{display:block;padding:11px 0;border-bottom:1px solid var(--l);font-weight:700}
.mm a.s{padding-left:16px;font-weight:500;color:var(--s)}
.mm .dd{display:block;position:static;padding:0 0 0 14px;border-left:2px solid var(--m)}
.mm .dd .dd{padding-left:12px}
.mm .dd a{font-size:14px;font-weight:500}
.ov{position:fixed;inset:0;background:#0006;z-index:55;display:none}
.ov.on{display:block}

/* Cart Drawer */
.dr{position:fixed;top:0;right:0;bottom:0;width:min(400px,100%);background:#fff;z-index:60;transform:translateX(100%);transition:.3s;display:flex;flex-direction:column;box-shadow:-4px 0 30px #0004}
.dr.on{transform:none}
.dr>div{padding:16px;overflow:auto;flex:1}
.dr>h3{padding:16px;margin:0;border-bottom:1px solid var(--l);display:flex;justify-content:space-between}
.li{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--l)}
.li .t{width:60px;height:60px;border-radius:8px;display:grid;place-items:center;font-size:30px;flex:none}
.li>div:nth-child(2){flex:1}

/* Modal */
.md{position:fixed;inset:0;z-index:70;display:none;place-items:center;background:#0007;padding:16px}
.md.on{display:grid}
.md>div{background:#fff;border-radius:12px;padding:24px;max-width:520px;width:100%;max-height:90vh;overflow:auto;animation:f .3s}

/* Qty */
.qty{display:inline-flex;border:1px solid var(--l);border-radius:8px;align-items:center}
.qty button{border:0;background:none;width:34px;height:36px;font-size:18px}
.qty span{min-width:28px;text-align:center;font-weight:700}

/* Footer */
footer{background:var(--c);color:var(--t);padding:44px 0 20px;margin-top:40px;border-top:1px solid var(--be)}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px}
footer a{display:block;padding:3px 0;opacity:.85}
footer a:hover{opacity:1;color:var(--b)}
footer h3{font-size:15px;color:var(--dg)}
footer .sahaj-footer-menu{margin:0;padding:0;list-style:none}
footer .sahaj-footer-contact p{margin:6px 0;color:var(--t);font-size:14px;line-height:1.7}
footer .sahaj-footer-social a{width:max-content}
.sahaj-footer-copyright{margin-top:18px;font-size:13px}

/* Categories */
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:16px;text-align:center}
.cats a{font-weight:700;font-size:13px}
.cats i{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 8px;border-radius:50%;background:var(--m);font-size:36px;font-style:normal;transition:.25s}
.cats a:hover i{transform:scale(1.08);box-shadow:0 0 0 3px var(--b)}
.cats.shop-cats{grid-template-columns:repeat(auto-fill,minmax(150px,180px));gap:18px;justify-content:start}
.cats.shop-cats .shop-cat{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 12px;border:1px solid var(--l);border-radius:12px;background:#fff;transition:.2s}
.cats.shop-cats .shop-cat:hover{transform:translateY(-3px);border-color:var(--b);box-shadow:0 8px 22px #00000012}
.cats.shop-cats .shop-cat i{width:120px;height:120px;margin:0;border-radius:10px;background:var(--c);overflow:hidden}
.cats.shop-cats .shop-cat img{display:block;width:100%;height:100%;object-fit:contain}

/* Tabs */
.tabs{display:flex;gap:6px;border-bottom:2px solid var(--l);margin-top:40px;flex-wrap:wrap}
.tabs button{border:0;background:none;padding:10px 16px;font-weight:800;color:var(--s)}
.tabs button.on{color:var(--b);border-bottom:3px solid var(--b)}
details{border:1px solid var(--l);border-radius:8px;padding:12px 16px;margin:8px 0}
summary{font-weight:800;cursor:pointer}
.rv{border-bottom:1px solid var(--l);padding:12px 0}

/* Checkout / Cart layout */
.ck{display:grid;grid-template-columns:1.4fr 1fr;gap:28px}
.f{display:grid;gap:10px;margin-bottom:14px}
.f label{font-weight:700;font-size:13px}
.opt{display:flex;gap:10px;flex-wrap:wrap}
.opt button{padding:12px 18px;border:2px solid var(--l);background:#fff;border-radius:8px;font-weight:700}
.opt button:hover,.opt button.on{border-color:var(--b);background:var(--m)}

/* Wave section */
.wv{margin-top:40px;background:#fff}
.wv svg{display:block;width:100%;height:clamp(140px,22vw,320px);margin-top:-30px}
.wv+footer{margin-top:0}
.bdg{list-style:none;display:flex;justify-content:center;gap:clamp(12px,3vw,40px);flex-wrap:wrap;padding:0;margin:24px 0 0}
.bdg li{width:112px;height:112px;border:2px solid var(--dg);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:26px;line-height:1.1;transition:.25s}
.bdg li:hover{transform:translateY(-4px) rotate(-4deg);background:var(--m)}
.bdg b,.bdg span{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--dg)}

/* Responsive */
.fb{display:none}
@media(max-width:900px){
  nav.d{display:none}.bg{display:block}
  .shop,.pd,.ck,.two,.sl{grid-template-columns:1fr}
  .flt{display:none}
  .flt.on{display:block;position:fixed;inset:0;background:#fff;z-index:60;padding:20px;overflow:auto}
  .sl .art{font-size:90px}
  .fb{display:inline-block!important}
  .hm{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;grid-template-areas:"menu logo spacer account cart" "search search search search search";gap:8px 10px;width:100%;padding:10px 14px}
  .hm #menu-toggle{grid-area:menu;justify-self:start;margin:0;padding:6px}
  .hm>.custom-logo-link,.hm>.logo{grid-area:logo;justify-self:start}
  .hm .sb{grid-area:search;min-width:0;width:100%;flex:none}
  .hm .sahaj-header-account{grid-area:account;justify-self:end}
  .hm .sahaj-header-cart{grid-area:cart;justify-self:end}
  .cats.shop-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .cats.shop-cats .shop-cat{min-width:0;padding:10px 8px}
  .cats.shop-cats .shop-cat i{width:min(120px,100%);height:auto;aspect-ratio:1}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
