/* =========================================================
   Laugh & Gear / Beaver Builder Theme Customizer CSS
   Optimized master stylesheet
========================================================= */

/* =========================================================
   DESIGN TOKENS
========================================================= */
:root {
  --lg-blue: #253C78;
  --lg-blue-2: #2B59C3;
  --lg-pink: #D36582;
  --lg-pink-dark: #C4586E;
  --lg-pink-light: #FADADD;
  --lg-cream: #FFEECF;
  --lg-cream-light: #FFFAF1;
  --lg-blue-light: #E9F0FC;
  --lg-blush-bg: #FFF4F6;
  --lg-blue-soft: hsl(222, 73%, 95%);
  --lg-text: #333333;
  --lg-text-dark: #112337;
  --lg-white: #ffffff;
  --lg-border-soft: rgba(37, 60, 120, 0.12);
  --lg-border-soft-2: rgba(37, 60, 120, 0.08);
  --lg-shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.05);
  --lg-shadow-md: 0 8px 24px rgba(37, 60, 120, 0.10);
  --lg-shadow-lg: 0 14px 34px rgba(37, 60, 120, 0.12);
  --lg-radius-sm: 8px;
  --lg-radius-md: 12px;
  --lg-radius-lg: 16px;
  --lg-radius-xl: 18px;
  --lg-transition: all 0.25s ease;
}

/* =========================================================
   UTILITIES
========================================================= */
.red-background { background-color: var(--lg-pink); color: var(--lg-white); }
.white-background { background-color: var(--lg-white); }
.light-blue { background-color: var(--lg-blue-soft); }
.yale-blue-back,
.dark-background { background-color: var(--lg-blue); color: var(--lg-white); }
.light-pink-background { background-color:  var(--lg-pink-light);}
.light-cream-background { background-color:  var(--lg-cream-light);}

.dark-background a {
  color: var(--lg-white);
  font-size: 14px;
  margin: 0 auto !important;
  padding: 0 !important;
}
.dark-background a:hover { color: var(--lg-blue-light); }

.centered-row,
.center-row,
.header-row,
.items-box {
  text-align: center;
}

.tight-content-660,
.tight-content-800,
.tight-content-900 {
  margin: 0 auto;
}
.tight-content-660 { max-width: 660px; }
.tight-content-800 { max-width: 800px; }
.tight-content-900 { max-width: 900px; }

.top-index { z-index: 9999 !important; }

.smaller-font {
  font-size: 16px !important;
  color: var(--lg-pink) !important;
  margin: 0 auto !important;
}

.center-elements { margin: 0 auto; }
.fl-post-header { display: none; }

.top-hero-row-main .fl-row-content-wrap { padding: 5% 5% 180px; }
.top-hero-row-blog .fl-row-content-wrap { padding: 5%; }
.over-header .fl-row-content-wrap { padding: 10px 0 5px !important; }
.limonade-row-80 .fl-row-content-wrap { padding: 80px 20px; margin: 0 auto; }
.limonade-row-100 .fl-row-content-wrap { padding: 100px 20px; margin: 0 auto; }

.first-image-post { margin-top: -120px; }

.social-proof-area h3,
.faq-section h3,
.no-bullet-list h3,
.rides-list h3,
.dining-tip-box h3,
.private-chef-included h3 {
  color: var(--lg-pink) !important;
}

/* Language visibility */
.show-only-en,
.show-only-es {
  display: inherit;
}
html[lang*="es"] .show-only-en,
html[lang="es-ES"] .english-sub-footer {
  display: none !important;
}
html[lang*="en"] .show-only-es {
  display: none !important;
}

.travel-cost-note {
  margin-top: 26px;
}

.travel-cost-note .fl-module-content {
  margin: 0;
}

.travel-cost-note .uabb-module-content {
  background: #f6f8ff;
  border: 1px solid #dce4fb;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(37, 60, 120, 0.05);
  padding: 22px 18px;
}

.travel-cost-note .uabb-infobox-title-prefix,
.travel-cost-note .uabb-infobox-title-prefix * {
  color: var(--lg-blue);
  font-size: 24px;
  line-height: 1.25;
  font-weight: 700;
  margin: 0 0 12px;
}

.travel-cost-note .uabb-infobox-text {
  color: #2f3552;
  font-size: 17px;
  line-height: 1.7;
}

.travel-cost-note .uabb-infobox-text p {
  margin: 0 0 12px;
}

.travel-cost-note .uabb-infobox-cta-link {
  display: inline-block;
  margin-top: 4px;
  font-weight: 700;
  color: var(--lg-blue);
  text-decoration: none;
}

.travel-cost-note .uabb-infobox-cta-link:hover {
  color: #d36582;
  text-decoration: underline;
}

/* =========================================================
   TYPOGRAPHY / CONTENT BLOCKS
========================================================= */
.hero-row-title {
  font-size: 30px;
  text-align: left;
}

.header-row p {
  font-size: 24px;
}

.hero-row-description {
  font-size: 20px;
  text-align: left;
}

.hero-row-blog-post {
  padding-bottom: 40px;
  background-color: var(--lg-blue-soft);
}

.hero-row-blog-post .intro-paragraph h1 { font-size: 30px; }
.hero-row-blog-main-title-center h2 { font-size: 24px; }
.hero-row-blog-main-title-center .row-description { font-size: 16px; }

.header-row { font-size: 24px !important; }
.header-row h2 { font-size: 36px; }

.laugh-main-archive-header .uabb-infobox-title { font-size: 24px; }
.laugh-main-archive-header .uabb-infobox-content { font-size: 18px; }

.laugh-bio-box .uabb-infobox-title,
.laugh-bio-box .uabb-infobox-content {
  font-size: 16px;
}

.pp-authorbox-author-name-span::before {
  content: "By";
  font-weight: 400;
  margin-right: 5px;
}

.hero-subheadline {
  font-size: 24px !important;
  color: #ffeecf !important;
  margin-bottom: 10px;
}

.hero-subheadline .highlight {
  font-weight: 600;
}
.hero-description {
  font-size: 18px;
  color: #ffffff;
  max-width: 600px;
  line-height: 1.6;
}


/* =========================================================
   GRID / LAYOUT HELPERS
========================================================= */
.row-after-hero-main .fl-col-group {
  margin-left: -10px;
  margin-right: -10px;
}

.row-after-hero-main .fl-col-group > .fl-col {
  padding-left: 10px;
  padding-right: 10px;
}

.pp-content-post-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.pp-content-post-grid > *:nth-child(4):last-child {
  grid-column: 2 / span 1;
}

.gear-list,
.whatnot-cta {
  max-width: 760px;
  margin: 0 auto;
  padding: 10px 50px;
}

.call-to-action-row .lg-infobox {
  min-height: 350px;
}

/* =========================================================
   BUTTONS
========================================================= */
.laughgear-btn,
.laughgear-btn-1,
.laughgear-btn-2,
.laughgear-btn-clean-1,
.laughgear-btn-clean-2,
.laughgear-btn-alt-1,
.laughgear-btn-alt-2 {
  display: inline-block;
  min-height: 50px;
  padding: 12px 20px;
  border-radius: var(--lg-radius-sm);
  text-align: center;
  text-decoration: none !important;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  transition: var(--lg-transition);
}

.laughgear-btn,
.laughgear-btn-1,
.laughgear-btn-clean-1 {
  color: var(--lg-blue) !important;
  background-color: var(--lg-white) !important;
  border: 2px solid var(--lg-blue) !important;
}
.laughgear-btn:hover,
.laughgear-btn-1:hover,
.laughgear-btn-clean-1:hover {
  color: var(--lg-pink) !important;
  border-color: var(--lg-pink) !important;
}

.laughgear-btn-2,
.laughgear-btn-clean-2 {
  color: var(--lg-pink) !important;
  background-color: var(--lg-white) !important;
  border: 2px solid var(--lg-pink) !important;
}
.laughgear-btn-2:hover,
.laughgear-btn-clean-2:hover {
  color: var(--lg-blue) !important;
  border-color: var(--lg-blue) !important;
}

.laughgear-btn-alt-1 {
  color: var(--lg-white) !important;
  border: 2px solid var(--lg-white) !important;
  background: transparent !important;
}
.laughgear-btn-alt-1:hover {
  color: var(--lg-pink) !important;
  border-color: var(--lg-pink) !important;
  background-color: rgba(211, 101, 130, 0.10) !important;
}

.laughgear-btn-alt-2 {
  color: var(--lg-pink-light) !important;
  border: 2px solid var(--lg-pink-light) !important;
  background: transparent !important;
}
.laughgear-btn-alt-2:hover {
  color: var(--lg-white) !important;
  border-color: var(--lg-white) !important;
  background-color: rgba(37, 60, 120, 0.05) !important;
}

.laughgear-btn:active,
.laughgear-btn-1:active,
.laughgear-btn-2:active,
.laughgear-btn-clean-1:active,
.laughgear-btn-clean-2:active,
.laughgear-btn-alt-1:active,
.laughgear-btn-alt-2:active {
  transform: scale(0.98);
}

/* Legacy FL button */
a.fl-button {
  display: inline-block;
  color: #1d3557 !important;
  font-size: 20px !important;
  background-color: #2be0e0 !important;
  padding: 25px 40px !important;
  border: none !important;
  border-radius: 5px !important;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  transition: var(--lg-transition) !important;
}
a.fl-button:hover {
  color: var(--lg-white) !important;
  background-color: #4c8c67 !important;
}

/* Smaller blog buttons */
.blog-main-buttons .laughgear-btn-1,
.blog-main-buttons .laughgear-btn-2 {
  width: 120px !important;
  min-height: 10px !important;
  padding: 8px 12px !important;
  margin: 0 auto !important;
  font-size: 16px !important;
  font-weight: 400 !important;
}

/* UABB button variation */
.laughgear-btn-1 .uabb-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 400px;
  max-width: 100%;
  min-height: 50px;
  padding: 12px 20px;
  border-radius: var(--lg-radius-sm);
  border: 2px solid #2be0e0;
  background-color: var(--lg-white);
  color: #000;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: var(--lg-transition);
}

.laughgear-btn-1 .uabb-button:hover,
.laughgear-btn-1 .uabb-button-link:hover {
  background-color: #2be0e0;
  color: var(--lg-white);
  box-shadow: 0 0 0 3px rgba(43, 224, 224, 0.25);
}

.laughgear-btn-1 .uabb-button:active,
.laughgear-btn-1 .uabb-button-link:active {
  transform: scale(0.98);
}

/* CTA buttons */
.cta-button,
.modal-button-cta,
.youtube-cta-button,
.youtube-modal-button-cta {
  color: var(--lg-white) !important;
}

.cta-button .uabb-button-text,
.modal-button-cta .uabb-button-text,
.youtube-cta-button .uabb-button-text,
.youtube-modal-button-cta .uabb-button-text,
.pp-grid-load-more-button {
  color: var(--lg-white) !important;
}

.uabb-creative-button.cta-button,
.modal-button-cta .uabb-creative-button,
.pp-grid-load-more-button {
  display: block;
  max-width: 340px;
  margin: 20px auto;
  padding: 15px 20px;
  border-radius: 50px !important;
  background-color: var(--lg-blue-2) !important;
  color: var(--lg-white) !important;
  font-weight: 600;
  text-decoration: none;
  transition: var(--lg-transition);
}
.uabb-creative-button.cta-button:hover,
.modal-button-cta .uabb-creative-button:hover,
.pp-grid-load-more-button:hover {
  background-color: var(--lg-blue) !important;
  transform: translateY(-2px);
}

.uabb-creative-button.youtube-cta-button,
.youtube-modal-button-cta .uabb-creative-button {
  display: block;
  max-width: 340px;
  margin: 20px auto;
  padding: 15px 20px;
  border-radius: 50px !important;
  background-color: #FF0000 !important;
  color: var(--lg-white) !important;
  font-weight: 600;
  text-decoration: none;
  transition: var(--lg-transition);
}
.uabb-creative-button.youtube-cta-button:hover,
.youtube-modal-button-cta .uabb-creative-button:hover {
  background-color: #CC0000 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}

/* 2026 primary CTA */
a.uabb-button.laughgear-btn-2026,
.uabb-button.laughgear-btn-2026,
a.laughgear-btn-2026 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px 44px !important;
  border: none !important;
  border-radius: 18px !important;
  background: #D16A7F !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
  transition: var(--lg-transition) !important;
}

a.uabb-button.laughgear-btn-2026 .uabb-button-text,
.uabb-button.laughgear-btn-2026 .uabb-button-text {
  color: var(--lg-white) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px !important;
  line-height: 1 !important;
}

a.uabb-button.laughgear-btn-2026.smaller-version .uabb-button-text,
.uabb-button.laughgear-btn-2026.smaller-version .uabb-button-text {
	font-size: 18px !important;
}

a.uabb-button.laughgear-btn-2026:hover,
.uabb-button.laughgear-btn-2026:hover {
  background: var(--lg-pink-dark) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22) !important;
}

a.uabb-button.laughgear-btn-2026:focus,
a.uabb-button.laughgear-btn-2026:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(43, 89, 195, 0.35), 0 10px 24px rgba(0, 0, 0, 0.18) !important;
}

/* Left aligned UABB wrapper */
.uabb-module-content.laughgear-btn-left,
.uabb-module-content.laughgear-btn-left .uabb-button-wrap,
.uabb-module-content.laughgear-btn-left .uabb-creative-button-wrap {
  display: flex !important;
  justify-content: flex-start !important;
  text-align: left !important;
}
.uabb-module-content.laughgear-btn-left a.uabb-button.laughgear-btn-2026 {
  margin-left: 0 !important;
  margin-right: auto !important;
}

.lg-highlight-resort-section {
  padding: 20px;
  margin: 0 auto;
  font-family: 'Segoe UI', sans-serif;
  color: var(--lg-blue); /* Yale Blue */
}

.lg-highlight-resort-section h2 {
  font-size: 32px;
  color: var(--lg-blue-2); /* Tang Blue */
  margin-bottom: 30px;
}

.lg-highlight-resort-section p {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 20px;
}

.lg-highlight-resort-section ul {
  list-style: none;
  padding-left: 0;
  margin-top: 20px;
}

.lg-highlight-resort-section ul li {
  margin-bottom: 12px;
  font-size: 18px;
  line-height: 1.5;
}

.resort-info-box .uabb-infobox-title {
	color: var(--lg-pink);
	font-size: 22px;
}

.resort-info-box .uabb-photo-img {
	max-width: 230px !important;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
  display: block;
}


/* ========================================
   FEATURED POSTS → LG CARD SYSTEM
======================================== */

