.shelf-hero{max-width:690px;margin:40px 0 30px}.shelf-hero h1{font-size:clamp(42px,7vw,72px);line-height:1.04;letter-spacing:-.055em}.shelf-hero h1 em{font-weight:400}.shelf-hero p{font-size:18px;line-height:1.65}.shelf-tools,.shelf-alerts,.shelf-note{border:1px solid #234a3430;border-radius:22px;padding:24px;margin:22px 0;background:#fff9}.shelf-tools input,.shelf-tools select,.shelf-alerts select{width:100%;padding:14px;border:1px solid #234a3450;border-radius:12px;font:inherit;background:#fffdf7;color:#183e30;margin:8px 0 16px}.shelf-selects{display:grid;grid-template-columns:1fr 1fr;gap:16px}.shelf-tools label,.shelf-alerts label{display:block}.shelf-alerts summary{cursor:pointer;font-weight:bold;padding:4px 0}.shelf-alerts input{width:20px;height:20px;vertical-align:middle;margin:10px 10px 10px 0}.shelf-small{font-size:14px;line-height:1.5}.shelf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.shelf-card{border:1px solid #234a3430;border-radius:22px;background:#fffdf7;overflow:hidden}.shelf-picture{height:180px;background:#e5ebd6;display:grid;place-items:center;font-size:44px}.shelf-picture img{height:150px;width:85%;object-fit:contain}.shelf-card-content{padding:20px}.shelf-card h2{font-size:23px;line-height:1.2;margin:10px 0}.shelf-card p{line-height:1.5}.shelf-tag{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.shelf-card a{display:block;margin:15px 0}.shelf-card button,.shelf-tools button,#shelf-retry{border:1px solid currentColor;border-radius:30px;padding:11px 17px;background:transparent;color:inherit;font:inherit;cursor:pointer}.shelf-card button[aria-pressed=true],.shelf-tools button[aria-pressed=true]{background:#183e30;color:#fffdf7}.shelf-empty{grid-column:1/-1;text-align:center;padding:50px 24px;border:1px dashed #234a3450;border-radius:22px}.shelf-empty h2{font-size:27px}.shelf-note p{font-size:14px;line-height:1.7}.shelf-home-entry{display:inline-flex;align-items:center;gap:8px;padding:13px 20px;border:1px solid currentColor;border-radius:30px;color:inherit;text-decoration:none;margin:22px 0 0;font-size:16px}.shelf-unread{background:#f6e6aa;color:#183e30;border-radius:20px;padding:2px 7px;font:700 12px Arial}.shelf-banner{position:fixed;left:16px;right:16px;bottom:100px;z-index:100;background:#fff9de;color:#183e30;border:1px solid #183e3060;border-radius:18px;padding:17px;box-shadow:0 5px 30px #0002;font:16px/1.5 Arial}.shelf-banner a{color:inherit}.shelf-banner button{float:right;background:none;border:0;padding:6px 10px;color:inherit;font-size:20px}.shelf-tools :focus-visible,.shelf-alerts :focus-visible,.shelf-card :focus-visible{outline:3px solid #a3741c;outline-offset:3px}@media(max-width:580px){.shelf-grid{grid-template-columns:1fr}.shelf-hero{margin-top:24px}.shelf-tools,.shelf-alerts,.shelf-note{padding:18px}.shelf-selects{gap:10px}.shelf-picture{height:160px}}
.shelf-brand-art{display:flex;flex-direction:column;text-align:center;gap:12px;padding:20px}.shelf-brand-art small{font:600 10px Arial;letter-spacing:.18em}.shelf-brand-art strong{font:bold 28px Georgia,serif}.shelf-brand-art span{font:italic 15px Georgia,serif}.shelf-card:nth-child(3n+2) .shelf-picture{background:#f2dfc7}.shelf-card:nth-child(3n) .shelf-picture{background:#e6d8e8}

/* Match the city title and quick-selection controls. */
.shelf-hero{margin:0;padding:32px 0 24px;max-width:780px}
.shelf-hero h1{font:italic 700 clamp(42px,7vw,78px)/1.15 Fraunces,Georgia,serif;letter-spacing:-.045em;margin:0;text-wrap:balance}
.shelf-hero .kicker{font:700 11px/1.5 Arial,sans-serif;letter-spacing:3px;margin:0 0 10px}
.shelf-hero p:not(.kicker){font-size:17px;line-height:1.5;margin:12px 0 0;max-width:620px}
.shelf-categories{display:flex;gap:8px;flex-wrap:wrap}
.shelf-categories button{min-height:44px;border:1px solid color-mix(in srgb,var(--palette-ink,#50465e) 22%,transparent);border-radius:25px;padding:10px 17px;background:var(--palette-surface,#faf8fc);color:var(--palette-ink,#50465e);font:15px Arial,sans-serif;cursor:pointer}
.shelf-categories button[aria-pressed=true]{background:var(--palette-ink,#50465e);color:var(--palette-surface,#faf8fc)}
.shelf-categories button:focus-visible{outline:3px solid #a77735;outline-offset:4px}
@media(max-width:600px){.shelf-hero h1{font-size:clamp(37px,9vw,52px)}.shelf-categories{gap:6px}.shelf-categories button{padding:9px 13px;font-size:13px}}

/* White paper and Bordeaux ink for the product shelf. */
body[data-palette=shelf]{--palette-page:#fff;--palette-ink:#701c34;--palette-surface:#fff;--palette-accent:#701c34;background:#fff;color:#701c34}
body[data-palette=shelf]:before{display:none}
body[data-palette=shelf] :is(.shelf-tools,.shelf-alerts,.shelf-note,.shelf-card,.shelf-empty,.shelf-banner){background:#fff;color:var(--palette-ink);border-color:#701c3440}
body[data-palette=shelf] :is(.shelf-tools input,.shelf-tools select,.shelf-alerts select){background:#fff;color:var(--palette-ink);border-color:#701c3466;accent-color:var(--palette-ink)}
body[data-palette=shelf] :is(a,.heading-doodle,.croissant-menu-toggle,.shelf-brand-art){color:inherit}
body[data-palette=shelf] .shelf-picture{background:#fff;border-bottom:1px solid #701c3426}
body[data-palette=shelf] :is(.shelf-card button,.shelf-tools button)[aria-pressed=true],body[data-palette=shelf] .shelf-unread{background:var(--palette-ink);color:#fff}
body[data-palette=shelf] input{accent-color:var(--palette-ink)}
body[data-palette=shelf] input::placeholder{color:#701c34b3}
body[data-palette=shelf] :focus-visible{outline-color:var(--palette-ink)}
body[data-palette=shelf] .app-nav a:is(:hover,[aria-current=page]){background:#701c3410}

.shelf-diet-icon{width:24px;height:28px;flex:none;vertical-align:middle}[data-shelf-link]{display:inline-flex;align-items:center;gap:8px}

.lactose-wordmark{font:italic 700 34px/1 Fraunces,Georgia,serif}.lactose-wordmark small{display:block;font:700 10px/1.6 Arial;letter-spacing:3px}

/* Lactose shelf: white with muted kitchen blue. */
body[data-palette=shelf][data-diet=lactose]{--palette-page:#fff;--palette-surface:#fff;--palette-ink:#526b7a;--palette-accent:#526b7a;--ink:#526b7a;--line:#526b7a40;background:#fff;color:#526b7a}
body[data-palette=shelf][data-diet=lactose] :is(.shelf-tools,.shelf-alerts,.shelf-note,.shelf-card,.shelf-empty,.shelf-banner,.croissant-menu,.croissant-menu-toggle,.app-nav){background:#fff;color:#526b7a;border-color:#526b7a40;box-shadow:none}
body[data-palette=shelf][data-diet=lactose] :is(.shelf-tools input,.shelf-tools select,.shelf-alerts select){border-color:#526b7a66}
body[data-palette=shelf][data-diet=lactose] .shelf-picture{border-bottom-color:#526b7a26}
body[data-palette=shelf][data-diet=lactose] input::placeholder{color:#526b7ab3}
body[data-palette=shelf][data-diet=lactose] :is(.croissant-menu>a,.app-nav a):is(:hover,[aria-current=page]){background:#526b7a10;color:#526b7a}
body[data-palette=shelf][data-diet=lactose] .croissant-menu>a+a{border-color:#526b7a26}

/* Three compact products per row, including phone screens. */
body[data-palette=shelf] .shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
body[data-palette=shelf] .shelf-card{display:flex;flex-direction:column;min-width:0;border-radius:16px}
body[data-palette=shelf] .shelf-picture{height:auto;aspect-ratio:1;flex:none;padding:10px}
body[data-palette=shelf] .shelf-picture img{width:100%;height:100%;max-height:180px;object-fit:contain}
body[data-palette=shelf] .shelf-card-content{display:flex;flex-direction:column;flex:1;padding:14px}
body[data-palette=shelf] .shelf-card h2{font-size:18px;line-height:1.25;margin:9px 0;overflow-wrap:anywhere}
body[data-palette=shelf] .shelf-card p{font-size:13px;line-height:1.45;margin:0 0 10px;overflow-wrap:anywhere}
body[data-palette=shelf] .shelf-store-label{font-size:11px;opacity:.85}
body[data-palette=shelf] .shelf-tag{font-size:10px;line-height:1.4;letter-spacing:.02em}
body[data-palette=shelf] .shelf-source{margin:auto 0 8px;padding:10px 0;min-height:44px;display:flex;align-items:center;font-size:13px}
body[data-palette=shelf] .shelf-card button{font-size:13px;padding:8px 5px;min-height:44px;width:100%;margin:0}
body[data-palette=shelf] .shelf-brand-art{padding:4px;gap:7px;min-width:0}
body[data-palette=shelf] .shelf-brand-art strong{font-size:21px;overflow-wrap:anywhere}
body[data-palette=shelf] .shelf-brand-art small{font-size:8px}
body[data-palette=shelf] .shelf-brand-art>span{font-size:12px}
@media(max-width:600px){
 body[data-palette=shelf] .shelf-grid{gap:8px}
 body[data-palette=shelf] .shelf-card{border-radius:12px}
 body[data-palette=shelf] .shelf-picture{padding:6px}
 body[data-palette=shelf] .shelf-card-content{padding:8px}
 body[data-palette=shelf] .shelf-card h2{font-size:13px;line-height:1.3;margin:7px 0}
 body[data-palette=shelf] .shelf-card p{font-size:12px;line-height:1.4}
 body[data-palette=shelf] .shelf-tag{font-size:9px;letter-spacing:0}
 body[data-palette=shelf] .shelf-card .shelf-store-label{font-size:10px}
 body[data-palette=shelf] .shelf-card button,body[data-palette=shelf] .shelf-source{font-size:12px}
 body[data-palette=shelf] .shelf-brand-art strong{font-size:16px}
 body[data-palette=shelf] .shelf-brand-art small{font-size:7px;letter-spacing:.05em}
 body[data-palette=shelf] .shelf-brand-art>span{font-size:10px}
}
