/* ═══════════════════════════════════════════════
 * LDT Location Pages — Shared Base Styles
 * Design system: DM Sans · Navy #0B1D3A · Gold #C9A84C · Cream #F7F5F0
 * All rules scoped + !important for Divi override
 * v3.0.0
 * ═══════════════════════════════════════════════ */

/* ═══ DIVI RESET — no !important here, component rules override ═══ */
.ldt-sp-wrap,
.ldt-sp-wrap *,
.ldt-sp-wrap *::before,
.ldt-sp-wrap *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'DM Sans', sans-serif;
    text-transform: none;
    letter-spacing: normal;
    word-spacing: normal;
    text-indent: 0;
    text-shadow: none;
    float: none;
}

/* ═══ SVG BASELINE FIX — prevent text-baseline misalignment ═══ */
.ldt-sp-wrap svg {
    display: block !important;
    flex-shrink: 0 !important;
}

/* ═══ DIVI SPECIFICITY OVERRIDES ═══ */
body .ldt-sp-wrap a,
body #main-content .ldt-sp-wrap a,
.et_pb_module .ldt-sp-wrap a,
#page-container .ldt-sp-wrap a {
    text-decoration: none !important;
}
#page-container .ldt-sp-wrap a.ldt-sp-btn-primary,
body .ldt-sp-wrap a.ldt-sp-btn-primary,
body #main-content a.ldt-sp-btn-primary,
.et_pb_module a.ldt-sp-btn-primary,
body .entry-content a.ldt-sp-btn-primary {
    background: #C9A84C !important;
    color: #0B1D3A !important;
    font-weight: 700 !important;
    font-size: .85rem !important;
    padding: 13px 30px !important;
    border-radius: 0 !important;
    border: 2px solid #C9A84C !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(201,168,76,.25) !important;
    line-height: 1.4 !important;
    transition: all .2s ease !important;
    cursor: pointer !important;
}
#page-container .ldt-sp-wrap a.ldt-sp-btn-primary:hover,
body .ldt-sp-wrap a.ldt-sp-btn-primary:hover,
body #main-content a.ldt-sp-btn-primary:hover {
    background: #0B1D3A !important;
    color: #fff !important;
    border-color: #0B1D3A !important;
}
body .ldt-sp-wrap .ldt-sp-hero-title,
body #main-content .ldt-sp-hero-title {
    color: #fff !important;
}
body .ldt-sp-wrap .ldt-sp-hero-title span {
    color: #C9A84C !important;
}
body .ldt-sp-wrap h2.sec-title,
body #main-content h2.sec-title {
    color: #0B1D3A !important;
}
body .ldt-sp-wrap h3,
body #main-content .ldt-sp-wrap h3 {
    color: #0B1D3A !important;
}
body .ldt-sp-wrap .ldt-sp-cta-box h2 {
    color: #fff !important;
}
body .ldt-sp-wrap .ldt-sp-cta-box p {
    color: rgba(255,255,255,.65) !important;
}
body .ldt-sp-wrap .ldt-sp-faq-q {
    color: #0B1D3A !important;
}

/* ═══ ROOT WRAPPER ═══ */
.ldt-sp-wrap {
    --navy: #0B1D3A;
    --navy2: #132B52;
    --gold: #C9A84C;
    --gold-bg: rgba(201,168,76,.08);
    --gold-border: rgba(201,168,76,.18);
    --cream: #F7F5F0;
    --white: #fff;
    --text: #1C2B3A;
    --muted: #7A8999;
    --border: #E8E4DC;
    --radius: 12px;
    --shadow-sm: 0 1px 3px rgba(11,29,58,.06);
    --shadow-md: 0 4px 12px rgba(11,29,58,.08);
    --shadow-lg: 0 8px 24px rgba(11,29,58,.10);
    background: var(--cream) !important;
    color: var(--text) !important;
    -webkit-font-smoothing: antialiased !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    line-height: 1.6 !important;
    font-size: 16px !important;
    width: 100% !important;
}

/* ═══ TYPOGRAPHY RESTORE ═══ */
.ldt-sp-wrap p {
    margin-bottom: 14px !important;
    line-height: 1.7 !important;
}
.ldt-sp-wrap p:last-child { margin-bottom: 0 !important; }
.ldt-sp-wrap h1, .ldt-sp-wrap h2, .ldt-sp-wrap h3, .ldt-sp-wrap h4 {
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
    color: var(--navy) !important;
    font-weight: 700 !important;
}
.ldt-sp-wrap a {
    color: var(--gold) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: all .2s ease !important;
}
.ldt-sp-wrap a:hover { color: var(--navy) !important; }

