/* Laugh & Gear — Disney Cruise pages
   One stylesheet for:
   - /book-your-disney-cruise-line-vacation-package/
   - /disney-cruise-line-ships/
   Load this after the main theme and forms styles. */

/* Shared layout and type */
.lg-cruise-hero *, .lg-cruise-intro *, .lg-cruise-services *, .lg-cruise-process *, .lg-cruise-quote *,
.lg-fleet-hero *, .lg-fleet-intro *, .lg-fleet-section *, .lg-fleet-help *, .lg-fleet-details * { box-sizing: border-box; }

.lg-cruise-hero .fl-row-content, .lg-fleet-hero .fl-row-content { max-width: 1120px; }
.lg-cruise-hero .fl-row-content-wrap, .lg-fleet-hero .fl-row-content-wrap { padding: 82px 20px 72px; }
.lg-cruise-hero h1, .lg-cruise-hero .uabb-infobox-title-prefix,
.lg-fleet-hero h1, .lg-fleet-hero .uabb-infobox-title-prefix { color: #fff; font-size: clamp(38px, 5vw, 62px); line-height: 1.12; }
.lg-cruise-eyebrow, .lg-fleet-eyebrow { color: #FFEECF; font-size: 14px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.lg-cruise-hero-image .pp-photo-content, .lg-fleet-hero-image .pp-photo-content { overflow: hidden; border-radius: 28px; box-shadow: 0 22px 45px rgba(11, 28, 70, .25); }
.lg-cruise-hero-image .pp-photo-img, .lg-fleet-hero-image .pp-photo-img { aspect-ratio: 4 / 3; object-fit: cover; }

/* Booking page — hero */
.lg-cruise-lead { max-width: 620px; color: #fff; font-size: 20px; line-height: 1.6; }
.lg-cruise-reassurance { margin-top: 16px; color: #F7E5C0; font-size: 18px; }
.lg-cruise-proof { display: flex; flex-wrap: wrap; gap: 8px 18px; color: #fff; font-size: 18px; font-weight: 600; line-height: 1.4; }
.lg-cruise-proof span { white-space: nowrap; }

/* Both page introductions */
.lg-cruise-intro .fl-row-content-wrap { padding: 72px 20px 40px; }
.lg-fleet-intro .fl-row-content-wrap { padding: 82px 20px 56px; }
.lg-cruise-intro-grid > .fl-col, .lg-fleet-intro-grid > .fl-col { display: flex; align-items: center; }
.lg-cruise-intro-heading .uabb-infobox-title-prefix, .lg-fleet-intro-heading .uabb-infobox-title-prefix {
  display: block; margin: 0 0 14px; color: #C4586E; font-size: 14px; font-weight: 800; letter-spacing: 1px; line-height: 1.2; text-transform: uppercase;
}
.lg-cruise-intro-heading .uabb-infobox-title, .lg-fleet-intro-heading .uabb-infobox-title { margin: 0; color: #112337; font-size: clamp(34px, 3.8vw, 52px); line-height: 1.08; }
.lg-cruise-intro-copy .uabb-infobox-text, .lg-cruise-intro-copy .uabb-infobox-text p,
.lg-fleet-intro-copy .uabb-infobox-text, .lg-fleet-intro-copy .uabb-infobox-text p { max-width: 500px; margin: 0; color: #333; font-size: 19px; line-height: 1.65; }

/* Booking page — benefit cards */
.lg-cruise-services .fl-row-content-wrap { padding: 65px 20px 76px; }
.lg-cruise-card-grid { display: flex; align-items: stretch; gap: 22px; }
.lg-cruise-card-grid > .fl-col { display: flex; padding: 0 !important; }
.lg-cruise-card-grid > .fl-col > .fl-col-content, .lg-cruise-card-grid > .fl-col .lg-cruise-card { display: flex; width: 100%; }
.lg-cruise-card-grid > .fl-col .lg-cruise-card { flex: 1 1 auto; }
.lg-cruise-card-grid > .fl-col .lg-cruise-card > .fl-module-content { width: 100%; }
.lg-cruise-card { width: 100%; height: 100%; padding: 30px 28px 25px; border: 1px solid rgba(37, 60, 120, .12); border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(37, 60, 120, .10); transition: transform .25s ease, box-shadow .25s ease; }
.lg-cruise-card:hover { box-shadow: 0 14px 34px rgba(37, 60, 120, .12); transform: translateY(-5px); }
.lg-cruise-card .uabb-infobox-title-prefix { display: grid; place-items: center; width: 42px; height: 42px; margin: 0 0 20px; border-radius: 50%; background: #FADADD; color: #C4586E; font-size: 13px; font-weight: 800; }
.lg-cruise-card .uabb-infobox-title { color: #112337; font-size: 21px; line-height: 1.25; }
.lg-cruise-card .uabb-infobox-text { color: #333; font-size: 16px; line-height: 1.6; }

.lg-cruise-fleet-callout { max-width: 720px; margin: 34px auto 0; padding: 18px 22px; border: 1px solid rgba(43, 89, 195, .18); border-radius: 14px; background: #E9F0FC; box-shadow: 0 8px 18px rgba(37, 60, 120, .08); color: #253C78; text-align: center; }
.lg-cruise-fleet-callout span { display: block; margin-bottom: 7px; font-weight: 700; }
.lg-cruise-fleet-callout a { color: #C4586E; font-size: 17px; font-weight: 800; text-decoration: none; }
.lg-cruise-fleet-callout a:hover { color: #253C78; text-decoration: underline; }

/* Booking page — process */
.lg-cruise-process .fl-row-content-wrap { padding: 76px 20px; background: #FFFAF1; }
.lg-cruise-process .centered-intro-box { text-align: center; }
.lg-cruise-process .uabb-infobox-title-prefix, .lg-fleet-section-heading .uabb-infobox-title-prefix, .lg-fleet-details-heading .uabb-infobox-title-prefix { color: #C4586E; font-size: 14px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.lg-cruise-process .uabb-infobox-title, .lg-fleet-section-heading .uabb-infobox-title, .lg-fleet-details-heading .uabb-infobox-title { color: #112337; font-size: clamp(30px, 3.5vw, 44px); line-height: 1.12; }
.lg-cruise-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; margin: 39px 0 0; padding: 0; list-style: none; text-align: center; }
.lg-cruise-steps li { position: relative; padding: 0 15px; }
.lg-cruise-steps li:not(:last-child)::after { position: absolute; top: 24px; left: 65%; width: 70%; border-top: 1px dashed rgba(37, 60, 120, .35); content: ""; }
.lg-cruise-steps span { display: grid; place-items: center; width: 49px; height: 49px; margin: 0 auto 16px; border-radius: 50%; background: #253C78; color: #fff; font-weight: 800; }
.lg-cruise-steps strong { display: block; color: #112337; font-size: 18px; }
.lg-cruise-steps p { max-width: 260px; margin: 7px auto 0; font-size: 15px; line-height: 1.5; }

/* Booking page — quote section and Gravity Form */
.lg-cruise-quote .fl-row-content-wrap, .lg-fleet-help .fl-row-content-wrap { padding: 82px 20px; background: linear-gradient(130deg, #253C78 0%, #1F346B 100%); }
.lg-cruise-quote-copy .uabb-infobox-title-prefix, .lg-fleet-help-copy .uabb-infobox-title-prefix { color: #FFEECF; font-size: 14px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.lg-cruise-quote-copy .uabb-infobox-title, .lg-fleet-help-copy .uabb-infobox-title { color: #fff; font-size: clamp(30px, 3.5vw, 44px); line-height: 1.12; }
.lg-cruise-quote-copy .uabb-infobox-text, .lg-cruise-quote-copy .uabb-infobox-text p, .lg-cruise-quote-copy .uabb-infobox-text li,
.lg-fleet-help-copy .uabb-infobox-text, .lg-fleet-help-copy .uabb-infobox-text p, .lg-fleet-help-copy .uabb-infobox-text li { color: #fff !important; font-size: 18px; line-height: 1.65; }
.lg-cruise-quote-copy li { margin: 11px 0; font-weight: 600; }
.lg-cruise-quote-copy li::marker { color: #FFEECF; }

.lg-cruise-form .gform-theme--framework { --gf-form-gap-x: 10px; --gf-form-gap-y: 14px; --gf-field-gap-x: 10px; --gf-field-gap-y: 14px; --gf-label-space-primary: 5px; --gf-label-choice-field-space-primary: 7px; --gf-desc-space: 5px; --gf-ctrl-size: 46px; --gf-ctrl-btn-size: 48px; }
.lg-cruise-form .gform_wrapper { padding: 24px !important; border-radius: 16px !important; background: #fff; box-shadow: 0 20px 42px rgba(0, 0, 0, .22); }
.lg-cruise-form .gform_fields { row-gap: 14px !important; column-gap: 10px !important; }
.lg-cruise-form .gfield { margin: 0 !important; padding: 0 !important; }
.lg-cruise-form .gfield_label, .lg-cruise-form .gform-field-label { margin-bottom: 5px !important; color: #253C78 !important; font-size: 16px !important; font-weight: 800 !important; line-height: 1.3 !important; }
.lg-cruise-form .gfield_required { font-size: 12px !important; }
.lg-cruise-form .gfield_label > .gfield_required, .lg-cruise-form .gform-field-label > .gfield_required { display: block !important; margin-top: 1px !important; line-height: 1.2 !important; }
.lg-cruise-form input[type="text"], .lg-cruise-form input[type="email"], .lg-cruise-form input[type="tel"], .lg-cruise-form select { height: 46px !important; min-height: 46px !important; padding: 10px 12px !important; border: 1px solid rgba(37, 60, 120, .22) !important; border-radius: 8px !important; background: #fff !important; font-size: 16px !important; line-height: 1.2 !important; }
.lg-cruise-form textarea { height: 104px !important; min-height: 104px !important; padding: 10px 12px !important; border: 1px solid rgba(37, 60, 120, .22) !important; border-radius: 8px !important; background: #fff !important; font-size: 16px !important; line-height: 1.4 !important; }
.lg-cruise-form input:focus, .lg-cruise-form select:focus, .lg-cruise-form textarea:focus { border-color: #2B59C3 !important; box-shadow: 0 0 0 3px rgba(43, 89, 195, .15) !important; }
.lg-cruise-form .gfield_description { margin-top: 5px !important; color: #617089 !important; font-size: 16px !important; line-height: 1.35 !important; }
.lg-cruise-form .gfield_checkbox { margin-top: 2px !important; }
.lg-cruise-form .gchoice { display: flex; align-items: flex-start; gap: 6px; }
.lg-cruise-form input[type="checkbox"] { width: 16px !important; height: 16px !important; margin-top: 2px !important; }
.lg-cruise-form .gform-field-label--type-inline { margin: 0 !important; color: #253C78 !important; font-size: 16px !important; font-weight: 600 !important; line-height: 1.35 !important; }
.lg-cruise-form .gform_footer, .lg-cruise-form .gform-footer { margin-top: 14px !important; padding: 0 !important; }
.lg-cruise-form .gform_button { width: 100%; height: 48px !important; min-height: 48px !important; padding: 10px 16px !important; border: 0 !important; border-radius: 12px !important; background: #D16A7F !important; color: #fff !important; font-size: 18px !important; font-weight: 800 !important; line-height: 1.1 !important; transition: background .25s ease, transform .25s ease; }
.lg-cruise-form .gform_button:hover { background: #C4586E !important; transform: translateY(-2px); }

/* Fleet page — fleet heading and ship cards */
.lg-fleet-section .fl-row-content-wrap { padding: 20px 20px 0; }
.lg-fleet-section-heading { max-width: 960px; margin: 0 auto 35px; text-align: center; }
.lg-fleet-section-heading .uabb-infobox-text, .lg-fleet-section-heading .uabb-infobox-text p { margin: 12px auto 0; color: #333; font-size: 18px; line-height: 1.6; }
/* Fleet cards — add lg-fleet-grid-row to the row containing both card groups. */
.fl-row.lg-fleet-grid-row .fl-col-group-nested {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
  margin: 0 0 22px !important;
}
.fl-row.lg-fleet-grid-row .fl-col-group-nested > .fl-col {
  display: flex !important;
  float: none !important;
  flex: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.fl-row.lg-fleet-grid-row .fl-col-group-nested > .fl-col > .fl-col-content { display: flex; width: 100%; }
.lg-ship-fleet-card { display: flex; flex: 1 1 auto; box-sizing: border-box; width: calc(100% - 20px); min-height: 440px; margin: 10px; overflow: hidden; border: 1px solid rgba(37, 60, 120, .12); border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(37, 60, 120, .10); transition: transform .25s ease, box-shadow .25s ease; }
.lg-ship-fleet-card:hover { box-shadow: 0 14px 34px rgba(37, 60, 120, .16); transform: translateY(-5px); }
.lg-ship-fleet-card .fl-module-content { display: flex; width: 100%; margin: 0 !important; }
.lg-ship-fleet-card .uabb-infobox, .lg-ship-fleet-card .uabb-infobox-left-right-wrap, .lg-ship-fleet-card .uabb-infobox-content { display: flex; flex: 1 1 auto; flex-direction: column; width: 100%; }
.lg-ship-fleet-card .uabb-imgicon-wrap,
.lg-ship-fleet-card .uabb-image,
.lg-ship-fleet-card .uabb-image-content { display: block; width: 100% !important; max-width: none !important; margin: 0 !important; }
.lg-ship-fleet-card .uabb-imgicon-wrap { aspect-ratio: 16 / 9; overflow: hidden; }
.lg-ship-fleet-card .uabb-image,
.lg-ship-fleet-card .uabb-image-content { height: 100%; }
.lg-ship-fleet-card .uabb-photo-img { display: block; width: 100% !important; max-width: none !important; height: 100% !important; object-fit: cover; }
.lg-ship-fleet-card .uabb-infobox-content { padding: 0; }
.lg-ship-fleet-card .uabb-infobox-title-wrap, .lg-ship-fleet-card .uabb-infobox-text-wrap { margin-right: 20px; margin-left: 20px; }
.lg-ship-fleet-card .uabb-infobox-title-wrap { margin-top: 20px; }
.lg-ship-fleet-card .uabb-infobox-text-wrap { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 142px; margin-bottom: 20px; }
.lg-ship-fleet-card .uabb-infobox-title-prefix { margin: 0 0 7px; color: #C4586E; font-size: 16px !important; font-weight: 800; letter-spacing: .7px; line-height: 1.2; text-transform: uppercase; }
.lg-ship-fleet-card .uabb-infobox-title { margin: 0 0 11px; color: #112337; font-size: 24px !important; line-height: 1.2; }
.lg-ship-fleet-card .uabb-infobox-text,
.lg-ship-fleet-card .uabb-infobox-text p { color: #333; font-size: 16px !important; line-height: 1.55; }
.lg-ship-fleet-card .uabb-infobox-text p { margin: 0; }
.lg-ship-fleet-card .uabb-infobox-button { margin-top: auto; }
.lg-ship-fleet-card .uabb-button-wrap { text-align: left !important; }
.lg-ship-fleet-card .uabb-button,
.lg-ship-fleet-card .uabb-creative-button { display: inline-flex; margin-top: 18px; padding: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; color: #2B59C3 !important; font-size: 16px !important; font-weight: 800; text-decoration: none; }
.lg-ship-fleet-card .uabb-button .uabb-button-text,
.lg-ship-fleet-card .uabb-creative-button .uabb-creative-button-text { color: #2B59C3 !important; -webkit-text-fill-color: #2B59C3; font-size: 16px !important; }
.lg-ship-fleet-card .uabb-button:hover,
.lg-ship-fleet-card .uabb-button:hover .uabb-button-text { color: #C4586E !important; -webkit-text-fill-color: #C4586E; transform: none !important; }

/* Fleet page — CTA and detailed guides */
.lg-fleet-help-grid { align-items: center; }
.lg-fleet-help .lg-fleet-button { display: inline-flex; align-items: center; justify-content: center; padding: 18px 29px; border: 0 !important; border-radius: 18px; background: #fff !important; box-shadow: 0 10px 24px rgba(0, 0, 0, .18); color: #253C78 !important; font-size: 17px; font-weight: 800; line-height: 1; text-decoration: none; transition: background .25s ease, transform .25s ease; }
.lg-fleet-help .lg-fleet-button:hover { background: #FFEECF !important; color: #253C78 !important; transform: translateY(-3px); }
.lg-fleet-details .fl-row-content-wrap { padding: 82px 20px 42px; background: #FFFAF1; }
.lg-fleet-details .fl-row-content { max-width: 1120px; }
.lg-fleet-details-heading { max-width: 800px; margin: 0 0 40px; text-align: left; }
.lg-fleet-details-heading .fl-module-content { margin: 0 !important; }
.lg-fleet-details-heading .uabb-infobox-content { padding: 0 !important; }
.lg-fleet-details-heading .uabb-infobox-title-prefix { display: block; margin: 0 0 16px; color: #C4586E; font-size: 14px !important; font-weight: 800; letter-spacing: 1px; line-height: 1.2; text-transform: uppercase; }
.lg-fleet-details-heading .uabb-infobox-title { margin: 0; color: #112337; font-size: clamp(38px, 4vw, 52px) !important; line-height: 1.08; }
.lg-fleet-details-heading .uabb-infobox-text,
.lg-fleet-details-heading .uabb-infobox-text p { max-width: 760px; margin: 20px 0 0; color: #333; font-size: 18px !important; line-height: 1.65; }

/* Individual ship detail rows — add lg-ship-detail to each Row. */
.lg-ship-detail .fl-row-content-wrap { padding: 4px 24px 52px; background: #FFFAF1; }
.lg-ship-detail .fl-row-content { max-width: 1180px; }
.lg-ship-detail .fl-col-group-nested { display: grid !important; grid-template-columns: minmax(290px, .82fr) minmax(0, 1.45fr); gap: 0; overflow: hidden; border: 1px solid rgba(31, 58, 119, .14); border-radius: 20px; background: #fff; box-shadow: 0 16px 36px rgba(24, 51, 104, .10); }
.lg-ship-detail .fl-col-group-nested > .fl-col { float: none !important; width: auto !important; min-width: 0; padding: 0 !important; }
.lg-ship-detail .fl-col-group-nested > .fl-col > .fl-col-content { height: 100%; }

/* Left side — ship image and practical facts. */
.lg-ship-detail-media { display: flex; flex-direction: column; background: #EEF4FF; }
.lg-ship-detail-image .fl-module-content, .lg-ship-detail-stats .fl-module-content, .lg-ship-detail-summary .fl-module-content,

/* Extra space around the ship introduction and stateroom callout */
.lg-ship-detail-summary {
  padding-bottom: 10px;
  margin-bottom: 12px;
}

.lg-ship-detail-staterooms {
  margin: 10px 20px 20px !important;
  max-width: 95% !important;
}
 .lg-ship-detail-staterooms .fl-module-content { margin: 0 !important; }
.lg-ship-detail-image .pp-photo-container, .lg-ship-detail-image .pp-photo, .lg-ship-detail-image .pp-photo-content, .lg-ship-detail-image .pp-photo-content-inner { height: 100%; }
.lg-ship-detail-image .pp-photo-content { aspect-ratio: 4 / 3; min-height: 270px; overflow: hidden; }
.lg-ship-detail-image .pp-photo-img { display: block; width: 100%; height: 100%; min-height: 270px; object-fit: cover; transition: transform .35s ease; }
.lg-ship-detail:hover .lg-ship-detail-image .pp-photo-img { transform: scale(1.03); }
.lg-ship-detail-stats { flex: 1; padding: 24px 26px 26px; background: #EEF4FF; }
.lg-ship-detail-stats .ship-stats-list { margin: 0; padding: 0; list-style: none; color: #344054; font-size: 16px !important; line-height: 1.55; }
.lg-ship-detail-stats .ship-stats-list > li { margin: 0; padding: 10px 0; border-bottom: 1px solid rgba(43, 89, 195, .14); }
.lg-ship-detail-stats .ship-stats-list > li:last-child { padding-bottom: 0; border-bottom: 0; }
.lg-ship-detail-stats .ship-stats-list ul { margin: 8px 0 0; padding-left: 18px; }
.lg-ship-detail-stats strong { color: #193D8F; }

/* Right side — ship story, highlights and planning help. */
.lg-ship-detail-content { padding: 42px 46px; }
.lg-ship-detail-content > .fl-col-content > .fl-module { margin-bottom: 26px; }
.lg-ship-detail-content > .fl-col-content > .fl-module:last-child { margin-bottom: 0; }
.lg-ship-detail-summary .uabb-infobox-title-prefix { display: inline-block; margin: 0 0 10px; color: #C95870; font-size: 14px !important; font-weight: 800; letter-spacing: 1.1px; line-height: 1.2; text-transform: uppercase; }
.lg-ship-detail-summary .uabb-infobox-title { position: relative; margin: 0 0 26px; padding-bottom: 18px; color: #112337; font-size: clamp(32px, 3.2vw, 44px) !important; line-height: 1.08; }
.lg-ship-detail-summary .uabb-infobox-title::after { position: absolute; bottom: 0; left: 0; width: 52px; height: 3px; border-radius: 99px; background: #D5667E; content: ""; }
.lg-ship-detail-summary .uabb-infobox-text, .lg-ship-detail-summary .uabb-infobox-text p { color: #3E4652; font-size: 17px !important; line-height: 1.68; }
.lg-ship-detail-summary .uabb-infobox-text p { margin: 0 0 14px; }
.lg-ship-detail-summary .uabb-infobox-text p:last-child { margin-bottom: 0; }
.lg-ship-detail-highlights h3 { margin: 0 0 16px; color: #183F94; font-size: 23px !important; line-height: 1.25; }
.lg-ship-detail-highlights p { margin: 0 0 10px; padding: 14px 16px; border: 1px solid rgba(43, 89, 195, .10); border-left: 4px solid #D5667E; border-radius: 10px; background: #F8FAFF; color: #3E4652; font-size: 16px !important; line-height: 1.6; }
.lg-ship-detail-highlights p:last-child { margin-bottom: 0; }
.lg-ship-detail-highlights strong { color: #112337; }
.lg-ship-detail-staterooms { padding: 24px 26px; border: 1px solid rgba(43, 89, 195, .14); border-radius: 14px; background: #EAF1FF; }
.lg-ship-detail-staterooms .uabb-infobox-title { margin: 0 0 12px; color: #112337; font-size: 21px !important; line-height: 1.25; }
.lg-ship-detail-staterooms .uabb-infobox-text, .lg-ship-detail-staterooms .uabb-infobox-text p { color: #3E4652; font-size: 16px !important; line-height: 1.6; }
.lg-ship-detail-staterooms .uabb-infobox-text p { margin: 0 0 10px; }
.lg-ship-detail-staterooms .uabb-infobox-text p:last-child { margin-bottom: 0; }
.lg-ship-detail-tip .laughgear-tip-box, .laughgear-tip-box { padding: 17px 20px; border: 1px solid rgba(213, 102, 126, .28); border-radius: 12px; background: #FFF6F7; color: #4B3A3E; font-size: 16px; line-height: 1.6; }
.lg-ship-detail-tip .tip-label, .laughgear-tip-box .tip-label { color: #B94762; font-weight: 800; }

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