:root {
	--lvd-gold: #c6a040;
	--lvd-gold-light: #f5d88c;
	--lvd-gold-soft: #f6f3e7;
	--lvd-gold-border: #e5d6a2;
	--lvd-border: #e5e5e5;
	--lvd-border-soft: #eee;
	--lvd-text: #222;
	--lvd-muted: #555;
	--lvd-bg-soft: #faf8f0;

	--lvd-space-xs: 0.5rem;
	--lvd-space-sm: 0.75rem;
	--lvd-space-md: 1rem;
	--lvd-space-lg: 1.5rem;
}

body {
	background: #fafafa;
}

/* Tighten hero meta stack — VENUES ONLY */
.single-venue .lvd-hero-meta {
	margin-bottom: 0.15rem;
}

.single-venue .lvd-location-pill {
	margin-bottom: 0.2rem;
}

.single-venue .lvd-entity-label {
	margin-top: 0;
}

/* Single Venue — force full-width content (no sidebar gap) 
.single-venue .content-area {
	width: 100%;
}
*/

/* Tighten spacing between venue body and show listings */
.lvd-venue-body-card + .lvd-venue-shows {
	margin-top: 2rem;
}

/* Reduce excess space above the section title */
.lvd-venue-shows .lvd-grid-title {
	margin-top: 0;
}

/* ==================================================
   SINGLE VENUE — custom 2-column layout
   Main content + contextual sidebar
   ================================================== */

/* Tighten spacing + card padding (optional, but helps your screenshot) */
.single-venue .lvd-venue-body-card {
	padding: 1.5rem;
	margin-bottom: 2rem;
}

@media (max-width: 768px) {
	.single-venue .lvd-venue-body-card {
		padding: 1.25rem;
		margin-bottom: 1.5rem;
	}
}

/* ===============================
   Venue pages – main body spacing
   =============================== */

.single-venue .lvd-venue-body {
  line-height: 1.75;
}

.single-venue .lvd-venue-body > * + * {
  margin-top: 1.25rem;
}

/* Venue pages – section headers should feel like labels, not chapters */
.single-venue .lvd-venue-body h2 {
  font-size: 1.4rem;
  font-weight: 650;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}

.single-venue .lvd-venue-body p {
  margin: 0;
}

.single-venue .lvd-venue-body h2:first-of-type {
  margin-top: 1.25rem;
}

.single-venue .lvd-venue-body h2 {
  font-weight: 600;
}

/* =========================================
   FORCE 2-COLUMN LAYOUT FOR PRIMARY VENUES
   ========================================= */

.single-venue .lvd-venue-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.single-venue .lvd-venue-sidebar {
  display: block !important;
}

@media (max-width: 900px) {
  .single-venue .lvd-venue-layout {
    grid-template-columns: 1fr;
  }
}

/* ===============================
   Venue sidebar container
   =============================== */

.single-venue .lvd-venue-sidebar {
  padding: 0;
  background: none;
}

