:root{
  --xs-bg:#0E0E0C;
  --xs-bg-alt:#151512;
  --xs-card:#1A1A16;
  --xs-border:#2A2A24;
  --xs-text:#F2EFE6;
  --xs-text-dim:#A8A496;
  --xs-accent:#D9C58A;
  --xs-accent-ink:#0E0E0C;
  --xs-radius:6px;
  --xs-max:1200px;
}

/* === S1 Hero === */
.xs-hero{position:relative;overflow:hidden;min-height:85vh;display:flex!important;align-items:flex-end;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:-20px}
.xs-hero img.xs-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.xs-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,12,.18) 0%,rgba(14,14,12,.88) 100%);pointer-events:none;z-index:1}
.xs-hero-inner{display:block!important;position:relative;z-index:2;max-width:var(--xs-max);margin-inline:auto;padding:0 24px 72px;width:100%}
.xs-hero .xs-eyebrow{font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--xs-accent);margin-bottom:16px}
.xs-hero h1{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(2.2rem,5vw,3.8rem);color:var(--xs-text);line-height:1.15;margin:0 0 16px;max-width:720px}
.xs-hero .xs-sub{font-family:Inter,system-ui,sans-serif;font-size:1.1rem;color:var(--xs-text-dim);max-width:540px;margin-bottom:28px;line-height:1.5}
.xs-hero .xs-btns{display:flex;gap:12px;flex-wrap:wrap}
.xs-btn-primary{display:inline-block;background:var(--xs-accent);color:var(--xs-accent-ink)!important;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:.95rem;padding:12px 22px;border-radius:var(--xs-radius);text-decoration:none;transition:opacity .2s}
.xs-btn-primary:hover{opacity:.88}
.xs-btn-ghost{display:inline-block;border:1px solid var(--xs-border);color:var(--xs-text)!important;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:.95rem;padding:12px 22px;border-radius:var(--xs-radius);text-decoration:none;transition:border-color .2s}
.xs-btn-ghost:hover{border-color:var(--xs-text-dim)}
@media(max-width:600px){
  .xs-hero{min-height:70vh}
  .xs-hero-inner{padding:0 16px 48px}
}
/* === Homepage gap fix === */
.home .content-area{margin-top:0}
.home article.entry.content-bg{padding-top:0!important;border-top:none!important}
.home .entry-content-wrap{padding-top:0}
/* === S2 Mission band === */
.xs-mission{max-width:760px;margin:64px auto;padding:0 24px;text-align:center}
.xs-mission .xs-eyebrow{font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--xs-accent);margin-bottom:20px}
.xs-mission .xs-quote{font-family:Fraunces,Georgia,serif;font-size:clamp(1.25rem,2.5vw,1.6rem);color:var(--xs-text);line-height:1.55;margin:0;padding:0;border:none;font-style:normal;font-weight:400}
/* === S2b Byline (homepage author credit) === */
.xs-byline{max-width:760px;margin:0 auto 48px;padding:0 24px;text-align:center}
.xs-byline-text{font-family:Inter,system-ui,sans-serif;font-size:14px;color:var(--xs-text-dim);line-height:1.6;margin:0}
.xs-byline-text a{color:var(--xs-accent);text-decoration:none;border-bottom:1px solid var(--xs-border)}
.xs-byline-text a:hover{border-bottom-color:var(--xs-accent)}