/* ═══ HERO — SPLIT LAYOUT ═══ */
.ldt-sp-hero {
    background: linear-gradient(170deg, #060f1e 0%, var(--navy) 40%, var(--navy2) 100%) !important;
    position: relative !important;
    overflow: hidden !important;
}
.ldt-sp-hero:has(.ldt-sp-hero-image) {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    min-height: 520px !important;
}
/* Centered hero fallback (county pages) */
.ldt-sp-hero-inner {
    position: relative !important; z-index: 2 !important;
    max-width: 720px !important; margin: 0 auto !important;
    text-align: center !important;
    padding: 56px 24px 64px !important;
}
.ldt-sp-hero-inner .ldt-sp-hero-actions {
    justify-content: center !important;
}
.ldt-sp-hero::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 20h40M20 0v40' stroke='rgba(201,168,76,0.04)' stroke-width='1'/%3E%3C/svg%3E") !important;
    pointer-events: none !important;
}
.ldt-sp-hero-content {
    position: relative !important; z-index: 2 !important;
    display: flex !important; flex-direction: column !important;
    justify-content: center !important;
    padding: 60px 48px 60px 64px !important;
}
.ldt-sp-hero-image {
    position: relative !important; z-index: 2 !important;
    overflow: hidden !important;
}
.ldt-sp-hero-image img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; object-position: center top !important;
    display: block !important;
}
.ldt-sp-hero-image::after {
    content: '' !important; position: absolute !important; inset: 0 !important;
    background: linear-gradient(90deg, var(--navy) 0%, transparent 30%) !important;
}
.ldt-sp-hero-badge {
    display: inline-flex !important; align-items: center !important; gap: 6px !important;
    background: rgba(201,168,76,.12) !important;
    border: 1px solid rgba(201,168,76,.22) !important;
    color: var(--gold) !important;
    font-size: .78rem !important; font-weight: 700 !important;
    padding: 6px 16px !important; border-radius: 0 !important;
    margin-bottom: 18px !important; letter-spacing: .5px !important;
}
.ldt-sp-wrap h1.ldt-sp-hero-title,
h1.ldt-sp-hero-title {
    font-size: clamp(1.4rem, 3.8vw, 2.1rem) !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    margin-bottom: 10px !important;
}
.ldt-sp-wrap h1.ldt-sp-hero-title span,
h1.ldt-sp-hero-title span { color: #C9A84C !important; }
.ldt-sp-hero-sub {
    font-size: .88rem !important;
    color: rgba(255,255,255,.45) !important;
    line-height: 1.7 !important;
    max-width: 480px !important;
    margin-bottom: 28px !important;
}
.ldt-sp-hero-loc {
    font-size: .9rem !important; color: rgba(255,255,255,.4) !important;
    font-weight: 500 !important; margin-bottom: 16px !important;
    display: flex !important; align-items: center !important; gap: 6px !important;
}
.ldt-sp-hero-trust {
    display: flex !important; gap: 20px !important;
    margin-top: 28px !important; padding-top: 20px !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
}
.ldt-sp-hero-trust-item {
    display: flex !important; align-items: center !important; gap: 8px !important;
    font-size: .8rem !important; color: rgba(255,255,255,.4) !important; font-weight: 500 !important;
}
.ldt-sp-hero-actions {
    display: flex !important; gap: 12px !important;
    justify-content: flex-start !important; flex-wrap: wrap !important;
}

/* ═══ BUTTONS — #page-container prefix to beat Divi ═══ */
#page-container .ldt-sp-wrap a.ldt-sp-btn-primary,
.ldt-sp-wrap a.ldt-sp-btn-primary,
a.ldt-sp-btn-primary {
    display: inline-flex !important; align-items: center !important; gap: 6px !important;
    background: #C9A84C !important;
    color: #0B1D3A !important;
    font-weight: 700 !important; font-size: .85rem !important;
    padding: 13px 30px !important; border-radius: 0 !important;
    text-decoration: none !important;
    border: 2px solid #C9A84C !important;
    cursor: pointer !important;
    line-height: 1.4 !important;
    transition: all .2s ease !important;
    box-shadow: 0 2px 8px rgba(201,168,76,.25) !important;
}
#page-container .ldt-sp-wrap a.ldt-sp-btn-primary:hover,
.ldt-sp-wrap a.ldt-sp-btn-primary:hover,
a.ldt-sp-btn-primary:hover {
    background: #0B1D3A !important;
    color: #fff !important;
    border-color: #0B1D3A !important;
    box-shadow: 0 4px 16px rgba(11,29,58,.2) !important;
}
.ldt-sp-wrap a.ldt-sp-btn-secondary,
a.ldt-sp-btn-secondary {
    display: inline-flex !important; align-items: center !important; gap: 6px !important;
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    font-weight: 600 !important; font-size: .85rem !important;
    padding: 13px 22px !important; border-radius: 0 !important;
    text-decoration: none !important;
    border: 1.5px solid rgba(255,255,255,.25) !important;
    transition: all .2s ease !important;
    line-height: 1.4 !important;
}
.ldt-sp-wrap a.ldt-sp-btn-secondary:hover,
a.ldt-sp-btn-secondary:hover {
    border-color: #C9A84C !important;
    color: #C9A84C !important;
    background: rgba(201,168,76,.08) !important;
}

}

/* ═══ CONTENT AREA ═══ */
.ldt-sp-content {
    max-width: 960px !important;
    margin: -50px auto 0 !important;
    position: relative !important; z-index: 2 !important;
    padding: 0 16px 50px !important;
}

/* ═══ STATS BAR ═══ */
.ldt-sp-stats {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 8px !important; margin-bottom: 36px !important;
}
.ldt-sp-stat {
    background: var(--navy) !important;
    border-radius: 0 !important;
    padding: 20px 10px !important;
    text-align: center !important;
    box-shadow: var(--shadow-md) !important;
}
.ldt-sp-stat-num {
    font-size: 1.15rem !important; font-weight: 700 !important;
    color: var(--gold) !important; display: block !important; line-height: 1 !important;
}
.ldt-sp-stat-label {
    font-size: .72rem !important; color: rgba(255,255,255,.45) !important;
    margin-top: 5px !important; line-height: 1.3 !important; display: block !important;
    text-transform: uppercase !important; letter-spacing: .3px !important;
}

