/* ═══════════════════════════════════════════════════════
   RUDVO — PREMIUM DESIGN MIGRATION LAYER
   Loaded after premium.css on every inner page. Restyles the
   existing page-specific component classes (attr-grid, safari-
   card, camp-card, step-card, doc-card, legal-page, etc.) using
   premium.css's own colour tokens, radius and shadow language,
   so every page matches the homepage without needing a full
   rewrite of each page's content markup.
   ═══════════════════════════════════════════════════════ */

/* ── Legacy variable names → premium tokens ──
   Old pages were written against style.css's --green/--gold/
   --navy/--cream vars. Re-point them at the premium palette so
   every var(--green) etc. already in each page's <style> block
   now renders in the premium colour language automatically. */
:root{
  --green: var(--brand);
  --gold: var(--accent);
  --navy: #071a1b;
  --cream: var(--bg);
}

/* ── Layout shell for inner pages ── */
.wrap{ width:min(var(--max-width), calc(100% - 32px)); margin:0 auto; }
body{ background: linear-gradient(180deg, #fcfbf8 0%, var(--bg) 100%); }

/* ── Header / nav (inner pages use the same topbar as home) ── */
.topbar .brand img{ height:44px; width:auto; object-fit:contain; }

/* ── Kicker → eyebrow styling ── */
.kicker{ margin:0 0 14px; font-size:.72rem; font-weight:800; letter-spacing:.19em; text-transform:uppercase; color: var(--accent-strong); }
.kicker.green{ color: var(--accent-strong); }
.kicker.center{ text-align:center; }
h1 .kicker, .page-hero .kicker{ color: var(--accent); }

/* ── Gold / book buttons → premium buttons ── */
.gold-btn,.book{
  display:inline-flex; align-items:center; gap:8px; min-height:44px;
  padding:0 20px; border-radius:999px; font-weight:700; font-size:.8rem;
  text-transform:uppercase; letter-spacing:.05em; text-decoration:none;
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);
  color:#fff; box-shadow:0 16px 40px rgba(15,59,60,.2);
  transition: transform 160ms ease;
}
.gold-btn:hover,.book:hover{ transform: translateY(-2px); }
.gold-btn span,.book b{ color: var(--accent); font-size:15px; margin-left:6px; }
.line-link{ font-weight:700; color: var(--brand); text-decoration:none; font-size:.85rem; }
.line-link.dark{ color: var(--brand); }
.line-link b{ color: var(--accent-strong); margin-left:8px; }

/* ── Page hero band ── */
.page-hero{ border-radius: 0 0 var(--radius-lg) var(--radius-lg); color:#fff; }
.page-hero h1{ font-family:'Playfair Display',Georgia,serif; }
.page-hero h1 em{ color: var(--accent); font-style:normal; }

/* ── Attraction / includes / doc / step grids → info-card language ── */
.attr-card,.inc-card,.doc-card,.camp-card,.safari-card,.step-card{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: 0 18px 40px rgba(17,44,49,.06);
}
.attr-card{ padding:22px; border-top:3px solid var(--accent); }
.inc-card{ padding:22px; border-left:3px solid var(--accent); border-top:none; }
.doc-card,.camp-card,.safari-card{ padding:28px; }
.step-card{ text-align:center; padding:24px 16px; background: var(--surface-2); }
.step-num{
  width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px; background: var(--brand); color: var(--accent);
  font-family:'Playfair Display',Georgia,serif; font-size:20px; font-weight:700;
}
.attr-card h3,.inc-card h3,.doc-card h3,.camp-card h3,.safari-card h3,.step-card h3{
  font-family:'Playfair Display',Georgia,serif; color: var(--ink);
}
.tier{ color: var(--accent-strong) !important; }
.price-tag{ font-size:16px; font-weight:800; color: var(--brand); }
.price-tag small{ font-size:10px; font-weight:500; color: var(--ink-soft); }
.rate-note{ font-size:11px; color: var(--ink-soft); line-height:1.7; }

/* ── CTA band → premium cta-section look ── */
.cta-band{
  background: linear-gradient(135deg, var(--brand) 0%, #145d5f 100%);
  color:#fff; border-radius: var(--radius-lg); padding:56px 34px; text-align:center;
  width:min(var(--max-width), calc(100% - 32px)); margin:0 auto;
}
.cta-band h2{ font-family:'Playfair Display',Georgia,serif; }
.cta-band h2 em{ color: var(--accent); font-style:normal; }
.cta-band p{ color: rgba(255,255,255,.84); }

/* ── FAQ accordions (details/summary) ── */
.faq-grid details{
  background: var(--surface); border:1px solid var(--border); border-radius: var(--radius-md);
  box-shadow: 0 18px 40px rgba(17,44,49,.06); padding:18px 20px;
}
.faq-grid summary{ cursor:pointer; font-weight:700; color: var(--brand); list-style:none; }
.faq-grid summary::-webkit-details-marker{ display:none; }
.faq-grid p{ margin:10px 0 0; font-size:.92rem; color: var(--ink-soft); }

/* ── Legal pages ── */
.legal-page h1{ font-family:'Playfair Display',Georgia,serif; color: var(--ink); }
.legal-page h2{ color: var(--brand); }
.legal-notice,.team-note{
  background: rgba(217,178,87,.12); border-left:3px solid var(--accent);
  padding:14px 18px; font-size:.85rem; color:#5a4a00; line-height:1.7; border-radius: var(--radius-sm);
}
.cancel-table th{ background: var(--brand); color:#fff; }
.cancel-table tr:nth-child(even) td{ background: var(--surface-2); }

/* ── 404 page ── */
.notfound-wrap{ background: var(--bg); }
.notfound-wrap .code{ color: var(--brand); }
.notfound-links .primary{ background: var(--brand); color:#fff; }
.notfound-links .secondary{ border:1px solid var(--brand); color: var(--brand); }

/* ── Package / origin / theme boxes on the packages hub page ── */
.origin-box{ background: var(--brand); border-radius: var(--radius-md); }
.theme-list a{ color: var(--brand); border:1px solid var(--border); border-radius:999px; }
.theme-list a:hover{ background: var(--brand); color:#fff; }
.seo-guide{ background:#071a1b; border-radius: var(--radius-lg); }
.package-includes li:before{ color: var(--accent-strong); }