/* === S3 Category cards === */
.xs-categories{max-width:var(--xs-max);margin:64px auto;padding:0 24px}
.xs-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.xs-cat-card{display:flex;flex-direction:column;align-items:center;background:var(--xs-card);border:1px solid var(--xs-border);border-radius:var(--xs-radius);padding:40px 24px;text-align:center;text-decoration:none!important;transition:border-color .2s,transform .2s}
.xs-cat-card:hover{border-color:var(--xs-accent);transform:translateY(-2px)}
.xs-cat-card .xs-cat-icon{font-size:2rem;margin-bottom:16px}
.xs-cat-card h3{font-family:Fraunces,Georgia,serif;font-size:1.25rem;color:var(--xs-text)!important;margin:0 0 8px;font-weight:600}
.xs-cat-card p{font-family:Inter,system-ui,sans-serif;font-size:.9rem;color:var(--xs-text-dim);margin:0;line-height:1.5}
@media(max-width:600px){.xs-cat-grid{grid-template-columns:1fr}}
/* === S4 Latest Reviews === */
.xs-reviews{max-width:var(--xs-max);margin:64px auto;padding:0 24px}
.xs-reviews-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:32px}
.xs-reviews-header h2{font-family:Fraunces,Georgia,serif;font-size:clamp(1.6rem,3vw,2rem);color:var(--xs-text);margin:0;font-weight:600}
.xs-reviews-header a{font-family:Inter,system-ui,sans-serif;font-size:.9rem;color:var(--xs-accent)!important;text-decoration:none}
.xs-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.xs-review-card{background:var(--xs-card);border:1px solid var(--xs-border);border-radius:var(--xs-radius);overflow:hidden;text-decoration:none!important;transition:border-color .2s,transform .2s}
.xs-review-card:hover{border-color:var(--xs-accent);transform:translateY(-2px)}
.xs-review-card img{width:100%;height:180px;object-fit:cover;display:block}
.xs-review-card .xs-rc-body{padding:16px}
.xs-review-card .xs-rc-cat{font-family:Inter,system-ui,sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--xs-accent);margin-bottom:8px}
.xs-review-card h3{font-family:Fraunces,Georgia,serif;font-size:1.05rem;color:var(--xs-text)!important;margin:0 0 8px;font-weight:600;line-height:1.3}
.xs-review-card .xs-rc-excerpt{font-family:Inter,system-ui,sans-serif;font-size:.85rem;color:var(--xs-text-dim);line-height:1.5;margin:0}
@media(max-width:768px){.xs-reviews-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.xs-reviews-grid{grid-template-columns:1fr}}
/* === S5 Buying guide band === */
.xs-alt{background:var(--xs-bg-alt);padding:64px 0;width:100vw;margin-left:calc(50% - 50vw)}
.xs-alt-inner{max-width:var(--xs-max);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.xs-alt-inner .xs-eyebrow{font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--xs-accent);margin-bottom:12px}
.xs-alt-inner h2{font-family:Fraunces,Georgia,serif;font-size:clamp(1.5rem,3vw,2rem);color:var(--xs-text);margin:0 0 16px;font-weight:600}
.xs-alt-inner .xs-alt-intro{font-family:Inter,system-ui,sans-serif;font-size:.95rem;color:var(--xs-text-dim);line-height:1.6;margin-bottom:24px}
.xs-tier-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--xs-border);font-family:Inter,system-ui,sans-serif;font-size:.9rem}
.xs-tier-row span:first-child{color:var(--xs-text)}
.xs-tier-row span:last-child{color:var(--xs-accent);font-weight:600}
.xs-alt-inner .xs-btn-primary{margin-top:24px}
.xs-alt-img{width:100%;border-radius:var(--xs-radius);object-fit:cover;max-height:500px}
@media(max-width:768px){.xs-alt-inner{grid-template-columns:1fr}.xs-alt-img-wrap{order:-1}}
/* === S6 Clubs === */
.xs-clubs{max-width:var(--xs-max);margin:64px auto;padding:0 24px;text-align:center}
.xs-clubs .xs-eyebrow{font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--xs-accent);margin-bottom:12px}
.xs-clubs h2{font-family:Fraunces,Georgia,serif;font-size:clamp(1.5rem,3vw,2rem);color:var(--xs-text);margin:0 0 8px;font-weight:600}
.xs-clubs .xs-clubs-sub{font-family:Inter,system-ui,sans-serif;font-size:.95rem;color:var(--xs-text-dim);margin-bottom:32px}
.xs-clubs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left}
.xs-club-card{background:var(--xs-card);border:1px solid var(--xs-border);border-radius:var(--xs-radius);padding:24px;text-decoration:none!important}
.xs-club-card h3{font-family:Fraunces,Georgia,serif;font-size:1.1rem;color:var(--xs-text)!important;margin:0 0 8px;font-weight:600}
.xs-club-card p{font-family:Inter,system-ui,sans-serif;font-size:.85rem;color:var(--xs-text-dim);line-height:1.5;margin:0}
.xs-club-card .xs-score{font-family:Inter,system-ui,sans-serif;font-size:2rem;font-weight:700;color:var(--xs-accent);margin-bottom:8px}
@media(max-width:600px){.xs-clubs-grid{grid-template-columns:1fr}}
/* === S7 Travel === */
.xs-travel{max-width:var(--xs-max);margin:64px auto;padding:0 24px}
.xs-travel .xs-eyebrow{font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--xs-accent);margin-bottom:12px}
.xs-travel h2{font-family:Fraunces,Georgia,serif;font-size:clamp(1.5rem,3vw,2rem);color:var(--xs-text);margin:0 0 32px;font-weight:600}
.xs-travel-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}
.xs-travel-large{position:relative;border-radius:var(--xs-radius);overflow:hidden;min-height:360px;text-decoration:none!important;display:block}
.xs-travel-large img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.xs-travel-large .xs-tl-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(14,14,12,.85) 100%);z-index:1}
.xs-travel-large .xs-tl-text{position:absolute;bottom:0;left:0;padding:24px;z-index:2}
.xs-travel-large h3{font-family:Fraunces,Georgia,serif;font-size:1.4rem;color:var(--xs-text)!important;margin:0 0 4px;font-weight:600}
.xs-travel-large p{font-family:Inter,system-ui,sans-serif;font-size:.85rem;color:var(--xs-text-dim);margin:0}
.xs-travel-stack{display:flex;flex-direction:column;gap:20px}
.xs-travel-sm{background:var(--xs-card);border:1px solid var(--xs-border);border-radius:var(--xs-radius);padding:20px;text-decoration:none!important}
.xs-travel-sm h3{font-family:Fraunces,Georgia,serif;font-size:1.05rem;color:var(--xs-text)!important;margin:0 0 6px;font-weight:600}
.xs-travel-sm p{font-family:Inter,system-ui,sans-serif;font-size:.85rem;color:var(--xs-text-dim);margin:0;line-height:1.5}
@media(max-width:768px){.xs-travel-layout{grid-template-columns:1fr}}
/* === S9 FAQ === */
.xs-faq{max-width:760px;margin:64px auto;padding:0 24px}
.xs-faq h2{font-family:Fraunces,Georgia,serif;font-size:clamp(1.5rem,3vw,2rem);color:var(--xs-text);margin:0 0 32px;font-weight:600;text-align:center}
.xs-faq details{border-bottom:1px solid var(--xs-border);padding:16px 0}
.xs-faq summary{font-family:Inter,system-ui,sans-serif;font-size:1rem;color:var(--xs-text);cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center}
.xs-faq summary::after{content:"+";font-size:1.4rem;color:var(--xs-accent);transition:transform .2s}
.xs-faq details[open] summary::after{content:"\2212"}
.xs-faq .xs-faq-answer{font-family:Inter,system-ui,sans-serif;font-size:.9rem;color:var(--xs-text-dim);line-height:1.6;padding-top:12px}
/* === S10 Newsletter === */
.xs-newsletter{max-width:600px;margin:64px auto;padding:0 24px;text-align:center}
.xs-newsletter h2{font-family:Fraunces,Georgia,serif;font-size:clamp(1.4rem,3vw,1.8rem);color:var(--xs-text);margin:0 0 12px;font-weight:600}
.xs-newsletter .xs-nl-sub{font-family:Inter,system-ui,sans-serif;font-size:.95rem;color:var(--xs-text-dim);margin-bottom:24px}

