/* Pets Stuff storefront: marketplace layout. Fonts are self-hosted (no third-party requests before consent). */
@font-face{font-family:Poppins;font-weight:500;font-display:swap;src:url(../fonts/poppins-500.woff) format("woff")}
@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(../fonts/poppins-700.woff) format("woff")}
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(../fonts/inter-400.woff) format("woff")}
@font-face{font-family:Inter;font-weight:700;font-display:swap;src:url(../fonts/inter-700.woff) format("woff")}
:root{
  --coral:#F2542D; --orange:#FF8A3D; --sun:#FFC93C; --teal:#0E9F8E; --purple:#6B4FE0; --pink:#E6317B;
  --navy:#17214A; --cream:#F4F6FA; --ink:#1F2740; --muted:#5C6584; --line:#DDE2EE; --card:#fff; --price:#B12704;
  --radius:10px; --shadow:0 2px 10px rgba(23,33,74,.08);
  --head:Poppins,"Segoe UI",system-ui,sans-serif; --body:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--cream);line-height:1.5;font-size:15px;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3,h4{font-family:var(--head);line-height:1.2;color:var(--navy);font-weight:700}
.wrap{width:min(1280px,94%);margin:0 auto}
[hidden]{display:none!important}
.sr{position:absolute;left:-9999px}
:focus-visible{outline:3px solid #2F6FEB;outline-offset:2px}

/* utility strip + header */
.strip{background:#0E1633;color:#D8DEF5;font-size:.82rem}
.strip .wrap{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:.35rem 0;flex-wrap:wrap}
.strip a:hover{color:#fff;text-decoration:underline}.strip nav{display:flex;gap:1.1rem}.strip b{color:var(--sun)}
.hdr{background:var(--navy);color:#fff;position:sticky;top:0;z-index:60}
.hdr .wrap{display:flex;align-items:center;gap:1rem;padding:.65rem 0}
.logo{display:flex;align-items:center;gap:.5rem;font-family:var(--head);font-weight:700;font-size:1.5rem;white-space:nowrap}
.logo img{width:40px;height:40px}.logo .p{color:#FF8E6E}.logo .s{color:#5BE0CF}
.search{flex:1;display:flex;min-width:0;border-radius:8px;overflow:hidden;background:#fff}
.search select{border:0;background:#EEF0F7;color:var(--ink);padding:0 .6rem;font:inherit;font-size:.85rem;max-width:140px;border-right:1px solid var(--line)}
.search input{flex:1;min-width:0;border:0;padding:.65rem .9rem;font:inherit;font-size:1rem;color:var(--ink)}
.search button{background:var(--sun);color:var(--navy);padding:0 1.1rem;font-weight:700}
.search button:hover{background:#FFB800}
.hlinks{display:flex;align-items:center;gap:.3rem;font-size:.85rem}
.hlinks a{padding:.35rem .6rem;border-radius:6px;line-height:1.2;display:block}
.hlinks a:hover{background:rgba(255,255,255,.12)}.hlinks small{display:block;color:#B5BEE0;font-size:.72rem}
.cartlink{position:relative;display:flex!important;align-items:center;gap:.35rem;font-weight:700}
.cartlink .n{background:var(--sun);color:var(--navy);border-radius:99px;min-width:1.4rem;height:1.4rem;padding:0 .3rem;display:grid;place-items:center;font-size:.78rem}
.catnav{background:#223062;color:#fff}
.catnav .wrap{display:flex;gap:.2rem;overflow-x:auto;scrollbar-width:thin}
.catnav a,.catnav summary{padding:.55rem .75rem;white-space:nowrap;font-size:.9rem;font-weight:500;cursor:pointer;list-style:none;border-radius:6px}
.catnav a:hover,.catnav summary:hover{background:rgba(255,255,255,.14)}
.catnav details{position:relative}.catnav summary::-webkit-details-marker{display:none}
.catnav details[open]>div{position:absolute;left:0;top:100%;background:#fff;color:var(--ink);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:.5rem;z-index:70;min-width:230px;display:grid}
.catnav details>div a{color:var(--ink);padding:.5rem .7rem;border-radius:6px}.catnav details>div a:hover{background:var(--cream)}
.catnav .deal{color:#FFD76B;font-weight:700}

/* generic */
.btn{display:inline-block;background:var(--sun);color:var(--navy);font-weight:700;padding:.65rem 1.3rem;border-radius:99px;border:1px solid #E6AE00;font-size:.95rem;text-align:center}
.btn:hover{background:#FFB800}.btn.pri{background:var(--coral);border-color:#C8401D;color:#fff}.btn.pri:hover{background:#D9461F}
.btn.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.ghost{background:#fff;border:1px solid var(--line)}
.btn.sm{padding:.4rem .9rem;font-size:.85rem}.btn.block{display:block;width:100%}.btn[disabled]{opacity:.55;cursor:not-allowed}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem}
.sec{padding:1.2rem 0}.sec h2{font-size:1.35rem;margin-bottom:.8rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.sec h2 a{font-size:.9rem;font-weight:500;color:#1C58C9}.sec h2 a:hover{text-decoration:underline}
.crumbs{font-size:.85rem;color:var(--muted);padding:.8rem 0}.crumbs a{color:#1C58C9}.crumbs a:hover{text-decoration:underline}
.muted{color:var(--muted)}

/* hero */
.hero{display:grid;grid-template-columns:2.2fr 1fr;gap:1rem;margin:1rem 0}
.slides{position:relative;border-radius:12px;overflow:hidden;min-height:320px;background:#fff}
.slide{position:absolute;inset:0;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:1rem;padding:1.6rem 2rem;opacity:0;visibility:hidden;transition:opacity .5s}
.slide.on{opacity:1;visibility:visible}
.slide h1{font-size:clamp(1.6rem,3vw,2.5rem)}.slide p{margin:.6rem 0 1rem;font-size:1.05rem;color:#2c3560}
.slide .art{font-size:7rem;text-align:center;filter:drop-shadow(0 8px 10px rgba(0,0,0,.15))}
.slide img.art{max-height:260px;width:auto;margin:0 auto}
.s1{background:linear-gradient(120deg,#FFE9A8,#FFC4D6)}.s2{background:linear-gradient(120deg,#CDEFFF,#D9F5E8)}.s3{background:linear-gradient(120deg,#E9DEFF,#FFD9C8)}
.dots{position:absolute;bottom:.7rem;left:0;right:0;display:flex;justify-content:center;gap:.4rem}
.dots button{width:10px;height:10px;border-radius:50%;background:rgba(23,33,74,.28)}.dots button.on{background:var(--navy)}
.sidepromos{display:grid;gap:1rem}.sp{border-radius:12px;padding:1.1rem 1.2rem;display:flex;flex-direction:column;justify-content:center;min-height:150px}
.sp b{font-family:var(--head);font-size:1.15rem}.sp span{font-size:.9rem;margin:.2rem 0 .5rem}.sp u{font-weight:700}
.sp.a{background:#DDF3EE}.sp.b{background:#FFE3D1}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1rem}
.trust div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;display:flex;gap:.7rem;align-items:center;font-size:.88rem}
.trust i{font-style:normal;font-size:1.6rem}.trust b{display:block}

/* tiles */
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.8rem}
.cat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem .5rem;text-align:center;font-weight:500;transition:.15s}
.cat:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.cat i{display:block;font-style:normal;font-size:2.2rem;margin-bottom:.3rem}

/* product cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,230px);gap:1rem;overflow-x:auto;padding-bottom:.6rem;scroll-snap-type:x proximity}
.rail>*{scroll-snap-align:start}
.pc{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;position:relative;transition:box-shadow .15s}
.pc:hover{box-shadow:0 6px 20px rgba(23,33,74,.14)}
.ph{aspect-ratio:1/1;display:grid;place-items:center;background:#F3F5FA;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover}.ph span{font-size:4.6rem;line-height:1}
.pc .bd{padding:.7rem .85rem .9rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.pc h3{font-family:var(--body);font-size:.95rem;font-weight:700;color:var(--ink);line-height:1.3}
.pc h3 a:hover{color:#1C58C9;text-decoration:underline}
.badge{position:absolute;top:.6rem;left:.6rem;background:var(--coral);color:#fff;font-size:.75rem;font-weight:700;padding:.15rem .55rem;border-radius:4px;z-index:1}
.badge.b2{background:var(--teal)}.badge.b3{background:var(--navy)}
.price{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.price b{font-size:1.2rem;color:var(--ink);font-family:var(--head)}
.price s{color:var(--muted);font-size:.85rem}.price em{font-style:normal;color:var(--price);font-weight:700;font-size:.85rem}
.sub{font-size:.8rem;color:var(--muted)}.ok{color:#0b7a4b;font-weight:700}.low{color:#B25A00;font-weight:700}
.pc .btn{margin-top:auto}
.kind{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--teal)}
.svc .kind{color:var(--purple)}

/* shop page */
.shop{display:grid;grid-template-columns:240px 1fr;gap:1.2rem;align-items:start}
.side{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;position:sticky;top:130px}
.side h3{font-size:.95rem;margin:.9rem 0 .4rem}.side h3:first-child{margin-top:0}
.side a{display:block;padding:.25rem 0;color:#1C58C9}.side a.on{font-weight:700;color:var(--ink)}.side a:hover{text-decoration:underline}
.side input[type=number]{width:100%;padding:.4rem .5rem;border:1px solid var(--line);border-radius:6px;font:inherit}
.side .pr{display:flex;gap:.4rem;align-items:center}
.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem}
.top select{padding:.45rem .6rem;border:1px solid var(--line);border-radius:6px;font:inherit;background:#fff}
.chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.8rem}.chips a{background:#fff;border:1px solid var(--line);border-radius:99px;padding:.25rem .8rem;font-size:.85rem}.chips a.on{background:var(--navy);color:#fff;border-color:var(--navy)}

/* product page */
.pdp{display:grid;grid-template-columns:minmax(260px,1fr) 1.3fr 320px;gap:1.5rem;align-items:start}
.pdp .ph{border-radius:12px;border:1px solid var(--line)}.pdp .ph span{font-size:9rem}
.pdp h1{font-size:1.6rem}.pdp ul{margin:.6rem 0 0 1.1rem}.pdp li{margin:.2rem 0}
.buy{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;position:sticky;top:130px}
.buy .big{font-size:1.9rem;font-family:var(--head);font-weight:700}
.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;width:max-content;overflow:hidden;background:#fff}
.qty button{width:34px;height:34px;font-size:1.1rem}.qty button:hover{background:var(--cream)}
.qty input{width:44px;height:34px;border:0;text-align:center;font:inherit;-moz-appearance:textfield}

/* cart + checkout */
.two{display:grid;grid-template-columns:1fr 340px;gap:1.2rem;align-items:start}
.line{display:grid;grid-template-columns:84px 1fr auto;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:start}
.line:last-child{border-bottom:0}.line .ph{aspect-ratio:1;border-radius:8px;border:1px solid var(--line)}.line .ph span{font-size:2.6rem}
.line h3{font-family:var(--body);font-size:1rem}.line .acts{display:flex;gap:1rem;align-items:center;margin-top:.5rem;font-size:.88rem}
.line .acts button{color:#1C58C9}.line .acts button:hover{text-decoration:underline}
.sum{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;position:sticky;top:130px}
.sum .r{display:flex;justify-content:space-between;padding:.25rem 0}.sum .t{font-weight:700;font-size:1.2rem;border-top:1px solid var(--line);margin-top:.4rem;padding-top:.6rem}
.bar{height:8px;background:#E3E7F2;border-radius:99px;overflow:hidden;margin:.4rem 0}.bar i{display:block;height:100%;background:var(--teal)}
.promo{display:flex;gap:.4rem;margin:.6rem 0}.promo input{flex:1;min-width:0;padding:.5rem .7rem;border:1px solid var(--line);border-radius:8px;font:inherit}
.fm label{display:block;font-weight:700;margin:.8rem 0 .25rem;font-size:.9rem}
.fm input,.fm select,.fm textarea{width:100%;padding:.6rem .8rem;border:1px solid #B9C0D6;border-radius:8px;font:inherit;background:#fff}
.fm input:focus,.fm select:focus,.fm textarea:focus{border-color:#2F6FEB;outline:2px solid #BFD3FF}
.fm .g2{display:grid;grid-template-columns:1fr 1fr;gap:0 .8rem}
.who{background:#EEF4FF;border:1px solid #CFE0FF;border-radius:10px;padding:.8rem 1rem;margin-bottom:.8rem}.who a{color:#1C58C9;text-decoration:underline}
.err{color:#B3123E;font-weight:700;min-height:1.3em;margin:.4rem 0}
.notice{background:#FFF7DC;border:1px solid #F1DD9B;border-radius:10px;padding:.7rem 1rem;margin:.6rem 0;font-size:.9rem}
.empty{text-align:center;padding:3rem 1rem}.empty .e{font-size:4rem}

/* footer */
.ft{background:var(--navy);color:#C9D0EE;margin-top:2rem}
.ft .cols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:1.5rem;padding:2rem 0}
.ft h4{color:#fff;font-size:.95rem;margin-bottom:.6rem}.ft a{display:block;padding:.15rem 0;font-size:.9rem}.ft a:hover{color:#fff;text-decoration:underline}
.ft .base{border-top:1px solid rgba(255,255,255,.15);padding:1rem 0;font-size:.82rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.ft button.lnk{color:#C9D0EE;text-decoration:underline;font:inherit}
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%) translateY(20px);background:var(--navy);color:#fff;padding:.7rem 1.2rem;border-radius:8px;opacity:0;pointer-events:none;transition:.25s;z-index:200;max-width:90vw}
.toast.on{opacity:1;transform:translateX(-50%)}

/* cookie banner */
.ck{position:fixed;left:0;right:0;bottom:0;z-index:300;background:#fff;border-top:3px solid var(--navy);box-shadow:0 -6px 30px rgba(0,0,0,.25);padding:1rem 0}
.ck .in{width:min(1100px,94%);margin:0 auto}.ck h2{font-size:1.1rem;margin-bottom:.3rem}.ck p{font-size:.92rem;color:#2c3560;max-width:80ch}
.ck .row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}.ck .row .btn{min-width:150px}
.ck .opts{display:grid;gap:.5rem;margin-top:.8rem}.ck .opt{display:flex;gap:.7rem;align-items:flex-start;background:var(--cream);border-radius:8px;padding:.6rem .8rem}
.ck .opt input{margin-top:.25rem;width:1.1rem;height:1.1rem}.ck .opt b{display:block}.ck .opt span{font-size:.85rem;color:var(--muted)}
.ck-bg{position:fixed;inset:0;background:rgba(10,15,40,.35);z-index:299}

/* account pages (restyled to match) */
.acmain{padding:1.5rem 0 2rem}.acc{border-radius:12px;box-shadow:none;border:1px solid var(--line)}
.abtn{box-shadow:none!important;border-radius:99px}.abtn:active{transform:none}
.acc h1{font-size:1.7rem}

@media(max-width:1000px){
  .hero{grid-template-columns:1fr}.sidepromos{grid-template-columns:1fr 1fr}.pdp{grid-template-columns:1fr 1fr}.pdp .buy{grid-column:1/-1;position:static}
  .shop{grid-template-columns:1fr}.side{position:static}.two{grid-template-columns:1fr}.sum{position:static}.trust{grid-template-columns:1fr 1fr}.ft .cols{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .hdr .wrap{flex-wrap:wrap}.search{order:3;flex-basis:100%}.search select{display:none}.hlinks small{display:none}
  .slide{grid-template-columns:1fr;padding:1.2rem}.slide .art{display:none}.slides{min-height:230px}.sidepromos{grid-template-columns:1fr}
  .pdp{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr);gap:.7rem}.line{grid-template-columns:64px 1fr}.line>.lt{grid-column:2}
  .fm .g2{grid-template-columns:1fr}.strip nav{display:none}.ck .row .btn{flex:1 1 100%}.trust{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