/* ═══ INTRO / ABOUT TEXT BLOCK ═══ */
.ldt-sp-intro-text {
    background: var(--white) !important;
    border: 1px solid var(--border) !important;
    border-radius: 0 !important;
    padding: 30px 28px !important;
    margin-bottom: 36px !important;
    box-shadow: var(--shadow-sm) !important;
}
.ldt-sp-intro-text p {
    font-size: .88rem !important; color: var(--muted) !important;
    line-height: 1.75 !important; margin-bottom: 14px !important;
}
.ldt-sp-intro-text p:last-child { margin-bottom: 0 !important; }
.ldt-sp-intro-text strong { color: var(--navy) !important; font-weight: 700 !important; }
.ldt-sp-intro-text a,
.ldt-sp-wrap .ldt-sp-intro-text a { color: #C9A84C !important; font-weight: 700 !important; }
.ldt-sp-intro-text h2 {
    font-size: .95rem !important; font-weight: 700 !important;
    color: var(--navy) !important; margin-bottom: 8px !important;
}
.ldt-sp-intro-text h3 {
    font-size: .88rem !important; font-weight: 700 !important;
    color: var(--navy) !important; margin: 16px 0 6px !important;
}

/* ═══ SECTION HEADINGS ═══ */
.ldt-sp-wrap h2.sec-title {
    font-size: 1.15rem !important; font-weight: 700 !important;
    color: var(--navy) !important; margin-bottom: 4px !important;
}
.ldt-sp-wrap .sec-sub {
    font-size: .88rem !important; color: var(--muted) !important;
    line-height: 1.6 !important; margin-bottom: 20px !important;
}

/* ═══ LOCATION CARDS ═══ */
.ldt-sp-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 14px !important; margin-bottom: 36px !important;
}
@keyframes ldtSpFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.ldt-sp-card {
    background: var(--white) !important;
    border: 1px solid var(--border) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    animation: ldtSpFadeIn .4s ease both;
    transition: all .2s ease !important;
    box-shadow: var(--shadow-sm) !important;
}
.ldt-sp-card:hover {
    border-color: var(--gold) !important;
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-2px);
}
.ldt-sp-card-header {
    display: flex !important; gap: 12px !important;
    padding: 20px 20px 14px !important; align-items: flex-start !important;
}
.ldt-sp-card-icon {
    flex-shrink: 0 !important;
    width: 46px !important; height: 46px !important;
    border-radius: 0 !important;
    background: var(--gold-bg) !important;
    border: 1px solid var(--gold-border) !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
}
.ldt-sp-card-city {
    font-size: .9rem !important; font-weight: 700 !important;
    color: var(--navy) !important; margin: 0 0 2px !important; line-height: 1.25 !important;
}
.ldt-sp-card-address {
    font-size: .8rem !important; color: var(--muted) !important; line-height: 1.5 !important;
}
.ldt-sp-card-dist {
    margin-left: auto !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    background: rgba(201,168,76,.08) !important;
    border: 1px solid rgba(201,168,76,.18) !important;
    color: #C9A84C !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 0 !important;
    white-space: nowrap !important;
}
.ldt-sp-card-pricing {
    padding: 14px 20px !important;
    border-top: 1px solid #E8E4DC !important;
}
.ldt-sp-price-row {
    display: flex !important; justify-content: space-between !important; align-items: center !important;
    padding: 4px 0 !important;
}
.ldt-sp-price-row + .ldt-sp-price-row {
    border-top: 1px solid rgba(232,228,220,.5) !important;
    margin-top: 4px !important; padding-top: 6px !important;
}
.ldt-sp-price-label {
    font-size: .78rem !important; font-weight: 700 !important; color: #7A8999 !important;
    text-transform: uppercase !important; letter-spacing: .5px !important;
}
.ldt-sp-price-value {
    font-size: 1.15rem !important; font-weight: 700 !important; color: #C9A84C !important;
}
.ldt-sp-price-val-sub {
    font-size: .82rem !important; font-weight: 600 !important; color: #0B1D3A !important;
}

/* ═══ CARD BUTTONS — doubled specificity ═══ */
.ldt-sp-card-actions {
    display: flex !important; gap: 8px !important;
    padding: 0 20px 20px !important; margin-top: 14px !important;
}
.ldt-sp-wrap a.ldt-sp-card-btn-book,
a.ldt-sp-card-btn-book {
    flex: 1 !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    background: #0B1D3A !important;
    color: #fff !important;
    font-weight: 700 !important; font-size: .85rem !important;
    padding: 10px 16px !important; border-radius: 0 !important;
    text-decoration: none !important;
    border: 2px solid #0B1D3A !important;
    transition: all .2s ease !important;
    line-height: 1.4 !important;
}
.ldt-sp-wrap a.ldt-sp-card-btn-book:hover,
a.ldt-sp-card-btn-book:hover {
    background: #C9A84C !important;
    color: #0B1D3A !important;
    border-color: #C9A84C !important;
}
.ldt-sp-wrap a.ldt-sp-card-btn-info,
a.ldt-sp-card-btn-info {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    background: #fff !important;
    color: #0B1D3A !important;
    font-weight: 700 !important; font-size: .85rem !important;
    padding: 10px 16px !important; border-radius: 0 !important;
    text-decoration: none !important;
    border: 1.5px solid #E8E4DC !important;
    transition: all .2s ease !important;
    line-height: 1.4 !important;
}
.ldt-sp-wrap a.ldt-sp-card-btn-info:hover,
a.ldt-sp-card-btn-info:hover {
    border-color: #C9A84C !important;
    color: #C9A84C !important;
}