/* ============================================================
   PHASE 4 — SINGLE POST TEMPLATE
   Selectors verified via DevTools on posts 263 + 279
   ============================================================ */

body.single-post {
  background: var(--xs-bg);
  color: var(--xs-text);
}

/* Content background box */
body.single-post .content-bg {
  background: var(--xs-bg-alt);
  border: 1px solid var(--xs-border);
  border-radius: var(--xs-radius);
}

/* Post title */
body.single-post h1.entry-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  color: var(--xs-text);
  line-height: 1.15;
}

/* Post header meta */
body.single-post header.entry-header {
  background: transparent;
}
body.single-post .entry-meta,
body.single-post .entry-meta a {
  color: var(--xs-text-dim);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.875rem;
}

/* Body text */
body.single-post .entry-content {
  color: var(--xs-text);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.75;
}
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4 {
  font-family: 'Fraunces', Georgia, serif;
  color: var(--xs-text);
}

/* Images — radius, no border */
body.single-post .entry-content img {
  border-radius: var(--xs-radius);
  height: auto;
}

/* SVGs — DO NOT set fill; hardcoded fills in posts 263+279 must not inherit */
body.single-post .entry-content svg {
  max-width: 100%;
}

/* Blockquotes */
body.single-post .entry-content blockquote {
  border-left: 3px solid var(--xs-accent);
  background: var(--xs-card);
  color: var(--xs-text-dim);
  padding: 16px 20px;
  margin: 28px 0;
  border-radius: 0 var(--xs-radius) var(--xs-radius) 0;
}

