/*
Theme Name: EatPlan Blocksy Child
Template: blocksy
Version: 0.1.41
Description: EatPlan Blocksy child theme for production and demo (0.1.34 production + demo IA, merged 2026-10-22; 0.1.39 trip tab + explore topic groups).
*/
:root {
  --theme-palette-color-1: #f7f4eb;
  --theme-palette-color-2: #17483f;
  --theme-palette-color-3: #24322f;
  --theme-palette-color-4: #6d7771;
  --theme-palette-color-5: #e6e0d3;
  --theme-palette-color-6: #ffffff;
  --theme-palette-color-7: #bd7650;
  --theme-palette-color-8: #102d28;
  --ep-paper: #f7f3e9;
  --ep-ink: #073942;
  --ep-rust: #a92f23;
  --ep-line: #a9b0a7;
  --ep-soft: #eeebdf;
  --ep-serif: Georgia, 'Noto Serif CJK SC', 'Songti SC', SimSun, serif;
  --ep-sans: Arial, 'Noto Sans CJK SC', 'Microsoft YaHei', sans-serif;
}
body { background-color:#f7f4eb; }
body.home { background:var(--ep-paper); color:var(--ep-ink); font-family:var(--ep-serif); }
h1,h2,h3,h4,h5,h6,.entry-title,.ct-title { font-family:Georgia,'Times New Roman',serif; }
body.home :is(h1,h2,h3,h4,h5,h6,.entry-title,.ct-title) { font-family:var(--ep-serif); }
a { color:#17483f; }
a:hover,a:focus { color:#bd7650; }
body.home a { color:var(--ep-ink); text-underline-offset:.2em; }
body.home a:hover,body.home a:focus { color:var(--ep-rust); }
.ep-flow-page{max-width:52rem;margin-inline:auto;padding:clamp(1.25rem,4vw,3.5rem) 1rem;color:#24322f}.ep-flow-card{padding:clamp(1.25rem,3vw,2.5rem);background:#fffdf7;border:1px solid #e6e0d3;border-radius:.5rem;box-shadow:0 .75rem 2.25rem rgb(16 45 40 / 6%)}.ep-flow-title{margin:0 0 1.5rem;color:#17483f;font:600 clamp(2rem,5vw,3.25rem)/1.08 Georgia,'Times New Roman',serif}.ep-flow-section+.ep-flow-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e6e0d3}.ep-flow-page :is(input,select,textarea){max-width:100%;border-color:#c9d2cd;border-radius:.25rem}.ep-flow-page :is(button,input[type=submit],.button){border-radius:.25rem;background:#17483f;color:#fffdf7}.ep-flow-page :is(button,input[type=submit],.button):hover{background:#102d28}@media(max-width:40rem){.ep-flow-page{padding:1rem .75rem}.ep-flow-card{padding:1.25rem 1rem}}

/* Homepage-only V12 editorial treatment */
#header .ep-magazine-header-inner { box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:1rem; width:min(100% - 2.5rem, 66.25rem); margin-inline:auto; padding:.75rem 0 .6rem; border-bottom:1px solid var(--ep-line); }
.ep-magazine-brand { display:block; flex:0 1 310px; line-height:0; }
.ep-magazine-brand img { display:block; width:min(310px,100%); height:auto;  }
.ep-magazine-nav { display:flex; align-items:center; gap:clamp(1.4rem,4vw,3rem); font:700 1rem/1.4 var(--ep-sans); }
.ep-magazine-nav a { min-height:44px; display:flex; align-items:center; text-decoration:none; }
.ep-magazine-search { flex:0 0 auto; max-width:13rem; }
.ep-magazine-search .search-form { display:flex; align-items:center; gap:.25rem; }
.ep-magazine-search .search-field { min-width:0; width:9rem; min-height:40px; padding:.35rem .55rem; border:1px solid var(--ep-line); background:transparent; color:var(--ep-ink); font: .85rem var(--ep-sans); }
.ep-magazine-search .search-submit { min-width:40px; min-height:40px; padding:.25rem; border:1px solid var(--ep-line); background:transparent; color:var(--ep-ink); }
.ep-magazine-mobile-menu { display:none; position:relative; font:700 1rem var(--ep-sans); }
.ep-magazine-menu-trigger { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:.2rem; background:transparent; color:var(--ep-ink); cursor:pointer; font:700 1.35rem/1 var(--ep-sans); }
.ep-magazine-menu-trigger:focus-visible,.ep-mobile-menu-panel :focus-visible { outline:3px solid #bd7650; outline-offset:3px; }
.ep-mobile-menu-layer[hidden] { display:none; }
.ep-mobile-menu-layer { position:fixed; z-index:80; inset:0; }
.ep-mobile-menu-backdrop { position:absolute; inset:0; display:block; width:100%; height:100%; padding:0; border:0; background:rgb(7 57 66 / 42%); opacity:0; cursor:default; transition:opacity .22s ease; }
.ep-mobile-menu-panel { position:absolute; inset-block:0; right:0; display:flex; flex-direction:column; box-sizing:border-box; width:min(22rem,calc(100vw - 2.25rem)); height:100%; height:100dvh; max-height:100%; overflow-y:auto; overscroll-behavior:contain; padding:calc(env(safe-area-inset-top,0px) + 1rem) 1.25rem calc(env(safe-area-inset-bottom,0px) + 5.5rem + 1rem); border-left:1px solid var(--ep-line); background:var(--ep-paper); box-shadow:-.75rem 0 2rem rgb(7 57 66 / 18%); color:var(--ep-ink); transform:translateX(100%); transition:transform .22s ease; }
.ep-mobile-menu-layer.is-open .ep-mobile-menu-backdrop { opacity:1; }
.ep-mobile-menu-layer.is-open .ep-mobile-menu-panel { transform:translateX(0); }
.ep-mobile-menu-close { display:grid; place-items:center; flex:0 0 44px; align-self:flex-end; width:44px; height:44px; margin:0 0 1rem; padding:0; border:1px solid var(--ep-line); border-radius:50%; background:transparent; color:var(--ep-ink); cursor:pointer; font:400 1.8rem/1 var(--ep-sans); }
.ep-mobile-menu-links { display:grid; align-content:start; }
.ep-mobile-menu-links a { display:flex; align-items:center; min-height:56px; padding:.75rem .25rem; border-bottom:1px solid rgb(169 176 167 / 55%); color:var(--ep-ink); font:700 1rem/1.4 var(--ep-sans); text-decoration:none; }
.ep-mobile-menu-links a:hover { color:var(--ep-rust); }
@media(prefers-reduced-motion:reduce) { .ep-mobile-menu-backdrop,.ep-mobile-menu-panel { transition:none; } }
.ep-magazine-home { box-sizing:border-box; width:calc(100% - 2.5rem); max-width:66.25rem; margin-inline:auto; padding:clamp(1.2rem,3vw,2.6rem) 0 3rem; }
.ep-home-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:center; min-height:420px; }
.ep-home-hero-image { min-width:0; margin:0; padding:26px 0 0 36px; }
.ep-home-hero-image img { display:block; width:100%; height:380px; object-fit:cover; }
.ep-home-hero-copy { min-width:0; padding:36px 36px 0 24px; }
.ep-home-eyebrow { display:flex; align-items:center; gap:.8rem; margin:0; color:var(--ep-rust); font:700 .85rem/1.5 var(--ep-sans); letter-spacing:.04em; }
.ep-home-eyebrow::after { height:1px; flex:1; background:var(--ep-line); content:""; }
.ep-home-hero-copy h1,.ep-home-empty h1 { margin:.55rem 0 .7rem; color:var(--ep-ink); font:900 clamp(2rem,3.6vw,2.875rem)/1.2 var(--ep-serif); letter-spacing:-.025em; }
.ep-home-deck { max-width:32rem; margin:0 0 .8rem; color:#535651; font-size:1.05rem; line-height:1.8; }
.ep-home-text-link { display:inline-flex; align-items:center; gap:.5rem; min-height:44px; color:var(--ep-ink); font-weight:700; text-underline-offset:4px; }
.ep-home-text-link span { color:var(--ep-rust); }
.ep-home-mini-story { display:grid; grid-template-columns:minmax(10rem,30%) 1fr auto; align-items:center; gap:1rem; margin-top:1.5rem; padding:.7rem 0; border-top:1px solid var(--ep-line); border-bottom:1px solid var(--ep-line); }
.ep-home-mini-image img { display:block; width:100%; height:100px; object-fit:cover; }
.ep-home-mini-title { font-size:1.25rem; font-weight:700; line-height:1.5; text-decoration:none; }
.ep-home-mini-arrow { color:var(--ep-rust); font-size:1.3rem; text-decoration:none; }
.ep-home-section { margin-top:clamp(2rem,5vw,3.75rem); }
.ep-home-section-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.5rem 1rem; padding:.65rem 0 .55rem; border-top:2px solid var(--ep-ink); border-bottom:1px solid var(--ep-line); }
.ep-home-section-heading h2,.ep-home-explore h2 { margin:0; color:var(--ep-ink); font:400 clamp(1.45rem,2.5vw,1.9rem)/1.4 var(--ep-serif); }
.ep-home-section-heading a { font:700 .85rem var(--ep-sans); text-decoration:none; }
.ep-home-section-deck { margin:.8rem 0 1.2rem; color:#656963; font-size:.95rem; }
.ep-home-stories { display:grid; grid-template-columns:minmax(0,1fr); gap:1.5rem; }
.ep-home-stories.has-secondary { grid-template-columns:minmax(0,1.3fr) minmax(14rem,.7fr); }
.ep-home-story { min-width:0; }
.ep-home-story-image img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.ep-home-story-copy { padding:.75rem 0 1rem; border-bottom:1px solid var(--ep-line); }
.ep-home-kicker { margin:0 0 .35rem; color:var(--ep-rust); font:700 .78rem/1.5 var(--ep-sans); letter-spacing:.05em; }
.ep-home-story h3 { margin:.25rem 0 .45rem; font:700 clamp(1.2rem,2vw,1.45rem)/1.4 var(--ep-serif); }
.ep-home-story h3 a { color:var(--ep-ink); text-decoration:none; }
.ep-home-story-copy>p:not(.ep-home-kicker) { margin:.35rem 0; color:#62675f; font-size:.95rem; line-height:1.7; }
.ep-home-story-secondary .ep-home-story-image img { aspect-ratio:1.4; }
.ep-home-explore { margin-top:2rem; padding:clamp(1.1rem,3vw,2rem); border-block:1px solid var(--ep-line); background:color-mix(in srgb,var(--ep-soft) 42%,var(--ep-paper)); }
.ep-home-explore h2 { margin:.2rem 0 .6rem; }
.ep-home-empty { padding:1.5rem 0 3rem; }
.ep-home-empty>p:first-child { color:var(--ep-rust); font:700 .82rem var(--ep-sans); }
#footer .ep-magazine-footer-inner { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:.3rem 1rem; padding:1.2rem 1rem .5rem; border-top:2px solid var(--ep-ink); color:var(--ep-ink); text-align:center; }
.ep-magazine-footer-inner strong { font:700 .9rem var(--ep-sans); letter-spacing:.08em; }
.ep-magazine-footer-inner span,.ep-magazine-footer-inner small { font: .8rem var(--ep-sans); }
.ep-magazine-bottom-nav { display:none; }
@media(max-width:640px) {
  #header .ep-magazine-header-inner { width:calc(100% - 2rem); padding:.45rem 0 .35rem; }
  .ep-magazine-brand { flex-basis:260px; }
  .ep-magazine-brand img { width:min(260px,calc(100vw - 104px)); }
  .ep-magazine-nav { display:none; }
  .ep-magazine-search { display:none; }
  .ep-magazine-mobile-menu { display:block; }
  .ep-magazine-home { width:calc(100% - 2rem); padding:1rem 0 2rem; }
  .ep-home-hero { width:100vw; max-width:none; margin-left:calc(50% - 50vw); grid-template-columns:minmax(0,1fr); align-items:start; min-height:0; }
  .ep-home-hero-image { padding:12px 0 0; }
  .ep-home-hero-image img { height:auto; aspect-ratio:1.39; }
  .ep-home-hero-copy { padding:13px 20px 0; }
  .ep-home-hero-copy h1,.ep-home-empty h1 { font-size:clamp(33px,9.7vw,45px); line-height:1.22; letter-spacing:-1.3px; }
  .ep-home-mini-story { grid-template-columns:42% 1fr auto; gap:.7rem; margin-top:1.3rem; }
  .ep-home-mini-image img { height:76px; }
  .ep-home-mini-title { font-size:1rem; }
  .ep-home-stories.has-secondary { grid-template-columns:minmax(0,1fr); gap:1.3rem; }
  .ep-home-story-secondary .ep-home-story-image img { aspect-ratio:16/10; }
  .ep-magazine-bottom-nav { display:grid; position:fixed; z-index:40; inset-inline:0; bottom:0; width:100vw; max-width:100vw; box-sizing:border-box; grid-template-columns:repeat(3,minmax(0,1fr)); justify-items:stretch; min-height:calc(62px + env(safe-area-inset-bottom,0px)); padding:.3rem .5rem calc(.3rem + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--ep-line); background:rgb(247 243 233 / 96%); box-shadow:0 -3px 16px rgb(7 57 66 / 9%); backdrop-filter:blur(10px); }
  body.ep-page-contribute .ep-magazine-bottom-nav { position:static; inset:auto; width:auto; max-width:none; min-height:auto; box-shadow:none; backdrop-filter:none; }
  .ep-magazine-bottom-nav.has-contribution { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .ep-magazine-bottom-nav a { display:flex; box-sizing:border-box; width:100%; min-width:0; min-height:48px; flex-direction:column; align-items:center; justify-content:center; gap:.15rem; color:var(--ep-ink); font:700 .75rem var(--ep-sans); text-align:center; text-decoration:none; }
  .ep-magazine-bottom-nav a > svg.ep-bottom-nav-icon { display:block; box-sizing:content-box; width:22px; height:22px; max-width:none; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
  body:has(.ep-magazine-home) { padding-bottom:0; }
}
@media(max-width:390px) { .ep-home-hero-copy h1,.ep-home-empty h1 { font-size:32px; letter-spacing:-1.7px; } }
@media(prefers-reduced-motion:reduce) { html:focus-within { scroll-behavior:auto; } }

/* Single-article reading path and sticky compact header. */
.single-post #header { position:sticky; top:0; z-index:60; background:var(--ep-paper); }
.single-post #header .ep-magazine-header-inner { padding:.55rem 0 .45rem; transition:padding .18s ease; }
.single-post .ep-magazine-brand { flex-basis:250px; }
.single-post .ep-magazine-brand img { width:min(250px,100%); transition:width .18s ease; }
.single-post.ep-header-compact #header .ep-magazine-header-inner { padding:.2rem 0; }
.single-post.ep-header-compact .ep-magazine-brand { flex-basis:190px; }
.single-post.ep-header-compact .ep-magazine-brand img { width:min(190px,100%); }
.single-post .ep-reader-more { clear:both; margin:clamp(2.5rem,7vw,4.5rem) auto 1.5rem; padding-top:1.25rem; border-top:2px solid var(--ep-ink); color:var(--ep-ink); }
.single-post .ep-reader-more-title { margin:0 0 1rem; color:var(--ep-ink); font:600 clamp(1.45rem,3vw,2rem)/1.3 var(--ep-serif); }
.single-post .ep-reader-related-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.single-post .ep-reader-card { min-width:0; }
.single-post .ep-reader-card-link { display:flex; height:100%; flex-direction:column; gap:.6rem; color:var(--ep-ink); text-decoration:none; }
.single-post .ep-reader-card-link:hover .ep-reader-card-title,.single-post .ep-reader-card-link:focus-visible .ep-reader-card-title { color:var(--ep-rust); text-decoration:underline; text-underline-offset:.2em; }
.single-post .ep-reader-card-image { display:block; overflow:hidden; background:var(--ep-soft); }
.single-post .ep-reader-card-image img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.single-post .ep-reader-card-title { color:var(--ep-ink); font:600 1rem/1.5 var(--ep-serif); }
.single-post .ep-reader-post-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.25rem; }
.single-post .ep-reader-post-nav-item { display:flex; min-width:0; min-height:4rem; flex-direction:column; justify-content:center; gap:.25rem; padding:.7rem .9rem; border:1px solid var(--ep-line); border-radius:.3rem; color:var(--ep-ink); text-decoration:none; }
.single-post .ep-reader-post-nav-item.is-newer { text-align:right; }
.single-post .ep-reader-post-nav-item span { color:#6d7771; font:700 .75rem/1.3 var(--ep-sans); }
.single-post .ep-reader-post-nav-item strong { overflow:hidden; font:600 .95rem/1.4 var(--ep-serif); text-overflow:ellipsis; }
.single-post .ep-reader-post-nav-item:hover,.single-post .ep-reader-post-nav-item:focus-visible { border-color:var(--ep-ink); }
.single-post .ep-reader-more a:focus-visible { outline:3px solid var(--ep-rust); outline-offset:3px; }
.single-post .entry-content :is([id],h1,h2,h3,h4) { scroll-margin-top:6rem; }
@media(max-width:640px) {
  .single-post #header .ep-magazine-header-inner { padding:.35rem 0 .25rem; }
  .single-post .ep-magazine-brand { flex-basis:200px; }
  .single-post .ep-magazine-brand img { width:min(200px,calc(100vw - 104px)); }
  .single-post.ep-header-compact #header .ep-magazine-header-inner { padding:.15rem 0; }
  .single-post.ep-header-compact .ep-magazine-brand { flex-basis:150px; }
  .single-post.ep-header-compact .ep-magazine-brand img { width:min(150px,calc(100vw - 104px)); }
  .single-post .ep-reader-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
  .single-post .ep-reader-post-nav { gap:.6rem; }
  .single-post .ep-reader-post-nav-item { min-height:3.5rem; padding:.6rem; }
  .single-post .ep-reader-post-nav-item strong { font-size:.85rem; }
  .single-post .entry-content :is([id],h1,h2,h3,h4) { scroll-margin-top:5rem; }
}
@media(prefers-reduced-motion:reduce) { .single-post #header .ep-magazine-header-inner,.single-post .ep-magazine-brand img { transition:none; } }

/* Explore directory */
.ep-explore-page { box-sizing:border-box; width:calc(100% - 2.5rem); max-width:66.25rem; margin:0 auto; padding:clamp(1.35rem,4vw,3.5rem) 0 calc(2.5rem + env(safe-area-inset-bottom,0px)); color:var(--ep-ink); font-family:var(--ep-sans); }
.ep-explore-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(16rem,.95fr); align-items:center; gap:clamp(1rem,3vw,2rem); padding:clamp(1.1rem,3vw,2rem); border:1px solid var(--ep-line); border-radius:.5rem; background:linear-gradient(135deg,#fffdf7,var(--ep-soft)); }
.ep-explore-eyebrow { margin:0 0 .65rem; color:#6d7771; font-size:.8rem; font-weight:700; letter-spacing:.08em; }
.ep-explore-title { margin:0; color:var(--ep-ink); font:600 clamp(2rem,6vw,3.4rem)/1.12 var(--ep-serif); letter-spacing:-.035em; }
.ep-explore-intro { max-width:42rem; margin:.75rem 0 0; color:#3e514d; font-size:clamp(1rem,2.3vw,1.2rem); line-height:1.7; }
.ep-explore-themes,.ep-explore-directory { margin-top:clamp(2rem,5vw,3.25rem); }
.ep-explore-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; text-align:left; }
.ep-explore-section-heading > div { display:grid; min-width:0; gap:.35rem; }
.ep-explore-section-heading h2 { margin:0; color:var(--ep-ink); font:600 clamp(1.3rem,3vw,1.8rem)/1.25 var(--ep-serif); }
.ep-explore-section-heading p { max-width:62ch; margin:0; color:#596762; font-size:.9rem; line-height:1.55; }
.ep-explore-theme-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:.8rem; }
.ep-explore-theme-card { display:flex; min-width:0; min-height:18rem; flex-direction:column; align-items:stretch; overflow:hidden; padding:1rem; border:1px solid #d9ddd5; border-radius:.45rem; background:#fffdf7; color:var(--ep-ink); text-decoration:none; transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease; }
.ep-explore-theme-card:hover { border-color:var(--ep-rust); box-shadow:0 .5rem 1.25rem rgb(7 57 66 / 8%); transform:translateY(-2px); }
.ep-explore-theme-card:focus-visible,.ep-explore-filter-actions a:focus-visible,.ep-explore-result-card a:focus-visible,.ep-explore-empty a:focus-visible,.ep-explore-pagination a:focus-visible { outline:3px solid #bd7650; outline-offset:3px; }
.ep-explore-theme-title { display:block; margin:0; color:var(--ep-ink); font:700 1.02rem/1.4 var(--ep-sans); text-align:left; overflow-wrap:anywhere; }
.ep-explore-theme-copy { display:block; margin:.45rem 0 0; color:#596762; font-size:.88rem; line-height:1.55; text-align:left; overflow-wrap:anywhere; }
.ep-explore-theme-action { display:inline-flex; min-height:44px; align-items:center; gap:.35rem; margin-top:auto; padding-top:.45rem; color:#17483f; font-size:.88rem; font-weight:700; }
.ep-explore-filters { display:grid; grid-template-columns:minmax(12rem,1.35fr) minmax(10rem,1fr) minmax(12rem,1.2fr) auto; align-items:end; gap:.8rem; padding:1rem; border:1px solid #d9ddd5; border-radius:.45rem; background:#fffdf7; }
.ep-explore-filters label { display:grid; min-width:0; gap:.4rem; color:#24322f; font-size:.9rem; font-weight:700; }
.ep-explore-label-hint { display:inline; margin-left:.35rem; color:#6d7771; font-size:.78rem; font-weight:400; }
.ep-explore-filters select { box-sizing:border-box; width:100%; min-width:0; min-height:48px; padding:.55rem 2rem .55rem .7rem; border:1px solid #a9b0a7; border-radius:.25rem; background:#fff; color:#24322f; font:400 .95rem var(--ep-sans); }
.ep-explore-filters input[type=search] { box-sizing:border-box; width:100%; min-width:0; min-height:48px; padding:.55rem .7rem; border:1px solid #a9b0a7; border-radius:.25rem; background:#fff; color:#24322f; font:400 .95rem var(--ep-sans); }
.ep-explore-filters select:focus-visible,.ep-explore-filters input[type=search]:focus-visible,.ep-explore-filter-actions button:focus-visible { outline:3px solid #bd7650; outline-offset:2px; }
.ep-explore-filter-actions { display:flex; min-height:48px; align-items:center; gap:.75rem; }
.ep-explore-filter-actions button { min-width:7.5rem; min-height:48px; padding:.65rem .9rem; border:1px solid #17483f; border-radius:.25rem; background:#17483f; color:#fffdf7; font:700 .92rem var(--ep-sans); cursor:pointer; }
.ep-explore-filter-actions button:hover { background:#102d28; }
.ep-explore-filter-actions a { display:inline-flex; min-height:44px; align-items:center; color:#17483f; font-size:.9rem; font-weight:700; text-underline-offset:.2em; }
.ep-explore-result-count { margin:1.25rem 0 .85rem; color:#596762; font-size:.9rem; }
.ep-explore-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.ep-explore-result-card { display:grid; min-width:0; grid-template-columns:minmax(7rem,35%) minmax(0,1fr); overflow:hidden; border:1px solid #d9ddd5; border-radius:.45rem; background:#fffdf7; }
.ep-explore-result-image { min-height:100%; background:var(--ep-soft); }
.ep-explore-result-image img { display:block; width:100%; height:100%; min-height:9rem; object-fit:cover; }
.ep-explore-result-content { min-width:0; padding:1rem; }
.ep-explore-result-type { margin:0 0 .35rem; color:#68756e; font-size:.78rem; font-weight:700; }
.ep-explore-result-content h3 { margin:0; color:var(--ep-ink); font:700 1.05rem/1.4 var(--ep-sans); overflow-wrap:anywhere; }
.ep-explore-result-content h3 a { color:inherit; text-decoration:none; }
.ep-explore-result-content h3 a:hover { color:var(--ep-rust); text-decoration:underline; }
.ep-explore-result-excerpt,.ep-explore-result-dishes { margin:.2rem 0; color:var(--ep-ink); font-size:.82rem; font-weight:600; }
.ep-explore-result-area { margin:.5rem 0 0; color:#596762; font-size:.88rem; line-height:1.6; overflow-wrap:anywhere; }
.ep-explore-result-link { display:inline-flex; min-height:44px; align-items:center; gap:.35rem; margin-top:.45rem; color:#17483f; font-size:.9rem; font-weight:700; text-underline-offset:.2em; }
.ep-explore-empty { padding:clamp(1.25rem,4vw,2rem); border:1px dashed #a9b0a7; border-radius:.45rem; background:#fffdf7; }
.ep-explore-empty h3 { margin:0; color:var(--ep-ink); font:600 1.2rem/1.4 var(--ep-serif); }
.ep-explore-empty p { margin:.6rem 0 0; color:#596762; font-size:.95rem; line-height:1.65; }
.ep-explore-empty .ep-explore-empty-note { color:#17483f; font-weight:700; }
.ep-explore-empty a { display:inline-flex; min-height:44px; align-items:center; margin-top:.65rem; color:#17483f; font-weight:700; text-underline-offset:.2em; }
.ep-explore-pagination ul { display:flex; flex-wrap:wrap; gap:.35rem; padding:0; list-style:none; }
.ep-explore-pagination a,.ep-explore-pagination span { display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; padding:.4rem .7rem; border:1px solid #d9ddd5; border-radius:.25rem; }
@media(max-width:900px) { .ep-explore-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .ep-explore-filter-actions { grid-column:1/-1; } }
@media(max-width:760px) { .ep-explore-hero { grid-template-columns:minmax(0,1fr); } .ep-explore-hero-image { max-width:42rem; } .ep-explore-theme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ep-explore-result-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:560px) { .ep-explore-hero { gap:.9rem; } .ep-explore-theme-image { margin:-.8rem -.8rem .6rem; } .ep-explore-page { width:calc(100% - 2rem); padding-top:1rem; padding-bottom:calc(6.5rem + env(safe-area-inset-bottom,0px)); } .ep-explore-theme-grid { gap:.6rem; } .ep-explore-theme-card { min-height:12rem; padding:.8rem; } .ep-explore-filters { grid-template-columns:minmax(0,1fr); gap:.8rem; padding:.85rem; } .ep-explore-filter-actions { flex-wrap:wrap; } .ep-explore-filter-actions button { flex:1 1 9rem; } .ep-explore-result-card { grid-template-columns:minmax(0,1fr); } .ep-explore-result-image img { max-height:13rem; min-height:0; aspect-ratio:16/9; } }
@media(prefers-reduced-motion:reduce) { .ep-explore-theme-card { transition:none; } }

/* Self-hosted Explore images and credits */
.ep-explore-hero-copy { min-width:0; }
.ep-explore-hero-image { min-width:0; margin:0; }
.ep-explore-hero-image img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:.35rem; }
.ep-explore-hero-image figcaption,.ep-explore-theme-caption { margin-top:.4rem; color:#596762; font-size:.76rem; line-height:1.45; }
.ep-explore-photo-note { margin:.8rem 0 0; color:#596762; font-size:.82rem; line-height:1.55; }
.ep-explore-quick-filters { margin-top:1rem; }
.ep-explore-quick-filters>p { margin:0 0 .45rem; color:#596762; font-size:.82rem; }
.ep-explore-theme-image { display:block; overflow:hidden; margin:-1rem -1rem .7rem; border-radius:.3rem; background:var(--ep-soft); }
.ep-explore-theme-image img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; transition:transform .2s ease; }
.ep-explore-theme-card:hover .ep-explore-theme-image img { transform:scale(1.025); }
.ep-explore-theme-caption { min-height:2.2em; }
.ep-explore-image-credits { margin-top:1rem; color:#596762; font:.86rem/1.6 var(--ep-sans); }
.ep-explore-image-credits details { padding:.65rem .85rem; border:1px solid #d9ddd5; border-radius:.35rem; background:#fffdf7; }
.ep-explore-image-credits summary { display:flex; min-height:44px; align-items:center; color:#17483f; font-weight:700; cursor:pointer; }
.ep-explore-image-credits ul { margin:.5rem 0; padding-left:1.25rem; }
.ep-explore-image-credits li+li { margin-top:.4rem; }
.ep-explore-image-credits p { margin:.5rem 0 0; }
.ep-explore-image-credits a { color:#17483f; text-underline-offset:.15em; overflow-wrap:anywhere; }
@media(max-width:560px) { .ep-explore-image-credits { font-size:.9rem; } }
@media(max-width:560px) { .ep-explore-theme-image { margin:-.8rem -.8rem .6rem; } }
@media(prefers-reduced-motion:reduce) { .ep-explore-theme-image img { transition:none; } }

/* Searchable Explore directory and consumer article safe-area clearance. */
@media(max-width:760px) {
  body.single-post #main-container { padding-bottom:calc(74px + env(safe-area-inset-bottom,0px)); }
}
@media(max-width:760px) {
  body.ep-page-places { padding-bottom:calc(74px + env(safe-area-inset-bottom,0px)); }
}
.ep-explore-page { padding-top:1rem; }
.ep-explore-hero { display:block; padding:1rem 0 .6rem; border:0; border-radius:0; background:transparent; }
.ep-explore-title { font-size:clamp(1.9rem,8vw,2.6rem); }
.ep-explore-intro { margin-top:.45rem; font-size:.94rem; }
.ep-explore-quick-filters { margin:.85rem 0 1.1rem; }
.ep-explore-quick-filters>p { margin:.45rem 0 0; font-size:.75rem; }
.ep-explore-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(9rem,.42fr) auto; align-items:end; gap:.55rem; padding:0; border:0; background:transparent; }
.ep-explore-search-control { display:flex; box-sizing:border-box; width:100%; height:50px; min-width:0; min-height:50px; align-items:center; overflow:hidden; border:1px solid #a9b0a7; border-radius:1rem; background:#fffdf7; }
.ep-explore-search-control > svg { display:block; box-sizing:border-box; width:20px !important; height:20px !important; min-width:20px; min-height:20px; max-width:20px !important; max-height:20px !important; flex:0 0 20px; margin:0 0 0 12px; overflow:visible; }
.ep-explore-search-control input[type=search] { display:block; box-sizing:border-box; width:0; max-width:none; min-width:0; min-height:48px; flex:1 1 0%; margin:0; padding:.65rem .8rem; border:0; outline:0; background:transparent; color:var(--ep-ink); font:400 .95rem var(--ep-sans); }
.ep-explore-search-control input[type=search]:focus-visible { outline:3px solid #bd7650; outline-offset:-3px; }
.ep-explore-search-control button { display:grid; box-sizing:border-box; width:48px; height:48px; min-width:48px; max-width:48px; min-height:48px; flex:0 0 48px; margin:0; padding:0; place-items:center; border:0; border-radius:0; background:var(--ep-ink); color:#fffdf7; font-size:1.15rem; line-height:1; cursor:pointer; }
.ep-explore-region-field { display:grid; min-width:0; gap:.25rem; color:#53615a; font-size:.72rem; font-weight:700; }
.ep-explore-region-field select { box-sizing:border-box; width:100%; min-width:0; min-height:50px; padding:.55rem 1.7rem .55rem .7rem; border:1px solid #a9b0a7; border-radius:.65rem; background:#fffdf7; color:var(--ep-ink); font:400 .88rem var(--ep-sans); }
.ep-explore-filter-actions { display:flex; min-height:50px; align-items:center; gap:.5rem; }
.ep-explore-filter-actions button { min-width:0; min-height:46px; padding:.55rem .8rem; border-radius:.65rem; }
.ep-explore-filter-actions a { font-size:.78rem; white-space:nowrap; }
.ep-explore-category-row { display:flex; gap:.9rem; overflow-x:auto; padding:.2rem 0 .45rem; scrollbar-width:thin; }
.ep-explore-category-link { display:flex; min-width:62px; min-height:78px; flex:0 0 62px; flex-direction:column; align-items:center; justify-content:flex-start; gap:.35rem; color:var(--ep-ink); font-size:.72rem; font-weight:650; text-decoration:none; text-align:center; }
.ep-explore-category-link:focus-visible,.ep-explore-filter-chip:focus-visible { outline:3px solid #bd7650; outline-offset:3px; }
.ep-explore-category-icon { display:grid; width:54px; height:54px; place-items:center; border:1px solid #cbd2c5; border-radius:50%; background:#e6eadf; color:var(--ep-ink); font:600 1.35rem/1 var(--ep-serif); }
.ep-explore-category-link:nth-child(2) .ep-explore-category-icon { background:#eee6d4; }
.ep-explore-category-link:nth-child(3) .ep-explore-category-icon { background:#e6e9dc; }
.ep-explore-category-link:nth-child(4) .ep-explore-category-icon { background:#efe2d8; }
.ep-explore-category-link:nth-child(5) .ep-explore-category-icon { background:#e5e9e7; }
.ep-explore-category-link[aria-current=page] .ep-explore-category-icon { border:2px solid var(--ep-rust); }
.ep-explore-type-chips { display:flex; gap:.45rem; overflow-x:auto; padding:.15rem 0 .35rem; scrollbar-width:thin; }
.ep-explore-filter-chip { display:inline-flex; min-height:40px; flex:0 0 auto; align-items:center; padding:.45rem .8rem; border:1px solid #a9b0a7; border-radius:999px; color:#415650; font-size:.78rem; text-decoration:none; white-space:nowrap; }
.ep-explore-filter-chip[aria-current=page] { border-color:var(--ep-ink); background:var(--ep-ink); color:#fffdf7; }
.ep-explore-directory { margin-top:1.2rem; padding-top:.9rem; border-top:2px solid var(--ep-ink); }
.ep-explore-themes { margin-top:2rem; padding-top:1rem; border-top:1px solid var(--ep-line); }
.ep-explore-theme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:560px) {
  .ep-explore-page { width:calc(100% - 2rem); padding-top:.55rem; padding-bottom:calc(6.5rem + env(safe-area-inset-bottom,0px)); }
  .ep-explore-hero { padding:.5rem 0 .35rem; }
  .ep-explore-filters { grid-template-columns:minmax(0,1fr) minmax(0,.8fr); }
  .ep-explore-search-control { grid-column:1/-1; }
  .ep-explore-region-field { grid-column:1; }
  .ep-explore-filter-actions { grid-column:2; justify-content:flex-end; }
  .ep-explore-filter-actions button { min-height:46px; }
  .ep-explore-theme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* Compact Explore filters, encyclopedia entry and source page. */
.ep-explore-filters .ep-explore-search-control { grid-column:1/-1; min-width:0; }
.ep-explore-search-status { margin:.55rem 0 0; color:#8b2e22; font-size:.82rem; line-height:1.5; }
.ep-explore-search-status[hidden] { display:none; }
.ep-explore-encyclopedia { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.8rem 1.5rem; margin:1.3rem 0; padding:1rem 1.1rem; border:1px solid var(--ep-line); border-radius:.45rem; background:linear-gradient(120deg,#fffdf7,var(--ep-soft)); color:var(--ep-ink); }
.ep-explore-encyclopedia h2 { margin:.1rem 0 .25rem; color:var(--ep-ink); font:600 clamp(1.25rem,3vw,1.6rem)/1.3 var(--ep-serif); }
.ep-explore-encyclopedia p { margin:0; color:#53615a; font-size:.9rem; line-height:1.55; }
.ep-explore-encyclopedia .ep-explore-eyebrow { margin-bottom:.25rem; font-size:.68rem; }
.ep-explore-encyclopedia>a { display:inline-flex; min-height:44px; align-items:center; gap:.35rem; color:var(--ep-ink); font-weight:700; text-underline-offset:.2em; white-space:nowrap; }
.ep-explore-image-credits { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.4rem 1rem; margin:1.25rem 0; padding:.8rem 0; border-top:1px solid var(--ep-line); border-bottom:1px solid var(--ep-line); color:#53615a; font-size:.82rem; line-height:1.5; }
.ep-explore-image-credits p { margin:0; }
.ep-explore-image-credits a { color:var(--ep-ink); font-weight:700; text-underline-offset:.2em; }
.ep-copyright-page,.ep-encyclopedia-page { box-sizing:border-box; width:calc(100% - 2.5rem); max-width:66.25rem; margin:0 auto; padding:clamp(1.5rem,5vw,3.5rem) 0 calc(3rem + env(safe-area-inset-bottom,0px)); color:var(--ep-ink); font-family:var(--ep-sans); }
.ep-copyright-card,.ep-encyclopedia-hero { padding:clamp(1.25rem,4vw,2.5rem); border:1px solid var(--ep-line); border-radius:.5rem; background:#fffdf7; }
.ep-copyright-card>header h1,.ep-encyclopedia-hero h1 { margin:0 0 1rem; color:var(--ep-ink); font:600 clamp(1.8rem,5vw,2.8rem)/1.2 var(--ep-serif); }
.ep-copyright-existing-content { margin-bottom:2rem; }
.ep-explore-image-credits h2 { margin:0 0 .75rem; font:600 1.35rem/1.4 var(--ep-serif); }
.ep-explore-image-credits ul { margin:.75rem 0 1rem; padding-left:1.4rem; }
.ep-explore-image-credits li { margin:.65rem 0; line-height:1.65; overflow-wrap:anywhere; }
.ep-explore-image-credits li a { font-weight:600; }
.ep-encyclopedia-hero { margin-bottom:1.25rem; }
.ep-encyclopedia-hero>p:last-child { margin:0; color:#53615a; }
.ep-encyclopedia-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.ep-encyclopedia-card { min-width:0; border:1px solid var(--ep-line); border-radius:.45rem; background:#fffdf7; overflow:hidden; }
.ep-encyclopedia-card>a { display:block; height:100%; color:var(--ep-ink); text-decoration:none; }
.ep-encyclopedia-image,.ep-encyclopedia-image img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.ep-encyclopedia-card h2,.ep-encyclopedia-card p { margin:.7rem .85rem; }
.ep-encyclopedia-card h2 { font:600 1.1rem/1.45 var(--ep-serif); }
.ep-encyclopedia-card p { color:#53615a; font-size:.88rem; line-height:1.6; }
.ep-encyclopedia-empty { padding:1.3rem; border:1px dashed var(--ep-line); border-radius:.45rem; color:#53615a; }
.ep-explore-filters select,.ep-explore-filters input[type=search],.ep-explore-search-control button { min-height:46px; }
@media(max-width:560px) {
  .ep-explore-filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; padding:.75rem; }
  .ep-explore-filters .ep-explore-search-control { grid-column:1/-1; }
  .ep-explore-region-field { grid-column:auto; min-width:0; }
  .ep-explore-region-field select { min-width:0; min-height:46px; padding-inline:.55rem 1.3rem; font-size:.82rem; }
  .ep-explore-filter-actions { grid-column:1/-1; justify-content:flex-end; }
  .ep-explore-filter-actions button { min-width:7rem; min-height:46px; }
  .ep-explore-encyclopedia { align-items:flex-start; padding:.85rem; }
  .ep-encyclopedia-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
  .ep-copyright-page,.ep-encyclopedia-page { width:calc(100% - 1.5rem); padding-top:1rem; }
}
@media(max-width:380px) {
  .ep-explore-filters { gap:.45rem; padding:.6rem; }
  .ep-explore-filters label { font-size:.82rem; }
  .ep-explore-region-field select { padding-left:.45rem; padding-right:1.1rem; font-size:.78rem; }
  .ep-explore-search-control button { width:44px; min-width:44px; max-width:44px; min-height:44px; flex-basis:44px; }
}

@media(max-width:900px) {
  .ep-magazine-brand { flex-basis:220px; }
  .ep-magazine-nav { gap:clamp(.8rem,2vw,1rem); }
  .ep-magazine-search { display:none; }
}

/* [NAV-1022] v1 navigation: 4-tab bottom nav, footer links, topic groups, hidden bottom nav inside the AppKit frame. */
.ep-magazine-bottom-nav.ep-nav-v1 { grid-template-columns:repeat(3,minmax(0,1fr)); } /* [MERGE-0.1.35] 发现·杂志·我的 (行程 hidden) */
#footer .ep-nav-footer { flex-direction:column; align-items:center; gap:.5rem; }
.ep-footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:.35rem 1.1rem; }
.ep-footer-links a { color:var(--ep-ink); font:600 .9rem/1.6 var(--ep-sans); text-decoration:none; }
.ep-footer-links a:hover { color:var(--ep-rust); text-decoration:underline; }
.ep-footer-copy { margin:0; color:var(--theme-palette-color-4); font:400 .78rem/1.5 var(--ep-sans); }
.ep-nav-topic-groups { margin-top:1rem; }
.ep-nav-topic-group-label { margin:.9rem 0 .35rem; color:var(--theme-palette-color-4); font:700 .8rem/1.4 var(--ep-sans); letter-spacing:.04em; }
.ep-nav-topic-group { display:flex; flex-wrap:wrap; gap:.4rem; }
.ep-nav-topic-group a { padding:.35rem .7rem; border:1px solid var(--ep-line); border-radius:999px; color:var(--ep-ink); font:600 .85rem/1.3 var(--ep-sans); text-decoration:none; }
html.ep-in-app .ep-magazine-bottom-nav, html.eppl-in-app .ep-magazine-bottom-nav { display:none !important; }
html.ep-in-app #footer .ep-magazine-footer-inner, html.eppl-in-app #footer .ep-magazine-footer-inner { padding-bottom:1.2rem; }
html.ep-in-app body.single-post #main-container, html.eppl-in-app body.single-post #main-container { padding-bottom:0; }

/* [LOGO-1022] transparent masthead: keep 3:1, never stretched (picture wrapper is inline by default) */
#header .ep-magazine-brand picture { display:block; line-height:0; }
#header .ep-magazine-brand img { height:auto; max-width:100%; object-fit:contain; }

/* [E1] 我要投稿 CTA on articles */
.single-post .ep-contribute-cta { clear:both; display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; margin:2.5rem auto 0; padding:1.1rem 1.25rem; border:1px solid #cfe1d8; border-radius:14px; background:#eef6f2; color:var(--ep-ink); }
.single-post .ep-contribute-cta strong { font-size:1.05rem; }
.single-post .ep-contribute-cta p { margin:.25rem 0 0; font-size:.92rem; }
.single-post .ep-contribute-cta-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 1.25rem; border-radius:999px; background:#2f7d5b; color:#fff !important; font-weight:600; text-decoration:none; }
.single-post .ep-contribute-cta-btn:hover, .single-post .ep-contribute-cta-btn:focus-visible { background:#25654a; }

/* [IA-1022] nav: 我要投稿 button + small App tag on links that open the App */
.ep-app-tag { display:inline-block; margin-left:.3em; padding:0 .35em; border-radius:4px; background:#e3efe9; color:#2f7d5b; font:600 10px/1.6 system-ui,sans-serif; letter-spacing:.02em; vertical-align:middle; }
.ep-magazine-bottom-nav .ep-app-tag { position:absolute; margin:0; transform:translate(14px,-30px); font-size:9px; }
.ep-magazine-bottom-nav a { position:relative; }
.ep-magazine-nav .ep-nav-cta { padding:.35rem .9rem; border-radius:999px; background:#2f7d5b; color:#fff !important; text-decoration:none; }
.ep-magazine-nav .ep-nav-cta[aria-current="page"] { background:#25654a; }

/* [MERGE-0.1.35] from production 0.1.34: article share toolbar (used only without the points ledger), breadcrumbs, mobile article alignment. */
/* Native article sharing and speech controls. */
.ep-article-tools { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; box-sizing:border-box; width:100%; max-width:100%; margin:0 0 1.25rem; padding:0; border:0; border-radius:0; background:transparent; color:var(--ep-ink); font:600 .9rem/1.3 var(--ep-sans); }
.ep-article-tools button { display:inline-flex; box-sizing:border-box; flex:0 0 auto; align-items:center; justify-content:center; gap:.4rem; min-width:44px; min-height:44px; padding:.45rem .65rem; border:0; border-radius:.25rem; background:transparent; color:var(--ep-ink); font:600 .9375rem/1.2 var(--ep-sans); cursor:pointer; }
.ep-article-tools button:hover { background:var(--ep-soft); }
.ep-article-tools button:focus-visible { outline:3px solid #bd7650; outline-offset:2px; }
.ep-article-tools svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ep-article-tools-divider { width:1px; height:1.5rem; margin:0 .2rem; background:var(--ep-line); }
.ep-article-tools-status:empty { display:none; }
.ep-article-tools-status { flex:0 1 100%; max-width:100%; color:#53615a; font-size:.82rem; line-height:1.4; font-weight:400; }
@media(max-width:380px) { .ep-article-tools { gap:.2rem; } .ep-article-tools button { gap:.3rem; padding-inline:.5rem; font-size:.875rem; } }

/* Visible, keyboard-readable article breadcrumbs. */
.ep-article-breadcrumbs { box-sizing:border-box; width:100%; max-width:var(--wp--style--global--content-size, 100%); margin:0 auto .75rem; color:#53615a; font:500 .86rem/1.5 var(--ep-sans); }
.ep-article-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:0; list-style:none; margin:0; padding:0; }
.ep-article-breadcrumbs li + li::before { content:"/"; display:inline-block; margin:0 .45rem; color:#7b847e; }
.ep-article-breadcrumbs a { color:var(--ep-ink); text-decoration:underline; text-underline-offset:.14em; }
.ep-article-breadcrumbs a:focus-visible { outline:3px solid #bd7650; outline-offset:2px; }
.ep-article-breadcrumbs [aria-current="page"] { color:#39463f; }


/* Mobile article layout alignment audit fix. */
.single-post .ep-article-breadcrumbs,
.single-post .ep-article-tools {
  width: var(--theme-container-width);
  max-width: 750px;
  margin-inline: auto;
}

.single-post .ep-article-tools > button:first-of-type {
  padding-left: 0;
}

@media (max-width: 600px) {
  .single-post .ct-container-full {
    padding-top: 28px;
  }

  .single-post .entry-header .page-title {
    font-size: 26px;
    line-height: 1.25;
  }
}

/* [FOOTER-1022] 0.1.36: no site footer (PWA). Its links moved to the ☰ drawer, which is now available at every width. */
.ep-magazine-mobile-menu { display:block; flex:0 0 auto; }
#footer.ct-footer, #footer { margin:0; padding:0; border:0; background:transparent; }
.ep-mobile-menu-panel .ep-drawer-meta { margin-top:auto; padding-top:1.5rem; }
.ep-drawer-meta-label { margin:0 0 .35rem; color:var(--theme-palette-color-4); font:700 .8rem/1.4 var(--ep-sans); letter-spacing:.04em; }
.ep-drawer-meta-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 .75rem; border-top:1px solid rgb(169 176 167 / 55%); }
.ep-drawer-meta-links a { display:flex; align-items:center; min-height:44px; border-bottom:1px solid rgb(169 176 167 / 35%); color:var(--ep-ink); font:600 .9rem/1.35 var(--ep-sans); text-decoration:none; }
.ep-drawer-meta-links a:hover, .ep-drawer-meta-links a[aria-current="page"] { color:var(--ep-rust); }
.ep-drawer-copy { margin:.9rem 0 0; color:var(--theme-palette-color-4); font:400 .78rem/1.5 var(--ep-sans); }
@media(min-width:641px) { .ep-mobile-menu-panel { padding-bottom:calc(env(safe-area-inset-bottom,0px) + 1.5rem); } }
/* Clearance for the fixed tab bar now that the footer no longer provides it (articles and 发现 already reserve their own). */
@media(max-width:640px) {
  body:not(.single-post):not(.ep-page-places):not(.ep-page-contribute) #footer { padding-bottom:calc(62px + env(safe-area-inset-bottom,0px) + .75rem); }
  html.ep-in-app body #footer, html.eppl-in-app body #footer { padding-bottom:0; }
}
/* [FOOTER-1022] the open ☰ drawer is modal: keep it above the points-ledger login nudge / toasts (z-index up to 100001) */
.ep-mobile-menu-layer { z-index:100002; }

/* [FLAT-0.1.37] flat ☰ drawer (option eatplan_flat_menu): one list, icon + label, 52px rows */
.ep-flat-menu { display:flex; flex-direction:column; margin-top:.5rem; border-top:1px solid rgb(169 176 167 / 45%); }
.ep-flat-menu a { display:flex; align-items:center; gap:.85rem; min-height:52px; padding:.35rem .25rem; border-bottom:1px solid rgb(169 176 167 / 35%); color:var(--ep-ink); font:600 1rem/1.35 var(--ep-sans); text-decoration:none; }
.ep-flat-menu a:hover, .ep-flat-menu a[aria-current="page"] { color:#2f7d5b; }
.ep-flat-ico { display:inline-flex; align-items:center; justify-content:center; flex:0 0 34px; width:34px; height:34px; border-radius:10px; background:#e7f1ed; color:#2f7d5b; }
.ep-flat-label { flex:1 1 auto; min-width:0; }
.ep-flat-chev { margin-left:auto; font-size:1.2rem; line-height:1; opacity:.45; }

/* [TRIP-EXPLORE-0.1.39] 行程 tab (only printed when option eatplan_appkit_trips_tab_url is set) */
.ep-magazine-bottom-nav.ep-nav-v1.has-trips { grid-template-columns:repeat(4,minmax(0,1fr)); }

/* [TRIP-EXPLORE-0.1.39] 探索页 · 按主题浏览 (美食 / 景点 / 实用与文化), AppKit-like cards, 390px first */
.ep-topic-groups { margin:1.3rem 0; }
.ep-topic-group { margin:.65rem 0; border:1px solid var(--ep-line); border-radius:.6rem; background:#fffdf7; overflow:hidden; }
.ep-topic-group > summary { display:flex; align-items:center; gap:.6rem; min-height:52px; padding:.5rem .95rem; cursor:pointer; list-style:none; color:var(--ep-ink); -webkit-tap-highlight-color:transparent; }
.ep-topic-group > summary::-webkit-details-marker { display:none; }
.ep-topic-group > summary:focus-visible { outline:2px solid #2f7d5b; outline-offset:-2px; }
.ep-topic-group-name { font:700 1.05rem/1.3 var(--ep-serif); }
.ep-topic-group-meta { flex:1; color:#53615a; font:600 .78rem/1.3 var(--ep-sans); }
.ep-topic-toggle { display:inline-flex; align-items:center; gap:.3rem; color:#2f7d5b; font:700 .8rem/1 var(--ep-sans); }
.ep-topic-toggle::before { content:'展开'; }
.ep-topic-toggle::after { content:''; width:.5rem; height:.5rem; border:solid currentColor; border-width:0 2px 2px 0; transform:rotate(45deg) translateY(-2px); transition:transform .15s; }
.ep-topic-group[open] > summary .ep-topic-toggle::before { content:'收起'; }
.ep-topic-group[open] > summary .ep-topic-toggle::after { transform:rotate(-135deg) translateY(-2px); }
.ep-topic-chips { display:flex; gap:.55rem; overflow-x:auto; padding:.1rem .95rem .85rem; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
.ep-topic-chip { flex:0 0 auto; display:inline-flex; align-items:center; gap:.45rem; min-height:44px; padding:.4rem .9rem; border:1px solid var(--ep-line); border-radius:999px; background:#fff; color:var(--ep-ink); font:600 .92rem/1.2 var(--ep-sans); text-decoration:none; white-space:nowrap; scroll-snap-align:start; }
.ep-topic-chip:hover, .ep-topic-chip:focus-visible { border-color:#2f7d5b; color:#2f7d5b; }
.ep-topic-chip-count { padding:.1rem .45rem; border-radius:999px; background:var(--ep-soft); color:#53615a; font:700 .72rem/1.3 var(--ep-sans); }
@media (min-width:782px) { .ep-topic-chips { flex-wrap:wrap; overflow-x:visible; } }
/* [TRIP-EXPLORE-0.1.39] dark mode for the topic groups (pwa-plus sets html[data-ep-theme=dark]; 自动 = 19:00–07:00) */
html[data-ep-theme=dark] .ep-topic-group { background:#1a2422; border-color:#2e3c38; }
html[data-ep-theme=dark] .ep-topic-group > summary { color:#e8efe9; }
html[data-ep-theme=dark] .ep-topic-group-name { color:#eef3ef; }
html[data-ep-theme=dark] .ep-topic-group-meta { color:#a9b8b0; }
html[data-ep-theme=dark] .ep-topic-toggle { color:#8fd3b0; }
html[data-ep-theme=dark] .ep-topic-chip { background:#22302c; border-color:#3a4a45; color:#e8efe9; }
html[data-ep-theme=dark] .ep-topic-chip:hover, html[data-ep-theme=dark] .ep-topic-chip:focus-visible { border-color:#8fd3b0; color:#8fd3b0; }
html[data-ep-theme=dark] .ep-topic-chip-count { background:#121a18; color:#c9d4ce; }
