/* ─────────────────────────────────────────────────────────────
   Athene addendum — GKST design tokens + missing components
   Maps the GKST/warm-editorial tokens onto this theme's design
   system (main.css) and styles the sp-* search page + components
   that warm-editorial.css does not cover.
   Replace freely if the original GKST main.css ever gets ported.
   ───────────────────────────────────────────────────────────── */

:root {
  /* color tokens (GKST → stedentrip palette) */
  --clr-coral:  var(--stedentrip-red);
  --clr-sun:    var(--stedentrip-gold);
  --clr-mint:   var(--stedentrip-teal);
  --clr-ink:    var(--text-primary);
  --clr-cream:  var(--bg-primary);
  --clr-sand:   var(--bg-tertiary);
  --clr-white:  var(--bg-secondary);
  --clr-gray-1: var(--text-secondary);
  --clr-gray-2: var(--text-muted);
  --clr-gray-3: var(--border);

  /* typography */
  --font-display: 'Noto Serif', Georgia, serif;
  --font-body: 'Outfit', system-ui, sans-serif;
  --text-xs: 0.75rem;  --text-sm: 0.85rem;  --text-base: 1rem;
  --text-lg: 1.125rem; --text-xl: 1.3rem;   --text-2xl: 1.6rem;
  --text-3xl: 2rem;    --text-4xl: 2.5rem;  --text-5xl: 3.2rem;  --text-6xl: 4rem;

  /* spacing (4px scale) */
  --space-2: 8px;  --space-3: 12px; --space-4: 16px; --space-5: 20px;
  --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px;
  --space-16: 64px; --space-20: 80px;

  /* misc */
  --radius-pill: 999px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.07);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.09);
  --shadow-lg: 0 12px 28px rgba(0,0,0,0.13);
  --shadow-xl: 0 24px 48px rgba(0,0,0,0.18);
  --transition-fast: 0.15s ease;
  --transition-bounce: 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
[data-theme="dark"] {
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.4);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.5);
  --shadow-lg: 0 12px 28px rgba(0,0,0,0.6);
  --shadow-xl: 0 24px 48px rgba(0,0,0,0.7);
}

/* ── Layout helpers ─────────────────────────────────────────── */
.we-page { display: block; }
.page-wrap { max-width: var(--max-w); margin: 0 auto; padding: 0 24px; }
.grid-auto {
  display: grid; gap: var(--space-6);
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

/* ── Tags / stats ───────────────────────────────────────────── */
.tag { display: inline-flex; align-items: center; border-radius: var(--radius-pill);
  background: var(--bg-tertiary); color: var(--text-primary); font-weight: 600; }
.tag--sand { background: var(--clr-sand); }
.we-stat { display: flex; flex-direction: column; gap: 2px; }
.we-stat__num { font-family: var(--font-display); font-size: var(--text-3xl); font-weight: 700; color: var(--text-primary); }
.we-stat__label { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 1px; color: var(--text-muted); }

/* ── Destination cards (gkst_destination_card shim) ─────────── */
.we-dest-card { display: flex; flex-direction: column; border-radius: var(--radius-lg);
  overflow: hidden; background: var(--bg-secondary); border: 1px solid var(--border);
  box-shadow: var(--shadow-sm); transition: transform var(--transition-fast), box-shadow var(--transition-fast); }
.we-dest-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.we-dest-card__img { aspect-ratio: 3/2; overflow: hidden; }
.we-dest-card__img img { width: 100%; height: 100%; object-fit: cover; }
.we-dest-card__body { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); }
.we-dest-card__title { font-size: var(--text-xl); font-weight: 700; margin: 0; color: var(--text-primary); }
.we-dest-card__tagline { font-size: var(--text-sm); color: var(--text-secondary); margin: 0; }
.we-dest-card__price { font-size: var(--text-sm); color: var(--text-muted); }
.we-dest-card__price strong { color: var(--stedentrip-red); font-size: var(--text-lg); }
/* destination card: keep body filling height + footer pinned to bottom */
.we-dest-card__body { flex: 1 1 auto; }
.we-dest-card .deal-card__footer { margin-top: auto; }

/* ── FAQ (gkst_render_country_faqs shim) ────────────────────── */
.we-faq { padding: var(--space-16) 24px; }
.we-faq__inner { max-width: var(--max-w-article); margin: 0 auto; }
.we-faq__item { border-bottom: 1px solid var(--border); }
.we-faq__item summary { cursor: pointer; padding: var(--space-4) 0; font-weight: 600;
  font-size: var(--text-base); color: var(--text-primary); list-style: none; position: relative; padding-right: 32px; }
