/* Collection v4: scoped so product details and homepage cards retain their design. */
.collection-page { background:var(--paper); color:var(--ink); font-family:var(--body); padding:calc(var(--nav-h) + 52px) 0 88px; }
.collection-shell { width:min(1192px,calc(100% - 64px)); margin:0 auto; }
.collection-head .crumb { margin-bottom:24px; }
.collection-topbar { display:flex; flex-direction:column; align-items:flex-start; gap:20px; margin-bottom:70px; }
.collection-heading { min-width:0; }
.collection-heading small { display:block; margin-bottom:12px; color:#6f6f6f; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
.collection-heading h1 { margin:0; font-family:var(--brand); font-size:clamp(34px,4vw,56px); line-height:1.15; letter-spacing:0; font-weight:400; }
.collection-heading h1 span { color:var(--ink-3); }
.collection-intro { max-width:700px; margin:0; color:var(--ink-2); font-family:var(--body); font-size:18px; line-height:1.7; text-align:left; }
.collection-intro p { margin:0; }
.collection-page .filter-pill { font-family:var(--body); }
.collection-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.collection-grid .collection-card { position:relative; aspect-ratio:330 / 440; overflow:hidden; border:0; border-radius:14px; padding:0; background:#fff; box-shadow:0 10px 28px rgba(0,0,0,.085); transform:translateZ(0); transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1); }
.collection-card[hidden] { display:none !important; }
.collection-grid .collection-card::after { display:none; }
.collection-card::before { content:""; position:absolute; inset:0; z-index:5; pointer-events:none; box-shadow:inset 0 0 34px 8px rgba(255,255,255,.48); }
:is(.collection-page,.home-collection) .collection-card .collection-card-link { position:absolute; inset:0; display:block; color:inherit; text-decoration:none; z-index:1; }
.collection-card:focus-within { outline:3px solid #171717; outline-offset:5px; }
.collection-arch { position:absolute; inset:auto 0 0; height:58%; background:var(--collection-accent); border-top-left-radius:999px 150px; border-top-right-radius:999px 150px; transform-origin:center bottom; transition:transform .75s cubic-bezier(.16,1,.3,1); }
.collection-position { position:absolute; left:50%; top:57%; width:89%; z-index:3; transform:translate3d(-50%,-50%,0); pointer-events:none; }
.collection-float { width:100%; animation:collection-float 3.2s ease-in-out infinite alternate; }
.collection-card:nth-child(2n) .collection-float { animation-delay:-1.6s; }
.collection-card:nth-child(3n) .collection-float { animation-delay:-.8s; }
@keyframes collection-float { from { transform:translateY(-5px); } to { transform:translateY(5px); } }
.collection-image { display:block; width:100%; height:auto; max-height:340px; object-fit:contain; transform-origin:52% 55%; filter:drop-shadow(0 14px 18px rgba(0,0,0,.16)); transition:transform .72s cubic-bezier(.16,1,.3,1),filter .72s cubic-bezier(.16,1,.3,1); }
.collection-copy { position:absolute; top:9%; left:7%; right:7%; z-index:6; opacity:0; transform:translateX(-115%); transition:transform .68s cubic-bezier(.16,1,.3,1),opacity .28s ease; }
.collection-eyebrow { display:block; margin-bottom:8px; color:#727272; font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.collection-card .collection-copy h2 { margin:0 0 7px; font-family:Inter,Arial,sans-serif; font-size:clamp(20px,1.7vw,27px); line-height:1; letter-spacing:-.04em; font-weight:600; overflow-wrap:anywhere; }
.collection-card .collection-copy p { margin:0; color:#5f5f5f; font-size:12px; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.collection-number { position:absolute; right:16px; top:15px; z-index:4; color:rgba(0,0,0,.42); font-size:10px; letter-spacing:.14em; }
.collection-cta { position:absolute; inset:auto 0 0; height:64px; display:flex; align-items:center; justify-content:space-between; padding:0 21px; z-index:7; background:#181818; color:#fff; font-size:12px; letter-spacing:.12em; text-transform:uppercase; transform:translateY(100%); transition:transform .52s cubic-bezier(.22,1,.36,1); }
.collection-cta span { font-size:20px; }
.collection-grid .collection-card:is(:hover,:focus-within) { transform:translateY(-6px); box-shadow:0 22px 46px rgba(0,0,0,.15); }
.collection-card:is(:hover,:focus-within) .collection-arch { transform:scaleY(1.1); }
.collection-card:is(:hover,:focus-within) .collection-image { transform:translate3d(30px,-22px,0) scale(1.48) rotate(3deg); filter:drop-shadow(0 26px 32px rgba(0,0,0,.22)); }
.collection-card:is(:hover,:focus-within) .collection-copy { opacity:1; transform:translateX(0); }
.collection-card:is(:hover,:focus-within) .collection-cta { transform:translateY(0); }
.collection-foot { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:38px; color:#6f6f6f; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
@media(max-width:1180px) { .collection-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:860px) { .collection-page { padding-top:calc(var(--nav-h) + 34px); } .collection-shell { width:calc(100% - 28px); } .collection-topbar { gap:18px; margin-bottom:42px; } .collection-intro { text-align:left; } .collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; } }
@media(max-width:540px) { .collection-heading h1 span { display:block; } .collection-intro { font-size:16px; } .collection-grid { grid-template-columns:1fr; } .collection-copy { opacity:1; transform:none; } .collection-cta { transform:none; } .collection-position { top:60%; width:76%; } .collection-card:is(:hover,:focus-within) .collection-image { transform:none; } }
@media(hover:none),(pointer:coarse) { .collection-copy { opacity:1; transform:none; } .collection-cta { transform:none; } .collection-position { top:60%; width:76%; } .collection-image { max-height:290px; } .collection-copy { right:12%; } .collection-card:is(:hover,:focus-within) .collection-image { transform:none; } }
@media(prefers-reduced-motion:reduce) { .collection-page *, .collection-page *::before { animation:none !important; transition:none !important; } }

.home-collection .collection-grid { margin-top:34px; }
@media(prefers-reduced-motion:reduce) { .home-collection *, .home-collection *::before { animation:none !important; transition:none !important; } }

.collection-grid.desk-collection-slider { display:flex; gap:28px; overflow-x:auto; padding-block:12px 30px; }
.desk-collection-slider .collection-card { flex:0 0 clamp(260px,25vw,330px); scroll-snap-align:start; }

/* Opaque copy panel remains legible over every product image. */
.collection-card .collection-copy{top:0;left:0;right:0;padding:20px 20px 17px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.06);z-index:6}.collection-card .collection-copy h2{font-size:23px;line-height:1.15;color:#221d18;letter-spacing:-.02em}.collection-card .collection-copy p{color:#5b5147}.collection-card .collection-eyebrow{color:#6b5f53}.collection-card:is(:hover,:focus-within) .collection-image{transform:translate3d(25px,28px,0) scale(1.18) rotate(3deg)}.product-tag-label{display:flex;align-items:center;gap:14px;font-size:14px;margin-bottom:18px}.product-tag-label select{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:9px 35px 9px 15px;border-radius:999px;min-width:150px}@media(max-width:540px){.collection-card .collection-copy h2{font-size:23px}}
/* Product text expands beside the image, on hover or keyboard focus. */
:is(.collection-page,.home-collection) .collection-grid .collection-card{overflow:visible;isolation:isolate}
:is(.collection-page,.home-collection) .collection-grid .collection-card:is(:hover,:focus-within){z-index:15}
.collection-card .collection-visual{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:#fff;z-index:2}
.collection-card .collection-card-link{border-radius:inherit}
:is(.collection-page,.home-collection) .collection-grid .collection-card .collection-copy{top:0;bottom:0;left:100%;right:auto;width:220px;height:100%;padding:25px 22px;display:flex;flex-direction:column;justify-content:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:0 14px 14px 0;box-shadow:12px 8px 28px rgba(0,0,0,.09);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-28px);z-index:1;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .25s ease,visibility .45s}
:is(.collection-page,.home-collection) .collection-grid .collection-card:is(:hover,:focus-within) .collection-copy{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0)}
.collection-card .collection-copy .collection-eyebrow{margin:0}
.collection-card .collection-copy h2{overflow-wrap:anywhere}
:is(.collection-page,.home-collection) .collection-grid .collection-card .collection-copy p{display:block;overflow:visible;-webkit-line-clamp:unset;margin:0;font-size:13px;line-height:1.7}
.collection-card.panel-left .collection-copy{left:auto!important;right:100%!important;border-radius:14px 0 0 14px!important;transform:translateX(28px)!important;box-shadow:-12px 8px 28px rgba(0,0,0,.09)!important}
.collection-card.panel-left:is(:hover,:focus-within) .collection-copy{transform:translateX(0)!important}
.collection-card .collection-visual .collection-cta{transform:translateY(100%)}
.collection-card:is(:hover,:focus-within) .collection-visual .collection-cta{transform:translateY(0)}
@media(max-width:540px){
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-visual{transition:width .4s ease;width:100%}
 :is(.collection-page,.home-collection) .collection-grid .collection-card:is(:hover,:focus-within) .collection-visual{width:58%;border-radius:14px 0 0 14px}
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-copy{left:58%!important;right:auto!important;width:42%;border-radius:0 14px 14px 0!important;padding:16px 13px;box-shadow:none!important;transform:translateX(-20px)!important;gap:10px}
 :is(.collection-page,.home-collection) .collection-grid .collection-card:is(:hover,:focus-within) .collection-copy{transform:translateX(0)!important}
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-copy h2{font-size:19px;line-height:1.2}
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-copy p{font-size:11px;line-height:1.55}
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-copy .collection-eyebrow{font-size:8px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.collection-card .collection-copy,.collection-card .collection-visual{transition:none!important}}

/* Touch screens: show the product above its details without hover dependence. */
@media(max-width:860px),(hover:none){
 :is(.collection-page,.home-collection) .collection-grid .collection-card{aspect-ratio:auto;overflow:hidden;transform:none!important;}
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-card-link{position:relative;inset:auto;display:flex;flex-direction:column;height:100%;}
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-visual{position:relative;inset:auto;width:100%!important;height:290px;flex:0 0 290px;border-radius:14px 14px 0 0!important;z-index:1;}
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-copy{position:relative;order:2;inset:auto!important;left:auto!important;right:auto!important;width:100%;height:auto;min-height:160px;padding:22px;opacity:1;visibility:visible;pointer-events:auto;transform:none!important;border:0;border-radius:0!important;box-shadow:none!important;gap:9px;flex:1;}
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-copy h2{font-size:21px;line-height:1.25;}
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-copy p{font:400 13px/1.6 var(--body);}
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-eyebrow{font-size:10px;line-height:1.5;}
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-position{top:44%;width:72%;}
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-image{max-height:220px;transform:none!important;}
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-float{animation:none;}
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-cta{height:47px;transform:none!important;font-size:11px;}
}

/* Keep long English and Animal Language previews inside the card. */
:is(.collection-page,.home-collection) .collection-grid .collection-card .collection-copy{min-height:0;overflow:hidden;overflow-wrap:anywhere;}
.collection-card .collection-copy .collection-eyebrow{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;flex-shrink:0;}
.collection-card .collection-copy h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;flex-shrink:0;}
:is(.collection-page,.home-collection) .collection-grid .collection-card .collection-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;min-height:0;max-height:10.2em;flex-shrink:1;}
@media(max-width:860px),(hover:none){
 :is(.collection-page,.home-collection) .collection-grid .collection-card .collection-copy p{max-height:9.6em;}
}
