/* Homepage and booking refinement. Loaded by these two templates only. */

/* Keep the existing brand; use plain typography and restrained surfaces. */
.site-navbar .btn-primary {
    background: #126344;
    border-color: #126344;
    border-radius: 6px;
    font-weight: 600;
}
.site-navbar .btn-primary:hover { background: #0d4c34; border-color: #0d4c34; }

/* Homepage */
.idt-home-design {
    /* Let centre suggestions extend over the section below the hero. */
    overflow: visible !important;
    z-index: 1;
    background: #123b2d;
    border-bottom: 1px solid #244e3e;
    padding-bottom: 0;
}
.idt-home-design::before {
    background: linear-gradient(90deg, rgba(15, 48, 35, .82), rgba(15, 48, 35, .60)), url('/assets/img/hero-bg.jpg') center / cover;
}
.idt-home-design::after, .idt-home-design .hero-orb { display: none; }
.idt-home-design .hero-content { padding: 24px 16px 28px; }
.idt-home-design .hero-content > .row > .col-12 {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.idt-home-design .hero-headline,
.idt-home-design .hero-subheadline,
.idt-home-design .benefit-chip,
.idt-home-design .hero-price-card,
.idt-home-design .hero-cta-button,
.idt-home-design .mobile-fold-cta-btn,
.idt-home-design .hero-mini-checker {
    font-family: Arial, Helvetica, sans-serif;
}
.idt-home-design .hero-badge {
    order: 0;
    align-self: center;
    padding: 0;
    margin: 0 auto 14px;
    border: 0;
    border-radius: 0;
    background: none;
    backdrop-filter: none;
    box-shadow: none;
    color: #c1d9c9;
    font-size: 11px;
    letter-spacing: .1em;
}
.idt-home-design .hero-badge .pulse-dot { animation: none; box-shadow: none; background: #9bceb0; }
.idt-home-design .hero-headline {
    order: 1;
    margin: 0;
    color: #fff;
    font-size: clamp(34px, 8.8vw, 48px);
    line-height: 1.07;
    letter-spacing: -.04em;
    font-weight: 700;
    text-shadow: none;
    text-wrap: balance;
}
.idt-home-design .hero-eyebrow {
    display: block;
    margin-bottom: 15px;
    color: #bbd0c1;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: .12em;
    font-weight: 600;
    text-transform: uppercase;
}
.idt-home-design .hero-headline > br { display: none; }
.idt-home-design .hero-headline .highlight {
    font: inherit;
    color: #fff;
    background: none;
    -webkit-text-fill-color: currentColor;
    text-shadow: none;
}
.idt-home-design .hero-location-tag { order: 2; margin: 12px 0 0; }
.idt-home-design .hero-subheadline {
    order: 3;
    max-width: 520px;
    margin: 18px auto 0;
    color: #d3e0d8;
    font-size: 15px;
    line-height: 1.65;
    text-shadow: none;
    text-wrap: pretty;
}
.idt-home-design .hero-subheadline strong { font-weight: 600; }
.idt-home-design .mobile-above-fold-cta { order: 4; margin: 20px auto 0; max-width: 400px; }
.idt-home-design .mobile-fold-cta-btn,
.idt-home-design .hero-cta-button {
    min-height: 48px;
    padding: 13px 20px;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 6px;
    color: #123b2d !important;
    font-size: 15px;
    font-weight: 700;
    box-shadow: none;
    animation: none;
    transform: none;
    text-shadow: none;
    transition: background .18s ease;
}
.idt-home-design .hero-cta-button::before, .idt-home-design .hero-price-card .card-cta::after, .idt-home-design .hero-mini-checker::before { display: none; }
.idt-home-design .hero-cta-button i { color: #397557; }
.idt-home-design .mini-checker-hint { grid-column: 2; color: #c1d3c7; }
.idt-home-design .mini-checker-hint i { color: #a7ceb7; }
.idt-home-design .hero-cta-button:hover,
.idt-home-design .mobile-fold-cta-btn:hover { background: #e5efe8; border-color: #e5efe8; transform: none; box-shadow: none; }
.idt-home-design .mobile-fold-price,
.idt-home-design .hero-cta-subtext { font-size: 11px; color: #c1d3c7; line-height: 1.6; }
.idt-home-design .mobile-fold-price strong,
.idt-home-design .hero-cta-subtext strong { color: #fff; }
.idt-home-design .hero-benefit-chips {
    order: 5;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 14px;
    margin: 18px 0 0;
}
.idt-home-design .benefit-chip {
    padding: 0;
    gap: 6px;
    background: none;
    border: 0;
    border-radius: 0;
    backdrop-filter: none;
    box-shadow: none;
    color: #d3e0d8;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 400;
    transform: none;
}
.idt-home-design .benefit-chip i { color: #a7ceb7; font-size: 12px; }
.idt-home-design .hero-pricing-strip {
    order: 6;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 10px;
    width: 100%;
    max-width: 680px;
    margin: 26px auto 0;
    padding: 0;
}
.idt-home-design .hero-price-card {
    display: flex;
    flex-direction: column;
    width: auto !important;
    min-width: 0;
    max-width: none;
    padding: 17px 13px 14px;
    background: #fff;
    border: 1px solid #d6e0d7 !important;
    border-radius: 8px;
    box-shadow: none !important;
    transform: none !important;
    transition: border-color .18s ease;
    text-decoration: none;
}
.idt-home-design .hero-price-card.premium-plus { background: #eef4ed; }
.idt-home-design .hero-price-card::before,
.idt-home-design .hero-price-card::after { display: none; }
.idt-home-design .hero-price-card:hover {
    border-color: #8bb59a !important;
    box-shadow: none !important;
    transform: none !important;
}
.idt-home-design .hero-price-card .card-badge {
    position: static;
    transform: none;
    width: auto;
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    color: #38694d;
    font-size: 10px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: .06em;
    box-shadow: none;
}
.idt-home-design .hero-price-card .card-name { font: 700 19px/1.2 Arial, Helvetica, sans-serif; color: #173b2b; text-align: left; margin: 0 0 12px; letter-spacing: -.025em; }
.idt-home-design .hero-price-card .card-price { display: flex; flex-wrap: wrap; align-items: baseline; flex-direction: row; text-align: left; gap: 5px 8px; margin: 0; }
.idt-home-design .hero-price-card .card-price .current { color: #173b2b !important; font: 700 29px/1.1 Arial, Helvetica, sans-serif; letter-spacing: -.04em; }
.idt-home-design .hero-price-card .card-price .old { font-size: 13px !important; color: #68746d !important; animation: none; text-shadow: none; }
.idt-home-design .card-payment-note { margin: 6px 0 0; color: #657369; font-size: 11px; line-height: 1.4; }
.idt-home-design .hero-price-card .card-features { display: block; flex: 1; margin: 16px 0; padding: 0; }
.idt-home-design .hero-price-card .card-features li:not([hidden]):not(.daily-cancellations-badge) {
    display: block;
    position: relative;
    padding: 0 0 0 17px;
    margin: 0 0 8px;
    color: #425348;
    font-size: 12px;
    line-height: 1.5;
}
.idt-home-design .hero-price-card .card-features li:not(.daily-cancellations-badge) > i { position: absolute; left: 0; top: 2px; color: #397557 !important; font-size: 11px; }
.idt-home-design .hero-price-card .card-features strong { font-weight: 600; color: #304d3b; }
.idt-home-design .hero-price-card .card-cta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    min-height: 44px;
    padding: 11px 10px;
    background: #176344 !important;
    border: 1px solid #176344 !important;
    border-radius: 5px;
    color: #fff !important;
    font-size: 12px;
    font-weight: 600;
    box-shadow: none !important;
    animation: none;
    transform: none !important;
}
.idt-home-design .hero-price-card.premium .card-cta { color: #174c34 !important; background: #fff !important; border-color: #a3bbaa !important; }
.idt-home-design .hero-price-card:hover .card-cta { background: #104c33 !important; color: #fff !important; transform: none !important; box-shadow: none !important; filter: none; }
.idt-home-design .hero-price-card .fomo-cta-caption { margin-top: 9px; color: #657369; font-size: 9px; line-height: 1.45; font-weight: 400; }
.idt-home-design .hero-price-card .fomo-price-lock { background: transparent; border-width: 1px 0 0; border-radius: 0; box-shadow: none; padding: 9px 0 0; margin: 8px 0; }
.idt-home-design .hero-social-proof { order: 7; margin: 22px 0 0; }
.idt-home-design .hero-cta-button { order: 8; display: none; }
.idt-home-design .hero-cta-subtext { order: 9; display: none; }
.idt-home-design .hero-mini-checker {
    order: 10;
    width: 100%;
    max-width: 680px;
    margin: 24px auto 0;
    padding: 20px 0 0;
    border: 0;
    border-top: 1px solid #43614f;
    border-radius: 0;
    background: none;
    backdrop-filter: none;
    box-shadow: none;
}
.idt-home-design .mini-checker-header h4 { font-size: 16px; font-weight: 600; }
.idt-home-design .mini-checker-header p { font-size: 13px; }
.idt-home-design .mini-checker-search input { background: #fff; color: #243d2d; min-height: 48px; border-radius: 5px; font-size: 16px; box-shadow: none; }
.idt-home-design .mini-checker-search input::placeholder { color: #6b7b70; opacity: 1; }
.idt-home-design .mini-checker-search .search-icon { color: #6b7b70; }
.idt-home-design .mini-checker-search input:focus { background: #fff; border-color: #8cb899; outline: 2px solid #8cb899; outline-offset: 1px; box-shadow: none; }
.idt-home-design .mini-checker-dropdown { background: #fff; border: 1px solid #cfdbcf; border-radius: 5px; box-shadow: 0 6px 18px rgba(15, 40, 25, .12); }
.idt-home-design .mini-checker-dropdown-item span, .idt-home-design .mini-checker-dropdown-empty { color: #36503e; }
.idt-home-design .mini-checker-dropdown-item i { color: #397557; }
.idt-home-design .mini-checker-dropdown-item:hover, .idt-home-design .mini-checker-dropdown-item.highlighted { background: #eef4ed; }
.idt-home-design .mini-checker-tag { background: #234c38; border-color: #51725c; border-radius: 4px; }
.idt-home-design .mini-checker-btn { min-height: 48px; padding: 12px 16px; border: 1px solid #f7f6ef; border-radius: 2px; background: #f7f6ef; color: #153c2c; box-shadow: none; font-size: 14px; justify-content: space-between; transition: background .15s ease; }
.idt-home-design .mini-checker-btn:hover:not(:disabled) { background: #e0eadd; border-color: #e0eadd; box-shadow: none; transform: none; }
.idt-home-design .mini-checker-btn:disabled { background: transparent; border-color: #91a699; color: #c8d7cd; opacity: 1; }
.idt-home-design .mini-checker-btn:focus-visible { outline: 2px solid #f7f6ef; outline-offset: 4px; }

/* The checker continues the hero rather than opening another boxed surface. */
.idt-home-design .mini-checker-header h4 { margin-bottom: 8px; color: #f7f6ef; font-size: 22px; line-height: 1.25; letter-spacing: -.025em; }
.idt-home-design .mini-checker-results { padding: 8px 0 4px; border: 0; border-radius: 0; background: none; color: #f7f6ef; text-align: left; box-shadow: none; }
.idt-home-design .checker-results-layout { display: grid; gap: 26px; }
.idt-home-design .checker-results-intro h3 { max-width: 360px; margin: 0 0 14px; color: #f7f6ef; font: 500 clamp(29px, 3vw, 38px)/1.12 Arial, Helvetica, sans-serif; letter-spacing: -.035em; text-wrap: balance; }
.idt-home-design .checker-results-intro h3:focus { outline: none; }
.idt-home-design .mini-checker-results .checker-results-copy { max-width: 350px; margin: 0 0 24px; color: #e2e9e3; font: 400 15px/1.6 Arial, Helvetica, sans-serif; }
.idt-home-design .checker-centres-label { margin: 0 0 7px; color: #c8d7cd; font-size: 12px; }
.idt-home-design .checker-centres-list { display: flex; flex-wrap: wrap; gap: 6px 18px; list-style: none; margin: 0; padding: 0; }
.idt-home-design .checker-centres-list li { display: flex; align-items: baseline; gap: 7px; color: #f7f6ef; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.idt-home-design .checker-centres-list i { color: #d3e1d6; }
.idt-home-design .checker-change-centres { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 5px 0 0; padding: 8px 0; border: 0; border-radius: 0; background: none; color: #e2e9e3; font-size: 12px; font-weight: 400; text-decoration: underline; text-underline-offset: 4px; }
.idt-home-design .checker-change-centres:hover { color: #fff; }
.idt-home-design .checker-plan-selection { min-width: 0; }
.idt-home-design .checker-plan-selection > h4 { margin: 0 0 6px; color: #f7f6ef; font-size: 16px; font-weight: 500; line-height: 1.4; }
.idt-home-design .mini-checker-results .checker-plans-payment { margin: 0 0 16px; color: #c8d7cd; font-size: 12px; line-height: 1.5; }
.idt-home-design .checker-plan-options { border-top: 1px solid rgba(226, 233, 227, .35); }
.idt-home-design .checker-plan-option { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; padding: 18px 0; border-bottom: 1px solid rgba(226, 233, 227, .35); }
.idt-home-design .checker-plan-option > h5 { grid-column: 1; grid-row: 1; margin: 0; color: #f7f6ef; font-size: 21px; font-weight: 500; line-height: 1.3; letter-spacing: -.02em; }
.idt-home-design .checker-plan-price { grid-column: 2; grid-row: 1; color: #f7f6ef; font-size: 24px; font-weight: 500; line-height: 1.2; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.idt-home-design .mini-checker-results .checker-plan-description { grid-column: 1 / -1; grid-row: 2; margin: 0; color: #e2e9e3; font-size: 13px; line-height: 1.6; }
.idt-home-design .checker-plan-description > span { display: block; color: #c8d7cd; font-size: 12px; }
.idt-home-design .checker-plan-action { grid-column: 1 / -1; grid-row: 3; display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 46px; margin-top: 7px; padding: 11px 14px; border: 1px solid #d2dfd5; border-radius: 2px; background: transparent; color: #f7f6ef; font-size: 13px; line-height: 1.5; font-weight: 600; text-decoration: none; transition: background .15s ease, color .15s ease; }
.idt-home-design .checker-plan-action:hover { background: #f7f6ef; color: #153c2c; }
.idt-home-design .checker-plan-action[data-checker-plan="premium_plus"] { background: #f7f6ef; border-color: #f7f6ef; color: #153c2c; }
.idt-home-design .checker-plan-action[data-checker-plan="premium_plus"]:hover { background: #e0eadd; border-color: #e0eadd; }
.idt-home-design .checker-plan-action[aria-disabled="true"] { border-color: #6e8979; background: transparent; color: #b1c1b6; cursor: default; }
.idt-home-design .mini-checker-results .checker-plan-limit { grid-column: 1 / -1; grid-row: 4; margin: 2px 0 0; color: #e2e9e3; font-size: 12px; line-height: 1.5; }
.idt-home-design .checker-plan-action:focus-visible, .idt-home-design .checker-change-centres:focus-visible { outline: 2px solid #f7f6ef; outline-offset: 4px; }
@media (min-width: 768px) {
    .idt-home-design .checker-results-layout { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; }
    .idt-home-design .checker-plan-option { grid-template-columns: minmax(0, 1fr) 160px; padding: 20px 0; }
    .idt-home-design .mini-checker-results .checker-plan-description { grid-column: 1; grid-row: 2 / 4; }
    .idt-home-design .checker-plan-price { text-align: right; }
    .idt-home-design .checker-plan-action { grid-column: 2; grid-row: 2 / 4; white-space: nowrap; padding: 10px 12px; }
}
@media (max-width: 599px) {
    .idt-home-design .mini-checker-header { text-align: left; }
    .idt-home-design .mini-checker-header h4 { font-size: 21px; }
    .idt-home-design .mini-checker-results { padding: 2px 0 0; }
    .idt-home-design .checker-results-layout { gap: 18px; }
    .idt-home-design .mini-checker-results .checker-results-copy { margin-bottom: 16px; }
    .idt-home-design .checker-plan-selection > h4 { display: inline; margin: 0; font-size: 14px; }
    .idt-home-design .mini-checker-results .checker-plans-payment { margin: 6px 0 12px; }
}

/* Supporting sections: fewer boxes, closer spacing. Reviews retain their styles. */
.social-proof, .how-it-works, .faq-section { padding: 44px 0; }
.social-proof, .how-it-works { font-family: Arial, Helvetica, sans-serif; background: #faf9f6; }
.social-proof .section-header, .how-it-works .section-header, .faq-section .section-header { margin-bottom: 28px; }
.social-proof .section-header h2, .how-it-works .section-header h2, .faq-section .section-header h2,
.final-cta h2, #pricing h2 { font-family: Arial, Helvetica, sans-serif; font-size: clamp(25px, 3vw, 36px) !important; font-weight: 700 !important; line-height: 1.15; letter-spacing: -.035em; }
.social-proof .section-header .label, .how-it-works .section-header .label, .faq-section .section-header .label {
    padding: 0; margin-bottom: 12px; background: none; border: 0; color: #367451; font-size: 11px; font-weight: 600; letter-spacing: .1em; border-radius: 0;
}
.social-proof .stats-grid { gap: 0; }
.social-proof .stat-card { padding: 18px 12px; border: 0; border-right: 1px solid #dedfd6; border-radius: 0; background: none; box-shadow: none; transform: none; }
.social-proof .stat-card:last-child { border-right: 0; }
.social-proof .stat-card::before, .social-proof .stat-icon { display: none; }
.social-proof .stat-number { font: 700 clamp(26px, 3vw, 36px)/1.15 Arial, Helvetica, sans-serif; color: #174c34; background: none; -webkit-text-fill-color: currentColor; margin-bottom: 8px; }
.social-proof .stat-text { font-size: 13px; }
.how-it-works { background: #fff; border-top: 1px solid #e2e4dc; }
.how-it-works .steps-grid { gap: 24px; }
.how-it-works .step-card { background: none; padding: 0; border: 0; border-radius: 0; box-shadow: none; transform: none; }
.how-it-works .step-number { display: block; width: auto; height: auto; margin: 0 0 12px; padding-bottom: 12px; border-bottom: 1px solid #dce3d9; border-radius: 0; background: none; color: #397557; font: 500 24px/1 Arial, Helvetica, sans-serif; box-shadow: none; }
.how-it-works .step-card h3 { font-size: 18px; letter-spacing: -.02em; }
.how-it-works .step-card p { font-size: 14px; line-height: 1.65; }
#pricing { background: #142f25 !important; font-family: Arial, Helvetica, sans-serif; }
#pricing > div[style*="position: absolute"] { display: none; }
#pricing .section-header { margin-bottom: 28px !important; }
#pricing .pricing-card { display: flex; flex-direction: column; padding: 20px !important; background: #1b382c !important; border: 1px solid #476151 !important; border-radius: 8px !important; box-shadow: none !important; transform: none !important; backdrop-filter: none !important; }
#pricing .pricing-card::before { display: none; }
#pricing .pricing-card > [style*="min-height"] { min-height: 0 !important; flex: 1; }
#pricing .pricing-card > .text-center { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 14px; margin: 0 0 20px !important; text-align: left !important; align-items: center; }
#pricing .pricing-card > .text-center > .mb-3 { display: none; }
#pricing .pricing-card > .text-center h3 { grid-column: 1; grid-row: 1; margin: 0 !important; }
#pricing .pricing-card > .text-center > .my-3 { grid-column: 2; grid-row: 1 / 3; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; max-width: 160px; margin: 0 !important; }
#pricing .pricing-card > .text-center > p { grid-column: 1; grid-row: 2; margin: 0; font-size: 12px; }
#pricing .pricing-card > [style*="min-height"] > div { padding: 12px !important; border-radius: 4px !important; margin-top: 12px !important; box-shadow: none; }
#pricing .text-white-50 { color: #bfcdc2 !important; opacity: 1; }
#pricing .pricing-card > .position-absolute { position: static !important; transform: none !important; margin-bottom: 12px; }
#pricing .pricing-card > .position-absolute .badge { padding: 0 !important; background: none !important; color: #c4d9bd; }
#pricing .pricing-card .display-3 { font-size: 36px; color: #fff; background: none !important; -webkit-text-fill-color: currentColor !important; }
#pricing .pricing-card h3 { font-size: 23px !important; font-family: Arial, Helvetica, sans-serif; }
#pricing .pricing-card ul { gap: 8px !important; font-size: 13px; }
#pricing .pricing-card ul li { line-height: 1.45; }
#pricing .pricing-card ul i { line-height: 1.2; font-size: 15px !important; margin-right: 10px !important; }
#pricing .pricing-card .btn { margin-top: auto; border-radius: 5px !important; min-height: 46px; padding: 12px 16px !important; font-size: 14px; background: #eef4ed !important; color: #193c2b !important; border: 1px solid #eef4ed !important; box-shadow: none !important; animation: none !important; }
#pricing .pricing-card .badge { box-shadow: none !important; border-radius: 3px; font-size: 10px !important; }
.faq-section { background: #faf9f6; }
.final-cta { padding: 44px 20px; background: #123b2d; }
.final-cta .btn { border-radius: 6px; padding: 14px 24px; background: #fff; color: #123b2d; box-shadow: none; border: 1px solid #fff; transform: none; }

/* Booking: a shorter introduction, generous fields, and flat form sections. */
.idt-booking-design { max-width: 740px; padding: 24px 16px 44px; }
.idt-booking-design .flow-card { border: 1px solid #dce2d9; border-radius: 10px; box-shadow: 0 4px 18px rgba(24, 48, 32, .04); }
.idt-booking-design .flow-header { padding: 25px 22px 22px; background: #153e2e; text-align: left; }
.idt-booking-design .flow-header::before, .idt-booking-design .flow-header::after { display: none; }
.idt-booking-design .flow-header-icon { display: none; }
.idt-booking-design .booking-eyebrow { display: block; margin-bottom: 9px; color: #b5cebd; font: 600 10px/1.4 Arial, Helvetica, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.idt-booking-design .flow-header h1 { margin-bottom: 10px; font: 700 clamp(25px, 4vw, 31px)/1.12 Arial, Helvetica, sans-serif; letter-spacing: -.035em; text-shadow: none; }
.idt-booking-design .flow-header h1 .highlight { background: none; color: #fff; -webkit-text-fill-color: currentColor; }
.idt-booking-design .flow-header p { max-width: 540px; margin: 0; color: #d0ddd3; opacity: 1; font: 400 14px/1.6 Arial, Helvetica, sans-serif; }
.idt-booking-design .flow-header-trust { justify-content: flex-start; gap: 8px 15px; margin-top: 16px; }
.idt-booking-design .flow-header-trust-item { padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; color: #d4e0d7; font-size: 11px; font-weight: 500; backdrop-filter: none; }
.idt-booking-design .flow-header-trust-item i { color: #acccb7; }
.idt-booking-design .flow-body { padding: 22px; }
.idt-booking-design .progress-dots { justify-content: flex-start; margin-bottom: 18px; gap: 6px; }
.idt-booking-design .progress-dot { width: 36px; height: 3px; border-radius: 0; box-shadow: none; background: #dde5dc; }
.idt-booking-design .progress-dot.active, .idt-booking-design .progress-dot.completed { background: #176344; box-shadow: none; transform: none; }
.idt-booking-design .step-title { margin-bottom: 16px; padding: 0; border: 0; font: 700 21px/1.2 Arial, Helvetica, sans-serif; letter-spacing: -.02em; color: #213d2e; }
.idt-booking-design #planConfirmationBanner { border-radius: 6px !important; box-shadow: none !important; margin-bottom: 18px !important; }
.idt-booking-design #planBannerAccent { padding: 1px 0 !important; background: #216b48 !important; }
.idt-booking-design #planBannerName { font-family: Arial, Helvetica, sans-serif; font-size: 15px !important; }
.idt-booking-design #planBannerCentres { color: #637368 !important; }
.idt-booking-design #planBannerPrice { color: #235f3e !important; background: #edf3ec !important; }
.idt-booking-design #changePlanBtn { min-height: 44px; padding: 8px !important; color: #235f3e !important; }
.idt-booking-design #bookingForm { font-family: Arial, Helvetica, sans-serif; }
.idt-booking-design .form-section-mini { margin-bottom: 22px; padding: 0 0 22px; border: 0; border-bottom: 1px solid #e1e5dd; border-radius: 0; background: none; box-shadow: none; }
.idt-booking-design .form-section-mini h4 { margin-bottom: 14px; font: 700 16px/1.3 Arial, Helvetica, sans-serif; letter-spacing: -.015em; color: #243d2d; }
.idt-booking-design .form-section-mini h4 i { color: #637e6a; font-size: 16px; }
.idt-booking-design .form-label-mini { font-size: 13px; font-weight: 600; letter-spacing: 0; color: #364b3d; }
.idt-booking-design .form-row { gap: 14px; }
.idt-booking-design .form-input, .idt-booking-design .centre-search-input { min-height: 48px; border: 1px solid #bdcbbf; border-radius: 5px; padding: 12px 13px; background: #fff; font-size: 16px; font-weight: 400; color: #243d2d; box-shadow: none; }
.idt-booking-design .centre-search-input { padding-left: 42px; }
.idt-booking-design .form-input:focus, .idt-booking-design .centre-search-input:focus { border-color: #176344; outline: 2px solid #c5daca; outline-offset: 1px; box-shadow: none; }
.idt-booking-design .selected-centre-badge { padding: 9px 12px; border: 1px solid #b8cdbb; border-radius: 5px; background: #eef4ed; box-shadow: none; font-size: 13px; }
.idt-booking-design .date-quick-btn, .idt-booking-design .day-chip-mini { min-height: 44px; padding: 10px 13px; border: 1px solid #ccd7cb; border-radius: 5px; background: #fff; box-shadow: none; font-size: 13px; }
.idt-booking-design .day-chip-mini.active, .idt-booking-design .day-chip-mini.selected, .idt-booking-design .date-quick-btn.active, .idt-booking-design .date-quick-btn.selected { background: #176344; border-color: #176344; color: #fff; box-shadow: none; }
.idt-booking-design .mode-cards { gap: 12px; }
.idt-booking-design .mode-card-mini { padding: 16px; border: 1px solid #cdd8cb; border-radius: 6px; background: #fff; box-shadow: none !important; transform: none !important; text-align: left; }
.idt-booking-design .mode-card-mini::before { display: none; }
.idt-booking-design .mode-card-mini.selected { border: 2px solid #397557; padding: 15px; background: #f1f6ee; }
.idt-booking-design .mode-card-mini > i { margin-bottom: 10px; font-size: 22px; color: #397557 !important; }
.idt-booking-design .mode-card-mini h5 { font-size: 15px; }
.idt-booking-design .mode-card-mini p { font-size: 13px; line-height: 1.55; }
.idt-booking-design .mode-card-mini > span { border-radius: 3px !important; box-shadow: none; font-size: 9px !important; background: #e4eee0 !important; color: #305d3d !important; }
.idt-booking-design .price-summary { padding: 18px; margin: 20px 0; border: 1px solid #d7e1d2; border-radius: 6px; background: #f3f6ef; box-shadow: none; }
.idt-booking-design .price-summary::before, .idt-booking-design .price-summary::after { display: none; }
.idt-booking-design .price-summary .price-amount { font: 700 33px/1.2 Arial, Helvetica, sans-serif; color: #214e34; background: none; -webkit-text-fill-color: currentColor; letter-spacing: -.035em; }
.idt-booking-design .price-note { font-size: 13px; color: #657368; }
.idt-booking-design .consent-box { padding: 14px; border: 1px solid #dce3d7; border-radius: 5px; background: #fafbf8; }
.idt-booking-design .consent-box label { font-size: 12px; line-height: 1.65; color: #56665a; }
.idt-booking-design .consent-box input { flex: 0 0 21px; width: 21px; height: 21px; accent-color: #176344; }
.idt-booking-design .btn-flow { min-height: 50px; padding: 14px 20px; border: 1px solid #176344; border-radius: 5px; background: #176344; box-shadow: none; font: 600 15px/1.4 Arial, Helvetica, sans-serif; animation: none; transform: none; }
.idt-booking-design .btn-flow::before { display: none; }
.idt-booking-design .btn-flow:hover { background: #104c33; border-color: #104c33; box-shadow: none; transform: none; }
.idt-booking-design .trust-badge-mini { padding: 0; border: 0; border-radius: 0; background: none; font-size: 11px; color: #637368; }

/* A simple list of booking choices, with the same actions and prices. */
#planSelectorOverlay.idt-plan-selector { background: #fff !important; color: #252d28; font-family: Arial, Helvetica, sans-serif; }
.idt-plan-selector > .plan-selector-shell { display: flex; flex-direction: column; max-width: 960px; min-height: 100%; margin: 0 auto; padding: 40px 32px 48px; }
.idt-plan-selector .plan-selector-brand { order: 0; display: block; align-self: flex-start; margin-bottom: 64px; color: #202923; font-size: 22px; font-weight: 700; text-decoration: none; }
.idt-plan-selector .plan-selector-brand img { display: block; width: auto; height: 32px; max-width: 100%; object-fit: contain; }
.idt-plan-selector .plan-selector-intro { order: 1; margin-bottom: 32px; }
.idt-plan-selector h1 { margin: 0 0 12px; color: #202923; font: 600 clamp(28px, 4vw, 36px)/1.15 Arial, Helvetica, sans-serif; letter-spacing: -.035em; }
.idt-plan-selector .plan-selector-intro p { margin: 0; color: #59635c; font: 400 15px/1.6 Arial, Helvetica, sans-serif; }
.idt-plan-selector .plan-selector-intro .plan-selector-payment-note { margin-top: 6px; font-size: 13px; color: #59635c; }
.idt-plan-selector .plan-selector-options { order: 3; display: flex !important; flex-direction: column; gap: 0 !important; max-width: none !important; width: 100%; margin: 0; border-top: 1px solid #ccd5cc; }
.idt-plan-selector .plan-overlay-card,
.idt-plan-selector .plan-overlay-card :is(div, p, h3, ul, li, span, strong) { font-family: Arial, Helvetica, sans-serif; }
.idt-plan-selector .plan-overlay-card { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(260px, 1.4fr) 170px; gap: 8px 28px; align-items: start; padding: 28px 0; border: 0 !important; border-bottom: 1px solid #ccd5cc !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; transform: none !important; transition: background .15s ease !important; cursor: pointer; text-align: left; }
.idt-plan-selector .plan-overlay-card:hover { background: #f8faf7 !important; }
.idt-plan-selector .plan-overlay-card h3 { grid-column: 1; grid-row: 1; margin: 0; color: #25362c; font-size: 22px; line-height: 1.3; font-weight: 600; letter-spacing: -.025em; }
.idt-plan-selector .plan-option-summary { grid-column: 1; grid-row: 2 / 4; margin: 0; max-width: 190px; color: #59635c; font-size: 14px; line-height: 1.5; }
.idt-plan-selector .plan-option-price { grid-column: 3; grid-row: 1; text-align: right; }
.idt-plan-selector .plan-option-amount { color: #25362c; font-size: 30px; font-weight: 600; line-height: 1.1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.idt-plan-selector .plan-option-price > [style*="line-through"], .idt-plan-selector .urgency-old-price-dark { color: #6a756d !important; font-size: 13px !important; }
.idt-plan-selector .plan-option-features { grid-column: 2; grid-row: 1 / 4; list-style: none; margin: 0; padding: 0; }
.idt-plan-selector .plan-option-features li { padding: 3px 0; color: #45554a; font-size: 13px; line-height: 1.6; }
.idt-plan-selector .plan-option-features li strong { font-weight: 600; }
.idt-plan-selector .plan-option-features li > i { display: inline-block; margin-right: 6px; color: #28744e; font-size: 12px; }
.idt-plan-selector .plan-option-features li > span { font-size: 12px !important; opacity: 1 !important; color: #59635c; }
.idt-plan-selector .plan-option-action { white-space: nowrap; grid-column: 3; grid-row: 2 / 4; display: flex; justify-content: center; align-items: center; gap: 7px; min-height: 44px; margin-top: 8px; padding: 10px 12px; background: #176344; border: 1px solid #176344; border-radius: 4px; color: #fff; font-size: 13px; font-weight: 600; line-height: 1.4; }
.idt-plan-selector .plan-overlay-card:hover .plan-option-action { background: #104b33; }
.idt-plan-selector .plan-selector-reassurance { order: 4; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 24px 0 0; color: #59635c; font-size: 12px; line-height: 1.6; }
.idt-plan-selector .plan-selector-reassurance > span { margin: 0 4px; }

/* Only show the extra pricing banner when an offer or timer is active. */
.idt-plan-selector:not(.has-plan-offer) .fomo-overlay-rail { display: none !important; }
#planSelectorOverlay.idt-plan-selector .fomo-overlay-rail { order: 2; max-width: none; margin: 0 0 24px; background: #f6f8f4; border: 0; border-radius: 0; box-shadow: none; }
#planSelectorOverlay.idt-plan-selector .fomo-overlay-rail__inner { padding: 16px; gap: 16px; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.idt-plan-selector .fomo-overlay-rail__headline { color: #25362c; font-size: 18px; }
.idt-plan-selector .fomo-overlay-rail__eyebrow, .idt-plan-selector .fomo-overlay-rail__timer-note { color: #437653; }
.idt-plan-selector .fomo-overlay-rail__meta, .idt-plan-selector .fomo-overlay-rail__timer-label { color: #59635c; }
.fomo-offer-rail:not(.fomo-overlay-rail) .fomo-offer-rail__status { color: #437653; }

/* A short rotating quote, leaving more room for the booking form. */
.idt-booking-design .checkout-proof { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 16px; margin: 0 0 20px; padding: 12px 0; border: 0; border-top: 1px solid #e0e5dd; border-bottom: 1px solid #e0e5dd; border-radius: 0; background: none; box-shadow: none; font-family: Arial, Helvetica, sans-serif; }
.idt-booking-design .checkout-proof__head { flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; margin: 0; }
.idt-booking-design .checkout-proof__star { width: 12px; height: 12px; }
.idt-booking-design .checkout-proof__star i { font-size: 7px; }
.idt-booking-design .checkout-proof__score { color: #45554a; font-size: 11px; font-weight: 600; line-height: 1.4; }
.idt-booking-design .checkout-proof__score span { color: #59635c; font-weight: 400; }
.idt-booking-design .checkout-proof__stage { min-height: 0; height: 62px; }
.idt-booking-design .checkout-proof__card { gap: 4px; }
.idt-booking-design .checkout-proof__quote { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; color: #45554a; font: 400 13px/19px Arial, Helvetica, sans-serif; }
.idt-booking-design .checkout-proof__foot { gap: 8px; margin-top: 0; }
.idt-booking-design .checkout-proof__avatar { display: none; }
.idt-booking-design .checkout-proof__name { color: #25362c; font: 600 11px/16px Arial, Helvetica, sans-serif; }
.idt-booking-design .checkout-proof__verified { margin-left: auto; padding: 0; border-radius: 0; background: none; color: #5d6e61; font: 400 10px/16px Arial, Helvetica, sans-serif; }
@media (max-width: 767px) {
    .idt-plan-selector > .plan-selector-shell { padding: 24px 20px 32px; }
    .idt-plan-selector .plan-selector-brand { margin-bottom: 36px; }
    .idt-plan-selector .plan-selector-brand img { height: 28px; }
    .idt-plan-selector .plan-selector-intro { margin-bottom: 24px; }
    .idt-plan-selector .plan-selector-intro p { font-size: 14px; }
    .idt-plan-selector .plan-overlay-card { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; padding: 22px 0; }
    .idt-plan-selector .plan-overlay-card h3 { font-size: 20px; }
    .idt-plan-selector .plan-option-summary { grid-column: 1; grid-row: 2; max-width: none; font-size: 13px; }
    .idt-plan-selector .plan-option-price { grid-column: 2; grid-row: 1 / 3; }
    .idt-plan-selector .plan-option-amount { font-size: 27px; }
    .idt-plan-selector .plan-option-features { grid-column: 1 / -1; grid-row: 3; margin-top: 8px; }
    .idt-plan-selector .plan-option-action { grid-column: 1 / -1; grid-row: 4; margin-top: 10px; }
}
@media (max-width: 599px) {
    .idt-booking-design .checkout-proof { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 10px 0; margin-bottom: 16px; }
    .idt-booking-design .checkout-proof__head { flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
    .idt-booking-design .checkout-proof__stage { height: auto; }
}

/* Clear keyboard focus without adding motion. */
.idt-home-design a:focus-visible, .idt-home-design button:focus-visible,
.idt-booking-design button:focus-visible, .idt-plan-selector .plan-overlay-card:focus-visible {
    outline: 3px solid #87b794;
    outline-offset: 4px;
}

@media (min-width: 992px) {
    .idt-home-design .hero-content { max-width: 1220px; padding: 42px 24px 30px; }
    .idt-home-design .hero-content > .row > .col-12 {
        display: grid;
        grid-template-columns: minmax(0, .95fr) minmax(0, 1.1fr);
        gap: 18px 50px;
        text-align: left !important;
        align-items: start;
    }
    .idt-home-design .hero-content > .row > .col-12 > * { grid-column: 1; min-width: 0; }
    .idt-home-design .hero-badge { grid-row: 1; justify-self: start; margin: 0 !important; }
    .idt-home-design .hero-headline { grid-row: 2; font-size: clamp(42px, 4.5vw, 58px); text-align: left; max-width: 510px; }
    .idt-home-design .hero-eyebrow { margin-bottom: 18px; }
    .idt-home-design .hero-subheadline { grid-row: 3; font-size: 16px; text-align: left; margin: 0 !important; max-width: 460px; }
    .idt-home-design .hero-benefit-chips { grid-row: 4; justify-content: flex-start; margin: 0; max-width: 450px; gap: 9px 16px; }
    .idt-home-design .hero-cta-button { grid-row: 5; display: inline-flex; justify-self: start; margin: 3px 0 0; font-size: 15px; padding: 14px 20px; }
    .idt-home-design .hero-cta-subtext { grid-row: 6; display: block; margin: -9px 0 0; text-align: left; }
    .idt-home-design .hero-pricing-strip { grid-column: 2 !important; grid-row: 1 / 7; align-self: center; gap: 14px; margin: 0; max-width: none; }
    .idt-home-design .hero-price-card { padding: 24px 20px 18px; }
    .idt-home-design .hero-price-card .card-name { font-size: 23px; }
    .idt-home-design .hero-price-card .card-price .current { font-size: 36px; }
    .idt-home-design .hero-price-card .card-features li:not([hidden]):not(.daily-cancellations-badge) { font-size: 13px; line-height: 1.55; margin-bottom: 9px; padding-left: 20px; }
    .idt-home-design .hero-price-card .card-features li:not(.daily-cancellations-badge) > i { font-size: 12px; }
    .idt-home-design .hero-price-card .card-cta { padding: 12px 14px; font-size: 13px; }
    .idt-home-design .hero-price-card .fomo-cta-caption { font-size: 10px; }
    .idt-home-design .hero-social-proof { grid-column: 1 / -1 !important; grid-row: 7; margin: 10px 0 0; text-align: center; }
    .idt-home-design .hero-mini-checker { grid-column: 1 / -1 !important; grid-row: 8; max-width: none; margin: 4px 0 0; padding: 22px 0 0; text-align: left; }
    .idt-home-design #miniCheckerInitial { display: grid; grid-template-columns: 1fr 1.15fr; gap: 0 28px; align-items: center; }
    .idt-home-design .mini-checker-header { grid-column: 1; grid-row: 1 / 4; margin: 0; text-align: left; }
    .idt-home-design .mini-checker-search, .idt-home-design .mini-checker-selected, .idt-home-design .mini-checker-btn { grid-column: 2; }
    .idt-home-design .mini-checker-search { margin: 0; }
    .idt-home-design .mini-checker-btn { margin-top: 10px; }
    .idt-booking-design { padding-top: 28px; }
    .idt-booking-design .flow-header, .idt-booking-design .flow-body { padding-left: 32px; padding-right: 32px; }
}
@media (min-width: 600px) and (max-width: 991px) {
    .idt-home-design .hero-content { padding: 36px 28px; }
    .idt-home-design .hero-price-card { padding: 24px; }
    .idt-home-design .hero-price-card .card-name { font-size: 23px; }
    .idt-home-design .hero-price-card .card-features li:not([hidden]):not(.daily-cancellations-badge) { font-size: 14px; }
    .idt-home-design .hero-price-card .card-cta { font-size: 14px; }
}
@media (max-width: 599px) {
    .idt-home-design .hero-headline { font-size: 34px; }
    .idt-home-design .hero-subheadline { font-size: 14px; line-height: 1.6; margin-top: 14px; }
    .idt-home-design .hero-eyebrow { margin-bottom: 12px; font-size: 10px; letter-spacing: .08em; }
    .idt-home-design .mobile-above-fold-cta { margin-top: 16px; }
    .idt-home-design .hero-benefit-chips { margin-top: 14px; gap: 6px 12px; }
    .idt-home-design .hero-pricing-strip { margin-top: 20px; }
    .idt-home-design .hero-price-card { padding: 16px 12px 13px; }
    .idt-home-design .hero-price-card .card-features { margin: 13px 0; }
    .idt-home-design .hero-price-card .card-features li:not([hidden]):not(.daily-cancellations-badge) { margin-bottom: 6px; }
    .idt-booking-design { padding: 16px 12px 32px; }
    .idt-booking-design .flow-header { padding: 22px 18px 20px; }
    .idt-booking-design .flow-body { padding: 20px 18px; }
    .idt-booking-design .flow-header-trust { gap: 8px 13px; }
    .idt-booking-design #planConfirmationBanner > div:nth-child(2) { padding: 10px 12px !important; }
    .idt-booking-design #planBannerIconBox { display: none !important; }
    .idt-booking-design .form-section-mini > .d-flex { flex-wrap: wrap; gap: 12px; }
    .idt-booking-design .form-section-mini h4 { font-size: 15px; }
    .idt-booking-design .form-section-mini .btn-sm { min-height: 42px; font-size: 12px; }
    .idt-booking-design .day-chips { gap: 6px; }
    .idt-booking-design .day-chip-mini { flex: 1; padding: 10px 7px; font-size: 12px; }
    .idt-booking-design .mode-cards { grid-template-columns: 1fr; }
    .social-proof .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 0; }
    .social-proof .stat-card:nth-child(2) { border-right: 0; }
    .how-it-works .steps-grid { gap: 26px; }
    #pricing .pricing-scroll-view { display: flex !important; flex-direction: column; overflow: visible !important; margin-right: 0 !important; margin-left: 0 !important; padding: 0 !important; }
    #pricing .pricing-scroll-view > div { flex: none !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; padding: 0; }
}
@media (max-width: 359px) {
    .idt-booking-design .day-chips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .idt-home-design .hero-pricing-strip { grid-template-columns: 1fr; }
    .idt-home-design .hero-price-card { padding: 20px; }
    .idt-home-design .hero-price-card .card-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; }
    .idt-home-design .hero-price-card .card-features li:not([hidden]):not(.daily-cancellations-badge) { margin: 0; }
    .idt-home-design .hero-price-card .card-cta { font-size: 14px; }
}
