/* WizoTrip identity: original supplied logo, red actions and purple accents. */
.b2c-app {
    --brand-purple: #754679;
    --line: #eadde5;
    --bs-primary: #cf2035;
    --bs-primary-rgb: 207, 32, 53;
    --bs-link-color: #a91d32;
    --bs-link-hover-color: #754679;
}
.b2c-app .header-brand { width: 144px; flex-basis: 144px; height: 82px; }
.b2c-app .header-logo-frame,
.b2c-app .wizotrip-logo-frame {
    position: relative; display: block; width: 144px; height: 82px;
    overflow: hidden; flex-shrink: 0; background: #fff; border-radius: 12px;
}
.b2c-app .header-brand-logo,
.b2c-app .wizotrip-logo-frame img {
    position: absolute; width: 176px; height: 176px; max-width: none;
    left: 50%; top: 50%; transform: translate(-50%, -50%); object-fit: contain;
}
.b2c-app .utility-bar,
.b2c-app .homepage-v2 { background: linear-gradient(135deg, #fff8f9, #f7f1f8); }
.b2c-app .main-navbar .nav-link:hover,
.b2c-app .main-navbar .nav-link.active,
.b2c-app .booking-tab.active { background: #fcf0f3; color: var(--brand-blue); }
.b2c-app .btn-primary,
.b2c-app .footer-cta-action,
.b2c-app .support-fab { background: linear-gradient(120deg, #cf2035, #754679); border-color: #cf2035; color: #fff; }
.b2c-app .btn-primary:hover { background: #a91d32; border-color: #a91d32; }
.b2c-app .btn-outline-primary { --bs-btn-color: #a91d32; --bs-btn-border-color: #cf2035; --bs-btn-hover-bg: #a91d32; --bs-btn-hover-border-color: #a91d32; --bs-btn-active-bg: #a91d32; }
.b2c-app .footer-cta { background: linear-gradient(120deg, #471f36, #56365f); }
.b2c-app .static-info-hero { background: linear-gradient(120deg, #fff2f4, #f1e8f5); }
.wizotrip-office-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.wizotrip-office-grid address { margin: 16px 0; line-height: 1.8; font-style: normal; overflow-wrap: anywhere; }

/* Secondary purple balances red selections without changing service imagery. */
.b2c-app .auth-access-dialog { border-color: #eadde5; background: #fff; }
.b2c-app .auth-access-head { background: #fcf8fa; border-color: #eadde5; }
.b2c-app .auth-access-head > span,
.b2c-app .auth-popup-secondary { color: #58335c; border-color: #decbe2; background: #f5edf6; }
.b2c-app .auth-popup-secondary:hover,
.b2c-app .auth-access-close:hover { color: #58335c; border-color: #ad87b1; background: #f5edf6; }
.b2c-app .auth-popup-field > span:first-child,
.b2c-app .auth-otp-heading strong { color: #58335c; }
.b2c-app .auth-popup-field > span:last-child { border-color: #decbe2; }
.b2c-app .auth-role-tabs { border-color: #eadde5; background: #f5edf6; }
.b2c-app .auth-role-tabs button.is-active { color: #58335c; }
.b2c-app .auth-role-tabs button.is-active i,
.b2c-app .auth-popup-submit { background: linear-gradient(120deg, #754679, #58335c); box-shadow: 0 8px 20px rgba(117, 70, 121, .2); }
.b2c-app .auth-popup-submit:hover { box-shadow: 0 12px 26px rgba(117, 70, 121, .25); }
.b2c-app .auth-panel-heading::before { background: linear-gradient(#cf2035, #754679); }
.b2c-app .auth-popup-field > span:last-child:focus-within,
.b2c-app .auth-otp-code input:focus { border-color: #ad87b1; box-shadow: 0 0 0 4px rgba(117, 70, 121, .1); }
.b2c-app .homepage-v2 { --home-border: #eadde5; --home-shadow: 0 18px 44px rgba(71, 31, 54, .10); }
.b2c-app .homepage-phase2,
.b2c-app .package-catalog-page,
.b2c-app .package-detail-page,
.b2c-app .static-info-page { --section-blue: #754679; --section-blue-dark: #58335c; --section-line: #eadde5; --section-soft: #fcf8fa; }
.b2c-app .special-fare-row { border-color: #eadde5; background: #fcf8fa; }
.b2c-app .special-fare-option:hover span,
.b2c-app .special-fare-option input:checked + span { color: #58335c; border-color: #ad87b1; background: #f5edf6; box-shadow: none; }
.b2c-app .special-fare-option input:checked + span::before { border-color: #754679; background: #754679; }
.b2c-app .special-fare-option input:focus-visible + span { outline-color: #ad87b1; }
.b2c-app .calendar-day:hover:not(:disabled),
.b2c-app .calendar-day.is-in-range { color: #58335c; background: #f5edf6; }
.b2c-app .calendar-day.is-today { box-shadow: inset 0 0 0 1px #ad87b1; }
.b2c-app .calendar-day.is-selected { color: #fff; background: #754679; box-shadow: 0 5px 12px rgba(117, 70, 121, .2); }
.b2c-app .calendar-footer button,
.b2c-app .traveller-done { color: #fff; background: #754679; }
.b2c-app .cabin-options button.active { color: #58335c; border-color: #ad87b1; background: #f5edf6; box-shadow: none; }
.b2c-app:has(.traveller-popover.is-open, .calendar-popover.is-open, .hotel-room-popover.is-open) .support-fab { visibility: hidden; }
.b2c-app .counter-control button:not(:disabled) { color: #754679; border-color: #decbe2; background: #fcf8fa; }
.b2c-app .sector-number { color: #754679; background: #f5edf6; }
.b2c-app .btn-primary { --bs-btn-focus-shadow-rgb: 117, 70, 121; --bs-btn-active-bg: #58335c; --bs-btn-active-border-color: #58335c; }
.b2c-app .form-control:focus,
.b2c-app .form-select:focus { border-color: #ad87b1; box-shadow: 0 0 0 3px rgba(117, 70, 121, .12); }
.b2c-app .homepage-v2 .homepage-phase2 .home-offer-card-link > img[hidden] { display: none; }
.b2c-app .homepage-v2 .homepage-phase2 .home-offer-card-link > .home-offer-placeholder {
    background: linear-gradient(135deg, #a91d32, #58335c); color: #fff;
}
.b2c-app .homepage-v2 .homepage-phase2 .home-offer-image-fallback { align-content: center; gap: 18px; padding: 24px; text-align: center; }
.b2c-app .home-offer-image-fallback strong { font-size: clamp(1rem, 2vw, 1.4rem); line-height: 1.4; }
.b2c-app .homepage-v2 .homepage-phase2 .home-offer-card-link:focus-visible { box-shadow: inset 0 0 0 6px #754679; }
.b2c-app .utility-login,
.b2c-app .hero-kicker,
.b2c-app .hero-copy h1 span { color: var(--brand-purple); }
.b2c-app .main-navbar .nav-link:hover,
.b2c-app .main-navbar .nav-link:hover .nav-service-icon { color: var(--brand-purple); background: #f3ecf6; }
.b2c-app .homepage-v2 .search-button {
    color: #fff; border-color: #754679; background: linear-gradient(120deg, #754679, #563762);
    box-shadow: 0 8px 20px rgba(117, 70, 121, .22);
}
.b2c-app .homepage-v2 .search-button:hover { background: #563762; }
.b2c-app .booking-field:focus-within { border-color: #a77eaf; box-shadow: 0 0 0 3px rgba(117, 70, 121, .12); }
.b2c-app .btn-outline-primary { --bs-btn-color: #754679; --bs-btn-border-color: #a77eaf; --bs-btn-hover-bg: #754679; --bs-btn-hover-border-color: #754679; }

/* Keep the centered logo visible when the shared scroll script compacts the header. */
.b2c-app .site-header.app-header-compact .header-brand { width: 144px; flex-basis: 144px; height: 56px; }
.b2c-app .site-header.app-header-compact .header-logo-frame { width: 144px; height: 56px; }
.b2c-app .site-header.app-header-compact .header-brand-logo {
    width: 128px; height: 128px; transform: translate(-50%, -50%); transform-origin: center;
}

/* A distinct WizoTrip footer, with a light brand card and two office cards. */
.b2c-app .wizotrip-footer {
    padding-top: 28px; color: #e8dfee; border-top: 4px solid #754679;
    background: radial-gradient(ellipse at top right, #58365f, transparent 65%), #271d32;
}
.wizotrip-footer::before { display: none; }
.b2c-app .wizotrip-footer .footer-cta { padding: 24px 28px; border: 1px solid #73577e; border-radius: 20px; background: #3d2b4a; }
.wizotrip-footer .footer-cta::after { display: none; }
.wizotrip-footer .footer-cta h2 { color: #fff; font-size: clamp(1.2rem, 2.3vw, 1.8rem); }
.wizotrip-footer .footer-eyebrow { color: #f4acb8; }
.wizotrip-footer .footer-cta-copy > div > p:last-child { color: #d9cbe0; }
.wizotrip-footer .footer-cta-icon { color: #754679; border: 0; background: #f4edf7; box-shadow: none; }
.wizotrip-footer .footer-content { grid-template-columns: minmax(240px, .8fr) minmax(0, 1.5fr); gap: 40px; padding: 36px 0; }
.wizotrip-footer .footer-brand-block { padding: 24px; border-radius: 20px; background: #fff; }
.wizotrip-footer .footer-intro { color: #65596d; }
.wizotrip-footer .footer-contact-list > a,
.wizotrip-footer .footer-contact-list > span { color: #493d50 !important; }
.wizotrip-footer .footer-contact-icon { color: #754679; background: #f2ebf5; }
.wizotrip-footer .footer-social-block > p { color: #754679; }
.wizotrip-footer .footer-nav-grid { padding-top: 16px; }
.wizotrip-footer .footer-heading { color: #fff; }
.wizotrip-footer .footer-heading::before { background: #e76279; }
.wizotrip-footer .footer-column a { color: #e8dfee !important; }
.wizotrip-footer .footer-column a:hover { color: #fff !important; background: #493455; }
.wizotrip-footer .footer-link-icon { color: #e1c0e9; background: #463250; }
.wizotrip-footer .footer-column a:hover .footer-link-icon { background: #754679; }
.wizotrip-footer .footer-link-arrow { color: #bca8c8; }
.wizotrip-footer-offices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding-bottom: 30px; }
.wizotrip-footer-office { display: flex; align-items: flex-start; gap: 16px; padding: 22px; border: 1px solid #62496e; border-radius: 16px; background: #35263f; }
.wizotrip-office-icon { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border-radius: 12px; color: #ffd4dc; background: #633346; }
.wizotrip-footer-office h2 { margin: 0 0 10px; color: #fff; font-size: .95rem; }
.wizotrip-footer-office address { margin: 0; color: #ded1e5; font-size: .82rem; line-height: 1.8; font-style: normal; overflow-wrap: anywhere; }
.wizotrip-footer .footer-trust-row { border-color: #62496e; }
.wizotrip-footer .footer-trust-item,
.wizotrip-footer .footer-trust-item i,
.wizotrip-footer .footer-bottom { color: #d8c8e0; }
.wizotrip-footer a:focus-visible { outline: 3px solid #e7bddf; outline-offset: 4px; }
@media (max-width: 991px) {
    .wizotrip-footer .footer-content { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 767px) {
    .b2c-app .homepage-v2:not(.agent-search-embed) .booking-tabs {
        display: flex; width: 100%; overflow: visible; mask-image: none; -webkit-mask-image: none;
    }
    .b2c-app .homepage-v2:not(.agent-search-embed) .booking-tab {
        flex: 1 1 0; min-width: 0; padding-inline: 4px; gap: 4px; font-size: .7rem;
    }
    .b2c-app .homepage-v2:not(.agent-search-embed) #flightSearchForm > .special-fare-row .special-fare-options {
        display: flex; flex-wrap: wrap; overflow: visible; gap: 6px;
    }
    .wizotrip-footer-offices { grid-template-columns: 1fr; }
    .b2c-app .wizotrip-footer .footer-cta { padding: 20px; }
    .wizotrip-footer .footer-nav-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
    .wizotrip-footer .footer-column:last-child { grid-column: 1 / -1; }
    .wizotrip-office-grid { grid-template-columns: 1fr; }
    .b2c-app .header-brand { width: 124px; flex-basis: 124px; height: 72px; }
    .b2c-app .header-logo-frame { width: 124px; height: 72px; }
    .b2c-app .header-brand-logo { width: 154px; height: 154px; }
    .b2c-app .site-header.app-header-compact .header-brand { width: 124px; flex-basis: 124px; height: 54px; }
    .b2c-app .site-header.app-header-compact .header-logo-frame { width: 124px; height: 54px; }
    .b2c-app .site-header.app-header-compact .header-brand-logo { width: 122px; height: 122px; transform: translate(-50%, -50%); }
}