.we-faq__item summary::after { content: '+'; position: absolute; right: 4px; color: var(--stedentrip-red); font-size: var(--text-xl); }
.we-faq__item[open] summary::after { content: '–'; }
.we-faq__answer { padding: 0 0 var(--space-4); color: var(--text-secondary); line-height: 1.65; }

/* ── Search page (sp-*) ─────────────────────────────────────── */
.sp-page { padding-top: var(--space-8); padding-bottom: var(--space-16); }
.sp-layout { display: grid; grid-template-columns: 290px 1fr; gap: var(--space-8); align-items: start; }
@media (max-width: 900px) { .sp-layout { grid-template-columns: 1fr; } }

.sp-filters { background: var(--bg-secondary); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: var(--space-5); position: sticky; top: 90px; }
.sp-filters__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-4); }
.sp-filters__title { font-size: var(--text-lg); font-weight: 700; margin: 0; }
.sp-filters__close { display: none; background: none; border: none; font-size: var(--text-xl); cursor: pointer; color: var(--text-muted); }

.sp-group { margin-bottom: var(--space-5); }
.sp-group__label { display: block; font-size: var(--text-xs); font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px; color: var(--text-muted); margin-bottom: var(--space-2); }

.sp-input, .sp-select { width: 100%; padding: 0.55rem 0.75rem; font-size: var(--text-sm);
  font-family: inherit; color: var(--text-primary); background: var(--bg-primary);
  border: 1px solid var(--border); border-radius: var(--radius-sm); transition: border-color var(--transition-fast); }
.sp-input:focus, .sp-select:focus { outline: none; border-color: var(--stedentrip-teal); }
.sp-input--search { background-position: right 10px center; }
.sp-input--price { max-width: 90px; }

.sp-price-row { display: flex; align-items: center; gap: var(--space-2); }
.sp-price-field { display: flex; align-items: center; gap: 4px; }
.sp-price-pre { color: var(--text-muted); font-size: var(--text-sm); }
.sp-price-sep { color: var(--text-muted); }

.sp-check-grid { display: grid; grid-template-columns: 1fr; gap: 6px; }
.sp-check-grid--2 { grid-template-columns: 1fr 1fr; }
.sp-check { display: flex; align-items: center; gap: 8px; font-size: var(--text-sm);
  color: var(--text-secondary); cursor: pointer; }
.sp-check input { accent-color: var(--stedentrip-teal); }

.sp-dest-mode { display: flex; flex-direction: column; gap: 4px; margin-bottom: var(--space-2); }
.sp-dest-mode__opt { display: flex; align-items: center; gap: 8px; font-size: var(--text-sm); color: var(--text-secondary); }
.sp-dest-list { max-height: 220px; overflow-y: auto; border: 1px solid var(--border);
  border-radius: var(--radius-sm); padding: var(--space-2); display: flex; flex-direction: column; gap: 4px; }
.sp-dest-item { display: flex; align-items: center; gap: 8px; font-size: var(--text-sm); color: var(--text-secondary); }
.sp-dest-summary { font-size: var(--text-xs); color: var(--text-muted); margin-top: var(--space-2); }

.sp-when-tabs { display: flex; gap: 4px; background: var(--bg-tertiary); padding: 4px;
  border-radius: var(--radius-sm); margin-bottom: var(--space-2); flex-wrap: wrap; }
.sp-when-tab { flex: 1; padding: 0.4rem 0.5rem; font-size: var(--text-xs); font-weight: 600;
  background: none; border: none; border-radius: 6px; cursor: pointer; color: var(--text-secondary);
  transition: all var(--transition-fast); white-space: nowrap; }
.sp-when-tab--on { background: var(--bg-secondary); color: var(--text-primary); box-shadow: var(--shadow-sm); }

.sp-actions { display: flex; gap: var(--space-2); margin-top: var(--space-5); }
.sp-btn-search { flex: 1; padding: 0.7rem 1rem; font-weight: 700; font-size: var(--text-sm);
  color: #fff; background: var(--stedentrip-red); border: none; border-radius: var(--radius-sm);
  cursor: pointer; transition: background var(--transition-fast); }
.sp-btn-search:hover { background: var(--stedentrip-red-hover); }
.sp-btn-reset { padding: 0.7rem 1rem; font-size: var(--text-sm); color: var(--text-secondary);
  background: var(--bg-tertiary); border: none; border-radius: var(--radius-sm); cursor: pointer; }

