/* Four considered details, preserving the approved warm editorial direction. */
.flavour-card{min-width:0}
.texture-peek{position:relative;display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;background:var(--paper-2);color:var(--ink);cursor:pointer;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg fill='%239e3d51' stroke='%23fffaf6' stroke-width='1.5'%3E%3Cellipse cx='8' cy='11' rx='3' ry='4' transform='rotate(-22 8 11)'/%3E%3Cellipse cx='15' cy='7' rx='3' ry='4'/%3E%3Cellipse cx='22' cy='9' rx='3' ry='4' transform='rotate(18 22 9)'/%3E%3Cellipse cx='27' cy='15' rx='2.5' ry='3.4' transform='rotate(32 27 15)'/%3E%3Cpath d='M8 24c0-3.3 3-7.6 7.6-8.3 4.6-.7 8.4 3.3 8.4 7 0 2.9-2.8 4.3-5.3 3.3-2-.8-3.8-.8-5.7.1C10.5 27.3 8 26.5 8 24Z'/%3E%3C/g%3E%3C/svg%3E") 15 7,pointer;isolation:isolate}
.texture-peek>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;pointer-events:none}
.texture-peek .texture-closeup{opacity:0;clip-path:inset(0 0 100% 0);transform:scale(1.06);transition:clip-path 700ms var(--ease-soft),opacity 400ms,transform 900ms var(--ease-soft)}
.texture-peek[aria-pressed=true] .texture-closeup{opacity:1;clip-path:inset(0);transform:scale(1)}
.flavour-card[data-texture=treat] .texture-closeup{object-position:50% 46%;transform:scale(1.85);transform-origin:50% 46%}
.flavour-card[data-texture=treat] [aria-pressed=true] .texture-closeup{transform:scale(1.72)}
.texture-action{position:absolute;z-index:1;bottom:12px;left:12px;display:flex;align-items:center;gap:7px;min-height:36px;padding:7px 11px;background:var(--light);border-radius:22px;font:500 12px/1.4 var(--font-body);box-shadow:0 3px 12px #42342e12;pointer-events:none}
.texture-action svg{flex:none}
.flavour-card .texture-caption{font-size:12px;line-height:1.5;color:var(--muted);margin:12px 0 5px}
.flavour-card h3{margin:0 0 10px}
.texture-peek:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.texture-peek:disabled{cursor:default}.texture-peek:disabled .texture-action{display:none}
.flavour-card .text-link:hover .motion-arrow{translate:4px 0}
@media(prefers-reduced-motion:reduce){.texture-peek .texture-closeup{transition:none}}

/* Saving is an action of its own, never nested inside a product link. */
.catalog-card{position:relative}
.favorite-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:44px;min-height:44px;padding:10px;border:0;border-radius:50%;background:var(--light);color:var(--accent);cursor:pointer}
.catalog-card>.favorite-button{position:absolute;z-index:2;top:10px;right:10px;box-shadow:0 3px 12px #42342e12}
.favorite-button svg,.favorite-filter svg,.header-favorites svg{flex:none;transition:fill 220ms,stroke 220ms;fill:transparent}
.favorite-button[aria-pressed=true] svg,.favorite-filter[aria-pressed=true] svg{fill:var(--accent)}
.favorite-button:hover{background:#f4e4e5}
.favorite-button.favorite-inline{border-radius:0;background:none;justify-content:flex-start;font-size:13px;padding:6px 0;margin:-8px 0 18px}
.header-favorites{display:inline-flex;align-items:center;gap:8px;min-height:44px;white-space:nowrap;font-size:13px;text-decoration:none;color:var(--accent);order:2}
header #navigation{order:1;margin-left:auto;gap:28px}header .menu-toggle{order:3}
.header-favorites [data-favorite-count]{font-size:12px;font-variant-numeric:tabular-nums;min-width:16px;text-align:center}
.catalog-saved-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px}
.favorite-filter{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:6px 0;border:0;background:none;color:var(--accent);font-size:13px}
.favorite-filter[aria-pressed=true]{text-decoration:underline;text-underline-offset:6px}
.favorite-filter [data-favorite-count]{min-width:18px;font-size:12px;font-variant-numeric:tabular-nums}
.favorite-storage-note{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.favorite-status{position:fixed;z-index:50;left:50%;bottom:24px;transform:translate(-50%,8px);max-width:calc(100% - 32px);width:max-content;padding:12px 20px;border-radius:12px;background:var(--ink);color:var(--light);font-size:13px;line-height:1.5;opacity:0;pointer-events:none;transition:opacity 220ms,transform 300ms var(--ease-soft)}
.favorite-status.visible{opacity:1;transform:translate(-50%,0)}
.favorite-button[hidden],.header-favorites[hidden]{display:none}
@media(min-width:761px) and (max-width:1050px){header{gap:16px}header #navigation{gap:18px}header #navigation a{font-size:13px}.header-favorites{font-size:12px;gap:5px}}
@media(max-width:760px){header{gap:12px}header .brand{width:125px}.header-favorites{margin-left:auto;font-size:11px;gap:5px}.header-favorites svg{width:17px;height:17px}.header-favorites [data-favorite-count]{font-size:11px;min-width:12px}header .menu-toggle{font-size:12px;padding:0 4px}.catalog-saved-row{gap:0 12px;margin-top:12px}.favorite-storage-note{flex-basis:100%;font-size:12px;margin:0 0 4px}.favorite-status{bottom:16px}.favorite-button.favorite-inline{margin-bottom:16px}}
@media(max-width:370px){header .brand{width:104px}header{gap:8px}.header-favorites{font-size:10px;gap:4px}}
@media(prefers-reduced-motion:reduce){.favorite-status,.favorite-button svg{transition:none}}

/* Native horizontal scrolling stays available without a heavy browser rail. */
.rabbit-gallery .gallery-thumbs{scrollbar-width:none;padding-bottom:2px;overscroll-behavior-x:contain}
.rabbit-gallery .gallery-thumbs::-webkit-scrollbar{display:none}
.rabbit-gallery .gallery-stage{touch-action:pan-y pinch-zoom}
.rabbit-gallery .gallery-stage[aria-busy=true] .gallery-main{opacity:.72}
.gallery-nav{display:flex;align-items:center;gap:8px;min-width:0}
.gallery-nav[hidden]{display:none}
.gallery-prev,.gallery-next{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid var(--rule);border-radius:50%;background:transparent;color:var(--ink);transition:background-color 200ms,border-color 200ms}
.gallery-prev:hover,.gallery-next:hover{background:var(--paper-2);border-color:var(--accent)}
.rabbit-gallery .gallery-position{min-width:32px;text-align:center}
.gallery-progress{width:36px;height:2px;background:var(--rule)}
.gallery-progress span{display:block;height:100%;background:var(--accent);transition:width 350ms var(--ease-soft)}
.gallery-feedback{color:var(--accent);font-size:13px;line-height:1.5;margin:12px 0 0}
.rabbit-gallery-foot{gap:10px;margin-top:8px;flex-wrap:wrap}
@media(max-width:760px){.gallery-nav{gap:6px}.gallery-progress{width:20px}.texture-invite{font-size:12px;gap:5px}.rabbit-gallery-foot{gap:4px 8px}.gallery-prev,.gallery-next{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.gallery-progress span{transition:none}}

/* Warm secondary type remains readable, including on a phone outdoors. */
:root{--muted:#66534b}
@media(min-width:1001px){.shop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:1000px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.choice-purpose{font-size:13px;color:var(--muted)}
.choice-count{font-size:12px;color:var(--muted)}
.catalog-tools .search-label{font-size:13px;color:var(--muted)}
.catalog-tools #search::placeholder{color:#6c5a51;opacity:1}
.catalog-controls:has(.catalog-tools)>#result-count{font-size:13px;color:var(--muted);margin-top:12px}
.rabbit-gallery .gallery-thumb span,.rabbit-gallery .gallery-position{font-size:13px}
.search-field{border-bottom-color:#b8a49a}
@media(max-width:1100px){.choice-purpose{font-size:12px}}
@media(max-width:760px){.catalog-tools #search{font-size:16px}.choice-purpose,.choice-count{font-size:12px}.rabbit-gallery .gallery-thumb span{font-size:12px}.header-favorites{font-size:12px}.header-favorites [data-favorite-count]{font-size:12px}}
@media(max-width:370px){.header-favorites{font-size:11px}}