/* Tables — verified on post 263 */
body.single-post .entry-content table {
  width: 100%;
  border-collapse: collapse;
  color: var(--xs-text);
  font-size: 0.9rem;
  margin: 24px 0;
}
body.single-post .entry-content .wp-block-table,
body.single-post .entry-content figure.wp-block-table,
body.single-post .entry-content table {
  display: block !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}
body.single-post .entry-content table th {
  background: var(--xs-card);
  color: var(--xs-accent);
  padding: 10px 14px;
  border-bottom: 1px solid var(--xs-border);
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 600;
  text-align: left;
}
body.single-post .entry-content table td {
  padding: 9px 14px;
  border-bottom: 1px solid var(--xs-border);
  vertical-align: top;
}
body.single-post .entry-content table tr:nth-child(even) td {
  background: var(--xs-card);
}
body.single-post .entry-content table a {
  color: var(--xs-accent);
  text-decoration: none;
}
body.single-post .entry-content table a:hover {
  text-decoration: underline;
}

/* ============================================================
   PHASE 4 — ARCHIVE / CATEGORY TEMPLATE
   Selectors verified on /category/simulator-reviews/
   ============================================================ */

body.archive,
body.category {
  background: var(--xs-bg);
  color: var(--xs-text);
}

/* Card list item spacing */
body.archive li.entry-list-item,
body.category li.entry-list-item {
  list-style: none;
}

/* Cards */
body.archive article.loop-entry,
body.category article.loop-entry {
  background: var(--xs-card);
  border: 1px solid var(--xs-border);
  border-radius: var(--xs-radius);
  overflow: hidden;
  transition: border-color 0.2s;
}
body.archive article.loop-entry:hover,
body.category article.loop-entry:hover {
  border-color: var(--xs-accent);
}

/* Thumbnail */
body.archive a.post-thumbnail img,
body.category a.post-thumbnail img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--xs-radius) var(--xs-radius) 0 0;
}

/* Card title */
body.archive h2.entry-title,
body.category h2.entry-title {
  font-family: 'Fraunces', Georgia, serif;
  color: var(--xs-text);
  font-size: clamp(1.1rem, 2.5vw, 1.4rem);
}
body.archive h2.entry-title a,
body.category h2.entry-title a {
  color: var(--xs-text);
  text-decoration: none;
}
body.archive h2.entry-title a:hover,
body.category h2.entry-title a:hover {
  color: var(--xs-accent);
}

/* Archive page title */
body.archive .page-title,
body.category .page-title {
  font-family: 'Fraunces', Georgia, serif;
  color: var(--xs-text);
}

/* ================================================
   SEARCH RESULTS PAGE
   ================================================ */
body.search-results .entry-header.search-archive-title {
  max-width: var(--xs-max);
  margin-inline: auto;
  padding: 48px 24px 24px;
}
body.search-results h1.page-title,
body.search-results h1.search-title {
  font-family: 'Fraunces', Georgia, serif;
  color: var(--xs-text);
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 600;
}
/* Gold accent on the searched term */
body.search-results h1.page-title .search-term,
body.search-results h1.search-title span {
  color: var(--xs-accent);
}
/* No-results copy */
body.search-results .no-results .page-content p {
  color: var(--xs-text-dim);
  font-family: 'Inter', system-ui, sans-serif;
}