.single-venue .lvd-venue-sidebar h2,
.single-venue .lvd-venue-sidebar .widget-title {
  font-size: 1.35rem;
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.single-venue .lvd-venue-sidebar .lvd-show-card,
.single-venue .lvd-venue-sidebar .lvd-card {
  margin-top: 0.75rem;
}

.single-venue .lvd-venue-main {
  max-width: 760px;
}

.single-venue .lvd-venue-main {
  padding-right: 0.5rem;
}

/* =========================================
   Venue Characteristics — At-a-Glance Strip
   ========================================= */

/* Container: subtle separation, not a card */
.single-venue .lvd-venue-characteristics {
  margin: 2rem 0 2.25rem;
  padding: 1.1rem 1.4rem;
  background: #f8f9fb;
  border-radius: 12px;
}

/* Title becomes a quiet label, not a section */
.single-venue .lvd-venue-characteristics-title {
  margin-bottom: 0.75rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #666;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

/* Definition list layout */
.single-venue .lvd-venue-characteristics-list {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: .75rem;
  row-gap: 0.5rem;
}

/* Row styling: compact + scannable */
.single-venue .lvd-venue-characteristics-row {
  display: contents;
  align-items: baseline;
  gap: 0.75rem;
  padding: 0.15rem 0;
}

/* Label */
.single-venue .lvd-venue-characteristics-row dt {
  font-weight: 600;
  color: #222;
  white-space: nowrap;  
}

/* Value */
.single-venue .lvd-venue-characteristics-row dd {
  margin: 0;
  font-weight: 500;
  color: #555;
  text-align: right;
}

/* =====================================
   Mobile padding fix – Venue pages
   ===================================== */

@media (max-width: 600px) {

  .single-venue .lvd-venue-layout {
    padding-left: 1rem;
    padding-right: 1rem;
  }

}

/* -----------------------------------------
   Mobile refinement (explicit + safe)
   ----------------------------------------- */

@media (max-width: 600px) {

  .single-venue .lvd-venue-characteristics {
    padding: 1rem 1.1rem;
  }

  .single-venue .lvd-venue-characteristics-row {
    flex-direction: column;
    gap: 0.15rem;
  }

  .single-venue .lvd-venue-characteristics-row dd {
    margin-left: 0;
    text-align: left;
    font-size: 0.95rem;
  }

}

@media (max-width: 768px) {

  /* The indent is on the HEADER wrapper, not the H1 */
  .single-venue header.lvd-archive-header{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Make sure the H1 itself isn't adding extra offset */
  .single-venue header.lvd-archive-header .archive-title{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
    /* VENUE (primary + utility): give the main content a consistent mobile gutter */
  body.single-venue #primary .site-main {
    padding-left: 16px;
    padding-right: 16px;
  }

  /* If your PRIMARY layout wrapper exists, don't let it create extra/double gutters */
  body.single-venue .lvd-venue-layout {
    margin-left: 0;
    margin-right: 0;
  }
}

/* =====================================
   Sidebar blocks — shared style
   ===================================== */

.single-venue .lvd-sidebar-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  margin-top: 1.25rem;
}

.single-venue .lvd-sidebar-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
}

.single-venue .lvd-sidebar-emoji {
  font-size: 1.2rem;
  line-height: 1;
}

.single-venue .lvd-sidebar-strong {
  margin: 0.25rem 0 0;
  font-weight: 600;
}

.single-venue .lvd-sidebar-muted {
  margin: 0.25rem 0 0;
  color: #555;
  font-size: 0.95rem;
}

/* =========================================
   PRIMARY VENUE — HERO IMAGE REFINEMENT
   (targets real markup)
   ========================================= */

/* Space and containment */
.single-venue .lvd-venue-hero {
  margin-bottom: 1.25rem;
}

/* Image polish */
.single-venue .lvd-venue-hero img {
  display: block;
  width: 100%;
  border-radius: 6px; /* subtle, not card-like */
}

/* Editorial divider between image and content */
.single-venue .lvd-venue-hero::after {
  content: "";
  display: block;
  margin-top: 1.25rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

/* Tighten title spacing after hero */
.single-venue .lvd-venue-hero + header.lvd-archive-header {
  margin-top: 1.25rem;
}



.lvd-card,
.lvd-sidebar-card {
	background: #fff;
	border: 1px solid var(--lvd-border-soft);
	border-radius: 6px;
	padding: 1.5rem;
	margin-bottom: 1.5rem;
}

.lvd-card h2,
.lvd-sidebar-title {
	margin: 0 0 0.75rem;
}

/* =========================================
   Location archive — card parity with amenities
   ========================================= */

.lvd-location-archive .lvd-hotel-grid {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 2rem;
}

@media (min-width: 1024px) {
	.lvd-location-archive .lvd-hotel-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* =========================================================
   LVD GRID SYSTEM — CANONICAL (PHASE 1B)
   ========================================================= */

/* Archive grids (Hotels, Shows, Attractions, Venues) */
.lvd-grid--archive {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 2rem;
}

/* Homepage grids */
.lvd-grid--home {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 2rem;
}

/* Related / secondary grids */
.lvd-grid--related {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	column-gap: 1.75rem;
	row-gap: 0.35rem;
}

/* =========================
   GRID SYSTEM
   ========================= */
/* Archive grids — canonical mapping */
.lvd-grid--archive,
.lvd-hotel-grid,
.lvd-venue-show-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}

@media (max-width: 1024px) {
	.lvd-venue-show-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.lvd-venue-show-grid {
		grid-template-columns: 1fr;
	}
}

/* =========================
   CARD NORMALIZATION
   ========================= */
   
/* =========================================
   CANONICAL ENTITY CARD (NEW)
   ========================================= */

.lvd-hotel-card-v2 {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.lvd-card-thumb img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.lvd-card-body {
	flex-grow: 1;
	padding: 1rem 1.25rem;
}

.lvd-card-title {
	margin: 0.4rem 0 0.5rem;
	line-height: 1.25;
}

/* Card title links should not look like inline text links */
.lvd-card-title a {
	text-decoration: none;
	color: inherit;
}

/* Restore affordance on hover */
.lvd-card-title a:hover {
	text-decoration: underline;
}

/* Accessibility: keyboard focus */
.lvd-card-title a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
	text-decoration: none;
}

.lvd-hotel-card-v2 p {
	margin: 0.25rem 0 0;
	font-size: 0.95rem;
	line-height: 1.45;
}

.lvd-card-footer {
	margin-top: auto;
	padding: 0.75rem 1.25rem 1rem;
	display: flex;
	justify-content: flex-start;
}

.lvd-card-button {
	padding: 0.5rem 1rem;
	font-size: 0.9rem;
}

/* =========================
   ENTITY BADGES
   ========================= */

.lvd-entity-badge--free {
	background: #e7f8ef;
	color: #166534;
	border: 1px solid #bbf7d0;
}

/* =========================
   HERO LAYOUT
   ========================= */

/* =========================
   MAIN CONTENT
   ========================= */

/* SINGLE VENUE — MATCH ATTRACTIONS WIDTH */
.single-venue .lvd-hotel-main-content {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

/* =========================================================
   MAIN LAYOUT PARITY — ALL CPTs
   ========================================================= */

.single-hotel .lvd-hotel-main-inner,
.single-attraction .lvd-hotel-main-inner,
.single-show .lvd-hotel-main-inner,
.single-venue .lvd-hotel-main-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	column-gap: 2.5rem;
	align-items: start;
}

/* ======================================================================
   SINGLE SHOW — STOP OVERVIEW CARD FROM BLEEDING EDGE-TO-EDGE
   Match hotel / attraction containment
   ====================================================================== */

@media (max-width: 768px) {

  /* Remove horizontal bleed on show overview card */
  .single-show section.lvd-card.lvd-card-overview {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

}

/* =========================
   VENUE — LOCATION INTRO
   ========================= */

.single-venue .lvd-venue-location {
	max-width: 760px;
	margin-bottom: 2.5rem;
	background: #fafafa;
	border: 1px solid #eee;
}

.single-venue .lvd-venue-location h2 {
	font-size: 1.15rem;
	margin-bottom: 0.5rem;
}

.single-venue .lvd-venue-location p {
	font-size: 0.95rem;
	line-height: 1.5;
	margin-bottom: 0.5rem;
}

.single-venue .lvd-venue-location a {
	font-weight: 600;
	text-decoration: none;
}

.single-venue .lvd-venue-location a:hover {
	text-decoration: underline;
}

.lvd-venue-header .entry-title {
	margin-bottom: 0.5rem;
}

/* ===============================
   VENUE: FORCE STACKED LAYOUT
   =============================== */

/* Grid title aligns like Hotels */
.single-venue .lvd-grid-title {
	margin: 2rem 0 1.25rem;
}

/* =========================
   FAQ (UNIFIED, NATIVE)
   ========================= */

.lvd-card details {
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 0.75rem 1rem;
	margin-bottom: 0.75rem;
	background: #fafafa;
}

.lvd-card summary {
	cursor: pointer;
	font-weight: 600;
}

.lvd-card details[open] summary {
	margin-bottom: 0.5rem;
}


/* =====================================================
   SINGLE VENUE — FINAL GP-SAFE LAYOUT (ONE SOURCE OF TRUTH)
   ===================================================== */

/* 2. Remove GP inner padding */
body.single-venue .site-content {
	padding: 0;
}


/* 4. Constrain readable header content */
body.single-venue .lvd-venue-header-inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 24px;
}

/* 6. Grid spacing */
body.single-venue .lvd-venue-show-grid {
	margin-top: 2rem;
}

/* =====================================================
   SINGLE VENUE — FORCE GRID LEFT ALIGNMENT (FINAL)
   ===================================================== */

body.single-venue .lvd-venue-show-grid {
	justify-content: start;
	margin-left: 0;
}

body.single-venue .widget-area {
	display: none !important;
}

/* =========================================
   SINGLE VENUE — TIGHTEN HEADER → GRID GAP
   ========================================= */

/* Reduce bottom padding of header */
.single-venue .lvd-venue-header-bg {
	padding-bottom: 1.25rem;
}

/* Reduce spacing under location pill */
.single-venue .lvd-venue-location {
	margin-bottom: 1.25rem;
}

/* Pull grid title up */
.single-venue .lvd-grid-title {
	margin-top: 1.25rem;
}

/* Venue page spacing — mirror Attractions */
.single-venue .lvd-venue-header {
	padding-top: 0.5rem;
	margin-bottom: 1.25rem;
}

.single-venue .lvd-grid-title {
	margin: 1.5rem 0 1.25rem;
	font-size: 2rem;
	line-height: 1.2;
}

/* Shows archive */
.post-type-archive-show .lvd-location-archive {
	padding-top: 0;
}

/* =========================================================
   SHOW & VENUE — OVERRIDES ONLY
   (Visual hierarchy & card density)
   ========================================================= */

/* =========================================================
   HERO — SHOW & VENUE HIERARCHY REFINEMENT
   ========================================================= */

/* Reduce visual noise above the title */
.single-show .lvd-hotel-label,
.single-venue .lvd-entity-label {
	margin-bottom: 0.4rem;
	opacity: 0.85;
}

/* Stronger title presence */
.single-show h1.entry-title,
.single-venue h1.entry-title {
	margin-bottom: 0.5rem;
	letter-spacing: -0.01em;
}

/* Venue subtitle should feel secondary, not equal */
.lvd-venue-subtitle {
	font-size: 1.05rem;
	font-weight: 500;
	opacity: 0.65;
	margin-top: 0.15rem;
	margin-bottom: 0.65rem;
}

/* Excerpt should breathe but not dominate */
.single-show .lvd-hotel-excerpt,
.single-venue .lvd-hotel-excerpt {
	font-size: 1.05rem;
	line-height: 1.55;
	max-width: 42rem;
	margin-bottom: 0.85rem;
}

/* Status row separation */
.lvd-hero-meta-row {
	margin-top: 0.5rem;
}

/* Show status should scan fast */
.lvd-show-status {
	font-size: 0.95rem;
	margin-top: 0.25rem;
}

/* =========================================================
   HERO PARITY — HOTELS / ATTRACTIONS / SHOWS / VENUES
   ========================================================= */

/* Shared hero spacing */
.single-hotel .lvd-hotel-hero,
.single-attraction .lvd-hotel-hero,
.single-show .lvd-hotel-hero,
.single-venue .lvd-hotel-hero {
	padding-bottom: 2rem;
	margin-bottom: 0.5rem;
}

/* =========================================================
   HERO SYSTEM — SINGLE SOURCE OF TRUTH
   ========================================================= */

.lvd-hotel-hero-inner {
	display: flex;
	gap: 2.5rem;
	align-items: center;
}

/* Desktop text/image balance */
.single-show .lvd-hotel-hero-text { max-width: 640px; }
.single-venue .lvd-hotel-hero-text { max-width: 700px; }
.single-venue .lvd-hotel-hero-image { max-width: 360px; }

/* Image defaults */
.lvd-hotel-hero-image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 14px;
}

/* Mobile behavior — THIS is the key */
@media (max-width: 900px) {

	.lvd-hotel-hero-inner {
		flex-direction: column;
	}

	.single-hotel .lvd-hotel-hero-image,
	.single-show .lvd-hotel-hero-image,
	.single-attraction .lvd-hotel-hero-image,
	.single-venue .lvd-hotel-hero-image {
		width: 100%;
		max-width: 100%;
		margin-top: 1.25rem;
	}

	.single-hotel .lvd-hotel-hero-image img,
	.single-show .lvd-hotel-hero-image img {
		aspect-ratio: 16 / 9;
	}
}

/* =========================================================
   FIX — SINGLE SHOW MOBILE “SCRUNCHED” CONTENT
   Add padding + ensure white surface behind content
   ========================================================= */

@media (max-width: 768px) {

  /* Give the hero + main content the same side padding Hotels get */
  body.single-show .lvd-hotel-hero,
  body.single-show .lvd-hotel-main {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* Ensure the grid containers don’t cancel it out */
  body.single-show .lvd-hotel-hero .grid-container,
  body.single-show .lvd-hotel-main .grid-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Add a bit more vertical breathing room between hero and content */
  body.single-show .lvd-hotel-main {
    padding-top: 0 !important;
    padding-bottom: 2rem !important;
  }

  /* White surface behind main content if GP/body background shows through */
  body.single-show .inside-article,
  body.single-show #primary,
  body.single-show .site-content {
    background: #fff !important;
  }

  /* Keep body background as your site bg */
  body.single-show {
    background: #fafafa;
  }
}

/* =========================================================
   MOBILE OFFER CARD SYSTEM — SEPARATION & CONTAINMENT
   ========================================================= */

@media (max-width: 768px) {

  /* Give offers horizontal breathing room */
  .lvd-offers-mobile-top,
  .lvd-offers-mobile-list {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* Each offer should feel like its own card */
  .lvd-offers-mobile-list .lvd-offer-item {
    margin-bottom: 1.25rem !important;
    border-radius: 14px !important;
    overflow: hidden;
  }

  /* Prevent edge-to-edge image bleed */
  .lvd-offers-mobile-list .lvd-offer-item img {
    border-radius: 12px;
  }

  /* Calm the interior spacing */
  .lvd-offers-mobile-list .lvd-offer {
    padding: 1.25rem !important;
  }

  /* Center offer titles & CTA for better scan */
  .lvd-offers-mobile-list .lvd-offer-title,
  .lvd-offers-mobile-list .lvd-offer-price,
  .lvd-offers-mobile-list .lvd-offer-cta {
    text-align: center;
  }

  /* Slightly separate stacked content */
  .lvd-offers-mobile-list .lvd-offer > * + * {
    margin-top: 0.65rem;
  }
}

/* =========================================================
   VENUE → SHOW CARD DENSITY & READABILITY
   ========================================================= */

/* Tighten vertical rhythm inside cards */
.lvd-venue-show-grid .lvd-hotel-card-v2 .lvd-card-body {
	padding-top: 0.85rem;
	padding-bottom: 0.85rem;
}

/* Title spacing consistency */
.lvd-venue-show-grid .lvd-card-title {
	margin-bottom: 0.35rem;
}

/* Clamp excerpts for visual balance */
.lvd-venue-show-grid .lvd-card-body p {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Footer CTA breathing room */
.lvd-venue-show-grid .lvd-card-footer {
	padding-top: 0.6rem;
	padding-bottom: 0.85rem;
}

/* =========================================================
   SINGLE SHOW — DESKTOP CONTENT + SIDEBAR (REFINED)
   ========================================================= */

@media (min-width: 769px) {

  /* Main content surface */
  body.single-show .lvd-hotel-main-content {
    background: #ffffff;
    padding: 2rem;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
  }

  body.single-show .lvd-hotel-main {
    padding-top: 0;
  }

	/* Sidebar behavior only (no surface) */
	body.single-show .lvd-hotel-sidebar {
	  position: sticky;
	  top: 2rem;
	  align-self: flex-start;
	}
	
	/* Show sidebar delayed sticky behavior */
	body.single-show .lvd-hotel-sidebar-wrap {
	  padding-top: 200px;
	}

	@media (max-width: 1024px) {
	  body.single-show .lvd-hotel-sidebar {
		position: static;
	  }
	}
	
	/* Sidebar cards only — NOT the sidebar container */
	.single-show .lvd-hotel-sidebar .lvd-offer {
	  background: #ffffff;
	  border-radius: 14px;
	  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
	}

  /* Offer spacing */
  body.single-show .lvd-hotel-sidebar .lvd-offer {
    margin-bottom: 1.25rem;
  }

  /* Reading comfort */
  body.single-show .lvd-hotel-main-content p {
    font-size: 1.05rem;
    line-height: 1.7;
  }

  body.single-show .lvd-hotel-main-content h2 {
    margin-top: 2.25rem;
  }
  
  /* Allow content to fully use its column */
  body.single-show .lvd-hotel-main-content {
    max-width: none;
  }  
}

/* =========================================
   SINGLE SHOW — SIDEBAR LOCATION CARD
   ========================================= */

/* Sidebar location card — base styling (NO forced spacing) */
.single-show .lvd-sidebar-location {
	margin-top: 0;
	border: 1px solid var(--lvd-border-soft);
	background: #fafafa;
}

/* Only add spacing IF offers exist above it */
.single-show .lvd-offers-sidebar + .lvd-sidebar-location {
	margin-top: 1.5rem;
}

.single-show .lvd-sidebar-location .lvd-sidebar-title {
	margin-bottom: 0.65rem;
	font-size: 1rem;
	font-weight: 700;
}

.single-show .lvd-sidebar-location-text {
	margin: 0;
	line-height: 1.45;
}

.single-show .lvd-sidebar-location-label {
	display: block;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--lvd-muted);
	margin-bottom: 0.15rem;
}

.single-show .lvd-sidebar-location-link {
	font-size: 1.05rem;
	font-weight: 700;
	text-decoration: none;
}

.single-show .lvd-sidebar-location-link:hover {
	text-decoration: underline;
}

body.single-show .lvd-hotel-main-content,
.single-show .lvd-hotel-sidebar .lvd-sidebar-location {
  border-radius: 6px;
}

/* =========================================
   SINGLE SHOW — HERO → CONTENT SPACING
   Match Hotels & Attractions
   ========================================= */

body.single-show .lvd-hotel-main {
  margin-top: 2.25rem;
}

/* ======================================================
   SURFACE SYSTEM (used by Hotels, Attractions, Venues)
   ====================================================== */

.lvd-surface {
    background: #ffffff;
    border-radius: 12px;
    margin-bottom: 2rem;
}

.lvd-hero-surface {
    padding-top: 1rem;
}

.lvd-main-surface {
    padding: 2rem 0;
}

/* =========================================
   SINGLE SHOW — HERO PILL SPACING FIX
   ========================================= */

.single-show .lvd-location-pill {
  display: inline-block;
  margin-bottom: 0.45rem; /* creates breathing room */
}

.single-show .lvd-hotel-label {
  margin-top: 0.15rem;
}

/* =========================================================
   SHOW OFFERS — UNIFIED STYLE (DESKTOP + MOBILE)
   ========================================================= */

body.single-show
.lvd-offer-item.lvd-offer--show {
  background: linear-gradient(
    135deg,
    #0f172a,
    #020617
  ) !important;

  border: 1px solid rgba(56, 189, 248, 0.35) !important;
  box-shadow: 0 14px 32px rgba(2, 6, 23, 0.55) !important;
  color: #e5e7eb !important;

  border-radius: 18px;
  overflow: hidden;
}

/* Promo label */
body.single-show
.lvd-offer-item.lvd-offer--show
.lvd-offer-type {
  color: #38bdf8 !important;
  font-weight: 700;
}

/* Title */
body.single-show
.lvd-offer-item.lvd-offer--show h3 {
  color: #ffffff !important;
}

/* Description */
body.single-show
.lvd-offer-item.lvd-offer--show p {
  color: #cbd5e1 !important;
}

/* CTA button */
body.single-show
.lvd-offer-item.lvd-offer--show a {
  background: linear-gradient(
    180deg,
    #38bdf8,
    #0ea5e9
  ) !important;

  color: #020617 !important;
  border-radius: 12px;
  box-shadow: 0 6px 16px rgba(14, 165, 233, 0.35);
}

/* Hover */
body.single-show
.lvd-offer-item.lvd-offer--show a:hover {
  background: linear-gradient(
    180deg,
    #7dd3fc,
    #38bdf8
  ) !important;

  box-shadow: 0 8px 20px rgba(56, 189, 248, 0.45);
}

/* =========================================================
   SHOW OFFERS — CTA TEXT REFINEMENT
   ========================================================= */

body.single-show
.lvd-offer-item.lvd-offer--show a {
  font-weight: 700 !important;     /* Match hotels/attractions */
  padding: 0.85rem 1rem !important; /* Slightly shorter button */
  letter-spacing: 0.02em;          /* Cleaner, less chunky */
}

/* =========================================
   SHOW — LOCATION SIDEBAR (ATTRACTIONS PARITY)
   ========================================= */

.single-show .lvd-sidebar-location-heading {
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 0.75rem;
	letter-spacing: -0.01em;
}

.single-show .lvd-sidebar-location-text {
	margin: 0 0 0.75rem;
	line-height: 1.5;
	font-size: 0.95rem;
}

.single-show .lvd-sidebar-location-text:last-of-type {
	margin-bottom: 1rem;
}

/* =====================================================
   SHOW SIDEBAR — MATCH ATTRACTIONS LOCATION CARD
   ===================================================== */

.single-show .lvd-sidebar-location {
	padding: 1.25rem;
}

.single-show .lvd-sidebar-location .lvd-sidebar-title {
	font-size: 1.5rem;      /* same visual weight as Attractions */
	font-weight: 800;
	line-height: 1.25;
	margin-bottom: 0.75rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.single-show .lvd-sidebar-location-text {
	line-height: 1.6;
	margin-bottom: 0.75rem;
}

.single-show .lvd-sidebar-location-text:last-of-type {
	margin-bottom: 1rem;
}

.single-show .lvd-sidebar-location-cta a {
	font-weight: 500;
}

@media (max-width: 900px) {

	.single-hotel .lvd-hotel-main-inner,
	.single-attraction .lvd-hotel-main-inner,
	.single-show .lvd-hotel-main-inner,
	.single-venue .lvd-hotel-main-inner {
		grid-template-columns: 1fr;
	}

	.single-hotel .lvd-hotel-sidebar,
	.single-attraction .lvd-hotel-sidebar,
	.single-show .lvd-hotel-sidebar,
	.single-venue .lvd-hotel-sidebar {
		max-width: 100%;
	}
}

/* =========================================
   HOTEL → SHOWS MODULE
   ========================================= */
.lvd-sidebar-shows-at-hotel {
	background: #fafafa;
}

.lvd-sidebar-show-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lvd-sidebar-show-item + .lvd-sidebar-show-item {
	margin-top: 0.75rem;
}

.lvd-sidebar-show-link {
	font-weight: 700;
	text-decoration: none;
}

.lvd-sidebar-show-link:hover {
	text-decoration: underline;
}

.lvd-sidebar-show-venue {
	display: block;
	font-size: 0.85rem;
	color: #666;
	margin-top: 0.1rem;
}

/* Sidebar shows list — subtle separation */
.lvd-sidebar-shows .lvd-sidebar-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin-bottom: 0.45rem;
}

.lvd-sidebar-shows .lvd-sidebar-list li::before {
	content: "•";
	color: var(--lvd-muted);
	font-size: 1.2rem;
	line-height: 1;
	margin-top: 0.15rem;
}

.lvd-sidebar-list li {
  position: relative;
  padding-left: 0.75rem;
}

.lvd-sidebar-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #9ca3af; /* muted gray */
}


/* LOCATION ARCHIVE — override hotel.css width clamp */
.lvd-location-archive .lvd-location-intro {
    max-width: 960px;
}

/* =========================================================
   HOMEPAGE — HERO
   ========================================================= */

.lvd-home-hero {
	padding: 2.25rem 0 1rem;
	border-bottom: 1px solid var(--lvd-border-soft);
}

/* Tighten spacing between hero and first home section */
.lvd-home-hero + .lvd-home-section {
	margin-top: 0;
	padding-top: 0.5rem;
}

.lvd-home-hero-title {
	max-width: 1000px;
	font-size: clamp(2rem, 4vw, 2.75rem);
	line-height: 1.15;
	margin-bottom: 0.75rem;
	text-wrap: balance;
}

.lvd-home-hero-subtitle {
	max-width: 720px;
	font-size: 1.05rem;
	color: var(--lvd-muted);
	margin-bottom: 1.5rem;
}

.lvd-home-hero-ctas {
	max-width: 720px;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.lvd-home-hero-ctas .lvd-button-primary {
	background: var(--lvd-gold);
	color: #000;
	padding: 0.75rem 1.25rem;
	border-radius: 999px;
	font-weight: 600;
	text-decoration: none;
}

.lvd-home-hero-ctas .lvd-button-secondary {
	padding: 0.75rem 1.25rem;
	border-radius: 999px;
	border: 1px solid var(--lvd-gold);
	color: var(--lvd-gold);
	background: transparent;
	text-decoration: none;
}

/* =========================================================
   HOMEPAGE — SHOW TYPES
   ========================================================= */

/* Homepage grids — canonical mapping */
.lvd-grid--home,
.lvd-home-show-type-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 2rem;
}

.lvd-show-type-card {
	background: #fff;
	border: 1px solid var(--lvd-border-soft);
	border-radius: 14px;
	padding: 1.75rem;
	display: flex;
	flex-direction: column;
}

.lvd-show-type-desc {
	font-size: 0.95rem;
	color: var(--lvd-muted);
	line-height: 1.5;
	margin-bottom: 1.25rem;
}

.lvd-show-type-card .lvd-card-button {
	margin-top: auto;
}

/* Show type card titles (homepage) */
.lvd-show-type-title a {
	text-decoration: none;
	color: inherit;
}

.lvd-show-type-title a:hover {
	text-decoration: underline;
}

.lvd-show-type-title a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
	text-decoration: none;
}

/* =========================================================
   HOMEPAGE — CARD GRID (HOTELS + ATTRACTIONS)
   ========================================================= */

.lvd-hotel-card-v2:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}