.lg-featured-posts-card .pp-content-post {
  background: #ffffff;
  border: 1px solid var(--lg-border-soft);
  border-radius: var(--lg-radius-md);
  box-shadow: var(--lg-shadow-md);
  overflow: hidden;
  transition: var(--lg-transition);
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Hover effect (subtle lift like your system) */
.lg-featured-posts-card .pp-content-post:hover {
  transform: translateY(-4px);
  box-shadow: var(--lg-shadow-lg);
}

/* ========================================
   IMAGE → MATCH lg-img-cover
======================================== */

.lg-featured-posts-card .pp-post-featured-img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
}

/* Remove weird spacing wrappers */
.lg-featured-posts-card .pp-content-grid-image {
  margin: 0;
}

/* ========================================
   CONTENT AREA
======================================== */

.lg-featured-posts-card .pp-content-grid-inner {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* Title styling */
.lg-featured-posts-card .pp-post-title {
  font-size: 18px;
  line-height: 1.3;
  color: var(--lg-text-dark);
  margin: 0;
}

/* Optional: clamp title so cards stay clean */
.lg-featured-posts-card .pp-post-title {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ========================================
   CLICKABLE CARD
======================================== */

/* Make entire card clickable */
.lg-featured-posts-card .pp-post-link {
  position: absolute;
  inset: 0;
  z-index: 2;
}

/* Ensure content sits above background but below link */
.lg-featured-posts-card .pp-content-post {
  position: relative;
}

/* ========================================
   GRID SPACING FIXES
======================================== */

.lg-featured-posts-card .pp-content-posts {
  gap: 30px !important;
}

/* Fix equal height issues */
.lg-featured-posts-card .pp-content-post {
  display: flex;
}

/* =========================================================
   INFO / CTA BOXES
========================================================= */
.laughgear-tip-box,
.laughgear-insider-box,
.laughgear-warning-box,
.update-box,
.dining-tip-box,
.lg-guest-highlight,
.cta-box-inside,
.laughgear-cta-box,
.lg-tip-highlight,
.lg-save-box,
.lg-important-note,
.quick-answer-lg,
.summary-intro-text,
.cost-card,
.book-trip-cta {
  border-radius: var(--lg-radius-md);
  margin: 30px 0;
  color: var(--lg-text);
}

.laughgear-tip-box {
  background-color: #f0f4fb;
  border-left: 4px solid var(--lg-blue);
  padding: 18px 22px;
  font-size: 18px;
  line-height: 1.65;
  box-shadow: var(--lg-shadow-sm);
}
.laughgear-tip-box.white-background { background-color: var(--lg-white); }
.tip-label { color: var(--lg-blue); font-weight: 700; margin-right: 4px; }

.laughgear-insider-box {
  background-color: var(--lg-cream);
  border-left: 4px solid var(--lg-pink);
  padding: 18px 22px;
  font-size: 18px;
  line-height: 1.65;
  box-shadow: var(--lg-shadow-sm);
}
.insider-label { color: var(--lg-pink); font-weight: 700; margin-right: 4px; }

.laughgear-warning-box {
  background-color: transparent;
  border: 2px solid var(--lg-pink);
  padding: 20px 24px;
  font-size: 17px;
  line-height: 1.65;
}

.laughgear-warning-box p {
  margin: 0 0 10px;
}

.laughgear-warning-box p:last-child {
  margin-bottom: 0;
}

.laughgear-warning-box a {
  color: var(--lg-blue);
  font-weight: 600;
}

.laughgear-warning-box a:hover {
  color: #d36582;
}
.sub-hero-quick-answer {
  background: #ffffff;
  border: 1px solid rgba(37, 60, 120, 0.10);
  border-left: 5px solid #d8738d;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(0,0,0,0.06);
  padding: 24px;
  max-width: 1100px;
  margin: -74px auto 30px;
}

.sub-hero-quick-answer .uabb-infobox {
  min-height: auto !important;
}

.sub-hero-quick-answer .uabb-infobox-title-prefix {
  color: #d8738d !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 10px !important;
  line-height: 1.2;
}

.sub-hero-quick-answer .uabb-infobox-title {
  color: #24438f !important;
  font-size: 30px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  margin: 0 0 16px !important;
}

.sub-hero-quick-answer .uabb-infobox-text,
.sub-hero-quick-answer .uabb-infobox-text p {
  color: #23304a !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  margin: 0 0 14px !important;
  max-width: 720px;
}

.sub-hero-quick-answer .uabb-button-wrap,
.sub-hero-quick-answer .uabb-creative-button-wrap {
  margin-top: 18px !important;
  text-align: left !important;
}

.sub-hero-quick-answer .uabb-button,
.sub-hero-quick-answer .uabb-creative-button {
  display: inline-block !important;
  background: #d8738d !important;
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 14px 24px !important;
  border-radius: 8px !important;
  border: none !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  transition: all 0.25s ease;
}

.sub-hero-quick-answer .uabb-button:hover,
.sub-hero-quick-answer .uabb-creative-button:hover {
  background: #c4586e !important;
  color: #ffffff !important;
  transform: translateY(-2px);
}

.sub-hero-quick-answer .uabb-button-text {
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

.warning-label {
  color: var(--lg-pink);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
  display: inline-block;
  margin-bottom: 8px;
}

.quick-answer-lg {
  background: #FFF7FB;
  border-left: 5px solid var(--lg-pink);
  padding: 18px 22px;
  max-width: 820px;
  margin: 30px auto;
}
.quick-answer-lg .uabb-infobox-title {
  color: var(--lg-blue);
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
}
.quick-answer-lg .uabb-infobox-text {
  font-size: 16px;
  line-height: 1.65;
  color: var(--lg-text);
}

.quick-tips-lg {
  background: linear-gradient(135deg, #FFF7FB 0%, #FFEECF 100%);
  border-left: 5px solid var(--lg-pink);
  border-radius: var(--lg-radius-lg);
  padding: 24px 24px 20px;
  margin: 32px auto;
  max-width: 820px;
  box-shadow: var(--lg-shadow-md);
  position: relative;
  overflow: hidden;
}
.quick-tips-lg::before,
.quick-tips-lg .uabb-imgicon-wrap,
.quick-tips-lg .uabb-infobox-icon-wrap,
.quick-tips-lg .uabb-icon,
.quick-tips-lg .uabb-infobox-icon {
  display: none !important;
}
.quick-tips-lg .uabb-infobox-title,
.quick-tips-lg h2,
.quick-tips-lg h3 {
  color: var(--lg-blue);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 16px;
}
.quick-tips-lg .uabb-infobox-title-wrap,
.quick-tips-lg .uabb-infobox-text-wrap,
.quick-tips-lg .uabb-infobox-text {
  text-align: left !important;
}
.quick-tips-lg .uabb-infobox-text,
.quick-tips-lg .uabb-infobox-text p,
.quick-tips-lg .uabb-infobox-text li {
  color: var(--lg-text);
  font-size: 17px;
  line-height: 1.7;
}
.quick-tips-lg ul {
  list-style: none;
  padding-left: 0;
  margin-top: 24px;
}
.quick-tips-lg li {
  position: relative;
  padding-left: 42px;
  margin-bottom: 16px;
  line-height: 1.65;
}
.quick-tips-lg li::before {
  content: "\f058";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0.18em;
  color: var(--lg-blue);
  font-size: 22px;
}
.quick-tips-lg strong { color: var(--lg-blue); }
.quick-tips-lg a {
  color: var(--lg-blue-2);
  font-weight: 600;
  text-decoration: underline;
}
.quick-tips-lg a:hover { color: var(--lg-pink); }

.update-box {
  background-color: var(--lg-blue-light);
  border-left: 5px solid var(--lg-blue-2);
  padding: 20px 22px;
  color: var(--lg-blue);
}
.update-box .uabb-infobox-title {
  color: var(--lg-blue-2);
  margin-top: 0;
  font-size: 20px;
}
.update-box strong { color: var(--lg-pink) !important; }

.dining-tip-box {
  background-color: var(--lg-cream);
  border-left: 5px solid var(--lg-pink);
  padding: 18px 22px;
  box-shadow: var(--lg-shadow-sm);
}
.dining-tip-box strong { color: var(--lg-blue); }

.book-trip-cta {
  background: linear-gradient(180deg, var(--lg-blue-soft) 0%, var(--lg-white) 100%);
  color: var(--lg-blue);
  padding: 36px 28px;
  text-align: center;
  max-width: 860px;
  margin: 50px auto;
  border: 1px solid rgba(43, 89, 195, 0.15);
  border-left: 6px solid var(--lg-blue-2);
  border-radius: 20px;
  box-shadow: var(--lg-shadow-lg);
}
.book-trip-cta h2 {
  font-weight: 800;
  font-size: 34px;
  line-height: 1.15;
  color: var(--lg-blue);
  margin-bottom: 16px;
}
.book-trip-cta p {
  max-width: 720px;
  margin: 14px auto;
  font-size: 18px;
  line-height: 1.7;
}
.book-trip-cta strong { color: var(--lg-blue-2); }
.book-trip-cta .no-cost {
  display: inline-block;
  margin-top: 12px;
  padding: 8px 14px;
  background: rgba(211, 101, 130, 0.12);
  border-radius: 999px;
  color: var(--lg-pink) !important;
  font-weight: 700;
}

.lg-guest-highlight,
.laughgear-cta-box {
  background-color: var(--lg-cream);
  border-left: 5px solid var(--lg-pink);
  padding: 18px 22px;
}
.lg-guest-highlight strong,
.lg-tip-highlight strong,
.lg-save-box .uabb-infobox-title,
.cost-card h3 {
  color: var(--lg-blue);
}

.cta-box-inside {
  background-color: var(--lg-blue-light);
  border-left: 5px solid var(--lg-blue-2);
  padding: 20px 22px;
}
.cta-box-inside.white-background { background-color: var(--lg-white); }
.cta-box-inside h3 {
  color: var(--lg-blue);
  margin-top: 0;
}
.cta-box-inside a {
  display: inline-block;
  background-color: var(--lg-blue-2);
  color: var(--lg-white);
  padding: 12px 20px;
  margin-top: 10px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 600;
}
.cta-box-inside a:hover {
  background-color: #1f3f96;
  color: var(--lg-white) !important;
}

.lg-tip-highlight {
  background-color: #f4f8fd;
  border-left: 4px solid var(--lg-blue-2);
  padding: 16px 20px;
  font-size: 18px;
  line-height: 1.6;
}

.lg-save-box {
  background-color: transparent;
  border-left: 3px solid var(--lg-blue-2);
  padding: 20px 24px;
  font-size: 18px;
  line-height: 1.7;
  border-radius: 0;
}
.lg-save-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 20px;
}
.lg-save-box ul li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 12px;
}
.lg-save-box ul li::before {
  content: "✔️";
  position: absolute;
  left: 0;
  top: 0;
}

.lg-important-note {
  background-color: #fff3cd;
  border: 4px solid var(--lg-pink);
  padding: 28px;
  font-size: 20px;
  line-height: 1.5;
}
.lg-important-note h3 {
  text-align: center;
  font-size: 30px;
  font-weight: 700;
}

.summary-intro-text,
.cost-card {
  background-color: #fff4e3;
  border-left: 4px solid var(--lg-blue-2);
  padding: 20px;
  font-size: 16px;
  color: var(--lg-text-dark);
}


.intro-strip-row {
  margin-top: -74px;
  position: relative;
  z-index: 3;
}

.intro-strip-row-alt {
  position: relative;
  z-index: 3;
  background-color: var(--lg-blue-soft);
}


.intro-box-row {
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 14px 32px rgba(33, 58, 122, 0.10);
  padding: 28px;
  margin-left: -10px;
  margin-right: -10px;
}

.space-column {
  padding-left: 10px;
  padding-right: 10px;
  box-sizing: border-box;
}

.intro-stat-module {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
  border: 1px solid #dbe4f2;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 6px 16px rgba(33, 58, 122, 0.05);
  height: 100%;
}

.intro-box-row .fl-col {
  margin-bottom: 20px;
}

.intro-box-row .fl-col-content {
  height: 100%;
  padding-left: 10px;
  padding-right: 10px;
}

.intro-box-row .fl-row-content-wrap {
  margin-left: -10px;
  margin-right: -10px;
}

.intro-stat-module .uabb-infobox-title,
.intro-stat-module .fl-heading {
  color: #213a7a;
  font-size: 24px;
  line-height: 1.3;
  font-weight: 700;
  margin-bottom: 8px;
}

.intro-stat-module .uabb-infobox {

  min-height: 170px;
}

.intro-stat-module .uabb-infobox-text,
.intro-stat-module .uabb-infobox-text p,
.intro-stat-module .uabb-text-editor,
.intro-stat-module .uabb-text-editor p {
  color: #617089;
  font-size: 18px;
  line-height: 1.65;
  margin: 0;
}

.intro-stat-module .uabb-module-content,
.intro-stat-module .uabb-infobox-content {
  height: 100%;
}




/* =========================================================
   PRIVATE CHEF / MENU / SERVICE SECTIONS
========================================================= */
.private-chef-included {
  background: var(--lg-white);
  padding: 30px;
  border-radius: var(--lg-radius-lg);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

/* Title */
.private-chef-included h4 {
  font-size: 26px;
  margin-bottom: 20px;
  color: var(--lg-blue);
  line-height: 1.2;
}

/* List reset */
.private-chef-included ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* List items */
.private-chef-included li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 16px;
  line-height: 1.6;
}

.private-chef-included li:last-child {
  margin-bottom: 0;
}

/* Icon */
.private-chef-included li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  color: var(--lg-pink);
  font-size: 16px;
  line-height: 1;
}

/* Closing text */
.private-chef-included .chef-close {
  margin-top: 10px;
  font-size: 18px;
  font-weight: 600;
  color: var(--lg-blue);
  line-height: 1.5;
}

.food-menu-center .uabb-infobox-title-prefix,
.food-menu-center .uabb-infobox-title,
.food-menu-center .uabb-infobox-content,
.private-chef-menu,
.private-chef-menu .uabb-infobox-title-prefix,
.private-chef-menu .uabb-infobox-title,
.private-chef-menu .uabb-infobox-content {
  text-align: center;
}

.private-chef-menu {
  max-width: 760px;
  margin: 0 auto;
  padding: 80px 30px;
}
.private-chef-menu .uabb-infobox-title,
.private-chef-menu .uabb-infobox-text h3 {
  margin-top: 50px !important;
  letter-spacing: 1px;
}
.private-chef-menu .uabb-infobox-content ul {
  list-style: none;
  padding: 0;
  margin: 40px 0 0;
}
.private-chef-menu .uabb-infobox-content ul li {
  display: block;
  position: relative;
  margin: 30px 0;
  font-size: 20px;
  line-height: 1.8;
  color: #2b2b2b;
}
.private-chef-menu .uabb-infobox-content ul li:not(:last-child)::after {
  content: "";
  display: block;
  width: 50px;
  height: 1px;
  background: rgba(0, 0, 0, 0.08);
  margin: 22px auto 0;
}
.private-chef-menu .uabb-infobox-content ul li strong {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 600;
  color: var(--lg-blue);
  margin-bottom: 8px;
}
.private-chef-menu .uabb-infobox-content ul li::before {
  content: none !important;
}

/* =========================================================
   HOW IT WORKS
========================================================= */
.lg-how-it-works {
  margin: 60px auto;
  padding: 30px 20px;
  text-align: center;
}
.lg-how-it-works h2 {
  color: var(--lg-blue);
  font-size: 30px;
  margin-bottom: 24px;
}
.lg-steps {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 760px;
}
.lg-how-step {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 14px;
  align-items: start;
  text-align: left;
  padding: 18px 16px;
  margin: 14px 0;
  background: var(--lg-white);
  border: 1px solid var(--lg-blue-light);
  border-left: 6px solid var(--lg-blue-2);
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(37, 60, 120, 0.08);
}
.lg-how-step-icon {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  background: var(--lg-blue-light);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--lg-blue);
  font-size: 20px;
}
.lg-how-step-title {
  display: block;
  font-weight: 700;
  color: var(--lg-blue);
  font-size: 18px;
  line-height: 1.3;
  margin-bottom: 4px;
}
.lg-how-step-note {
  display: block;
  color: var(--lg-text);
  font-size: 16px;
  line-height: 1.5;
}
.lg-how-cta {
  margin-top: 26px;
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.lg-how-step:last-child {
  border-left-color: var(--lg-pink);
}
.lg-how-step:last-child .lg-how-step-icon {
  background: var(--lg-cream);
  color: var(--lg-pink);
}

/* =========================================================
   PERFECT FOR SECTION
========================================================= */
.lg-perfect-for {
  max-width: 760px;
  margin: 60px auto;
  padding: 60px 22px;
  border-radius: var(--lg-radius-lg);
  background: var(--lg-white);
  border: 1px solid var(--lg-blue-light);
  box-shadow: var(--lg-shadow-md);
  text-align: center;
}
.lg-perfect-for h2 {
  color: var(--lg-blue);
  font-size: 30px;
  margin: 0 0 10px;
}

.lg-perfect-for p,
.lg-perfect-for .lg-perfect-for-sub {
  max-width: 620px;
  margin: 0 auto 35px;
  font-size: 16px;
  line-height: 1.6;
}

.lg-perfect-for-sub {
  color: var(--lg-text);
  font-size: 18px;
  line-height: 1.6;
  margin: 0 auto 18px;
  max-width: 660px;
}
.lg-perfect-for-grid {
  list-style: none;
  padding: 0;
  margin: 22px auto 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
  max-width: 660px;
}
.lg-perfect-list li,
.lg-perfect-for-grid li {
  background: #ffffff;
  border-radius: 10px;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  transition: all .25s ease;
}

.lg-perfect-list li:hover,
.lg-perfect-for-grid li:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08);
}

