/* Real photography and colour selection. Scoped to the catalogue extension. */
.catalogue-product{display:grid;gap:15px;min-width:0;width:100%}
.catalogue-image-stage{position:relative;display:grid;place-items:center;aspect-ratio:var(--photo-ratio,4/5);background:#fff;border:1px solid #e4ddd4;border-radius:4px;min-width:0;padding:8px}
.catalogue-main-photo{display:block;max-width:100%;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
.catalogue-enlarge{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;border:1px solid #d7ccda;border-radius:24px;background:#fffdf8;color:#3a2641;font-size:13px;line-height:1.3}
.catalogue-enlarge:focus-visible{outline:2px solid #745181;outline-offset:3px}
.catalogue-main-photo:not([src]){visibility:hidden}
.catalogue-main-photo[hidden]{display:none!important}
.catalogue-status{position:absolute;left:12px;right:12px;bottom:12px;margin:0;padding:9px 12px;background:#fcfbf8f2;color:#5c4d62;border:1px solid #dcd2df;border-radius:3px;font-size:14px;line-height:1.5;text-align:center;pointer-events:none}
.catalogue-status[hidden],.catalogue-thumbnails[hidden],.catalogue-legacy-note[hidden],.catalogue-preview-note[hidden]{display:none!important}
.catalogue-thumbnails{display:flex;gap:9px;overflow-x:auto;padding:3px 2px 7px;scrollbar-width:thin;scrollbar-color:#c2b0c7 transparent;overscroll-behavior-x:contain}
.catalogue-thumbnail{appearance:none;display:grid;place-items:center;flex:0 0 62px;width:62px;height:72px;min-width:44px;min-height:44px;padding:3px;border:1px solid #d9cedc;border-radius:3px;background:#fcfbf8;cursor:pointer;transition:border-color .18s,box-shadow .18s;touch-action:manipulation}
.catalogue-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}
.catalogue-thumbnail[aria-pressed=true]{border-color:#5b3d68;box-shadow:0 0 0 1px #5b3d68}
.catalogue-thumbnail:focus-visible,.catalogue-color:has(input:focus-visible){outline:2px solid #745181;outline-offset:3px}
.catalogue-colors{display:block;min-width:0;margin:0;padding:0;border:0}
.catalogue-legend{display:block;margin:0 0 9px;padding:0;font:500 15px/1.5 var(--sans,Arial,sans-serif);color:#302238}
.catalogue-color-options{display:flex;flex-wrap:wrap;gap:8px}
.catalogue-color{position:relative;display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;min-height:44px;min-width:44px;margin:0!important;padding:9px 11px!important;border:1px solid #dbd1df;border-radius:3px;background:#fcfbf8;color:#5a4a60;cursor:pointer;touch-action:manipulation;transition:border-color .18s,background .18s}
.catalogue-color input{position:absolute;width:1px;height:1px;min-height:0!important;padding:0!important;margin:0;opacity:0;pointer-events:none}
.catalogue-color:has(input:checked){border-color:#5d3d69;background:#f2edf4;color:#291831}
.catalogue-color[hidden]{display:none!important}
.catalogue-swatch{display:block;flex:0 0 20px;width:20px;height:20px;border-radius:50%;border:1px solid #20162426;box-shadow:inset 0 0 0 2px #ffffff66}
.catalogue-swatch-unspecified{background:linear-gradient(135deg,#faf7f0 45%,#8b7591 45%,#8b7591 55%,#faf7f0 55%)}
.catalogue-color-name{font-size:14px;line-height:1.35;font-weight:500}
.catalogue-colors-compact .catalogue-color{padding:8px!important;gap:6px!important}
.catalogue-colors-compact .catalogue-color-name{font-size:13px}
.catalogue-color-host:empty{display:none}
.catalogue-colors-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:12px 0 0;padding:8px 12px;border:1px solid #cdbcce;border-radius:3px;background:transparent;font:500 14px/1.4 var(--sans,Arial,sans-serif);color:#61426d;cursor:pointer;touch-action:manipulation}
.catalogue-colors-toggle:hover{background:#f0eaf2;border-color:#8e7399}
.catalogue-colors-toggle:focus-visible{outline:2px solid #745181;outline-offset:3px}
.catalogue-legacy-note{margin:0;font-size:14px;line-height:1.6;color:#756879}
.catalogue-preview-note{margin:0;font-size:14px;line-height:1.6;color:#756879;padding:11px 12px;border-left:2px solid #b49264;background:#f5f0e8}
.product-card[data-catalogue-product] .product-image{display:block}
.product-card[data-catalogue-product]{display:flex;flex-direction:column;min-width:0}
.product-card[data-catalogue-product] .product-image{flex:none}
.product-card[data-catalogue-product] .product-details{display:flex;flex:1;flex-direction:column;min-width:0}
.product-card[data-catalogue-product] .product-details h3{min-height:0;line-height:1.4}
.product-card[data-catalogue-product] .product-details p{margin-top:auto;padding-top:8px;margin-bottom:8px}
.product-card[data-catalogue-product] .product-details .product-cta{margin-top:0}
.product-card[data-catalogue-product] .product-image{aspect-ratio:1/1;background:#fff;padding:6px;border:1px solid #ebe3dc}
.product-card[data-catalogue-product] .product-photo{width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important}
.product-card[data-catalogue-product] .product-image:hover .product-photo{transform:none!important}
.product-card[data-catalogue-product] .product-details h3 a{font-size:16px;font-weight:500;color:#281e2b;text-decoration:none}
.product-card[data-catalogue-product] .product-cta{display:flex;align-items:center;justify-content:space-between;text-decoration:none}
@media(min-width:761px){.catalogue-product{gap:17px}.catalogue-thumbnail{width:70px;height:78px;flex-basis:70px}.catalogue-legend{font-size:16px}.product-card[data-catalogue-product] .product-image{padding:10px}}
@media(prefers-reduced-motion:reduce){.catalogue-thumbnail,.catalogue-color{transition:none!important}}