/* Image */
.lvd-card-thumb img {
	display: block;
	width: 100%;
	height: auto;
}

/* Body */
.lvd-hotel-card-v2 .lvd-card-body {
	padding: 1.5rem;
}

/* Footer */
.lvd-hotel-card-v2 .lvd-card-footer {
	margin-top: auto;
	padding: 1.25rem 1.5rem;
}

/* No thumbnail spacing fix */
.lvd-hotel-card-v2:not(:has(.lvd-card-thumb)) {
	padding-top: 0.75rem;
}

/* =========================================================
   ENTITY BADGES
   ========================================================= */

.lvd-entity-badge {
	display: inline-block;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
	margin-bottom: 0.75rem;
	background: #f4f4f4;
	color: #333;
}

.lvd-entity-badge--hotel {
	background: rgba(218,165,32,0.15);
	color: #6b5600;
}

.lvd-entity-badge--attraction {
	background: rgba(31,58,138,0.12);
	color: #1f3a8a;
}

/* =========================================================
   HOMEPAGE — TOP DEALS
   ========================================================= */

.lvd-grid--home,
.lvd-home-top-deals .lvd-global-offers-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 2rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.lvd-home-top-deals .lvd-offer-item {
	background: #fff;
	border: 1px solid var(--lvd-border-soft);
	border-radius: 14px;
	padding: 1.25rem 1.5rem;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 12px rgba(0,0,0,0.04);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lvd-home-top-deals .lvd-offer-item:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 22px rgba(0,0,0,0.08);
}

