   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;
     }
}

/* =========================================================
   TABLET / MOBILE — 768px AND BELOW
========================================================= */

@media (max-width: 768px) {

  /* =======================================================
    GENERAL LAYOUT
  ======================================================= */

  .row-after-hero-main .fl-col-group {
   margin-right: 0;
   margin-left: 0;
  }

  .row-after-hero-main .fl-col-group > .fl-col {
   margin-bottom: 20px;
   padding-right: 0;
   padding-left: 0;
  }

  .hero-row-right-side-image {
   display: none;
  }


  /* =======================================================
    QUICK ANSWERS / CONTENT BOXES
  ======================================================= */

  .sub-hero-quick-answer {
   margin: 24px auto;
   padding: 20px;
  }

  .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;
  }

  .book-trip-cta {
   margin: 30px auto;
   padding: 26px 18px;
   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;
  }


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

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

  .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;
  }

  .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;
  }


  /* =======================================================
    BENEFITS SECTION
  ======================================================= */

  .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;
  }

  .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;
  }


  /* =======================================================
    FORMS
  ======================================================= */

  .calculator-form .gfield_description,
  .language-notice-pill .wpml-lang-notice,
  .laughgear-warning-box {
   font-size: 14px;
  }

  .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;
  }

  .trip-summary-container {
   gap: 12px;
   padding: 14px;
  }

  .trip-summary-container .summary-box {
   flex: 1 1 100%;
  }

  .trip-summary-container .summary-box.total {
   font-size: 18px;
  }


  /* =======================================================
    WPML LANGUAGE BUTTON
  ======================================================= */

  .wpml-lang-button {
   display: block;
   width: fit-content;
   margin: 0 auto;
   text-align: center;
  }


  /* =======================================================
    TOUR PAGES
  ======================================================= */

  .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 {
   padding: 7px 12px;
   font-size: 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;
  }


  /* =======================================================
    INTRO STAT CARDS
  ======================================================= */

  .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-right: 0;
   padding-left: 0;
  }

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

  .resort-titles .uabb-infobox-title {
   text-align: center;
  }


  /* =======================================================
    TRAVELER TYPES
  ======================================================= */

  .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 {
   gap: 18px;
   padding: 24px 20px;
   border-radius: 16px;
  }

  .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 {
   gap: 10px;
   padding: 12px 14px;
  }

  .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;
  }


  /* =======================================================
    RESORT MATCH TOOL
  ======================================================= */

  .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;
  }


  /* =======================================================
    FEATURED POSTS / DATE CARDS
  ======================================================= */

  .lg-featured-posts-card .pp-content-grid-inner {
   padding: 18px;
  }

  .lg-featured-posts-card .pp-post-title {
   font-size: 18px;
  }

  .new-for-2026-copy {
   display: block;
  }

  .new-for-2026-copy .uabb-infobox-title {
   font-size: 24px !important;
  }

  .new-for-2026-copy .uabb-infobox-text,
  .new-for-2026-copy .uabb-infobox-text p {
   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;
  }


  /* =======================================================
    BUTTONS
  ======================================================= */

  .laughgear-btn-1 .uabb-button,
  .laughgear-btn-1 .uabb-button-link {
   width: 100%;
   font-size: 18px;
  }


  /* =======================================================
    LIGHTNING LANE CALCULATOR
  ======================================================= */

  .llg-wrap {
   margin: 24px auto;
   padding: 22px 18px;
  }

  .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;
  }


  .lg-tip-highlight {
    margin: 30px 0;
    padding: 24px 20px;
    font-size: 16px;
    line-height: 26px;
  }
}

/* =========================================================
   SMALL MOBILE — 722px AND BELOW
========================================================= */

@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 {
   max-width: 800px;
   padding: 10px;
   border: 0;
   border-radius: 16px;
   background-color: transparent;
   box-shadow: 0 8px 24px rgba(37, 60, 120, 0.15);
  }

  .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 {
   display: block;
   margin: 0 auto;
  }

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

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

  .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;
  }

  
}


/* =========================================================
   EXTRA SMALL MOBILE — 480px AND BELOW
========================================================= */

