/* Editorial eyewear collection cards, shared by the homepage and collection index. */
.home-collections { padding:64px 0 56px; max-width:1440px; margin:0 auto; }
.home-collections-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:32px; }
.home-collections-heading .section-eyebrow { color:#b32a27; font-size:10px; letter-spacing:.16em; font-weight:600; margin:0 0 12px; }
.home-collections-heading h2 { color:#222529; font-size:clamp(27px,3vw,42px); letter-spacing:-.045em; line-height:1.18; margin:0; font-weight:600; }
.home-collections-intro { color:#73716e; font-size:14px; line-height:1.7; margin:14px 0 0; }
.home-collections-all { display:inline-flex; align-items:center; gap:18px; padding-bottom:8px; border-bottom:1px solid #222529; color:#222529; font-size:12px; font-weight:600; white-space:nowrap; }
.home-collections-all span { font-size:21px; font-weight:400; }
.home-collections-all:hover { color:#d50000; border-color:#d50000; }
.collection-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.collection-card { display:flex; flex-direction:column; min-width:0; color:#222529; background:#fff; text-decoration:none; }
.collection-card:hover { color:#222529; text-decoration:none; }
.collection-card-media { position:relative; aspect-ratio:4/5; overflow:hidden; background:#f1ede6; }
.collection-card-media > img:first-child { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.collection-card-media .collection-card-pictogram { position:absolute; z-index:2; top:13px; right:13px; display:block; width:76px; height:76px; object-fit:contain; filter:drop-shadow(0 2px 4px rgba(0,0,0,.15)); }
.collection-card-arrow { position:absolute; right:16px; bottom:16px; width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#222529; background:#fff; font-size:22px; line-height:1; transition:background .2s,color .2s; }
.collection-card:hover .collection-card-media > img:first-child { transform:scale(1.035); }
.collection-card:hover .collection-card-arrow, .collection-card:focus-visible .collection-card-arrow { background:#d50000; color:#fff; }
.collection-card-copy { padding:23px 0 0; display:flex; flex-direction:column; flex:1; align-items:flex-start; }
.collection-card-eyebrow { color:#75604b; font-size:9px; font-weight:600; letter-spacing:.12em; line-height:1.6; text-transform:uppercase; margin-bottom:8px; }
.collection-card p { color:#6e6c69; font-size:13px; line-height:1.8; margin:0 0 18px; }
.collection-card .collection-card-title { font-size:clamp(18px,1.6vw,23px); font-weight:600; line-height:1.35; letter-spacing:-.035em; margin:0 0 10px; color:#222529; }
.collection-card-link { margin-top:auto; padding-bottom:5px; border-bottom:1px solid #ccc5bc; font-size:11px; font-weight:600; line-height:1.8; color:#222529; }
.collection-card-link span { margin-left:12px; transition:margin .2s ease; }
.collection-card:hover .collection-card-link { color:#b30000; border-color:#b30000; }
.collection-card:focus-visible, .home-collections-all:focus-visible { outline:2px solid #d50000; outline-offset:6px; }
.collections-directory .collection-grid { margin-top:32px; }
.collection-cover { margin:28px 0 32px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; background:#f5f1ea; }
.collection-cover-media { position:relative; min-width:0; max-height:440px; min-height:300px; overflow:hidden; }
.collection-cover-media > img:first-child { display:block; width:100%; height:100%; object-fit:cover; }
.collection-cover-media .collection-cover-pictogram { position:absolute; top:20px; right:20px; width:96px; height:96px; object-fit:contain; filter:drop-shadow(0 3px 6px rgba(0,0,0,.16)); }
.collection-cover-copy { padding:40px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.collection-cover-copy h1 { font-size:clamp(28px,3.4vw,44px); line-height:1.2; letter-spacing:-.04em; margin:10px 0 18px; }
.collection-cover-copy p { font-size:14px; color:#68655f; line-height:1.8; }
.collection-cover-copy .collection-count { margin-top:12px; font-size:11px; letter-spacing:.04em; }
@media(max-width:991px) { .collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 22px; } .home-collections { padding:44px 0; } .collection-card-media { aspect-ratio:1/1; } .collection-card h3 { font-size:22px; } }
@media(max-width:575px) { .home-collections-heading { align-items:flex-start; flex-direction:column; gap:20px; margin-bottom:25px; } .home-collections-intro { font-size:13px; } .collection-grid { grid-template-columns:minmax(0,1fr); gap:32px; } .collection-card-media { aspect-ratio:5/4; } .collection-card-media .collection-card-pictogram { width:66px; height:66px; top:10px; right:10px; } .collection-card-copy { padding-top:18px; } .collection-card .collection-card-title { font-size:24px; } .collection-card p { max-width:38em; } .collection-cover { grid-template-columns:minmax(0,1fr); } .collection-cover-media { height:280px; min-height:0; } .collection-cover-media .collection-cover-pictogram { width:78px; height:78px; top:12px; right:12px; } .collection-cover-copy { padding:28px 24px; } }
@media(prefers-reduced-motion:reduce) { .collection-card-media > img:first-child, .collection-card-arrow, .collection-card-link span { transition:none; } }

/* Collection browsing and product cards. */
.collection-products { scroll-margin-top:90px; }
.collection-results-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:12px 0 20px; }
.collection-results-heading h2 { margin:4px 0 0; color:#222529; font-size:clamp(23px,2.2vw,31px); line-height:1.2; letter-spacing:-.035em; }
.collection-results-heading p { margin:0 0 3px; color:#6b6965; font-size:12px; }
.collection-filters { display:grid; grid-template-columns:minmax(150px,1.25fr) repeat(2,minmax(135px,1fr)) minmax(165px,1.1fr) minmax(150px,1fr) auto; gap:12px; align-items:end; padding:19px; margin:0 0 25px; border:1px solid #e8e5df; border-radius:9px; background:#faf9f7; }
.collection-filter-field,.collection-filter-price { min-width:0; }
.collection-filter-field label,.collection-filter-price > span { display:block; margin:0 0 7px; color:#585650; font-size:11px; font-weight:600; line-height:1.3; }
.collection-filter-field input,.collection-filter-field select,.collection-filter-price input { display:block; width:100%; height:42px; min-width:0; padding:0 11px; border:1px solid #dcd8d1; border-radius:4px; outline:none; background:#fff; color:#272727; font-family:inherit; font-size:12px; }
.collection-filter-field input:focus,.collection-filter-field select:focus,.collection-filter-price input:focus { border-color:#a8765b; box-shadow:0 0 0 2px rgba(168,118,91,.13); }
.collection-filter-price > div { display:flex; align-items:center; gap:5px; }
.collection-filter-price > div > span { color:#89857e; }
.collection-filter-price input { padding:0 7px; }
.collection-filter-actions { display:flex; align-items:center; gap:9px; min-height:42px; }
.collection-filter-actions button { min-height:42px; padding:0 15px; border:1px solid #222529; border-radius:4px; background:#222529; color:#fff; font-family:inherit; font-size:11px; font-weight:600; white-space:nowrap; cursor:pointer; }
.collection-filter-actions button:hover { background:#383c40; }
.collection-filter-actions a { color:#6a625a; font-size:11px; white-space:nowrap; text-decoration:underline; }
.collection-filter-actions button:focus-visible,.collection-filter-actions a:focus-visible { outline:2px solid #a8765b; outline-offset:3px; }
.collections-directory .growth-card-grid { margin:0; gap:18px; }
.collections-directory .collection-product-card { padding:11px; border:1px solid #e9e6e1; border-radius:7px; background:#fff; box-shadow:0 3px 16px rgba(34,37,41,.035); transition:box-shadow .2s,border-color .2s,transform .2s; }
.collections-directory .collection-product-card:hover { border-color:#d9d2c9; box-shadow:0 11px 27px rgba(34,37,41,.09); transform:translateY(-2px); }
.collections-directory .collection-product-card .growth-card-media { aspect-ratio:1/1; border-radius:4px; background:#f8f7f5; }
.collections-directory .collection-product-card .growth-card-product { width:100%; height:100%; }
.collections-directory .collection-product-card .growth-card-product > img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.collections-directory .collection-product-card .product-card-brand { top:9px; left:9px; width:min(115px,calc(100% - 66px)); height:38px; padding:3px 6px; }
.collections-directory .collection-product-card .product-card-brand img { max-width:105px; max-height:29px; }
.collections-directory .collection-product-card .product-image-badges { top:8px; right:8px; gap:3px; }
.collections-directory .collection-product-card .product-image-badge { width:48px; height:48px; flex-basis:48px; filter:drop-shadow(0 1px 2px rgba(0,0,0,.13)); }
.collections-directory .collection-product-card .product-image-badge img { width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; }
.collections-directory .collection-product-info { display:flex; flex:1; flex-direction:column; padding:15px 3px 12px; }
.collections-directory .collection-product-category { display:block; min-height:1.3em; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:#8a8178; font-size:10px; font-weight:600; letter-spacing:.075em; text-transform:uppercase; }
.collections-directory .collection-product-card .growth-card-title { min-height:2.7em; margin:7px 0 13px; color:#222529; font-size:15px; font-weight:600; line-height:1.35; letter-spacing:-.015em; }
.collections-directory .collection-product-card .growth-card-title a { color:#222529; line-height:inherit; }
.collections-directory .collection-product-card .growth-card-title a:hover { color:#aa3b31; }
.collections-directory .collection-product-card .growth-card-price { margin:0; color:#222529; font-size:17px; font-weight:700; line-height:1.3; }
.collections-directory .collection-product-card .growth-card-actions { gap:7px; padding:0 3px 3px; }
.collections-directory .collection-product-card .growth-card-actions .btn { min-height:42px; padding:9px 10px; border-radius:4px; font-size:11px; font-weight:600; letter-spacing:.02em; text-transform:none; }
.collections-directory .collection-product-card .growth-card-actions .btn span { margin-left:8px; font-size:15px; font-weight:400; line-height:0; }
.collections-directory .collection-product-card .growth-card-wishlist { flex:0 0 42px; width:42px; min-height:42px; margin:0; border-radius:4px; }
.collection-empty { padding:48px 24px; border:1px solid #e9e6e1; border-radius:8px; background:#faf9f7; text-align:center; }
.collection-empty h3 { margin:0 0 8px; font-size:22px; }
.collection-empty p { color:#726f69; font-size:14px; }
.collection-empty a { display:inline-block; margin-top:8px; padding:10px 15px; background:#222529; color:#fff; font-size:12px; }
.collection-pagination { justify-content:center; margin:31px 0 0; }
.collection-pagination a { display:inline-flex; align-items:center; justify-content:center; min-width:38px; min-height:38px; padding:5px 9px; border:1px solid #dedbd6; border-radius:4px; color:#222529; }
.collection-pagination a[aria-current] { border-color:#222529; background:#222529; color:#fff; }
@media(max-width:1199px) { .collection-filters { grid-template-columns:repeat(3,minmax(0,1fr)); } .collection-filter-actions { justify-content:flex-start; } .collections-directory .growth-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) { .collection-filters { grid-template-columns:repeat(2,minmax(0,1fr)); padding:14px; } .collection-filter-search,.collection-filter-actions { grid-column:1/-1; } .collections-directory .growth-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) { .collection-results-heading { align-items:flex-start; flex-direction:column; gap:6px; } .collection-filter-actions button { flex:1; } .collections-directory .growth-card-grid { gap:10px; } .collections-directory .collection-product-card { padding:7px; } .collections-directory .collection-product-card .product-card-brand { top:5px; left:5px; width:min(92px,calc(100% - 47px)); height:30px; padding:2px 4px; } .collections-directory .collection-product-card .product-card-brand img { max-width:82px; max-height:24px; } .collections-directory .collection-product-card .product-image-badges { top:4px; right:4px; gap:1px; } .collections-directory .collection-product-card .product-image-badge { width:36px; height:36px; flex-basis:36px; } .collections-directory .collection-product-info { padding:11px 2px 10px; } .collections-directory .collection-product-card .growth-card-title { font-size:13px; margin:5px 0 10px; } .collections-directory .collection-product-card .growth-card-price { font-size:14px; } .collections-directory .collection-product-card .growth-card-actions { gap:5px; padding:0 2px 2px; } .collections-directory .collection-product-card .growth-card-actions .btn { min-height:37px; padding:5px 5px; font-size:10px; } .collections-directory .collection-product-card .growth-card-actions .btn span { display:none; } .collections-directory .collection-product-card .growth-card-wishlist { flex-basis:37px; width:37px; min-height:37px; } }
@media(max-width:390px) { .collection-filters { grid-template-columns:minmax(0,1fr); } .collection-filter-search,.collection-filter-actions { grid-column:auto; } }
@media(prefers-reduced-motion:reduce) { .collections-directory .collection-product-card { transition:none; } }
