/* Clearer product photography and a restrained editorial hierarchy. */
.product-visual { position:relative; }
.favorite-toggle { width:40px; height:40px; border:1px solid #e1e3da; border-radius:50%; display:inline-grid; place-items:center; background:#fff; color:#344a36; cursor:pointer; font-size:21px; flex-shrink:0; }
.favorite-toggle[aria-pressed="true"] { color:#9d3e40; background:#fff5f3; border-color:#eed0c9; }
.product-visual>.favorite-toggle,.detail-image>.favorite-toggle { position:absolute; top:12px; right:12px; z-index:2; }
.favorites-link { position:relative; flex-shrink:0; }
.favorite-count { position:absolute; top:0; right:0; min-width:15px; height:15px; padding:0 3px; display:grid; place-items:center; background:var(--yellow); color:var(--ink); border-radius:50%; font-size:9px; }
.favorites-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:60px; align-items:start; }
.favorites-toolbar { display:flex; align-items:center; gap:24px; border-bottom:1px solid var(--line); padding-bottom:20px; font-size:12px; }
.favorites-toolbar label { display:flex; gap:10px; align-items:center; }
.favorites-toolbar .text-link { margin-left:auto; border:0; background:none; font-size:12px; }
.favorites-content input[type="checkbox"] { width:18px; height:18px; accent-color:var(--accent); flex-shrink:0; }
.favorite-row { display:grid; grid-template-columns:20px 110px minmax(0,1fr) 40px; gap:22px; align-items:center; padding:22px 0; border-bottom:1px solid var(--line); }
.favorite-photo img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:6px; }
.favorite-info small { color:var(--muted); font-size:11px; }
.favorite-info h2 { font-size:18px; line-height:1.4; margin:8px 0; }
.favorite-info strong { font-size:14px; }
.favorites-summary { position:sticky; top:110px; border-top:2px solid var(--accent); padding-top:25px; }
.favorites-summary>i { font-size:30px; }
.favorites-summary h2 { font-size:27px; margin:20px 0 25px; }
.favorites-summary>div { display:flex; justify-content:space-between; gap:15px; font-size:13px; margin:18px 0; }
.favorites-summary small { display:block; color:var(--muted); margin-top:16px; font-size:11px; }
.favorites-summary button:disabled { opacity:.45; cursor:not-allowed; }
.favorites-empty { padding:45px 0; text-align:center; }
.favorites-empty>i { font-size:48px; color:var(--accent); }
.favorites-empty h2 { margin:20px 0 28px; font-size:28px; }
@media(max-width:1100px) { .favorites-layout { gap:30px; grid-template-columns:minmax(0,1fr) 290px; } .favorite-row { gap:15px; grid-template-columns:20px 85px minmax(0,1fr) 40px; } }
@media(max-width:900px) { .favorites-layout { grid-template-columns:1fr; } .favorites-summary { position:static; } }
@media(max-width:600px) {
 .favorite-toggle { width:34px; height:34px; font-size:18px; }
 .product-visual>.favorite-toggle,.detail-image>.favorite-toggle { top:8px; right:8px; }
 .favorites-toolbar { gap:10px; flex-wrap:wrap; }
 .favorites-toolbar .text-link { font-size:11px; }
 .favorite-row { grid-template-columns:18px 64px minmax(0,1fr) 34px; gap:10px; }
 .favorite-info h2 { font-size:14px; }.favorite-info small { font-size:9px; }
 .favorites-empty h2 { font-size:24px; }
}
:root { --paper:#fdfdfb; --paper-2:#f3f4ef; --line:#e1e3da; --yellow:#eed697; }
:root[data-theme="dark"] { --paper:#1d251f; --paper-2:#2b352c; --line:#445044; --yellow:#6d6039; }
.button,.add-button,.icon-btn { transition:background-color .18s,color .18s,border-color .18s; }
.brand > i { color:var(--accent); }
.header-actions { gap:8px; }
.nav a::after { transition:transform .18s; transform-origin:left; }
.market-opening { padding-top:54px; }
.market-heading { margin-bottom:42px; }
.market-heading .eyebrow { margin-bottom:24px; }
.market-heading h1 > span::after { height:9px; bottom:5px; }
.opening-note { border-left:1px solid var(--line); padding:0 0 0 30px; max-width:355px; }
.opening-note p { font-size:14px; }
.shelf-tabs button { padding-block:18px; }
.product-card { display:flex; flex-direction:column; }
.product-media { aspect-ratio:1.08; border-radius:7px; }
.product-media img { transition:transform .4s ease; }
.product-body { flex:1; display:flex; flex-direction:column; padding:18px 2px 0; }
.product-kicker { font-size:11px; margin-bottom:9px; }
.product-body h3 { font-size:17px; line-height:1.4; }
.product-meta { margin-top:auto; padding-top:18px; }
.product-image-arrow { opacity:1; bottom:14px; right:14px; width:34px; height:34px; }
.product-card .add-button { min-height:40px; height:40px; border-radius:5px; background:transparent; color:var(--accent); border-color:var(--line); padding:8px 12px; }
.product-card .add-button:hover { background:var(--accent); color:var(--paper); border-color:var(--accent); }
.product-card .price { font-size:17px; }
.service-line { padding-block:25px; }
.service-line i { color:var(--accent); }
.service-line span { font-size:12px; }
.section-head { margin-bottom:32px; }
.section-title { font-size:36px; line-height:1.22; }
.collection-edit { padding-block:76px; }
.collection-stories { margin:0; gap:32px; }
.collection-scene { height:auto; background:none; color:var(--ink); display:block; }
.collection-scene figure { position:relative; margin:0; aspect-ratio:1.8; overflow:hidden; border-radius:7px; }
.collection-scene img { position:static; width:100%; height:100%; object-position:center 57%; transition:transform .4s ease; }
.collection-scene:hover img { transform:scale(1.025); }
.collection-scene > div { position:static; padding:22px 0 0; background:none; display:grid; grid-template-columns:1fr auto; gap:10px 20px; align-items:center; }
.collection-scene div > span:first-child { grid-column:1/-1; color:var(--muted); font-size:10px; }
.collection-scene h2 { font-size:26px; margin:0; line-height:1.3; }
.scene-link { margin:0; padding:0; border:0; font-size:11px; gap:14px; align-items:center; }
.scene-link i { border:1px solid var(--line); border-radius:50%; width:40px; height:40px; display:grid; place-items:center; font-size:19px; flex-shrink:0; }
.collection-scene:hover .scene-link i { background:var(--accent); color:var(--paper); }
.meal-finder { border-block:1px solid var(--line); padding-block:64px; }
.meal-curation { gap:58px; align-items:center; }
.meal-photo { aspect-ratio:1.08; border-radius:7px; }
.meal-ticket h3 { font-size:32px; line-height:1.25; }
.meal-ticket > p:not(.eyebrow) { font-size:13px; }
.meal-tabs button { min-height:46px; }
.journal-home { padding-block:80px; }
.journal-home .journal-grid { grid-template-columns:1.12fr 1fr; column-gap:44px; row-gap:28px; }
.journal-home .journal-card:first-child { grid-row:span 2; }
.journal-home .journal-card:first-child .journal-card-media { aspect-ratio:1.85; }
.journal-home .journal-card:first-child h3 { font-size:29px; line-height:1.25; max-width:550px; }
.journal-home .journal-card:not(:first-child) { display:grid; grid-template-columns:165px minmax(0,1fr); gap:23px; align-items:start; border-bottom:1px solid var(--line); padding-bottom:26px; }
.journal-home .journal-card:not(:first-child) .journal-card-media { aspect-ratio:.92; }
.journal-home .journal-card:not(:first-child) .journal-card-copy { padding:0; }
.journal-home .journal-card:not(:first-child) h3 { font-size:21px; }
.journal-card-copy p { line-height:1.8; }
.journal-card-media { border-radius:7px; }
.journal-meta { font-size:11px; }
.journal-card .text-link { border-bottom:1px solid var(--line); padding-bottom:5px; }
.makers { background:var(--paper-2); border-block:1px solid var(--line); }
.makers-photo { min-height:450px; }
.makers-copy { padding:54px 64px; }
.makers-copy .eyebrow { color:var(--muted); }
.makers-copy h2 { font-size:40px; line-height:1.25; }
.makers-copy .button { background:none; color:var(--ink); border-color:var(--line); }
.makers-copy .button:hover { background:var(--accent); color:var(--paper); }
.footer { padding-top:68px; }
.footer .brand > i { color:inherit; }
.footer-grid { gap:48px; }
.footer-intro p { font-size:14px; max-width:250px; }
.footer-links { font-size:12px; gap:14px; }
.footer-links strong { font-size:13px; }
.catalog-heading { background:var(--paper-2); border-bottom:1px solid var(--line); padding-block:48px; }
.catalog-heading h1 { font-size:48px; }
.catalog-heading p:not(.eyebrow) { font-size:13px; }
.catalog-toolbar { margin-block:28px; }
.journal-masthead { background:var(--paper-2); border-bottom:1px solid var(--line); }
.journal-masthead h1 { font-size:58px; }
.journal-masthead h1 span { color:var(--muted); }
.journal-guide-link { background:var(--paper); border-bottom:1px solid var(--line); }
.bread-guide-grid a { padding-bottom:22px; border-bottom:1px solid var(--line); }
.bread-guide-grid h3 { line-height:1.35; }
.bread-guide-grid a>span { margin-top:20px; }
.faq-list summary { min-height:32px; }
.detail-image { border-radius:7px; }
.detail-copy .detail-actions .button { min-height:52px; }
.article-cover img { border-radius:7px; }
@media(max-width:1150px) {
 .header-actions { gap:2px; }
 .collection-scene > div { grid-template-columns:1fr; }
 .collection-scene h2 { font-size:25px; }
 .scene-link { margin-top:6px; justify-content:space-between; }
 .journal-home .journal-grid { column-gap:28px; }
 .journal-home .journal-card:not(:first-child) { grid-template-columns:130px minmax(0,1fr); gap:18px; }
 .journal-home .journal-card:not(:first-child) h3 { font-size:18px; }
 .product-card .add-button { width:40px; padding:0; }
 .makers-copy { padding:40px; }
}
@media(max-width:900px) {
 .market-opening { padding-top:36px; }
 .opening-note { padding-left:22px; }
 .opening-note p { font-size:12px; }
 .product-card .add-button { width:auto; padding:8px 12px; }
 .section-title { font-size:31px; }
 .collection-stories { gap:24px; }
 .meal-curation { gap:30px; }
 .journal-home .journal-card:not(:first-child) { grid-template-columns:100px minmax(0,1fr); gap:16px; }
 .journal-home .journal-card:first-child h3 { font-size:25px; }
 .journal-home .journal-card:not(:first-child) h3 { font-size:17px; }
 .makers-copy h2 { font-size:30px; }
 .footer-grid { gap:35px; }
}
@media(max-width:600px) {
 .market-opening { padding:28px 0 34px; }
 .market-heading { margin-bottom:20px; }
 .market-heading .eyebrow { margin-bottom:18px; }
 .market-heading h1 { font-size:35px; }
 .opening-note { border:0; padding:0; margin-top:18px; }
 .opening-note p { font-size:12px; }
 .product-media { aspect-ratio:1; }
 .product-body { padding-top:12px; }
 .product-kicker { font-size:9px; }
 .product-body h3 { font-size:14px; min-height:40px; }
 .product-meta { padding-top:12px; }
 .product-card .price { font-size:14px; }
 .product-card .add-button { width:35px; height:35px; min-height:35px; padding:0; }
 .service-line { padding-block:20px; }
 .service-line span { font-size:9px; }
 .section-title { font-size:28px; }
 .section-head { gap:15px; margin-bottom:25px; }
 .collection-edit { padding-block:40px; }
 .collection-edit .section-head { display:block; }
 .collection-edit .section-head .text-link { margin-top:14px; font-size:11px; }
 .collection-stories { gap:30px; }
 .collection-scene figure { aspect-ratio:1.6; }
 .collection-scene > div { padding-top:17px; gap:8px; }
 .collection-scene h2 { font-size:25px; }
 .scene-link { font-size:11px; }
 .scene-link i { width:34px; height:34px; }
 .meal-finder { padding-block:38px; }
 .meal-photo { aspect-ratio:.85; }
 .meal-ticket h3 { font-size:22px; }
 .meal-ticket > p:not(.eyebrow) { font-size:11px; }
 .meal-tabs button { min-height:37px; }
 .journal-home { padding-block:42px; }
 .journal-home .journal-grid { grid-template-columns:1fr; row-gap:25px; }
 .journal-home .journal-card:first-child { grid-row:auto; display:block; }
 .journal-home .journal-card:first-child .journal-card-copy { padding-top:17px; }
 .journal-home .journal-card:first-child h3 { font-size:25px; }
 .journal-home .journal-card:first-child .journal-card-copy p { font-size:12px; }
 .journal-home .journal-card:not(:first-child) { grid-template-columns:110px minmax(0,1fr); gap:18px; }
 .journal-home .journal-card:not(:first-child) h3 { font-size:16px; }
 .journal-meta { font-size:9px; }
 .makers-photo { min-height:0; }
 .makers-copy { padding:35px 24px; }
 .makers-copy h2 { font-size:30px; }
 .footer { padding-top:40px; }
 .footer-grid { gap:30px 22px; }
 .footer-links { font-size:11px; }
 .footer-links strong { font-size:12px; }
 .catalog-heading { padding-block:32px; }
 .catalog-heading h1 { font-size:34px; }
 .catalog-heading p:not(.eyebrow) { font-size:12px; }
 .journal-masthead h1 { font-size:40px; }
}
@media(max-width:360px) {
 .market-heading h1 { font-size:30px; }
 .product-body h3 { font-size:12px; }
 .product-card .price { font-size:12px; }
 .product-kicker { font-size:8px; }
 .meal-ticket h3 { font-size:18px; }
 .journal-home .journal-card:not(:first-child) { grid-template-columns:90px minmax(0,1fr); gap:14px; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { transition:none!important; }
}
