/* Approved product presentation, shared by server-rendered and AJAX catalogue cards. */
body.family-site { --buy-green:#255843; --product-price:#963b4d; --product-stock:#147238; --dispatch-accent:#b12b32; --product-card:#fffdf9; --product-description:#eee9df; }
body.family-site.plf-theme-sunset { --product-price:#683425; --product-stock:#14552d; --dispatch-accent:#8b2028; --product-card:#f8ead6; --product-description:#eddbc2; }
body.family-site.plf-theme-evening { --product-price:#f0d3a3; --product-stock:#83d6a0; --dispatch-accent:#f0d3a3; --product-card:#293b35; --product-description:#33443b; }
body.family-site .catalog-product-page [hidden] { display:none!important; }
body.family-site .catalog-product-page .catalog-product-layout { display:grid!important; width:100%!important; max-width:none!important; margin:0!important; grid-template-columns:minmax(260px,400px) minmax(0,1fr) 220px!important; gap:28px!important; align-items:start; }
body.family-site .catalog-product-page .catalog-product-main { min-width:0; margin:0; }
body.family-site .catalog-product-page .catalog-product-visual { min-width:0; min-height:0!important; width:100%!important; max-width:400px!important; margin:0!important; padding:0!important; border:1px solid var(--line)!important; border-radius:10px; overflow:hidden; }
body.family-site .catalog-product-page.has-product-photo .catalog-product-photo-button,
body.family-site .catalog-product-page.has-product-photo .catalog-product-photo-button img,
body.family-site .catalog-product-page .catalog-product-visual > img { display:block; width:100%!important; height:auto!important; min-height:0!important; max-height:none!important; aspect-ratio:1!important; object-fit:contain!important; padding:0!important; }
body.family-site .catalog-product-page #product-title { font-size:clamp(23px,2vw,32px)!important; line-height:1.3!important; margin:0 0 14px!important; }
body.family-site .catalog-product-page .catalog-product-meta-row { flex-direction:row; flex-wrap:wrap; align-items:center; gap:8px 16px; margin-bottom:18px; }
body.family-site .catalog-product-page .catalog-product-identifiers { order:-1; }
body.family-site .catalog-product-page .plf-product-review-line { display:flex; flex-wrap:wrap; gap:8px 12px; font-size:12px; }
body.family-site .catalog-product-page .plf-write-review-link { text-decoration:underline; text-underline-offset:5px; color:var(--ink); font-weight:700; }
body.family-site .catalog-product-page .catalog-purchase-box { width:100%; max-width:none!important; border:0!important; background:transparent!important; padding:0!important; margin:20px 0 0!important; box-shadow:none!important; }
body.family-site .catalog-product-page .plf-purchase-heading { display:flex; align-items:center; flex-wrap:wrap; gap:14px 24px; margin-bottom:16px; }
body.family-site .catalog-product-page .catalog-purchase-box .catalog-product-price { margin:0!important; font-size:38px!important; line-height:1.15!important; color:var(--product-price)!important; }
body.family-site .catalog-product-page .catalog-product-layout .catalog-product-price strong,
body.family-site .catalog-product-page .catalog-product-layout .catalog-product-related-grid strong,
body.family-site .catalog-product-page .plf-mobile-price strong { color:var(--product-price)!important; }
body.family-site .catalog-product-page .catalog-product-layout .catalog-product-price strong { font-size:inherit!important; }
body.family-site .catalog-product-page .catalog-product-layout .catalog-product-contact-actions .ploc-add-button { flex:0 1 205px!important; }
body.family-site .catalog-product-page .plf-product-status { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; }
body.family-site .catalog-product-page .catalog-product-availability { width:auto!important; margin:0!important; padding:0!important; border:0!important; background:transparent!important; border-radius:0!important; font-size:13px!important; color:var(--product-stock)!important; }
body.family-site .catalog-product-page .catalog-product-availability.is-unavailable { color:var(--dispatch-accent)!important; }
body.family-site .plf-dispatch { display:inline-flex; align-items:center; gap:7px; font-size:12px; color:var(--muted); white-space:nowrap; }
body.family-site .plf-dispatch strong { color:var(--ink); font-weight:600; }
body.family-site .plf-dispatch[data-product-dispatch] strong { animation:plf-dispatch-text 2s ease-in-out infinite; }
@keyframes plf-dispatch-text { 0%,100% { color:var(--product-stock); } 50% { color:var(--dispatch-accent); } }
@media (prefers-reduced-motion:reduce) { body.family-site .plf-dispatch[data-product-dispatch] strong { animation:none; color:var(--product-stock); } }
body.family-site .catalog-product-page .catalog-product-contact { max-width:none!important; margin:0!important; }
body.family-site .catalog-product-page .catalog-product-contact-actions { display:flex!important; align-items:center; gap:10px!important; }
body.family-site .catalog-product-page .catalog-product-contact-actions .ploc-add-button { background:var(--buy-green)!important; border:1px solid var(--buy-green)!important; color:#fff!important; box-shadow:none!important; border-radius:7px!important; width:205px!important; max-width:100%!important; min-height:46px!important; padding:10px 16px!important; }
body.family-site .catalog-product-page .catalog-purchase-quantity { border-radius:7px!important; height:46px; }
body.family-site .catalog-product-page .catalog-purchase-links { margin:18px 0 0!important; padding:12px 8px!important; border:1px solid var(--line)!important; border-radius:8px; background:var(--surface-warm-soft,var(--product-description)); gap:8px; }
body.family-site .catalog-product-page .catalog-purchase-links a { padding:0 6px!important; gap:7px; border:0; }
body.family-site .catalog-product-page .catalog-purchase-links a + a { border-left:1px solid var(--line); }
body.family-site .catalog-product-page .catalog-purchase-benefit svg { width:20px; height:20px; flex:0 0 20px; color:var(--product-stock); }
body.family-site .catalog-product-page .catalog-purchase-links strong { font-size:11px; }
body.family-site .catalog-product-page .catalog-purchase-links small { font-size:10px; }
body.family-site .catalog-product-page .plf-product-information { grid-column:1 / 3; display:grid; grid-template-columns:minmax(260px,400px) minmax(0,1fr); gap:28px; align-items:start; min-width:0; }
body.family-site .catalog-product-page .plf-product-information > section { grid-column:auto; margin:0!important; padding:22px!important; min-width:0; border:1px solid var(--line)!important; border-radius:10px; background:var(--product-card)!important; scroll-margin-top:100px; }
body.family-site .catalog-product-page .plf-product-information > .catalog-product-description-section { background:var(--product-description)!important; }
body.family-site .catalog-product-page .catalog-product-details-inner,
body.family-site .catalog-product-page .catalog-product-description-inner { width:100%!important; max-width:none!important; padding:0!important; margin:0!important; }
body.family-site .catalog-product-page .catalog-product-specs { display:flex; flex-direction:column; min-height:255px; }
body.family-site .catalog-product-page .catalog-product-description-inner { display:flex; flex-direction:column; min-height:0; }
body.family-site .catalog-product-page .plf-product-information h2 { font-size:25px!important; line-height:1.25; margin:0 0 20px!important; }
body.family-site .catalog-product-page .catalog-product-specs dl { display:block; margin:0 0 16px; }
body.family-site .catalog-product-page .catalog-product-specs dl > div { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); font-size:12px; }
body.family-site .catalog-product-page .catalog-product-specs dt { color:var(--muted); }
body.family-site .catalog-product-page .catalog-product-specs dd { margin:0; text-align:right; overflow-wrap:anywhere; }
body.family-site .catalog-product-page .catalog-product-description { font-size:14px; line-height:1.8!important; }
body.family-site .catalog-product-page .catalog-product-description.is-collapsed { max-height:var(--description-preview-height,9em); overflow:hidden; }
body.family-site .catalog-product-page .plf-detail-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:44px; margin:auto 0 0; padding:14px 0 0; border:0; border-top:1px solid var(--line); border-radius:0; color:var(--ink); background:transparent; box-shadow:none; text-align:left; font:700 12px/1.5 Manrope,Arial,sans-serif; cursor:pointer; }
body.family-site .catalog-product-page .catalog-product-description-inner .plf-detail-toggle { margin-top:16px; }
body.family-site .catalog-product-page .catalog-product-layout > .catalog-product-related { grid-column:3!important; grid-row:1 / 3!important; margin:0!important; padding:0!important; border:0!important; background:transparent!important; }
body.family-site .catalog-product-page .catalog-product-related-grid { grid-template-columns:1fr!important; gap:10px!important; }
body.family-site .catalog-product-page .catalog-product-related-grid a { grid-template-columns:60px minmax(0,1fr)!important; padding:10px!important; border:1px solid var(--line)!important; background:var(--product-card)!important; border-radius:10px; box-shadow:none; }
body.family-site .catalog-product-page .catalog-product-related-grid img { width:60px!important; height:60px!important; aspect-ratio:1; object-fit:contain; }
body.family-site .catalog-product-page .catalog-product-related-grid h3 { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; font-size:11px!important; }
body.family-site .catalog-product-page .catalog-product-related-grid strong { font-size:18px!important; }
body.family-site .catalog-product-page .plf-related-all { display:inline-block; margin-top:12px; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.plf-related-dots,.plf-mobile-purchase { display:none; }
/* Catalogue: square photography, complete accessible names, compact equal purchase rows. */
body.family-site :is(.catalog-products-panel .catalog-product-grid,.search-product-grid) { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
@media (min-width:1450px) {
 body.family-site :is(.catalog-products-panel .catalog-product-grid,.search-product-grid) { grid-template-columns:repeat(5,minmax(0,1fr))!important; }
}
body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-item,.search-product-item) { display:flex!important; flex-direction:column; gap:12px!important; padding:12px!important; min-height:0; background:var(--product-card)!important; border-radius:12px; }
body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-item .catalog-product-image,.search-products .search-product-grid .search-product-item .search-product-image) { width:100%!important; height:auto!important; aspect-ratio:1!important; flex-shrink:0; }
body.family-site .catalog-products-panel .catalog-product-grid:not(.homepage-featured-grid) .catalog-product-item > .pdp-card-gallery,
body.family-site .search-products .search-product-grid .search-product-item > .pdp-card-gallery,
body.family-site .search-products .search-product-grid:has(> :only-child) .search-product-item > .pdp-card-gallery { width:100%!important; height:auto!important; min-height:0!important; aspect-ratio:1!important; }
body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-copy,.search-product-copy) { display:flex!important; flex-direction:column; flex:1; gap:0; }
body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-copy h4,.search-product-copy h3) { display:-webkit-box!important; -webkit-box-orient:vertical; -webkit-line-clamp:3!important; overflow:hidden!important; line-height:1.45!important; font-size:14px!important; height:auto; min-height:2.9em; margin:0 0 4px!important; font-weight:600; }
body.family-site :is(.catalog-products-panel .catalog-product-code,.search-product-code) { margin:0 0 6px!important; font-size:10px; }
body.family-site :is(.catalog-products-panel,.search-products) .catalog-card-availability { margin:0 0 7px!important; padding:0!important; border:0!important; background:none!important; color:var(--product-stock)!important; font-size:12px!important; }
body.family-site :is(.catalog-products-panel,.search-products) .catalog-card-availability.is-unavailable { color:var(--dispatch-accent)!important; }
body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-copy footer,.search-product-footer) { display:flex; justify-content:flex-start; min-height:0; margin:auto 0 0!important; padding:0!important; }
body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-copy footer strong,.search-product-footer strong) { font-size:25px!important; color:var(--product-price)!important; }
body.family-site .catalog-products-panel .catalog-product-grid .catalog-product-copy > .ploc-add-button,
body.family-site .search-product-copy > .ploc-add-button { position:relative; align-self:stretch; justify-content:center; width:100%!important; min-width:0!important; height:44px!important; margin:8px 0 0!important; padding:9px!important; border:1px solid var(--buy-green)!important; border-radius:7px!important; background:var(--buy-green)!important; color:#fff!important; box-shadow:none!important; font-size:13px!important; }
body.family-site :is(.catalog-products-panel .catalog-product-copy,.search-product-copy) > .ploc-add-button span { position:static; width:auto; height:auto; overflow:visible; clip-path:none; white-space:normal; }
body.family-site .search-product-copy > .ploc-add-button::after { display:none; }
@media (max-width:1199px) {
 body.family-site .catalog-product-page .catalog-product-layout { grid-template-columns:minmax(240px,340px) minmax(0,1fr)!important; gap:24px!important; }
 body.family-site .catalog-product-page .plf-product-information { grid-template-columns:minmax(240px,340px) minmax(0,1fr); gap:24px; }
 body.family-site .catalog-product-page .catalog-product-layout > .catalog-product-related { grid-column:1 / -1!important; grid-row:auto!important; }
 body.family-site .catalog-product-page .catalog-product-related-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
 body.family-site :is(.catalog-products-panel .catalog-product-grid,.search-product-grid) { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
}
@media (max-width:700px) {
 body.family-site .catalog-product-page .catalog-product-layout { display:flex!important; flex-direction:column; gap:18px!important; }
 body.family-site .catalog-product-page.has-product-photo .catalog-product-visual,
 body.family-site .catalog-product-page .catalog-product-visual { width:min(100%,340px)!important; max-width:340px!important; align-self:center; }
 body.family-site .catalog-product-page .catalog-product-main { width:100%; margin:0; }
 body.family-site .catalog-product-page .catalog-product-main > .eyebrow { font-size:10px; margin:0 0 8px; }
 body.family-site .catalog-product-page #product-title { font-size:23px!important; margin-bottom:10px!important; }
 body.family-site .catalog-product-page .catalog-product-meta-row { margin-bottom:10px; }
 body.family-site .catalog-product-page .catalog-purchase-box { margin-top:14px!important; }
 body.family-site .catalog-product-page .plf-purchase-heading { justify-content:flex-start; gap:20px; margin-bottom:12px; }
 body.family-site .catalog-product-page .catalog-purchase-box .catalog-product-price { font-size:32px!important; }
 body.family-site .catalog-product-page .plf-product-status { flex-direction:column; align-items:flex-start; gap:7px; }
 body.family-site .catalog-product-page .catalog-product-availability { font-size:12px!important; }
 body.family-site .catalog-product-page .catalog-product-contact-actions .ploc-add-button { width:auto!important; }
 body.family-site .catalog-product-page .catalog-purchase-links { padding:10px 5px!important; gap:0; }
 body.family-site .catalog-product-page .catalog-purchase-links a { flex-direction:column; align-items:flex-start; text-align:left; padding:0 6px!important; }
 body.family-site .catalog-product-page .catalog-purchase-links strong { font-size:10px; }
 body.family-site .catalog-product-page .catalog-purchase-links small { font-size:9px; }
 body.family-site .catalog-product-page .plf-product-information { display:flex; flex-direction:column; width:100%; gap:12px; }
 body.family-site .catalog-product-page .plf-product-information > section { width:100%; box-sizing:border-box; padding:18px!important; scroll-margin-top:16px; }
 body.family-site .catalog-product-page .catalog-product-specs,
 body.family-site .catalog-product-page .catalog-product-description-inner { min-height:0; }
 body.family-site .catalog-product-page .plf-product-information h2 { font-size:24px!important; margin-bottom:16px!important; }
 body.family-site .catalog-product-page .catalog-product-description { margin:0!important; }
 body.family-site .catalog-product-page .catalog-product-related { width:100%; }
 body.family-site .catalog-product-page .catalog-product-related-grid { display:flex!important; gap:12px!important; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
 body.family-site .catalog-product-page .catalog-product-related-grid::-webkit-scrollbar { display:none; }
 body.family-site .catalog-product-page .catalog-product-related-grid article { flex:0 0 88%; scroll-snap-align:start; }
 body.family-site .catalog-product-page .catalog-product-related-grid a { height:100%!important; box-sizing:border-box; }
 body.family-site .catalog-product-page .plf-related-dots { display:flex; justify-content:center; flex-wrap:wrap; }
 body.family-site .catalog-product-page .plf-related-dots button { display:grid; place-items:center; border:0; padding:0; width:44px; height:44px; background:none; }
 body.family-site .catalog-product-page .plf-related-dots span { width:7px; height:7px; border-radius:50%; background:var(--muted); opacity:.45; }
 body.family-site .catalog-product-page .plf-related-dots [aria-current="true"] span { background:var(--product-stock); opacity:1; }
 body.family-site .catalog-product-page .plf-mobile-purchase:not([hidden]) { display:flex; position:fixed; z-index:45; left:0; right:0; bottom:calc(80px + env(safe-area-inset-bottom,0px)); align-items:center; justify-content:space-between; gap:16px; padding:10px 16px; border-top:1px solid var(--line); background:var(--product-card); box-shadow:0 -3px 15px #0001; }
 body.family-site .catalog-product-page .plf-mobile-purchase small { color:var(--product-stock); font-size:11px; }
 body.family-site .catalog-product-page .plf-mobile-price { font-size:23px; line-height:1.3; }
 body.family-site .catalog-product-page .plf-purchase-proxy { background:var(--buy-green); color:white; border:0; border-radius:7px; padding:12px 22px; min-height:44px; font-weight:700; }
 body.family-site :is(.catalog-products-panel .catalog-product-grid,.search-product-grid) { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
 body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-item,.search-product-item) { padding:9px!important; gap:10px!important; }
 body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-copy h4,.search-product-copy h3) { font-size:12px!important; }
 body.family-site :is(.catalog-products-panel,.search-products) .catalog-card-availability { font-size:10px!important; }
 body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-copy footer strong,.search-product-footer strong) { font-size:23px!important; }
 body.family-site .catalog-products-panel .catalog-product-grid .catalog-product-copy > .ploc-add-button,
 body.family-site .search-product-copy > .ploc-add-button { font-size:12px!important; gap:5px!important; padding:7px 4px!important; }
 body.family-site :is(.catalog-products-panel .catalog-product-copy,.search-product-copy) > .ploc-add-button span { white-space:nowrap; }
 body.family-site :is(.catalog-products-panel .catalog-product-copy,.search-product-copy) > .ploc-add-button::after { width:17px; height:17px; flex-basis:17px; margin:0; }
}

/* 1.35.1: readable controls and a single frame around both gallery card forms. */
body.family-site { --product-outline:#cec4b6; }
body.family-site.plf-theme-sunset { --product-outline:#b9946c; }
body.family-site.plf-theme-evening { --product-outline:#52685e; }
body.family-site :is(.catalog-products-panel .catalog-product-item,.search-product-item) { border:1px solid var(--product-outline)!important; box-shadow:0 2px 5px #00000005!important; }
body.family-site .plf-card-status { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; margin:0 0 8px; }
body.family-site :is(.catalog-products-panel,.search-products) .plf-card-status .catalog-card-availability { margin:0!important; line-height:18px!important; }
body.family-site .plf-card-status .plf-dispatch { font-size:11px; line-height:18px; }
/* Compact desktop cards: availability/dispatch and price share one row. */
@media(min-width:1000px) {
 body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-copy,.search-products .search-product-copy) { display:grid!important; grid-template-columns:minmax(0,1fr) max-content; grid-template-rows:auto auto minmax(32px,1fr) auto; column-gap:10px; row-gap:0; }
 body.family-site :is(.catalog-products-panel .catalog-product-copy,.search-products .search-product-copy) > :is(h4,h3) { grid-column:1/-1; grid-row:1; }
 body.family-site :is(.catalog-products-panel .catalog-product-copy,.search-products .search-product-copy) > :is(.catalog-product-code,.search-product-code) { grid-column:1/-1; grid-row:2; margin-bottom:3px!important; }
 body.family-site :is(.catalog-products-panel .catalog-product-copy,.search-products .search-product-copy) > :is(.plf-card-status,.catalog-card-availability) { grid-column:1; grid-row:3; align-self:center; min-width:0; margin:0!important; }
 body.family-site :is(.catalog-products-panel,.search-products) .plf-card-status { flex-direction:column; align-items:flex-start; gap:4px; }
 body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-copy footer,.search-products .search-product-footer) { grid-column:2; grid-row:3; align-self:center; justify-content:flex-end; margin:0!important; }
 body.family-site :is(.catalog-products-panel .catalog-product-copy footer,.search-products .search-product-footer) strong { white-space:nowrap; }
 body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-copy,.search-products .search-product-copy) > .ploc-add-button { grid-column:1/-1; grid-row:4; }
}
body.family-site .plf-dispatch[hidden] { display:none!important; }
body.family-site .catalog-product-page .plf-product-status > :is(.catalog-product-availability,.plf-dispatch),
body.family-site .catalog-product-page .plf-product-status strong { display:inline-flex; align-items:center; font-size:13px!important; line-height:20px!important; vertical-align:middle; }
body.family-site .catalog-product-page .plf-product-status svg { display:block; flex:0 0 16px; }
body.family-site .catalog-product-page .catalog-product-main .plf-product-status .catalog-product-availability { margin:0!important; }
body.family-site .catalog-product-page .catalog-purchase-quantity { background:var(--product-card)!important; border:1px solid var(--product-outline)!important; }
body.family-site .catalog-product-page .catalog-purchase-quantity input { color:var(--ink)!important; -webkit-text-fill-color:var(--ink); opacity:1; font-size:18px!important; font-weight:750!important; line-height:1.4!important; height:44px; }
body.family-site .catalog-product-page .catalog-purchase-quantity button:not(:disabled) { color:var(--ink)!important; font-weight:700; }
body.family-site .catalog-product-page .catalog-product-specs dl > div:not([hidden]) { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:12px; }
body.family-site .catalog-product-page .catalog-product-specs :is(dt,dd) { float:none!important; width:auto!important; min-width:0; padding:0!important; margin:0!important; font-size:13px!important; line-height:1.5!important; overflow-wrap:anywhere; }
body.family-site .catalog-product-page .catalog-product-specs dd { color:var(--ink); font-weight:600; }
body.family-site .catalog-product-page .catalog-product-layout .catalog-product-related-grid article.pdp-related-item { grid-template-columns:60px minmax(0,1fr)!important; gap:10px!important; padding:10px!important; border:1px solid var(--product-outline)!important; background:var(--product-card)!important; box-sizing:border-box; }
body.family-site .catalog-product-page .catalog-product-related-grid article:not(.pdp-related-item) > a { border-color:var(--product-outline)!important; }
body.family-site .catalog-product-page .catalog-product-layout .catalog-product-related-grid article.pdp-related-item > a { border:0!important; border-radius:0; min-width:0; height:auto!important; }
body.family-site .catalog-product-page .catalog-product-layout .catalog-product-related-grid article.pdp-related-item > .pdp-related-gallery { width:60px!important; height:60px!important; min-height:0!important; align-self:center; }
body.family-site .catalog-product-page .catalog-product-layout .catalog-product-related-grid .pdp-related-gallery :is(.pdp-slides,.pdp-gallery-link) { height:60px!important; border:0!important; }
body.family-site .catalog-product-page .catalog-product-layout .catalog-product-related-grid .pdp-related-gallery .pdp-slide-image { width:100%!important; height:100%!important; }
body.family-site .catalog-product-page .pdp-related-gallery .pdp-slide-controls { flex-wrap:nowrap; }
body.family-site .catalog-product-page .pdp-related-gallery .pdp-slide-dot { flex:1 1 0; width:auto; min-width:0; }
body.family-site .catalog-filters-form input:is([type=number],[type=search]) { color:var(--ink)!important; -webkit-text-fill-color:var(--ink); opacity:1; font-weight:600; }
body.family-site .catalog-filters-form input::placeholder { color:var(--muted)!important; -webkit-text-fill-color:var(--muted); opacity:1; font-weight:500; }
body.family-site .catalog-filter-values { padding-right:9px; scrollbar-gutter:stable; }
body.family-site .catalog-filter-values label > small { color:var(--ink)!important; opacity:1; min-width:3ch; text-align:right; line-height:1.5; padding-top:1px; }
body.family-site .catalog-subcategory-guide-sections { gap:24px 36px; }
body.family-site .catalog-subcategory-guide-sections article,
body.family-site .catalog-subcategory-guide-sections article + article { margin:0; padding:24px 0 0; border:0; min-width:0; text-align:left; }
body.family-site .catalog-subcategory-guide-sections h3 { min-height:2.8em; margin:0 0 12px; }
body.family-site .catalog-subcategory-guide-sections p { margin:0; text-align:left; }
@media(max-width:960px) { body.family-site .catalog-subcategory-guide-sections h3 { min-height:0; } }
@media(max-width:700px) {
 body.family-site .plf-card-status { gap:2px 6px; min-height:0; align-content:start; }
 body.family-site .plf-card-status .plf-dispatch { font-size:10px; line-height:18px; }
 body.family-site .catalog-product-page .plf-product-status > :is(.catalog-product-availability,.plf-dispatch),
 body.family-site .catalog-product-page .plf-product-status strong { font-size:12px!important; }
}

@media(max-width:700px) {
 body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-item .catalog-product-copy,.search-products .search-product-grid .search-product-copy) {
   display:grid!important; grid-template-columns:minmax(0,1fr) 44px!important; grid-template-rows:auto 1fr auto auto!important; gap:0 6px!important; text-align:left!important; align-items:start!important; justify-items:stretch!important; width:100%!important; min-width:0;
 }
 body.family-site :is(.catalog-products-panel .catalog-product-copy h4,.search-products .search-product-copy h3) { grid-column:1/-1!important; grid-row:1!important; text-align:left!important; }
 body.family-site :is(.catalog-products-panel .catalog-product-copy .catalog-product-code,.search-products .search-product-code) { grid-column:1/-1!important; grid-row:2!important; text-align:left!important; justify-self:start!important; margin:0 0 5px!important; }
 body.family-site :is(.catalog-products-panel,.search-products) .plf-card-status,
 body.family-site :is(.catalog-products-panel,.search-products) .catalog-product-copy > .catalog-card-availability { grid-column:1/-1!important; grid-row:3!important; text-align:left!important; justify-self:start!important; justify-content:flex-start!important; align-self:start!important; margin:0 0 8px!important; }
 body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-copy footer,.search-products .search-product-footer) { grid-column:1!important; grid-row:4!important; align-self:center!important; flex-direction:row!important; justify-content:flex-start!important; text-align:left!important; width:auto!important; margin:0!important; }
 body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-copy footer strong,.search-products .search-product-footer strong) { font-size:clamp(15px,4.8vw,19px)!important; line-height:1.25!important; float:none!important; text-align:left!important; max-width:100%; overflow-wrap:anywhere; }
 body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-copy footer,.search-products .search-product-footer) :is(strong,span) { margin-left:0!important; padding-left:0!important; justify-self:start!important; }
 body.family-site .catalog-products-panel .catalog-product-grid .catalog-product-item .catalog-product-copy > .ploc-add-button,
 body.family-site .search-products .search-product-grid .search-product-copy > .ploc-add-button { grid-column:2!important; grid-row:4!important; position:relative!important; inset:auto!important; width:44px!important; min-width:44px!important; max-width:44px!important; height:44px!important; margin:0!important; padding:10px!important; align-self:center!important; justify-self:end!important; }
 body.family-site :is(.catalog-products-panel .catalog-product-copy,.search-products .search-product-copy) > .ploc-add-button span { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; }
 body.family-site :is(.catalog-products-panel .catalog-product-copy,.search-products .search-product-copy) > .ploc-add-button::after { display:block!important; width:21px!important; height:21px!important; flex-basis:21px!important; margin:0!important; }
}