@media (max-width: 480px) {

  .lg-traveler-types {
   padding-right: 14px;
   padding-left: 14px;
  }

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

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

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

@media (max-width: 768px) {
  .lg-cruise-main-hero-image { max-width: 390px; margin: 20px auto 0; transform: rotate(.75deg); }
  .lg-cruise-main-hero-image .pp-photo-img { height: auto; aspect-ratio: 4 / 3; }
}
@media (max-width: 768px) {
  .lg-main-options .fl-row-content, .lg-main-plan .fl-row-content,
  .lg-main-testimonials .fl-row-content, .lg-main-guides-row .fl-row-content,
  .lg-home-about-row .fl-row-content, .lg-main-cta .fl-row-content { padding-top: 46px; padding-bottom: 46px; }
  .lg-main-options-card, .lg-planning-card, .lg-main-guides-card { margin-bottom: 18px; }
  .lg-main-options-card .uabb-image-content img, .lg-main-guides-card .uabb-image-content img { height: 210px; }
  .lg-main-options .fl-col-group-nested,
  .lg-main-testimonials .fl-col-group-nested,
  .lg-main-guides-row .fl-col-group-nested,
  .lg-main-plan .fl-col-group-nested { display: block !important; }
}
}@media (max-width: 900px) {
  .fl-row.lg-fleet-grid-row .fl-col-group-nested { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 767px) {
  .lg-cruise-hero-image .pp-photo-content { padding: 10px 10px 38px; transform: rotate(.5deg); }
  .lg-cruise-hero-image .pp-content-post,
  .lg-cruise-hero-image .pp-content-grid-post { max-width: 360px; margin: 0 auto; border-width: 8px; transform: rotate(.5deg); }
  .lg-cruise-hero-image .pp-post-featured-img img { height: 205px !important; }
  .lg-cruise-hero .fl-row-content-wrap, .lg-cruise-quote .fl-row-content-wrap,
  .lg-fleet-hero .fl-row-content-wrap, .lg-fleet-help .fl-row-content-wrap { padding: 64px 16px; }
  .lg-cruise-intro .fl-row-content-wrap, .lg-cruise-services .fl-row-content-wrap, .lg-cruise-process .fl-row-content-wrap,
  .lg-fleet-intro .fl-row-content-wrap, .lg-fleet-section .fl-row-content-wrap, .lg-fleet-details .fl-row-content-wrap { padding-right: 16px; padding-left: 16px; }
  .lg-cruise-card-grid, .lg-cruise-steps { display: block; }
  .lg-cruise-card { margin-bottom: 18px; }
  .lg-cruise-steps li { margin-bottom: 28px; }
  .lg-cruise-steps li:not(:last-child)::after { display: none; }
  .fl-row.lg-fleet-grid-row .fl-col-group-nested { grid-template-columns: 1fr !important; }
  .lg-ship-fleet-card { width: calc(100% - 16px); min-height: 0; margin: 8px; }
  .lg-ship-detail .fl-row-content-wrap { padding-right: 16px; padding-bottom: 22px; padding-left: 16px; }
  .lg-ship-detail .fl-col-group-nested { grid-template-columns: 1fr; }
  .lg-ship-detail-image .pp-photo-content,
  .lg-ship-detail-image .pp-photo-img { min-height: 220px; }
  .lg-ship-detail-content { padding: 28px 24px; }
}

@media (max-width: 640px) {
  .lg-cruise-form .gform_wrapper { padding: 20px !important; }
  .lg-cruise-form .gform_fields { row-gap: 12px !important; }
  .lg-cruise-form textarea { height: 112px !important; min-height: 112px !important; }
}

/* Ship detail card refinements at tablet and phone sizes. */
@media (max-width: 860px) {
  .lg-ship-detail .fl-row-content-wrap { padding: 0 16px 34px; }
  .lg-ship-detail .fl-col-group-nested { grid-template-columns: 1fr; }
  .lg-ship-detail-image .pp-photo-content,
  .lg-ship-detail-image .pp-photo-img { min-height: 230px; }
  .lg-ship-detail-content { padding: 32px 26px; }
}

@media (max-width: 640px) {
  .lg-ship-detail-content { padding: 28px 22px; }
  .lg-ship-detail-summary .uabb-infobox-title { font-size: 32px !important; }
  .lg-ship-detail-highlights p { padding: 13px 14px; }
}
@media (max-width: 767px) {
  .lg-cruise-hero-image-column { flex-basis: 100% !important; max-width: 100% !important; }
  .lg-cruise-next-step .fl-col-group-nested,
  .lg-cruise-home-port .fl-col-group-nested,
  .lg-cruise-prep .fl-col-group-nested { display: block !important; }
  .lg-cruise-next-step .fl-col-group-nested > .fl-col,
  .lg-cruise-home-port .fl-col-group-nested > .fl-col,
  .lg-cruise-prep .fl-col-group-nested > .fl-col { display: block !important; margin-bottom: 22px !important; }
  .lg-cruise-next-step .lg-cruise-card,
  .lg-cruise-home-port .lg-cruise-card,
  .lg-cruise-prep .lg-cruise-card { min-height: 0; }
  .lg-cruise-hub-guide-column-links > .fl-col-content { margin-top: 24px; padding: 28px 25px; }
  .lg-cruise-hub-feature-copy .uabb-image-content,
  .lg-cruise-hub-feature-copy .uabb-photo-img { height: 210px !important; }
  .lg-cruise-hub-feature-copy .uabb-infobox-title { font-size: 28px !important; }
  .lg-cruise-updates-feed .uabb-blog-posts { grid-template-columns: 1fr !important; }
}