.lg-perfect-icon,
.lg-perfect-for-grid i {
  font-size: 18px;
  color: var(--lg-blue);
  width: 28px;
  text-align: center;
  flex: 0 0 28px;
}

.lg-perfect-for-grid i {
  color: var(--lg-pink);
  font-size: 18px;
  width: 22px;
  text-align: center;
}
.lg-perfect-for-grid span {
  color: var(--lg-blue);
  font-weight: 600;
  font-size: 17px;
  line-height: 1.3;
  display: inline-block;
	line-height: 1.4;
}
.lg-perfect-for-cta {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.lg-perfect-for-cta p {
  margin: 12px 10px 42px;
  color: var(--lg-text);
  font-size: 18px;
  line-height: 1.5;
}

/* ========================================
   Tour Row Layout
======================================== */

.tour-row-card .fl-row-content {
  background: #ffffff;
  border-radius: 18px;
  padding: 32px;
  box-shadow: 0 10px 30px rgba(37, 60, 120, 0.08);
  border: 1px solid rgba(37, 60, 120, 0.08);
}

.tour-row-card .fl-col-content,
.tour-row-left,
.tour-row-right,
.tour-row-left .fl-col-content,
.tour-row-right .fl-col-content {
  height: 100%;
}

.tour-row-right .fl-col-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}


/* ========================================
   Tag List under Image
======================================== */

.tour-tag-list {
  margin-top: 18px;
}

.tour-tag-list .fl-module-content,
.tour-tag-list .uabb-module-content {
  margin: 0;
}

.tour-tag-list .uabb-info-list,
.tour-tag-list .uabb-info-list-wrap,
.tour-tag-list .uabb-info-list-wrapper,
.tour-tag-list .uabb-info-list-outter,
.tour-tag-list .uabb-info-list-content-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: flex-start;
}

.tour-tag-list .uabb-info-list-item,
.tour-tag-list .uabb-info-list-content,
.tour-tag-list .uabb-info-list-content-wrap {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  max-width: 100%;
  margin: 0 !important;
}

.tour-tag-list .uabb-info-list-item {
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: hsl(222, 73%, 95%) !important;
  border: 1px solid rgba(37, 60, 120, 0.08) !important;
  box-shadow: none !important;
}

.tour-tag-list .uabb-info-list-icon,
.tour-tag-list .uabb-info-list-connector,
.tour-tag-list .uabb-info-list-description,
.tour-tag-list .uabb-info-list-description-text,
.tour-tag-list .uabb-info-list-separator {
  display: none !important;
}

.tour-tag-list .uabb-info-list-title,
.tour-tag-list .uabb-info-list-title-text,
.tour-tag-list span,
.tour-tag-list a {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--lg-blue) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

/* ========================================
   Meta List
======================================== */

.tour-meta-list {
  margin-bottom: 18px;
}

.tour-meta-list .uabb-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tour-meta-list .uabb-list-item {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 !important;
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(37, 60, 120, 0.05);
  border: 1px solid rgba(37, 60, 120, 0.08);
}

.tour-meta-list .uabb-list-item-icon {
  color: #d36582;
  font-size: 16px;
  line-height: 1.4;
  margin-top: 2px;
}

.tour-meta-list .uabb-list-item-heading,
.tour-meta-list .uabb-list-item-heading span,
.tour-meta-list strong {
  color: var(--lg-blue);
  font-size: 18px !important;
  font-weight: 700;
}

.tour-meta-list .uabb-list-item-text,
.tour-meta-list .uabb-list-item-content,
.tour-meta-list p {
  margin: 0;
  font-size: 18px;
  color: var(--lg-blue);
  line-height: 1.4;
}

/* ========================================
   Description + Highlights
======================================== */

.tour-description p {
  margin: 0 0 18px;
  line-height: 1.7;
}

.tour-description .tour-highlights-list {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
}

.tour-description .tour-highlights-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 14px;
  line-height: 1.65;
}

.tour-description .tour-highlights-list li::before {
  content: "\2726";
  font-family: "Font Awesome 6 Pro";
  position: absolute;
  left: 0;
  top: 0.05em;
  color: #D36582;
  font-size: 16px;
  line-height: 1;
}

.tour-description .tour-highlights-list strong {
  color: var(--lg-blue);
}

.lighter-blue {
	background-color: #f5f8fd;
}

.lighter-red {
	background-color: #fcf7f9;
}

/* ========================================
   Tour Intro Box After Hero
======================================== */

.tour-intro-box .uabb-module-content.uabb-infobox {
  margin: 0 auto;
  padding: 34px 34px 28px;
}

.tour-intro-box .uabb-infobox-title-prefix {
  margin: 0 auto 16px;
  color: var(--lg-blue);
  line-height: 1.2;
}

.tour-intro-box .uabb-infobox-text {
  margin: 0 auto;
}

.tour-intro-box .uabb-infobox-text p {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.75;
  color: #33415c;
}

.tour-intro-box .uabb-infobox-text p:last-child {
  margin-bottom: 0;
}

.tour-intro-box .uabb-infobox-title-wrap::after  {
  content: "";
  display: block;
  width: 72px;
  height: 3px;
  margin: 16px auto 0;
  border-radius: 999px;
  background: rgba(211, 101, 130, 0.75);
}


 .tour-post-intro-heading::after  {
  content: "";
  display: block;
  width: 72px;
  height: 3px;
  margin: 16px auto 0;
  border-radius: 999px;
  background: #2B59C3;
}

.tour-intro-highlights {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
}

.tour-intro-highlights span {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: hsl(222, 73%, 95%);
  border: 1px solid rgba(37, 60, 120, 0.08);
  color: var(--lg-blue);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
}

/* ========================================
   Heading + Tagline
======================================== */

.tour-heading .uabb-heading-wrapper h3,
.tour-heading .uabb-heading-wrapper .uabb-heading-text {
  color: var(--lg-blue);
  line-height: 1.2;
  margin-bottom: 8px;
}

.tour-heading .uabb-subheading,
.tour-heading .uabb-heading-subheading,
.tour-heading p {
  color: #D36582;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 18px;
}

/* =========================================================
   CTA HEADER BEFORE FORM
========================================================= */
.cta-header-before-form {
  background: transparent;
  border-left: 6px solid var(--lg-blue-2);
  padding: 40px 20px 30px;
  margin: 60px auto 20px;
  text-align: center;
}
.cta-header-before-form .uabb-infobox-title-prefix {
  font-size: 32px;
  font-weight: 700;
  color: var(--lg-pink);
  margin-bottom: 10px !important;
}
.cta-header-before-form .uabb-infobox-text p {
  font-size: 20px;
  line-height: 1.6;
  margin: 0 auto 12px;
}
.cta-header-before-form .no-cost {
  font-size: 18px;
  color: var(--lg-pink) !important;
  margin-top: 12px;
}

/* =========================================================
   LISTS / TABLES
========================================================= */
.no-bullet-list ul {
  list-style: none;
  margin-left: -5px;
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}
.no-bullet-list.list-space li {
  margin-top: 30px !important;
}
.rides-list li { margin: 10px 0 !important; }
.rides-list h3 { margin: 5px auto !important; }

.checklist-table-container-outline {
  max-width: 660px;
  margin: 30px auto;
  padding: 20px;
  background-color: var(--lg-white);
  border: 2px solid var(--lg-blue-2);
  border-radius: var(--lg-radius-sm);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
.checklist-table-container-outline h2 {
  margin-top: 0;
  color: var(--lg-blue);
}
.checklist-table-outline {
  width: 100%;
  border-collapse: collapse;
}
.checklist-table-outline td {
  padding: 10px 25px;
  font-size: 20px;
  color: var(--lg-text);
  border-bottom: 1px solid var(--lg-blue-light);
}
.check-icon-outline {
  color: var(--lg-pink);
  margin-right: 10px;
}

.comparison-table-container {
  padding: 20px;
  border-radius: 10px;
  background-color: #f9f9f9;
  margin-bottom: 40px;
  border: 1px solid #ddd;
  color: var(--lg-text);
}
.comparison-table-container h3 {
  color: var(--lg-blue-2);
  font-size: 20px;
  margin-bottom: 16px;
}
.comparison-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.comparison-table thead {
  background-color: var(--lg-blue-2);
  color: var(--lg-white);
  font-weight: bold;
  text-align: center;
}
.comparison-table th,
.comparison-table td {
  padding: 14px 12px;
  border-bottom: 1px solid #e0e0e0;
  text-align: left;
}
.comparison-table td:first-child { font-weight: 600; }

.cost-factors-section,
.sample-costs-section,
.lg-benefits {
  font-size: 18px;
  line-height: 1.6;
  color: var(--lg-text);
}
.cost-factors-list,
.cost-card ul,
.cost-box ul {
  padding-left: 20px;
  list-style: disc;
}

.cta-text { font-weight: 700; margin-top: 2rem; }
.trip-estimator-link {
  color: var(--lg-pink);
  text-decoration: underline;
}

.cost-grid-section {
  max-width: 980px;
  margin: 30px auto;
  padding: 2rem 1rem;
}
.cost-grid-section h2,
.cost-grid-section p {
  text-align: center;
}
.cost-grid-section h2 {
  font-size: 28px;
  margin-bottom: 1rem;
}
.cost-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.cost-grid > .cost-box:nth-child(3n):nth-last-child(1) {
  grid-column: 1 / -1;
  justify-self: center;
  width: 60%;
}
.cost-box {
  border: 1px solid #ccc;
  padding: 1.5rem;
  border-radius: var(--lg-radius-sm);
  background-color: #f9f9f9;
}
.cost-box h3 {
  font-size: 20px;
  margin-bottom: 0.75rem;
}

/* Main estimator section wrapper */
.estimator-section .fl-col-content {
  max-width: 980px;
  margin: 0 auto;
}

/* Tighten vertical rhythm above/below modules in this section */
.estimator-section .fl-module {
  margin-bottom: 20px;
}

.estimator-section .fl-module:last-child {
  margin-bottom: 0;
}


/* Intro card */
.lg-estimator-intro {
  background: linear-gradient(180deg, #fff8fb 0%, #fff4f8 100%);
  border: 1px solid #f0d9e3;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(37, 60, 120, 0.06);
  max-width: 860px;
  margin: 0 auto 12px;
  position: relative;
  overflow: hidden;
}

.lg-estimator-intro::before {
  content: "";
  display: block;
  height: 5px;
  background: linear-gradient(90deg, #d36582 0%, #2be0e0 100%);
}

.lg-estimator-intro .fl-module-content {
  margin: 0;
}

.lg-estimator-intro .uabb-module-content {
  padding: 22px 18px;
}

.lg-estimator-intro .uabb-infobox-title-prefix,
.lg-estimator-intro .uabb-infobox-title-prefix * {
  color: var(--lg-blue);
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  margin: 0 0 14px;
}

.lg-estimator-intro .uabb-infobox-text {
  color: #2f3552;
  font-size: 18px;
  line-height: 1.7;
}

.lg-estimator-intro .uabb-infobox-text p {
  margin: 0 0 12px;
}

.lg-estimator-intro .uabb-infobox-text p:last-child {
  margin-bottom: 0;
}

.lg-estimator-intro .uabb-infobox-text strong {
  color: var(--lg-blue);
}

/* Language notice under intro */
.language-notice-pill {
  text-align: center;
  margin-top: 6px;
  margin-bottom: 18px;
}

.language-notice-pill .wpml-lang-notice {
  display: inline-block;
  font-size: 14px;
  line-height: 1.5;
  color: var(--lg-blue);
  background-color: var(--lg-pink-light);
  border: 1px solid #e3e8f3;
  border-radius: 999px;
  padding: 8px 14px;
}

.language-notice-pill .wpml-lang-notice a {
  color: var(--lg-blue);
  font-weight: 600;
  text-decoration: none;
}

.language-notice-pill .wpml-lang-notice a:hover {
  text-decoration: underline;
  color: var(--lg-text-dark);
}

.language-notice-pill p:empty {
  display: none;
}

.lg-feature-list,
.lg-benefits {
  list-style: none;
  padding: 0;
  margin: 0;
}
.lg-feature-list li {
  position: relative;
  padding-left: 36px;
  margin-bottom: 18px;
  font-size: 18px;
  line-height: 1.6;
}
.lg-feature-list li::before {
  content: attr(data-icon);
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 20px;
  color: var(--lg-pink);
}
.lg-benefits li {
  margin: 8px 0;
  color: var(--lg-text);
}


/* ========================================
   CARD BASE
======================================== */

.lg-card {
  background: var(--lg-white);
  border: 1px solid var(--lg-border-soft);
  box-shadow: var(--lg-shadow-md);
  border-radius: var(--lg-radius-md);
  overflow: hidden;
}

.lg-card .uabb-infobox-title {
  color: var(--lg-pink);
}

/* ========================================
   LAYOUT HELPERS
======================================== */

.space-out-columns .fl-col-content {
  max-width: 1380px;
  margin: 0 auto;
  padding: 10px;
}

.card-200-height {
  min-height: 200px;
}

.light-red-background {
  background-color: var(--lg-blush-bg);
}

/* ========================================
   VIDEO BOX
======================================== */

.fl-col-group .video-box-col {
  padding: 10px;
}

.video-box-col .fl-col-content {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--lg-border-soft);
  border-radius: var(--lg-radius-md);
  box-shadow: var(--lg-shadow-md);
  overflow: hidden;
  background-color: var(--lg-white);
}

.video-box-col .fl-module,
.video-box-col .fl-module-content {
  margin: 0 !important;
  padding: 0 !important;
}

/* VIDEO */

.video-box-col .uabb-video {
  overflow: hidden;
}

.video-box-col .uabb-video__play img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
}

/* PLAY BUTTON */

.video-box-col .uabb-video__play-icon {
  color: var(--lg-pink) !important;
}

/* CONTENT */

.video-box-col .uabb-infobox-content {
  padding: 20px;
}

.video-box-col .uabb-infobox-title {
  font-size: 22px !important;
  color: var(--lg-pink) !important;
  margin-bottom: 12px !important;
  line-height: 1.3;
}

.video-box-col .uabb-infobox-text p {
  font-size: 16px;
  color: var(--lg-text-dark);
  line-height: 1.6;
  margin-bottom: 14px;
}

/* BUTTON */

.video-box-col .uabb-button-wrap {
  margin-top: 12px !important;
  text-align: left;
}

.video-box-col .uabb-button {
  background: var(--lg-pink) !important;
  color: var(--lg-white) !important;
  padding: 12px 20px !important;
  border-radius: var(--lg-radius-sm);
  font-weight: 700;
  text-decoration: none !important;
  transition: var(--lg-transition);
}

.video-box-col .uabb-button:hover {
  background: var(--lg-pink-dark) !important;
  transform: translateY(-2px);
}

/* =========================================================
   LIGHTNING LANE BOOKING WINDOW CALCULATOR
========================================================= */

.llg-wrap {
  max-width: 860px;
  margin: 30px auto;
  padding: 28px;
  background: var(--lg-white);
  border: 1px solid var(--lg-border-soft);
  border-radius: var(--lg-radius-lg);
  box-shadow: var(--lg-shadow-md);
  color: var(--lg-text);
}

.lng-title {
  font-size: 30px;
  line-height: 1.2;
  margin: 0 0 10px;
  color: var(--lg-blue);
  font-weight: 800;
}

.lng-sub {
  color: var(--lg-text-dark);
  margin: 0 0 24px;
  font-size: 18px;
  line-height: 1.65;
}

/* Fields */
.llg-form .gfield {
  margin-bottom: 22px;
}

/* Resort toggle card */
.llg-toggle-card {
  background: var(--lg-blue-soft);
  border: 1px solid rgba(37, 60, 120, 0.12);
  border-left: 5px solid var(--lg-blue-2);
  border-radius: var(--lg-radius-md);
  padding: 22px 22px 20px;
  margin: 0 0 28px;
}

.llg-toggle-title {
  margin: 0 0 16px;
  color: var(--lg-blue);
  font-size: 20px;
  line-height: 1.3;
  font-weight: 800;
}

.llg-toggle-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 14px;
  color: var(--lg-text-dark);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.45;
}