/* ================================================
   SEARCH FORM (404 + no-results)
   ================================================ */
body.search-results .search-form,
body.error404 .search-form {
  display: flex;
  gap: 8px;
  max-width: 560px;
  margin-top: 24px;
}
body.search-results .search-form .search-field,
body.error404 .search-form .search-field {
  flex: 1;
  background: var(--xs-card);
  border: 1px solid var(--xs-border);
  border-radius: var(--xs-radius);
  color: var(--xs-text);
  padding: 10px 14px;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 1rem;
}
body.search-results .search-form .search-field::placeholder,
body.error404 .search-form .search-field::placeholder {
  color: var(--xs-text-dim);
}
body.search-results .search-form .search-submit,
body.error404 .search-form .search-submit {
  background: var(--xs-accent);
  color: var(--xs-accent-ink);
  border: none;
  border-radius: var(--xs-radius);
  padding: 10px 18px;
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 600;
  cursor: pointer;
  font-size: 1rem;
}
body.search-results .search-form .search-submit:hover,
body.error404 .search-form .search-submit:hover {
  opacity: .88;
}

/* ================================================
   404 PAGE
   ================================================ */
body.error404 .page-header {
  max-width: var(--xs-max);
  margin-inline: auto;
  padding: 72px 24px 16px;
}
body.error404 h1.page-title {
  font-family: 'Fraunces', Georgia, serif;
  color: var(--xs-text);
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 600;
}
body.error404 section.error {
  max-width: var(--xs-max);
  margin-inline: auto;
  padding: 0 24px 72px;
}
body.error404 .page-content p {
  color: var(--xs-text-dim);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 1.05rem;
  margin-bottom: 16px;
}
body.error404 .page-content {
  background: transparent !important;
  box-shadow: none !important;
}

/* ================================================
   WPFORMS — dark reskin, submission intact
   ================================================ */
.wpforms-container { max-width: 640px; }
.wpforms-form .wpforms-field-label {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: .875rem;
  font-weight: 600;
  color: var(--xs-text);
  margin-bottom: 6px;
}
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form input[type="tel"],
.wpforms-form input[type="url"],
.wpforms-form input[type="number"],
.wpforms-form textarea,
.wpforms-form select {
  background: var(--xs-card) !important;
  border: 1px solid var(--xs-border) !important;
  border-radius: var(--xs-radius) !important;
  color: var(--xs-text) !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 1rem !important;
  padding: 10px 14px !important;
}
.wpforms-form input::placeholder,
.wpforms-form textarea::placeholder { color: var(--xs-text-dim) !important; }
.wpforms-form input:focus,
.wpforms-form textarea:focus,
.wpforms-form select:focus {
  border-color: var(--xs-accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(217,197,138,.18) !important;
}
.wpforms-form .wpforms-submit-container .wpforms-submit {
  background: var(--xs-accent) !important;
  color: var(--xs-accent-ink) !important;
  border: none !important;
  border-radius: var(--xs-radius) !important;
  padding: 12px 22px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  font-size: 1rem !important;
}
.wpforms-form .wpforms-submit-container .wpforms-submit:hover { opacity: .88 !important; }
.wpforms-confirmation-container-full {
  background: var(--xs-card);
  border: 1px solid var(--xs-border);
  border-radius: var(--xs-radius);
  color: var(--xs-text);
  padding: 20px 24px;
  font-family: 'Inter', system-ui, sans-serif;
}
.wpforms-form label.wpforms-error { color: #e57373 !important; font-size: .8rem; }
.wpforms-form input.wpforms-error,
.wpforms-form textarea.wpforms-error,
.wpforms-form select.wpforms-error { border-color: #e57373 !important; }

/* =============================================
   FOOTER REBUILD
   ============================================= */

/* Hide Kadence default footer chrome */
.site-footer-wrap { display: none !important; }

.xs-footer {
  background: var(--xs-bg-alt);
  border-top: 1px solid var(--xs-border);
  color: var(--xs-text-dim);
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.875rem;
}

.xs-footer__inner {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 40px;
  max-width: var(--xs-max);
  margin-inline: auto;
  padding: 56px 24px 40px;
}

@media (max-width: 720px) {
  .xs-footer__inner {
    grid-template-columns: 1fr 1fr;
    padding: 40px 16px 28px;
  }
  .xs-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 420px) {
  .xs-footer__inner { grid-template-columns: 1fr; }
}

.xs-footer__logo {
  display: block;
  font-family: Fraunces, Georgia, serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--xs-text);
  margin-bottom: 8px;
  letter-spacing: -.01em;
}
.xs-footer__tagline {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--xs-text-dim);
}

.xs-footer__nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.xs-footer__nav ul li { margin-bottom: 10px; }
.xs-footer__nav a {
  color: var(--xs-text-dim);
  text-decoration: none;
  transition: color .15s ease;
}
.xs-footer__nav a:hover { color: var(--xs-accent); }

.xs-footer__heading {
  margin: 0 0 16px;
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--xs-accent);
}