/* Source band */
/* Homepage spacing only */
.lvd-home-top-deals .lvd-offer-source {
	margin: -1.25rem -1.5rem 0.75rem;
}

/* Global source band (single source of truth) */
.lvd-offer-source {
	padding: 0.7rem 1.5rem;
	background: #f3f4f6;
	border-bottom: 1px solid var(--lvd-border-soft);

	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;

	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.lvd-offer--hotel .lvd-offer-source {
	border-left: 4px solid var(--lvd-gold);
}

.lvd-offer--show .lvd-offer-source {
	border-left: 4px solid #0a7a3c;
}

.lvd-offer--attraction .lvd-offer-source {
	border-left: 4px solid #1f3a8a;
}

/* Offer type pill */
.lvd-home-top-deals .lvd-offer-type-small {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.25rem 0.7rem;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 700;
	background: #f6f3e7;
	color: #6b5600;
	width: fit-content;
	margin-bottom: 0.5rem;
}

/* CTA */
.lvd-home-top-deals .lvd-offer-button-small {
	margin-top: auto;
	padding: 0.55rem 1.1rem;
	font-size: 0.9rem;
	font-weight: 700;
	border-radius: 999px;
	background: var(--lvd-gold);
	color: #000;
	text-decoration: none;
	align-self: flex-start;
}

/* =========================================================
   HOMEPAGE — TRUST
   ========================================================= */

.lvd-home-trust {
	background: #fafafa;
}

.lvd-grid--related,
.lvd-trust-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 2rem;
}

.lvd-trust-item h3 {
	font-size: 1.05rem;
	margin-bottom: 0.5rem;
}

.lvd-trust-item p {
	font-size: 0.95rem;
	color: var(--lvd-muted);
	line-height: 1.5;
}

/* =========================================================
   HOMEPAGE — FOOTER LINKS (MOBILE FIXED)
   ========================================================= */

.lvd-grid--related,
.lvd-footer-links-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 2rem;
}