.llg-toggle-label input[type="checkbox"] {
  margin-top: 5px;
  accent-color: var(--lg-blue-2);
  flex: 0 0 auto;
}

/* Labels */
.llg-form label:not(.llg-toggle-label) {
  display: block;
  color: var(--lg-blue);
  font-weight: 800;
  font-size: 17px;
  line-height: 1.35;
  margin-bottom: 8px;
}

.llg-form .gfield_description {
  font-size: 15px;
  color: #617089;
  margin-top: 8px;
  line-height: 1.55;
}

/* Hide off-site group by default until JS toggles it */
#offsiteGroup[aria-disabled="true"] {
  display: none;
}

/* Inputs */
.llg-form input[type="text"],
.llg-form input[type="date"],
.llg-form input[type="number"],
.llg-form select {
  width: 100%;
  min-height: 52px;
  border: 1.5px solid rgba(37, 60, 120, 0.18);
  border-radius: var(--lg-radius-md);
  padding: 12px 16px;
  font-size: 16px;
  line-height: 20px;
  background: var(--lg-white);
  color: var(--lg-text-dark);
  transition: var(--lg-transition);
}

.llg-form input:focus,
.llg-form select:focus {
  border-color: var(--lg-blue-2);
  outline: none;
  box-shadow: 0 0 0 4px rgba(43, 89, 195, 0.12);
}

/* Actions */
.lng-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 8px 0 0;
}

.lng-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  background: var(--lg-blue-2);
  color: var(--lg-white);
  border: 2px solid var(--lg-blue-2);
  border-radius: var(--lg-radius-sm);
  padding: 12px 22px;
  font-size: 16px;
  cursor: pointer;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: var(--lg-shadow-sm);
  transition: var(--lg-transition);
}

.lng-btn:hover {
  background: var(--lg-blue);
  border-color: var(--lg-blue);
  color: var(--lg-white);
  transform: translateY(-2px);
}

.lng-btn.ghost {
  background: transparent;
  color: var(--lg-blue);
  border-color: var(--lg-blue);
  box-shadow: none;
}

.lng-btn.ghost:hover {
  background: var(--lg-blue-soft);
}

/* Results */
.lng-results {
  margin-top: 28px;
}

.lng-results h3 {
  font-size: 24px;
  color: var(--lg-blue);
  margin: 0 0 14px;
  font-weight: 800;
}

.lng-result-card {
  background: var(--lg-blue-light);
  border-left: 5px solid var(--lg-blue-2);
  padding: 20px 22px;
  border-radius: var(--lg-radius-md);
  margin: 16px 0;
  box-shadow: var(--lg-shadow-sm);
}

.lng-result-card h4 {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.25;
  color: var(--lg-blue);
  font-weight: 800;
}

.lng-result-card p {
  margin: 8px 0 0;
  font-size: 17px;
  line-height: 1.6;
  color: var(--lg-text-dark);
}

.lng-note {
  font-size: 15px !important;
  color: #4b5875 !important;
  margin-top: 12px !important;
}

/* CTA */
.llg-cta {
  background: linear-gradient(180deg, var(--lg-blue-soft) 0%, var(--lg-white) 100%);
  border: 1px solid rgba(43, 89, 195, 0.15);
  border-left: 6px solid var(--lg-pink);
  border-radius: var(--lg-radius-lg);
  padding: 34px 26px;
  margin-top: 34px;
  text-align: center;
  box-shadow: var(--lg-shadow-lg);
}

.llg-cta h4 {
  margin: 0 0 12px;
  font-size: 26px;
  line-height: 1.2;
  color: var(--lg-blue);
  font-weight: 800;
}

.llg-cta p {
  max-width: 660px;
  font-size: 17px;
  line-height: 1.65;
  margin: 0 auto 18px;
  color: var(--lg-text);
}

.llg-btn-quote {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--lg-pink);
  color: var(--lg-white) !important;
  padding: 16px 28px;
  border-radius: var(--lg-radius-md);
  font-size: 17px;
  font-weight: 800;
  text-decoration: none !important;
  transition: var(--lg-transition);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
}

.llg-btn-quote:hover {
  background: var(--lg-pink-dark);
  color: var(--lg-white) !important;
  transform: translateY(-2px);
}

/* Fade */
.fade-in {
  animation: fadeIn 0.22s ease-out both;
}

@keyframes fadeIn {
  from {
	opacity: 0;
	transform: translateY(4px);
  }

  to {
	opacity: 1;
	transform: translateY(0);
  }
}

/* ========================================
   PILLS
======================================== */

.lg-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 auto 40px;
}

.lg-pill {
  background: var(--lg-blue-light);
  border: 1px solid var(--lg-border-soft);
  color: var(--lg-blue);
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 600;
}

/* ========================================
   NEW FOR 2026
======================================== */

.new-for-2026-copy {
  display: flex;
  align-items: center;
  height: 100%;
}

.new-for-2026-copy .fl-module-content {
  margin: 40px auto 0 !important;
}