/* ═══ CTA BOX ═══ */
.ldt-sp-cta-box {
    background: linear-gradient(135deg, var(--navy), var(--navy2)) !important;
    border-radius: 0 !important;
    padding: 40px 28px !important;
    text-align: center !important;
    margin-bottom: 36px !important;
    box-shadow: var(--shadow-lg) !important;
}
.ldt-sp-wrap .ldt-sp-cta-box h2,
.ldt-sp-cta-box h2 {
    font-size: 1.15rem !important; font-weight: 700 !important;
    color: #ffffff !important; margin-bottom: 8px !important;
}
.ldt-sp-cta-box p {
    font-size: .88rem !important; color: rgba(255,255,255,.5) !important;
    margin-bottom: 20px !important;
}

/* ═══ TRUST BADGES ═══ */
.ldt-sp-info-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 12px !important; margin-bottom: 36px !important;
}
.ldt-sp-info-card {
    background: var(--white) !important;
    border: 1px solid var(--border) !important;
    border-radius: 0 !important;
    padding: 22px 16px !important;
    text-align: center !important;
    transition: all .2s ease !important;
    box-shadow: var(--shadow-sm) !important;
}
.ldt-sp-info-card:hover {
    border-color: var(--gold) !important;
    box-shadow: var(--shadow-md) !important;
}
.ldt-sp-info-icon {
    width: 50px !important; height: 50px !important; border-radius: 0 !important;
    background: var(--gold-bg) !important;
    border: 1px solid var(--gold-border) !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    margin-bottom: 12px !important;
}
.ldt-sp-info-card h3 {
    font-size: .88rem !important; font-weight: 700 !important;
    color: var(--navy) !important; margin-bottom: 3px !important;
}
.ldt-sp-info-card p {
    font-size: .78rem !important; color: var(--muted) !important; line-height: 1.5 !important;
}

/* ═══ FAQ ═══ */
.ldt-sp-faq-list {
    display: flex !important; flex-direction: column !important;
    gap: 8px !important; margin-bottom: 36px !important;
}
.ldt-sp-faq-item {
    background: var(--white) !important;
    border: 1px solid var(--border) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    box-shadow: var(--shadow-sm) !important;
}
.ldt-sp-faq-q {
    display: flex !important; justify-content: space-between !important; align-items: center !important;
    padding: 16px 20px !important; cursor: pointer !important;
    font-size: .92rem !important; font-weight: 700 !important; color: var(--navy) !important;
    user-select: none; transition: background .15s !important;
}
.ldt-sp-faq-q:hover { background: var(--gold-bg) !important; }
.ldt-sp-faq-arrow {
    font-size: .6rem !important; color: var(--muted) !important;
    transition: transform .25s !important; flex-shrink: 0 !important; margin-left: 14px !important;
}
.ldt-sp-faq-q.open .ldt-sp-faq-arrow { transform: rotate(180deg) !important; color: var(--gold) !important; }
.ldt-sp-faq-a {
    display: none !important; padding: 0 20px 18px !important;
    font-size: .88rem !important; line-height: 1.75 !important; color: var(--muted) !important;
}
.ldt-sp-faq-a.show { display: block !important; animation: ldtSpFadeIn .3s ease; }
.ldt-sp-faq-a a { color: var(--gold) !important; font-weight: 700 !important; }
.ldt-sp-faq-a strong { color: var(--navy) !important; }

/* ═══ BOTTOM NOTE ═══ */
.ldt-sp-bottom-note {
    font-size: .88rem !important; color: var(--muted) !important;
    background: var(--white) !important;
    border: 1px solid var(--border) !important;
    border-radius: 0 !important;
    padding: 20px 24px !important; line-height: 1.7 !important;
    text-align: center !important; margin-bottom: 36px !important;
    box-shadow: var(--shadow-sm) !important;
}
.ldt-sp-bottom-note a { color: var(--gold) !important; font-weight: 700 !important; }

/* ═══ SNIPPET ELEMENTS ═══ */
.ldt-sp-snippet {
    font-size: .92rem !important; line-height: 1.7 !important;
    color: var(--text) !important;
    background: var(--white) !important;
    border: none !important;
    border-left: 3px solid var(--gold) !important;
    padding: 16px 20px !important;
    border-radius: 0 !important;
    margin: 20px 0 !important;
    box-shadow: var(--shadow-sm) !important;
}

/* State price comparison table */
.ldt-sp-price-summary {
    width: 100% !important; border-collapse: collapse !important;
    margin: 0 0 36px !important;
    background: var(--white) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow-sm) !important;
}
.ldt-sp-price-summary th {
    text-align: left !important; font-size: .78rem !important;
    text-transform: uppercase !important; letter-spacing: .04em !important;
    color: var(--muted) !important;
    padding: 12px 16px !important;
    background: var(--cream) !important;
    border: none !important;
    border-bottom: 2px solid var(--border) !important;
    font-weight: 700 !important;
}
.ldt-sp-price-summary td {
    padding: 11px 16px !important; font-size: .9rem !important;
    border: none !important;
    border-bottom: 1px solid var(--border) !important;
    color: var(--text) !important;
    background: var(--white) !important;
}
.ldt-sp-price-summary td:nth-child(2),
.ldt-sp-price-summary td:nth-child(3) {
    font-weight: 700 !important; color: var(--navy) !important;
}
.ldt-sp-price-summary tr:last-child td { border-bottom: none !important; }
.ldt-sp-price-summary a {
    color: var(--navy) !important; text-decoration: none !important;
    border-bottom: 1px solid var(--gold) !important;
}
.ldt-sp-price-summary a:hover { color: var(--gold) !important; }

