/* Restaurant discovery extends the existing pine / claret identity without photos. */
body[data-page="home"],body[data-page="browse"],body[data-page="spot"],body[data-page="guide"] {--page-max:1120px;}
.page {width:100%;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.finder-intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:24px 0;}
.finder-intro h1{font-family:var(--display);font-size:clamp(2rem,5vw,3.6rem);line-height:1.08;margin:8px 0 12px;letter-spacing:-.025em;}
.finder-intro p{font-size:1rem;}
.eyebrow{font-size:.875rem;font-weight:650;letter-spacing:.015em;color:#553440;}
.eyebrow span{color:var(--muted);font-weight:450;}
.finder-search{display:flex;border:1px solid var(--line-strong);padding:6px;gap:8px;border-radius:12px;background:var(--paper);}
.finder-search input{background:transparent;border:0;min-width:0;flex:1;padding:12px;font:inherit;font-size:1rem;color:var(--ink);}
.finder-search button{flex-shrink:0;}
.finder-kind{display:flex;gap:8px;margin:20px 0 16px;}
.finder-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.finder-field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:.875rem;font-weight:600;}
.finder-field select,.finder-field input,.suggest-form input,.suggest-form textarea,.suggest-form select{width:100%;min-width:0;font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:8px;padding:11px;min-height:44px;}
.more-filters{margin:16px 0;border-bottom:1px solid var(--line);padding-bottom:16px;}
.more-filters summary{cursor:pointer;font-size:1rem;padding:8px 0;}
.more-filters .finder-filters{margin-top:12px;}
.origin-buttons{display:flex;flex-direction:column;justify-content:end;align-items:start;gap:8px;}
.fine{font-size:.875rem!important;line-height:1.6;color:#505b53;margin:12px 0;}
.finder-toggles{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin:16px 0;}
.finder-toggles label{display:flex;align-items:center;gap:8px;font-size:1rem;}
.finder-toggles input{width:18px;height:18px;accent-color:var(--accent);}
.results-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin:28px 0 18px;}
.results-heading h2{font:600 1.6rem var(--display);margin:0;flex:1;}
.results-heading .finder-field{flex-direction:row;align-items:center;gap:10px;}
.results-heading select{width:auto;}
.dining-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.dining-card{min-width:0;background:var(--paper);padding:22px;border-radius:14px;border:1px solid var(--line);box-shadow:0 2px 0 rgba(20,25,22,.03);display:flex;flex-direction:column;gap:12px;}
.dining-card h3{font:600 1.6rem/1.2 var(--display);}
.dining-card h3 a{text-decoration:none;}
.dining-card h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;}
.dining-card>p{font-size:1rem;line-height:1.6;}
.dining-card .card-foot{font-size:.875rem;color:var(--muted);margin-top:auto;}
.card-top{display:flex;justify-content:space-between;gap:12px;align-items:start;}
.heart-button{width:44px;height:44px;border-radius:50%;background:transparent;border:1px solid var(--line-strong);flex-shrink:0;font-size:1.5rem;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);}
.heart-button[aria-pressed="true"]{background:var(--accent-soft);}
.order-line strong{display:block;color:var(--accent);font-size:.875rem;margin-bottom:3px;}
.match-reasons{font-size:.875rem!important;background:#e9efe8;color:#294a34;border-radius:6px;padding:8px;}
.detail-link{font-weight:650;text-underline-offset:3px;}
.shortlist-panel{border-top:4px solid var(--accent);padding:4px 18px 22px;background:#dce5dd;border-radius:0 0 14px 14px;margin-bottom:24px;}
.picks-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.picks-grid .dining-card{padding:16px;}
.empty-state{grid-column:1/-1;border:1px dashed var(--line-strong);border-radius:12px;padding:30px;display:flex;flex-direction:column;gap:16px;align-items:start;}
.guide-footer{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding:24px 0 36px;margin-top:36px;font-size:.875rem;}
.guide-footer p{flex-basis:100%;color:var(--muted);}
.breadcrumb{margin:12px 0 28px;font-size:.875rem;}
.restaurant-title{display:flex;justify-content:space-between;align-items:center;gap:16px;}
.restaurant-title h1{font:600 clamp(2rem,5vw,3.3rem)/1.1 var(--display);margin:10px 0;}
.restaurant-lede{font-size:1.125rem;max-width:760px;margin:16px 0;line-height:1.6;}
.availability{font-size:.875rem;margin:12px 0;color:#3b5444;}
.restaurant-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0;}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px;}
.detail-panel{background:var(--paper);padding:24px;border:1px solid var(--line);border-radius:12px;margin-bottom:20px;}
.detail-panel h2{font:600 1.5rem var(--display);margin:0 0 18px;}
.detail-panel p{font-size:1rem;margin:12px 0;line-height:1.65;}
.detail-panel p strong{display:block;margin-bottom:4px;}
.hours-list div{display:flex;justify-content:space-between;align-items:start;gap:15px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.875rem;}
.hours-list dd{text-align:right;}
.source-list{padding-left:20px;overflow-wrap:anywhere;line-height:1.8;}
.suggest-form{display:grid;gap:18px;max-width:640px;margin:24px 0;}
.suggest-form label{display:grid;gap:6px;}
.suggest-form textarea{min-height:150px;}
.suggest-form .bot-field{display:none;}
.guide-links{display:grid;gap:16px;margin:24px 0;}
.guide-links a{font:600 1.35rem var(--display);background:var(--paper);border:1px solid var(--line);padding:20px;border-radius:12px;}
button:disabled{opacity:.5;cursor:not-allowed;}
body[data-page="home"] .tabbar,body[data-page="browse"] .tabbar{max-width:1120px;}
@media(min-width:800px){body[data-page="home"] .page,body[data-page="browse"] .page,body[data-page="spot"] .page,body[data-page="guide"] .page{padding-left:36px;padding-right:36px;}}
@media(max-width:760px){.finder-filters{grid-template-columns:repeat(2,minmax(0,1fr));}.picks-grid{grid-template-columns:1fr;}.detail-grid{grid-template-columns:1fr;}.finder-intro{align-items:start;flex-direction:column;gap:8px;}.finder-intro .text-btn{font-size:.875rem;}.dining-card{padding:18px;}}
@media(max-width:560px){.dining-grid{grid-template-columns:1fr;}.finder-search input{padding:8px;font-size:1rem;}.finder-search .btn{padding:10px;}.results-heading{gap:12px;}.results-heading h2{flex-basis:100%;}.results-heading .finder-field{font-size:.875rem;}.results-heading .btn{font-size:.875rem;}.finder-toggles{gap:14px;}.restaurant-actions .btn{flex:1;min-width:100px;}.restaurant-title h1{overflow-wrap:anywhere;}.dining-card h3{font-size:1.5rem;}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;}}