.new-for-2026-copy .uabb-module-content.uabb-infobox {
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.new-for-2026-copy .uabb-infobox-content {
  max-width: 720px;
}

.new-for-2026-copy .uabb-infobox-title-prefix {
  color: var(--lg-pink);
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 10px;
}

.new-for-2026-copy .uabb-infobox-title {
  color: var(--lg-blue);
  font-size: 30px !important;
  font-weight: 700;
  margin-bottom: 16px;
}

.new-for-2026-copy .uabb-infobox-text,
.new-for-2026-copy .uabb-infobox-text p {
  color: var(--lg-text-dark);
  font-size: 18px;
  line-height: 1.6;
}

/* ========================================
   DATE CARD
======================================== */

.lg-date-card {
  background: var(--lg-white);
  border-radius: var(--lg-radius-md);
  box-shadow: var(--lg-shadow-md);
  border: 1px solid var(--lg-border-soft);
  overflow: hidden;
}

.lg-date-card .fl-module-content {
  margin: 0 !important;
}

.lg-date-card .uabb-infobox-content {
  padding: 24px !important;
}

.lg-date-card .uabb-infobox-title {
  color: var(--lg-pink) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 0 16px !important;
}

/* Date grid, class stays lg-date-row */
.lg-date-card ul.lg-date-row,
.lg-date-row ul,
.uabb-infobox-text ul.lg-date-row {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

/* Individual date boxes */
.lg-date-card ul.lg-date-row li,
.uabb-infobox-text ul.lg-date-row li {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  background: var(--lg-blue-soft) !important;
  border: 1px solid var(--lg-border-soft) !important;
  border-radius: var(--lg-radius-sm) !important;
  color: var(--lg-blue) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: var(--lg-transition);
}

.lg-date-card ul.lg-date-row li::before,
.lg-date-card ul.lg-date-row li::marker,
.uabb-infobox-text ul.lg-date-row li::before,
.uabb-infobox-text ul.lg-date-row li::marker {
  content: none !important;
  display: none !important;
}

.lg-date-card ul.lg-date-row li:hover,
.uabb-infobox-text ul.lg-date-row li:hover {
  background: var(--lg-pink) !important;
  border-color: var(--lg-pink) !important;
  color: var(--lg-white) !important;
  transform: translateY(-2px);
  box-shadow: var(--lg-shadow-sm);
}



/* =========================================================
   INFOBOXES / CONTENT CARDS
========================================================= */
.benefits-box {
  text-align: center;
  max-width: 400px;
  margin: 0 auto;
}
.benefits-box .uabb-infobox-title {
  font-size: 22px;
  margin-top: 10px;
}
.benefits-box .uabb-infobox-text {
  font-size: 18px;
}

.simple-box-destination.top-item-adjust { margin-top: -190px; }
.simple-box-destination .uabb-infobox-title {
  font-size: 20px;
  margin-top: 20px;
  z-index: 9999;
  color: var(--lg-pink);
}

.simple-box-destination .uabb-image-content {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.simple-box-destination .uabb-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.highlight-box { border-radius: var(--lg-radius-lg); }

.center-align-box {
  padding: 20px;
  text-align: center;
}
.center-align-box h2 {
  text-align: center;
  padding-bottom: 20px !important;
}
.center-align-box h3 {
  text-align: center;
  color: var(--lg-pink);
  padding: 20px !important;
}
.center-align-box p { text-align: center; }

.guide-info-box .uabb-infobox-title-prefix { margin-bottom: 20px; }

.lg-infobox {
  padding: 24px 16px;
  margin: 0 auto;
  text-align: center;
  border-left: 4px solid var(--lg-blue-2);
  border-radius: var(--lg-radius-md);
  box-shadow: var(--lg-shadow-sm);
}
.lg-infobox.magic-start .uabb-infobox-title { color: var(--lg-blue-2); }
.lg-infobox.magic-map {
  background-color: var(--lg-white);
  border-left-color: var(--lg-pink);
  color: var(--lg-pink);
}
.lg-infobox.magic-map .uabb-infobox-title { color: var(--lg-pink); }
.lg-infobox.magic-plus {
  border-left-color: #c9a690;
}
.lg-infobox.magic-plus .uabb-infobox-title {
  color: #c9a690;
}

/* =========================================================
   VIDEO / MEDIA
========================================================= */
.laughgear-video-wrapper {
  background-color: var(--lg-white);
  border: 1px solid var(--lg-blue-2);
  border-radius: var(--lg-radius-lg);
  padding: 50px 20px 30px;
  box-shadow: 0 8px 24px rgba(37, 60, 120, 0.15);
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}
.laughgear-mobilevideo-wrapper { margin: 0 auto; }

.youtube-video-box {
  background: #ffffff;
  border-left: 4px solid var(--lg-blue);
  border-radius: 12px;
  padding: 26px 22px 28px;
  margin: 30px auto;
  box-shadow: 0 6px 18px rgba(37, 60, 120, 0.05);
}

.youtube-video-heading h2,
.youtube-video-heading .uabb-infobox-title {
  font-size: 28px;
  font-weight: 700;
  color: var(--lg-blue);
  margin-bottom: 8px;
}

.youtube-video-heading p {
  font-size: 16px;
  line-height: 1.6;
  color: var(--lg-text);
}

.youtube-video-box iframe,
.youtube-video-box video {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(37, 60, 120, 0.08);
  box-shadow: none;
}
.youtube-video-heading {
  text-align: center;
  max-width: 860px;
  margin: 0 auto 26px;
  position: relative;
  z-index: 1;
}
.youtube-video-heading .uabb-infobox-title,
.youtube-video-heading h2 {
  font-size: 34px;
  line-height: 1.15;
  font-weight: 800;
  color: var(--lg-blue);
  margin-bottom: 14px;
}
.youtube-video-heading .uabb-infobox-text,
.youtube-video-heading .uabb-infobox-text p,
.youtube-video-heading p {
  max-width: 760px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.7;
  color: var(--lg-text);
}
.youtube-video-heading strong {
  color: var(--lg-blue-2);
  font-weight: 700;
}
.youtube-video-box iframe,
.youtube-video-box video,
.youtube-video-box .fluid-width-video-wrapper,
.youtube-video-box .wp-block-embed,
.youtube-video-box .embed-container {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(37, 60, 120, 0.14);
}
.youtube-video-box .fl-module,
.youtube-video-box .uabb-module-content,
.youtube-video-box .fl-col-content {
  position: relative;
  z-index: 1;
}

/* =========================================================
   Moments That Matter + Featured Blogs - Shared Story Format
========================================================= */

.category-moments-that-matter,
.tag-featured-blogs {
  max-width: 860px;
  margin: 0 auto;
  color: #111111;
}

/* Title */
.category-moments-that-matter h1,
.tag-featured-blogs h1 {
  font-size: 42px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: -0.02em;
  margin-bottom: 28px;
  color: #000000;
}

/* Section headings */
.category-moments-that-matter h2,
.tag-featured-blogs h2 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.01em;
  margin-top: 48px;
  margin-bottom: 14px;
  color: #000000;
}

/* Paragraphs */
.category-moments-that-matter p,
.tag-featured-blogs p {
  font-size: 18px;
  line-height: 1.75;
  margin-bottom: 18px;
  color: #1a1a1a;
}

/* Line break styling */
.category-moments-that-matter p br,
.tag-featured-blogs p br {
  display: block;
  margin-bottom: 6px;
}

/* Emphasis */
.category-moments-that-matter strong,
.tag-featured-blogs strong {
  font-weight: 600;
  color: #000000;
}

.category-moments-that-matter em,
.tag-featured-blogs em {
  font-style: italic;
  color: #333333;
}

/* Subtle divider */
.category-moments-that-matter h2::before,
.tag-featured-blogs h2::before {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background: rgba(0,0,0,0.15);
  margin-bottom: 16px;
}

/* Header spacing */
.category-moments-that-matter h2 + p,
.tag-featured-blogs h2 + p {
  margin-top: 8px;
}

.product-item img {
  max-height: 250px !important;
  min-height: 250px !important;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.items-box img {
  max-height: 250px !important;
  width: auto !important;
}

.items-box .uabb-infobox-title {
  margin-top: 10px;
}


.adjust-image-h .uabb-photo-img {
  display: block;
  width: 100% !important;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
  object-position: center;
  border-radius: var(--lg-radius-md);
}
.adjust-image-h .uabb-photo,
.adjust-image-h .uabb-photo-content,
.adjust-image-h .uabb-image,
.adjust-image-h .uabb-imgicon-wrap {
  width: 100%;
  overflow: hidden;
  border-radius: var(--lg-radius-md);
}

.polaroid {
  background: var(--lg-white);
  border: 1px solid #ccc;
  box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.2);
  transform: rotate(0deg) scale(1.03);
  transition: transform 0.3s ease;
  margin: 30px auto 50px;
}
.polaroid:hover { transform: rotate(-1deg); }
.polaroid .simple-box-destination { margin: 10px auto; }

/* =========================================================
   DINING / SPECIAL CONTENT
========================================================= */
.dining-highlights-clean {
  background-color: var(--lg-white);
  border-left: 4px solid var(--lg-blue-2);
  padding: 20px 40px;
  margin: 60px auto;
  border-radius: var(--lg-radius-md);
}
.dining-highlights-clean h2 {
  font-size: 30px;
  color: var(--lg-blue);
  margin-bottom: 24px;
  text-align: left;
  border-bottom: 1px solid var(--lg-blue-light);
  padding-bottom: 10px;
}
.dining-clean-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.dining-clean-list li {
  padding: 16px 0;
  border-bottom: 1px solid #f0f0f0;
}
.dining-clean-list li:last-child { border-bottom: none; }
.dish-title {
  display: block;
  font-weight: 600;
  color: var(--lg-blue-2);
  font-size: 24px;
  margin-bottom: 4px;
}
.dish-note {
  display: block;
  font-size: 20px;
  color: var(--lg-text);
  line-height: 1.4;
}

/* =========================================================
   POSTS / BLOG MODULES
========================================================= */
.laugh-posts .uabb-blog-post-content { padding: 20px 0 0 !important; }
.laugh-posts .uabb-blog-posts-description,
.laugh-posts .uabb-post-heading { padding: 10px 25px !important; }
.laugh-posts .uabb-creative-button { font-weight: 700 !important; }

/* =========================================================
   SHOP / PRODUCT GRID
========================================================= */
.shop-item-btn {
  font-weight: 700;
  color: var(--lg-white);
}
.shop-item-btn .uabb-button-text {
  color: var(--lg-white) !important;
}

.lg-wg-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.lg-wg-card {
  overflow: hidden;
  transition: transform 0.15s ease;
  min-height: 450px !important;
  border: 1px solid transparent;
}
.lg-wg-card:hover { transform: translateY(-2px); }
.lg-wg-img {
  aspect-ratio: 3/4 !important;
  width: 100%;
  object-fit: cover !important;
}
.lg-wg-body { padding: 12px; }
.lg-wg-title {
  font-size: 16px;
  line-height: 1.3;
  margin: 0 0 6px;
}
.lg-wg-price { font-weight: 600; }
.lg-wg-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: #111;
  color: var(--lg-white);
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 12px;
}
.lg-wg-card-wrap { position: relative; }
.lg-wg-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  background-color: var(--lg-pink);
  border: 1px solid var(--lg-pink);
  line-height: 1.6em;
  padding: 8px 25px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 700;
  color: var(--lg-white);
}

.lg-wg-grid.uabb-look .uabb-infobox {
  border: 1px solid #ececec;
  background: var(--lg-white);
  border-radius: var(--lg-radius-lg);
  padding: 18px;
}
.lg-wg-grid.uabb-look .uabb-image-content {
  border-radius: 14px;
  overflow: hidden;
}
.lg-wg-grid.uabb-look .uabb-photo-img {
  width: 100%;
  display: block;
  aspect-ratio: 4/5;
  object-fit: cover;
  background: #f7f7f7;
}
.lg-wg-grid.uabb-look .uabb-infobox-title-prefix {
  display: block;
  margin-top: 14px;
  font-weight: 700;
  text-align: center;
  color: #56607a;
}
.lg-wg-grid.uabb-look .uabb-infobox-title {
  margin: 8px 0 10px;
  font-size: clamp(20px, 3.2vw, 28px);
  line-height: 1.15;
  text-align: center;
  color: #3b57a8;
}
.lg-wg-grid.uabb-look .uabb-infobox-text {
  max-width: 58ch;
  margin: 0.2rem auto 1.25rem;
  font-size: clamp(15px, 1.8vw, 18px);
  line-height: 1.6;
  color: #555;
  text-align: center;
}
.lg-wg-grid.uabb-look .uabb-button-wrap { text-align: center; }
.lg-wg-grid.uabb-look .uabb-creative-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 12px 16px;
  border-radius: 10px;
  background: #c86b7d;
  border: none;
  color: var(--lg-white);
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.06);
  transition: transform 0.08s ease, box-shadow 0.2s ease, filter 0.2s ease;
}
.lg-wg-grid.uabb-look .uabb-creative-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(200, 107, 125, 0.25);
  filter: saturate(1.05);
}

/* =========================================================
   FORMS
========================================================= */
.gform_wrapper .override-label .gfield_label { display: block !important; }
.gform_wrapper .alternate-override-label .gfield_label,
.gform_wrapper .alternate-override-label .gform-field-label {
  display: none !important;
}

.form-row .button {
  color: var(--lg-white) !important;
  background-color: var(--lg-pink) !important;
}
.form-row .button:hover {
  background-color: var(--lg-blue-2) !important;
}

/* Global submit button */
.gform_wrapper input[type="submit"],
.gform_wrapper .gform_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px 44px !important;
  border: none !important;
  border-radius: 18px !important;
  background: #D16A7F !important;
  color: var(--lg-white) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  text-align: center !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
  transition: var(--lg-transition) !important;
}
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper .gform_button:hover {
  background: var(--lg-pink-dark) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22) !important;
}
.gform_wrapper input[type="submit"]:focus,
.gform_wrapper .gform_button:focus {
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(43, 89, 195, 0.35), 0 10px 24px rgba(0, 0, 0, 0.18) !important;
}

.uabb-gf-style .ginput_container_select::after { display: none; }

/* Calculator form */
.lg-calculator-form form,
#gform_wrapper_12 form {
  background-color: #fffaf3;
  padding: 40px;
  border-radius: var(--lg-radius-lg);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
  max-width: 100%;
  margin: auto;
}
.lg-calculator-form .gfield_label,
#gform_wrapper_12 .gfield_label {
  color: var(--lg-blue);
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 6px;
  display: block;
}
.lg-calculator-form .gfield_description,
#gform_wrapper_12 .gfield_description {
  font-size: 16px;
  color: #5c5c5c;
  margin-bottom: 10px;
}
.lg-calculator-form input[type="text"],
.lg-calculator-form input[type="email"],
.lg-calculator-form input[type="number"],
.lg-calculator-form input[type="tel"],
.lg-calculator-form select,
.lg-calculator-form textarea,
#gform_wrapper_12 input[type="text"],
#gform_wrapper_12 input[type="email"],
#gform_wrapper_12 input[type="number"],
#gform_wrapper_12 input[type="tel"],
#gform_wrapper_12 select,
#gform_wrapper_12 textarea,
.lg-quote-form input[type="text"],
.lg-quote-form input[type="email"],
.lg-quote-form input[type="tel"],
.lg-quote-form select,
.lg-quote-form textarea {
  width: 100%;
  padding: 12px 16px;
  border-radius: var(--lg-radius-sm);
  font-size: 16px;
  background-color: var(--lg-white);
  color: var(--lg-text-dark);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.lg-calculator-form input[type="text"],
.lg-calculator-form input[type="email"],
.lg-calculator-form input[type="number"],
.lg-calculator-form input[type="tel"],
.lg-calculator-form select,
.lg-calculator-form textarea,
#gform_wrapper_12 input[type="text"],
#gform_wrapper_12 input[type="email"],
#gform_wrapper_12 input[type="number"],
#gform_wrapper_12 input[type="tel"],
#gform_wrapper_12 select,
#gform_wrapper_12 textarea {
  border: 2px solid #e1cfc3;
}
.lg-quote-form input[type="text"],
.lg-quote-form input[type="email"],
.lg-quote-form input[type="tel"],
.lg-quote-form select,
.lg-quote-form textarea {
  border: 2px solid rgba(37, 60, 120, 0.18);
}

.lg-calculator-form input:focus,
.lg-calculator-form select:focus,
.lg-calculator-form textarea:focus,
#gform_wrapper_12 input:focus,
#gform_wrapper_12 select:focus,
#gform_wrapper_12 textarea:focus,
.lg-quote-form input:focus,
.lg-quote-form select:focus,
.lg-quote-form textarea:focus {
  border-color: var(--lg-blue-2);
  outline: none;
  box-shadow: 0 0 0 3px rgba(43, 89, 195, 0.18);
}

.lg-calculator-form .gform_button,
#gform_wrapper_12 .gform_button {
  background-color: #2BE0E0 !important;
  color: var(--lg-text-dark) !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  border-radius: var(--lg-radius-sm) !important;
  box-shadow: none !important;
}
.lg-calculator-form .gform_button:hover,
#gform_wrapper_12 .gform_button:hover {
  background-color: var(--lg-blue) !important;
  color: var(--lg-white) !important;
  transform: none !important;
}
.lg-calculator-form .gfield.gfield_price,
.lg-calculator-form .ginput_product_price_label,
#gform_wrapper_12 .gfield.gfield_price,
#gform_wrapper_12 .ginput_product_price_label {
  display: none;
}
.lg-calculator-form .ginput_product_price,
#gform_wrapper_12 .ginput_product_price {
  font-size: 18px;
  font-weight: 700;
  color: var(--lg-pink);
  display: block;
}

.lg-quote-form .gfield_label,
.lg-quote-form .gform-field-label {
  font-size: 16px;
  font-weight: 700;
  color: var(--lg-blue);
}
.lg-quote-form .gsection_title {
  font-size: 22px;
  color: var(--lg-blue);
  margin-bottom: 6px;
}
.lg-quote-form .gsection_description {
  font-size: 16px;
  color: var(--lg-text);
}
.lg-quote-form .gform_button {
  background-color: var(--lg-blue-2);
  color: var(--lg-white);
  border-radius: 50px;
  padding: 14px 22px;
  font-weight: 700;
  border: none;
}
.lg-quote-form .gform_button:hover {
  background-color: var(--lg-blue);
}


/* Form card wrapper */
.calculator-form .fl-module-content {
  margin: 0;
}

.calculator-form .uabb-gf-style {
  background: #fffaf3;
  border: 1px solid #f1dfca;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(17, 35, 55, 0.08);
  overflow: hidden;
}

/* Actual Gravity form */
.calculator-form .gform_wrapper {
  margin: 0 !important;
  padding: 0 !important;
}

.calculator-form form.lg-calculator-form {
  padding: 22px 18px;
  margin: 0;
  background: transparent;
  font-family: "Helvetica Neue", sans-serif;
  max-width: 100%;
}

/* Field spacing */
.calculator-form .gfield {
  margin-bottom: 22px;
}

/* Field Labels */
.calculator-form .gfield_label,
.calculator-form .gform-field-label {
  color: var(--lg-blue);
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 6px;
  display: block;
}

/* Field Descriptions */
.calculator-form .gfield_description {
  font-size: 16px;
  line-height: 1.5;
  color: #616779;
  margin-bottom: 10px;
}

/* Inputs */
.calculator-form input[type="text"],
.calculator-form input[type="email"],
.calculator-form input[type="number"],
.calculator-form input[type="tel"],
.calculator-form select,
.calculator-form textarea {
  width: 100%;
  min-height: 52px;
  padding: 12px 16px;
  border: 1.5px solid #dccfbe;
  border-radius: 12px;
  background: #fff;
  color: #112337;
  font-size: 16px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

/* Fix weird pattern / autofill background */
.calculator-form input,
.calculator-form textarea,
.calculator-form select {
  background-image: none !important;
  background-color: #ffffff !important;
}

/* Kill Chrome autofill styling */
.calculator-form input:-webkit-autofill,
.calculator-form input:-webkit-autofill:hover,
.calculator-form input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px #ffffff inset !important;
  box-shadow: 0 0 0px 1000px #ffffff inset !important;
  -webkit-text-fill-color: #112337 !important;
}

