/* Stronger selectors prevent the active theme from hiding hero typography. */
.ltj-lht .ltj-lht-hero {
    background-color: #0b0b0b;
    background-image: radial-gradient(circle at 78% 35%, #2c2c2c 0, transparent 38%), linear-gradient(120deg, #050505 0%, #151515 100%);
}

.ltj-lht .ltj-lht-hero h1,
.ltj-lht .ltj-lht-hero .lead,
.ltj-lht .ltj-lht-hero li {
    color: #fff !important;
}

.ltj-lht .ltj-lht-hero .eyebrow {
    color: #d8ad2b !important;
}

.ltj-lht .continue { padding: 85px 0; background: #f5f0e6; text-align: center; }
.ltj-lht .continue-intro { max-width: 760px; margin: 0 auto 45px; font-size: 18px; }
.ltj-lht .continue-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; text-align: left; }
.ltj-lht .continue-columns > div { padding: 36px; border: 1px solid #d8cdb7; background: #fff; }
.ltj-lht .continue-columns h3 { font-family: Georgia, serif; font-size: 29px; margin-bottom: 22px; }
.ltj-lht .continue nav { display: grid; }
.ltj-lht .continue nav a { display: flex; min-height: 54px; padding: 15px 0; border-top: 1px solid #e0d8c8; color: #111; text-decoration: none; font-weight: 800; align-items: center; justify-content: space-between; }
.ltj-lht .continue nav a::after { content: '→'; color: #b88b13; font-size: 20px; }
.ltj-lht .continue nav a:hover { color: #8a6500; }
@media(max-width:800px){.ltj-lht .continue-columns{grid-template-columns:1fr}.ltj-lht .continue-columns>div{padding:25px}}

/* Keep all typography visible inside black sections despite theme overrides. */
.ltj-lht .benefits h2,
.ltj-lht .benefits h3,
.ltj-lht .benefits p:not(.eyebrow),
.ltj-lht .faq h2,
.ltj-lht .faq summary,
.ltj-lht .faq details p {
    color: #fff !important;
}

.ltj-lht .benefits .eyebrow,
.ltj-lht .faq .eyebrow {
    color: #d8ad2b !important;
}

/* Keep the standard booking button outlined and make the luxury CTA premium. */
.ltj-lht .final .gold {
    border: 2px solid #080808 !important;
}

.ltj-lht .final .outline {
    border: 2px solid var(--ltj-gold) !important;
    border-radius: 999px !important;
    background: #080808 !important;
    color: #fff !important;
}

.ltj-lht .final .outline:hover,
.ltj-lht .final .outline:focus {
    background: #171717 !important;
    color: #fff !important;
}

/* Match the header/footer width and remove Elementor's space below the widget. */
.elementor-widget-ltj_leading_hotel_transfer,
.elementor-widget-ltj_leading_hotel_transfer > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-widget-ltj_leading_hotel_transfer {
    margin-bottom: -12px !important;
}

.elementor-widget-ltj_leading_hotel_transfer .ltj-lht {
    width: 100vw;
    max-width: 100vw;
    margin: 0 calc(50% - 50vw) !important;
    overflow-x: clip;
}

.elementor-widget-ltj_leading_hotel_transfer .ltj-lht .final {
    margin-bottom: 0 !important;
}

/* Premium luxury-upgrade call to action beneath the standard vehicle cards. */
.ltj-lht .luxury-upgrade {
    margin: 34px auto 0;
    text-align: center;
}

.ltj-lht .luxury-upgrade p {
    margin: 0 0 13px;
    font-size: 17px;
    font-weight: 700;
}

.ltj-lht .luxury-upgrade-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.ltj-lht .luxury-quote-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 290px;
    padding: 18px 34px;
    border: 2px solid var(--ltj-gold);
    border-radius: 999px;
    background: #080808;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .07em;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 8px 22px rgba(121, 88, 0, .18);
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.ltj-lht .luxury-quote-button:hover,
.ltj-lht .luxury-quote-button:focus {
    background: #171717;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(121, 88, 0, .25);
}

.ltj-lht .luxury-call-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 255px;
    padding: 17px 28px;
    border: 2px solid var(--ltj-gold);
    border-radius: 999px;
    background: #080808;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.ltj-lht .luxury-call-button:hover,
.ltj-lht .luxury-call-button:focus {
    background: #171717;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
}

@media (max-width: 480px) {
    .ltj-lht .luxury-upgrade-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ltj-lht .luxury-quote-button,
    .ltj-lht .luxury-call-button {
        width: 100%;
        min-width: 0;
        padding: 17px 20px;
    }
}

/* Mobile hotel hero: show the wide photo above compact copy. */
@media (max-width: 800px) {
 .ltj-lht .ltj-lht-hero {
  min-height: 0;
  display: block;
  background-size: 100% auto;
  background-position: center top;
  background-repeat: no-repeat;
  padding: calc(50vw + 24px) 0 32px;
 }
 .ltj-lht .ltj-lht-hero .ltj-lht-wrap {
  width: calc(100% - 32px);
  background: #0b0b0b;
  padding: 18px 0 0;
 }
 .ltj-lht .ltj-lht-hero h1 {font-size: clamp(30px, 8vw, 42px);line-height:1.12;}
 .ltj-lht .ltj-lht-hero .lead {font-size:17px;line-height:1.5;}
 .ltj-lht .ltj-lht-hero .eyebrow {font-size:11px;letter-spacing:.12em;}
 .ltj-lht .ltj-lht-hero .actions {display:grid;gap:12px;margin:22px 0;}
 .ltj-lht .ltj-lht-hero .actions a {width:100%;text-align:center;padding:15px 12px;}
 .ltj-lht .ltj-lht-hero ul {display:grid;gap:10px;font-size:13px;margin-bottom:0;}
}

/* Optional per-page adjustments: tablet and mobile retain existing rules. */
@media (min-width:1025px) {
 .ltj-lht .ltj-lht-hero {
  background-size:100% 100%,var(--ltj-desktop-hero-fit,cover);
  background-position:center,var(--ltj-desktop-hero-x,50%) var(--ltj-desktop-hero-y,50%);
  background-repeat:no-repeat;
 }
 .ltj-lht .intro .split > img {
  object-fit:var(--ltj-desktop-intro-fit,cover);
  object-position:var(--ltj-desktop-intro-x,50%) var(--ltj-desktop-intro-y,50%);
  height:var(--ltj-desktop-intro-height,440px);
 }
}

/* Full-image desktop mode follows the photo rather than the fixed 820px frame. */
@media (min-width:1025px) {
 .ltj-lht .ltj-lht-hero.ltj-lht-hero-full {
  min-height:0;
  aspect-ratio:var(--ltj-desktop-hero-ratio,2020 / 778);
  box-sizing:border-box;
  padding:24px 0;
  background-size:100% 100%,100% auto;
  background-position:center,center;
 }
 .ltj-lht .ltj-lht-hero-full h1 {
  font-size:clamp(32px,3.3vw,62px);
  line-height:1.08;
  max-width: min(720px,58vw);
  margin:12px 0 18px;
 }
 .ltj-lht .ltj-lht-hero-full .eyebrow {margin:0;font-size:11px;}
 .ltj-lht .ltj-lht-hero-full .lead {font-size:18px;line-height:1.4;margin:0;}
 .ltj-lht .ltj-lht-hero-full .actions {margin:20px 0;gap:12px;}
 .ltj-lht .ltj-lht-hero-full .actions a {padding:16px 20px;font-size:13px;}
 .ltj-lht .ltj-lht-hero-full ul {margin:0;gap:20px;font-size:13px;}
}

/* Height override is opt-in and desktop only. Content can grow for readability. */
@media (min-width:1025px) {
 .ltj-lht .ltj-lht-hero.ltj-lht-hero-custom-height {
  aspect-ratio:auto;
  min-height:var(--ltj-desktop-custom-height);
 }
 .ltj-lht .ltj-lht-hero.ltj-lht-hero-full.ltj-lht-hero-custom-height {
  background-size:100% 100%,contain;
 }
}
