/* Shared page settings. Only approved theme values and plain text enter the page. */
body[data-theme]{--accent:#a44f32;--orange:var(--accent);--paper:#fbf8f5;--highlight:#f2dcc5;--page-soft:#f6e7d8;background:var(--paper)}
body[data-theme=rose]{--accent:#884653;--paper:#fbf8f5;--highlight:#ead1cf;--page-soft:#f4e7e5}
body[data-theme=caramel]{--accent:#795333;--paper:#faf7f1;--highlight:#ebd7b5;--page-soft:#f0e5d2}
body[data-theme] .primary{background:var(--accent);border-color:var(--accent);color:#fff}
body[data-theme] .primary:hover{filter:brightness(.93)}
body[data-theme] .secondary,body[data-theme] .text-link{color:var(--accent)}
body[data-theme] .genre-filters button[aria-pressed=true],body[data-theme] .share-format label:has(:checked),body[data-theme] .contact-card,body[data-theme] .booking-guidance{background:var(--page-soft);color:var(--accent)}
body[data-theme] .meal-modes [aria-pressed=true],body[data-theme] .dock-action.is-current{color:var(--accent);border-color:var(--accent)}
body[data-theme] .brand-emphasis:after{background:var(--highlight)}
[data-site],[data-site-paragraphs] p{white-space:pre-line;overflow-wrap:anywhere}
body[data-theme] .brand .wordmark-ja{white-space:normal;overflow-wrap:anywhere;line-height:1.3}
body[data-theme] .brand-name{max-width:100%}
body[data-theme] .header{height:auto;min-height:106px;padding-block:24px}
body[data-theme] .brand{min-width:0}
body[data-theme] .brand.without-hat .brand-sub{margin-left:0;padding-left:0}
.site-announcement{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--page-soft,#f6e7d8);border-radius:12px;padding:12px 18px;margin-top:16px;font-size:14px}
.site-announcement a{flex-shrink:0;color:var(--accent)}
.site-preview-notice,.site-load-error{margin:0;padding:10px 20px;background:#fff0cc;color:#604c24;font-size:13px;text-align:center}
.site-load-error{background:#ffede6}
#source-entries a{overflow-wrap:anywhere}
@media(max-width:680px){body[data-theme] .header{min-height:98px;padding-block:20px;gap:12px}.site-announcement{display:block}.site-announcement a{display:block;margin-top:7px}body[data-theme] .brand .wordmark-ja{font-size:clamp(22px,6.6vw,31px)}}
body[data-page-preview=true] .preview-bar,body[data-page-preview=true] .footer a[href="business.html"],body[data-page-preview=true] .footer a[href="affiliate.html"]{display:none}

/* A quiet table for two. Keep photos true to their supplied dimensions. */
body[data-theme]{--line:#e8ddd7;--editorial-font:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif}
body[data-theme] .header nav a{border-bottom:1px solid var(--highlight);text-underline-offset:5px}
body[data-theme] .brand-emphasis:after{height:6px;bottom:-3px;opacity:.8}
body.discovery[data-theme] .brand-sub{color:#806d65;letter-spacing:.2em}
.search-intro{display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:28px;padding:16px 0 32px}
.intro-copy{min-width:0}
.discovery .search-intro .intro-kicker{display:flex;align-items:center;gap:9px;margin:0 0 13px;font-size:10px;line-height:1.5;letter-spacing:.18em;color:var(--accent);font-weight:500}
.intro-kicker span{font-size:22px;line-height:1}
body.discovery[data-theme] .search-intro h1{font-family:var(--editorial-font);font-size:clamp(28px,3vw,38px);line-height:1.65;font-weight:500;letter-spacing:.045em;margin:0 0 15px;color:#423432}
.intro-copy>p:last-child{font-size:13px;line-height:1.95;margin:0;color:#73655e}
.table-for-two{width:100%;max-width:230px;color:var(--accent);transform:rotate(-3deg)}
body.discovery[data-theme] .discovery-bar{background:#fffdfa;border-color:var(--line);box-shadow:0 4px 16px #53352b05}
.discovery .meal-modes{gap:30px}
.discovery .meal-modes button{font-weight:500}
.discovery .meal-modes button[aria-pressed=true]{font-weight:700}
.discovery .meal-modes button[aria-pressed=true]:after{display:none}
body.discovery[data-theme] .genre-filters button{background:transparent;font-weight:500;color:#6a5b55;border-radius:24px;padding-inline:16px}
body.discovery[data-theme] .genre-filters button[aria-pressed=true]{background:var(--page-soft);color:var(--accent);font-weight:600}
body.discovery[data-theme] .keyword-field input{background:var(--paper);border:1px solid var(--line);border-radius:24px}
body.discovery[data-theme] .filter-trigger{background:#fffdfa;border-color:#d9c4bd;border-radius:24px}
body.discovery[data-theme] .catalog{padding-top:32px}
body.discovery[data-theme] .result-row h2{font-family:var(--editorial-font);font-weight:600;font-size:21px;letter-spacing:.025em;color:#423432}
body.discovery[data-theme] .result-row b{font-size:18px;color:var(--accent)}
body.discovery[data-theme] .filter-note{color:#756a63}
body.discovery[data-theme] .shop-card{border-color:var(--line);border-radius:18px;box-shadow:0 5px 22px #593b2b05}
body.discovery[data-theme] .shop-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
body.discovery[data-theme] .card-body{background:#fffdfb}
body.discovery[data-theme] .card-media{background:#f1e9e3;justify-content:center;padding:16px 12px}
body.discovery[data-theme] .photo-gallery{background:#fffdfb}
body.discovery[data-theme] .photo-gallery-card{border-radius:9px;background:transparent}
body.discovery[data-theme] .photo-stage{background:#f1e9e3}
body.discovery[data-theme] .photo-gallery-card .photo-stage{padding:0}
body.discovery[data-theme] .photo-gallery-card .photo-stage img{border-radius:6px}
body.discovery[data-theme] .photo-slide figcaption{background:transparent}
body.discovery[data-theme] .photo-source{color:#786b63}
body.discovery[data-theme] .shop-card h3{font-size:21px;letter-spacing:.015em}
body.discovery[data-theme] .card-top{color:#826b62}
body.discovery[data-theme] .summary{color:#645650;line-height:1.85}
body.discovery[data-theme] .card-tabs{border-color:var(--line)}
body.discovery[data-theme] .card-tabs button+button{border-color:var(--line)}
body.discovery[data-theme] .card-tabs button:hover{color:var(--accent);background:var(--page-soft)}
body.discovery[data-theme] .select-button{color:var(--accent);background:#fffdfb;border-color:#cdaeb0}
body.discovery[data-theme] .select-button[aria-pressed=true]{background:var(--page-soft);border-color:var(--accent)}
body.discovery[data-theme] .budget-item svg{stroke:var(--accent)}
body.discovery[data-theme] .photo-pending{background:#f1e9e3}
body.discovery[data-theme] .selection-dock{background:#fffdfbf5;border-color:var(--line);box-shadow:0 -4px 20px #53352b06}
body.discovery[data-theme] .slot,body.discovery[data-theme] .shortlist-share{background:var(--page-soft);color:var(--accent);border-color:var(--highlight)}
body.discovery[data-theme] .story{border-top:1px solid var(--line);padding-top:42px}
body.discovery[data-theme] .story h2,body[data-theme] .about-content h1{font-family:var(--editorial-font);font-weight:500;color:#423432;letter-spacing:.035em}
body[data-theme] .eyebrow{color:var(--accent)}
body[data-theme] :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(min-width:681px) and (max-width:900px){.search-intro{grid-template-columns:minmax(0,1fr) 170px;gap:14px}.intro-copy>p:last-child{font-size:12px}}
@media(max-width:680px){
 .search-intro{display:block;padding:10px 0 25px}
 .table-for-two{display:none}
 .discovery .search-intro .intro-kicker{font-size:9px;margin-bottom:10px;letter-spacing:.14em}
 .intro-kicker span{font-size:19px}
 body.discovery[data-theme] .search-intro h1{font-size:clamp(21px,6.05vw,28px);letter-spacing:.015em;line-height:1.7;margin-bottom:11px}
 .intro-copy>p:last-child{font-size:11px;line-height:1.9}
 .discovery .meal-modes{gap:24px}
 body.discovery[data-theme] .catalog{padding-top:24px}
 body.discovery[data-theme] .result-row h2{font-size:17px}
 body.discovery[data-theme] .result-row b{font-size:17px}
 body.discovery[data-theme] .shop-card{border-radius:15px}
 body.discovery[data-theme] .card-media{padding:14px 12px 10px}
 body.discovery[data-theme] .shop-card h3{font-size:20px}
 body.discovery[data-theme] .photo-gallery-card:not(.has-many) .photo-stage{min-height:0}
}

/* Clear entry points for restaurant owners and a simple email application. */
.has-owner-entry{flex-wrap:wrap}
.has-owner-entry nav{align-items:center;flex-wrap:wrap}
body[data-theme] .header nav .owner-nav{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--highlight);border-radius:24px;padding:8px 13px;color:var(--accent);background:var(--page-soft);font-weight:600;white-space:nowrap;font-size:12px;min-height:40px}
.owner-nav-free{font-size:10px;border-right:1px solid #c9acac;padding-right:7px}
.owner-invitation{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 0 34px;border-top:1px solid var(--line);margin-top:10px}
.owner-invitation .eyebrow{font-size:10px;letter-spacing:.16em;margin:0 0 9px}
body.discovery[data-theme] .owner-invitation h2{font-family:var(--editorial-font);font-size:23px;font-weight:500;line-height:1.7;margin:0 0 7px}
.owner-invitation p:last-child{font-size:12px;margin:0;color:#73655e}
.owner-invitation .secondary{flex-shrink:0;border-color:var(--highlight);border-radius:24px;font-size:13px}
.request-content{max-width:920px;padding-bottom:64px}
.request-hero{padding:32px 0 28px}
.request-free{display:inline-block;margin:17px 0 5px;padding:5px 12px;border-radius:20px;background:var(--page-soft);color:var(--accent);font-size:12px}
body[data-theme] .request-hero h1{font-family:var(--editorial-font);font-weight:500;font-size:clamp(29px,4vw,43px);letter-spacing:.025em;line-height:1.65;margin:16px 0 22px;color:#423432}
.request-content p{line-height:1.9;color:#6d5d55;font-size:15px}
.request-content .eyebrow{font-size:10px;letter-spacing:.15em;color:var(--accent);margin:0 0 8px}
.request-content .small{font-size:12px}
.request-mail{margin-top:13px;border-radius:26px;min-height:48px;font-size:14px}
.request-content .request-lead{font-size:17px;margin:0 0 20px}
.request-facts{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:var(--accent);margin-bottom:24px}
.request-facts span+span:before{content:'✓';margin-right:6px}
.request-facts b{display:inline-block;background:var(--page-soft);border-radius:20px;padding:2px 12px}
.request-options{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
.request-option{border:1px solid var(--line);border-radius:18px;padding:25px;background:#fffdfb;display:flex;flex-direction:column;align-items:flex-start}
.request-option-new{border-color:var(--highlight);background:var(--page-soft)}
.request-option-label{font-size:11px;color:var(--accent);margin-bottom:7px}
.request-option h2{font-size:21px;font-weight:600;margin:0 0 7px}
.request-option p{font-size:13px;margin:0 0 16px}
.request-option .primary,.request-option .secondary{font-size:13px;border-radius:26px;gap:7px;width:100%;margin-top:auto}
.request-option .small{font-size:11px;margin:10px 0 0}
.request-content .request-scope{font-size:12px;margin:18px 0 0}
.request-flow .request-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;padding:0;counter-reset:request-step}
.request-flow .request-steps li{counter-increment:request-step;padding:0}
.request-flow .request-steps li:before{content:'0' counter(request-step);font:italic 22px Georgia,serif;color:var(--accent);display:block;margin-bottom:10px}
.request-update-actions{display:grid;gap:12px;flex-shrink:0}
.request-update-actions .text-link{text-align:center}
.request-section{border-top:1px solid var(--line);padding:32px 0}
body[data-theme] .request-section h2{font-family:var(--editorial-font);font-weight:500;font-size:25px;line-height:1.6;margin:0 0 22px;color:#423432}
.request-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.request-number{font-size:24px;font-family:Georgia,serif;font-style:italic;color:var(--accent)}
.request-grid h3{font-family:inherit;font-size:16px;line-height:1.7;margin:9px 0}
.request-grid p{font-size:13px;margin:0}
.request-photo-note{padding:26px 28px;border:1px solid var(--highlight);background:var(--page-soft);border-radius:16px;margin:4px 0 32px}
.request-photo-note h2{font-size:21px!important;margin-bottom:12px!important}
.request-photo-note p{font-size:13px;margin:10px 0}
.request-steps{padding-left:22px}
.request-steps li{padding:0 0 19px 8px;font-size:14px}
.request-steps li::marker{color:var(--accent)}
.request-steps b{display:block;margin-bottom:5px}
.request-steps span{font-size:13px;color:#6d5d55;line-height:1.8}
.request-update{display:flex;align-items:center;justify-content:space-between;gap:28px}
.request-update h2{font-size:22px!important;margin-bottom:12px!important}
.request-update p{font-size:13px;margin-bottom:0}
.request-update .secondary{flex-shrink:0;font-size:13px;border-radius:24px;border-color:var(--highlight)}
.request-privacy{padding:18px 0;border-top:1px solid var(--line)}
@media(max-width:680px){
 .header.has-owner-entry nav{display:flex;gap:6px 16px;flex-wrap:wrap;width:100%;font-size:11px}
 .header.has-owner-entry nav a{display:inline-flex;align-items:center;min-height:36px}
 body[data-theme] .header.has-owner-entry nav .owner-nav{font-size:11px;padding:6px 10px;min-height:36px}
 .owner-invitation{display:block;padding-block:25px}
 body.discovery[data-theme] .owner-invitation h2{font-size:20px}
 .owner-invitation .secondary{margin-top:18px}
 .request-body .header{flex-wrap:wrap}
 .request-body .header nav{display:flex;font-size:11px;gap:18px;margin:0}
 .request-body .brand-hat{width:34px;height:28px}
 .request-hero{padding:20px 0 25px}
 body[data-theme] .request-hero h1{font-size:clamp(25px,6.9vw,32px);margin:12px 0}
 .request-content .request-lead{font-size:15px}
 .request-content .request-hero>.eyebrow{font-size:10px;letter-spacing:.03em}
 .request-facts{gap:8px 12px;font-size:11px;margin-bottom:18px}
 .request-options{grid-template-columns:1fr;gap:13px}
 .request-option{padding:20px}
 .request-option h2{font-size:19px}
 .request-option p{font-size:13px}
 .request-option .small{font-size:11px}
 .request-flow .request-steps{grid-template-columns:1fr;gap:20px}
 .request-flow .request-steps li{position:relative;padding-left:40px}
 .request-flow .request-steps li:before{position:absolute;left:0;top:0}
 .request-content p{font-size:14px}
 .request-content .small,.request-content .eyebrow{font-size:11px}
 .request-grid{grid-template-columns:1fr;gap:24px}
 .request-grid article{position:relative;padding-left:43px}
 .request-number{position:absolute;left:0;top:4px;font-size:23px}
 .request-grid p,.request-photo-note p,.request-update p{font-size:13px}
 .request-grid h3{margin-top:0}
 .request-photo-note{padding:21px 18px}
 body[data-theme] .request-section h2{font-size:22px}
 .request-update{display:block}
 .request-update .secondary{margin-top:18px}
}
