/* Artwork and copy share the same bounded coordinate system at every desktop width. */
.hero.visual-banner{display:block;aspect-ratio:auto;min-height:0;background:#f8f1e5;overflow:hidden}
.hero.visual-banner:before{display:none}
.hero.visual-banner:after{content:"";position:absolute;inset:0;background-image:var(--banner-backdrop);background-position:center;background-size:cover;filter:blur(24px);opacity:.45;z-index:-3;pointer-events:none}
.banner-frame{position:relative;width:min(100%,1600px);margin-inline:auto;isolation:isolate}
.hero-frame{aspect-ratio:16/9}
.hero-frame .hero-media{position:absolute;inset:0;z-index:-2;min-height:0;aspect-ratio:auto;background:transparent}
.hero-frame .hero-slide{width:100%;height:100%;object-fit:contain!important;object-position:center}
.hero-frame:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fff8eef2 0%,#fff8eedb 24%,#fff8ee80 31%,transparent 38%);pointer-events:none}
.hero.visual-banner .hero-frame .banner-copy{position:absolute;left:4%;top:50%;transform:translateY(-50%);width:27%;max-width:none;margin:0;padding:0}
.hero.visual-banner .hero-frame h1{font-size:clamp(32px,2.65vw,46px);max-width:none;line-height:1.18;overflow-wrap:normal;word-break:keep-all}
.hero.visual-banner .hero-frame .banner-copy p{max-width:none;font-size:clamp(15px,1.1vw,18px);line-height:1.7}
.hero-frame .eyebrow{font-size:clamp(11px,.85vw,14px);margin-bottom:18px}
.hero-frame .hero-controls{left:4%;bottom:4%;margin:0;position:absolute;gap:8px}
.hero-frame .hero-art-caption{top:14px;right:16px}
.event-banner{display:block;min-height:0;overflow:hidden}
.event-frame{aspect-ratio:3/1}
.event-frame .event-art{position:absolute;inset:0;z-index:-1;aspect-ratio:auto;width:100%;min-height:0}
.event-frame .event-art img{object-fit:contain;object-position:center;width:100%;height:100%;border:0;border-radius:0;box-shadow:none}
.event-frame .event-inner{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;padding:16px 4%;display:flex;align-items:center}
.event-frame .event-copy{width:27%;max-width:none;display:grid;gap:10px}
.event-frame .event-copy .eyebrow{font-size:12px;line-height:18px;margin:0;min-height:18px}
.event-frame .event-copy h2{font-size:clamp(26px,2.1vw,34px);line-height:1.23;min-height:3.7em;margin:0;white-space:pre-line;word-break:keep-all}
.event-frame .event-copy h3{font-size:clamp(16px,1.05vw,18px);line-height:1.4;min-height:2.8em;margin:0}
.event-frame .event-copy p{font-size:clamp(14px,.95vw,16px);line-height:1.7;min-height:3.4em;margin:0;white-space:pre-line;word-break:keep-all}
.event-frame .event-actions{margin:0;min-height:46px}
.event-frame .event-actions .button{min-height:46px;font-size:15px;padding:11px 18px}
.event-frame .image-caption{position:absolute;bottom:4px;right:12px;padding:2px 4px;font-size:10px;max-width:40%;text-align:right}
/* Collection metadata is intentionally separate from full search/admin records. */
#recommendedGrid,#newGrid{min-height:390px}
#recommendedGrid .product-card,#newGrid .product-card{min-height:380px;height:100%}
#recommendedGrid .product-picture,#newGrid .product-picture{height:210px;padding:12px}
.collection-card .product-name{line-height:1.45;overflow-wrap:anywhere;word-break:keep-all;min-height:2.9em}
.collection-card .collection-meta{font-size:14px;line-height:1.6;margin-top:10px;margin-bottom:18px;min-height:1.6em}
.collection-card .product-card-body{padding:18px 16px}
.collection-card .card-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}
.collection-card .card-actions a,.collection-card .card-actions button{font-size:13px}
@media(max-width:1100px){
 .hero-frame{aspect-ratio:auto;display:flex;flex-direction:column}
 .hero-frame:before{display:none}
 .hero.visual-banner .hero-frame .banner-copy{position:relative;inset:auto;transform:none;width:100%;padding:32px 24px;background:#fff8ee;order:0}
 .hero.visual-banner .hero-frame h1{font-size:clamp(30px,4vw,42px);max-width:760px}
 .hero-frame h1 br{display:none}.hero-frame h1 em{display:block}
 .hero.visual-banner .hero-frame .banner-copy p{font-size:16px;max-width:650px}
 .hero-frame .hero-media{position:relative;inset:auto;width:100%;aspect-ratio:16/9;order:1;z-index:0}
 .hero-frame .hero-controls{position:relative;inset:auto;order:2;align-self:center;margin:12px 0;max-width:calc(100% - 24px);gap:6px}
 .event-frame{aspect-ratio:auto;display:flex;flex-direction:column}
 .event-frame .event-inner{position:relative;inset:auto;max-width:none;width:100%;height:auto;padding:30px 24px;order:0}
 .event-frame .event-copy{width:100%;max-width:760px;gap:12px}
 .event-frame .event-copy h2{font-size:30px;min-height:2.5em;line-height:1.25}
 .event-frame .event-copy h3{font-size:18px;min-height:1.4em}
 .event-frame .event-copy p{font-size:16px;min-height:3.4em}
 .event-frame .event-art{position:relative;inset:auto;z-index:0;aspect-ratio:3/1;order:1}
 .event-frame .image-caption{position:relative;inset:auto;max-width:none;width:100%;padding:6px 12px;order:2}
}
@media(max-width:559px){
 .hero.visual-banner .hero-frame .banner-copy{padding:28px 20px}
 .hero.visual-banner .hero-frame h1{font-size:30px}
 .hero-frame .hero-art-caption{top:7px;right:7px;font-size:10px;max-width:calc(100% - 14px)}
 .event-frame .event-inner{padding:28px 20px}
 .event-frame .event-copy h2{font-size:28px}
 #recommendedGrid .product-picture,#newGrid .product-picture{height:220px}
 .collection-card .card-actions{flex-direction:row}
 .collection-card .card-actions button{width:auto}
}

@media(max-width:559px){.event-frame .event-copy h2{min-height:3.75em}.event-frame .event-copy h3{min-height:2.8em}}
@media(max-width:559px){.event-frame .event-copy p{min-height:5.1em}}

/* Collection-only imagery: original search image is intentionally independent. */
#recommendedGrid .collection-card .product-picture,#newGrid .collection-card .product-picture{position:relative;aspect-ratio:16/9;height:auto!important;min-height:0;padding:10px;background:#f7f9f7;box-sizing:border-box;overflow:hidden}
#recommendedGrid .collection-card .product-picture img,#newGrid .collection-card .product-picture img{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);max-width:none;max-height:none;object-fit:contain;object-position:center}
