:root{
  --brand:#0A5C4C; --brand-2:#0E7C66; --brand-soft:#E8F5F1;
  --accent:#E4572E; --accent-dark:#C2410C;
  --ink:#1A1A1A; --muted:#5A5A5A; --line:#E6E6E6; --bg:#F3F3F3; --card:#fff;
  --badge:#FFE08A; --info:#E8F4FB; --font:"Inter",system-ui,sans-serif;
  --shell-max:1200px; --shell-pad:16px;
}
@media(min-width:700px){ :root{ --shell-pad:24px } }
.shell{width:100%;max-width:var(--shell-max);margin-left:auto;margin-right:auto;padding-left:var(--shell-pad);padding-right:var(--shell-pad);box-sizing:border-box}

*{box-sizing:border-box}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}
#chrome{min-height:0}
.preview-banner{background:#111;color:#fff;text-align:center;font-size:12px;padding:6px 10px;font-weight:600}
.preview-banner a{color:#FFE08A;text-decoration:underline}

/* Header — Bunnings/Petbarn: one shell, search in the bar */
.site-header{background:var(--brand);color:#fff;position:sticky;top:0;z-index:60}
.hdr-bar{display:grid;grid-template-columns:44px 1fr auto;grid-template-areas:"menu logo actions" "search search search";align-items:center;gap:10px 12px;padding-top:10px;padding-bottom:10px}
.hdr-icon{grid-area:menu;background:transparent;border:0;color:#fff;font-size:1.4rem;padding:6px;cursor:pointer;line-height:1;justify-self:start}
.logo{grid-area:logo;justify-self:center;font-weight:900;letter-spacing:-.03em;font-size:1.15rem;color:#fff;text-align:center}
.logo small{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;opacity:.85}
.hdr-actions{grid-area:actions;display:flex;gap:2px;justify-self:end;align-items:center}
.hdr-actions a,.hdr-actions button{color:#fff;background:transparent;border:0;padding:6px 8px;font-size:12px;font-weight:700;cursor:pointer;text-align:center;position:relative}
.hdr-actions .ico{display:block;font-size:1.15rem;line-height:1}
.hdr-actions .lbl{display:none}
.hdr-actions .cart-count{position:absolute;top:0;right:0;background:var(--accent);color:#fff;border-radius:999px;font-size:10px;font-weight:900;min-width:16px;height:16px;line-height:16px;padding:0 4px}
.search-wrap{grid-area:search;width:100%;position:relative;max-width:none;margin:0;padding:0}
.search-wrap form{display:flex;background:#fff;border-radius:8px;overflow:hidden;min-height:48px}
.search-wrap input{flex:1;border:0;padding:12px 14px;font:inherit;font-size:16px;min-width:0}
.search-wrap input:focus{outline:2px solid var(--badge);outline-offset:-2px}
.search-wrap button.go{background:var(--accent);color:#fff;border:0;padding:0 18px;font-weight:800;cursor:pointer;font-size:1.15rem}
.suggest{position:absolute;left:0;right:0;top:calc(100% - 2px);background:#fff;color:var(--ink);border-radius:0 0 10px 10px;box-shadow:0 12px 28px rgba(0,0,0,.2);max-height:65vh;overflow:auto;z-index:70;border:1px solid var(--line)}
.delivery-one-line{background:#08483C;color:#fff;font-size:12px;font-weight:700;line-height:1.35;letter-spacing:.01em}
.delivery-one-line .delivery-inner,.delivery-inner{text-align:center;padding-top:8px;padding-bottom:8px}
.delivery-one-line a{color:#fff;text-decoration:underline;font-weight:800}
@media(min-width:700px){
  .hdr-bar{grid-template-columns:44px auto minmax(280px,1fr) auto;grid-template-areas:"menu logo search actions";gap:12px 16px;padding-top:12px;padding-bottom:12px}
  .logo{justify-self:start;text-align:left;font-size:1.35rem}
  .search-wrap{min-width:0}
  .hdr-actions .lbl{display:block;font-size:11px;font-weight:800;margin-top:2px;opacity:.95}
  .hdr-actions .ico{font-size:1.2rem}
}
.suggest[hidden]{display:none!important}
.sg-h{margin:0;padding:10px 14px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}
.sg-row{display:flex;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid var(--line);font-weight:600;font-size:14px}
.sg-row:hover{background:var(--brand-soft)}
.sg-prod img{width:40px;height:40px;object-fit:contain;background:#f5f5f5;border-radius:6px}
.sg-prod em{color:var(--brand-2);font-style:normal;font-size:12px;font-weight:800}
.trade-strip{background:#08483C;color:#fff;text-align:center;font-size:12px;font-weight:800;padding:6px;letter-spacing:.04em}
.trust-strip{background:#fff;display:flex;flex-wrap:wrap;justify-content:center;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;color:var(--muted)}
.trust-strip span{padding:9px 12px;border-right:1px solid var(--line)}
.trust-strip span:last-child{border-right:0}
.trust-strip .hi{color:var(--brand);font-weight:800}

/* Department drawer */
.dept-drawer{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.4)}
.dept-drawer[hidden]{display:none!important}
.dept-panel{background:#fff;width:min(360px,92vw);height:100%;overflow:auto;display:flex;flex-direction:column}
.dept-head{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}
.dept-head h2{margin:0;font-size:1.05rem;font-weight:800;color:var(--brand);flex:1}
.dept-loc{margin:12px;padding:12px;background:var(--info);border-radius:8px;font-size:13px;font-weight:600}
.dept-loc a{color:var(--brand);font-weight:800;text-decoration:underline}
.dept-list a,.dept-list button.dept-item{display:flex;width:100%;justify-content:space-between;align-items:center;padding:14px 16px;border:0;border-bottom:1px solid var(--line);background:#fff;font:inherit;font-weight:700;font-size:15px;cursor:pointer;text-align:left;color:var(--ink)}
.dept-list a:hover,.dept-list button.dept-item:hover{background:var(--brand-soft)}
.dept-list .chev{color:var(--muted)}

.wrap{width:100%;max-width:var(--shell-max);margin:0 auto;padding:18px var(--shell-pad) 36px;box-sizing:border-box}
.crumbs{font-size:13px;font-weight:600;color:var(--muted);margin:4px 0 12px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.crumbs a{color:var(--brand)}
.page-title{margin:0 0 12px;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:800;color:var(--brand);letter-spacing:-.02em}

/* Home tiles */
.tile-grid{display:grid;gap:10px}
.hero-tile{background:var(--brand);color:#fff;border-radius:12px;padding:18px;display:grid;gap:8px;min-height:180px;align-content:end}
.hero-tile h1{margin:0;font-size:1.45rem;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.hero-tile p{margin:0;font-weight:600;opacity:.95}
.badge-yellow{display:inline-block;background:var(--badge);color:#1A1A1A;font-weight:900;font-size:11px;padding:4px 8px;border-radius:4px;text-transform:uppercase;width:fit-content}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:800;border:0;border-radius:6px;padding:11px 16px;cursor:pointer;font-size:14px}
.btn:hover{background:var(--accent-dark)}
.btn-light{background:#fff;color:var(--brand)}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mini-tile{background:var(--brand);color:#fff;border-radius:12px;padding:14px;min-height:110px;font-weight:800}
.mini-tile span{display:block;font-size:12px;font-weight:600;opacity:.9;margin-top:6px}
.sec-h{display:flex;justify-content:space-between;align-items:end;margin:22px 0 12px}
.sec-h h2{margin:0;font-size:1.2rem;font-weight:800;color:var(--brand)}
.sec-h a{font-weight:700;color:var(--accent);font-size:14px}

/* Category circles / subcats — sizing owned by warm-photo-subcats block below */
.subcat{color:var(--brand)}
.cat-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:8px 0 18px}
.cat-tile{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;min-height:100px}
.cat-tile .top{background:var(--brand);color:#fff;padding:10px 12px;font-weight:800}
.cat-tile .body{padding:10px 12px;font-size:13px;font-weight:600;color:var(--muted)}

/* Product grid cards — Bunnings-like */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;position:relative}
.card-badge{position:absolute;top:0;left:0;right:0;background:var(--accent);color:#fff;font-size:11px;font-weight:900;text-align:center;padding:4px 6px;z-index:1}
.card-img{aspect-ratio:1;display:grid;place-items:center;padding:12px;background:#fafafa}
.card-img img{max-height:100%;object-fit:contain}
.card-body{padding:10px 10px 12px;display:flex;flex-direction:column;flex:1;gap:4px}
.card-brand{margin:0;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.card-title{margin:0;font-size:13px;font-weight:600;line-height:1.3;flex:1;color:var(--muted)}
.card-price{margin:4px 0 0;font-size:1.25rem;font-weight:900;letter-spacing:-.02em;color:var(--ink)}
.card-rd{margin:0;font-size:12px;font-weight:800;color:var(--brand-2)}
.card-once{margin:0;font-size:11px;color:var(--muted);font-weight:600}
.card-add{margin-top:8px;width:100%;background:var(--accent);color:#fff;border:0;border-radius:6px;padding:9px;font-weight:800;font-size:13px;cursor:pointer}

/* Filters — keep existing classes from before */
.listing-layout{display:grid;gap:16px}
.filter-rail{display:none}
.filter-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 12px}
.filter-toolbar .btn-filter,.filter-toolbar .btn-sort{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-weight:800;font-size:14px;cursor:pointer;color:var(--ink)}
.filter-toolbar .btn-filter{background:var(--brand);color:#fff;border-color:var(--brand)}
.result-meta{font-size:13px;font-weight:700;color:var(--muted);margin-left:auto}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--brand-soft);color:var(--brand);border:1px solid #b7e0d4;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}
.chip button{border:0;background:transparent;cursor:pointer;font-weight:900;color:var(--brand);font-size:14px}
.chip-clear{background:#fff;border-color:var(--line);color:var(--muted)}
.filter-sheet{position:fixed;inset:0;z-index:85;background:rgba(0,0,0,.45);display:flex;align-items:flex-end}
.filter-sheet[hidden]{display:none!important;pointer-events:none!important}
.filter-sheet-panel{background:#fff;width:100%;max-height:92vh;border-radius:16px 16px 0 0;display:flex;flex-direction:column}
.filter-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}
.filter-sheet-head h2{margin:0;font-size:1.15rem;font-weight:800;color:var(--brand)}
.filter-sheet-body{overflow:auto;padding:8px 16px 16px;flex:1}
.filter-sheet-foot{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.btn-reset{background:#fff;border:1.5px solid var(--ink);border-radius:8px;padding:12px;font-weight:800;cursor:pointer}
.btn-apply{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:12px;font-weight:800;cursor:pointer}
.filter-acc{border-bottom:1px solid var(--line)}
.filter-acc > button.acc-h{width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 0;border:0;background:transparent;font-weight:800;font-size:15px;color:var(--brand);cursor:pointer;text-align:left}
.filter-acc .acc-body{display:none;padding:0 0 14px}
.filter-acc.open .acc-body{display:block}
.opt{display:flex;align-items:center;gap:10px;padding:8px 0;font-weight:600;font-size:14px;cursor:pointer}
.opt input{width:18px;height:18px;accent-color:var(--brand)}
.opt .cnt{margin-left:auto;color:var(--muted);font-size:12px;font-weight:700}
.price-quick{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
.price-quick button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:700;font-size:13px;cursor:pointer}
.price-quick button.is-on{background:var(--brand);color:#fff;border-color:var(--brand)}
.price-sliders{display:grid;gap:8px}
.price-sliders label{font-size:12px;font-weight:700;color:var(--muted)}
.price-sliders input[type=range]{width:100%;accent-color:var(--brand)}
.price-vals{display:flex;justify-content:space-between;font-weight:800;font-size:14px}
.sort-menu{position:relative}
.sort-pop{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);min-width:200px;z-index:40;padding:6px;display:none}
.sort-pop.open{display:block}
.sort-pop button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer}
.sort-pop button.is-on,.sort-pop button:hover{background:var(--brand-soft);color:var(--brand)}
.fulfill{display:flex;background:#fff;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin:10px 0 12px;width:fit-content}
.fulfill span{padding:8px 12px;font-size:13px;font-weight:700;color:var(--muted)}
.fulfill span.is-on{background:var(--brand);color:#fff}

/* Product page */
.product{display:grid;gap:14px}
.product-media{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;display:grid;place-items:center;min-height:200px;min-width:0}
.product-media img{max-height:340px;object-fit:contain}
.buy-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}
.p-brand{margin:0;font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.buy-box h1{margin:6px 0 8px;font-size:1.35rem;font-weight:800;color:var(--brand);letter-spacing:-.02em}
.price-big{font-size:2rem;font-weight:900;letter-spacing:-.03em}
.toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0;background:var(--bg);padding:4px;border-radius:8px}
.toggle button{border:0;background:transparent;padding:10px;border-radius:6px;font-weight:800;font-size:13px;cursor:pointer;color:var(--muted)}
.toggle button.is-on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.freq-wrap label{display:block;font-size:12px;font-weight:800;color:var(--muted);margin-bottom:6px;text-transform:uppercase}
.freq-wrap select,.qty-wrap select{width:100%;padding:11px;border-radius:6px;border:1px solid var(--line);font-weight:700;background:#fff}
.qty-wrap{margin:12px 0}
.delivery-box{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.delivery-box h3{margin:0 0 8px;font-size:15px;font-weight:800;color:var(--brand)}
.delivery-box .row{display:flex;gap:8px;margin-top:8px}
.delivery-box input{flex:1;padding:10px 12px;border:1px solid var(--line);border-radius:6px;font:inherit;font-weight:600}
.delivery-box .ok{margin-top:10px;padding:10px;background:var(--brand-soft);border-radius:6px;font-weight:700;color:var(--brand);font-size:14px}
.delivery-box .bad{margin-top:10px;padding:10px;background:#FDECEC;border-radius:6px;font-weight:700;color:#9B1C1C;font-size:14px}
.specs{margin:16px 0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.specs details{border-bottom:1px solid var(--line)}
.specs details:last-child{border-bottom:0}
.specs summary{padding:14px 16px;font-weight:800;cursor:pointer;color:var(--brand);list-style:none;display:flex;justify-content:space-between}
.specs summary::-webkit-details-marker{display:none}
.specs summary::after{content:"▾"}
.specs details[open] summary::after{content:"▴"}
.specs .spec-body{padding:0 16px 14px;color:var(--muted);font-weight:600;font-size:14px}
.sticky-cart{display:none}

.site-footer{background:#1A1A1A;color:#ccc;margin-top:40px;padding:32px 0 28px}
.footer-inner{display:grid;gap:22px}
.footer-inner a{display:block;margin:6px 0;color:#7dd3c0;font-weight:700}
.footer-inner p{margin:8px 0 0;font-size:14px;color:#999}
.footer-note{margin:20px auto 0;font-size:12px;color:#666}
.empty{padding:28px;text-align:center;color:var(--muted);font-weight:700}

@media(min-width:700px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .cat-tiles{grid-template-columns:repeat(4,1fr)}
  .tile-grid{grid-template-columns:1.4fr 1fr}
  .product{grid-template-columns:1.05fr .95fr;gap:22px;align-items:start}
  .footer-inner{grid-template-columns:2fr 1fr 1.3fr}
}
@media(min-width:900px){
  .grid{grid-template-columns:repeat(4,1fr)}
  .listing-layout{grid-template-columns:260px 1fr;gap:24px;align-items:start}
  .filter-rail{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 14px 14px;position:sticky;top:130px;max-height:calc(100vh - 150px);overflow:auto}
  .btn-filter-mobile{display:none!important}
  .filter-sheet{display:none!important}
  .hdr-actions a span.lbl{display:inline}
  .sticky-cart{display:none}
}


/* Clarity hero (g3) */
.clarity-hero{background:var(--brand);color:#fff;border-radius:12px;padding:18px 16px 16px;margin:0 0 12px}
.clarity-hero h1{margin:8px 0 10px;font-size:clamp(1.55rem,6.2vw,2rem);line-height:1.12;font-weight:900;letter-spacing:-.03em;max-width:18ch}
.clarity-hero .sub{margin:0 0 14px;font-size:14px;font-weight:600;line-height:1.4;opacity:.96;max-width:42ch}
.clarity-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.clarity-actions .btn{min-height:44px}
.clarity-actions .btn-sec{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}
.clarity-pc{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:12px}
.clarity-pc label{display:block;font-size:12px;font-weight:800;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.clarity-pc .row{display:flex;gap:8px}
.clarity-pc input{flex:1;border:0;border-radius:6px;padding:11px 12px;font:inherit;font-weight:600;min-width:0}
.clarity-pc .ok,.clarity-pc .bad{margin-top:8px;padding:8px 10px;border-radius:6px;font-size:13px;font-weight:700}
.clarity-pc .ok{background:#E8F5F1;color:#0A5C4C}
.clarity-pc .bad{background:#FDECEC;color:#9B1C1C}

.how{display:grid;gap:8px;margin:14px 0 18px}
.how h2{margin:0 0 4px;font-size:1.05rem;font-weight:800;color:var(--brand)}
.how-steps{display:grid;gap:8px}
.how-step{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:start}
.how-step .n{width:36px;height:36px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900}
.how-step strong{display:block;font-size:14px;font-weight:800;margin-bottom:2px}
.how-step span{font-size:13px;font-weight:600;color:var(--muted)}
.msg-banner{background:var(--brand-soft);border:1px solid #b7e0d4;border-radius:8px;padding:10px 12px;margin:0 0 12px;font-size:13px;font-weight:700;color:var(--brand)}
.msg-banner strong{font-weight:900}
@media(min-width:700px){
  .how-steps{grid-template-columns:repeat(3,1fr)}
  .clarity-hero{padding:22px 24px}
  .clarity-hero h1{font-size:2.1rem;max-width:22ch}
}
.brand-row{display:flex;gap:10px;overflow-x:auto;padding:4px 0 14px;-webkit-overflow-scrolling:touch}
.brand-tile{flex:0 0 auto;width:96px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 8px;text-align:center;font-size:11px;font-weight:800;color:var(--brand)}
.brand-tile img{width:56px;height:56px;object-fit:contain;margin:0 auto 6px;display:block}
.ppk{font-weight:800;color:var(--muted)}
.sg-brand{display:flex;align-items:center;gap:10px}
.sg-brand img{width:36px;height:36px;object-fit:contain;background:#f5f5f5;border-radius:6px}

a.brand-tile{text-decoration:none;display:block}
.sg-brand{display:flex;align-items:center;gap:10px}
.listing-hint{margin:0 0 10px;font-weight:600;color:var(--muted)}

.cart-count{display:inline-block;min-width:18px;padding:0 5px;margin-left:2px;border-radius:999px;background:var(--brand);color:#fff;font-size:11px;font-weight:800;line-height:18px;text-align:center;vertical-align:top}
.ships-note{margin:10px 0;padding:10px 12px;border-radius:10px;background:#fff7e8;border:1px solid #f0d9a8;font-weight:700;font-size:13px;color:var(--ink)}
.afterpay-note{margin:10px 0 0;font-size:13px;font-weight:700;color:var(--muted)}

/* Self-hosted Inter */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/inter-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/inter-latin-800-normal.woff2) format("woff2")}
:root{--font:"Inter",system-ui,sans-serif}
.hidden{display:none!important}

/* Checkout / cart G */
.co-layout{display:grid;gap:16px}
@media(min-width:900px){.co-layout{grid-template-columns:1.1fr .9fr;align-items:start}}
.co-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.co-card h2{margin:0 0 12px;font-size:1.05rem;font-weight:800;color:var(--brand)}
.co-field{display:block;margin:0 0 10px}
.co-field span{display:block;font-size:12px;font-weight:800;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.co-field input,.co-field select,.co-field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:16px;background:#fff}
.co-field input:focus,.co-field select:focus{outline:2px solid var(--brand);outline-offset:1px}
.fulfil-row{display:grid;gap:8px}
.fulfil-opt{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:#fff}
.fulfil-opt:has(input:checked),.fulfil-opt.is-on{border-color:var(--brand);background:var(--brand-soft)}
.fulfil-opt input{margin-top:3px}
.cart-line{display:grid;grid-template-columns:56px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);align-items:center}
.cart-line img{width:56px;height:56px;object-fit:contain;background:#f5f5f5;border-radius:8px}
.cart-line .meta{font-size:13px;font-weight:700;color:var(--muted)}
.cart-line .freq{color:var(--brand);font-weight:800}
.co-totals{display:flex;justify-content:space-between;font-weight:900;font-size:1.1rem;margin-top:10px}
.afterpay-banner{margin:10px 0;padding:10px 12px;border-radius:8px;background:#fff7e8;border:1px solid #f0d9a8;font-size:13px;font-weight:700}
.sticky-pay{position:sticky;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));display:flex;gap:12px;align-items:center;box-shadow:0 -6px 20px rgba(0,0,0,.06)}
.sticky-pay .sum{flex:1;font-weight:800}
.sticky-pay .sum small{display:block;font-size:12px;color:var(--muted);font-weight:700}
.sticky-pay .btn{flex:0 0 auto;min-width:140px}
@media(min-width:900px){
  .sticky-pay{display:none!important}
}
.cart-empty{text-align:center;padding:28px 12px}
.cart-empty .empty{font-size:1.15rem;font-weight:800;color:var(--brand);margin:0 0 14px}
.cart-total{margin:8px 0 0;font-size:1.15rem;font-weight:900;color:var(--brand);display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between}
.cart-total span{font-size:13px;font-weight:700;color:var(--muted)}
.co-card{max-width:100%}
@media(min-width:900px){
  .cart-row{grid-template-columns:88px minmax(0,1fr) auto;padding:14px 16px;gap:16px}
  .cart-row-img{width:88px;height:88px}
}
#paymentElementWrap{min-height:180px;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;margin-top:10px}
#expressCheckout{margin-top:10px}
#confirmPanel{background:#fff;border:1px solid #b7e0c5;border-radius:12px;padding:16px;margin-top:12px}
#pcOut .ok,#pcOut .bad, #pcOut > div{margin-top:8px}
.qty-mini button{width:32px;height:32px;border:1px solid var(--line);border-radius:6px;background:#fff;font-weight:800;cursor:pointer}
/* checkout-pay.js markup helpers (no Tailwind CDN) */
.flex{display:flex}.flex-1{flex:1}.shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}
.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.min-w-0{min-width:0}
.py-3{padding-top:.75rem;padding-bottom:.75rem}.pt-4{padding-top:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.ml-auto{margin-left:auto}.mb-1\.5{margin-bottom:.375rem}
.w-9{width:2.25rem}.h-9{height:2.25rem}.w-12{width:3rem}.w-14{width:3.5rem}.h-14{height:3.5rem}.w-4{width:1rem}.h-4{height:1rem}.w-5{width:1.25rem}.h-5{height:1.25rem}
.rounded-full{border-radius:999px}.rounded-lg{border-radius:8px}.rounded-xl{border-radius:10px}.rounded-2xl{border-radius:12px}
.border{border:1px solid var(--line)}.border-b{border-bottom:1px solid var(--line)}.border-line{border-color:var(--line)}
.font-bold{font-weight:700}.font-extrabold{font-weight:800}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}
.text-mute,.text-muted{color:var(--muted)}.text-brand{color:var(--brand)}.text-ink{color:var(--ink)}.underline{text-decoration:underline}
.object-contain{object-fit:contain}.bg-white{background:#fff}.space-y-3>*+*{margin-top:.75rem}.tap{min-height:44px;min-width:44px}
.cursor-pointer{cursor:pointer}
/* Manage my Menu */
.mm-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin:0 0 14px}
.mm-card h2{margin:0 0 8px;font-size:1.05rem;font-weight:800;color:var(--brand)}
.mm-muted{color:var(--muted);font-weight:600;font-size:14px}
.mm-label{display:block;font-size:12px;font-weight:800;color:var(--muted);margin:10px 0 4px;text-transform:uppercase}
.mm-input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:16px}
.mm-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:800;border:0;border-radius:6px;padding:11px 16px;cursor:pointer;margin-top:10px}
.mm-btn:disabled{opacity:.6}
.mm-row{display:flex;gap:8px;flex-wrap:wrap}
.mm-ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;padding:10px;border-radius:8px;font-weight:700;margin-top:10px}
.mm-err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:10px;border-radius:8px;font-weight:700;margin-top:10px}
.mm-badge{display:inline-block;background:var(--brand-soft);color:var(--brand);font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;margin-right:4px}
.mm-badge.paused,.mm-badge.warn{background:#fff7e8;color:#92400e}
.mm-item{border-top:1px solid var(--line);padding:10px 0}
.card-img{aspect-ratio:1/1;background:#f3f3f3;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:contain}
.product-media{aspect-ratio:1/1;background:#fff;border-radius:12px;overflow:hidden}
.product-media img{width:100%;height:100%;object-fit:contain}
.site-header{min-height:0}

#footer{min-height:120px}

/* Lockyer Valley delivery funnel — mobile-first */
.lv-body{overflow-x:hidden}
.lv-page{overflow-x:hidden;max-width:100%}
.lv-hero{background:var(--brand);color:#fff;border-radius:14px;padding:18px 14px;margin:0 0 20px}
.lv-hero h1{margin:10px 0 8px;font-size:clamp(1.35rem,5.5vw,2.1rem);font-weight:900;letter-spacing:-.03em;line-height:1.15}
.lv-lead{margin:0 0 14px;font-weight:600;opacity:.95;font-size:15px;line-height:1.45}
.lv-check{background:#fff;color:var(--ink);margin:0 0 14px;padding:14px}
.lv-check .co-field{display:block;margin:0 0 10px}
.lv-check input{width:100%;min-height:48px;font-size:16px;box-sizing:border-box}
.lv-check-btn{width:100%;min-height:48px;font-size:16px}
.lv-page .btn{min-height:48px;box-sizing:border-box}
.lv-btn-sec{background:#fff!important;color:var(--brand)!important;border:1px solid var(--line)!important}
.lv-cta-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.lv-cta-row .btn{flex:1 1 140px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box}
.lv-result{margin-top:12px;padding:12px;border-radius:8px;font-weight:700;font-size:14px;line-height:1.4}
.lv-result.ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.lv-result.bad{background:#fff7e8;border:1px solid #f0d9a8;color:#92400e}
.lv-result-ctas{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.lv-result-ctas .btn{flex:1 1 120px;min-height:44px;font-size:14px}
.lv-sec{margin:24px 0}
.lv-sec h2{margin:0 0 10px;font-size:1.25rem;font-weight:900;color:var(--brand)}
.lv-note{margin:12px 0 0;padding:12px;background:#fff7e8;border:1px solid #f0d9a8;border-radius:10px;font-weight:700;font-size:14px;line-height:1.4}
.lv-day-cards{display:grid;gap:10px}
.lv-day-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.lv-day-card.is-lockyer{background:#f3fbf8;border-color:#b7e4d6}
.lv-day-card.is-cc{background:#fff8f0;border-color:#f0d9a8}
.lv-day-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 6px}
.lv-day{font-weight:900;color:var(--brand);font-size:15px}
.lv-win{font-weight:800;font-size:13px;background:var(--brand-soft);color:var(--brand);padding:4px 8px;border-radius:999px;white-space:nowrap}
.lv-day-card h3{margin:0 0 6px;font-size:1rem}
.lv-day-card p{margin:0;font-size:14px;font-weight:600;color:var(--muted);line-height:1.45}
.lv-table-desktop{display:none}
.lv-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;background:#fff}
.lv-table{width:100%;border-collapse:collapse;font-size:14px}
.lv-table th,.lv-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.lv-table th{background:var(--brand-soft);color:var(--brand);font-weight:800;font-size:12px;text-transform:uppercase}
.lv-table tr.is-lockyer{background:#f3fbf8}
.lv-zones{display:grid;gap:10px}
.lv-zones h3{margin:0 0 8px;font-size:1rem;color:var(--brand)}
.lv-zones ul{margin:0;padding-left:18px;font-weight:600;color:var(--muted);font-size:14px}
.lv-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lv-chip{padding:14px 10px;border-radius:10px;font-weight:900;text-align:center;color:#fff;font-size:13px;line-height:1.25}
.lv-chip.wed{background:#0E7C66}.lv-chip.thu{background:#0A5C4C}.lv-chip.fri{background:#08483C}.lv-chip.cc{background:var(--accent)}
.lv-steps{display:grid;gap:12px}
.lv-step-num{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:999px;background:var(--accent);color:#fff;font-weight:900;margin:0 0 8px}
.lv-shot{width:100%;max-height:220px;height:auto;object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:10px;margin:10px 0;background:#f5f5f5;display:block}
.lv-shot-sm{max-height:200px}
.lv-text-cta{display:inline-flex;align-items:center;min-height:44px;padding:8px 2px;font-weight:800;font-size:15px}
.lv-manage{display:grid;gap:12px}
.lv-carousel-track{position:relative;min-height:180px}
.lv-carousel-slide{display:none;margin:0}
.lv-carousel-slide.is-active{display:block}
.lv-carousel-slide figcaption{margin:6px 0 0;font-size:13px;font-weight:700;color:var(--muted);text-align:center}
.lv-carousel-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px}
.lv-car-btn{width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:22px;font-weight:900;color:var(--brand);cursor:pointer}
.lv-car-dots{display:flex;gap:8px}
.lv-car-dot{width:44px;height:44px;border-radius:999px;border:0;background:transparent;padding:0;cursor:pointer;position:relative}
.lv-car-dot::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:999px;background:#d1d5db}
.lv-car-dot.is-active::after{background:var(--brand);width:22px;margin-left:-11px}
.lv-faq{background:#fff;border:1px solid var(--line);border-radius:10px;padding:0;margin:0 0 8px}
.lv-faq summary{font-weight:800;color:var(--brand);cursor:pointer;min-height:48px;display:flex;align-items:center;padding:12px 14px;list-style:none}
.lv-faq summary::-webkit-details-marker{display:none}
.lv-faq[open] summary{border-bottom:1px solid var(--line)}
.lv-faq p{margin:0;padding:12px 14px 14px;font-weight:600;color:var(--muted);line-height:1.45}
.lv-final{text-align:center;padding:20px 14px;margin:24px 0 10px}
.lv-final h2{margin:0 0 8px;color:var(--brand);font-size:1.25rem}
.lv-final .lv-cta-row{justify-content:center}
@media(min-width:800px){
  .lv-zones{grid-template-columns:repeat(3,1fr)}
  .lv-manage{grid-template-columns:1fr 1fr}
  .lv-hero{padding:22px 18px}
}
@media(min-width:768px){
  .lv-day-cards{display:none}
  .lv-table-desktop{display:block}
  .lv-table{min-width:0}
}
@media(min-width:900px){
  .lv-steps{grid-template-columns:repeat(3,1fr)}
  .lv-shot{max-height:280px}
}

/* Lockyer marketing landing */
.lv-land .preview-banner{display:none!important}
.lv-land-header .hdr-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px}
.lv-land-nav{display:flex;gap:8px;align-items:center}
.lv-land-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-weight:800;color:var(--brand);text-decoration:none;border:1px solid var(--line);border-radius:999px;background:#fff}
.lv-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 14px;font-weight:700;color:var(--muted)}
.lv-crumbs a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:var(--brand);font-weight:800}
.lv-cta-hero .btn{flex:1 1 160px}
.lv-benefit-grid{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:1fr 1fr}
.lv-benefit-grid li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:4px}
.lv-benefit-grid strong{color:var(--brand);font-size:15px}
.lv-benefit-grid span{font-size:13px;font-weight:600;color:var(--muted);line-height:1.35}
.lv-brand-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.lv-brand{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);font-weight:700;font-size:11px;text-align:center;min-height:44px}
.lv-brand img{width:56px;height:56px;object-fit:contain;border-radius:8px;background:#f8f8f8}
.lv-land-footer .footer-inner{padding:18px 0}
.lv-hero h1{font-size:clamp(1.45rem,6vw,2.15rem)}
@media(min-width:700px){
  .lv-benefit-grid{grid-template-columns:repeat(4,1fr)}
  .lv-brand-row{grid-template-columns:repeat(8,1fr)}
}
@media(max-width:420px){
  .lv-brand-row{grid-template-columns:repeat(4,1fr)}
  .lv-benefit-grid{grid-template-columns:1fr 1fr}
}

/* Lockyer SIMPLE photo-led landing */
.lv-simple{background:#f7f7f5;overflow-x:hidden}
.lv-simple #chrome{min-height:0}
.lv-simple .site-header.lv-land-header{min-height:0}
.lv-simple .lv-land-header .logo{padding-left:0}

.lv-simple .lv-land-header .trade-strip{font-size:13px}
.lv-simple-main{max-width:960px;margin:0 auto}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.lv-photo-hero{position:relative;min-height:72vh;max-height:820px;display:flex;align-items:flex-end;overflow:hidden;background:#0A5C4C}
.lv-photo-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.lv-photo-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,92,76,.25) 0%,rgba(10,92,76,.55) 45%,rgba(10,92,76,.88) 100%)}
.lv-photo-hero-copy{position:relative;z-index:1;padding:28px 20px 36px;color:#fff;width:100%;box-sizing:border-box}
.lv-photo-hero h1{margin:0 0 10px;font-size:clamp(32px,8vw,48px);line-height:1.12;font-weight:900;letter-spacing:-.03em;max-width:16ch}
.lv-sub{margin:0 0 20px;font-size:clamp(17px,4vw,20px);font-weight:700;opacity:.95}
.lv-big-btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:56px!important;padding:0 28px!important;font-size:18px!important;font-weight:900!important;border-radius:999px!important;width:100%;max-width:320px;box-sizing:border-box}
.lv-soft-link{margin:14px 0 0}
.lv-soft-link a{color:#fff;font-size:17px;font-weight:700;text-decoration:underline;text-underline-offset:3px;display:inline-flex;min-height:44px;align-items:center}
.lv-simple-sec{padding:28px 20px}
.lv-simple-sec h2{margin:0 0 16px;font-size:clamp(22px,5vw,28px);font-weight:900;color:var(--brand);text-align:center}
.lv-three{display:grid;gap:18px;grid-template-columns:1fr}
.lv-step3{text-align:center}
.lv-step3 img{width:112px;height:112px;object-fit:cover;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.12);background:#eee}
.lv-step3 p{margin:12px 0 0;font-size:17px;font-weight:800;color:var(--ink);line-height:1.35;padding:0 8px}
.lv-pc{background:#fff;border-radius:16px;margin:0 16px;padding:24px 18px;border:1px solid var(--line)}
.lv-pc-row{display:flex;flex-direction:column;gap:10px}
.lv-pc-row input{min-height:52px;font-size:17px;padding:0 14px;border:1px solid var(--line);border-radius:12px;width:100%;box-sizing:border-box}
.lv-pc-row .btn{min-height:52px;font-size:17px;width:100%}
.lv-plain-result{margin-top:14px;padding:14px;border-radius:12px;font-size:17px;font-weight:700;line-height:1.4}
.lv-plain-result.ok{background:#ecfdf5;color:#065f46}
.lv-plain-result.bad{background:#fff7e8;color:#92400e}
.lv-plain-result a{color:inherit;font-weight:900}
.lv-more{margin:16px 0 0;text-align:center;font-size:16px;font-weight:700}
.lv-more a{color:var(--brand);display:inline-flex;min-height:44px;align-items:center;padding:0 4px}
.lv-brands-sec .lv-brand-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.lv-brands-sec .lv-brand{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 8px;text-decoration:none;color:var(--ink);font-weight:800;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:44px}
.lv-brands-sec .lv-brand img{width:64px;height:64px;object-fit:contain}
.lv-final-simple{text-align:center;padding-bottom:40px}
.lv-final-simple .lv-big-btn{margin:0 auto}
@media(min-width:640px){
  .lv-three{grid-template-columns:repeat(3,1fr);gap:24px}
  .lv-pc-row{flex-direction:row;align-items:stretch}
  .lv-pc-row input{flex:1}
  .lv-pc-row .btn{width:auto;min-width:140px}
  .lv-photo-hero-copy{padding:40px 40px 48px}
  .lv-big-btn{width:auto}
  .lv-brands-sec .lv-brand-row{grid-template-columns:repeat(6,1fr)}
}
@media(min-width:900px){
  .lv-photo-hero{min-height:560px;border-radius:0 0 20px 20px}
  .lv-simple-main{padding-bottom:20px}
}

/* phase1 shipping */
#shipOptions .fulfil-opt{align-items:flex-start}
#shipPreviewNote{line-height:1.35}


/* —— Home funnel — balanced Petbarn/Bunnings shell —— */
.home-funnel .trade-strip,.home-funnel .trust-strip{display:none!important}
.home-main{padding-top:20px;padding-bottom:40px}
.home-hero{background:var(--brand);color:#fff;border-radius:16px;padding:22px 18px 20px;margin:0 0 28px;width:100%;box-sizing:border-box}
.home-hero-copy{max-width:min(46rem,100%)}
.home-hero h1{margin:0 0 12px;font-size:clamp(1.75rem,4.5vw,2.85rem);font-weight:900;letter-spacing:-.03em;line-height:1.15;max-width:18em}
.home-hero .sub{margin:0 0 20px;font-size:clamp(15px,2.2vw,19px);font-weight:600;line-height:1.45;opacity:.96;max-width:34em}
.home-cta{margin:0 0 22px}
.btn-hero-primary{display:inline-flex;width:auto;min-width:200px;max-width:100%;min-height:52px!important;padding:0 28px!important;font-size:17px!important;font-weight:900!important;justify-content:center;border-radius:8px}
.or-shop{margin:0 0 12px;font-size:13px;font-weight:800;opacity:.95;letter-spacing:.04em;text-transform:uppercase}
/* Tiles: mobile 2-col; tablet/desktop full-width equal columns (3×3) */
.pet-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;width:100%}
.pet-tile{display:flex;flex-direction:column;align-items:stretch;min-width:0;border-radius:14px;overflow:hidden;background:rgba(0,0,0,.18);border:2px solid rgba(255,255,255,.35);color:#fff;text-decoration:none;font-weight:800;-webkit-tap-highlight-color:transparent}
.pet-tile-media{display:block;width:100%;overflow:hidden;background:#0a3d34;line-height:0}
.pet-tile-media picture{display:contents}
.pet-tile-media img{display:block;width:100%;height:auto;max-width:none;aspect-ratio:4/3;object-fit:cover;object-position:center;border:0}
.pet-tile-label{display:block;text-align:center;line-height:1.2;padding:10px 8px;font-size:14px;font-weight:900;letter-spacing:.01em;background:rgba(0,0,0,.22)}
.pet-tiles .pet-tile:last-child:nth-child(odd){grid-column:1 / -1;max-width:calc(50% - 6px);justify-self:center;width:100%}
.home-main .how{margin:0 0 24px}
.home-main .how h2{margin:0 0 14px;font-size:clamp(1.25rem,3vw,1.5rem);font-weight:900;color:var(--brand)}
.how-icons .how-steps{gap:14px}
.how-step-icon{grid-template-columns:1fr!important;text-align:center;padding:20px 14px;justify-items:center}
.how-step-icon img{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:center 25%;border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.1);background:#eee;display:block;max-width:none}
.how-step-icon strong{margin-top:10px;font-size:16px}
.how-step-icon span{font-size:14px;line-height:1.4}
.home-account-note{margin:0 0 28px;padding:14px 16px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;font-size:14px;font-weight:700;color:#065f46;line-height:1.45}
.home-brands-h{margin:0 0 14px}
.home-brands-h h2{margin:0;font-size:clamp(1.25rem,3vw,1.5rem);font-weight:900;color:var(--brand)}
.home-brands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-bottom:8px}
.home-brands .brand-tile{flex:none;max-width:none;width:100%;text-align:center;padding:12px 8px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;color:var(--ink);font-size:12px;font-weight:700}
.home-brands .brand-tile img{width:52px;height:52px;object-fit:contain;margin:0 auto 6px;display:block}
@media(min-width:600px){
  .home-brands{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(min-width:768px){
  .home-hero{padding:32px 32px 28px;margin-bottom:32px}
  .home-hero h1{font-size:clamp(2.1rem,3.2vw,2.75rem)}
  .home-hero .sub{font-size:18px;margin-bottom:20px}
  .btn-hero-primary{min-height:56px!important;font-size:18px!important;padding:0 32px!important}
  .or-shop{margin-bottom:14px;font-size:14px}
  .pet-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .pet-tiles .pet-tile:last-child:nth-child(odd){grid-column:auto;max-width:none;justify-self:stretch}
  .pet-tile-label{font-size:16px;padding:12px 10px}
  .how-icons .how-steps{grid-template-columns:repeat(3,1fr);gap:16px}
  .home-brands{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
}
@media(min-width:1100px){
  .pet-tiles{gap:18px}
  .home-hero{padding:36px 40px 32px}
}



/* tidy1 — clarity, tap targets, product buy box */
/* tidy1 product overflow fix — grid min-width:auto was expanding media past viewport */
.product,.product-media,.buy-box,.wrap,.shell,.home-main{min-width:0}
.product-media{width:100%;overflow:hidden}
.product-media img{max-width:100%;max-height:min(340px,70vw);width:auto;height:auto;margin:0 auto}
body{overflow-x:hidden}

.page-lead{margin:0 0 14px;font-size:15px;font-weight:650;color:var(--muted);line-height:1.4;max-width:42ch}
.hub-cta{margin:0 0 16px}
.hub-cta .btn{min-height:48px;padding:0 22px;font-size:16px;font-weight:900}
.btn-primary,.btn.btn-primary{background:var(--brand);color:#fff;border:0}
.btn-primary:hover{filter:brightness(1.05)}
.btn-secondary{background:#fff;color:var(--brand);border:2px solid var(--brand)}
.btn-add{width:100%;min-height:52px!important;font-size:17px!important;font-weight:900!important;margin:14px 0 12px}
.rd-pill{display:inline-block;background:var(--brand-soft);color:var(--brand);font-weight:900;font-size:13px;padding:4px 10px;border-radius:999px;margin-left:6px;vertical-align:middle}
.p-size{margin:0 0 10px;font-weight:700;color:var(--muted)}
.price-row{margin:10px 0 4px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.once-row{margin:0 0 8px;color:var(--muted);font-weight:600}
.qty-wrap label,.freq-wrap label{display:block;font-size:13px;font-weight:800;color:var(--ink);margin-bottom:6px}
.qty-wrap select,.freq-wrap select{min-height:44px;font-size:16px;width:100%;max-width:280px}
.delivery-box{margin-top:8px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafafa}
.delivery-box h3{margin:0 0 6px;font-size:15px}
.delivery-box p{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--muted)}
.delivery-box .row{display:flex;gap:8px}
.delivery-box .row input{flex:1;min-height:44px;font-size:16px;padding:0 12px;border:1px solid var(--line);border-radius:10px}
.delivery-more{margin:10px 0 0!important;font-size:13px!important}
.delivery-more a{font-weight:800}
.afterpay-note{font-size:13px;font-weight:600;color:var(--muted);margin:8px 0 0}
.card-add,.hdr-icon,.hdr-actions a,.btn,.go{min-height:44px}
.subcat{min-height:44px}
/* .subcat compact padding removed — warm-photo-subcats */
.card-add{min-height:44px;font-size:14px;font-weight:800;padding:0 12px}
.sticky-pay .btn{min-height:48px;font-size:16px;font-weight:900}
.sticky-pay .sum small{font-size:12px;font-weight:700}
/* kill leftover tiny muted crumbs of clutter */
.fulfill{display:none!important}
.msg-banner{display:none!important}
@media (max-width:430px){
  .page-title{font-size:1.55rem}
  .buy-box .toggle button{min-height:44px;font-size:14px;font-weight:800}
}

/* hub-cta-tiles — in-flow JPG CTAs (same pattern as home pet-tiles) */
.hub-cta-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px;width:100%}
.hub-cta-tile{display:flex;flex-direction:column;align-items:stretch;min-width:0;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line);color:var(--brand);text-decoration:none;font-weight:800;box-shadow:0 1px 3px rgba(0,0,0,.06);-webkit-tap-highlight-color:transparent}
.hub-cta-tile:hover{border-color:var(--brand-2);box-shadow:0 4px 14px rgba(10,92,76,.12)}
.hub-cta-tile-media{display:block;width:100%;overflow:hidden;background:#0a3d34;line-height:0}
.hub-cta-tile-media picture{display:contents}
.hub-cta-tile-media img{display:block;width:100%;height:auto;max-width:none;aspect-ratio:4/3;object-fit:cover;object-position:center;border:0}
.hub-cta-tile-label{display:block;text-align:center;line-height:1.2;padding:10px 8px;font-size:14px;font-weight:900;letter-spacing:.01em;background:#fff;color:var(--brand)}
.hub-cta-tiles.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.hub-cta-tiles.cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:600px){
  .hub-cta-tiles{gap:16px}
  .hub-cta-tile-label{font-size:15px;padding:12px 10px}
  .hub-cta-tiles.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hub-cta-tiles.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:399px){
  .hub-cta-tile-label{font-size:12px;padding:8px 4px}
}
/* end hub-cta-tiles */

/* warm-photo-subcats — compact ~150px thumbs, balanced across content width */
.subcat-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  width:100%;
  max-width:720px;
  margin:0 auto;
  padding:4px 0 14px;
  box-sizing:border-box;
  justify-items:stretch;
}
/* Cats / 5 chips: wrap to equal columns, still centered */
.subcat-row:has(> .subcat:nth-child(4)){
  grid-template-columns:repeat(5,minmax(0,1fr));
  max-width:100%;
}
.subcat{
  width:auto;
  min-width:0;
  max-width:none;
  min-height:44px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  text-align:center;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
  color:var(--brand);
  text-decoration:none;
  padding:0 0 8px;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  border:2px solid var(--line);
  box-shadow:0 1px 3px rgba(0,0,0,.06);
  transition:border-color .15s,box-shadow .15s,background .15s;
  -webkit-tap-highlight-color:transparent;
}
.subcat .dot{
  width:100%;
  height:100px;
  max-height:110px;
  aspect-ratio:3/2;
  margin:0 0 6px;
  border-radius:0;
  background:#0a3d34;
  border:0;
  display:block;
  overflow:hidden;
  padding:0;
  box-shadow:none;
  font-size:0;
}
.subcat .dot img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.subcat-label{
  display:block;
  padding:0 6px;
  font-size:inherit;
  font-weight:inherit;
  line-height:1.25;
}
.subcat.is-active{
  border-color:var(--brand);
  background:rgba(45,90,61,.06);
  box-shadow:0 0 0 3px rgba(45,90,61,.18),0 2px 8px rgba(0,0,0,.08);
  font-weight:900;
}
.subcat.is-active .dot{box-shadow:none}
.subcat:hover{
  border-color:var(--brand-2);
  box-shadow:0 4px 14px rgba(10,92,76,.12);
}
@media(min-width:600px){
  .subcat-row{
    gap:14px;
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
  }
  .subcat-row:has(> .subcat:nth-child(4)){
    max-width:960px;
    gap:12px;
  }
  .subcat{
    font-size:14px;
    padding-bottom:10px;
  }
  .subcat .dot{
    height:148px;
    max-height:160px;
    aspect-ratio:3/2;
    margin-bottom:8px;
  }
}
@media(min-width:1100px){
  .subcat{font-size:14px;padding-bottom:10px}
  .subcat .dot{height:152px;max-height:160px;margin-bottom:8px}
  .subcat-label{padding:0 8px}
}
@media(max-width:399px){
  .subcat-row{
    gap:8px;
    max-width:100%;
    margin:0;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .subcat-row:has(> .subcat:nth-child(4)){
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:100%;
  }
  .subcat{font-size:11px;padding-bottom:6px}
  .subcat .dot{height:96px;max-height:110px;margin-bottom:4px;aspect-ratio:3/2}
}
/* picker focal points — keep head+bowl in cover crop */
.subcat[data-type="dry"] .dot img{object-position:50% 45%}
.subcat[data-type="wet"] .dot img{object-position:42% 55%}
.subcat[data-type="all"] .dot img{object-position:45% 35%}
.subcat[href*="type=dry"] .dot img{object-position:50% 45%}
.subcat[href*="type=wet"] .dot img{object-position:42% 55%}
.subcat[href*="pet=cat"][href*="type=dry"] .dot img{object-position:60% 50%}
.subcat[href*="pet=cat"][href*="type=wet"] .dot img{object-position:50% 45%}
/* end warm-photo-subcats */


/* Delivered to your door — listing / hub / product promise */
.card-door{margin:2px 0 0;font-size:12px;font-weight:800;color:var(--brand);letter-spacing:.01em}
.door-promise{display:grid;gap:12px;margin:10px 0 14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#f3faf7 0%,#fff 55%);box-shadow:0 1px 0 rgba(0,0,0,.03);align-items:center}
.door-promise-media{margin:0;border-radius:12px;overflow:hidden;background:#e8f2ee;aspect-ratio:16/10;max-height:140px}
.door-promise-media img{width:100%;height:100%;object-fit:cover;display:block}
.door-promise-copy{min-width:0}
.door-promise-title{margin:0 0 8px;font-size:1.25rem;line-height:1.2;font-weight:900;color:var(--brand)}
.door-promise-points{margin:0 0 8px;padding:0;list-style:none;display:grid;gap:6px}
.door-promise-points li{position:relative;padding-left:22px;font-size:14px;font-weight:700;line-height:1.3;color:var(--ink)}
.door-promise-points li:before{content:"";position:absolute;left:0;top:.35em;width:12px;height:12px;border-radius:50%;background:var(--brand);box-shadow:inset 0 0 0 3px #fff,0 0 0 1px var(--brand)}
.door-promise-more{margin:0;font-size:13px;font-weight:700;color:var(--muted)}
.door-promise-more a{font-weight:800;color:var(--brand)}
.door-line{margin:8px 0 0;font-size:14px;font-weight:900;color:var(--brand)}
@media (min-width:720px){
  .door-promise{grid-template-columns:minmax(140px,220px) 1fr;padding:12px 14px;gap:14px}
  .door-promise-media{max-height:128px;aspect-ratio:16/10}
  .door-promise-title{font-size:1.3rem;margin:0 0 6px}
  .door-promise-points{gap:5px;margin:0 0 6px}
}



/* cart-row controls — plan.html Your cart */
.cart-list{display:grid;gap:12px;margin:0 0 16px}
.cart-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.cart-row-img{width:72px;height:72px;object-fit:contain;background:#f5f5f5;border-radius:10px;display:block}
.cart-row-main{min-width:0}
.cart-row-title{font-size:15px;font-weight:800;color:var(--ink);line-height:1.3}
.cart-row-meta{margin-top:4px;color:var(--muted);font-size:13px;font-weight:700}
.cart-row-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}
.cart-qty{display:inline-flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.cart-qty-btn{
  min-width:44px;min-height:44px;width:44px;height:44px;margin:0;padding:0;
  border:0;background:#f3f1ec;color:var(--brand);font-size:22px;font-weight:900;line-height:1;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.cart-qty-btn:hover,.cart-qty-btn:focus-visible{background:#e7f2ee;outline:2px solid var(--brand);outline-offset:-2px}
.cart-qty-val{min-width:36px;text-align:center;font-weight:900;font-size:15px;color:var(--ink)}
.cart-remove{
  min-height:44px;min-width:44px;padding:0 14px;border-radius:12px;border:1px solid var(--line);
  background:#fff;color:var(--brand);font-size:14px;font-weight:800;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.cart-remove:hover,.cart-remove:focus-visible{border-color:var(--brand);background:#f3faf7;outline:2px solid var(--brand);outline-offset:1px}
.cart-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.cart-row-line{font-size:1rem;font-weight:900;color:var(--brand);white-space:nowrap}
.cart-remove-x{
  min-width:44px;min-height:44px;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);
  background:#fff;color:#8a1f1f;font-size:28px;font-weight:700;line-height:1;cursor:pointer;
  display:inline-grid;place-items:center;-webkit-tap-highlight-color:transparent;
}
.cart-remove-x:hover,.cart-remove-x:focus-visible{background:#fdecec;border-color:#c44;outline:2px solid #c44;outline-offset:1px}
.cart-total{font-weight:900;font-size:1.1rem;margin:8px 0 24px}
.cart-total span{font-size:13px;color:var(--muted);font-weight:700}
.cart-empty{padding:18px 8px 28px;text-align:center}
.cart-empty .empty{font-size:1.05rem;font-weight:800;color:var(--ink);margin:0 0 14px}
@media(max-width:520px){
  .cart-row{grid-template-columns:64px minmax(0,1fr); }
  .cart-row-side{grid-column:1 / -1; flex-direction:row; justify-content:space-between; align-items:center; width:100%;}
  .cart-row-img{width:64px;height:64px}
}
/* Keep sticky checkout from covering last cart controls */
body:has(.sticky-pay) main.wrap{padding-bottom:110px}


/* product pc-row overflow — keep Check button inside viewport */
.pc-row, .postcode-row, .buy-box .pc-check-row{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center; max-width:100%;
}
.pc-row input, .postcode-row input, #pcInput, input#postcode{
  min-width:0; flex:1 1 120px; max-width:100%;
}
#pcCheck, .pc-row .btn, .postcode-row .btn{
  flex:0 0 auto; max-width:100%;
}
.buy-box, .product, .product-media{max-width:100%; overflow-x:clip}
/* Keep site content on the same 1200px shell as home */
.wrap,.shell{max-width:var(--shell-max);margin-left:auto;margin-right:auto;box-sizing:border-box}
main.wrap{width:100%}

/* delivery-box postcode row — no horizontal overflow on 390 */
.delivery-box .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;max-width:100%;width:100%;box-sizing:border-box}
.delivery-box .row input{flex:1 1 140px;min-width:0;max-width:100%;box-sizing:border-box}
.delivery-box .row .btn,#pcCheck{flex:0 1 auto;max-width:100%;box-sizing:border-box}
.delivery-box{max-width:100%;overflow-x:clip}
.buy-box{max-width:100%;box-sizing:border-box}

.cart-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:12px;padding-top:4px}
.cart-checkout-btn{min-height:48px;min-width:160px;font-size:16px;font-weight:900}
@media(max-width:699px){
  .cart-remove-x{display:none}
  .cart-footer{flex-direction:column;align-items:stretch}
  .cart-checkout-btn{width:100%}
}

.cart-remove-x{display:none!important}

.sticky-pay.is-empty,.sticky-pay[hidden]{display:none!important}

/* Petbarn-style cart layout */
.cart-layout{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}
.cart-items{display:flex;flex-direction:column;gap:12px;min-width:0}
.cart-summary{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.cart-summary-title{margin:0 0 14px;font-size:1.15rem;font-weight:900;color:var(--brand)}
.cart-summary-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;font-size:15px;font-weight:700}
.cart-summary-row + .cart-summary-row{border-top:1px solid var(--line)}
.cart-summary-total{font-size:1.05rem;padding-top:12px;margin-top:4px}
.cart-summary-total small{font-weight:700;color:var(--muted);font-size:12px}
.cart-summary-muted{color:var(--muted);font-weight:700;font-size:13px;text-align:right}
.cart-summary .cart-checkout-btn{display:block;width:100%;text-align:center;margin-top:14px;min-height:48px;font-size:16px;font-weight:900}
.cart-summary-note{margin:10px 0 0;font-size:13px;color:var(--muted);font-weight:700;text-align:center}
.cart-summary-trust{margin:8px 0 0;font-size:13px;font-weight:800;color:var(--brand);text-align:center}
.co-card:has(.cart-layout){background:transparent;border:0;box-shadow:none;padding:0}
.co-card:has(.cart-empty){background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 20px;text-align:center}
@media(min-width:900px){
  .cart-layout{grid-template-columns:minmax(0,1.85fr) minmax(280px,.95fr);gap:28px}
  .sticky-pay{display:none!important}
  body:has(.sticky-pay) main.wrap{padding-bottom:24px}
}
@media(max-width:899px){
  .cart-summary .cart-checkout-btn{display:none!important}
  .sticky-pay{display:flex}
  .sticky-pay .sum{font-size:1.05rem;font-weight:900;color:var(--brand)}
  .sticky-pay .sum small{display:block;font-size:12px;color:var(--muted);font-weight:700}
  .sticky-pay.is-empty,.sticky-pay[hidden]{display:none!important}
}

/* Checkout: one Pay button only — no sticky duplicate */
body.page-checkout .sticky-pay,
body.page-checkout #stickyPay{display:none!important}
body.page-checkout main.wrap{padding-bottom:24px!important}