.xs-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  max-width: var(--xs-max);
  margin-inline: auto;
  padding: 20px 24px 32px;
  border-top: 1px solid var(--xs-border);
}

@media (max-width: 420px) {
  .xs-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px 16px 28px;
  }
}

.xs-footer__social {
  display: flex;
  gap: 20px;
  align-items: center;
}
.xs-footer__social a {
  color: var(--xs-text-dim);
  display: flex;
  transition: color .15s ease;
}
.xs-footer__social a:hover { color: var(--xs-accent); }

.xs-footer__legal {
  margin: 0;
  font-size: 0.75rem;
  color: var(--xs-text-dim);
}

/* Fix 6: Suppress empty Kadence colophon — xs-footer is the site footer */
#colophon { display: none; }

/* ── S10 beehiiv embed: dark theme ──────────────────────────────────────── */
/* invert(1) flips the white card dark; hue-rotate(180deg) preserves intent  */
/* on the black Subscribe button (white→black bg, black→white text = correct) */
#xs-beehiiv-embed iframe {
  filter: invert(1) hue-rotate(180deg);
  border-radius: 8px;
}

/* === Nav toggle fix (overrides stray Customizer rule: button{background:var(--xs-gold)!important}) ===
   That blanket rule painted Kadence menu toggle <button>s as solid gold blocks
   (hamburger, drawer close, submenu sub-toggles). Restore transparent toggles with a gold icon. */
.menu-toggle-open,
.menu-toggle-open:hover,
.menu-toggle-open:focus,
.menu-toggle-close,
.menu-toggle-close:hover,
.menu-toggle-close:focus,
.popup-drawer .drawer-toggle,
.drawer-sub-toggle,
.drawer-sub-toggle:hover,
.drawer-sub-toggle:focus {
  background: transparent !important;
  color: var(--xs-accent) !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* === end nav toggle fix === */

/* ===== PORTED FROM CUSTOMIZER ADDITIONAL CSS (hybrid consolidation 2026-06-26; Fraunces/Inter + #D9C58A token migration still pending) ===== */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url('/wp-content/uploads/fonts/fraunces-400.woff2') format('woff2');}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url('/wp-content/uploads/fonts/fraunces-600.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/wp-content/uploads/fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/wp-content/uploads/fonts/inter-600.woff2') format('woff2');}

/* Self-hosted fonts - eliminates Google Fonts dependency chain */





:root {
  --xs-black: #0a0a08;
  --xs-black-2: #111110;
  --xs-black-3: #1a1a17;
  --xs-gold: #D9C58A;
  --xs-gold-light: #e8c97a;
  --xs-gold-dim: #7a6230;
  --xs-white: #f5f0e8;
  --xs-white-dim: #9a9488;
  --xs-border: rgba(217, 197, 138,0.18);
  --xs-border-subtle: rgba(217, 197, 138,0.08);
}

body {
  background: var(--xs-black) !important;
  color: var(--xs-white) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
}

.site-header, header.site-header {
  background: var(--xs-black) !important;
  border-bottom: 0.5px solid var(--xs-border-subtle) !important;
  padding: 20px 40px !important;
}

.site-branding .site-title, .site-branding .site-title a {
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  color: var(--xs-white) !important;
  text-decoration: none !important;
}

