/*
 * Vegas Newbies theme — brand layer.
 *
 * Bootstrap 5.3 (vendored) provides the layout/component base. This file
 * sets the brand tokens and aliases them onto Bootstrap's --bs-* theme
 * variables so that every Bootstrap component (navbar, card, list-group,
 * breadcrumb, alert, badge, btn) renders in the brand palette.
 *
 * Section order: tokens -> --bs-* aliases -> brand helpers.
 */

/* ---------- Tokens ---------- */
:root{
  --bg:#f7f9fc;
  --surface:#ffffff;
  --surface2:#eef2f8;
  --border:#dde3ec;
  --text:#131a24;
  --text2:#4d5a6b;
  --text3:#606c7c;
  --accent:#1f6fd4;
  --accent2:#17549f;
  --gold:#c37520;
  --teal:#0f8f66;
  --white:#ffffff;
}

/* ---------- Bootstrap theme aliases ---------- */
:root{
  --bs-body-bg:var(--bg);
  --bs-body-color:var(--text);
  --bs-body-color-rgb:19,26,36;
  --bs-primary:var(--accent);
  --bs-primary-rgb:31,111,212;
  --bs-link-color:var(--accent2);
  --bs-link-color-rgb:23,84,159;
  --bs-link-hover-color:var(--accent);
  --bs-border-color:var(--border);
  --bs-border-color-rgb:221,227,236;
  --bs-secondary-color:var(--text2);
  --bs-secondary-color-rgb:77,90,107;
  --bs-tertiary-color:var(--text3);
  --bs-tertiary-color-rgb:96,108,124;
  --bs-tertiary-bg:var(--surface2);
  --bs-light:var(--surface2);
  --bs-success:var(--teal);
  --bs-success-rgb:15,143,102;
  --bs-warning:var(--gold);
  --bs-warning-rgb:195,117,32;
}

/* ---------- Brand helpers (unprefixed) ---------- */

/* Hero spacing/display-heading sizing. */
.hero-headline{ font-size:clamp(1.5rem, 3vw, 1.85rem); font-weight:700; line-height:1.18; }
.hero-headline span{ color:var(--accent2); }
.hero-sub{
  color:var(--text2);
  font-size:.92rem;
  max-width:32rem;
  margin-inline:auto;
}

/* Category-page icon tile (the square that holds the emoji). */
.cat-icon{ width:2.25rem; height:2.25rem; border-radius:.5rem; background:var(--surface2); display:inline-flex; align-items:center; justify-content:center; font-size:1.1rem; color:var(--accent2); }
.cat-icon-lg{
  width:2.5rem;
  height:2.5rem;
  border-radius:.625rem;
  font-size:1.2rem;
}


/* Footer typography. */
.site-footer{
  border-top:1px solid var(--border);
  padding:1.25rem 1rem;
  text-align:center;
  color:var(--text3);
  font-size:.75rem;
  margin-top:1rem;
}
.site-footer a{ color:var(--text2); }

/* ---------- Density scale ----------
   Tightens Bootstrap's component defaults. theme.css loads after
   bootstrap.min.css, so same-specificity rules win on source order —
   no !important needed. */

/* Navbar: shorter bar, smaller links that stay on one line. The
   white-space:nowrap is the fix for links breaking across two rows. */
.navbar{ padding-top:.5rem; padding-bottom:.5rem; }
.navbar-brand{ font-size:1rem; }
.navbar-nav .nav-link{ padding-inline:.65rem; font-size:.85rem; font-weight:500; white-space:nowrap; }

/* Below the navbar's expand breakpoint the menu is a collapse panel inside
   a sticky header, which does not scroll with the page. Cap it so a short
   viewport (landscape phone) can still reach the last links. */
@media (max-width:1199.98px){
  .navbar-collapse{
    max-height:calc(100vh - 4rem);
    overflow-y:auto;
  }
}

/* Buttons: smaller default. The :not() guard is load-bearing — .btn,
   .btn-sm and .btn-lg all have the same specificity, so an unguarded
   .btn rule here would override Bootstrap's small and large scales
   (vn_render_option_cta emits .btn-sm). */
.btn:not(.btn-sm):not(.btn-lg){ padding:.45rem .95rem; font-size:.875rem; }
.navbar .btn:not(.btn-sm):not(.btn-lg){ padding:.4rem .85rem; font-size:.8rem; white-space:nowrap; }