@media(max-width:700px) {
 body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-item,.search-products .search-product-item) { gap:8px!important; }
 body.family-site :is(.catalog-products-panel .catalog-product-grid .catalog-product-item .catalog-product-copy,.search-products .search-product-grid .search-product-copy) { padding:0!important; margin:0!important; }
 body.family-site :is(.catalog-products-panel,.search-products) :is(.catalog-product-copy,.search-product-copy) > .catalog-card-availability { grid-column:1/-1!important; grid-row:3!important; justify-self:start!important; }
}

/* 1.35.2: the status always sits immediately above the mobile purchase row. */
@media(max-width:700px) {
 body.family-site :is(.catalog-products-panel,.search-products) .plf-card-status { align-self:end!important; width:100%; gap:0 5px; }
 body.family-site .plf-card-status .plf-dispatch { font-size:10px!important; line-height:16px!important; }
 body.family-site .catalog-product-page .plf-purchase-heading { flex-direction:column; align-items:flex-start; gap:8px; }
 body.family-site .catalog-product-page .plf-product-status { order:-1; flex-direction:row; align-items:center; gap:4px 12px; }
 body.family-site .catalog-product-page .plf-product-status .plf-dispatch strong { font-size:11px!important; }
}

/* Long filter labels retain their complete text and a separate count column. */
@media(max-width:700px) {
 body.family-site .catalog-filter-quick-options { grid-template-columns:minmax(0,1fr)!important; }
 body.family-site .catalog-filter-quick-options label { display:grid!important; grid-template-columns:19px minmax(0,1fr) auto; width:100%; min-width:0; gap:10px!important; text-align:left; }
 body.family-site .catalog-filter-quick-options label span { min-width:0; white-space:normal; overflow-wrap:anywhere; line-height:1.4; }
 body.family-site .catalog-filter-values label { min-width:0; }
 body.family-site .catalog-filter-values label span { min-width:0; white-space:normal; overflow-wrap:anywhere; }
}

