:root { --rp-bg:#f8f6ef; --rp-surface:#f1eee4; --rp-header:rgba(248,246,239,.96); --yl-route-bg:#223a31; --yl-route-ink:#f8f6ef; --yl-chinese:#526e78; }
.yulin-page .site-header { position:relative; height:76px; color:var(--rp-text); background:var(--rp-bg); border-color:var(--rp-line); backdrop-filter:none; }
.yulin-page .site-nav a,.yulin-page .search-trigger { font-size:13px; }
.yl-wrap { width:min(1256px,calc(100% - 96px)); margin-inline:auto; }
.yl-breadcrumb { display:flex; flex-wrap:wrap; gap:13px; padding-block:30px; color:var(--rp-muted); font-size:13px; }
.yl-breadcrumb a:hover { color:var(--rp-accent); }
.yl-hero { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding-bottom:42px; }
.yl-eyebrow { margin:0 0 22px; font:12px/1.5 var(--rp-mono); text-transform:uppercase; letter-spacing:.1em; color:var(--rp-accent); }
.yl-hero h1 { display:flex; flex-wrap:wrap; align-items:baseline; gap:24px; margin:0; font:400 clamp(76px,8.5vw,124px)/1.03 var(--rp-display); letter-spacing:-.045em; }
.yl-hero h1 span { font:400 26px/1.5 var(--rp-sans); color:var(--yl-chinese); letter-spacing:0; }
.yl-deck { margin:25px 0 20px; font:400 clamp(32px,3.2vw,48px)/1.15 var(--rp-display); letter-spacing:-.025em; }
.yl-intro { max-width:430px; font-size:17px; line-height:1.8; color:var(--rp-muted); margin:0; }
.yl-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:32px; }
.yl-button { display:inline-flex; gap:28px; align-items:center; justify-content:space-between; min-height:52px; padding:14px 20px; color:var(--rp-accent-text); background:var(--rp-accent); font-size:14px; font-weight:600; transition:background .2s; }
.yl-button:hover { background:var(--rp-accent-hover); }
.yl-text-link { display:inline-flex; align-items:center; gap:12px; width:fit-content; border-bottom:1px solid currentColor; padding-block:5px; color:var(--rp-accent); font-size:14px; line-height:1.6; }
.yl-hero-photo { margin:0; width:100%; max-width:520px; min-width:0; justify-self:end; }
.yulin-page figcaption { padding-top:11px; margin:0; color:var(--rp-muted); font-size:12px; line-height:1.6; }
.yl-facts { display:grid; grid-template-columns:.8fr 1.15fr 1.15fr 1fr; gap:30px; margin-block:0; padding-block:29px; border-block:1px solid var(--rp-line); }
.yl-facts dt { margin-bottom:9px; color:var(--rp-muted); font-size:13px; }
.yl-facts dd { margin:0; font-size:16px; font-weight:600; line-height:1.5; }
.yl-facts small { display:block; margin-top:5px; color:var(--rp-muted); font-size:12px; font-weight:400; }
.yulin-page h2 { margin:0; font:400 clamp(35px,3.6vw,53px)/1.12 var(--rp-display); letter-spacing:-.025em; }
.yl-muted { color:var(--rp-muted); }
.yl-walk { padding-block:56px 85px; }
.yl-section-heading { max-width:710px; margin-bottom:40px; }
.yl-section-heading > p { max-width:620px; margin:20px 0 0; color:var(--rp-muted); font-size:17px; line-height:1.8; }
.yl-walk-layout { display:grid; grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr); gap:70px; align-items:start; }
.yl-route { position:sticky; top:24px; max-height:calc(100dvh - 48px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:#849b8d var(--yl-route-bg); padding:30px; color:var(--yl-route-ink); background:var(--yl-route-bg); }
.yl-route-label { margin:0 0 12px; font-size:21px; font-weight:400; line-height:1.5; }
.yl-route-intro { margin:0 0 26px; font-size:13px; line-height:1.7; color:#c3cec6; }
.yl-route ol { padding:0; margin:0; list-style:none; }
.yl-route li { position:relative; }
.yl-route li:not(:last-child)::after { content:""; position:absolute; top:43px; bottom:7px; left:17px; border-left:1px solid #849b8d; }
.yl-route li a { display:grid; grid-template-columns:36px minmax(0,1fr); gap:18px; align-items:start; padding-bottom:27px; }
.yl-route li:last-child a { padding-bottom:4px; }
.yl-route li a > span { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid #849b8d; border-radius:50%; font:12px var(--rp-mono); }
.yl-route li a > div { padding-top:3px; font-size:18px; line-height:1.4; }
.yl-route li strong { display:block; font-weight:400; }
.yl-route-zh { display:block; margin-top:5px; color:#a8c0c6; font-size:14px; line-height:1.5; }
.yl-route li small { display:block; margin-top:7px; color:#c3cec6; font-size:13px; line-height:1.6; }
.yl-route li a:hover strong,.yl-route li a:focus-visible strong { color:#f0c0a6; }
.yl-route li a[aria-current="step"] .yl-route-number { color:#223a31; background:#e6eee5; border-color:#e6eee5; }
.yl-route li a[aria-current="step"] strong { color:#f0c0a6; }
.yl-route-note { margin:25px 0 10px; color:#c3cec6; font-size:12px; line-height:1.7; }
.yl-route .yl-text-link { color:#f0c0a6; }
.yl-short-walk { margin-top:29px; padding-top:25px; border-top:1px solid #6b8074; }
.yl-short-walk strong { font-size:15px; }
.yl-short-walk p { margin:10px 0 0; color:#d8e1da; font-size:14px; line-height:1.8; }
.yl-stop { display:grid; grid-template-columns:28px 1fr; gap:22px; padding-bottom:36px; margin-bottom:36px; border-bottom:1px solid var(--rp-line); scroll-margin-top:28px; }
.yl-stop:last-child { margin-bottom:0; }
.yl-stop-number { color:var(--rp-accent); font:13px/2.6 var(--rp-mono); }
.yl-stop h3 { margin:0; font:400 33px/1.18 var(--rp-display); letter-spacing:-.02em; }
.yl-stop h3 span { display:block; margin-top:9px; color:var(--yl-chinese); font:14px/1.6 var(--rp-sans); letter-spacing:0; }
.yl-stop p { margin:16px 0 0; font-size:16px; line-height:1.8; color:var(--rp-muted); }
.yl-stop .yl-stop-purpose { color:var(--rp-text); font-weight:600; font-size:15px; }
.yl-stop .yl-tip { padding-left:16px; border-left:2px solid var(--rp-line); font-size:14px; }
.yl-stop-links { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin-top:20px; }
.yl-stores-band { padding-block:64px 72px; background:var(--rp-surface); }
.yl-stores-band .yl-section-heading { margin-bottom:22px; }
.yl-stores-preview { margin:0 0 38px; color:var(--rp-muted); font-size:13px; line-height:1.7; }
.yl-store-list { width:100%; }
.yl-store { max-width:960px; display:grid; grid-template-columns:minmax(180px,300px) minmax(0,1fr); gap:40px; align-items:center; }
.yl-store + .yl-store { margin-top:32px; padding-top:32px; border-top:1px solid var(--rp-line); }
.yl-store-photo-placeholder { display:grid; place-items:center; width:100%; aspect-ratio:4/3; background:var(--rp-bg); border:1px dashed var(--rp-line); color:var(--rp-muted); font-size:13px; }
.yl-store-photo { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.yl-store h3 { margin:0; font:400 29px/1.2 var(--rp-display); letter-spacing:-.02em; }
.yl-store h3 > span { display:block; margin-top:7px; color:var(--yl-chinese); font:14px/1.5 var(--rp-sans); letter-spacing:0; }
.yl-store-copy > p { margin:16px 0 20px; font-size:15px; line-height:1.8; color:var(--rp-muted); }
.yl-store-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:22px; font-size:14px; line-height:1.6; }
.yl-store-links > span { color:var(--rp-muted); }
.yl-store-links > a { color:var(--rp-accent); border-bottom:1px solid currentColor; }
.yl-store-links > :is(a,span) > span { margin-left:8px; }
.yl-store-gallery { margin:0; min-width:0; width:100%; }
.yl-store-gallery-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:thin; }
.yl-store-gallery-track > a { display:block; flex:0 0 100%; min-width:0; height:auto; aspect-ratio:3/4; scroll-snap-align:start; scroll-snap-stop:always; }
.yl-store-gallery-track img { display:block; width:100%; height:100%; object-fit:contain; }
.yl-store-gallery-controls { display:flex; justify-content:center; align-items:center; gap:22px; margin-top:12px; }
.yl-store-gallery-controls[hidden] { display:none; }
.yl-store-gallery-controls button { width:44px; height:44px; padding:8px; border:0; background:transparent; color:var(--rp-text); font:20px var(--rp-sans); cursor:pointer; }
.yl-store-gallery-controls button:hover { color:var(--rp-accent); }
.yl-store-gallery-controls span { font:13px var(--rp-mono); color:var(--rp-muted); }
.yl-store.yl-store-featured { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:clamp(28px,4vw,64px); align-items:center; max-width:none; }
@media (min-width:801px) {
  #store-meursault { grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr); }
  #store-meursault > .yl-store-gallery { grid-column:2; grid-row:1; }
  #store-meursault > .yl-store-caption { grid-column:1; grid-row:1; }
}
.yl-store-caption { display:block; min-width:0; margin:0; }
.yl-store-caption-detail { margin-top:20px; }
.yl-store-caption h3 { font-size:28px; }
.yl-store-caption-detail > p { max-width:580px; margin:0; color:var(--rp-muted); font-size:14px; line-height:1.8; }
.yl-store-caption-detail .yl-store-address { margin-top:18px; font-size:13px; }
.yl-store-address > span { color:var(--yl-chinese); }
.yl-store-address small { display:block; margin-top:7px; font-size:12px; line-height:1.7; }
.yl-store-caption .yl-store-links { margin-top:12px; font-size:13px; }
/* A two-page dining spread gives eating and drinking a different rhythm to the store list. */
.yl-dining { padding-block:76px; }
.yl-dining > .yl-section-heading { margin-bottom:22px; }
.yl-dining-spread { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
.yl-dining-panel { --venue-bg:#eee5d8; --venue-ink:#223a31; --venue-muted:#565c52; --venue-line:#c7bfaf; --venue-photo:#e2d8c8; --venue-accent:#a4422f; min-width:0; padding:36px; background:var(--venue-bg); color:var(--venue-ink); }
.yl-dining-bars { --venue-bg:#223a31; --venue-ink:#f8f6ef; --venue-muted:#c3cec6; --venue-line:#60796b; --venue-photo:#2d473c; --venue-accent:#f0c0a6; }
.yl-dining-panel-heading { padding-bottom:26px; }
.yl-dining-panel-heading h3 { margin:0; font:400 clamp(34px,3.5vw,48px)/1.1 var(--rp-display); letter-spacing:-.025em; }
.yl-dining-panel-heading p { margin:12px 0 0; font-size:14px; line-height:1.6; color:var(--venue-muted); }
.yl-venue { display:block; min-width:0; }
.yl-venue + .yl-venue { margin-top:40px; padding-top:36px; border-top:1px solid var(--venue-line); }
.yl-venue-photo { display:grid; place-items:center; aspect-ratio:4/3; width:100%; min-width:0; background:var(--venue-photo); color:var(--venue-muted); }
.yl-venue-photo > span { padding:12px; font-size:12px; text-align:center; line-height:1.5; }
.yl-venue-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.yl-venue-figure { margin:0 0 22px; min-width:0; }
.yl-venue > .yl-venue-photo { margin-bottom:22px; }
.yl-venue-photo-original { aspect-ratio:4/3; }
.yl-venue-photo-original img { object-fit:contain; }
.yulin-page .yl-venue-figure figcaption { color:var(--venue-muted); font-size:11px; }
.yl-venue h4 { margin:0; font:400 28px/1.2 var(--rp-display); letter-spacing:-.015em; }
.yl-venue h4 > span { display:block; margin-top:7px; color:var(--venue-muted); font:13px/1.5 var(--rp-sans); letter-spacing:0; }
.yl-venue-copy > p { margin:13px 0 16px; font-size:14px; line-height:1.75; color:var(--venue-muted); }
.yl-venue-map { display:inline-flex; align-items:center; gap:12px; font-size:13px; line-height:1.6; color:var(--venue-muted); }
a.yl-venue-map { color:var(--venue-accent); border-bottom:1px solid currentColor; }
.yl-venue-gallery { margin-bottom:24px; }
#liangliang-photos > a,#bagel-camp-photos > a,#medisn-photos > a,#wild-west-photos > a,#walkingnotes-photos > a { aspect-ratio:4/3; }
.yl-venue-gallery .yl-store-gallery-controls button { color:var(--venue-ink); }
.yl-venue-gallery .yl-store-gallery-controls button:hover { color:var(--venue-accent); }
.yl-venue-gallery .yl-store-gallery-controls span,.yulin-page .yl-venue-gallery figcaption { color:var(--venue-muted); }
.yl-venue-links { display:flex; flex-wrap:wrap; gap:14px 24px; }
.yl-dining-bars :focus-visible { outline-color:var(--venue-accent); }
.yl-small { font-size:13px; line-height:1.7; color:var(--rp-muted); }
.yl-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; padding-bottom:65px; }
.yl-faq details { border-top:1px solid var(--rp-line); }
.yl-faq details:last-child { border-bottom:1px solid var(--rp-line); }
.yl-faq summary { position:relative; padding:22px 30px 22px 0; list-style:none; font-size:16px; cursor:pointer; }
.yl-faq summary::-webkit-details-marker { display:none; }
.yl-faq summary::after { position:absolute; right:0; top:22px; content:"+"; color:var(--rp-accent); }
.yl-faq details[open] summary::after { content:"−"; }
.yl-faq details p { margin:0 0 23px; color:var(--rp-muted); font-size:15px; line-height:1.8; }
.yl-photo-rights { margin:0 0 16px; font-size:12px; }
.yl-sources { padding-bottom:38px; color:var(--rp-muted); font-size:13px; line-height:1.8; }
.yl-sources summary { width:fit-content; cursor:pointer; }
.yl-sources a { text-decoration:underline; text-underline-offset:3px; }
.yl-sources p { max-width:900px; }
.yl-mobile-action { display:none; }
.yulin-page :focus-visible { outline:2px solid var(--rp-accent); outline-offset:5px; }
.yl-route :focus-visible { outline-color:#f0c0a6; }
.yulin-page section[id] { scroll-margin-top:26px; }
@media (prefers-color-scheme:dark) { :root { --rp-bg:#101715; --rp-surface:#19231f; --rp-header:rgba(16,23,21,.96); --yl-chinese:#9fbcc5; } }
@media (max-width:1100px) {
  .yl-wrap { width:calc(100% - 64px); }
  .yl-hero { gap:40px; }
  .yl-store { gap:22px; }
  .yl-dining-panel { padding:28px; }
  .yl-walk-layout { grid-template-columns:320px minmax(0,1fr); gap:40px; }
  .yl-route { padding:24px; }
  .yl-facts { gap:20px; }
  .yl-facts dd { font-size:14px; }
  .yulin-page .site-header { grid-template-columns:190px 1fr 85px; }
  .yulin-page .site-nav { gap:18px; }
}
@media (max-width:800px) {
  .yl-wrap { width:calc(100% - 40px); }
  .yulin-page .site-header { height:68px; padding-inline:20px; grid-template-columns:1fr auto; }
  .yulin-page .search-trigger { display:none; }
  .yulin-page .menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:6px; width:44px; height:44px; padding:8px; border:0; color:inherit; background:transparent; }
  .yulin-page .menu-toggle span:not(.sr-only) { display:block; width:24px; height:1px; background:currentColor; }
  .yulin-page .site-nav { position:absolute; inset:68px 0 auto; display:none; padding:24px; color:var(--rp-text); background:var(--rp-bg); border-bottom:1px solid var(--rp-line); }
  .yulin-page .site-nav a { font-family:var(--rp-sans); font-weight:500; }
  .yulin-page.menu-open .site-nav { display:flex; flex-wrap:wrap; gap:25px; transform:none; opacity:1; visibility:visible; pointer-events:auto; }
  .yl-breadcrumb { padding-block:22px; }
  .yl-hero { gap:28px; align-items:start; }
  .yl-hero h1 { font-size:76px; gap:15px; }
  .yl-hero h1 span { font-size:20px; }
  .yl-deck { font-size:33px; }
  .yl-intro { font-size:16px; }
  .yl-actions { gap:18px; margin-top:23px; }
  .yl-facts { grid-template-columns:1fr 1fr; gap:24px; }
  .yl-walk-layout { grid-template-columns:1fr; gap:38px; }
  .yl-route { position:static; max-height:none; overflow:visible; }
  .yl-route ol { display:block; }
  .yl-route li:not(:last-child)::after { display:block; }
  .yl-route li a { padding-bottom:27px; }
  .yl-stores-preview { margin-bottom:26px; }
  .yl-store.yl-store-featured { grid-template-columns:1fr; gap:24px; }
  .yl-store.yl-store-featured > .yl-store-gallery { width:85%; justify-self:center; }
  .yl-dining-spread { grid-template-columns:1fr; }
  .yl-dining-panel { padding:32px; }
  .yl-faq { gap:35px; }
}
@media (max-width:600px) {
  .yl-hero { grid-template-columns:1fr; padding-bottom:30px; }
  .yl-hero h1 { font-size:88px; }
  .yl-hero .yl-eyebrow { margin-bottom:14px; font-size:11px; }
  .yl-deck { margin-top:17px; font-size:38px; }
  .yl-deck br { display:none; }
  .yl-intro { max-width:440px; }
  .yl-actions { gap:20px; }
  .yl-button { font-size:13px; padding-inline:16px; gap:19px; }
  .yl-facts { padding-block:24px; column-gap:16px; }
  .yl-facts small { font-size:12px; }
  .yl-section-heading { margin-bottom:28px; }
  .yl-section-heading > p { font-size:16px; }
  .yl-walk { padding-block:38px 50px; }
  .yl-route ol { grid-template-columns:1fr; gap:0; }
  .yl-route li:not(:last-child)::after { display:block; }
  .yl-route li a { padding-bottom:24px; }
  .yl-stop { gap:12px; grid-template-columns:23px 1fr; }
  .yl-stop h3 { font-size:29px; }
  .yl-stop p { font-size:15px; }
  .yl-stop .yl-tip { font-size:13px; padding-left:12px; }
  .yl-stores-band { padding-block:40px 44px; }
  .yl-dining { padding-block:44px; }
  .yl-dining-panel { padding:24px 16px; }
  .yl-venue h4 { font-size:26px; }
  .yl-store { grid-template-columns:1fr; gap:20px; }
  .yl-store-gallery-track > a { height:auto; aspect-ratio:3/4; }
  .yl-store-caption { margin-top:0; }
  .yl-store-caption h3 { font-size:26px; }
  .yl-faq { grid-template-columns:1fr; gap:25px; padding-bottom:35px; }
  .yl-mobile-action { position:fixed; z-index:120; bottom:0; left:0; right:0; display:grid; grid-template-columns:1fr 1fr; align-items:center; padding:12px 20px calc(12px + env(safe-area-inset-bottom)); background:var(--rp-bg); border-top:1px solid var(--rp-line); box-shadow:0 -4px 20px #0001; }
  .yl-mobile-action a { font-size:13px; padding:11px 8px; text-align:center; }
  .yl-mobile-action a:last-child { background:var(--rp-accent); color:var(--rp-accent-text); }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } }

/* Full original photos: preserve every edge and the creator watermark. */
.yl-photo-viewport { display:flex; width:100%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; background:var(--rp-surface); }
.yl-photo-viewport::-webkit-scrollbar { display:none; }
.yl-photo-slide { flex:0 0 100%; min-width:0; scroll-snap-align:start; scroll-snap-stop:always; aspect-ratio:3/4; }
.yl-photo-slide a { display:block; width:100%; height:100%; }
.yl-hero-photo .yl-photo-slide img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.yl-photo-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:8px; }
.yl-photo-controls[hidden] { display:none; }
.yl-photo-paging { display:flex; align-items:center; gap:12px; }
.yl-photo-controls button { min-width:44px; min-height:44px; padding:8px; border:0; color:var(--rp-text); background:transparent; cursor:pointer; font:20px var(--rp-sans); }
.yl-photo-controls button:hover { color:var(--rp-accent); }
.yl-photo-paging span { min-width:36px; text-align:center; font:13px var(--rp-mono); color:var(--rp-muted); }
.yulin-page .yl-photo-credit { padding-top:2px; font-size:12px; line-height:1.7; color:var(--rp-muted); }
@media (max-width:600px) { .yl-hero-photo { max-width:none; } }

/* Homepage footer, with its original colors, typography and responsive grid. */
.yulin-page .site-footer { padding-block:48px; color:#d9dfdb; background:#0e1714; }
.yulin-page .footer-grid { width:min(1320px,calc(100vw - 64px)); margin-inline:auto; display:grid; grid-template-columns:1.5fr .65fr .65fr 1fr; gap:60px; }
.yulin-page .footer-brand p { margin:0 0 10px; font-size:12px; font-weight:700; letter-spacing:.14em; }
.yulin-page .footer-brand p span { color:#b94f38; }
.yulin-page .footer-brand small,.yulin-page .footer-meta { color:rgba(255,255,255,.42); font-size:10px; line-height:1.7; }
.yulin-page .footer-links { display:grid; gap:10px; align-content:start; font-size:11px; }
.yulin-page .footer-links a:hover { color:#ffac97; }
.yulin-page .footer-meta { margin:0; text-align:right; }
.yulin-page .site-footer :focus-visible { outline-color:#ffac97; }
@media (max-width:1024px) {
  .yulin-page .footer-grid { width:min(calc(100vw - 48px),940px); }
}
@media (max-width:820px) {
  .yulin-page .footer-grid { width:calc(100vw - 36px); grid-template-columns:1.5fr .7fr .7fr; }
  .yulin-page .footer-meta { grid-column:1 / -1; text-align:left; }
}
@media (max-width:600px) {
  .yulin-page .site-footer { padding-bottom:calc(124px + env(safe-area-inset-bottom)); }
}
@media (max-width:560px) {
  .yulin-page .footer-grid { width:calc(100vw - 28px); grid-template-columns:1fr 1fr; }
  .yulin-page .footer-brand { grid-column:1 / -1; }
}

/* Visitor notes: a quiet reading column beside a compact writing area. */
.yl-notes { padding-block:56px 76px; border-top:1px solid var(--rp-line); }
.yl-notes-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(40px,6vw,88px); align-items:start; }
.yl-notes h3 { margin:0; font:400 28px/1.2 var(--rp-display); }
.yl-notes-feed-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.yl-notes-empty { margin:26px 0; color:var(--rp-muted); font-size:15px; line-height:1.8; }
.yl-notes-list { list-style:none; padding:0; margin:22px 0 0; }
.yl-note { padding:24px 0; border-top:1px solid var(--rp-line); }
.yl-note-header { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 20px; justify-content:space-between; }
.yl-note-name { font-size:15px; font-weight:600; overflow-wrap:anywhere; }
.yl-note-date { color:var(--rp-muted); font-size:12px; }
.yl-note-message { margin:14px 0 0; font-size:15px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.yl-notes-form { padding:28px; background:var(--rp-surface); }
.yl-notes-form-intro { margin:12px 0 26px; color:var(--rp-muted); font-size:14px; line-height:1.7; }
.yl-notes-form label { display:block; margin:20px 0 9px; font-size:13px; }
.yl-notes-form :is(input,textarea) { width:100%; padding:12px; border:1px solid var(--rp-line); border-radius:0; background:var(--rp-bg); color:var(--rp-text); font:16px/1.6 var(--rp-sans); }
.yl-notes-form textarea { display:block; min-height:155px; resize:vertical; }
.yl-notes-form :is(input,textarea)::placeholder { color:var(--rp-muted); opacity:1; }
.yl-notes-message-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin-top:8px; color:var(--rp-muted); }
.yl-notes-message-meta small,.yl-notes-message-meta span { font-size:11px; line-height:1.6; }
.yl-notes-policy { margin:22px 0; color:var(--rp-muted); font-size:12px; line-height:1.7; }
.yl-notes-submit { border:0; cursor:pointer; font-family:var(--rp-sans); }
.yl-notes-submit:disabled { opacity:.6; cursor:default; }
.yl-notes-status { margin:14px 0 0; color:var(--rp-muted); font-size:13px; line-height:1.7; }
.yl-notes-trap { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
.yl-notes-retry,.yl-notes-more { background:transparent; border:0; padding:8px 0; font:13px var(--rp-sans); color:var(--rp-accent); cursor:pointer; }
.yl-notes-more { margin-top:18px; border-bottom:1px solid currentColor; }
.yl-notes [hidden] { display:none; }
@media (max-width:800px) {
  .yl-notes-layout { grid-template-columns:1fr; gap:32px; }
}
@media (max-width:600px) {
  .yl-notes { padding-block:38px 44px; }
  .yl-notes-form { padding:22px 16px; }
  .yl-notes h3 { font-size:26px; }
}

/* Match the restaurant hero's viewport-based photo height on desktop. */
@media (min-width:801px) {
  .yl-hero.yl-wrap { width:min(1440px,calc(100% - 64px)); grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:48px; }
  .yl-hero-photo { width:min(90%,calc((100dvh - 36px) * .675)); max-width:none; }
}
/* Align the hero copy with the breadcrumb inside the wider photo layout. */
@media (min-width:1101px) {
  .yl-hero-copy { padding-left:calc((min(1440px,100vw - 64px) - min(1256px,100vw - 96px)) / 2); }
}