.calculator-form input:focus,
.calculator-form select:focus,
.calculator-form textarea:focus {
  border-color: #2b59c3;
  outline: none;
  box-shadow: 0 0 0 4px rgba(43, 89, 195, 0.12);
  background: #fff;
}

/* Radio / checkbox rows */
.calculator-form .gchoice {
  margin-bottom: 10px;
}

.calculator-form .gchoice label {
  color: #24324d;
  font-size: 16px;
  line-height: 1.45;
}

/* Submit Button */
.calculator-form .gform_button,
.calculator-form input[type="submit"],
.calculator-form button[type="submit"] {
  background-color: #2be0e0;
  color: #112337;
  font-weight: 700;
  font-size: 17px;
  border: none;
  padding: 14px 28px;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
  margin-top: 20px;
}

.calculator-form .gform_button:hover,
.calculator-form input[type="submit"]:hover,
.calculator-form button[type="submit"]:hover {
  background-color: var(--lg-blue);
  color: #fff;
}

/* Hide Gravity Forms calculated price rows */
.calculator-form .gfield.gfield_price,
.calculator-form .ginput_product_price_label {
  display: none;
}

.calculator-form .ginput_product_price {
  font-size: 18px;
  font-weight: 700;
  color: #d36582;
  display: block;
}


/* Hide higher budget options when Save Money is selected */
body.save-money-selected .gf_budget_option-450,
body.save-money-selected .gf_budget_option-700 {
  display: none !important;
}

#input_45_5 .gchoice[style*="display: none"] {
  margin: 0 !important;
  padding: 0 !important;
}


/* ========================================
   DISNEY RESORT MATCH TOOL
   Cleaner single-result layout
======================================== */

.lg-disney-resort-match-form {
  max-width: 860px;
  margin: 0 auto;
}

.lg-disney-resort-match-form .lg-match-question {
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(37, 60, 120, 0.08);
}

.lg-disney-resort-match-form .gfield_label,
.lg-disney-resort-match-form .gform-field-label {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 800;
  color: var(--lg-blue);
  margin-bottom: 10px;
}

.lg-disney-resort-match-form .gfield_description {
  font-size: 14px;
  line-height: 1.5;
  color: #617089;
  margin-top: 4px;
}

.lg-disney-resort-match-form .gfield_radio {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.lg-disney-resort-match-form .gchoice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(37, 60, 120, 0.12);
  border-radius: 12px;
  transition: all 0.2s ease;
}

.lg-disney-resort-match-form .gchoice:hover {
  border-color: var(--lg-blue-2);
  box-shadow: 0 8px 20px rgba(37, 60, 120, 0.08);
  transform: translateY(-1px);
}

.lg-disney-resort-match-form .gfield_description {
  font-size: 18px !important;
}

.lg-disney-resort-match-form .gchoice label {
  font-size: 16px;
  line-height: 1.45;
  font-weight: 600;
  color: var(--lg-text-dark);
  margin: 0;
}

.lg-disney-resort-match-form .gfield_label {
font-size: 20px !important;
font-weight: bold !important;
color: var(--lg-blue) !important;
}

.lg-disney-resort-match-form input[type="radio"] {
  margin-top: 4px;
  accent-color: var(--lg-blue-2);
}


/* ========================================
   SINGLE RESULTS AREA
======================================== */

#lg-resort-match-results {
  margin-top: 28px;
}

.lg-resort-results-card {
  background: #ffffff;
  border: 1px solid rgba(37, 60, 120, 0.10);
  border-radius: 18px;
  padding: 22px 20px;
  box-shadow: 0 10px 26px rgba(37, 60, 120, 0.08);
}

.lg-resort-results-card h3 {
  margin: 0 0 10px;
  font-size: 28px;
  line-height: 1.2;
  color: var(--lg-blue);
  font-weight: 800;
}

.lg-resort-results-card .results-intro {
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.6;
  color: #4b5875;
}

.lg-resort-match-list {
  display: grid;
  gap: 14px;
}

.lg-resort-item {
  padding: 16px 0;
  border-top: 1px solid rgba(37, 60, 120, 0.08);
}

.lg-resort-item:first-child {
  border-top: none;
  padding-top: 0;
}

.lg-resort-item h4 {
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.25;
  color: var(--lg-blue);
  font-weight: 800;
}

.lg-resort-item p {
  margin: 0 0 10px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--lg-text);
}

.lg-resort-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.lg-resort-tags span {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--lg-blue-soft);
  border: 1px solid rgba(37, 60, 120, 0.08);
  color: var(--lg-blue);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
}


/* ========================================
   QUOTE AREA
======================================== */

.lg-disney-resort-match-form .lg-match-quote-field {
  margin-top: 24px;
}

.lg-disney-resort-match-form .lg-match-quote-field input,
.lg-disney-resort-match-form .lg-match-quote-field select,
.lg-disney-resort-match-form .lg-match-quote-field textarea {
  border-radius: 12px;
  border: 1px solid rgba(37, 60, 120, 0.16);
  padding: 12px 14px;
  font-size: 16px;
}

.lg-disney-resort-match-form .lg-match-quote-field input:focus,
.lg-disney-resort-match-form .lg-match-quote-field select:focus,
.lg-disney-resort-match-form .lg-match-quote-field textarea:focus {
  border-color: var(--lg-blue-2);
  outline: none;
  box-shadow: 0 0 0 3px rgba(43, 89, 195, 0.12);
}

/* Hide submit until quote section is triggered */
.lg-disney-resort-match-form .gform_footer {
  display: none;
}

body.lg-show-quote-submit .lg-disney-resort-match-form .gform_footer {
  display: block;
}


/* =========================================================
   Private Guided Tours Form
   Scoped to .uabb-gf-style
========================================================= */

.uabb-gf-style {
  max-width: 1100px;
  margin: 0 auto;
}

.uabb-gf-style form {
  padding: 10px 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.uabb-gf-style .gfield {
  margin-bottom: 28px;
}

.uabb-gf-style .gfield_label,
.uabb-gf-style .gform-field-label {
  color: var(--lg-blue);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.2px;
  margin-bottom: 6px;
}

.uabb-gf-style .gfield_required_text {
  color: var(--lg-pink);
  font-size: 12px;
  font-weight: 600;
}

.uabb-gf-style .gfield_description {
  font-size: 16px;
  color: #6b7280;
  margin-top: 4px;
  line-height: 1.5;
}

/* =========================================================
   Text Inputs + Textareas
========================================================= */

.uabb-gf-style input[type="text"],
.uabb-gf-style input[type="email"],
.uabb-gf-style input[type="tel"],
.uabb-gf-style input[type="number"],
.uabb-gf-style textarea {
  width: 100%;
  background: #ffffff;
  border: 1px solid rgba(37, 60, 120, 0.10);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 16px;
  color: var(--lg-text-dark);
  transition: var(--lg-transition);
}

.uabb-gf-style input[type="text"]:focus,
.uabb-gf-style input[type="email"]:focus,
.uabb-gf-style input[type="tel"]:focus,
.uabb-gf-style input[type="number"]:focus,
.uabb-gf-style textarea:focus {
  border-color: var(--lg-blue-2);
	box-shadow: 0 0 0 3px rgba(43, 89, 195, 0.12);
	outline: none;
}

.uabb-gf-style input::placeholder,
.uabb-gf-style textarea::placeholder {
  color: #9ca3af;
  opacity: 1;
}

.uabb-gf-style textarea {
  min-height: 120px;
  resize: vertical;
}

/* =========================================================
   Select / Dropdown Fix
========================================================= */

.uabb-gf-style .ginput_container_select {
  position: relative;
}

.uabb-gf-style .ginput_container_select::after {
  display: none !important;
}

.uabb-gf-style select {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(37, 60, 120, 0.18);
  border-radius: 10px;
  background-color: #ffffff;
  color: var(--lg-text-dark);
  padding: 10px 42px 10px 15px;
  font-size: 16px;
  line-height: 1.4;
  box-shadow: none;
  transition: var(--lg-transition);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image:
	linear-gradient(45deg, transparent 50%, var(--lg-blue) 50%),
	linear-gradient(135deg, var(--lg-blue) 50%, transparent 50%);
  background-position:
	calc(100% - 18px) calc(50% - 3px),
	calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.uabb-gf-style select:focus {
  border-color: var(--lg-blue-2);
  outline: none;
  box-shadow: 0 0 0 3px rgba(43, 89, 195, 0.12);
}

.uabb-gf-style select option {
  color: #112337;
  background-color: #ffffff;
}

/* =========================================================
   Date fields
========================================================= */

.uabb-gf-style .ginput_container_date .gform-grid-col input {
  text-align: center;
  padding-left: 8px;
  padding-right: 8px;
}

/* =========================================================
   Optional separators between fields
========================================================= */

.uabb-gf-style .gfield:not(:last-child) {
  border-bottom: 1px solid rgba(37, 60, 120, 0.06);
  padding-bottom: 18px;
}

/* =========================================================
   Radio + Checkbox fields
========================================================= */

.uabb-gf-style .gfield_radio,
.uabb-gf-style .gfield_checkbox {
  display: grid;
  gap: 8px 18px;
  margin-top: 8px;
}

.uabb-gf-style .gf_list_3col .gfield_radio {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.uabb-gf-style .gf_list_2col .gfield_checkbox {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.uabb-gf-style .gchoice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 2px 0;
  margin: 0;
}

.uabb-gf-style .gchoice input[type="checkbox"],
.uabb-gf-style .gchoice input[type="radio"] {
  accent-color: var(--lg-blue-2);
  margin-top: 3px;
  flex: 0 0 auto;
}

.uabb-gf-style .gchoice label {
  font-size: 15px;
  color: var(--lg-blue);
  font-weight: 500;
  line-height: 1.4;
  margin: 0;
}

.uabb-gf-style #field_30_8 .gchoice label {
  font-size: 20px;
  line-height: 1.45;
}

/* =========================================================
   Footer + button
========================================================= */

.uabb-gf-style .gform_footer {
  margin-top: 30px;
  text-align: center;
}

.uabb-gf-style .gform_button {
  min-width: 260px;
  background: var(--lg-blue) !important;
  color: var(--lg-white) !important;
  border: none !important;
  border-radius: 30px !important;
  padding: 14px 32px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  transition: var(--lg-transition);
}

.uabb-gf-style .gform_button:hover {
  background: #1d2f5a !important;
  transform: translateY(-1px) !important;
}

.uabb-gf-style .gform_button:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(43, 89, 195, 0.16) !important;
}


/* =========================================================
   Validation
========================================================= */

.uabb-gf-style .validation_message,
.uabb-gf-style .gfield_validation_message {
  color: #b42318;
  font-size: 13px;
  margin-top: 6px;
}

.uabb-gf-style .gfield_error input[type="text"],
.uabb-gf-style .gfield_error input[type="email"],
.uabb-gf-style .gfield_error input[type="tel"],
.uabb-gf-style .gfield_error input[type="number"],
.uabb-gf-style .gfield_error textarea {
  border-bottom-color: #d92d20 !important;
}

.uabb-gf-style .gfield_error select {
  border-color: #d92d20 !important;
}

/* =========================================================
   Trip summary
========================================================= */
.trip-summary-container {
  background-color: var(--lg-cream);
  border-radius: var(--lg-radius-md);
  padding: 20px;
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  color: var(--lg-blue);
}

.trip-summary-container .summary-box strong {
  display: block;
  margin-bottom: 6px;
  color: var(--lg-blue);
}

.trip-summary-container .summary-box {
  flex: 1 1 160px;
  background-color: var(--lg-white);
  border: 1px solid #e1cfc3;
  padding: 16px;
  border-radius: var(--lg-radius-sm);
  font-weight: 600;
  font-size: 16px;
  text-align: center;
}

.trip-summary-container .summary-box.total {
  flex: 1 1 100%;
  padding: 20px;
  border: 2px solid var(--lg-pink);
  background-color: #fff5f7;
  color: #000;
  font-size: 20px;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* =========================================================
   MENU / NAVIGATION (ROLLBACK + STABLE)
========================================================= */

#mega-menu-bar.max-mega-menu {
  background-color: var(--lg-white) !important;
  color: var(--lg-blue) !important;
}

/* =========================
   MAIN MENU LINKS
========================= */

#mega-menu-bar > li.mega-menu-item > a.mega-menu-link {
  color: var(--lg-blue) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-transform: none !important;
  background: transparent !important;
}

/* Remove hover backgrounds */
#mega-menu-bar > li.mega-menu-item:hover,
#mega-menu-bar > li.mega-menu-item:focus,
#mega-menu-bar > li.mega-menu-item.mega-current-menu-item,
#mega-menu-bar > li.mega-menu-item.mega-toggle-on {
  background: transparent !important;
}

/* Hover = only color */
#mega-menu-bar > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-bar > li.mega-menu-item > a.mega-menu-link:focus {
  color: var(--lg-blue-2) !important;
  background: transparent !important;
}

/* =========================
   SUB MENU CONTAINER (BACK TO YOUR COLORS)
========================= */

#mega-menu-bar .mega-sub-menu {
  background-color: var(--lg-blue-2) !important;
  padding: 10px !important;
  margin: 10px 5px !important;
  border-radius: 15px !important;
}

/* =========================
   SUB MENU LINKS (UNIFIED SIZE)
========================= */

#mega-menu-bar .mega-sub-menu a.mega-menu-link {
  font-size: 15px !important; /* 🔥 same across all */
  text-transform: none !important;
  color: var(--lg-white) !important;
  font-weight: 600 !important;
  background: transparent !important;
  display: inline-block;
  padding-bottom: 2px;
  border-bottom: 2px solid transparent !important; /* 🔥 base state */
}

/* Hover underline (RELIABLE) */
#mega-menu-bar .mega-sub-menu a.mega-menu-link:hover {
  border-bottom: 2px solid var(--lg-white) !important; /* 🔥 base state */

}

/* Remove all background hover noise */
#mega-menu-bar .mega-sub-menu li.mega-menu-item:hover,
#mega-menu-bar .mega-sub-menu li.mega-menu-item a:hover,
#mega-menu-bar .mega-sub-menu li.mega-menu-item.mega-current-menu-item {
  background: transparent !important;
}

#mega-menu-bar .mega-sub-menu a.mega-menu-link {
  display: inline-block !important;
  width: auto !important;
}

/* =========================
   SUB MENU HEADINGS (MATCH SIZE)
========================= */

#mega-menu-bar .mega-menu-item.widget_text,
#mega-menu-bar .mega-menu-item .widget_text {
  font-size: 16px !important; /* 🔥 same size as links */
  text-transform: uppercase !important;
  color: var(--lg-cream) !important;
  margin-bottom: 6px !important;
  background: transparent !important;
  font-weight: 600 !important;
}

/* Remove hover bg */
#mega-menu-bar .mega-menu-item .widget_text:hover,
#mega-menu-bar .mega-menu-item .widget_text:focus {
  background: transparent !important;
}