.catalog-filter-live-note { margin:0; font-size:13px; line-height:1.4; color:var(--ink); }
.catalog-filters-form label.is-unavailable { opacity:.48; cursor:not-allowed; }
.catalog-filters-form button[type="submit"]:disabled { opacity:.6; cursor:wait; }
@media(max-width:700px) {
 body.family-site .catalog-filter-dialog .catalog-filter-quick-options small { display:block; min-width:20px; margin:0; text-align:right; font-variant-numeric:tabular-nums; }
 body.family-site .catalog-filter-quick-options label { padding:12px!important; border-radius:10px; background:var(--surface); }
 body.family-site .catalog-filter-quick-options label:has(input:checked) { border-color:var(--buy-green); box-shadow:inset 3px 0 var(--buy-green); }
 body.family-site .catalog-filter-dialog .catalog-filter-actions { gap:8px; }
}

/* 1.35.4: photo navigation uses the existing accessible gallery buttons as dots. */
body.family-site .catalog-product-page.has-product-photo .catalog-product-visual.papf-has-gallery { gap:2px!important; }
body.family-site .catalog-product-page.has-product-photo .catalog-product-visual .papf-product-thumbnails { justify-content:center; flex-wrap:wrap; gap:0!important; padding:2px!important; overflow:visible!important; }
body.family-site .catalog-product-page.has-product-photo .catalog-product-visual .papf-product-thumbnail,
body.family-site .catalog-product-page.has-product-photo .catalog-product-visual .papf-product-thumbnail:is(:hover,:focus-visible,[aria-pressed="true"]) {
 display:grid!important; place-items:center; flex:0 0 32px!important; width:32px!important; height:32px!important; min-width:0!important;
 padding:0!important; margin:0!important; border:0!important; border-radius:50%!important; background:transparent!important; box-shadow:none!important; outline:none;
}
body.family-site .catalog-product-page.has-product-photo .catalog-product-visual .papf-product-thumbnail img { display:none!important; }
body.family-site .catalog-product-page.has-product-photo .catalog-product-visual .papf-product-thumbnail::before { content:""; width:7px; height:7px; border-radius:50%; border:1px solid var(--product-stock,#167442); background:transparent; }
body.family-site .catalog-product-page.has-product-photo .catalog-product-visual .papf-product-thumbnail[aria-pressed="true"]::before { background:var(--product-stock,#167442); }
body.family-site .catalog-product-page.has-product-photo .catalog-product-visual .papf-product-thumbnail:focus-visible { outline:2px solid var(--product-stock,#167442)!important; outline-offset:-3px; }