/* Cards: tighter body and title. */
.card-body{ padding:1rem; }
.card-title{ font-size:.95rem; margin-bottom:.35rem; }

/* ---------- Brand decoration ---------- */

/* Wordmark. Mobile-first: solid accent2, which is legible at small sizes
   and safe if background-clip:text is unsupported. The gradient is an
   enhancement layered on at md+; the navbar itself doesn't expand until
   xl (992px), but the brand sits outside the collapse and renders fine
   with a collapsed navbar at this width. */
.navbar-brand-gradient .brand-name{
  color:var(--accent2);
  font-weight:800;
  letter-spacing:-.01em;
}
@media (min-width:768px){
  .navbar-brand-gradient .brand-name{
    background:linear-gradient(90deg, var(--accent2), var(--accent));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
}

/* Decorative rule under the navbar: a gold segment, a gap, then blue.
   Purely visual — the element carries aria-hidden. */
.navbar-rule{
  height:2px;
  background:var(--gold);
}

/* Hero eyebrow: the small gold star line above the headline. */
.hero-eyebrow{
  color:var(--gold);
  letter-spacing:.22em;
  font-size:.72rem;
  font-weight:600;
  margin-bottom:.5rem;
}

/* Hero CTA pair. Wraps rather than overflowing on narrow screens. */
.hero-cta{
  display:inline-flex;
  gap:.5rem;
  justify-content:center;
  flex-wrap:wrap;
}

/* Category-card top accents. The 2px width is scoped to the accent
   classes on purpose — applying it to every .card would strip the
   visible top border from feature and option cards, which have no
   accent. */
.card-accent-gold,.card-accent-blue,.card-accent-teal{ border-top-width:2px; }
.card-accent-gold{ border-top-color:var(--gold); }
.card-accent-blue{ border-top-color:var(--accent); }
.card-accent-teal{ border-top-color:var(--teal); }

/* Page-level skip link target. */
#main:focus{ outline:none; }

/* ---------- Vegas Newbies editorial redesign ---------- */
:root{
  --vn-red:#e5231f;
  --vn-gold:#ffc52c;
  --vn-ink:#111111;
  --vn-cream:#fff7e8;
  --vn-paper:#ffffff;
  --vn-line:#e5ddcf;
  --vn-muted:#6b6862;
  --vn-radius:18px;
  --vn-shadow:0 10px 30px rgba(17,17,17,.09);
}
body{ background:var(--vn-cream); color:var(--vn-ink); font-family:Inter,Arial,sans-serif; }
body::before{ content:""; display:block; height:8px; background:var(--vn-red); }
h1,h2,h3,h4,.navbar-brand,.vn-display{ font-family:"Barlow Condensed",Impact,sans-serif; font-weight:800; letter-spacing:-.025em; text-transform:uppercase; }
.navbar{ min-height:80px; background:var(--vn-cream)!important; border-color:var(--vn-line)!important; }
.navbar-brand{ font-size:1.75rem; letter-spacing:.02em; }
.navbar-brand-gradient .brand-name{ color:var(--vn-ink); background:none; -webkit-text-fill-color:currentColor; font-family:Caprasimo,Georgia,serif; font-size:1em; font-weight:400; letter-spacing:.015em; text-transform:none; }
.navbar-logo{ width:34px; height:34px; margin-right:7px; object-fit:contain; vertical-align:-6px; }
.navbar-rule{ height:1px; background:var(--vn-line); }
.navbar-nav .nav-link{ color:var(--vn-ink); font-weight:700; padding:28px 0 25px; margin-inline:.8rem; border-bottom:2px solid transparent; }
.navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus,.navbar-nav .nav-link.active{ color:var(--vn-red); border-color:var(--vn-red); }
/* Dropdowns share the guide cards' paper surface and restrained Vegas accents. */
.navbar-nav .dropdown-toggle::after{
  width:.4rem; height:.4rem; margin-left:.55rem; vertical-align:.2em;
  border:0; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg); transition:transform .15s ease;
}
.navbar-nav .dropdown-toggle.show{ color:var(--vn-red); border-bottom-color:var(--vn-red); }
.navbar-nav .dropdown-toggle.show::after{ transform:rotate(225deg); vertical-align:0; }
.navbar-nav .dropdown-menu{
  --bs-dropdown-bg:var(--vn-paper);
  --bs-dropdown-color:var(--vn-ink);
  --bs-dropdown-link-color:var(--vn-ink);
  --bs-dropdown-link-hover-color:var(--vn-red);
  --bs-dropdown-link-hover-bg:var(--vn-cream);
  --bs-dropdown-link-active-color:var(--vn-ink);
  --bs-dropdown-link-active-bg:var(--vn-gold);
  min-width:17.5rem; padding:.5rem; margin-top:0;
  border:1px solid var(--vn-line);
  border-radius:16px; box-shadow:0 12px 30px rgba(17,17,17,.14);
}
.navbar-nav .dropdown-item{
  display:flex; align-items:center; justify-content:space-between; gap:1.25rem;
  min-height:46px; padding:.75rem 1rem; border-radius:9px;
  font-size:.85rem; font-weight:600; line-height:1.4; white-space:normal;
  transition:background-color .15s ease,color .15s ease;
}
.navbar-nav .dropdown-item::after{ content:"→"; flex-shrink:0; color:var(--vn-muted); }
.navbar-nav .dropdown-item:hover::after,.navbar-nav .dropdown-item:focus::after{ color:var(--vn-red); }
.navbar-nav .dropdown-item:focus-visible{ outline:2px solid var(--vn-ink); outline-offset:-2px; }
@media (min-width:1200px){
  .navbar-nav > .dropdown:last-child .dropdown-menu{ right:0; left:auto; }
}
@media (max-width:1199.98px){
  .navbar-nav .dropdown-toggle{ display:flex; align-items:center; justify-content:space-between; }
  .navbar-nav .dropdown-toggle::after,.navbar-nav .dropdown-toggle.show::after{ vertical-align:initial; margin-right:.25rem; }
  .navbar-nav .dropdown-menu{
    min-width:0; margin:.25rem 0 .75rem; padding:.25rem;
    background:var(--vn-cream); border:0; border-left:3px solid var(--vn-gold);
    border-radius:0 12px 12px 0; box-shadow:none;
  }
  .navbar-nav .dropdown-item{ padding:.75rem; }
  .navbar-nav .dropdown-item:hover,.navbar-nav .dropdown-item:focus{ background:var(--vn-paper); }
}
@media (prefers-reduced-motion:reduce){
  .navbar-nav .dropdown-toggle::after,.navbar-nav .dropdown-item{ transition:none; }
}
.navbar .btn-warning{ background:var(--vn-gold); border:2px solid var(--vn-ink); color:var(--vn-ink); border-radius:999px; font-weight:800; }
.hero-eyebrow,.vn-eyebrow{ color:var(--vn-red); font-size:.75rem; font-family:Inter,Arial,sans-serif; letter-spacing:.11em; text-transform:uppercase; font-weight:800; }
.btn{ border-radius:999px; font-weight:800; }
.btn-primary,.btn-outline-primary:hover{ background:var(--vn-red); border-color:var(--vn-red); }
.btn-outline-secondary{ border:2px solid var(--vn-ink); color:var(--vn-ink); }
.btn-outline-secondary:hover{ background:var(--vn-ink); border-color:var(--vn-ink); color:var(--vn-paper); }