@media (max-width: 768px) {
	.lvd-home-hero,
	.lvd-home-top-deals,
	.lvd-home-show-types,
	.lvd-home-hotels,
	.lvd-home-attractions,
	.lvd-home-trust,
	.lvd-home-footer-links {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.lvd-footer-links-grid {
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}

	.lvd-footer-links-col {
		padding-bottom: 1.5rem;
		border-bottom: 1px solid var(--lvd-border-soft);
	}
}

/* =========================================================
   HOMEPAGE — CANONICAL VERTICAL SPACING SYSTEM
   ========================================================= */

:root {
	--lvd-home-section-pad: 3.25rem;
	--lvd-home-header-gap: 1.25rem;
}

/* Sections own ALL vertical spacing */
.lvd-home-section {
	padding: var(--lvd-home-section-pad) 0;
	margin: 0;
}

/* Divider belongs to section boundary */
.lvd-home-section + .lvd-home-section {
	border-top: 1px solid var(--lvd-border-soft);
}

/* First section sits naturally under hero */
.lvd-home-section:first-of-type {
	padding-top: 0;
	border-top: none;
}

/* Headers are spacing-neutral except bottom gap */
.lvd-home-section-header {
	margin: 0 0 var(--lvd-home-header-gap);
	padding: 0;
}

/* Content must NOT add vertical spacing */
.lvd-home-show-type-grid,
.lvd-hotel-grid,
.lvd-home-top-deals .lvd-global-offers-grid,
.lvd-trust-grid {
	margin-top: 0;
}

/* Cards do not control layout spacing */
.lvd-home-section .lvd-hotel-card-v2 {
	margin-bottom: 0;
}

/* Mobile tightening */
@media (max-width: 768px) {
	.lvd-home-section {
		padding: 2.5rem 0;
	}

	.lvd-home-section-header {
		margin-bottom: 1.25rem;
	}
}

/* =========================================================
   HOMEPAGE — MOBILE HORIZONTAL GUTTER (AUTHORITATIVE)
   ========================================================= */

@media (max-width: 768px) {

	/* Ensure homepage sections never touch viewport edges */
	.lvd-home-section {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	/* Hero already has its own padding — align visually */
	.lvd-home-hero {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

}

.lvd-home-section-footer {
	margin-top: 1.25rem;
}

.lvd-text-link {
	font-weight: 600;
	color: #1a1a1a;
	text-decoration: none;
}

.lvd-text-link:hover {
	color: var(--lvd-gold);
	text-decoration: underline;
}

.lvd-home-trust {
	background: linear-gradient(#fafafa, #ffffff);
}

/* Homepage hero CTA alignment */
.lvd-home-hero-ctas {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	align-items: center;
}

/* Force single row on desktop */
@media (min-width: 768px) {
	.lvd-home-hero-ctas {
		flex-wrap: nowrap;
	}
}

/* Allow natural stacking on mobile */
@media (max-width: 767px) {
	.lvd-home-hero-ctas {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Prevent CTA text wrapping on desktop only */
@media (min-width: 768px) {
	.lvd-home-hero-ctas .lvd-button {
		white-space: nowrap;
	}
}

/* =========================================================
   DEALS INDEX — GRID + CARD SYSTEM (LOCKED)
   ========================================================= */

.lvd-deals-index .lvd-global-offers-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.75rem;
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
}

/* Kill GeneratePress bullets */
.lvd-deals-index .lvd-global-offers-grid > li {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* =========================================================
   DEALS INDEX — OFFER CARD
   ========================================================= */

.lvd-deals-index .lvd-offer-item {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;

	background: #fff;
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.06);
	overflow: hidden;

	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lvd-deals-index .lvd-offer-item:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 40px rgba(0,0,0,0.08);
}

/* =========================================================
   DEALS INDEX — SOURCE BAND (FULL WIDTH)
   ========================================================= */

/* Deals index spacing only */
.lvd-deals-index .lvd-offer-source {
	padding: 0.9rem 1.4rem 1.15rem;
}

/* Source color coding */
.lvd-deals-index .lvd-offer--hotel .lvd-offer-source {
	border-left: 4px solid var(--lvd-gold);
}

.lvd-deals-index .lvd-offer--show .lvd-offer-source {
	border-left: 4px solid #0a7a3c;
}

.lvd-deals-index .lvd-offer--attraction .lvd-offer-source {
	border-left: 4px solid #1f3a8a;
}

/* =========================================================
   DEALS INDEX — INNER CONTENT WRAPPER
   ========================================================= */

.lvd-deals-index .lvd-offer-content {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	padding: 1.4rem 1.4rem 1.6rem;
	height: 100%;
}

/* =========================================================
   DEALS INDEX — OFFER TYPE PILL
   ========================================================= */

.lvd-deals-index .lvd-offer-type-small {
	display: inline-flex;
	align-items: center;

	padding: 0.25rem 0.65rem;
	border-radius: 999px;

	font-size: 0.7rem;
	font-weight: 700;
	background: var(--lvd-gold-soft);
	color: #6b5600;

	width: fit-content;
	margin-bottom: 0.4rem;
}

/* =========================================================
   DEALS INDEX — TYPOGRAPHY
   ========================================================= */

.lvd-deals-index .lvd-offer-title-small {
	font-size: 1.35rem; /* matches homepage hierarchy */
	font-weight: 700;
	line-height: 1.25;
	margin: 0.25rem 0 0.45rem;
}

.lvd-deals-index .lvd-offer-price-small {
	font-weight: 700;
	margin-bottom: 0.25rem;
}

/* =========================================================
   DEALS INDEX — FEATURED BADGE
   ========================================================= */

/* DEALS INDEX — FEATURED BADGE (REFINED) */
.lvd-deals-index .lvd-offer-featured {
	position: absolute;
	top: 12px;
	right: 12px;

	background: var(--lvd-gold-soft); /* lighter gold */
	color: #6b5600;                   /* warm readable text */

	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;

	padding: 0.3rem 0.65rem;
	border-radius: 999px;

	box-shadow:
		inset 0 0 0 1px rgba(107, 86, 0, 0.25),
		0 1px 2px rgba(0,0,0,0.08);
}


/* =========================================================
   DEALS INDEX — CTA
   ========================================================= */

.lvd-deals-index .lvd-offer-button-small {
	margin-top: auto;
	align-self: flex-start;

	padding: 0.6rem 1.1rem;
	font-size: 0.85rem;
	font-weight: 700;
	border-radius: 999px;

	background: var(--lvd-gold);
	color: #000;
	text-decoration: none;
}

.lvd-deals-index .lvd-offer-button-small:hover {
	filter: brightness(1.05);
}

/* =========================================================
   DEALS INDEX — FILTER BUTTONS
   ========================================================= */

.lvd-deals-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1.25rem 0 2rem;
}

.lvd-deals-filters .lvd-pill {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	border: 1px solid #e5e7eb;
	background: #fff;
	color: #111;
	text-decoration: none;
	font-size: 0.9rem;
	transition: background 0.15s ease, box-shadow 0.15s ease;
}

.lvd-deals-filters .lvd-pill:hover {
	background: #f9fafb;
}

.lvd-deals-filter {
	background: #fff;
	border: 1.5px solid var(--lvd-border-soft);
	color: var(--lvd-text);

	padding: 0.55rem 1.25rem;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 500;

	cursor: pointer;
	transition: all 0.2s ease;
}

.lvd-deals-filter:hover {
	border-color: var(--lvd-gold);
	color: var(--lvd-gold);
}

.lvd-deals-filter.is-active {
	background: var(--lvd-gold);
	border-color: var(--lvd-gold);
	color: #000;
	font-weight: 600;
}

/* =========================================================
   DEALS INDEX — HEADER ALIGNMENT
   ========================================================= */

.lvd-deals-index .lvd-home-section-header {
	margin-bottom: 0;
}

.lvd-deals-index h2 {
	margin-bottom: 0.5rem;
}

/* =========================================================
   DEALS INDEX — GAP ABOVE PILL + STRONGER CARD EDGE (FINAL)
   Paste at VERY bottom of global-lvd.css
   ========================================================= */

/* 1) Create space BETWEEN the source-band divider line and first content item */
.lvd-deals-index .lvd-offer-content{
	/* override any earlier padding shorthand */
	padding: 1.9rem 1.25rem 1.5rem !important; /* <-- the 1.9rem is the gap you want */
}

/* Optional: keep pill rhythm (won’t affect the band gap) */
.lvd-deals-index .lvd-offer-type-small{
	margin: 0 0 0.45rem !important;
}

/* 2) Add a subtle “edge” so cards separate better */
.lvd-deals-index .lvd-offer-item{
	box-shadow:
		0 10px 30px rgba(0,0,0,0.06),
		inset 0 0 0 1px rgba(0,0,0,0.08) !important;
}

/* Slightly stronger on hover */
.lvd-deals-index .lvd-offer-item:hover{
	box-shadow:
		0 14px 40px rgba(0,0,0,0.08),
		inset 0 0 0 1px rgba(0,0,0,0.12) !important;
}

/* 3) Featured badge readability */
.lvd-deals-index .lvd-offer-featured{
	box-shadow: inset 0 0 0 1px rgba(0,0,0,0.14);
}

.lvd-deals-index .lvd-home-section-header {
	position: relative;
	padding-top: 1.25rem;
}

.lvd-deals-index .lvd-home-section-header::before {
	content: "";
	display: block;
	width: 60px;
	height: 3px;
	background: var(--lvd-gold);
	margin-bottom: 1rem;
	border-radius: 3px;
}

.page .entry-title {
	margin-bottom: 0.75rem;
}

/* DEALS INDEX — GRID BACKGROUND TINT */
.lvd-deals-index .lvd-global-offers-grid {
	background: #faf8f2; /* very light warm neutral */
	padding: 2rem;
	border-radius: 18px;
}

/* =========================================================
   DEALS INDEX — CPT TYPE PILL (SHOW / HOTEL / ATTRACTION)
   ========================================================= */

.lvd-deals-index .lvd-offer-kind-pill {
	display: inline-flex;
	align-items: center;

	padding: 0.2rem 0.55rem;
	margin-bottom: 0.45rem;

	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;

	background: #f3f4f6;          /* light neutral */
	color: #444;

	border-radius: 999px;
	width: fit-content;
}

.lvd-deals-index .lvd-offer--show .lvd-offer-kind-pill {
	background: #eef7f1;
	color: #0a7a3c;
}

.lvd-deals-index .lvd-offer--hotel .lvd-offer-kind-pill {
	background: #fff6e5;
	color: #6b5600;
}

.lvd-deals-index .lvd-offer--attraction .lvd-offer-kind-pill {
	background: #eef2ff;
	color: #1f3a8a;
}

/* DEALS INDEX — SECTION BACKGROUND */
.lvd-home-section.lvd-deals-index {
	background: #faf7f0; /* faint warm tint */
	border-radius: 20px;
	padding: 2.5rem 2rem;
}

@media (max-width: 768px) {

	/* Kill the “floating slab” effect on mobile */
	.lvd-home-section.lvd-deals-index {
		background: transparent;
		padding: 0;
	}

	/* Restore clean spacing around cards */
	.lvd-deals-index .lvd-global-offers-grid {
		margin-top: 1.25rem;
	}
}

.lvd-inline-deals-list {
	margin: 0.75rem 0 0;
	padding-left: 1.1rem;
}

.lvd-inline-deals-list li {
	margin-bottom: 0.4rem;
	list-style: disc;
}

.lvd-inline-deals-list a {
	font-weight: 600;
	text-decoration: underline;
}

.lvd-inline-deal-price {
	color: var(--lvd-text-soft);
	font-weight: 500;
	margin-left: 0.25rem;
}

.lvd-inline-deals-cta {
	margin-top: 0.75rem;
}

/* Inline deals list — hotel pages */
.lvd-inline-deals-list {
	column-count: 2;
	column-gap: 2rem;
	margin: 0;
	padding-left: 1.25rem;
}

.lvd-inline-deals-list li {
	break-inside: avoid;
	margin-bottom: 0.4rem;
}

/* Mobile: single column */
@media (max-width: 768px) {
	.lvd-inline-deals-list {
		column-count: 1;
	}
}

/* =========================================================
   SHOW — Other Shows at This Venue
   ========================================================= */

.lvd-related-shows-list li {
	margin: 0;
}

.lvd-related-shows-list a {
	font-weight: 500;
	text-decoration: none;
}

.lvd-related-shows-list a:hover {
	text-decoration: underline;
}

/* =========================================================
   RELATED SHOWS (HOTEL-LEVEL)
   ========================================================= */

.lvd-related-shows .lvd-related-list {
	list-style: disc;
	padding-left: 1.25rem;
	margin: 0.75rem 0 0;

	column-count: 2;
	column-gap: 2rem;
}

.lvd-related-shows .lvd-related-list li {
	break-inside: avoid;
	margin-bottom: 0.35rem;
}

@media (max-width: 640px) {
	.lvd-related-shows .lvd-related-list {
		column-count: 1;
	}
}

/* ----------------------------------------
   Show Type — Editorial Description (LOCKED)
---------------------------------------- */

/* Divider + spacing only (no width control) */
.lvd-location-description {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--lvd-border-soft);
	color: #444;
}

/* Inner wrapper exists ONLY for typography, not layout */
.lvd-location-description-inner {
	line-height: 1.65;
}

/* Paragraph rhythm */
.lvd-location-description-inner p {
	margin: 0 0 1rem;
	line-height: 1.7;
}

/* Optional: headings inside WYSIWYG */
.lvd-location-description-inner h2,
.lvd-location-description-inner h3 {
	margin: 1.5rem 0 0.75rem;
}

/* Explore links follow natural grid width */
.lvd-intro-links {
	margin-top: 0.75rem;
}

/* Mobile: no special width rules needed */
@media (max-width: 768px) {
	.lvd-location-description {
		margin-top: 1rem;
		padding-top: 1rem;
	}
}

.lvd-location-intro {
	line-height: 1.7;
	color: #444;
}

/* =========================================
   LOCATION ARCHIVE — MATCH SHOW TYPE WIDTH
   ========================================= */

.tax-lvd_location .lvd-taxonomy-page {
	max-width: 1320px;
}

/* =========================================
   LOCATION ARCHIVES — INTRO WIDTH
   ========================================= */
.tax-lvd_location .lvd-location-intro {
	max-width: 1100px; /* adjust if needed, but start here */
}

/* =========================================
   SHOW TYPE ARCHIVES — INTRO WIDTH
   ========================================= */
.tax-las-vegas-show-types .lvd-location-intro {
	max-width: 720px;
}

.lvd-location-context {
	margin-top: 0.75rem;
	color: #555;
	font-size: 0.95rem;
}

/* Show Type badge – micro polish only */
.lvd-entity-badge--show {
	padding: 0.35rem 0.6rem; /* was tighter */
	font-size: 0.7rem;      /* do NOT increase */
	letter-spacing: 0.04em;
}

/* =========================================
   RELATED SHOWS — TYPOGRAPHY ALIGNMENT
   Matches Hotel / Attraction link lists
   ========================================= */

.lvd-related-shows-list {
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
}

.lvd-grid--related,
.lvd-related-shows-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	column-gap: 1.75rem;
	row-gap: 0.35rem;
}

/* =========================================
   RELATED SHOWS — BULLET RESTORE
   ========================================= */

.lvd-related-shows-list li {
	position: relative;
	padding-left: 0.9rem;
}

/* Subtle bullet */
.lvd-related-shows-list li::before {
	content: "•";
	position: absolute;
	left: 0;
	top: 0.1em;
	color: #999;
	font-size: 1rem;
	line-height: 1;
}

/* Match existing list-link styling */
.lvd-related-shows-list a {
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.45;
	color: var(--lvd-link, #1d4ed8);
	text-decoration: none;
}

.lvd-related-shows-list a:hover {
	text-decoration: underline;
}

/* Mobile: single column, tighter rhythm */
@media (max-width: 640px) {
	.lvd-related-shows-list {
		grid-template-columns: 1fr;
		row-gap: 0.4rem;
	}
}

/* View-all link under related shows */
.lvd-related-shows-more {
	margin-top: 0.75rem;
}

.lvd-related-shows-more a {
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--lvd-link, #1d4ed8);
	text-decoration: none;
}

.lvd-related-shows-more a:hover {
	text-decoration: underline;
}

/* Align Show Category with Venue meta style */
.lvd-show-type-link {
	margin: 0.25rem 0 0;
	font-size: 0.95rem;
	color: #555;
}

.lvd-show-type-link a {
	font-weight: inherit;
}

.lvd-show-type-link::before {
	content: "Category:";
	font-weight: 700;
	margin-right: 0.25rem;
	color: inherit;
}

/* =========================================================
   MOBILE HERO SPACING PARITY
   Hotels vs Shows
   ========================================================= */
@media (max-width: 768px) {

  /* Normalize hero padding */
  .lvd-hotel-hero {
    padding-bottom: 1.75rem;
  }

  /* Location pill spacing */
  .lvd-hotel-hero .lvd-location-pill {
    margin-bottom: 0.5rem;
  }

  /* Eyebrow label spacing (Las Vegas Hotel / Show) */
  .lvd-hotel-label {
    margin-bottom: 0.35rem;
  }

  /* Title breathing room */
  .lvd-hotel-hero .entry-title {
    margin-bottom: 0.5rem;
  }

  /* Excerpt consistency */
  .lvd-hotel-excerpt {
    margin-bottom: 0.75rem;
  }

  /* Show status / meta row normalization */
  .lvd-hero-meta-row,
  .lvd-show-status,
  .lvd-hotel-meta {
    margin-bottom: 0.75rem;
  }

  /* Space before main content */
  .lvd-hotel-main {
    margin-top: 1.5rem;
  }
}

/* =========================================================
   SEARCH RESULTS — GLOBAL
   Matches Hotels / Attractions link lists
   ========================================================= */

.lvd-search-page {
	margin: 2.5rem 0 4rem;
}

/* Page title */
.lvd-search-header {
	margin-bottom: 2rem;
}

.lvd-search-header .lvd-page-title {
	font-size: 1.8rem;
	font-weight: 700;
}

/* Section wrapper */
.lvd-search-section {
	margin-bottom: 2.5rem;
}

/* Section headings */
.lvd-search-section-title {
	font-size: 1.1rem;
	font-weight: 600;
	margin-bottom: 0.75rem;
	color: #222;
}

/* Result list (matches sidebar / related lists) */
.lvd-search-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.lvd-search-list li {
	margin: 0.4rem 0;
}

/* Bullet styling */
.lvd-search-list li::before {
	content: "•";
	margin-right: 0.5rem;
	color: #666;
}

/* Links */
.lvd-search-list a {
	text-decoration: none;
	font-weight: 500;
	color: inherit;
}

.lvd-search-list a:hover {
	text-decoration: underline;
}

/* No results state */
.lvd-search-no-results {
	margin-top: 2rem;
	font-size: 0.95rem;
}

.lvd-search-no-results a {
	font-weight: 600;
}

/* Mobile spacing */
@media (max-width: 768px) {
	.lvd-search-page {
		margin-top: 1.5rem;
	}

	.lvd-search-section {
		margin-bottom: 2rem;
	}
}

/* =========================================================
   HEADER SEARCH — GLOBAL
   ========================================================= */

.lvd-search-form {
	display: flex;
	align-items: center;
	position: relative;
}

.lvd-search-input {
	border: 1px solid var(--lvd-border-soft, #ddd);
	border-radius: 999px;
	padding: 0.45rem 2.2rem 0.45rem 0.75rem;
	font-size: 0.9rem;
	width: 200px;
	transition: width 0.2s ease, border-color 0.2s ease;
}

.lvd-search-input:focus {
	outline: none;
	border-color: #999;
	width: 240px;
}

.lvd-search-submit {
	position: absolute;
	right: 0.4rem;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 0.9rem;
	line-height: 1;
	padding: 0;
	color: #555;
}

/* Mobile handling */
@media (max-width: 768px) {
	.lvd-header-search {
		margin: 0.75rem 0 0;
		width: 100%;
	}

	.lvd-search-form {
		width: 100%;
	}

	.lvd-search-input {
		width: 100%;
	}
}

/* =========================================================
   GeneratePress NAV OVERRIDE — FINAL LOCK
   ========================================================= */

/* Force left-aligned nav, right-aligned search */
.main-navigation .inside-navigation {
	display: flex;
	align-items: center;
	justify-content: flex-start; /* 🔴 THIS is the missing piece */
}

/* Menu stays left */
.main-navigation .main-nav {
	margin-left: 1.5rem;
}

/* Search pushed fully right */
.main-navigation .lvd-header-search {
	margin-left: auto;
	display: flex;
	align-items: center;
}

/* Mobile */
@media (max-width: 768px) {
	.main-navigation .inside-navigation {
		flex-wrap: wrap;
	}

	.lvd-header-search {
		width: 100%;
		margin: 0.75rem 0;
	}

	.lvd-search-input {
		width: 100%;
	}
}

/* =========================================
   HEADER SEARCH — FINAL POLISH
   ========================================= */

/* Hide native clear (X) button in search inputs */
.lvd-search-input::-webkit-search-cancel-button {
	display: none;
}

.lvd-search-input::-webkit-search-decoration {
	display: none;
}

/* Ensure text never hides under the icon */
.lvd-search-input {
	padding-right: 2.2rem; /* space for 🔍 */
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* =========================================
   SITEWIDE FOOTER — LVD
========================================= */

.lvd-site-footer {
	background: #fafafa;
	border-top: 1px solid var(--lvd-border-soft);
	margin-top: 4rem;
	padding: 3rem 0 1.5rem;
	font-size: 0.9rem;
}

.lvd-footer-inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}

.lvd-footer-col h4 {
	font-size: 0.95rem;
	font-weight: 600;
	margin-bottom: 0.75rem;
	color: #111;
}

.lvd-footer-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.lvd-footer-col li {
	margin: 0.35rem 0;
}

.lvd-footer-col a {
	color: #444;
	text-decoration: none;
}

.lvd-footer-col a:hover {
	text-decoration: underline;
}

.lvd-footer-bottom {
	margin-top: 2.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--lvd-border-soft);
	text-align: center;
	font-size: 0.85rem;
	color: #666;
}

/* Mobile */
@media (max-width: 768px) {
	.lvd-footer-inner {
		grid-template-columns: 1fr 1fr;
		gap: 1.5rem;
	}
}

@media (max-width: 480px) {
	.lvd-footer-inner {
		grid-template-columns: 1fr;
	}
}

.footer-subheading {
	margin-top: 1.25rem;
	font-size: 0.9rem;
	opacity: 0.85;
}

.site-logo img {
	max-height: 100px;
	width: auto;
}

.site-header {
	padding-top: 8px;
	padding-bottom: 8px;
}

.main-navigation {
	margin-top: 4px;
	padding-top: 6px;
	padding-bottom: 6px;
}

.lvd-offer-pills {
	display: flex;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
	flex-wrap: wrap;
}

.lvd-offer-pill {
	font-size: 0.7rem;
	font-weight: 600;
	padding: 0.25rem 0.5rem;
	border-radius: 999px;
	line-height: 1;
	white-space: nowrap;
}

.lvd-offer-pill--type {
	background: #f5f5f5;
	color: #555;
	border: 1px solid #e5e5e5;
}

.lvd-offer-pill--highlight {
	background: #fff4cc;              /* soft gold */
	color: #8a6d00;
	border: 1px solid #f0d98c;
}

.lvd-offer-pill--highlight {
	box-shadow: inset 0 0 0 1px rgba(255,255,255,0.4);
}

.lvd-offer-pill--highlight {
	background: #fff7cc;
	border: 1px solid #f5c542;
	color: #7a5b00;
	font-weight: 600;
}

.lvd-offer-pill--hotel-tier {
	background: #f1f5f9;
	color: #0f172a;
	border: 1px solid #cbd5e1;
}

.lvd-offer-pill--family {
	background: #ecfdf5;
	color: #065f46;
	border: 1px solid #a7f3d0;
}

.lvd-offer-price-small {
	font-size: 0.85rem;
	font-weight: 500;
	color: #6b7280; /* neutral gray */
	margin: 0.25rem 0 0.5rem;
}

.lvd-inline-deal-highlight {
	color: #b45309; /* warm gold */
	font-weight: 600;
	margin-left: 0.25rem;
}

.lvd-inline-deal-price {
	color: #555;
	margin-left: 0.25rem;
}

.lvd-offer-mobile .lvd-offer-pill--highlight {
	display: inline-block;
	margin: 0.35rem 0 0.65rem;
}

/* Mobile content width – reduce double padding */
@media (max-width: 768px) {

	/* Main content container */
	.lvd-hotel-main-inner .inside-article {
		padding-left: 0;
		padding-right: 0;
	}

	/* Cards inside main content */
	.lvd-hotel-main-content .lvd-card {
		margin-left: -1rem;
		margin-right: -1rem;
		border-radius: 0;
	}

}

/* ----------------------------------------
   MOBILE — Footer spacing (FINAL)
---------------------------------------- */
@media (max-width: 768px) {

  /* Footer content padding */
  .lvd-site-footer .lvd-footer-inner.grid-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Remove sidebar → footer gap */
  .single-hotel .lvd-hotel-sidebar {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Remove GP content padding pushing footer down */
  .single-hotel #content,
  .single-hotel .site-content {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Gentle footer separation */
  .single-hotel .lvd-site-footer {
    margin-top: 0.5rem !important;
  }
}

/* =========================================================
   HOMEPAGE — VISUAL LOCKS (v1.0) — AUTHORITATIVE
   ========================================================= */

/* =========================================
   TOP DEALS — CARD SEPARATION
   ========================================= */

.lvd-home-top-deals .lvd-offer-item {
	background: #ffffff;
	border: 1.5px solid rgba(0,0,0,0.12);
	border-radius: 16px;
	box-shadow:
		0 8px 22px rgba(0,0,0,0.06),
		inset 0 0 0 1px rgba(255,255,255,0.6);
}

/* Prevent visual “melting” on mobile */
@media (max-width: 768px) {
	.lvd-home-top-deals .lvd-offer-item {
		margin-bottom: 1.5rem;
	}
}

/* =========================================
   HOTELS & ATTRACTIONS — GRID LOCK
   3 → 2 → 1 (Editorial Priority)
   ========================================= */

/* Desktop */
.lvd-home-hotels .lvd-hotel-grid,
.lvd-home-attractions .lvd-hotel-grid {
	grid-template-columns: repeat(3, 1fr);
}

/* Tablet */
@media (max-width: 1024px) {
	.lvd-home-hotels .lvd-hotel-grid,
	.lvd-home-attractions .lvd-hotel-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Mobile */
@media (max-width: 640px) {
	.lvd-home-hotels .lvd-hotel-grid,
	.lvd-home-attractions .lvd-hotel-grid {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   HOMEPAGE — TOP DEALS CORNER FIX (MOBILE)
   ========================================================= */

/* Ensure source band respects card rounding */
.lvd-home-top-deals .lvd-offer-item .lvd-offer-source {
	border-top-left-radius: 16px;
	border-top-right-radius: 16px;
}

/* ----------------------------------------
   SHOW HIGHLIGHTS
---------------------------------------- */

.lvd-show-highlights ul {
	list-style: none;        /* remove bullets */
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem 1.5rem;
}

.lvd-show-highlights li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	line-height: 1.5;
}

/* Mobile: single column */
@media (max-width: 768px) {
	.lvd-show-highlights ul {
		grid-template-columns: 1fr;
	}
}

/* ----------------------------------------
   Show Hiatus Notice
---------------------------------------- */

.lvd-notice--hiatus {
    margin: 1.5rem 0;
    padding: 1rem 1.25rem;
    border-left: 4px solid #f59e0b; /* amber */
    background: #fff7ed;
    color: #78350f;
    border-radius: 4px;
}

.lvd-notice--hiatus strong {
    display: block;
    margin-bottom: 0.25rem;
}

/* =========================================================
   ENTITY CARD — INTERNAL ALIASES (PHASE 1B BRIDGE)
   Do NOT remove until Phase 1B cleanup
   ========================================================= */

.lvd-entity-card {
	background: #fff;
	border: 1px solid var(--lvd-border-soft);
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.lvd-entity-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}

.lvd-entity-card .lvd-card-body {
	flex-grow: 1;
	padding: 1.25rem;
}

.lvd-entity-card .lvd-card-footer {
	margin-top: auto;
	padding: 1.25rem 1.5rem;
}

.lvd-entity-card p {
	margin: 0.25rem 0 0;
	font-size: 0.95rem;
	line-height: 1.45;
}

/* Image ratio enforcement */
.lvd-entity-card .lvd-card-thumb {
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.lvd-entity-card .lvd-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Las Vegas Deals page — add mobile side padding (page-id shown in your screenshot) */
@media (max-width: 768px) {

  body.page-id-2 .site-content,
  body.page-id-2 .site-content .site-grid-container,
  body.page-id-2 #primary,
  body.page-id-2 #main {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Prevent double-padding if GP is also padding inside-article */
  body.page-id-2 .inside-article {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* =========================================================
   SEARCH RESULTS — mobile horizontal padding fix
   Prevent edge-to-edge text on search pages
   ========================================================= */
@media (max-width: 768px) {

  body.search .site-content,
  body.search .content-area,
  body.search #primary,
  body.search .inside-article,
  body.search .entry-content {
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

}

/* =========================================================
   LOCATION FILTER SPACING — section-level only
   ========================================================= */

/* Space BETWEEN sections */
.lvd-filter-wrap > * {
	margin-bottom: 1.25rem;
}

/* Remove extra spacing between label and pills */
.lvd-pill-label {
	margin-bottom: 0.25rem;
	display: block;
}

.lvd-pill-row {
	margin-top: 0;
}

/* =========================================================
   PAGINATION — HORIZONTAL + CENTERED
   ========================================================= */

.lvd-pagination,
.nav-links,
.page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	margin: 2rem 0;
	padding: 0;
	list-style: none;
}

.page-numbers li {
	list-style: none;
}

.page-numbers a,
.page-numbers span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border-radius: 999px;
	border: 1px solid var(--lvd-border-soft);
	text-decoration: none;
	font-weight: 500;
}

.page-numbers .current {
	background: var(--lvd-gold);
	border-color: var(--lvd-gold);
	color: #000;
}

.lvd-amenity-pills .lvd-pill-current,
.lvd-amenity-pills .lvd-pill-current:hover,
.lvd-amenity-pills .lvd-pill-current:focus {
	background: #e2c063 !important;
	border-color: #d1a949 !important;
	color: #111 !important;
	font-weight: 600;
	box-shadow: 0 4px 10px rgba(209, 169, 73, 0.25);
	cursor: default;
}

/* ========================================
   PILLS — FORCE CURRENT STATE (ALL TAXONOMIES)
   ======================================== */

.lvd-pill.lvd-pill-current {
	background: #e2c063 !important;
	border-color: #d1a949 !important;
	color: #111 !important;
	font-weight: 600;
	box-shadow: 0 4px 10px rgba(209, 169, 73, 0.25);
	cursor: default;
	pointer-events: none;
}

/* =========================================================
   FAQ — REMOVE THEME-INJECTED SUMMARY ARROW (GENERATEPRESS)
   ========================================================= */

/* Kill any GP / theme arrow */
.lvd-faq-accordion summary::after {
	content: none !important;
	display: none !important;
}

.lvd-faq-chevron {
	display: inline-block;
}

.lvd-show-more-deals a {
	font-weight: 600;
}

/* ----------------------------------------
   Show / Filter Pills — No Underlines
---------------------------------------- */

.lvd-pill,
.lvd-pill:link,
.lvd-pill:visited {
	text-decoration: none;
}

.lvd-pill:hover,
.lvd-pill:focus {
	text-decoration: none;
}

/* ----------------------------------------
   Amenity Archive — FAQ Spacing
---------------------------------------- */

.lvd-card-faq {
    margin-top: 2.5rem;
}

/* ----------------------------------------
   Normalize audience badges inside offer pills
---------------------------------------- */

.lvd-offer-pills .lvd-entity-badge {
    font-size: 12px;
    line-height: 1;
    padding: 4px 10px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

/* Offer pills: audience variants (Top Deals) */
.lvd-offer-pill--family {
	background: #e7f8ef;
	color: #166534;
	border: 1px solid #bbf7d0;
}

.lvd-offer-pill--adult {
	background: #fff1f2;
	color: #9f1239;
	border: 1px solid #fecdd3;
}

/* ----------------------------------------
   Normalize pill sizing inside deals index
---------------------------------------- */

.lvd-offer-pills > span,
.lvd-offer-pills > div {
	display: inline-flex;
	align-items: center;
	height: 24px;
	line-height: 1;
	padding: 0 10px;
	font-size: 11px;
	border-radius: 999px;
}

/* ----------------------------------------
   Show Audience Pills (Single Show Only)
---------------------------------------- */

.lvd-audience-pill {
	display: inline-block;
	padding: 0.35rem 0.65rem;
	font-size: 0.75rem;
	font-weight: 600;
	border-radius: 999px;
	letter-spacing: 0.02em;
	line-height: 1;
}

.lvd-audience-pill--family {
	background: #e9f7ef;
	color: #137333;
	border: 1px solid #c6ebd8;
}

.lvd-audience-pill--adult {
	background: #fdecea;
	color: #b3261e;
	border: 1px solid #f5c2c0;
}

/* ----------------------------------------
   Location Archive: Tighten gap before FAQs
---------------------------------------- */

.lvd-location-archive .lvd-pagination {
	margin-bottom: 1rem;
}

.lvd-location-archive .lvd-card-faq {
	margin-top: 2.5rem;
}

@media (max-width: 768px) {
	.lvd-location-archive .lvd-card-faq {
		margin-top: 2rem;
	}
}

/* ----------------------------------------
   Archive filter padding fix (mobile)
---------------------------------------- */
@media (max-width: 768px) {

  /* Attractions */
  .lvd-location-archive .lvd-filter-wrap {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* Hotels */
  .lvd-hotel-archive .lvd-filter-wrap {
    padding-left: 1rem;
    padding-right: 1rem;
  }

}

/* Remove the native summary marker so we don't get "double chevrons" */
.lvd-faq-accordion summary::-webkit-details-marker { display: none; }
.lvd-faq-accordion summary::marker { content: ""; }

/* =========================================================
   BREADCRUMBS — SINGLE SOURCE OF TRUTH (LOCKED)
   ========================================================= */

.lvd-breadcrumb-wrapper {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1.5rem;
	margin-top: 0.75rem;
	margin-bottom: 1rem;
}

.lvd-breadcrumbs {
	font-size: 0.875rem;
	font-weight: 600;
	color: #555;
}

.lvd-breadcrumbs a {
	color: var(--lvd-gold);
	text-decoration: none;
}

.lvd-breadcrumbs a:hover {
	text-decoration: underline;
}

.lvd-breadcrumbs span {
	color: #555;
}

@media (max-width: 768px) {
	.lvd-breadcrumb-wrapper {
		padding: 0 1rem;
		margin-top: 0.5rem;
		margin-bottom: 0.75rem;
	}
}

/* Archives: remove the extra top padding so breadcrumb sits tight to H1 */
.post-type-archive-attraction .lvd-location-archive,
.post-type-archive-show .lvd-location-archive,
.post-type-archive-hotel .lvd-location-archive {
	padding-top: 0 !important;
}

/* =========================================================
   HOTEL ARCHIVE — REMOVE GP SITE-MAIN MARGIN
   (ALIGN WITH SHOWS + ATTRACTIONS)
   ========================================================= */

.post-type-archive-hotel main.site-main {
	margin-top: 0;
}

.lvd-primary-cta {
	display: inline-block;
	margin: 1rem 0 0.75rem;
	padding: 0.7rem 1.25rem;
	background: var(--lvd-accent, #1e73be);
	color: #fff;
	font-weight: 600;
	border-radius: 6px;
	text-decoration: none;
}

.lvd-primary-cta:hover {
	opacity: 0.9;
}

.lvd-anchor-target {
	display: block;
	position: relative;
	top: -80px; /* adjust for header height */
	visibility: hidden;
}

.lvd-hotel-hero-image {
  padding-right: clamp(0.75rem, 2vw, 1.5rem);
}

.lvd-show-type-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 8px; /* row gap | column gap */
	overflow-x: visible;
	padding-left: 0.75rem;
}

.lvd-site-footer {
  padding-top: 2rem;   /* instead of a big gap */
  padding-bottom: 2rem;
}

.lvd-site-footer a {
  font-size: 0.95rem;
  opacity: 0.85;
}

.lvd-site-footer h4 {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

/* Homepage hotel cards — visual separation */
.lvd-hotel-card-v2 {
	background: #fff;
	border: 2px solid #e7e2d8; /* warm neutral, not gray */
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

/* Slight depth so cards don’t flatten together */
.lvd-hotel-card-v2 {
	box-shadow: 0 8px 22px rgba(0,0,0,0.06);
}

/* Tighten transition from last section to footer */
.lvd-home-section:last-of-type {
	padding-bottom: 0;
	margin-bottom: 0;
}

/* Reduce perceived gap above footer */
.lvd-site-footer {
	margin-top: 0;
}

@media (max-width: 768px) {
	.lvd-site-footer {
		padding-top: 2rem;
	}
}

/* =====================================================
   HERO PILLS — GLOBAL NORMALIZATION (LOCKED)
   ===================================================== */

.lvd-hero-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0 8px;
}

.lvd-hero-pills .lvd-pill,
.lvd-hero-pills .lvd-location-pill,
.lvd-hero-pills span {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	font-size: 13px;
	font-weight: 500;
	line-height: 1;

	padding: 6px 12px;
	border-radius: 999px;

	white-space: nowrap;
}

/* Optional: tighten visually loud pills */
.lvd-hero-pills .lvd-pill--free {
	font-weight: 600;
}

/* Indoor / Outdoor / Setting pill */
.lvd-hero-pills .lvd-pill--setting {
	background: #f3f4f6;
	color: #374151;
	border: 1px solid #e5e7eb;
}

/* Family-friendly / audience */
.lvd-hero-pills .lvd-pill--family,
.lvd-hero-pills .lvd-pill--audience {
	font-weight: 500;
}

@media (max-width: 640px) {
	.lvd-offer-featured {
		display: none;
	}
}

/* Mobile-first */
.lvd-special-rates-mobile {
	display: block;
}

.lvd-sidebar-special-rates {
	display: none;
}

/* Desktop */
@media (min-width: 1024px) {
	.lvd-special-rates-mobile {
		display: none;
	}

	.lvd-sidebar-special-rates {
		display: block;
	}
}

/* Mobile Special Rates spacing fix */
.lvd-special-rates-mobile {
	padding-left: 0;
	padding-right: 0;
}

.lvd-special-rates-mobile .grid-container {
	padding-left: 2.5rem;
	padding-right: 1rem;
}

/* Single Venue — align section title with grid */
.single-venue .lvd-venue-shows .lvd-grid-title {
    padding-left: var(--lvd-grid-gap, 1rem);
    padding-right: var(--lvd-grid-gap, 1rem);
}

/* Las Vegas Guides – remove boxed page header */
.category-las-vegas-guides .page-header {
	background: none;
	padding: 0;
	margin-bottom: 2.5rem;
	border: none;
}

/* Las Vegas Guides – section spacing */
.category-las-vegas-guides .lvd-guides-section {
	margin-top: 3.5rem;
}

/* Section headings */
.category-las-vegas-guides .lvd-guides-heading {
	margin-bottom: 0.5rem;
}

/* Section intro text */
.category-las-vegas-guides .lvd-guides-intro {
	margin-bottom: 1.5rem;
	color: #666;
}

/* Indent article lists to create hierarchy */
.category-las-vegas-guides .lvd-guides-list {
	margin-left: 1.25rem;
}

/* Individual guide items */
.category-las-vegas-guides .lvd-guide-item {
	margin-bottom: 1.75rem;
}

/* Subtle excerpt de-emphasis */
.category-las-vegas-guides .lvd-guide-excerpt {
	margin-top: 0.35rem;
	color: #555;
	font-size: 0.95em;
}

/* Guides index – slightly reduce article title size */
.category-las-vegas-guides .lvd-guide-title {
	font-size: 1.1em;
	line-height: 1.35;
}

/* Slightly more breathing room between guide items */
.category-las-vegas-guides .lvd-guide-item {
	margin-bottom: 2rem;
}

@media (max-width: 768px) {

	.category-las-vegas-guides .page-header {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	.category-las-vegas-guides .lvd-guides-section {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

}

/* Global Promo — Homepage Hero */
.lvd-global-promo {
	margin-top: 1.75rem;
	margin-bottom: 0.75rem;
	padding: 0.65rem 1rem;

	background: linear-gradient(
		135deg,
		#4f565d 0%,
		#5c636a 100%
	);

	border-radius: 10px;
	border-left: 4px solid #f4c430;
	box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

.lvd-global-promo__inner {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.lvd-global-promo__headline {
	font-weight: 600;
	font-size: 1.05rem; /* ⬆ larger */
	color: #ffffff;
	white-space: nowrap;
}

.lvd-global-promo__description {
	margin: 0;
	font-size: 0.95rem; /* ⬆ larger */
	color: #f0f0f0;
	flex: 1;
	line-height: 1.4;
}

.lvd-global-promo__cta {
	background: #f4c430;
	color: #111;
	font-weight: 600;
	font-size: 0.95rem;
	padding: 0.5rem 0.95rem;
	border-radius: 6px;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.2s ease;
}

.lvd-global-promo__cta:hover {
	background: #e2b21f;
}

@media (max-width: 640px) {
	.lvd-global-promo__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.lvd-global-promo__cta {
		margin-top: 0.5rem;
	}
}

/* Deals page — reduce top spacing above global promo (desktop only) */
@media (min-width: 768px) {

	.lvd-deals-index {
		padding-top: 1rem; /* was much larger */
	}

	.lvd-deals-index .lvd-global-promo {
		margin-top: 0;
	}
}