/* =========================
   HIGHLIGHT BUTTON
========================= */

#mega-menu-bar > li.highlight-menu > a.mega-menu-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 20px !important;
  border: none !important;
  border-radius: 18px !important;
  background: #D16A7F !important;
  color: var(--lg-white) !important;
  font-weight: 800 !important;
  letter-spacing: 0.3px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
  transition: var(--lg-transition) !important;
}

/* Hover */
#mega-menu-bar > li.highlight-menu > a.mega-menu-link:hover {
  background: var(--lg-pink-dark) !important;
  color: var(--lg-cream) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22) !important;
}

/* Focus */
#mega-menu-bar > li.highlight-menu > a.mega-menu-link:focus,
#mega-menu-bar > li.highlight-menu > a.mega-menu-link:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(43, 89, 195, 0.35),
			  0 10px 24px rgba(0, 0, 0, 0.18) !important;
}

.wpml-lang-button {
  display: block;
  margin: 0;
  max-width: 200px;
  padding: 10px 20px;
  background-color: transparent;
  color: var(--lg-white);
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  border: 2px solid var(--lg-white);
  border-radius: 6px;
  font-size: 16px;
  transition: var(--lg-transition);
  box-shadow: 0 4px 6px rgba(51, 51, 51, 0.1);
}
.wpml-lang-button:hover {
  background-color: var(--lg-white) !important;
  color: var(--lg-blue-2) !important;
  border-color: var(--lg-blue-2) !important;
}
.wpml-lang-notice {
  text-align: center;
  font-size: 16px;
  margin: 0 auto;
  color: var(--lg-blue);
}
.wpml-lang-notice a {
  color: var(--lg-pink);
  text-decoration: underline;
}
.wpml-lang-notice a:hover {
  color: #c9a690;
}
.wmpl-button-1 {
  max-width: 180px;
  text-align: center;
}

/* =========================================================
   BENEFITS SECTION
========================================================= */
.laugh-gear-benefits {
  background: #eef2fb;
  position: relative;
}
.laugh-gear-benefits .fl-col-content { padding: 0; }

.fl-node-2wms7abczudk > .fl-col-content {
  max-width: 1380px;
  margin: 0 auto;
  padding: 30px 20px;
}

.laugh-gear-benefits .fl-col-group-nested {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}
.laugh-gear-benefits .fl-col-group-nested > .fl-col {
  width: 33.3333%;
  margin: 0;
  position: relative;
}
.fl-node-auy9mcx4r2vj {
  border-top: 1px solid rgba(80, 128, 210, 0.35);
}
.laugh-gear-benefits .fl-col-group-nested > .fl-col:not(:last-child) {
  border-right: 1px solid rgba(80, 128, 210, 0.35);
}
.laugh-gear-benefits .benefits-box .fl-module-content { margin: 0; }
.laugh-gear-benefits .benefits-box .uabb-infobox-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  min-height: 330px;
  padding: 54px 34px 48px;
  text-align: center;
}
.laugh-gear-benefits .benefits-box .uabb-imgicon-wrap { margin-bottom: 18px; }
.laugh-gear-benefits .benefits-box .uabb-icon i {
  font-size: 34px;
  line-height: 1;
  color: #d96a86;
}
.laugh-gear-benefits .benefits-box .uabb-infobox-title {
  color: #2f67c8;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
  margin: 0 0 16px;
  text-align: center;
}
.laugh-gear-benefits .benefits-box .uabb-infobox-text,
.laugh-gear-benefits .benefits-box .uabb-infobox-text p {
  color: #334f86;
  font-size: 17px;
  line-height: 1.55;
  margin: 0;
  text-align: center;
}
.laugh-gear-benefits .benefits-box .uabb-infobox-text p + p {
  margin-top: 10px;
}
.laugh-gear-benefits .benefits-box .uabb-infobox-text strong,
.laugh-gear-benefits .benefits-box .uabb-infobox-text b {
  color: #d96a86;
  font-weight: 700;
}
.laugh-gear-benefits .benefits-box .uabb-infobox-text-wrap,
.laugh-gear-benefits .benefits-box .uabb-infobox-title-wrap {
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
}
.fl-node-k42iwadpnzyo { display: none; }

/* =========================================================
   FLOWCHART
========================================================= */
.lg-flowchart {
  position: relative;
  margin: 40px 0;
  padding-left: 20px;
  border-left: 4px solid var(--lg-pink);
}
.lg-step {
  position: relative;
  padding: 12px 16px;
  margin: 20px 0;
  background: var(--lg-blue-light);
  border: 2px solid var(--lg-blue);
  border-radius: 6px;
  color: var(--lg-text);
}
.lg-step.primary {
  font-weight: 700;
  background: var(--lg-white);
  border-left: 6px solid var(--lg-blue);
}
.lg-step span {
  display: block;
  margin-top: 4px;
  font-size: 0.85em;
  color: #666;
}
.lg-branch,
.lg-sub-branch {
  position: relative;
  margin-left: 30px;
}
.lg-branch::before,
.lg-sub-branch::before {
  content: "";
  position: absolute;
  top: 0;
  left: -15px;
  height: 100%;
  border-left: 2px dotted var(--lg-pink);
}

/* ========================================
   Service Included Box
======================================== */

.service-included-box {
  background: #ffffff;
  padding: 30px;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.service-included-box .uabb-infobox-title,
.service-included-box h4 {
  font-size: 26px;
  margin-bottom: 20px;
  color: var(--lg-blue);
}

.service-included-box ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.service-included-box ul li {
  margin-bottom: 18px;
  padding-left: 28px;
  position: relative;
}

.service-included-box ul li::before {
  content: "\f00c"; /* check icon */
  font-family: "Font Awesome 6 Pro";
  position: absolute;
  left: 0;
  top: 0;
  color: #D36582;
  font-weight: bold;
}

.service-included-box .service-close,
.service-included-box .chef-close {
  font-size: 18px;
  font-weight: 600;
  margin-top: 20px;
  color: var(--lg-blue);
}


/* =========================================================
   Traveler Types Section
========================================================= */
.lg-traveler-types {
  max-width: 1200px;
  margin: 0 auto;
}

.lg-traveler-types__header {
  text-align: center;
  margin-bottom: 70px;
}

.lg-traveler-types__header h2 {
  font-size: 36px;
  color: var(--lg-blue);
  margin-bottom: 14px;
}

.lg-traveler-types__header p {
  font-size: 20px;
  color: var(--lg-text);
  max-width: 760px;
  margin: 0 auto;
  line-height: 1.7;
}

.lg-traveler-types__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 60px;
  align-items: stretch;
}

.lg-traveler-card {
  background: var(--lg-white);
  padding: 50px;
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(37, 60, 120, 0.08);
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.lg-traveler-card--blue {
  border: 2px solid var(--lg-blue-2);
}

.lg-traveler-card--pink {
  border: 3px solid var(--lg-pink);
}

.lg-traveler-card__eyebrow {
  margin: 0 0 10px;
  font-weight: 700;
  color: var(--lg-blue-2);
  letter-spacing: 0.5px;
  text-transform: uppercase;
  font-size: 16px;
}

.lg-traveler-card__eyebrow--pink {
  color: var(--lg-pink);
}

.lg-traveler-card h3 {
  color: var(--lg-blue);
  font-size: 28px;
  margin: 0 0 14px;
  line-height: 1.25;
}

.lg-traveler-card__intro {
  font-size: 18px;
  line-height: 1.7;
  margin: 0;
  color: var(--lg-text);
}

.lg-traveler-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 14px;
}

.lg-traveler-card__list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 16px;
  border-radius: 12px;
  background: #f9fbff;
  border: 1px solid rgba(43, 89, 195, 0.12);
}

.lg-traveler-card__list--pink li {
  background: #fff5f7;
  border: 1px solid rgba(211, 101, 130, 0.18);
}

.lg-traveler-card__list i {
  color: var(--lg-pink);
  font-size: 18px;
  margin-top: 2px;
  flex: 0 0 auto;
}

.lg-traveler-card__list span {
  font-size: 18px;
  color: var(--lg-blue);
  font-weight: 600;
  line-height: 1.5;
}

.lg-traveler-card__footer {
  margin-top: auto;
  padding: 16px 18px;
  border-radius: 14px;
}

.lg-traveler-card__footer--blue {
  background: var(--lg-blue-light);
  border-left: 6px solid var(--lg-blue-2);
}

.lg-traveler-card__footer--cream {
  background: var(--lg-cream);
  border-left: 6px solid var(--lg-pink);
}

.lg-traveler-card__footer strong {
  color: var(--lg-blue);
}

.lg-traveler-card__footer span {
  color: var(--lg-text);
  font-size: 18px;
  line-height: 1.6;
}

.lg-traveler-types__cta {
  text-align: center;
  margin-top: 80px;
}

.lg-traveler-types__cta p {
  font-size: 20px;
  margin-bottom: 24px;
  color: var(--lg-text);
}

.lg-traveler-types__note {
  margin-top: 16px;
  margin-bottom: 0;
  font-size: 16px !important;
  color: #555;
}


/* ========================================
   Minimal Clean Section Rows
======================================== */

.first-menu-row,
.second-menu-row {
  position: relative;
  overflow: hidden;
}

.first-menu-row {
  background: #f5f8fd;
}

.second-menu-row {
  background: #fcf7f9;
}

.first-menu-row .fl-row-content-wrap,
.second-menu-row .fl-row-content-wrap {
  position: relative;
  z-index: 1;
  padding-top: 28px;
  padding-bottom: 28px;
}

/* subtle divider */
.first-menu-row::after,
.second-menu-row::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: min(92%, 1120px);
  height: 1px;
  background: rgba(37, 60, 120, 0.10);
  pointer-events: none;
}

/* ========================================
   Button
======================================== */

.tour-button {
  margin-top: 8px;
}



/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 992px) {
  .laugh-gear-benefits .fl-col-group-nested > .fl-col {
	width: 50%;
  }

  .laugh-gear-benefits .fl-col-group-nested > .fl-col:nth-child(2n) {
	border-right: none;
  }

  .laugh-gear-benefits .benefits-box .uabb-infobox-content {
	min-height: auto;
	padding: 40px 24px;
  }

  .laugh-gear-benefits .benefits-box .uabb-infobox-title {
	font-size: 20px;
  }

  .laugh-gear-benefits .benefits-box .uabb-infobox-text,
  .laugh-gear-benefits .benefits-box .uabb-infobox-text p {
	font-size: 16px;
  }

  .uabb-gf-style .gf_list_3col .gfield_radio,
  .uabb-gf-style .gf_list_2col .gfield_checkbox {
	grid-template-columns: 1fr;
  }
  .intro-strip-row {
	  margin-top: 0;
	}
  
	.intro-box-row {
	  padding: 22px;
	}
  
	.intro-box-row .fl-col-content {
	  padding-left: 8px;
	  padding-right: 8px;
	}
  
	.intro-box-row .fl-row-content-wrap {
	  margin-left: -8px;
	  margin-right: -8px;
	}
	.lg-traveler-types__grid {
		gap: 30px;
	  }
	
	  .lg-traveler-card {
		padding: 34px 28px;
	  }
}