/* ═══ SEARCH + IMAGE SPLIT ═══ */
.ldt-sp-search-split {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    gap: 0 !important; margin-bottom: 36px !important;
    border-radius: 0 !important; overflow: hidden !important;
    border: 1px solid var(--border) !important; box-shadow: var(--shadow-sm) !important;
    background: var(--white) !important;
}
.ldt-sp-search-side-wrap {
    display: flex !important; flex-direction: column !important;
    justify-content: center !important;
}
.ldt-sp-search-image {
    position: relative !important; overflow: hidden !important; min-height: 320px !important;
}
.ldt-sp-search-image img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; object-position: center top !important; display: block !important;
}

/* (responsive blocks moved to end of file) */

/* ═══ NO LOCATIONS WARNING PILL ═══ */
body .ldt-sp-wrap .ldt-sp-no-loc-warning {
    display: flex !important;
    gap: 14px !important;
    background: #FFFBF0 !important;
    border: 1px solid #FFE0A0 !important;
    border-left: 4px solid #FFB400 !important;
    border-radius: 0 !important;
    padding: 18px 20px !important;
    margin-bottom: 28px !important;
}
body .ldt-sp-wrap .ldt-sp-nlw-icon {
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}
body .ldt-sp-wrap .ldt-sp-nlw-text strong {
    color: #0B1D3A !important;
    font-size: .88rem !important;
    display: block !important;
    margin-bottom: 6px !important;
}
body .ldt-sp-wrap .ldt-sp-nlw-text p {
    color: #4A5568 !important;
    font-size: .8rem !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}
body .ldt-sp-wrap .ldt-sp-nlw-text a {
    color: #C9A84C !important;
    font-weight: 600 !important;
}

/* ================================================================
   TRUST ADVISORY BANNER — v3.10.0
   Consumer-protection banner. Collapsible. State-personalised.
   Shared by state, city, and nearby page types.
   ================================================================ */