h1, h2, h3, h4 {
  font-family: 'Fraunces', serif !important;
  color: var(--xs-white) !important;
}

h1 { font-size: clamp(36px, 6vw, 60px) !important; line-height: 1.1 !important; }
h2 { font-size: clamp(24px, 4vw, 40px) !important; }
h3 { font-size: 24px !important; }

p, li, td, span { color: var(--xs-white-dim) !important; }

a { color: var(--xs-gold) !important; text-decoration: none !important; }
a:hover { color: var(--xs-gold-light) !important; }

.site-content, main, .content-area, #primary {
  background: var(--xs-black) !important;
}

.site-footer, footer {
  background: var(--xs-black) !important;
  border-top: 0.5px solid var(--xs-border-subtle) !important;
  color: var(--xs-white-dim) !important;
}

.wp-block-post, article.post, .entry {
  background: var(--xs-black-2) !important;
  border: 0.5px solid var(--xs-border-subtle) !important;
  padding: 32px !important;
  margin-bottom: 24px !important;
}

.entry-title a {
  font-family: 'Fraunces', serif !important;
  color: var(--xs-white) !important;
  font-size: 26px !important;
}

.entry-title a:hover { color: var(--xs-gold) !important; }

.read-more-link, .more-link {
  color: var(--xs-gold) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

nav.main-navigation, .primary-navigation {
  background: transparent !important;
}

nav.main-navigation a, .primary-navigation a {
  color: var(--xs-white-dim) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

nav.main-navigation a:hover { color: var(--xs-gold) !important; }

input, textarea, select {
  background: var(--xs-black-2) !important;
  border: 0.5px solid var(--xs-gold-dim) !important;
  color: var(--xs-white) !important;
}

button, .wp-block-button__link, .button {
  background: var(--xs-gold) !important;
  color: var(--xs-black) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border: none !important;
  padding: 12px 24px !important;
}

button:hover, .wp-block-button__link:hover {
  background: var(--xs-gold-light) !important;
}

.wp-block-separator, hr {
  border-color: var(--xs-border) !important;
}

.site-branding .site-description {
  color: var(--xs-white-dim) !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
}

.kadence-breadcrumbs, .breadcrumbs { display: none !important; }

.widget-area, .sidebar { background: var(--xs-black-2) !important; }

::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--xs-black); }
::-webkit-scrollbar-thumb { background: var(--xs-gold-dim); }


/* Hide Kadence page title hero banner on homepage and all pages */
.page-hero-section,
.kadence-page-header,
.entry-hero,
.site-hero-section,
.page-title-section,
.hero-section,
.wp-block-kadence-header,
.kadence-hero-section,
.inside-hero-section,
.entry-header.home,
.page .entry-header {
  display: none !important;
}

/* Remove the grey/white gap between header and content */
.content-bg,
.page-content,
.site-main,
.entry-content-wrap {
  background: var(--xs-black) !important;
}

.site .entry-content > *:first-child {
  margin-top: 0 !important;
}

/* Tighten header — remove any extra padding */
.site-header {
  padding: 16px 40px !important;
}

/* Fix logo color */
.site-branding .site-title,
.site-branding .site-title a,
.site-logo a {
  color: var(--xs-white) !important;
  letter-spacing: 0.15em !important;
  font-size: 20px !important;
}



/* ===== MOBILE RESPONSIVE ===== */
@media (max-width: 768px) {
  .site-header {
    padding: 12px 20px !important;
  }

  .entry-title {
    font-size: 2rem !important;
    line-height: 1.2 !important;
  }

  .entry-content h2 {
    font-size: 1.5rem !important;
  }

  .entry-content h3 {
    font-size: 1.2rem !important;
  }

  .wp-block-table {
    overflow-x: auto !important;
    display: block !important;
    width: 100% !important;
  }

  .wp-block-table table {
    min-width: 300px;
  }
}

/* Beehiiv form responsive */
iframe[src*="beehiiv"] {
  max-width: 100% !important;
  width: 100% !important;
  display: block !important;
}
/* ===== end ported customizer CSS ===== */