@media (max-width: 768px) {
  .row-after-hero-main .fl-col-group {
	margin-left: 0;
	margin-right: 0;
  }

  .row-after-hero-main .fl-col-group > .fl-col {
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 20px;
  }
  
  .sub-hero-quick-answer {
	  padding: 20px;
	  margin: 24px auto;
	}
  
	.sub-hero-quick-answer .uabb-infobox-title {
	  font-size: 24px !important;
	}
  
	.sub-hero-quick-answer .uabb-infobox-text,
	.sub-hero-quick-answer .uabb-infobox-text p {
	  font-size: 16px !important;
	}
  
	.sub-hero-quick-answer .uabb-button,
	.sub-hero-quick-answer .uabb-creative-button {
	  display: block !important;
	  width: 100%;
	  text-align: center !important;
	}

  .quick-answer-lg {
	max-width: 100%;
	padding: 16px;
  }

  .quick-answer-lg .uabb-infobox-title {
	font-size: 18px;
  }

  .quick-answer-lg .uabb-infobox-text {
	font-size: 15px;
  }

  .quick-tips-lg {
	padding: 20px 16px 18px;
	border-radius: 14px;
  }

  .quick-tips-lg .uabb-infobox-title,
  .quick-tips-lg h2,
  .quick-tips-lg h3 {
	font-size: 22px;
  }

  .quick-tips-lg .uabb-infobox-text,
  .quick-tips-lg .uabb-infobox-text p,
  .quick-tips-lg .uabb-infobox-text li {
	font-size: 16px;
	line-height: 1.65;
  }

  .youtube-video-box {
	border-radius: 18px;
	padding: 24px 16px 26px;
	margin: 20px auto;
  }

  .youtube-video-heading {
	margin-bottom: 18px;
  }

  .youtube-video-heading .uabb-infobox-title,
  .youtube-video-heading h2 {
	font-size: 28px;
	line-height: 1.2;
  }

  .youtube-video-heading .uabb-infobox-text,
  .youtube-video-heading .uabb-infobox-text p,
  .youtube-video-heading p {
	font-size: 16px;
	line-height: 1.6;
  }

  .youtube-video-box iframe,
  .youtube-video-box video,
  .youtube-video-box .fluid-width-video-wrapper,
  .youtube-video-box .wp-block-embed,
  .youtube-video-box .embed-container {
	border-radius: 14px;
  }

  .fl-node-2wms7abczudk > .fl-col-content {
	padding: 20px 16px;
  }

  .laugh-gear-benefits .fl-col-group-nested {
	display: block;
  }

  .laugh-gear-benefits .fl-col-group-nested > .fl-col {
	width: 100%;
	border-right: none !important;
	border-bottom: 1px solid rgba(80, 128, 210, 0.28);
  }

  .laugh-gear-benefits .fl-col-group-nested > .fl-col:last-child {
	border-bottom: none;
  }
  
  .calculator-form .gfield_description,
	.language-notice-pill .wpml-lang-notice,
	.laughgear-warning-box {
	  font-size: 14px;
	}

  .fl-node-auy9mcx4r2vj {
	border-top: none;
  }

  .laugh-gear-benefits .benefits-box .uabb-infobox-content {
	padding: 34px 18px;
  }

  .laugh-gear-benefits .benefits-box .uabb-icon i {
	font-size: 30px;
  }

  .laugh-gear-benefits .benefits-box .uabb-infobox-title {
	font-size: 24px;
  }

  .laugh-gear-benefits .benefits-box .uabb-infobox-text,
  .laugh-gear-benefits .benefits-box .uabb-infobox-text p {
	font-size: 17px;
	line-height: 1.6;
  }

  .wpml-lang-button {
	display: block;
	margin-bottom: 60px;
  }

  .max-mega-menu {
	background-color: var(--lg-white) !important;
	color: var(--lg-blue) !important;
	border-top: 2px solid var(--lg-cream) !important;
  }

  a.mega-menu-link {
	display: block !important;
	padding: 14px 18px !important;
	border-bottom: 1px solid #f3f3f3 !important;
	color: var(--lg-blue) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
  }

  li.mega-menu-item:hover,
  li.mega-menu-item:active {
	background-color: var(--lg-cream) !important;
  }

  .mega-sub-menu {
	background-color: var(--lg-white) !important;
	padding: 4px 10px !important;
	margin: 0 !important;
	border-left: 3px solid var(--lg-cream) !important;
  }

  .mega-sub-menu .mega-menu-link {
	font-size: 14px !important;
	color: var(--lg-text) !important;
	text-transform: none !important;
	line-height: 1.4 !important;
	padding: 10px 12px !important;
  }

  .mega-menu-item .widget_text {
	font-size: 14px !important;
	text-transform: uppercase !important;
	color: var(--lg-pink) !important;
	margin: 10px 0 5px !important;
	padding: 0 12px !important;
	font-weight: 700 !important;
	border-left: 3px solid var(--lg-pink) !important;
  }

  .book-trip-cta {
	padding: 26px 18px;
	margin: 30px auto;
	border-radius: 16px;
  }

  .book-trip-cta h2 {
	font-size: 28px;
  }

  .book-trip-cta p {
	font-size: 16px;
	line-height: 1.6;
  }

  .book-trip-cta .no-cost {
	font-size: 15px;
  }
  
  .hero-row-right-side-image {display: none;
	  
  }
 
   .uabb-gf-style .gfield_label,
   .uabb-gf-style .gform-field-label {
	 font-size: 15px;
   }
 
   .uabb-gf-style input[type="text"],
   .uabb-gf-style input[type="email"],
   .uabb-gf-style input[type="tel"],
   .uabb-gf-style input[type="number"],
   .uabb-gf-style textarea,
   .uabb-gf-style select {
	 font-size: 16px;
   }
 
   .uabb-gf-style .gchoice label {
	 font-size: 14px;
   }
 
   .uabb-gf-style .gform_button {
	 width: 100%;
	 min-width: 0;
   }
   
   .tour-intro-box .uabb-module-content.uabb-infobox {
	   padding: 24px 20px;
	   border-radius: 16px;
	 }
   
	 .tour-intro-box .uabb-infobox-text p {
	   font-size: 16px;
	   line-height: 1.7;
	 }
   
	 .tour-intro-highlights {
	   gap: 8px;
	   margin-top: 18px;
	 }
   
	 .tour-intro-highlights span {
	   font-size: 12px;
	   padding: 7px 12px;
	 }
	.first-menu-row .fl-row-content-wrap,
	  .second-menu-row .fl-row-content-wrap {
		padding-top: 20px;
		padding-bottom: 20px;
	  }
	
	  .tour-row-card .fl-row-content {
		padding: 20px;
		border-radius: 14px;
	  }
	
	  .tour-row-image img,
	  .tour-row-image .fl-photo-content img,
	  .tour-row-image .uabb-image img {
		aspect-ratio: 16 / 10;
	  }
	
	  .tour-tag-list .uabb-info-list,
	  .tour-tag-list .uabb-info-list-wrap,
	  .tour-tag-list .uabb-info-list-wrapper,
	  .tour-tag-list .uabb-info-list-outter,
	  .tour-tag-list .uabb-info-list-content-wrapper {
		gap: 8px !important;
	  }
	
	  .tour-tag-list .uabb-info-list-item {
		padding: 6px 10px !important;
	  }
	
	  .tour-tag-list .uabb-info-list-title,
	  .tour-tag-list .uabb-info-list-title-text,
	  .tour-tag-list span,
	  .tour-tag-list a {
		font-size: 12px !important;
	  }
	
	  .tour-meta-list .uabb-list-item {
		font-size: 12px;
	  } 
	  
	
	  .calculator-form .gfield_description,
	  .language-notice-pill .wpml-lang-notice,
	  .laughgear-warning-box {
		font-size: 14px;
	  }
	
	  .trip-summary-container {
		padding: 14px;
		gap: 12px;
	  }
	
	  .trip-summary-container .summary-box {
		flex: 1 1 100%;
	  }
	
	  .trip-summary-container .summary-box.total {
		font-size: 18px;
	  }
	
	  .laughgear-btn-1 .uabb-button,
	  .laughgear-btn-1 .uabb-button-link {
		width: 100%;
		font-size: 18px;
	  }
	  
	.intro-stat-module {
		padding: 18px;
	  }
	
	  .intro-stat-module .uabb-infobox-title,
	  .intro-stat-module .fl-heading {
		font-size: 16px;
	  }
	
	  .intro-stat-module .uabb-infobox-text,
	  .intro-stat-module .uabb-infobox-text p,
	  .intro-stat-module .uabb-text-editor,
	  .intro-stat-module .uabb-text-editor p {
		font-size: 14px;
	  }
	
	  .intro-box-row .fl-col-content {
		padding-left: 0;
		padding-right: 0;
	  }
	
	  .intro-box-row .fl-row-content-wrap {
		margin-left: 0;
		margin-right: 0;
	  }
	  .resort-titles  .uabb-infobox-title  {
		 text-align: center; 
	  }
	  .wpml-lang-button {
		  display: block;
		  margin: 0 auto;
		  width: fit-content;
		  text-align: center;
		}
	.lg-traveler-types__header {
		margin-bottom: 40px;
	  }
	
	  .lg-traveler-types__header h2 {
		font-size: 28px;
		line-height: 1.2;
	  }
	
	  .lg-traveler-types__header p {
		font-size: 16px;
		line-height: 1.6;
	  }
	
	  .lg-traveler-types__grid {
		grid-template-columns: 1fr;
		gap: 22px;
	  }
	
	  .lg-traveler-card {
		padding: 24px 20px;
		border-radius: 16px;
		gap: 18px;
	  }
	
	  .lg-traveler-card h3 {
		font-size: 24px;
		line-height: 1.25;
	  }
	
	  .lg-traveler-card__intro {
		font-size: 16px;
		line-height: 1.65;
	  }
	
	  .lg-traveler-card__list {
		gap: 10px;
	  }
	
	  .lg-traveler-card__list li {
		padding: 12px 14px;
		gap: 10px;
	  }
	
	  .lg-traveler-card__list span {
		font-size: 16px;
		line-height: 1.45;
	  }
	
	  .lg-traveler-card__footer {
		padding: 14px 16px;
	  }
	
	  .lg-traveler-card__footer span {
		font-size: 16px;
	  }
	
	  .lg-traveler-types__cta {
		margin-top: 40px;
	  }
	
	  .lg-traveler-types__cta p {
		font-size: 17px;
		line-height: 1.5;
	  }
	
	  .lg-traveler-types__cta .laughgear-btn-clean-1 {
		width: 100%;
		max-width: 320px;
	  }
	
	  .lg-traveler-types__note {
		font-size: 14px !important;
	  }	
	  
	  .lg-disney-resort-match-form .gfield_label,
		.lg-disney-resort-match-form .gform-field-label {
		  font-size: 18px;
		}
	  
		.lg-resort-results-card {
		  padding: 18px 16px;
		}
	  
		.lg-resort-results-card h3 {
		  font-size: 24px;
		}
	  
		.lg-resort-item h4 {
		  font-size: 20px;
		}
	  
		.lg-resort-item p {
		  font-size: 15px;
		}
	  
		.lg-resort-tags span {
		  font-size: 12px;
		}
		
		.lg-featured-posts-card .pp-content-grid-inner {
			padding: 18px;
		  }
		
		  .lg-featured-posts-card .pp-post-title {
			font-size: 18px;
		  }
		  
		 .video-box-col .uabb-infobox-content {
			 padding: 18px;
		   }
		 
		   .video-box-col .uabb-infobox-title {
			 font-size: 20px !important;
		   }
		 
		   .video-box-col .uabb-button {
			 display: block !important;
			 width: 100%;
			 text-align: center;
		   }
		 
		   .new-for-2026-copy {
			 display: block;
		   }
		 
		   .new-for-2026-copy .uabb-infobox-title {
			 font-size: 24px !important;
		   }
		 
		   .new-for-2026-copy .uabb-infobox-text {
			 font-size: 16px;
		   }
		 
		   .lg-date-list li {
			 width: 44px;
			 height: 44px;
			 font-size: 14px;
		   } 
		   
		   .lg-date-card .uabb-infobox-content {
			   padding: 22px 18px !important;
			 }
		   
			 .lg-date-card .uabb-infobox-title {
			   font-size: 22px !important;
			 }
		   
			 .lg-date-card ul.lg-date-row li,
			 .uabb-infobox-text ul.lg-date-row li {
			   width: 44px !important;
			   height: 44px !important;
			   font-size: 14px !important;
			 }
}

@media screen and (max-width: 722px) {
  h1 { font-size: 28px; }
  h2 { font-size: 24px; }
  h3 { font-size: 20px; }
  h4 { font-size: 18px; }

  .hero-row-title {
	font-size: 24px;
	text-align: center !important;
  }

  .hero-row-description {
	font-size: 20px;
	text-align: center !important;
  }

  .laughgear-video-wrapper {
	background-color: transparent;
	border: none;
	border-radius: 16px;
	padding: 10px;
	box-shadow: 0 8px 24px rgba(37, 60, 120, 0.15);
	max-width: 800px;
  }

  .top-hero-row-main .fl-row-content-wrap {
	padding: 5% 5% 100px;
  }

  .header-row {
	font-size: 20px !important;
  }
  .header-row h2 {
	  font-size: 28px;
	}
	
	.header-row p,
	  .hero-description,
	  .lg-estimator-intro .uabb-infobox-text,
	  .travel-cost-note .uabb-infobox-text {
		font-size: 16px;
	  }	
  .simple-box-destination.top-item-adjust {
	margin-top: -10px;
  }

  .wmpl-button-1 {
	margin: 0 auto;
	display: block;
  }

  .lg-how-step {
	grid-template-columns: 46px 1fr;
	padding: 16px 14px;
  }

  .lg-how-step-icon {
	width: 42px;
	height: 42px;
	font-size: 18px;
	border-radius: 10px;
  }

  .lg-how-it-works h2 {
	font-size: 24px;
  }

  .lg-perfect-for {
	margin: 40px 14px;
	padding: 22px 16px;
  }

  .lg-perfect-for h2 {
	font-size: 24px;
  }

  .lg-perfect-for-sub,
  .lg-perfect-for-cta p {
	font-size: 16px;
  }

  .lg-perfect-for-grid {
	grid-template-columns: 1fr;
  }
 #mega-menu-wrap-primary{
 
	 background:#fff;
 
 }
 
 #mega-menu-wrap-primary #mega-menu-bar{
 
	 padding:14px;
 
	 background:#fff;
 
 }
 
 /* MAIN MENU ITEMS */
 
 #mega-menu-wrap-primary #mega-menu-bar>li.mega-menu-item{
 
	 margin-bottom:10px;
 
	 border-radius:14px;
 
	 overflow:hidden;
 
	 background:#fff;
 
	 border:1px solid var(--lg-border-soft);
 
	 box-shadow:0 4px 12px rgba(37,60,120,.06);
 
 }
 
 #mega-menu-wrap-primary #mega-menu-bar>li>a.mega-menu-link{
 
	 min-height:58px;
 
	 display:flex !important;
 
	 align-items:center;
 
	 justify-content:space-between;
 
	 padding:0 18px !important;
 
	 font-size:17px !important;
 
	 font-weight:700 !important;
 
	 color:var(--lg-blue)!important;
 
	 border:none!important;
 
	 background:#fff;
 
 }
 
 #mega-menu-wrap-primary #mega-menu-bar>li.mega-toggle-on>a{
 
	 background:var(--lg-blue-soft)!important;
 
 }
 
 /* SUBMENU */
 
 #mega-menu-wrap-primary .mega-sub-menu{
 
	 padding:8px 0 16px!important;
 
	 border:none!important;
 
	 background:#fafcff!important;
 
 }
 
 /* CATEGORY HEADINGS */
 
 #mega-menu-wrap-primary .widget_text{
 
	 margin:18px 18px 8px!important;
 
	 padding:0!important;
 
	 border:none!important;
 
	 background:none!important;
 
 }
 
 #mega-menu-wrap-primary .widget_text strong{
 
	 font-size:12px;
 
	 text-transform:uppercase;
 
	 letter-spacing:1.6px;
 
	 color:var(--lg-pink);
 
 }
 
 /* SUBMENU LINKS */
 
 #mega-menu-wrap-primary .mega-sub-menu .mega-menu-link{
 
	 padding:12px 22px!important;
 
	 margin:0 12px;
 
	 border-radius:10px;
 
	 border:none!important;
 
	 color:var(--lg-text)!important;
 
	 font-size:15px!important;
 
	 font-weight:500!important;
 
	 transition:.25s;
 
 }
 
 #mega-menu-wrap-primary .mega-sub-menu .mega-menu-link:hover{
 
	 background:var(--lg-blue-light);
 
	 color:var(--lg-blue)!important;
 
 }
 
 /* CURRENT PAGE */
 
 #mega-menu-wrap-primary .current-menu-item>a,
 
 #mega-menu-wrap-primary .current_page_item>a{
 
	 background:var(--lg-blue-light)!important;
 
	 color:var(--lg-blue)!important;
 
 }
 
 /* INDICATOR */
 
 #mega-menu-wrap-primary .mega-indicator{
 
	 font-size:18px;
 
	 color:var(--lg-blue);
 
 }
	
	.llg-wrap {
		padding: 22px 18px;
		margin: 24px auto;
	  }
	
	  .lng-title {
		font-size: 26px;
	  }
	
	  .lng-sub {
		font-size: 16px;
	  }
	
	  .llg-toggle-card {
		padding: 20px 18px;
	  }
	
	  .llg-toggle-title {
		font-size: 18px;
	  }
	
	  .llg-toggle-label {
		font-size: 16px;
	  }
	
	  .lng-actions {
		display: grid;
		grid-template-columns: 1fr;
	  }
	
	  .lng-btn,
	  .llg-btn-quote {
		width: 100%;
	  }
	
	  .llg-cta {
		padding: 26px 18px;
	  }
	
	  .llg-cta h4 {
		font-size: 24px;
	  }
	
  
}

 @media (max-width: 480px) {
.lg-traveler-types {
  padding-left: 14px;
  padding-right: 14px;
}

.lg-traveler-types__header h2 {
  font-size: 24px;
}

.lg-traveler-card h3 {
  font-size: 22px;
}

.lg-traveler-card__eyebrow {
  font-size: 12px;
}
}