.ldt-trust-advisory{background:linear-gradient(135deg,#0B1D3A 0%,#132B52 100%);border-radius:0;border:1px solid rgba(220,53,69,.15);border-top:3px solid #DC3545;overflow:hidden;position:relative;margin:28px 0 36px}
.ldt-trust-advisory::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 20h40M20 0v40' stroke='rgba(201,168,76,0.025)' stroke-width='1'/%3E%3C/svg%3E");pointer-events:none}
.ldt-ta-body{position:relative;z-index:1;padding:22px 28px}

/* Header */
.ldt-ta-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}
.ldt-ta-icon{flex-shrink:0;width:40px;height:40px;background:rgba(220,53,69,.12);border:1px solid rgba(220,53,69,.25);border-radius:0;display:flex;align-items:center;justify-content:center;margin-top:2px;animation:ldt-ta-pulse 2.5s ease-in-out infinite;will-change:box-shadow}
@keyframes ldt-ta-pulse{0%,100%{box-shadow:0 0 0 0 rgba(220,53,69,.25)}50%{box-shadow:0 0 0 8px rgba(220,53,69,0)}}
.ldt-ta-header-text{flex:1}
.ldt-ta-title{font-size:1.2rem;font-weight:700;color:#fff;line-height:1.3;margin-bottom:4px}
.ldt-ta-subtitle{font-size:.82rem;color:rgba(255,255,255,.38);font-weight:500;font-style:italic;line-height:1.5}

/* Toggle — white/navy with red bottom */
.ldt-ta-toggle{display:flex;width:100%;justify-content:center;align-items:center;flex-direction:column;gap:3px;background:#fff;border:1.5px solid rgba(255,255,255,.9);border-bottom:3px solid #DC3545;color:#0B1D3A;font-family:'DM Sans',sans-serif;padding:12px 24px;border-radius:0;cursor:pointer;transition:.2s}
.ldt-ta-toggle:hover{background:rgba(255,255,255,.9);border-color:#fff;border-bottom-color:#DC3545}
.ldt-ta-toggle-main{display:flex;align-items:center;gap:6px;font-size:.88rem;font-weight:700;letter-spacing:.2px}
.ldt-ta-toggle-main svg{transition:transform .3s ease}
.ldt-trust-advisory.ldt-ta-open .ldt-ta-toggle-main svg,
.ldt-ta-open .ldt-ta-toggle-main svg{transform:rotate(180deg)}
.ldt-ta-toggle-hint{font-size:.72rem;font-weight:500;color:rgba(11,29,58,.45);letter-spacing:.2px}

/* Expand panel */
.ldt-ta-expand{max-height:0;overflow:hidden;transition:max-height .4s ease,opacity .3s ease;opacity:0}
.ldt-trust-advisory.ldt-ta-open .ldt-ta-expand,
.ldt-ta-open .ldt-ta-expand{max-height:900px;opacity:1}
.ldt-ta-expand-inner{padding-top:22px}

/* Body text */
.ldt-ta-text{font-size:.85rem;color:rgba(255,255,255,.52);line-height:1.75;margin-bottom:16px;max-width:820px}
.ldt-ta-text strong{color:rgba(255,255,255,.82);font-weight:700}
#page-container .ldt-sp-wrap .ldt-ta-text a.ldt-ta-inline-link,
.ldt-ta-text a.ldt-ta-inline-link{color:#C9A84C !important;font-weight:700;font-size:.8rem;text-decoration:none !important;border-bottom:1px solid rgba(201,168,76,.3);transition:.2s}
#page-container .ldt-sp-wrap .ldt-ta-text a.ldt-ta-inline-link:hover,
.ldt-ta-text a.ldt-ta-inline-link:hover{color:#fff !important;border-bottom-color:rgba(255,255,255,.4)}

/* Checklist */
.ldt-ta-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-bottom:20px}
.ldt-ta-check{display:flex;align-items:flex-start;gap:8px;font-size:.82rem;color:rgba(255,255,255,.62);line-height:1.5}
.ldt-ta-check svg{flex-shrink:0;margin-top:1px}
.ldt-ta-check strong{color:#fff;font-weight:600}

/* Divider + CTAs */
.ldt-ta-divider{height:1px;background:rgba(201,168,76,.12);margin-bottom:18px}
.ldt-ta-ctas{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ldt-ta-cta{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;padding:9px 18px;border-radius:0;text-decoration:none !important;transition:.2s}
#page-container .ldt-sp-wrap a.ldt-ta-cta-primary,
.ldt-ta-cta-primary{background:#C9A84C !important;color:#0B1D3A !important}
#page-container .ldt-sp-wrap a.ldt-ta-cta-primary:hover,
.ldt-ta-cta-primary:hover{background:#fff !important;color:#0B1D3A !important}
#page-container .ldt-sp-wrap a.ldt-ta-cta-secondary,
.ldt-ta-cta-secondary{background:transparent !important;color:#fff !important;border:1.5px solid rgba(255,255,255,.18)}
#page-container .ldt-sp-wrap a.ldt-ta-cta-secondary:hover,
.ldt-ta-cta-secondary:hover{border-color:#C9A84C;color:#C9A84C !important}

/* Fraud footer */
.ldt-ta-fraud{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ldt-ta-fraud-text{font-size:.72rem;color:rgba(255,255,255,.35);line-height:1.55;flex:1;min-width:200px}
#page-container .ldt-sp-wrap a.ldt-ta-cta-danger,
.ldt-ta-cta-danger{background:transparent !important;color:#DC3545 !important;border:1.5px solid rgba(220,53,69,.3)}
#page-container .ldt-sp-wrap a.ldt-ta-cta-danger:hover,
.ldt-ta-cta-danger:hover{background:rgba(220,53,69,.1) !important;border-color:#DC3545}

/* (trust banner responsive moved to end of file) */

/* Accessibility: reduced motion */
@media(prefers-reduced-motion:reduce){
    .ldt-ta-icon{animation:none}
    .ldt-ta-expand{transition:none}
    .ldt-ta-toggle-main svg{transition:none}
}

/* Print: show content, light bg */
@media print{
    .ldt-trust-advisory{background:#fff !important;border:2px solid #333 !important;border-top:4px solid #DC3545 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
    .ldt-ta-toggle{display:none !important}
    .ldt-ta-expand{max-height:none !important;opacity:1 !important;overflow:visible !important}
    .ldt-ta-title,.ldt-ta-text,.ldt-ta-text strong,.ldt-ta-check,.ldt-ta-check strong,.ldt-ta-subtitle{color:#333 !important}
    .ldt-ta-icon{animation:none;box-shadow:none}
}

/* ═══════════════════════════════════════════════
 * ALL RESPONSIVE OVERRIDES — MUST BE LAST IN FILE
 * to beat desktop rules with same specificity
 * ═══════════════════════════════════════════════ */

/* ═══ RESPONSIVE — TABLET ═══ */
@media (max-width: 768px) {
    /* ── Layout ── */
    .ldt-sp-hero:has(.ldt-sp-hero-image) { grid-template-columns: 1fr !important; min-height: auto !important; }
    .ldt-sp-hero-image { height: 300px !important; order: 1 !important; }
    .ldt-sp-hero-image::after { background: linear-gradient(180deg, var(--navy) 0%, transparent 40%) !important; }
    .ldt-sp-hero-content { padding: 40px 24px 50px !important; order: 2 !important; }
    .ldt-sp-hero-trust { flex-direction: column !important; gap: 10px !important; }
    .ldt-sp-search-split { grid-template-columns: 1fr !important; }
    .ldt-sp-search-image { min-height: 240px !important; order: -1 !important; }

    /* ── Search box breathing room ── */
    .ldt-sp-zip-box { padding: 36px 24px !important; margin: 12px 0 !important; }
    .ldt-sp-zip-box h2 { font-size: 1.15rem !important; margin-bottom: 10px !important; }
    .ldt-sp-zip-box p { font-size: .9rem !important; margin-bottom: 22px !important; }
    .ldt-sp-zip-box input { font-size: 1rem !important; padding: 14px 16px !important; }
    .ldt-sp-zip-box button { font-size: 1rem !important; padding: 14px 20px !important; }
    .ldt-sp-stats { grid-template-columns: repeat(3, 1fr) !important; }
    .ldt-sp-info-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .ldt-sp-grid { grid-template-columns: 1fr !important; }

    /* ── Hero ── */
    .ldt-sp-badge { font-size: .82rem !important; padding: 7px 16px !important; }
    .ldt-sp-wrap h1.ldt-sp-hero-title,
    h1.ldt-sp-hero-title { font-size: 1.6rem !important; }
    .ldt-sp-hero-sub { font-size: .95rem !important; }
    .ldt-sp-hero-loc { font-size: .95rem !important; }
    .ldt-sp-hero-trust-item { font-size: .88rem !important; }
    .ldt-sp-hero-trust { margin-bottom: 28px !important; padding-bottom: 24px !important; }

    /* ── Stats ── */
    .ldt-sp-stat-num { font-size: 1.25rem !important; }
    .ldt-sp-stat-label { font-size: .78rem !important; }

    /* ── Buttons ── */
    #page-container .ldt-sp-wrap a.ldt-sp-btn-primary,
    .ldt-sp-wrap a.ldt-sp-btn-primary,
    a.ldt-sp-btn-primary { font-size: 1rem !important; padding: 16px 32px !important; }
    .ldt-sp-wrap a.ldt-sp-btn-secondary,
    a.ldt-sp-btn-secondary { font-size: 1rem !important; padding: 16px 32px !important; }

    /* ── Content ── */
    .ldt-sp-content { padding: 0 18px 40px !important; }
    .ldt-sp-wrap p { font-size: .95rem !important; }
    .ldt-sp-intro-text p { font-size: .95rem !important; line-height: 1.75 !important; }
    .ldt-sp-snippet { font-size: .95rem !important; }
    .ldt-sp-wrap h2.sec-title { font-size: 1.3rem !important; }
    .ldt-sp-wrap .sec-sub { font-size: .95rem !important; }

    /* ── Cards ── */
    .ldt-sp-card-city { font-size: 1.05rem !important; }
    .ldt-sp-card-address { font-size: .88rem !important; }
    .ldt-sp-card-dist { font-size: .82rem !important; }
    .ldt-sp-price-label { font-size: .82rem !important; }
    .ldt-sp-price-value { font-size: 1.25rem !important; }
    .ldt-sp-price-val-sub { font-size: .9rem !important; }
    #page-container .ldt-sp-wrap a.ldt-sp-card-btn-book,
    .ldt-sp-wrap a.ldt-sp-card-btn-book,
    a.ldt-sp-card-btn-book { font-size: .95rem !important; padding: 14px 16px !important; }
    #page-container .ldt-sp-wrap a.ldt-sp-card-btn-info,
    .ldt-sp-wrap a.ldt-sp-card-btn-info,
    a.ldt-sp-card-btn-info { font-size: .88rem !important; padding: 12px 14px !important; }
    .ldt-sp-card-header { padding: 20px 18px 14px !important; }

    /* ── Info cards ── */
    .ldt-sp-info-card { padding: 22px 16px !important; }
    .ldt-sp-info-icon { width: 48px !important; height: 48px !important; margin-bottom: 14px !important; }
    .ldt-sp-info-card h3 { font-size: 1rem !important; margin-bottom: 4px !important; }
    .ldt-sp-info-card p { font-size: .88rem !important; line-height: 1.55 !important; }

    /* ── Price summary ── */
    .ldt-sp-price-summary { font-size: .92rem !important; }
    .ldt-sp-price-summary th { font-size: .82rem !important; }
    .ldt-sp-price-summary td { font-size: .95rem !important; }

    /* ── FAQ ── */
    .ldt-sp-faq-q { font-size: 1.05rem !important; padding: 20px 20px !important; min-height: 56px !important; }
    .ldt-sp-faq-a { font-size: .95rem !important; padding: 0 20px 20px !important; line-height: 1.75 !important; }
    .ldt-sp-faq-arrow { font-size: .75rem !important; }

    /* ── CTA ── */
    .ldt-sp-cta-box { padding: 36px 24px !important; }
    .ldt-sp-wrap .ldt-sp-cta-box h2,
    .ldt-sp-cta-box h2 { font-size: 1.3rem !important; }
    .ldt-sp-cta-box p { font-size: .95rem !important; }
    .ldt-sp-bottom-note { font-size: .92rem !important; padding: 20px !important; }

    /* ── Trust banner ── */
    .ldt-ta-body { padding: 18px 16px !important; }
    .ldt-ta-checks { grid-template-columns: 1fr !important; }
    .ldt-ta-title { font-size: 1.1rem !important; }
    .ldt-ta-subtitle { font-size: .88rem !important; }
    .ldt-ta-toggle-main { font-size: .92rem !important; }
    .ldt-ta-toggle-hint { font-size: .78rem !important; }
    .ldt-ta-text { font-size: .92rem !important; line-height: 1.75 !important; }
    .ldt-ta-text a.ldt-ta-inline-link { font-size: .92rem !important; }
    .ldt-ta-check { font-size: .88rem !important; }
    a.ldt-ta-cta { font-size: .88rem !important; padding: 12px 20px !important; }
    .ldt-ta-fraud-text { font-size: .82rem !important; }
    a.ldt-ta-cta-danger { font-size: .82rem !important; }

    /* ── Warning ── */
    .ldt-sp-wrap .ldt-sp-nlw-text strong { font-size: .95rem !important; }
    .ldt-sp-wrap .ldt-sp-nlw-text p { font-size: .92rem !important; }

    /* ── Shared inline-style classes ── */
    .ldt-sp-wrap .ldt-il-xs { font-size: .78rem !important; }
    .ldt-sp-wrap .ldt-il-sm { font-size: .88rem !important; }
    .ldt-sp-wrap .ldt-il-md { font-size: .95rem !important; }
    .ldt-sp-wrap .ldt-il-lg { font-size: 1.05rem !important; }
    .ldt-sp-wrap .ldt-il-btn { font-size: .92rem !important; min-height: 48px !important; }
}

/* ═══ RESPONSIVE — SMALL PHONES ═══ */
@media (max-width: 480px) {
    .ldt-sp-hero-actions { flex-direction: column !important; align-items: center !important; }
    .ldt-sp-info-grid { grid-template-columns: 1fr !important; }
    .ldt-sp-card-actions { flex-direction: column !important; }
    .ldt-sp-card-btn-book, .ldt-sp-card-btn-info { width: 100% !important; }
    .ldt-sp-stats { grid-template-columns: repeat(2, 1fr) !important; }
    .ldt-sp-wrap h1.ldt-sp-hero-title,
    h1.ldt-sp-hero-title { font-size: 1.45rem !important; }
    .ldt-sp-badge { font-size: .78rem !important; }
    .ldt-sp-hero-sub { font-size: .92rem !important; }
    .ldt-sp-hero-trust-item { font-size: .85rem !important; }
    .ldt-sp-hero-trust { margin-bottom: 32px !important; padding-bottom: 28px !important; }
    .ldt-sp-zip-box { padding: 40px 20px !important; margin: 16px 0 !important; }
    .ldt-sp-zip-box h2 { font-size: 1.1rem !important; }
    .ldt-sp-zip-box input { font-size: 1rem !important; padding: 15px 14px !important; }
    .ldt-sp-zip-box button { font-size: 1rem !important; padding: 15px 18px !important; }
    .ldt-sp-stat-label { font-size: .74rem !important; }
    .ldt-sp-info-card h3 { font-size: .95rem !important; }
    .ldt-sp-info-card p { font-size: .85rem !important; line-height: 1.6 !important; }

    /* ── Cards at 480px ── */
    .ldt-sp-card-city { font-size: 1.1rem !important; }
    .ldt-sp-card-address { font-size: .9rem !important; }
    .ldt-sp-card-dist { font-size: .85rem !important; padding: 6px 12px !important; }
    .ldt-sp-price-label { font-size: .85rem !important; }
    .ldt-sp-price-value { font-size: 1.3rem !important; }
    #page-container .ldt-sp-wrap a.ldt-sp-card-btn-book,
    .ldt-sp-wrap a.ldt-sp-card-btn-book,
    a.ldt-sp-card-btn-book { font-size: 1rem !important; padding: 16px 20px !important; width: 100% !important; justify-content: center !important; }
    #page-container .ldt-sp-wrap a.ldt-sp-card-btn-info,
    .ldt-sp-wrap a.ldt-sp-card-btn-info,
    a.ldt-sp-card-btn-info { font-size: .95rem !important; padding: 14px 18px !important; width: 100% !important; justify-content: center !important; }

    .ldt-sp-faq-q { font-size: 1rem !important; padding: 18px 16px !important; min-height: 56px !important; }
    .ldt-sp-faq-a { font-size: .92rem !important; padding: 0 16px 18px !important; }
    .ldt-sp-wrap h2.sec-title { font-size: 1.2rem !important; }
    .ldt-sp-cta-box { padding: 32px 18px !important; }
    .ldt-sp-wrap .ldt-sp-cta-box h2,
    .ldt-sp-cta-box h2 { font-size: 1.2rem !important; }
    #page-container .ldt-sp-wrap a.ldt-sp-btn-primary,
    .ldt-sp-wrap a.ldt-sp-btn-primary,
    a.ldt-sp-btn-primary { font-size: 1.05rem !important; padding: 18px 28px !important; width: 100% !important; justify-content: center !important; border-radius: 0 !important; }
    .ldt-sp-wrap a.ldt-sp-btn-secondary,
    a.ldt-sp-btn-secondary { font-size: 1.05rem !important; padding: 18px 28px !important; width: 100% !important; justify-content: center !important; border-radius: 0 !important; }
    .ldt-sp-content { padding: 0 14px 36px !important; }
    .ldt-ta-title { font-size: 1rem !important; }
    .ldt-ta-subtitle { font-size: .84rem !important; }
    .ldt-ta-toggle-main { font-size: .88rem !important; }
    .ldt-ta-toggle-hint { font-size: .74rem !important; }
    .ldt-ta-text { font-size: .88rem !important; }
    .ldt-ta-check { font-size: .84rem !important; }
    a.ldt-ta-cta { font-size: .84rem !important; }
    .ldt-ta-fraud-text { font-size: .78rem !important; }
    .ldt-sp-wrap .ldt-il-xs { font-size: .74rem !important; }
    .ldt-sp-wrap .ldt-il-sm { font-size: .84rem !important; }
    .ldt-sp-wrap .ldt-il-md { font-size: .9rem !important; }
    .ldt-sp-wrap .ldt-il-lg { font-size: 1rem !important; }
    .ldt-sp-wrap .ldt-il-btn { font-size: .88rem !important; }
}
