/* Additions on top of the draft styles: sharing, status, removed-item badge. */
.panel__spacer{ flex:1; }
.panel__head{ gap:10px; flex-wrap:wrap; }
.panel__status{ font-family:var(--font-mono); font-size:11px; color:#B9AE9C; letter-spacing:.04em; }
.panel__status.is-error{ color:#E4B4A6; }
.panel__btn{ font-size:12.5px; padding:6px 12px; border-radius:6px; border:1px solid #5A4F42; background:transparent; color:#F1E9DC; cursor:pointer; }
.panel__btn:hover{ border-color:#9C8F7C; color:#fff; }
.panel__btn--primary{ background:var(--accent); border-color:var(--accent); color:#fff; font-weight:600; }
.panel__btn--primary:hover{ background:#9E3820; }
.panel__btn--ghost{ border-color:transparent; color:#B9AE9C; }
.share-row{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 0 14px; border-bottom:1px solid #3A3128; margin-bottom:8px; }
.share-row__label{ color:#C9BFAE; font-size:12.5px; }
.share-row__url{ flex:1; min-width:260px; font-family:var(--font-mono); font-size:12px; padding:6px 8px; border-radius:6px; border:1px solid #5A4F42; background:#2A231C; color:#F1E9DC; }
.panel__notice{ color:#E9D8B4; font-size:13px; padding:6px 0 10px; }
.badge-gone{ display:inline-block; margin-left:6px; padding:1px 7px; border-radius:999px; background:#5A2E22; color:#F3C9BC;
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.04em; vertical-align:2px; white-space:nowrap; }
.panel__table tr.is-gone td{ opacity:.78; }
.panel__table tr.is-gone .panel__row-name{ text-decoration:line-through; text-decoration-color:#9C6B5E; }
.price-was{ display:block; color:#9C8F7C; font-size:11px; text-decoration:line-through; }
.welcome__asof{ color:var(--ink-faint); font-size:13px; }
.loading{ color:var(--ink-faint); padding:12px; }
.item-row__codes{ display:none !important; } /* diet tags are not shown on the site */

/* ---- multi-page site ---- */
a.loc-btn{ text-decoration:none; }
.sidebar__title-link{ text-decoration:none; color:inherit; display:block; }
.sidebar__title-link .sidebar__title{ display:block; }
.loc-header__crumb a{ color:inherit; text-decoration:none; }
.loc-header__crumb a:hover{ text-decoration:underline; }
.loc-header__crumb a.park, .loc-header__crumb span.park{ font-weight:600; }
.loc-header__crumb > a:first-child{ color:var(--ink-faint); }
.loc-header__crumb .crumb-sep{ color:var(--ink-faint); }
.loc-header__crumb > a:not(.park), .loc-header__crumb > span:not(.park):not(.crumb-sep){ color:var(--ink-soft); }
.loc-header__src{ color:var(--ink-faint); }
.menu-panel[hidden]{ display:none !important; }
.page-asof{ color:var(--ink-faint); font-size:12.5px; padding:0 48px 24px; }
.index-page .loc-header__crumb{ margin-bottom:14px; }
.index-page h1{ font-family:var(--font-display); font-size:32px; margin:0 0 12px; }
.index-h2{ font-family:var(--font-display); font-size:18px; margin:22px 0 6px; }
.index-h2 a{ color:var(--ink); text-decoration:none; }
.index-list{ list-style:none; padding:0; margin:8px 0 18px; }
.index-list li{ padding:5px 0; border-bottom:1px solid var(--line); }
.index-list a{ font-weight:600; text-decoration:none; }
.index-list a:hover{ text-decoration:underline; }
.index-list__n{ color:var(--ink-faint); font-family:var(--font-mono); font-size:11px; margin-left:6px; }
/* Ad placeholders: empty until ad code is added at launch, so they take no space now. */
.ad-slot:empty{ display:none; }
.ad-slot{ margin:16px 48px; text-align:center; }
/* Wish List panel: location links */
.panel__row-sub{ color:#8C8272; font-size:12px; }
.panel__loc-link, .panel__where-link{ color:inherit; }
a.panel__loc-link, a.panel__where-link{ text-decoration:underline; text-decoration-color:#5A4F42; text-underline-offset:2px; }
a.panel__loc-link:hover, a.panel__where-link:hover{ color:#fff; text-decoration-color:#C9BFAE; }
.panel__table tr.is-pending td{ opacity:.85; }

/* ---- Snack Quest: Quest Pick stars + seasonal icons (buttons with tooltips) ---- */
.item-row__title{ display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap; min-width:0; }
.sq-badges{ display:inline-flex; align-items:center; gap:3px; vertical-align:-3px; }
.sq-badge{ position:relative; display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; padding:0;
  margin:0; border:none; border-radius:50%; background:transparent; cursor:pointer; flex:none; -webkit-tap-highlight-color:transparent; }
.sq-badge__icon{ width:16px; height:16px; display:block; pointer-events:none; }
.sq-badge:focus-visible{ outline:2px solid var(--accent); outline-offset:1px; }
.sq-tip{ display:none; position:absolute; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%); z-index:50;
  padding:4px 9px; border-radius:6px; background:var(--ink); color:#fff; font-family:var(--font-body); font-size:12.5px; font-weight:600;
  line-height:1.3; white-space:nowrap; box-shadow:0 2px 8px rgba(0,0,0,.25); pointer-events:none; }
.sq-tip::after{ content:''; position:absolute; top:100%; left:50%; margin-left:-5px; border:5px solid transparent; border-top-color:var(--ink); }
.sq-badge.is-open .sq-tip{ display:block; }
@media (hover:hover){ .sq-badge:hover .sq-tip{ display:block; } }
.panel .sq-tip{ background:#FAF6EF; color:var(--ink); bottom:auto; top:calc(100% + 6px); left:-4px; transform:none; }
.panel .sq-tip::after{ top:auto; bottom:100%; left:15px; border-top-color:transparent; border-bottom-color:#FAF6EF; }
.panel__row-title{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.panel__table td{ position:relative; }

/* ---- park pages: overview + 'Every Quest Pick in <Park>' article ---- */
.park-overview{ margin:4px 0 18px; padding:14px 18px; background:var(--paper-raised); border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:10px; }
.park-overview p{ margin:0 0 8px; color:var(--ink); font-size:16px; }
.park-overview p:last-child{ margin-bottom:0; }
.park-article{ margin:0 0 22px; padding:16px 18px; background:var(--paper-raised); border:1px solid var(--line); border-radius:10px; }
.park-article__title{ font-family:var(--font-display); font-size:24px; margin:0 0 6px; }
.welcome .park-article__intro{ margin:0 0 10px; }
.park-article__land h3{ font-family:var(--font-display); font-size:17px; margin:14px 0 6px; color:var(--ink); }
.park-article__picks{ list-style:none; margin:0; padding:0; }
.park-article__picks li{ padding:6px 0 8px; border-bottom:1px dashed var(--line); }
.park-article__picks li:last-child{ border-bottom:none; }
.park-article__link{ text-decoration:none; }
.park-article__link:hover .park-article__item{ text-decoration:underline; }
.park-article__loc{ color:var(--ink-soft); font-size:14px; }
.welcome .park-article__picks p{ margin:2px 0 0; font-size:14.5px; }
.park-article__picks .sq-badges{ margin-left:4px; }

/* ---- About page + sidebar About link ---- */
.sidebar__about{ display:inline-block; margin:2px 0 10px; font-size:13.5px; font-weight:600; color:var(--accent); text-decoration:underline; text-underline-offset:2px; }
.sidebar__about:hover{ color:#9E3820; }
.about-page .about__section{ margin:0 0 18px; }
.about-page .about__h2{ font-family:var(--font-display); font-size:21px; margin:18px 0 6px; color:var(--ink); }
.about-page p{ margin:0 0 8px; }
.about__mail{ font-weight:600; }
/* ---- /list/<id> for an expired / deleted list ---- */
.list-gone__home{ font-weight:600; color:var(--accent); }
/* ---- location description + Snack Quest Tips (features.descriptions; behind site.config.json "locationDescriptions") ---- */
.loc-desc{ margin:0 0 6px; padding:18px 44px 0; max-width:848px; box-sizing:border-box; }
@media (max-width: 640px){ .loc-desc{ padding:14px 20px 0; } }
.loc-desc__text{ color:var(--ink-soft); font-size:16px; line-height:1.55; margin:0 0 10px; }
.loc-tips{ margin:12px 0 0; padding:10px 14px 10px 14px; border-left:4px solid var(--accent); background:#FBF3E6; border-radius:0 8px 8px 0; }
.loc-tips__title{ font-family:var(--font-display); font-size:16px; margin:0 0 4px; color:var(--ink); }
.loc-tips__list{ margin:0; padding-left:18px; font-size:14.5px; line-height:1.5; color:var(--ink); }
.loc-tips__list li{ margin:2px 0; }
/* ---- site footer (every page): unofficial / not affiliated disclaimer + About (Privacy/Terms once those pages exist) ---- */
.site-footer{ margin:28px 44px 0; padding:14px 0 8px; border-top:1px solid var(--line); font-size:13px; color:var(--ink-soft); }
@media (max-width: 640px){ .site-footer{ margin:24px 20px 0; } }
.site-footer__disclaimer{ margin:0 0 6px; }
.site-footer__link{ color:var(--accent); font-weight:600; }
/* ---- affiliate links (helper only; no real links yet): disclosure always visible next to the link ---- */
.aff__disclosure{ font-size:12px; color:var(--ink-soft); font-style:normal; }
.aff-notice{ font-size:13px; color:var(--ink-soft); border:1px dashed var(--line); padding:6px 10px; border-radius:6px; }
/* Terms notice next to Save / Share (only when /terms/ exists) */
.panel__terms{ margin:0; font-size:11.5px; line-height:1.3; color:#D9CFBF; max-width:330px; cursor:default; }
.panel__terms a{ color:#F6C9A8; text-decoration:underline; }
@media (max-width: 640px){ .panel__terms{ order:10; flex-basis:100%; max-width:none; } }
/* legal pages */
.legal__dates{ font-family:var(--font-mono); font-size:13px; color:var(--ink-soft); margin:0 0 14px; }
.legal-page ul{ margin:0 0 10px; padding-left:22px; color:var(--ink-soft); }
.legal-page li{ margin:3px 0; }
