.recommendation-hero { display:grid; grid-template-columns:1.15fr 1fr; gap:70px; align-items:center; padding-top:65px !important; padding-bottom:60px !important; }
.recommendation-hero .intro { font-size:1.1rem; color:#4a4a45; max-width:490px; margin-bottom:26px; }
.checked { font-size:.78rem; color:#596354; margin-top:26px; }
.featured-photo { margin:0; background:#e8e1d2; border-radius:160px 160px 8px 8px; overflow:hidden; }
.featured-photo img { display:block; width:100%; height:390px; object-fit:cover; }
.featured-photo figcaption { font:400 1.2rem var(--serif); padding:22px; color:var(--teal); }
.featured-photo figcaption span { display:block; font:400 .7rem var(--sans); margin-top:8px; }
.selection-note { border-top:1px solid #cccbb9; border-bottom:1px solid #cccbb9; padding-top:20px !important; padding-bottom:20px !important; font-size:.88rem; color:#4a4a45; }
.selection-note p { margin:8px 0; }
.recommendation-collection { padding-top:55px !important; padding-bottom:60px !important; scroll-margin-top:20px; }
.collection-heading { display:flex; justify-content:space-between; align-items:end; gap:25px; }
.collection-heading h2 { margin:15px 0 24px; }
.collection-heading > p { color:#596354; font-size:.82rem; }
.filters { display:flex; flex-wrap:wrap; gap:8px; }
.filter { min-height:44px; padding:10px 18px; border:1px solid #9bb39a; border-radius:100px; font:500 .8rem var(--sans); color:var(--teal); background:transparent; cursor:pointer; }
.filter.active { background:var(--teal); color:var(--pearl); }
.results-status { color:#596354; font-size:.82rem; margin:18px 0 28px; }
.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.product-card { display:flex; flex-direction:column; min-width:0; border:1px solid #d5d5c6; background:var(--pearl); border-radius:8px; overflow:hidden; }
.product-photo { position:relative; display:block; background:#e8e1d2; aspect-ratio:4/3; padding:0; overflow:hidden; }
.product-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.illustration-tag { position:absolute; top:12px; left:12px; right:12px; width:fit-content; max-width:calc(100% - 24px); background:rgba(251,248,241,.95); color:var(--teal-deep); border:1px solid #c4d2c3; border-radius:4px; padding:7px 10px; font:500 .65rem/1.4 var(--sans); }
.photo-credit a,.featured-photo figcaption a { color:var(--teal) !important; text-decoration:underline !important; }
.product-photo:hover img { transform:scale(1.03); }
.editor-tag { position:absolute; bottom:12px; left:12px; padding:6px 10px; border-radius:100px; background:var(--teal-deep); color:var(--pearl); font:500 .64rem var(--sans); letter-spacing:.06em; }
.photo-link-note { min-height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:15px; text-align:center; color:var(--teal); background:#f0ecdf; padding:22px; }
.photo-link-note > span { font:400 3rem var(--serif); }
.photo-link-note strong { font:400 1.4rem var(--serif); }
.photo-link-note small { font-size:.76rem; color:#596354; }
.product-photo.photo-unavailable { display:grid; place-items:center; background:#ebe5d6; text-align:center; padding:30px; }
.product-photo.photo-unavailable::after { content:'Illustrative photo unavailable. View the exact item on the retailer website.'; color:var(--teal); font-size:.9rem; }
.product-copy { padding:25px; display:flex; flex-direction:column; flex:1; }
.product-category { color:var(--teal); font-size:.65rem; text-transform:uppercase; letter-spacing:.12em; margin:0 0 13px; }
.product-copy h3 { margin:0 0 12px; font-size:1.5rem; }
.product-summary { font-size:.95rem; color:#4a4a45; margin:0 0 16px; }
.product-details { border:0 !important; padding:0 0 16px !important; margin-bottom:10px; }
.product-details summary { font:500 .82rem var(--sans); padding:10px 0; min-height:44px; }
.product-details summary::marker { color:var(--teal); }
.product-copy dl { font-size:.85rem; margin:0 0 20px; border-top:1px solid #d5d5c6; padding-top:16px; }
.product-copy dt { font-weight:500; color:var(--teal-deep); margin-top:12px; }
.product-copy dt:first-child { margin-top:0; }
.product-copy dd { margin:3px 0 0; color:#4a4a45; }
.photo-credit { font-size:.68rem; color:#596354; margin:0 0 14px; margin-top:auto; }
.product-cta { display:flex; justify-content:space-between; gap:15px; padding:13px 16px; background:var(--teal); color:var(--pearl) !important; border-radius:5px; font-size:.82rem; font-weight:500; min-height:44px; }
.product-cta:hover { background:var(--teal-deep); }
.retailer-links { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:15px; font-size:.78rem; }
.retailer-links a { text-decoration:underline; color:var(--teal); }
.retailer-links small { flex-basis:100%; color:#596354; }
.amazon-links { display:grid; gap:9px; }
.affiliate-note,.marketplace-help,.variant-note,.non-affiliate-note,.market-missing { font-size:.76rem; line-height:1.6; color:#596354; }
.marketplace-help { margin:0 0 18px; }
.variant-note { margin:8px 0 0; }
.non-affiliate-note { margin:0 0 14px; }
.brand-details { margin-top:15px; color:var(--teal) !important; font-size:.77rem; text-decoration:underline !important; }
.catalogue-section-divider { grid-column:1 / -1; padding:25px 0 5px; border-top:1px solid #c4d2c3; }
.catalogue-section-divider h3 { margin:0; }
.catalogue-section-divider p { font-size:.88rem; color:#596354; }
.buying-notes { padding-top:45px !important; padding-bottom:65px !important; border-top:1px solid #cccbb9; }
.notes-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; margin-bottom:25px; }
.notes-grid h3 { font-size:1.3rem; }
.notes-grid p { color:#4a4a45; font-size:.9rem; }
.catalogue-controls { border:1px solid #c4d2c3; padding:24px; border-radius:10px; background:var(--pearl); }
.catalogue-controls label { display:block; font:500 .8rem var(--sans); color:var(--teal-deep); }
.search-row { display:flex; gap:10px; margin:10px 0 18px; }
.search-row input { flex:1; min-width:0; padding:13px 16px; border:1px solid #9bb39a; border-radius:6px; background:white; color:var(--charcoal); font:400 1rem var(--sans); }
.search-submit { min-height:44px; padding:12px 22px; border:0; border-radius:6px; color:var(--pearl); background:var(--teal); font:500 .85rem var(--sans); cursor:pointer; }
.browse-options { display:flex; flex-wrap:wrap; align-items:end; gap:16px; margin:0 0 20px; }
.browse-options label { flex:1; min-width:190px; }
.browse-options select { display:block; width:100%; max-width:100%; margin-top:8px; padding:12px; border:1px solid #9bb39a; border-radius:6px; background:white; color:var(--teal-deep); font:400 .9rem var(--sans); }
.clear-filters { padding:12px 8px; min-height:44px; font:500 .8rem var(--sans); border:0; background:none; text-decoration:underline; color:var(--teal); cursor:pointer; }
.catalogue-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:36px; }
.catalogue-pagination a { display:grid; place-items:center; min-width:44px; min-height:44px; border:1px solid #9bb39a; border-radius:100px; font-weight:500; color:var(--teal); }
.catalogue-pagination a[aria-current] { color:var(--pearl); background:var(--teal); }
.page-caption { font-size:.85rem; color:#596354; margin-right:12px; }
.empty-results { padding:40px 24px; text-align:center; border:1px solid #c4d2c3; border-radius:10px; background:var(--pearl); }
@media(max-width:430px) { .catalogue-controls { padding:16px; } .search-submit { padding:12px; } .page-caption { flex-basis:100%; text-align:center; margin:0; } .browse-options label { min-width:0; flex-basis:100%; } }
@media(max-width:1000px) { .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .recommendation-hero { gap:35px; } }
@media(max-width:640px) { .recommendation-hero { grid-template-columns:1fr; padding-top:45px !important; gap:28px; } .featured-photo img { height:330px; } .product-grid,.notes-grid { grid-template-columns:1fr; } .collection-heading { display:block; } .product-copy { padding:24px; } .product-photo { aspect-ratio:1.1; } }