/* Home */
.vn-home-hero{ overflow:hidden; background:var(--vn-ink); color:var(--vn-paper); }
.vn-home-hero .container{ min-height:555px; position:relative; display:flex; align-items:center; }
.vn-home-photo{ position:absolute; inset:0 0 0 47%; background:linear-gradient(90deg,var(--vn-ink) 0%,rgba(17,17,17,.2) 25%,transparent 65%),url('../images/las-vegas-strip.webp') center/cover; }
.vn-home-copy{ position:relative; z-index:1; max-width:555px; padding-block:64px; }
.vn-home-copy h1{ margin:.65rem 0 1.35rem; max-width:570px; font-size:clamp(3.4rem,7vw,6.15rem); line-height:.88; }
.vn-home-copy p{ max-width:430px; color:#efe9de; font-size:1.1rem; }
.vn-home-copy .hero-cta{ justify-content:flex-start; margin-top:2rem; }
.vn-home-copy .btn-primary{ background:var(--vn-paper); color:var(--vn-ink); border:2px solid var(--vn-paper); }
.vn-home-copy .btn-outline-secondary{ color:var(--vn-paper); border-color:var(--vn-paper); }
.vn-home-copy .btn-outline-secondary:hover{ background:var(--vn-paper); color:var(--vn-ink); }
.vn-section{ padding-block:5rem; }
.vn-section-heading{ display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:2rem; }
.vn-section-heading h2{ font-size:clamp(2.25rem,4vw,3.65rem); line-height:.9; margin-top:.35rem; }
.vn-section-heading p{ color:var(--vn-muted); max-width:390px; margin:0; }
.vn-guide-card{ position:relative; height:100%; min-height:268px; padding:1.5rem; display:flex; flex-direction:column; background:var(--vn-paper); border:1px solid var(--vn-line); border-radius:var(--vn-radius); box-shadow:var(--vn-shadow); transition:box-shadow .2s; }
.vn-guide-card:hover{ box-shadow:0 16px 35px rgba(17,17,17,.13); }
.vn-guide-card .cat-icon{ display:grid; place-items:center; width:48px; height:48px; border:0; border-radius:14px; background:var(--vn-gold); color:var(--vn-ink); font-size:1.35rem; }
.cat-icon i{ color:var(--vn-red); }
.vn-rating-star{ color:var(--vn-gold); font-size:.82em; }
.vn-guide-card h3{ font-size:1.85rem; line-height:.95; margin:1.35rem 0 .6rem; }
.vn-guide-card .card-text{ color:var(--vn-muted)!important; font-size:.9rem; }
.vn-guide-card-content{ flex:1; display:flex; flex-direction:column; }
.vn-guide-card .vn-card-link{ display:block; color:var(--vn-red); font-size:.8rem; font-family:Inter,Arial,sans-serif; font-weight:800; margin-top:auto; padding-top:1.2rem; }
.vn-newbie-tip{ display:grid; grid-template-columns:auto 1fr; align-items:start; gap:1.25rem; padding:1.85rem; border-radius:var(--vn-radius); background:var(--vn-gold); color:var(--vn-ink); }
.vn-tip-label{ display:inline-block; padding:.45rem .7rem; border-radius:999px; background:var(--vn-ink); color:var(--vn-gold); font-size:.68rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap; }
.vn-newbie-tip h2,.vn-newbie-tip h3{ font-size:2rem; line-height:.95; margin:0 0 .5rem; }
.vn-newbie-tip p{ margin:0; }
.vn-feature-area{ background:var(--vn-paper); }
.vn-feature-card{ height:100%; min-height:260px; padding:2rem; position:relative; overflow:hidden; border:0; border-radius:var(--vn-radius); background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 72%),url('../images/vegas-strip-evening.png') center/cover; color:var(--vn-paper); }
.vn-feature-card .text-success{ color:var(--vn-gold)!important; }
.vn-feature-card .card-title{ max-width:430px; font-size:clamp(2.2rem,3.7vw,3.4rem); line-height:.9; margin-top:.4rem; }
.vn-feature-card .card-text,.vn-feature-card .fw-semibold{ color:var(--vn-paper)!important; }
.vn-feature-card:nth-child(2n){}
.vn-home-dark{ padding-block:4.8rem; background:var(--vn-ink); color:var(--vn-paper); }
.vn-home-dark h2{ font-size:clamp(2.4rem,4vw,3.8rem); line-height:.9; }
.vn-home-route{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.6rem 0 1.35rem; border-bottom:1px solid #4c4c4c; color:var(--vn-paper); text-decoration:none; }
.vn-home-route strong{ font-family:"Barlow Condensed",Impact,sans-serif; font-size:1.85rem; text-transform:uppercase; }
.vn-home-route span{ color:var(--vn-gold); font-weight:800; }

.vn-option-card{ height:100%; padding:1.5rem; background:var(--vn-paper); border:1px solid var(--vn-line); border-radius:var(--vn-radius); box-shadow:var(--vn-shadow); }
.vn-option-card.vn-recommended{ border:2px solid var(--vn-red); }
.vn-option-card h3{ font-size:1.7rem; line-height:.95; }
.vn-option-card .badge{ background:var(--vn-ink)!important; color:var(--vn-gold)!important; border-radius:999px; font-size:.67rem; letter-spacing:.06em; text-transform:uppercase; }
.vn-option-card .text-primary{ color:var(--vn-red)!important; }
.vn-option-card .text-secondary{ color:var(--vn-muted)!important; }
.vn-option-card .btn-outline-primary{ color:var(--vn-red); border-color:var(--vn-red); }
.vn-option-card .btn-outline-primary:hover{ color:var(--vn-paper); }
.vn-related-list{ border-top:1px solid var(--vn-line); }
.vn-related-list .list-group-item{ padding:1.2rem 0; background:transparent; border-color:var(--vn-line); }
.vn-related-list a{ color:var(--vn-ink)!important; font-weight:700; }
.vn-related-list a span:last-child{ color:var(--vn-red); }


.site-footer{ margin:0; padding:2.6rem 1rem; border:0; background:var(--vn-ink); color:var(--vn-paper); }
.site-footer a{ color:var(--vn-paper); }
.site-footer .nav-link{ color:#bdb9b2; }

@media (max-width:1199.98px){
  .navbar{ min-height:64px; }
  .navbar-collapse{ margin-top:.75rem; padding:0 1rem 1rem; background:var(--vn-paper); border:1px solid var(--vn-line); border-radius:14px; box-shadow:var(--vn-shadow); }
  .navbar-nav .nav-link{ margin:0; padding:.75rem 0; }
}
@media (max-width:991.98px){
  .vn-home-photo{ inset:0; opacity:.58; background:linear-gradient(0deg,var(--vn-ink) 8%,rgba(17,17,17,.12) 80%),url('../images/las-vegas-strip.webp') center/cover; }
  .vn-home-hero .container{ min-height:600px; align-items:end; }
  .vn-home-copy{ padding-bottom:3.25rem; }
}
@media (max-width:767.98px){
  .vn-section{ padding-block:3.5rem; }
  .vn-section-heading{ display:block; }
  .vn-section-heading p{ margin-top:1rem; }
  .vn-guide-card{ min-height:220px; }
  .vn-newbie-tip{ grid-template-columns:1fr; padding:1.45rem; }
}
@media (max-width:375px){
  .navbar-brand{ font-size:1.375rem; margin-right:.5rem; }
}

/* Shared editorial system: category hubs, articles, pages, and listing headers. */
.vn-field-guide{ --field-paper:#fffaf1; --field-wash:#f3ebdd; --field-ink:#20232d; --field-muted:#5c6068; --field-rule:#e5ddcd; --field-red:#b8392f; --field-nav-offset:6.5rem; --field-anchor-offset:8rem; background:var(--field-paper); color:var(--field-ink); }
.vn-field-hero{ background:var(--field-paper); padding:2.4rem 0 2.65rem; border-bottom:1px solid var(--field-rule); }
.vn-field-guide .breadcrumb{ font-size:.8rem; margin-bottom:1.8rem; }
.vn-field-hero-grid{ display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:3rem; }
.vn-field-hero-grid>div{ min-width:0; }
.vn-field-hero-no-intro{ grid-template-columns:1fr; }
.vn-field-guide .vn-eyebrow{ color:var(--field-red); font-size:.68rem; letter-spacing:.14em; margin-bottom:.75rem; }
.vn-field-hero h1{ font-size:clamp(3rem,6vw,5rem); line-height:.98; margin:0; overflow-wrap:anywhere; }
.vn-field-deck{ font:1.65rem/1.3 Georgia,serif; margin:1rem 0 0; }
.vn-field-meta{ color:var(--field-muted); font-size:.78rem; margin:1.2rem 0 0; }
.vn-field-meta span{ padding:0 .45rem; }
.vn-field-guide .vn-intro{ font-size:1rem; line-height:1.65; color:var(--field-muted); max-width:none; }
.vn-field-guide .vn-intro p:last-child{ margin-bottom:0; }
.vn-field-layout{ display:grid; grid-template-columns:210px minmax(0,700px); justify-content:center; gap:3.5rem; padding-top:2.4rem; padding-bottom:3rem; }
.vn-field-no-topics{ grid-template-columns:minmax(0,700px); }
.vn-field-listing .vn-field-layout{ grid-template-columns:minmax(0,1000px); }
.vn-field-guide .search-form{ display:flex; align-items:center; gap:.75rem; }
.vn-field-guide .search-form label{ flex:1; min-width:0; }
.vn-field-guide .search-form .screen-reader-text{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.vn-field-guide .search-field{ width:100%; min-width:0; min-height:44px; padding:.7rem; border:1px solid var(--field-rule); border-radius:4px; background:var(--field-paper); color:var(--field-ink); font-size:1rem; }
.vn-field-guide .search-submit{ flex-shrink:0; min-height:44px; padding:.7rem 1rem; border:1px solid var(--field-ink); border-radius:4px; background:var(--field-ink); color:var(--field-paper); font-weight:700; }
.vn-field-sidebar{ align-self:start; position:sticky; top:var(--field-nav-offset); max-height:calc(100dvh - var(--field-nav-offset) - 1rem); overflow-y:auto; }
.admin-bar .vn-field-guide{ --field-nav-offset:calc(6.5rem + var(--wp-admin--admin-bar--height,32px)); --field-anchor-offset:calc(8rem + var(--wp-admin--admin-bar--height,32px)); }
.vn-field-sidebar ol,.vn-field-mobile-nav ol{ list-style:none; margin:0; padding:0; }
.vn-field-sidebar a,.vn-field-mobile-nav a{ display:flex; align-items:baseline; gap:.7rem; padding:.8rem 0; border-bottom:1px solid var(--field-rule); color:var(--field-ink); text-decoration:none; font-size:.83rem; line-height:1.45; }
.vn-field-sidebar a span,.vn-field-mobile-nav a span{ color:var(--field-red); font-size:.7rem; flex-shrink:0; }
.vn-field-sidebar a:hover,.vn-field-mobile-nav a:hover{ color:var(--field-red); }
.vn-field-quote{ font:italic 1.25rem/1.5 Georgia,serif; color:var(--field-muted); margin:1.8rem 0 0; }
.vn-field-reading{ min-width:0; }
.vn-field-mobile-nav{ display:none; }
.vn-field-prose{ font-size:1rem; line-height:1.7; counter-reset:field-topic; overflow-wrap:anywhere; }
.vn-field-prose h2,.vn-field-section h2,.vn-field-next h2{ font-size:2.15rem; line-height:1.1; text-transform:none; letter-spacing:-.02em; margin:0 0 1rem; }
.vn-field-prose h2{ counter-increment:field-topic; border-top:1px solid var(--field-rule); margin:2.25rem 0 1rem; padding-top:2.25rem; scroll-margin-top:var(--field-anchor-offset); }
.vn-field-prose h2:first-child{ border-top:0; padding-top:0; margin-top:0; }
.vn-field-prose h2::before{ content:counter(field-topic,decimal-leading-zero) " / FIELD GUIDE"; display:block; font:700 .68rem/1.5 Inter,Arial,sans-serif; letter-spacing:.14em; color:var(--field-red); margin-bottom:.7rem; }
.vn-field-prose h3,.vn-field-prose h4,.vn-field-prose h5,.vn-field-prose h6{ line-height:1.2; text-transform:none; margin:1.6rem 0 .75rem; }
.vn-field-prose h3{ font-size:1.6rem; }
.vn-field-prose p{ margin:0 0 1.1rem; }
.vn-field-prose li{ margin-bottom:.75rem; }
.vn-field-prose ul,.vn-field-prose ol{ padding-left:1.5rem; margin-bottom:1.4rem; }
.vn-field-prose img,.vn-field-prose video,.vn-field-prose iframe,.vn-field-guide .vn-intro img,.vn-field-guide .vn-intro video,.vn-field-guide .vn-intro iframe{ max-width:100%; }
.vn-field-prose img,.vn-field-guide .vn-intro img{ height:auto; }
.vn-field-prose pre{ overflow-x:auto; padding:1rem; background:var(--field-wash); }
.vn-field-prose code{ background:var(--field-wash); border:1px solid var(--field-rule); border-radius:4px; padding:.1rem .3rem; font-size:.9em; }
.vn-field-prose .vn-venue-picks{ margin-top:2.25rem; }
.vn-field-prose .table-responsive,.vn-field-prose .wp-block-table{ overflow-x:auto; margin:1.2rem 0; border:1px solid var(--field-rule); border-radius:4px; }
.vn-field-prose table{ width:100%; margin:0; font-size:.9rem; }
.vn-field-prose .table-responsive table,.vn-field-prose .wp-block-table table{ min-width:36rem; }
.vn-field-prose th{ background:var(--field-ink); color:var(--field-paper); font-size:.75rem; }
.vn-field-prose th,.vn-field-prose td{ padding:.8rem; vertical-align:top; border-bottom:1px solid var(--field-rule); }
.vn-field-prose blockquote{ margin:1.5rem 0; padding:1rem 1.15rem; border-left:3px solid var(--vn-gold); background:var(--field-wash); color:var(--field-muted); font-size:.9rem; }
.vn-field-prose blockquote p:last-child{ margin:0; }
.vn-field-prose a,.vn-field-guide .vn-intro a{ color:var(--field-red); }
.vn-field-branch{ background:var(--field-wash); padding:1rem 1.25rem; margin:1.5rem 0 2.25rem; border-radius:4px; }
.vn-field-branch-label{ font-size:.65rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--field-muted); }
.vn-field-branch a{ display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:44px; font-size:.95rem; font-weight:700; text-decoration:none; color:var(--field-ink); }
.vn-field-branch a+a{ border-top:1px solid var(--field-rule); padding-top:.5rem; }
.vn-field-branch a span{ color:var(--field-red); }
.vn-field-branch a:hover{ color:var(--field-red); }
.vn-field-section{ padding-top:2rem; margin:2rem 0; border-top:1px solid var(--field-rule); scroll-margin-top:var(--field-anchor-offset); }
.vn-field-options>div{ width:50%; }
.vn-field-guide .vn-option-card{ border-radius:6px; box-shadow:none; background:var(--field-paper); }
.vn-field-guide .vn-option-card h3{ text-transform:none; line-height:1.1; }
.vn-field-next{ margin-top:2.5rem; padding:1.8rem; background:var(--vn-gold); border-radius:6px; }
.vn-field-next .vn-eyebrow{ color:var(--field-ink); }
.vn-field-next p{ font-size:.9rem; }
.vn-field-next .btn{ background:var(--field-ink); border-color:var(--field-ink); border-radius:24px; font-size:.9rem; }
.vn-field-next .btn span{ padding-left:1rem; }
.vn-field-guide a:focus-visible,.vn-field-guide summary:focus-visible,.vn-field-guide input:focus-visible,.vn-field-guide button:focus-visible{ outline:3px solid var(--field-red); outline-offset:4px; }
@media(max-width:767.98px){
  .vn-field-guide{ --field-anchor-offset:6rem; }
  .admin-bar .vn-field-guide{ --field-anchor-offset:calc(6rem + var(--wp-admin--admin-bar--height,46px)); }
  .vn-field-guide .container{ padding-inline:6%; }
  .vn-field-hero-grid{ grid-template-columns:1fr; gap:1.4rem; }
  .vn-field-hero{ padding:1.6rem 0 1.8rem; }
  .vn-field-hero h1{ font-size:clamp(2.75rem,12vw,3.65rem); }
  .vn-field-layout{ display:block; padding-top:1.5rem; }
  .vn-field-sidebar{ display:none; }
  .vn-field-mobile-nav{ display:block; padding:0 1rem; margin-bottom:2rem; border-radius:4px; background:var(--field-wash); }
  .vn-field-mobile-nav summary{ display:flex; align-items:center; justify-content:space-between; min-height:52px; font-size:.9rem; font-weight:700; list-style:none; }
  .vn-field-mobile-nav summary::-webkit-details-marker{ display:none; }
  .vn-field-mobile-nav[open] summary{ border-bottom:1px solid var(--field-rule); }
  .vn-field-mobile-nav[open] .vn-field-toggle{ transform:rotate(45deg); }
  .vn-field-mobile-nav a{ min-height:44px; }
  .vn-field-options>div{ width:100%; }
  .vn-field-prose h2,.vn-field-section h2,.vn-field-next h2{ font-size:2rem; }
}
.vn-field-reading>.vn-field-section:first-of-type{ margin-top:0; padding-top:0; border-top:0; }