/* === Related Simulator Guides box === */
.xs-related{background:var(--xs-card);border:1px solid var(--xs-border);border-radius:var(--xs-radius);padding:28px 26px;margin:48px 0}
.xs-related__eyebrow{font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--xs-accent);margin:0 0 6px}
.xs-related__title{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1.5rem;line-height:1.2;color:var(--xs-text);margin:0 0 16px}
.xs-related__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 30px}
.xs-related__link{display:block;padding:13px 0;border-top:1px solid var(--xs-border);color:var(--xs-text);text-decoration:none;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:.98rem;transition:color .15s ease}
.xs-related__link:hover,.xs-related__link:focus{color:var(--xs-accent)}
.xs-related__link span{display:block;font-weight:400;font-size:.82rem;color:var(--xs-text-dim);margin-top:3px}

/* === Hub table of contents === */
.xs-toc{background:var(--xs-card);border:1px solid var(--xs-border);border-radius:var(--xs-radius);padding:22px 26px;margin:30px 0}
.xs-toc__title{font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--xs-accent);margin:0 0 12px}
.xs-toc__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:5px 28px;counter-reset:xstoc}
.xs-toc__list li{counter-increment:xstoc;margin:0}
.xs-toc__list a{color:var(--xs-text);text-decoration:none;font-family:Inter,system-ui,sans-serif;font-size:.95rem;line-height:1.85;transition:color .15s ease}
.xs-toc__list a::before{content:counter(xstoc) ". ";color:var(--xs-text-dim);font-variant-numeric:tabular-nums}
.xs-toc__list a:hover,.xs-toc__list a:focus{color:var(--xs-accent)}
.entry-content [id]{scroll-margin-top:90px}


/* === Hide Kadence Similar Posts on simulator cluster (curated box replaces it) === */
body.postid-489 .entry-related,body.postid-453 .entry-related,body.postid-438 .entry-related,body.postid-435 .entry-related,body.postid-425 .entry-related,body.postid-395 .entry-related,body.postid-286 .entry-related,body.postid-279 .entry-related,body.postid-272 .entry-related,body.postid-79 .entry-related,body.postid-76 .entry-related,body.postid-68 .entry-related,body.postid-67 .entry-related,body.postid-54 .entry-related,body.postid-48 .entry-related,body.postid-34 .entry-related,body.postid-80 .entry-related{display:none!important}


/* === P5 Polish: consistent interaction states === */
.xs-cat-card,.xs-review-card,.xs-club-card,.xs-travel-sm,.xs-travel-large{transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.xs-club-card:hover,.xs-travel-sm:hover{border-color:var(--xs-accent);transform:translateY(-2px)}
.xs-travel-large:hover{transform:translateY(-2px)}
.xs-cat-card:hover,.xs-review-card:hover,.xs-club-card:hover,.xs-travel-sm:hover,.xs-travel-large:hover{box-shadow:0 14px 34px rgba(0,0,0,.45)}
.xs-review-card .xs-rc-body{position:relative;z-index:1;background:var(--xs-card)}
.xs-review-card img,.xs-travel-large img{transition:transform .35s ease}
.xs-review-card:hover img,.xs-travel-large:hover img{transform:scale(1.04)}
.xs-travel .xs-eyebrow,.xs-travel h2{text-align:center}
.xs-btn-primary:focus-visible,.xs-btn-ghost:focus-visible,a.xs-cat-card:focus-visible,a.xs-review-card:focus-visible,a.xs-club-card:focus-visible,a.xs-travel-sm:focus-visible,a.xs-travel-large:focus-visible,.xs-faq summary:focus-visible{outline:2px solid var(--xs-accent);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.xs-cat-card,.xs-review-card,.xs-club-card,.xs-travel-sm,.xs-travel-large,.xs-review-card img,.xs-travel-large img{transition:none}.xs-cat-card:hover,.xs-review-card:hover,.xs-club-card:hover,.xs-travel-sm:hover,.xs-travel-large:hover{transform:none}}

/* === P5b Eyebrow base (generic) === */
.xs-eyebrow{display:block;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--xs-accent);margin-bottom:12px}
.xs-faq .xs-eyebrow,.xs-newsletter .xs-eyebrow{text-align:center}
