/* Shared product/cart defaults. Theme typography and native merchant imagery stay editable. */
.product-gallery,.product-info,.cart-line>div{min-width:0}
.product-gallery .detail-image{overflow:visible}
.gallery-feature{display:block;width:100%;aspect-ratio:1;overflow:hidden;border-radius:inherit}
.product-gallery .gallery-feature img{position:static;display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.gallery-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,80px));gap:10px;list-style:none;margin:16px 0 0;padding:4px}
.gallery-thumbnails li{min-width:0}
.gallery-thumbnail{display:block;border:2px solid transparent;border-radius:10px;overflow:hidden;background:var(--surface)}
.gallery-thumbnail img{display:block;width:100%;aspect-ratio:1;object-fit:contain}
.gallery-thumbnail[aria-current="true"]{border-color:var(--accent,var(--cocoa,#425d4e))}
.variant-picker{margin:24px 0 16px}
.variant-links{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.variant-links li{max-width:100%}
.variant-link{display:flex;align-items:center;min-height:48px;border:1px solid var(--line);border-radius:999px;padding:10px 20px;background:var(--paper);color:var(--ink);overflow-wrap:anywhere}
.variant-link[aria-current="true"]{border-color:var(--accent,var(--cocoa,#425d4e));box-shadow:inset 0 0 0 1px var(--accent,var(--cocoa,#425d4e));font-weight:600;background:var(--surface)}
.variant-link:hover{text-decoration:none;background:var(--surface)}
.add-to-cart{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px 12px;margin:24px 0}
.add-to-cart label{grid-column:1/-1;font-size:13px}
.add-to-cart input,.cart-line-controls input{width:80px;min-height:48px;border:1px solid var(--control-border,var(--line));border-radius:8px;padding:10px;background:var(--paper);color:var(--ink);font:inherit}
.add-to-cart button,.cart-line-controls button{min-height:48px;border:1px solid var(--accent,var(--cocoa,#425d4e));border-radius:999px;padding:10px 20px;background:var(--accent,var(--cocoa,#425d4e));color:var(--on-accent,#fff8ef);font:inherit;cursor:pointer}
.add-to-cart button:hover,.cart-line-controls button:hover{filter:brightness(.93)}
.add-to-cart input:focus-visible,.cart-line-controls input:focus-visible{outline:2px solid var(--accent,var(--cocoa,#425d4e));outline-offset:4px}
.cart-page{padding-block:40px;max-width:1000px;margin-inline:auto}
.cart-preview{margin-top:18px;color:var(--muted)}
.cart-page .purchase-note{margin-top:12px}
.cart-error{margin-block:20px;border:1px solid currentColor;padding:14px;border-radius:8px}
.cart-lines{list-style:none;padding:0;margin:32px 0}
.cart-line{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.cart-line:not(:has(.cart-line-image)){grid-template-columns:minmax(0,1fr)}
.cart-line-image{display:block;width:120px;height:120px;border-radius:12px;overflow:hidden;background:var(--surface)}
.cart-line-image img{width:100%;height:100%;object-fit:contain}
.cart-line h2{font-family:inherit;font-size:20px;letter-spacing:normal;line-height:1.4}
.cart-line h2+p{margin-top:8px}
.cart-line-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-top:16px}
.cart-line-controls form{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.cart-line-controls label{font-size:13px}
.cart-line-controls form:last-child button{background:transparent;color:var(--ink);border-color:var(--line)}
.cart-summary{border-top:1px solid var(--line);padding-block:24px;font-size:20px}
.cart-summary strong{margin-left:12px}
.site-header nav,.coco-header nav{flex-wrap:wrap}
.cart-link{white-space:nowrap}
@media(max-width:600px){
 .gallery-thumbnails{grid-template-columns:repeat(auto-fill,minmax(56px,68px));gap:8px}
 .cart-line{grid-template-columns:80px minmax(0,1fr);gap:14px}
 .cart-line-image{width:80px;height:80px}
 .cart-line-controls{grid-column:1/-1}
 .cart-line-controls form{max-width:100%}
 .cart-line-controls label{width:100%}
 .cart-line-controls button{padding-inline:14px;font-size:13px}
 .cart-line h2{font-size:18px}
 .cart-page{padding-top:28px}
 .coco-header nav{gap:8px 12px}
 .site-header nav{gap:8px 20px}
}
@media(prefers-reduced-motion:reduce){.gallery-thumbnail,.variant-link{transition:none}}