.sp-results-area { min-height: 400px; }
.sp-statusbar { display: flex; justify-content: space-between; align-items: center;
  gap: var(--space-4); margin-bottom: var(--space-5); flex-wrap: wrap; }
.sp-active-tags { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.sp-badge { display: inline-flex; align-items: center; gap: 6px; font-size: var(--text-xs);
  font-weight: 600; padding: 4px 10px; border-radius: var(--radius-pill);
  background: var(--bg-tertiary); color: var(--text-secondary); }
.sp-toggle-btn { display: none; padding: 0.55rem 1rem; font-size: var(--text-sm); font-weight: 600;
  background: var(--bg-secondary); border: 1px solid var(--border); border-radius: var(--radius-sm); cursor: pointer; }
@media (max-width: 900px) {
  .sp-toggle-btn { display: inline-flex; }
  .sp-filters { display: none; position: fixed; inset: 0; z-index: 999; overflow-y: auto; border-radius: 0; }
  .sp-filters.open { display: block; }
  .sp-filters__close { display: block; }
}

.sp-empty { text-align: center; padding: var(--space-16) var(--space-4); color: var(--text-secondary); }
.sp-empty__icon { font-size: 2.5rem; margin-bottom: var(--space-3); }
.sp-empty__title { font-size: var(--text-xl); font-weight: 700; color: var(--text-primary); margin: 0 0 var(--space-2); }
.sp-empty__sub { font-size: var(--text-sm); color: var(--text-muted); }

.sp-loadmore { display: flex; justify-content: center; margin-top: var(--space-8); }
.sp-btn-more { padding: 0.7rem 1.6rem; font-weight: 600; font-size: var(--text-sm);
  background: var(--bg-secondary); color: var(--text-primary); border: 1px solid var(--border);
  border-radius: var(--radius-pill); cursor: pointer; transition: all var(--transition-fast); }
.sp-btn-more:hover { border-color: var(--stedentrip-teal); color: var(--stedentrip-teal); }

.rc__meta-item { display: inline-flex; align-items: center; gap: 4px;
  font-size: var(--text-xs); color: var(--text-muted); margin-right: var(--space-2); }

/* ── Deal cards (we-top-deals-cards + page-search renderCard) ── */
.deal-card__thumb { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.deal-card__thumb--placeholder { width: 100%; aspect-ratio: 16/9; display: flex;
  align-items: center; justify-content: center; font-size: 2rem; }
.deal-card__body { padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
.deal-card__badge { display: inline-flex; align-self: flex-start; font-size: var(--text-xs);
  font-weight: 700; padding: 3px 10px; border-radius: var(--radius-pill);
  background: var(--clr-sand); color: var(--text-primary); }
.deal-card__badge--new { background: var(--stedentrip-teal); color: #fff; }
.deal-card__city { font-size: var(--text-lg); font-weight: 700; color: var(--text-primary); margin: 0; }
.deal-card__meta { font-size: var(--text-xs); color: var(--text-muted); }
.deal-card__footer { display: flex; justify-content: space-between; align-items: center;
  margin-top: auto; padding-top: var(--space-2); border-top: 1px solid var(--border); }
.deal-card__price { font-size: var(--text-xl); font-weight: 800; color: var(--stedentrip-red); }
.deal-card__price-suffix { font-size: var(--text-xs); font-weight: 400; color: var(--text-muted); }

/* btn modifiers (warm-editorial has .btn base) */
.btn--primary { background: var(--stedentrip-red); color: #fff; }
.btn--primary:hover { background: var(--stedentrip-red-hover); }
.btn--sm { padding: 0.45rem 1rem; font-size: var(--text-sm); }

/* we-two-col subelements (base in warm-editorial) */
.we-two-col__label { display: flex; align-items: center; gap: var(--space-3); }
.we-two-col__body { min-width: 0; }

/* ── Destination hero (single-destination.php v3) ───────────── */
.dest-hero { display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--space-8);
  align-items: center; border-radius: var(--radius-xl); padding: var(--space-10);
  margin: var(--space-6) 0 var(--space-8); background: var(--clr-sand); overflow: hidden; }
@media (max-width: 860px) { .dest-hero { grid-template-columns: 1fr; padding: var(--space-6); } }
.dest-hero__visual { position: relative; min-height: 260px; border-radius: var(--radius-lg);
  overflow: hidden; display: flex; align-items: center; justify-content: center; }
.dest-hero__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dest-hero__emoji { font-size: 5rem; }
.dest-hero__flag { position: absolute; top: var(--space-3); right: var(--space-3); font-size: 1.6rem; }
.dest-hero__country { position: absolute; bottom: var(--space-3); left: var(--space-3); z-index: 2; }
.dest-hero__title { font-family: var(--font-display); font-size: var(--text-4xl);
  line-height: 1.1; margin: 0 0 var(--space-3); color: var(--text-primary); }
.dest-hero__city { font-style: italic; color: var(--stedentrip-red); }
.dest-hero__tagline { font-size: var(--text-lg); color: var(--text-secondary); margin: 0 0 var(--space-5); }
.dest-hero__deal-count { font-size: var(--text-xs); font-weight: 600; color: var(--text-muted);
  text-transform: uppercase; letter-spacing: 1px; }
.dest-hero__price-wrap { display: flex; flex-direction: column; }
.dest-hero__price-label { font-size: var(--text-xs); color: var(--text-muted); }
.dest-hero__price-num { font-size: var(--text-3xl); font-weight: 800; color: var(--stedentrip-red); }
.dest-hero__price-sub { font-size: var(--text-xs); color: var(--text-muted); }
.tag--ghost { background: rgba(255,255,255,0.85); backdrop-filter: blur(6px);
  padding: 4px 12px; font-size: var(--text-xs); color: #1A1A1A; }

/* ── Clickout cards (cco-*) ─────────────────────────────────── */
.cco-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.cco-grid--hero { margin-top: var(--space-2); }
.cco-card { display: flex; flex-direction: column; gap: 2px; padding: var(--space-4);
  background: var(--bg-secondary); border: 1px solid var(--border); border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm); transition: transform var(--transition-fast), box-shadow var(--transition-fast);
  color: var(--text-primary); }
.cco-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.cco-card--package { border-color: var(--stedentrip-gold); }
.cco-card--combo { border-style: dashed; }
.dest-hero__content { min-width: 0; }
.cco-card__eyebrow { font-size: 0.65rem; font-weight: 800; letter-spacing: 1px;
  color: var(--stedentrip-gold); text-transform: uppercase; }
.cco-card--package .cco-card__eyebrow { color: var(--stedentrip-gold); }
.cco-card__name { font-weight: 700; font-size: var(--text-sm); }
.cco-card__provider { font-size: var(--text-xs); color: var(--text-muted); }
.cco-card__price-row { display: flex; align-items: baseline; gap: 6px; margin-top: var(--space-2); }
.cco-card__price { font-size: var(--text-xl); font-weight: 800; color: var(--stedentrip-red); }
.cco-card__price-meta { font-size: 0.65rem; color: var(--text-muted); line-height: 1.2; }
.cco-card__cta { margin-top: var(--space-2); font-size: var(--text-xs); font-weight: 700; color: var(--stedentrip-teal); }
.cco-combo-list { display: flex; flex-direction: column; gap: 4px; margin-top: var(--space-2); }
.cco-combo-row { display: flex; align-items: center; gap: 6px; font-size: var(--text-xs); color: var(--text-secondary); }
.cco-combo-row__icon { width: 18px; text-align: center; }
.cco-combo-row__label { flex: 1; }
.cco-combo-row__vendor { color: var(--text-muted); }
.cco-combo-row__price { font-weight: 700; }
.cco-combo-row__arrow { color: var(--text-muted); }
.cco-combo-total { display: flex; justify-content: space-between; margin-top: var(--space-2);
  padding-top: var(--space-2); border-top: 1px dashed var(--border); font-weight: 800; font-size: var(--text-sm); }

/* ── Content + sidebar layout ───────────────────────────────── */
.content-sidebar { display: grid; grid-template-columns: 1fr 320px; gap: var(--space-10); align-items: start; }
@media (max-width: 980px) { .content-sidebar { grid-template-columns: 1fr; } }
.sidebar { display: flex; flex-direction: column; gap: var(--space-5); position: sticky; top: 90px; }
.sidebar-card { background: var(--bg-secondary); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: var(--space-5); }
.sidebar-card--alert { border-color: var(--stedentrip-gold); background: var(--bg-primary); }
.sidebar-card__title { font-weight: 800; font-size: var(--text-base); margin: 0 0 var(--space-2); }
.sidebar-card__desc { font-size: var(--text-sm); color: var(--text-secondary); margin: 0 0 var(--space-3); }
.sidebar-card__input { width: 100%; margin-bottom: var(--space-3); }
.sidebar-card__submit { width: 100%; }
.sidebar-dest-link { display: flex; justify-content: space-between; align-items: center;
  padding: var(--space-2) 0; font-size: var(--text-sm); color: var(--text-secondary);
  border-bottom: 1px solid var(--border); }
.sidebar-dest-link:hover { color: var(--stedentrip-red); }
.form-control { padding: 0.6rem 0.8rem; font-size: var(--text-sm); font-family: inherit;
  color: var(--text-primary); background: var(--bg-secondary); border: 1px solid var(--border);
  border-radius: var(--radius-sm); }
.form-control:focus { outline: none; border-color: var(--stedentrip-teal); }

/* Alert preferences */
.alert-prefs { margin-bottom: var(--space-3); }
.alert-prefs__toggle { cursor: pointer; font-size: var(--text-xs); font-weight: 600;
  color: var(--text-muted); list-style: none; }
.alert-prefs__fields { display: flex; flex-direction: column; gap: var(--space-2); margin-top: var(--space-2); }
.alert-prefs__label { display: flex; flex-direction: column; gap: 4px; font-size: var(--text-xs);
  font-weight: 600; color: var(--text-secondary); }
.alert-prefs__select { padding: 0.45rem 0.6rem; font-size: var(--text-sm); font-family: inherit;
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  background: var(--bg-secondary); color: var(--text-primary); }

/* ── Misc single-destination sections ───────────────────────── */
.info-section { margin: var(--space-8) 0; }
.dest-editorial { max-width: 70ch; line-height: 1.7; color: var(--text-secondary); }
.dest-editorial h2 { color: var(--text-primary); }
.related-dests-grid { display: grid; gap: var(--space-5);
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); margin-top: var(--space-5); }
.no-deals-cta { display: flex; justify-content: space-between; align-items: center; gap: var(--space-5);
  flex-wrap: wrap; padding: var(--space-6); border: 1px solid var(--stedentrip-gold);
  border-radius: var(--radius-lg); background: var(--bg-primary); }
.no-deals-cta__label { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase;
  letter-spacing: 1px; color: var(--text-muted); }
.no-deals-cta__price { font-size: var(--text-4xl); font-weight: 800; color: var(--stedentrip-red); }
.no-deals-cta__sub { font-size: var(--text-xs); color: var(--text-muted); }
.btn--full { width: 100%; justify-content: center; }
.btn--lg { padding: 0.85rem 1.8rem; font-size: var(--text-base); }
.btn--yellow { background: var(--stedentrip-gold); color: #1A1A1A; }
.btn--yellow:hover { filter: brightness(0.95); }
.display-4 { font-family: var(--font-display); font-size: var(--text-3xl); font-weight: 700; }

/* pastel placeholder backgrounds bg-1..bg-8 (deal/dest thumbs) */
.bg-1 { background: #E8F4F1; } .bg-2 { background: #FDEEE9; }
.bg-3 { background: #FBF3DC; } .bg-4 { background: #E9EFF8; }
.bg-5 { background: #F2E9F4; } .bg-6 { background: #EAF6E7; }
.bg-7 { background: #F8ECEC; } .bg-8 { background: #EEF2EE; }
[data-theme="dark"] .bg-1, [data-theme="dark"] .bg-2, [data-theme="dark"] .bg-3,
[data-theme="dark"] .bg-4, [data-theme="dark"] .bg-5, [data-theme="dark"] .bg-6,
[data-theme="dark"] .bg-7, [data-theme="dark"] .bg-8 { background: var(--bg-tertiary); }

/* ─── GKST deals-table component ──────────────────────────────────────
   The plugin emits .deal-group / .deals-table markup (homepage deals +
   destination deal blocks) but ships no front-end CSS for it. These rules
   style it to match the warm-editorial design. */
.deal-group { margin-bottom: 2.5rem; }
.deal-group:last-child { margin-bottom: 0; }
.deal-group__header {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 0.75rem 1.25rem; flex-wrap: wrap; margin-bottom: 0.9rem;
}
.deal-group__title { font-size: 1.15rem; font-weight: 800; letter-spacing: -0.3px; color: var(--text-primary); }
.deal-group__sub { font-size: 0.85rem; font-weight: 500; color: var(--text-muted); }

.deals-table-wrap {
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  background: var(--card-bg); border: 1px solid var(--border);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
}
.deals-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 0.92rem; }
.deals-table__head { background: var(--bg-tertiary); }
.deals-table__th {
  text-align: left; padding: 0.8rem 1rem; white-space: nowrap;
  font-size: 0.72rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.6px; color: var(--text-secondary);
}
.deals-table__th--right { text-align: right; }
.deals-table__th--left  { text-align: left; }

.deals-table__row { border-top: 1px solid var(--border); transition: background var(--transition); }
.deals-table__row:hover { background: var(--bg-tertiary); }
.deals-table__row--alt { background: rgba(0,0,0,0.02); }

.deals-table__td { padding: 0.8rem 1rem; vertical-align: middle; color: var(--text-primary); }
.deals-table__td--center { text-align: center; }
.deals-table__td--muted  { color: var(--text-muted); font-size: 0.85rem; }
.deals-table__td--price  { text-align: right; white-space: nowrap; font-weight: 800; font-size: 1.05rem; color: #129086; }
.deals-table__td--action { text-align: right; white-space: nowrap; }

.deals-table__provider-name { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 700; color: var(--text-primary); }
.deals-table__provider-name a { color: inherit; }
.deals-table__badge { margin-right: 0.4rem; }

@media (max-width: 640px) {
  .deals-table__th--hide-sm, .deals-table__td--hide-sm { display: none; }
  .deals-table { min-width: 0; table-layout: fixed; }
  .deals-table__th, .deals-table__td { padding: 0.7rem; overflow-wrap: anywhere; }
  .deals-table__td--price { font-size: 1rem; }
  .deals-table__provider-logo { max-width: 100%; }
}

/* ─── Bezienswaardigheden-kaart ([athene_kaart]) ─────────────── */
.athene-map { margin: 2rem 0; }
.athene-map__heading { font-size: 1.25rem; font-weight: 800; margin: 0 0 1rem; color: var(--text-primary); }
.athene-map__canvas {
  position: relative; width: 100%; border-radius: var(--radius-lg);
  overflow: hidden; border: 1px solid var(--border); box-shadow: var(--shadow-card);
  background: var(--bg-tertiary); z-index: 0;
}
.athene-map__placeholder {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  color: var(--text-muted); font-size: 0.95rem; font-weight: 600;
}
/* brand marker pin (Leaflet divIcon) */
.athene-pin span {
  display: block; width: 18px; height: 18px; margin: 4px;
  background: var(--stedentrip-red, #E63022); border: 2px solid #fff;
  border-radius: 50% 50% 50% 0; transform: rotate(-45deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.35);
}
.leaflet-popup-content { font-size: 0.9rem; line-height: 1.5; }
.leaflet-popup-content a { color: var(--stedentrip-red, #E63022); font-weight: 600; }
/* POI list */
.athene-map__list {
  list-style: none; margin: 1rem 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem 1.5rem;
}
.athene-map__item {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 0.5rem 0; border-bottom: 1px solid var(--border); font-size: 0.92rem;
}
.athene-map__name { color: var(--text-primary); font-weight: 500; }
.athene-map__route { color: var(--stedentrip-red, #E63022); font-weight: 600; white-space: nowrap; font-size: 0.85rem; }
@media (max-width: 640px) { .athene-map__list { grid-template-columns: 1fr; } }

/* deal-block: vendor logo i.p.v. tekstnaam */
.deals-table__provider-logo {
  height: 24px; width: auto; max-width: 130px; object-fit: contain;
  display: inline-block; vertical-align: middle;
}

/* Content-freshness review sentence (stedentrip-freshness.php) */
.sf-reviewed {
  margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid var(--border);
  font-size: 0.85rem; font-style: italic; color: var(--text-muted);
}

/* ── Mobile overflow fix: content-sidebar / deals-table ──────────
   Grid & flex items default to min-width:auto, so a wide child (the
   deals-table with min-width) prevents the column from shrinking below
   the viewport → horizontal scroll on mobile. Allow them to shrink and
   let .deals-table-wrap scroll internally instead. */
.content-sidebar > * { min-width: 0; }
@media (max-width: 980px) {
  .sidebar { width: 100%; max-width: 100%; min-width: 0; }
  .deal-group, .deals-table-wrap { max-width: 100%; min-width: 0; }
}

/* Deal/variant-card button text in brand green (warm-editorial sets .btn a → #fff,
   but its dark override only targets .deal-card, not .we-dest-card cards). */
.we-dest-card .deal-card__footer .btn--secondary,
.we-dest-card .deal-card__footer .btn--secondary a { color: #129086; }
.we-dest-card .deal-card__footer .btn--secondary a:hover { color: #0f7a70; }
