/* v1.20 — consumer-first local food guides */
.guide-single--consumer{overflow:visible}
.lg120-guide-hero{padding-bottom:42px}
.lg120-guide-hero .direct-answer{max-width:940px;font-size:clamp(20px,2.2vw,28px);line-height:1.7;border-left:4px solid var(--red);padding-left:24px;margin:24px 0 0;color:#403a33}
.lg120-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px}
.lg120-compare-link{font-size:14px;font-weight:850;border-bottom:1px solid currentColor;margin-left:5px}
.lg120-guide-meta{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:#746b61}
.lg120-guide-cover{max-width:1280px;margin:0 auto 30px;padding:0 28px}
.lg120-guide-cover img{width:100%;max-height:640px;object-fit:cover;border-radius:24px;box-shadow:0 18px 55px rgba(42,31,19,.10)}
.lg120-guide-shell{max-width:1280px;margin:0 auto;padding:28px 28px 88px;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:58px;align-items:start}
.lg120-guide-content{min-width:0}
.lg120-guide-nav{position:sticky;top:104px;border:1px solid var(--line);background:rgba(255,253,248,.92);backdrop-filter:blur(12px);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:11px}
.lg120-guide-nav strong{font-family:Georgia,"Noto Serif TC",serif;font-size:22px;margin-bottom:4px}
.lg120-guide-nav a{font-size:14px;font-weight:800;text-decoration:none;border-bottom:1px solid transparent;padding-bottom:5px}
.lg120-guide-nav a:hover{border-bottom-color:currentColor}
.lg120-guide-nav p{margin:10px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:12px;line-height:1.7;color:#756c62}
.lg120-guide-intro{margin:0 0 52px;padding:34px 36px;border:1px solid var(--line);background:var(--white);border-radius:22px}
.lg120-guide-label,.lg120-section-heading>p{font-size:11px;font-weight:900;letter-spacing:.18em;color:var(--red);margin:0 0 12px;text-transform:uppercase}
.lg120-guide-intro h2,.lg120-section-heading h2,.lg120-booking-panel h2{font-family:Georgia,"Times New Roman","Noto Serif TC",serif;font-weight:500;font-size:clamp(32px,4vw,50px);line-height:1.18;letter-spacing:-.025em;margin:0 0 16px}
.lg120-guide-intro>p:last-child{font-size:18px;line-height:1.9;color:#504941;margin:0;max-width:900px}
.lg120-guide-section{margin:64px 0 0;scroll-margin-top:115px}
.lg120-section-heading{margin-bottom:24px}
.lg120-restaurant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.lg120-restaurant-grid.is-single{grid-template-columns:1fr}
.lg120-restaurant-card{display:flex;flex-direction:column;min-height:360px;border:1px solid var(--line);border-radius:20px;background:var(--white);padding:26px;box-shadow:0 2px 0 rgba(26,25,23,.04)}
.lg120-restaurant-grid.is-single .lg120-restaurant-card{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:30px;align-items:start}
.lg120-restaurant-grid.is-single .lg120-restaurant-card__top,.lg120-restaurant-grid.is-single .lg120-restaurant-card__brand,.lg120-restaurant-grid.is-single .lg120-restaurant-card h3,.lg120-restaurant-grid.is-single .lg120-restaurant-card__reason,.lg120-restaurant-grid.is-single .lg120-restaurant-card__address{grid-column:1}
.lg120-restaurant-grid.is-single .lg120-restaurant-card__actions{grid-column:2;grid-row:1/7;align-self:center;min-width:230px}
.lg120-restaurant-card__top{display:flex;flex-wrap:wrap;gap:9px;align-items:center;justify-content:space-between;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.lg120-restaurant-card__fit{margin:0;font-size:12px;line-height:1.55;font-weight:850;color:#6f665c}
.lg120-restaurant-card__offer{display:inline-flex;border-radius:999px;background:#f0d8c2;color:#7d2c18;padding:6px 10px;font-size:11px;font-weight:900}
.lg120-restaurant-card__brand{margin:0 0 5px;font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--red)}
.lg120-restaurant-card h3{font-family:Georgia,"Times New Roman","Noto Serif TC",serif;font-size:clamp(25px,2.4vw,34px);line-height:1.24;margin:0 0 14px}
.lg120-restaurant-card h3 a{text-decoration:none;border-bottom:1px solid transparent}
.lg120-restaurant-card h3 a:hover{border-bottom-color:currentColor}
.lg120-restaurant-card__reason{font-size:16px;line-height:1.85;color:#4f4941;margin:0 0 16px}
.lg120-restaurant-card__address{font-size:13px;line-height:1.65;color:#786f65;margin:auto 0 18px}
.lg120-restaurant-card__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.lg120-primary-link,.lg120-secondary-link,.lg120-detail-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;padding:0 16px;font-size:13px;font-weight:850;text-decoration:none}
.lg120-primary-link{background:var(--red);color:white;border:1px solid var(--red)}
.lg120-secondary-link{border:1px solid var(--ink);background:transparent}
.lg120-detail-link{padding-left:0;padding-right:0;border-radius:0;border-bottom:1px solid currentColor;margin-left:4px}
.lg120-editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.lg120-editorial-grid article{padding:26px;border:1px solid var(--line);border-radius:18px;background:#f6f1e9}
.lg120-editorial-grid h3{font-family:Georgia,"Noto Serif TC",serif;font-size:24px;line-height:1.35;margin:0 0 12px}
.lg120-editorial-grid p{font-size:16px;line-height:1.85;color:#504941;margin:0}
.lg120-booking-panel{border-radius:24px;background:#201d19;color:#fff;padding:34px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:start}
.lg120-booking-panel .lg120-guide-label{color:#f3bd66}
.lg120-booking-panel h2{color:#fff;max-width:720px}
.lg120-booking-panel>div>p:last-child{color:#d7cfc5;font-size:16px;line-height:1.8;margin:0}
.lg120-booking-panel__actions{display:flex;flex-direction:column;gap:10px;min-width:240px}
.lg120-booking-panel .luigi-button--ghost{color:#fff;border-color:#fff}
.lg120-checklist{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.18);padding-top:24px;margin-top:4px}
.lg120-checklist h3{font-family:Georgia,"Noto Serif TC",serif;font-size:24px;margin:0 0 13px}
.lg120-checklist ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:0;padding-left:22px;color:#e6ded4}
.lg120-checklist li{line-height:1.7}
.lg120-group-note{grid-column:1/-1;margin:2px 0 0!important;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);color:#d7cfc5!important;font-size:14px!important}
.lg120-group-note a{color:#fff;font-weight:900;border-bottom:1px solid currentColor}
.lg120-related>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lg120-related a{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:130px;border:1px solid var(--line);border-radius:16px;background:var(--white);padding:20px;text-decoration:none;transition:.2s ease}
.lg120-related a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,16,12,.07)}
.lg120-related strong{font-family:Georgia,"Noto Serif TC",serif;font-size:20px;line-height:1.35}
.lg120-related span{font-size:13px;font-weight:850}
.lg120-guide-faq .section{padding-top:30px}
.guide-archive-card__query{display:none!important}
.guide-archive-card__context{font-size:11px;font-weight:900;letter-spacing:.1em;color:var(--red);margin:0 0 8px}
@media(max-width:980px){
  .lg120-guide-shell{grid-template-columns:1fr}
  .lg120-guide-nav{position:static;order:-1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  .lg120-guide-nav strong,.lg120-guide-nav p{grid-column:1/-1}
  .lg120-guide-nav a{border:1px solid var(--line);border-radius:999px;padding:9px 12px;text-align:center}
  .lg120-restaurant-grid.is-single .lg120-restaurant-card{display:flex}
  .lg120-restaurant-grid.is-single .lg120-restaurant-card__actions{min-width:0}
  .lg120-booking-panel{grid-template-columns:1fr}
  .lg120-booking-panel__actions{min-width:0;flex-direction:row;flex-wrap:wrap}
}
@media(max-width:720px){
  .lg120-guide-cover{padding:0 18px}
  .lg120-guide-shell{padding-left:18px;padding-right:18px;gap:28px}
  .lg120-guide-nav{grid-template-columns:repeat(2,1fr)}
  .lg120-guide-intro{padding:25px 22px;margin-bottom:40px}
  .lg120-guide-intro>p:last-child{font-size:16px}
  .lg120-guide-section{margin-top:48px}
  .lg120-restaurant-grid,.lg120-editorial-grid,.lg120-related>div{grid-template-columns:1fr}
  .lg120-restaurant-card{min-height:0;padding:21px}
  .lg120-booking-panel{padding:26px 22px}
  .lg120-checklist ul{grid-template-columns:1fr}
  .lg120-hero-actions .luigi-button{width:100%}
  .lg120-compare-link{margin-left:0}
}

/* OPT145: Local discovery, current meals and membership. */
.lg145-hero{align-items:center;gap:40px;padding-top:52px;padding-bottom:54px}.lg145-hero h1{font-size:clamp(40px,4.3vw,70px)}.lg145-hero .archive-hero__copy>p:not(.eyebrow){max-width:32em;color:#45413a;font-size:18px}.lg145-primary{display:inline-flex;align-items:center;min-height:48px;margin-top:20px;padding:12px 20px;background:#233f35;color:#fff!important;border-radius:5px;font-weight:700;text-decoration:none}.lg145-offers{min-width:0}.lg145-offers-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.lg145-offers-heading .eyebrow{margin:0;color:#6c5844}.lg145-offers-heading h2{font-size:20px;margin:0}.lg145-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lg145-offer{display:flex;flex-direction:column;border:1px solid #d7cdbd;background:#fffdf7;border-radius:10px;overflow:hidden;color:#24211c!important;text-decoration:none;transition:box-shadow .15s,transform .15s}.lg145-offer:hover{box-shadow:0 7px 22px #342e2118;transform:translateY(-2px)}.lg145-offer>img{width:100%;height:102px;object-fit:cover}.lg145-offer>div{padding:17px;display:flex;flex-direction:column;flex:1}.lg145-kicker{font-size:12px;letter-spacing:.03em;font-weight:700;color:#665039}.lg145-offer h3{font-size:20px;line-height:1.45;margin:8px 0}.lg145-offer strong{color:#805021;font-size:16px}.lg145-offer p{font-size:14px;line-height:1.65;margin:8px 0 14px;color:#50483d}.lg145-offer-cta{font-weight:700;font-size:14px;margin-top:auto}.lg145-member{background:#233f35;color:#fff!important;border-color:#233f35}.lg145-member .lg145-kicker{color:#ded0a8}.lg145-member h3{font-size:24px;color:#fff}.lg145-member p{color:#ecede6}.lg145-member small{margin-top:12px;color:#d9e4dc}.lg145-offers-note{font-size:12px;line-height:1.6;color:#6a6053;margin:12px 0 0}.lg145-map-section{scroll-margin-top:110px}.lg145-map-section .section-heading h2{font-size:clamp(27px,3vw,40px);margin:8px 0}.lg145-map-section .section-heading>p:last-child{color:#514a40}.lg145-city-list{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.lg145-city-list a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 13px;border:1px solid #c6c3b4;border-radius:30px;color:#353b32;background:#fffdf7;text-decoration:none;font-weight:700;font-size:14px}.lg145-city-list a span{font-size:12px;opacity:.8}.lg145-city-list a.is-active{background:#233f35;color:white;border-color:#233f35}.lg145-explorer{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);border:1px solid #d1cbbc;border-radius:16px;overflow:hidden;background:#f0eee4}.lg145-map-art{position:relative;align-self:start;max-width:540px;width:100%;aspect-ratio:400/520;margin:auto;background:radial-gradient(ellipse at 48% 53%,#faf9ef,#e9ebdf)}.lg145-map-art svg{width:100%;height:100%;display:block}.lg145-map-caption{position:absolute;top:22px;left:22px;display:flex;flex-direction:column;gap:4px;color:#3b5044}.lg145-map-caption strong{font-size:16px;letter-spacing:.18em}.lg145-map-caption span{font-size:12px}.lg145-map-label{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);background:#fffdf8;border:1px solid #b9b9a5;border-radius:8px;padding:9px 12px;min-height:44px;min-width:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#283e33!important;font-size:16px;line-height:1.25;font-weight:700;text-decoration:none;box-shadow:0 2px 6px #2d3b2910}.lg145-map-label span{font-size:11px;font-weight:400;margin-top:3px}.lg145-map-label.is-active{background:#233f35;border-color:#233f35;color:#fff!important}.lg145-pin path{stroke:#879181;stroke-width:1.2;fill:none}.lg145-pin circle{fill:#456a53;stroke:white;stroke-width:2}.lg145-pin.is-active circle{r:8;fill:#aa6c35}.lg145-map-note{position:absolute;bottom:12px;left:12px;right:12px;text-align:center;color:#5c6858;font-size:11px}.lg145-results{min-width:0;background:#fffdf8}.lg145-status:empty{display:none}.lg145-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.lg145-city-panel[hidden]{display:none!important}.lg145-city-heading{padding:26px 28px 18px;border-bottom:1px solid #e2dacc}.lg145-city-heading .eyebrow{font-size:10px;color:#687348;margin:0}.lg145-city-heading h3{font-size:25px;margin:8px 0;color:#263b31}.lg145-city-heading>p:last-child{font-size:14px;margin:4px 0;color:#595449}.lg145-store-list{padding:0 26px}.is-interactive .lg145-store-list{max-height:495px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.lg145-store{display:flex;gap:16px;padding:23px 0;border-bottom:1px solid #e3ded3}.lg145-store:last-child{border:0}.lg145-store-photo{flex:0 0 110px;align-self:flex-start}.lg145-store-photo img{width:110px;height:110px;object-fit:cover;border-radius:8px}.lg145-store-copy{min-width:0;flex:1}.lg145-store h4{font-size:18px;line-height:1.5;margin:0 0 5px}.lg145-store h4 a{color:#253d31;text-decoration:none}.lg145-store p{font-size:14px;line-height:1.7;margin:6px 0;color:#4c4a40}.lg145-store .lg145-store-address{font-size:12px;color:#6c675d}.lg145-store strong{font-size:14px;color:#815626}.lg145-store-actions{display:flex;gap:8px 16px;flex-wrap:wrap;margin-top:8px}.lg145-store-actions a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:700;color:#2e573f;text-underline-offset:5px}.lg145-store small{display:block;font-size:12px;color:#615646;line-height:1.6}.lg145-map-section a:focus-visible,.lg145-hero a:focus-visible{outline:3px solid #bc7337;outline-offset:3px}
@media(min-width:1050px){.lg145-hero{grid-template-columns:.88fr 1.12fr}.lg145-offer:nth-child(2)>div{justify-content:center}.lg145-offer:nth-child(2) h3{font-size:25px}.lg145-offer:nth-child(2) .lg145-offer-cta{margin-top:16px}}
@media(max-width:900px){.lg145-explorer{grid-template-columns:minmax(270px,.8fr) minmax(0,1fr)}.lg145-store-photo{flex-basis:80px}.lg145-store-photo img{width:80px;height:90px}.lg145-store-list{padding:0 18px}.lg145-city-heading{padding:22px 18px}.lg145-hero{gap:28px}.lg145-map-label{font-size:14px;padding:8px;min-width:70px}}
@media(max-width:700px){.lg145-hero{display:block;padding-top:28px;padding-bottom:26px}.lg145-offers{margin-top:32px}.lg145-offers-heading h2{font-size:19px}.lg145-offers-heading .eyebrow{font-size:10px}.lg145-offer>div{padding:14px}.lg145-offer h3,.lg145-member h3{font-size:19px}.lg145-offer strong{font-size:14px}.lg145-offer p{font-size:13px}.lg145-offer>img{height:95px}.lg145-explorer{grid-template-columns:1fr}.lg145-map-art{max-width:380px}.lg145-map-caption{top:14px;left:14px}.lg145-map-caption strong{font-size:13px}.lg145-map-caption span{font-size:10px}.lg145-map-label{font-size:14px;min-width:66px;padding:7px}.lg145-map-note{font-size:10px}.is-interactive .lg145-store-list{max-height:none;overflow:visible}.lg145-city-heading h3{font-size:24px}.lg145-city-list{gap:7px}.lg145-city-list a{padding:7px 10px;font-size:13px}.lg145-store{gap:13px}.lg145-store-photo{flex-basis:80px}.lg145-store h4{font-size:17px}.lg145-store p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.lg145-offer{transition:none}.lg145-offer:hover{transform:none}}

.lg145-offer:nth-child(3)>img{object-position:50% 79%}
@media(min-width:1050px){.lg145-offer:nth-child(2) h3{font-size:23px}}
@media(max-width:420px){.lg145-offer-grid{grid-template-columns:1fr}.lg145-offer>img{height:135px}.lg145-offer>div{padding:18px}.lg145-offer h3,.lg145-member h3{font-size:21px}.lg145-offer p{font-size:14px}.lg145-offer strong{font-size:16px}}

@media(max-width:420px){.lg145-map-art{min-height:410px}.lg145-map-section .section-heading h2{font-size:25px}.lg145-city-heading h3{font-size:22px}}

.lg145-map-art{min-width:0}
@media(max-width:700px){.lg145-explorer{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){.lg145-map-art{min-height:440px;aspect-ratio:auto;height:440px}}

.lg145-offer h3,.lg145-city-heading h3,.lg145-map-section .section-heading h2{text-wrap:balance}
