/* Nepal Travels - site header/footer + homepage styles (Poppins, per Figma) */
/* ===== Site header / footer (new design) ===== */
        .hd, .ft { font-family: 'Poppins', 'Montserrat', sans-serif; }
        .hd a, .ft a { text-decoration: none; }
        .hd { background: #8dccf6; position: relative; z-index: 50; }
        .hd-top { background: #d4eafc; font-size: 14px; }
        .hd-top .container { display: flex; justify-content: space-between; align-items: center; padding-top: 8px; padding-bottom: 8px; gap: 12px; flex-wrap: wrap; }
        .hd-phone { display: flex; align-items: center; gap: 10px; color: #0a4a9a; font-weight: 600; }
        .hd-phone .ico { width: 26px; height: 26px; border-radius: 50%; background: #0a58b5; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; }
        .hd-phone a { color: #0a4a9a; }
        .hd-phone img { width: 16px; height: 11px; }
        .hd-auth { display: flex; align-items: center; gap: 18px; font-weight: 600; flex-wrap: wrap; }
        .hd-auth a { color: #0a58b5; }
        .hd-auth a:hover { color: #084a99; text-decoration: underline; }
        .hd-main .container { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 14px; padding-bottom: 14px; }
        .hd-logo img { height: 52px; width: auto; display: block; }
        .hd-nav { display: flex; align-items: center; gap: 36px; margin: 0; padding: 0; list-style: none; }
        .hd-nav a { color: #0a4a9a; font-size: 15px; font-weight: 500; padding: 6px 0; border-bottom: 2px solid transparent; }
        .hd-nav a:hover, .hd-nav a.active { color: #0a58b5; border-bottom-color: #0a58b5; }
        .hd-cta { background: #0a58b5; color: #fff; font-size: 15px; font-weight: 600; padding: 11px 26px; border-radius: 8px; white-space: nowrap; }
        .hd-cta:hover { background: #084a99; color: #fff; }
        .hd-burger { display: none; background: none; border: 0; font-size: 24px; color: #0a4a9a; }
        .hd-mobile { display: none; background: #fff; border-top: 1px solid #cfe6fa; }
        .hd-mobile.show { display: block; }
        .hd-mobile a { display: block; padding: 12px 20px; color: #0a4a9a; font-weight: 500; border-bottom: 1px solid #eef3f9; }
        @media (max-width: 991px) {
            .hd-nav, .hd-main .hd-cta { display: none; }
            .hd-burger { display: block; }
            .hd-top .container { justify-content: center; }
        }

        .ft { background: #eaf3fd; }
        .ft-help { padding: 28px 0 10px; }
        .ft-help-card { background: #dcecfb; border-radius: 14px; padding: 20px 28px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
        .ft-help-card .l { display: flex; align-items: center; gap: 14px; }
        .ft-help-card .ico { width: 42px; height: 42px; border-radius: 50%; background: #0a58b5; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 17px; flex-shrink: 0; }
        .ft-help-card h4 { font-size: 17px; font-weight: 600; color: #0a2a5c; margin: 0 0 2px; }
        .ft-help-card p { font-size: 14px; color: #3f4f68; margin: 0; }
        .ft-help-card .r { text-align: right; }
        .ft-help-card .r small { display: block; font-size: 13px; color: #5b6b82; }
        .ft-help-card .r strong { font-size: 18px; color: #0a4a9a; }
        .ft-help-card .r strong a { color: #0a4a9a; }
        .ft-body { padding: 44px 0 30px; }
        .ft-logo img { height: 56px; width: auto; }
        .ft-about { font-size: 14px; color: #3f4f68; line-height: 1.7; max-width: 300px; margin: 14px 0 20px; }
        .ft-affil { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 600; letter-spacing: 1px; color: #1d2b4a; }
        .ft-affil img { height: 40px; width: auto; object-fit: contain; }
        .ft h5 { font-size: 14px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #0a4a9a; margin-bottom: 18px; }
        .ft ul { list-style: none; margin: 0; padding: 0; }
        .ft li { margin-bottom: 12px; }
        .ft li a { font-size: 14px; color: #3f4f68; }
        .ft li a::before { content: '\203A'; margin-right: 8px; color: #0a58b5; font-weight: 700; }
        .ft li a:hover { color: #0a58b5; }
        .ft-accept { text-align: center; padding: 10px 0 26px; }
        .ft-accept .line { display: flex; align-items: center; gap: 16px; color: #1d2b4a; font-size: 13px; font-weight: 600; letter-spacing: 1px; margin-bottom: 14px; }
        .ft-accept .line::before, .ft-accept .line::after { content: ''; flex: 1; height: 1px; background: #9fbfdf; }
        .ft-accept img { max-height: 40px; }
        .ft-bottom { background: #0a2a5c; color: #cfe0f5; text-align: center; font-size: 13px; padding: 14px 12px; }
        .ft-bottom a { color: #fff; }

/* ===== New homepage design ===== */
        #content { font-family: 'Poppins', 'Montserrat', sans-serif; background: linear-gradient(180deg, #8dccf6 0%, #b9defa 30%, #dbeafb 60%, #eaf3fd 100%); overflow-x: hidden; }
        #content h1, #content h2, #content h3, #content h4 { font-family: 'Poppins', 'Montserrat', sans-serif; }
        .hm-label { font-size: 14px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #0a58b5; margin-bottom: .35rem; }
        .hm-title { font-size: 32px; font-weight: 600; color: #0a4a9a; margin-bottom: 0; }
        .hm-section { padding: 56px 0; }

        /* Hero */
        .hm-hero { position: relative; padding: 70px 0 60px; }
        .hm-hero h1 { text-align: center; font-size: 48px; line-height: 1.2; font-weight: 600; color: #1a73d9; margin-bottom: 2.5rem; text-transform: none; }
        .hm-hero h1 small { display: block; font-size: 30px; font-style: italic; font-weight: 500; color: #3a8be0; }
        .hm-hero-temple { position: absolute; left: 0; top: 70px; width: 19vw; max-width: 340px; pointer-events: none; }
        .hm-hero-plane { position: absolute; right: 0; top: 90px; width: 20vw; max-width: 380px; pointer-events: none; }
        .hm-hero-temple1 { position: absolute; right: 0; bottom: -10px; width: 15vw; max-width: 260px; opacity: .55; mix-blend-mode: multiply; pointer-events: none; }
        .hm-hero .container { position: relative; z-index: 2; }

        .hm-trip { display: flex; width: max-content; max-width: 100%; margin: 0 auto -24px; position: relative; z-index: 3; background: rgba(255,255,255,.85); border-radius: 50px; padding: 6px; box-shadow: 0 4px 14px rgba(10,74,154,.12); }
        .hm-trip input { position: absolute; opacity: 0; pointer-events: none; }
        .hm-trip label { margin: 0; padding: 8px 22px; border-radius: 50px; font-size: 14px; font-weight: 600; color: #1d2b4a; cursor: pointer; white-space: nowrap; }
        .hm-trip input:checked + label { background: #0a58b5; color: #fff; }

        .hm-search { background: #fff; border-radius: 22px; padding: 42px 26px 26px; box-shadow: 0 14px 40px rgba(10,74,154,.18); }
        .hm-search-grid { display: grid; grid-template-columns: repeat(5, 1fr) auto; gap: 14px; align-items: end; }
        .hm-field { position: relative; min-width: 0; }
        .hm-field > .hm-field-label { display: block; font-size: 14px; font-weight: 600; color: #1d2b4a; margin-bottom: 6px; }
        .hm-box { display: flex; align-items: center; gap: 8px; background: #f3f7fc; border: 1px solid #dbe5f1; border-radius: 10px; padding: 0 12px; height: 46px; cursor: pointer; }
        .hm-box i { color: #0a58b5; font-size: 14px; }
        .hm-box input { border: 0 !important; background: transparent !important; outline: 0; box-shadow: none !important; width: 100%; min-width: 0; font-size: 14px !important; font-weight: 600; color: #1d2b4a; padding: 0 !important; height: auto !important; }
        .hm-box .dropdown-toggle { font-size: 14px; font-weight: 600; color: #1d2b4a; width: 100%; }
        .hm-box .dropdown-toggle::after { display: none; }
        .hm-field em.validate-has-error { position: absolute; left: 2px; top: 100%; font-size: 12px; color: #dc3545; font-style: normal; }
        .hm-search-btn { height: 46px; padding: 0 30px; border-radius: 10px; background: #0a58b5; border: 0; color: #fff; font-weight: 600; font-size: 14px; display: inline-flex; align-items: center; gap: 8px; }
        .hm-search-btn:hover { background: #084a99; color: #fff; }
        .hm-day { display: none; }

        /* Offers */
        .hm-nav-btn { width: 38px; height: 38px; border-radius: 50%; border: 0; background: #fff; color: #0a58b5; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,.1); }
        .hm-nav-btn.is-primary { background: #0a58b5; color: #fff; }
        .deal-card { border-radius: 14px; padding: 24px 22px; min-height: 170px; color: #fff; }
        .deal-card, .deal-card * { color: #fff !important; }
        .deal-card img { display: none; }
        .deal-card p { margin-bottom: .4rem; }
        .deals-carousel .item { padding: 6px 0 14px; }
        .deal-c0 { background: linear-gradient(135deg, #0a58b5, #1d8ad6); }
        .deal-c1 { background: linear-gradient(135deg, #f0a010, #f7b733); }
        .deal-c2 { background: linear-gradient(135deg, #0e9ad0, #25b9e6); }
        .deal-c3 { background: linear-gradient(135deg, #12a085, #2dbf8d); }

        /* Banner + holidays */
        .hm-banner-img { width: 100%; height: 100%; object-fit: cover; border-radius: 16px; display: block; }
        .hm-holiday { background: #0a58b5; border-radius: 16px; padding: 38px 34px; color: #fff; height: 100%; display: flex; flex-direction: column; position: relative; overflow: hidden; }
        .hm-holiday h3 { color: #fff; font-weight: 700; font-size: 26px; margin-bottom: .8rem; }
        .hm-holiday p { color: rgba(255,255,255,.9); font-size: 15px; margin-bottom: 1.2rem; }
        .hm-holiday .btn-hm { align-self: flex-start; background: #fff; color: #0a58b5; border-radius: 30px; font-weight: 600; font-size: 14px; padding: .45rem 1.3rem; }
        .hm-plan { margin-top: auto; padding-top: 1.5rem; text-align: center; position: relative; z-index: 1; }
        .hm-plan-title { font-size: 14px; font-weight: 600; letter-spacing: 1px; margin-bottom: .8rem; }
        .hm-plan-icons { display: flex; justify-content: space-between; gap: 8px; font-size: 14px; }
        .hm-plan-icons i { display: block; font-size: 18px; margin-bottom: 4px; }
        .hm-holiday-art { position: absolute; right: -10px; bottom: -6px; width: 150px; opacity: .18; filter: brightness(0) invert(1); pointer-events: none; }

        /* Why */
        .hm-why-card { background: #fff; border-radius: 12px; padding: 26px 20px; text-align: center; height: 100%; box-shadow: 0 4px 16px rgba(10,74,154,.08); }
        .hm-why-card .ico { width: 36px; height: 36px; margin: 0 auto 14px; border-radius: 8px; background: #e7f0fb; color: #0a58b5; display: flex; align-items: center; justify-content: center; font-size: 14px; }
        .hm-why-card h4 { font-size: 14px; font-weight: 600; color: #1d2b4a; margin-bottom: .5rem; }
        .hm-why-card p { font-size: 14px; color: #5b6b82; margin: 0; }

        /* Support */
        .hm-step { display: flex; gap: 14px; margin-bottom: 20px; align-items: flex-start; }
        .hm-step .num { flex: 0 0 30px; height: 30px; border-radius: 50%; background: #0a58b5; color: #fff; font-size: 14px; font-weight: 600; display: flex; align-items: center; justify-content: center; margin-top: 2px; }
        .hm-step h4 { font-size: 14px; font-weight: 600; color: #1d2b4a; margin: 0 0 4px; }
        .hm-step p { font-size: 14px; color: #5b6b82; margin: 0; }
        .hm-collage { position: relative; height: 380px; max-width: 420px; margin-left: auto; }
        .hm-collage > div { position: absolute; overflow: hidden; border: 4px solid #fff; box-shadow: 0 8px 24px rgba(10,74,154,.22); background: #cfe6fa; }
        .hm-collage img { width: 100%; height: 100%; object-fit: cover; display: block; }
        .hm-collage .c1 { right: 20px; top: 0; width: 190px; height: 270px; border-radius: 100px; }
        .hm-collage .c2 { left: 20px; top: 110px; width: 170px; height: 210px; border-radius: 100px; z-index: 2; }
        .hm-collage .c3 { right: 0; top: 190px; width: 130px; height: 180px; border-radius: 100px; }

        /* How to book */
        .hm-how { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; position: relative; text-align: center; }
        .hm-how::before { content: ''; position: absolute; left: 12.5%; right: 12.5%; top: 21px; height: 1px; background: #8db7e6; }
        .hm-how .num { position: relative; width: 42px; height: 42px; border-radius: 50%; background: #0a58b5; color: #fff; font-weight: 600; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; box-shadow: 0 0 0 6px #d3e8fb; }
        .hm-how h4 { font-size: 14px; font-weight: 600; color: #1d2b4a; margin-bottom: .4rem; }
        .hm-how p { font-size: 14px; color: #5b6b82; max-width: 240px; margin: 0 auto; }

        /* Reviews tweaks */
        .home-reviews-section { background: transparent !important; }

        /* Newsletter */
        .hm-news { background: #eceffa; padding: 80px 0; }
        .hm-news h2 { font-size: 32px; font-weight: 600; color: #0a4a9a; margin: 0; }
        .hm-news-form { display: flex; background: #fff; border-radius: 50px; padding: 6px; box-shadow: 0 4px 16px rgba(10,74,154,.08); }
        .hm-news-form input { flex: 1; border: 0; outline: 0; background: transparent; padding: 0 22px; font-size: 14px; min-width: 0; }
        .hm-news-form button { border: 0; background: #0a58b5; color: #fff; font-weight: 600; font-size: 14px; border-radius: 50px; padding: 12px 28px; }

        @media (max-width: 1199px) { .hm-search-grid { grid-template-columns: repeat(3, 1fr); } .hm-search-grid .hm-field-btn { grid-column: 1 / -1; } .hm-search-btn { width: 100%; justify-content: center; } }
        @media (max-width: 991px) {
            .hm-hero h1 { font-size: 34px; } .hm-hero h1 small { font-size: 21px; }
            .hm-hero-temple, .hm-hero-plane, .hm-hero-temple1 { display: none; }
            .hm-how { grid-template-columns: repeat(2, 1fr); row-gap: 28px; } .hm-how::before { display: none; }
            .hm-collage { margin: 30px auto 0; }
        }
        @media (max-width: 575px) { .hm-search-grid { grid-template-columns: 1fr; } .hm-trip label { padding: 8px 14px; } .hm-title, .hm-news h2 { font-size: 24px; } .hm-how { grid-template-columns: 1fr; } }

/* Poppins everywhere (matches Figma) */
body, input, button, select, textarea, .btn, .form-control, .form-select { font-family: 'Poppins', sans-serif; }

/* Dummy / structured offer card */
.deal-card .deal-route { font-size: 18px; font-weight: 600; margin: 0 0 2px; }
.deal-card .deal-airline { font-size: 18px; font-weight: 600; margin: 0 0 14px; }
.deal-card .deal-price { font-size: 30px; font-weight: 700; margin: 0; line-height: 1.1; }
.deal-card .deal-note { font-size: 12px; opacity: .9; margin: 0 0 14px; }
.deal-card .deal-dates { display: block; text-align: center; border: 1px solid rgba(255,255,255,.8); border-radius: 30px; padding: 4px 10px; font-size: 12px; }

/* ===== Figma scale (1920 wide design) ===== */
#content .container, .hd .container, .ft .container, .hm-news .container { max-width: 1640px; }
.hm-title, .hm-news h2 { font-size: 40px; }
.hm-label { font-size: 13px; }
.hm-hero { padding: 90px 0 80px; }
.hm-hero h1 { font-size: 56px; margin-bottom: 3rem; }
.hm-hero h1 small { font-size: 36px; }
.hm-trip label { font-size: 15px; padding: 10px 26px; }
.hm-search { border-radius: 28px; padding: 50px 32px 32px; }
.hm-search-grid { gap: 20px; }
.hm-field > .hm-field-label { font-size: 14px; margin-bottom: 8px; }
.hm-box { height: 54px; border-radius: 12px; }
.hm-box input, .hm-box .dropdown-toggle { font-size: 15px !important; }
.hm-search-btn { height: 54px; padding: 0 40px; font-size: 16px; }
.deal-card { padding: 30px 28px; min-height: 200px; }
.deal-card .deal-route, .deal-card .deal-airline { font-size: 20px; }
.deal-card .deal-price { font-size: 36px; }
.deal-card .deal-note, .deal-card .deal-dates { font-size: 13px; }
.hm-holiday { padding: 48px 44px; }
.hm-holiday h3 { font-size: 36px; }
.hm-holiday p { font-size: 16px; }
.hm-holiday .btn-hm { font-size: 15px; padding: .6rem 1.8rem; }
.hm-plan-title { font-size: 14px; }
.hm-plan-icons { font-size: 14px; }
.hm-plan-icons i { font-size: 22px; }
.hm-why-card { padding: 34px 24px; }
.hm-why-card .ico { width: 44px; height: 44px; font-size: 18px; }
.hm-why-card h4 { font-size: 17px; }
.hm-why-card p { font-size: 14px; }
.hm-step h4 { font-size: 18px; }
.hm-step p { font-size: 15px; }
.hm-step .num { flex-basis: 36px; height: 36px; font-size: 13px; }
.hm-collage { height: 460px; max-width: 520px; }
.hm-collage .c1 { width: 230px; height: 330px; border-radius: 120px; }
.hm-collage .c2 { width: 210px; height: 260px; border-radius: 120px; top: 130px; }
.hm-collage .c3 { width: 160px; height: 220px; border-radius: 120px; top: 230px; }
.hm-how h4 { font-size: 18px; }
.hm-how p { font-size: 14px; }
.hm-how .num { width: 48px; height: 48px; font-size: 17px; }
.hm-how::before { top: 24px; }
.hm-news-form input { font-size: 16px; }
.hm-news-form button { font-size: 16px; padding: 14px 34px; }
.hd-top { font-size: 15px; }
.hd-nav a, .hd-cta { font-size: 16px; }
.hd-logo img { height: 60px; }
.ft-about, .ft li a { font-size: 15px; }
@media (max-width: 991px) { .hm-title, .hm-news h2 { font-size: 30px; } .hm-hero h1 { font-size: 36px; } .hm-hero h1 small { font-size: 22px; } }
@media (max-width: 575px) { .hm-title, .hm-news h2 { font-size: 26px; } .hm-hero h1 { font-size: 30px; } }

/* footer full-bleed (template css adds spacing to <footer>) */
footer.ft { margin: 0 !important; padding: 0 !important; width: 100%; }
.ft-bottom { margin: 0; width: 100%; }

/* real special-fare content (admin HTML) - readable size */
.deal-card { font-size: 16px; line-height: 1.5; }
.deal-card p, .deal-card span, .deal-card div, .deal-card li { font-size: inherit; }
.deal-card h1, .deal-card h2, .deal-card h3, .deal-card h4, .deal-card h5, .deal-card strong, .deal-card b { font-size: 1.2em; font-weight: 600; }

/* force Poppins over template-css fonts (icons excluded) */
.hd, .ft, #content, .hm-news,
.hd *:not(i):not(svg):not(path), .ft *:not(i):not(svg):not(path),
#content *:not(i):not(svg):not(path), .hm-news *:not(i):not(svg):not(path) { font-family: 'Poppins', sans-serif !important; }
.hm-plan-icons span { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.hm-plan-icons svg, .hm-plan-icons i { display: block; font-size: 22px; height: 22px; width: auto; }
.deal-card { min-height: 180px; }


/* proportional scale like the 1920 Figma artboard: --u = viewport/1920 (so 1440px wide = 75%), min .6; mobile (<992) uses true px */
:root { --u: clamp(0.6px, calc(100vw / 1920), 1px); }
@media (max-width: 991px) { :root { --u: 1px; } }
/* =====================================================================
   EXACT FIGMA PASS (1920 artboard, measured from Frame 2.png)
   ===================================================================== */
:root { --hm-blue: #0566b7; --hm-navy: #054a8c; }
#content .container, .hd .container, .ft .container, .hm-news .container { max-width: min(1764px, calc(100% - 32px)); padding-left: 0; padding-right: 0; }
#content { background: linear-gradient(180deg, #86d0f7 0%, #a9dcf9 28%, #cdeafb 52%, #eaf6fe 74%, #fff 100%); }

/* header */
.hd { background: #86d0f7; }
.hd-top { background: #cce9fb; font-size: calc(18 * var(--u)); font-weight: 500; }
.hd-top .container { height: calc(60 * var(--u)); padding-top: 0; padding-bottom: 0; }
.hd-phone .ico { width: calc(32 * var(--u)); height: calc(32 * var(--u)); font-size: calc(15 * var(--u)); background: #1d8cf0; }
.hd-phone a, .hd-phone { font-size: calc(18 * var(--u)); font-weight: 500; color: var(--hm-blue); }
.hd-auth { font-size: calc(18 * var(--u)); font-weight: 700; gap: calc(32 * var(--u)); }
.hd-auth a { color: var(--hm-blue); }
.hd-main .container { display: grid; grid-template-columns: 1fr auto 1fr; padding-top: calc(18 * var(--u)); padding-bottom: calc(14 * var(--u)); }
.hd-logo img { height: calc(80 * var(--u)); }
.hd-cta { justify-self: end; font-size: calc(18 * var(--u)); font-weight: 600; padding: calc(15 * var(--u)) calc(29 * var(--u)); border-radius: calc(40 * var(--u)); background: var(--hm-blue); }
.hd-nav { gap: calc(58 * var(--u)); }
.hd-nav a { font-size: calc(18 * var(--u)); font-weight: 600; color: #111; border-bottom: 0; position: relative; padding: calc(4 * var(--u)) 0 calc(8 * var(--u)); }
.hd-nav a.active { color: var(--hm-blue); }
.hd-nav a.active::after { content: ''; position: absolute; left: 0; bottom: 0; width: calc(34 * var(--u)); height: calc(3 * var(--u)); background: var(--hm-blue); border-radius: calc(2 * var(--u)); }
.hd-burger { justify-self: end; }
@media (max-width: 991px) { .hd-main .container { display: flex; } .hd-top { font-size: calc(14 * var(--u)); } .hd-top .container { height: auto; padding: calc(8 * var(--u)) 0; } .hd-logo img { height: calc(56 * var(--u)); } }

/* hero */
.hm-hero { padding: calc(148 * var(--u)) 0 calc(90 * var(--u)); }
.hm-hero h1 { font-size: calc(64 * var(--u)); line-height: calc(74 * var(--u)); font-weight: 600; color: var(--hm-blue); margin-bottom: calc(100 * var(--u)); }
.hm-hero h1 small { font-size: calc(45 * var(--u)); line-height: calc(60 * var(--u)); font-weight: 500; color: var(--hm-blue); }
.hm-hero-temple { top: calc(195 * var(--u)); width: calc(510 * var(--u)); max-width: 26.5vw; }
.hm-hero-plane { top: calc(175 * var(--u)); width: calc(380 * var(--u)); max-width: 20vw; }
.hm-hero-temple1 { top: calc(520 * var(--u)); bottom: auto; width: calc(320 * var(--u)); max-width: 16.7vw; opacity: .9; mix-blend-mode: normal; }
.hm-hero form { max-width: calc(1369 * var(--u)); margin: 0 auto; }
.hm-trip { background: #eaf5fd; padding: calc(5 * var(--u)); margin: 0 auto -36px; box-shadow: none; border-radius: calc(40 * var(--u)); }
.hm-trip label, .hm-trip-static { margin: 0; display: inline-flex; align-items: center; padding: 0 calc(32 * var(--u)); height: calc(61 * var(--u)); border-radius: calc(40 * var(--u)); font-size: calc(20 * var(--u)); font-weight: 500; color: #111; cursor: pointer; }
.hm-trip-static { cursor: default; }
.hm-trip input:checked + label { background: var(--hm-blue); color: #fff; }
.hm-search { border-radius: calc(50 * var(--u)); padding: calc(76 * var(--u)) calc(36 * var(--u)) calc(42 * var(--u)); box-shadow: 0 calc(10 * var(--u)) calc(30 * var(--u)) rgba(10,74,154,.12); }
.hm-search-grid { grid-template-columns: calc(240 * var(--u)) calc(240 * var(--u)) calc(180 * var(--u)) calc(180 * var(--u)) calc(100 * var(--u)) calc(150 * var(--u)); justify-content: space-between; gap: 0; }
.hm-field > .hm-field-label { font-size: calc(18 * var(--u)); font-weight: 500; color: #000; margin-bottom: calc(12 * var(--u)); }
.hm-box { height: calc(62 * var(--u)); background: #fff; border: calc(2 * var(--u)) solid #b4bcc7; border-radius: calc(16 * var(--u)); padding: 0 calc(18 * var(--u)); gap: calc(14 * var(--u)); }
.hm-box i, .hm-box svg { color: var(--hm-blue); font-size: calc(24 * var(--u)); }
.hm-box input, .hm-box .dropdown-toggle { font-size: calc(18 * var(--u)) !important; font-weight: 500; color: #111; }
.hm-search-btn { width: calc(150 * var(--u)); height: calc(62 * var(--u)); padding: 0; justify-content: center; border-radius: calc(12 * var(--u)); background: var(--hm-blue); font-size: calc(20 * var(--u)); font-weight: 500; }
.hm-search-btn i { font-size: calc(22 * var(--u)); }
@media (max-width: 1199px) { .hm-search-grid { grid-template-columns: repeat(3, 1fr); gap: calc(16 * var(--u)); } .hm-search-grid .hm-field-btn { grid-column: 1 / -1; } .hm-search-btn { width: 100%; } .hm-hero-temple, .hm-hero-plane, .hm-hero-temple1 { opacity: .55; } }
@media (max-width: 991px) { .hm-hero { padding-top: calc(40 * var(--u)); } .hm-hero h1 { font-size: calc(36 * var(--u)); line-height: calc(44 * var(--u)); margin-bottom: calc(40 * var(--u)); } .hm-hero h1 small { font-size: calc(24 * var(--u)); line-height: calc(32 * var(--u)); } .hm-search { padding: calc(70 * var(--u)) calc(18 * var(--u)) calc(24 * var(--u)); border-radius: calc(30 * var(--u)); } .hm-trip label, .hm-trip-static { padding: 0 calc(16 * var(--u)); font-size: calc(15 * var(--u)); height: calc(48 * var(--u)); } }
@media (max-width: 575px) { .hm-search-grid { grid-template-columns: 1fr; } .hm-trip-static { display: none; } }

/* section scaffolding */
.hm-section { padding: calc(62 * var(--u)) 0; }
.hm-label { font-size: calc(14 * var(--u)); font-weight: 700; letter-spacing: calc(4 * var(--u)); color: var(--hm-blue); }
.hm-label-line { padding-bottom: calc(12 * var(--u)); margin-bottom: calc(10 * var(--u)); position: relative; }
.hm-label-line::after { content: ''; position: absolute; left: 0; bottom: 0; width: calc(56 * var(--u)); height: calc(2 * var(--u)); background: var(--hm-blue); }
.hm-label-center { letter-spacing: 0; text-transform: uppercase; margin-bottom: calc(14 * var(--u)); }
.hm-title { font-size: calc(48 * var(--u)); line-height: 1.15; font-weight: 600; color: var(--hm-navy); }

/* offers */
.hm-nav-btn { width: calc(60 * var(--u)); height: calc(60 * var(--u)); font-size: calc(20 * var(--u)); color: #111; box-shadow: 0 calc(2 * var(--u)) calc(10 * var(--u)) rgba(0,0,0,.08); }
.hm-nav-btn.is-primary { background: var(--hm-blue); color: #fff; }
.deals-carousel .item { padding: 0; }
.deal-card { border-radius: calc(30 * var(--u)); padding: calc(40 * var(--u)) calc(46 * var(--u)); min-height: calc(262 * var(--u)); font-size: calc(20 * var(--u)); }
.deal-card .ms-3 { margin-left: 0 !important; }
.deal-card h5 { font-size: calc(28 * var(--u)) !important; line-height: 1.15; font-weight: 600 !important; margin-bottom: calc(6 * var(--u)) !important; }
.deal-card h5 span { color: #fff !important; }
.deal-card h5 small, .deal-card p small { font-size: calc(18 * var(--u)) !important; font-weight: 600; }
.deal-c0 { background: radial-gradient(circle at 55% 30%, rgba(255,255,255,.2), transparent 55%), linear-gradient(135deg, #0a72c0, #0566b7); }
.deal-c1 { background: radial-gradient(circle at 55% 30%, rgba(255,255,255,.28), transparent 55%), linear-gradient(135deg, #f0a010, #f2a512); }
.deal-c2 { background: radial-gradient(circle at 55% 30%, rgba(255,255,255,.22), transparent 55%), linear-gradient(135deg, #0aa0d8, #14a8de); }
.deal-c3 { background: radial-gradient(circle at 55% 30%, rgba(255,255,255,.3), transparent 55%), linear-gradient(135deg, #1ea98c, #22a98a); }

/* banner + holiday */
.hm-banner-img { border-radius: calc(30 * var(--u)); min-height: calc(606 * var(--u)); }
.hm-holiday { border-radius: calc(30 * var(--u)); padding: calc(40 * var(--u)) calc(55 * var(--u)) calc(150 * var(--u)); background: #0566b7; min-height: calc(606 * var(--u)); }
.hm-holiday h3 { font-size: calc(42 * var(--u)); line-height: calc(50 * var(--u)); font-weight: 700; margin-bottom: calc(26 * var(--u)); }
.hm-holiday p { font-size: calc(20 * var(--u)); line-height: calc(29 * var(--u)); margin-bottom: calc(26 * var(--u)); }
.hm-holiday .btn-hm { font-size: calc(20 * var(--u)); font-weight: 600; padding: calc(13 * var(--u)) calc(28 * var(--u)); }
.hm-plan { padding-top: calc(34 * var(--u)); }
.hm-plan-title { display: flex; align-items: center; gap: calc(14 * var(--u)); font-size: calc(20 * var(--u)); font-weight: 500; letter-spacing: 0; margin-bottom: calc(22 * var(--u)); }
.hm-plan-title::before, .hm-plan-title::after { content: ''; flex: 1; height: calc(1 * var(--u)); background: rgba(255,255,255,.7); }
.hm-plan-icons { font-size: calc(16 * var(--u)); gap: calc(6 * var(--u)); }
.hm-plan-icons i, .hm-plan-icons svg { font-size: calc(36 * var(--u)); height: calc(36 * var(--u)); }
.hm-holiday-art { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: auto; opacity: 1; filter: none; }

/* why */
.hm-why-card { border-radius: calc(20 * var(--u)); padding: calc(40 * var(--u)) calc(30 * var(--u)) calc(36 * var(--u)); box-shadow: none; min-height: calc(250 * var(--u)); }
.hm-why-card .ico { width: calc(62 * var(--u)); height: calc(62 * var(--u)); border-radius: 50%; background: #e8f3fc; color: var(--hm-navy); font-size: calc(22 * var(--u)); margin-bottom: calc(22 * var(--u)); }
.hm-why-card h4 { font-size: calc(22 * var(--u)); font-weight: 600; color: #111; margin-bottom: calc(18 * var(--u)); }
.hm-why-card p { font-size: calc(17 * var(--u)); line-height: calc(24 * var(--u)); color: #111; }

/* support */
.hm-step { gap: calc(20 * var(--u)); margin-bottom: calc(36 * var(--u)); }
.hm-step .num { flex-basis: calc(54 * var(--u)); width: calc(54 * var(--u)); height: calc(54 * var(--u)); font-size: calc(17 * var(--u)); background: var(--hm-blue); margin-top: 0; }
.hm-step h4 { font-size: calc(22 * var(--u)); font-weight: 600; color: #111; margin-bottom: calc(10 * var(--u)); }
.hm-step p { font-size: calc(18 * var(--u)); color: #111; }
.hm-collage { width: calc(500 * var(--u)); max-width: 100%; height: calc(620 * var(--u)); margin: 0 calc(150 * var(--u)) 0 auto; }
.hm-collage > div { border: calc(8 * var(--u)) solid #fff; box-shadow: 0 calc(6 * var(--u)) calc(20 * var(--u)) rgba(10,74,154,.15); }
.hm-collage .c1 { left: calc(140 * var(--u)); right: auto; top: 0; width: calc(280 * var(--u)); height: calc(420 * var(--u)); border-radius: calc(140 * var(--u)); }
.hm-collage .c2 { left: 0; top: calc(205 * var(--u)); width: calc(263 * var(--u)); height: calc(373 * var(--u)); border-radius: calc(140 * var(--u)); z-index: 2; }
.hm-collage .c3 { left: calc(280 * var(--u)); right: auto; top: calc(287 * var(--u)); width: calc(220 * var(--u)); height: calc(321 * var(--u)); border-radius: calc(110 * var(--u)); }
@media (max-width: 991px) { .hm-collage { margin: calc(30 * var(--u)) auto 0; transform: scale(.8); transform-origin: top center; height: calc(500 * var(--u)); } }

/* how */
.hm-how { gap: 0; }
.hm-how::before { left: 12.5%; right: 12.5%; top: calc(31 * var(--u)); height: calc(2 * var(--u)); background: #bcd0e2; }
.hm-how .num { width: calc(64 * var(--u)); height: calc(64 * var(--u)); font-size: calc(22 * var(--u)); font-weight: 600; margin-bottom: calc(38 * var(--u)); background: var(--hm-blue); box-shadow: 0 0 0 calc(8 * var(--u)) #d6ebfa; }
.hm-how h4 { font-size: calc(22 * var(--u)); font-weight: 600; color: #111; margin-bottom: calc(20 * var(--u)); }
.hm-how p { font-size: calc(17 * var(--u)); line-height: calc(24 * var(--u)); color: #111; max-width: calc(400 * var(--u)); }

/* reviews */
.home-reviews-section { padding: calc(60 * var(--u)) 0 calc(90 * var(--u)); }
.home-reviews-section .review-card { border-radius: calc(30 * var(--u)); padding: calc(40 * var(--u)); max-height: none; margin: calc(6 * var(--u)) calc(10 * var(--u)) calc(30 * var(--u)); box-shadow: 0 calc(10 * var(--u)) calc(30 * var(--u)) rgba(10,74,154,.08); }
.home-reviews-section .review-stars { font-size: calc(26 * var(--u)); margin-bottom: calc(20 * var(--u)); }
.home-reviews-section .review-quote-icon { font-size: calc(40 * var(--u)); top: calc(32 * var(--u)); right: calc(34 * var(--u)); }
.home-reviews-section .review-text { font-size: calc(18 * var(--u)); line-height: calc(26 * var(--u)); height: calc(182 * var(--u)); color: #333; margin-bottom: calc(26 * var(--u)); }
.home-reviews-section .review-avatar { width: calc(70 * var(--u)); height: calc(70 * var(--u)); font-size: calc(22 * var(--u)); background: linear-gradient(135deg, #0566b7, #0a82d6); }
.home-reviews-section .review-name { font-size: calc(18 * var(--u)); color: #0a1a33; }
.home-reviews-section .review-meta { font-size: calc(16 * var(--u)); }
.home-reviews-section .review-cta-card { border-radius: calc(30 * var(--u)); padding: calc(40 * var(--u)); min-height: calc(566 * var(--u)); background: linear-gradient(160deg, #0566b7 0%, #034f95 100%); }
.home-reviews-section .review-cta-card h3 { font-size: calc(28 * var(--u)); }
.home-reviews-section .review-cta-card p { font-size: calc(16 * var(--u)); }
.home-reviews-section .review-qr-wrap { width: calc(208 * var(--u)); height: calc(208 * var(--u)); padding: calc(12 * var(--u)); }
.home-reviews-section .review-cta-btn { font-size: calc(16 * var(--u)); padding: calc(12 * var(--u)) calc(26 * var(--u)); }
.home-reviews-section .review-cta-footnote { font-size: calc(16 * var(--u)); }

/* newsletter */
.hm-news { background: #f1f2fa; padding: calc(130 * var(--u)) 0; }
.hm-news .row { max-width: calc(1520 * var(--u)); margin: 0 auto; }
.hm-news h2 { font-size: calc(48 * var(--u)); line-height: calc(72 * var(--u)); font-weight: 600; color: var(--hm-navy); text-align: center; }
.hm-news-form { height: calc(76 * var(--u)); padding: calc(5 * var(--u)) calc(8 * var(--u)) calc(5 * var(--u)) 0; align-items: center; max-width: calc(660 * var(--u)); margin-left: auto; }
.hm-news-form input { font-size: calc(24 * var(--u)); padding: 0 calc(28 * var(--u)) 0 calc(64 * var(--u)); color: #555; }
.hm-news-form input::placeholder { color: #777; }
.hm-news-form button { font-size: calc(24 * var(--u)); font-weight: 500; padding: 0; width: calc(195 * var(--u)); height: calc(66 * var(--u)); border-radius: calc(40 * var(--u)); background: var(--hm-blue); }
@media (max-width: 991px) { .hm-news { padding: calc(60 * var(--u)) 0; } .hm-news h2 { font-size: calc(30 * var(--u)); line-height: calc(40 * var(--u)); } .hm-news-form { margin: 0 auto; height: calc(60 * var(--u)); } .hm-news-form input { font-size: calc(16 * var(--u)); padding-left: calc(20 * var(--u)); } .hm-news-form button { font-size: calc(16 * var(--u)); width: calc(130 * var(--u)); height: calc(50 * var(--u)); } }

/* footer */
.ft { background: #fff; }
.ft-help { padding: calc(54 * var(--u)) 0 0; }
.ft-help-card { background: #edf1fa; border-radius: calc(20 * var(--u)); min-height: calc(153 * var(--u)); padding: 0 calc(38 * var(--u)); }
.ft-help-card .ico { width: calc(58 * var(--u)); height: calc(58 * var(--u)); font-size: calc(26 * var(--u)); background: #1d6ff0; }
.ft-help-card h4 { font-size: calc(22 * var(--u)); font-weight: 700; color: #000; margin-bottom: calc(8 * var(--u)); }
.ft-help-card p { font-size: calc(16 * var(--u)); color: #111; }
.ft-help-card .plane { flex: 0 0 calc(190 * var(--u)); height: calc(110 * var(--u)); }
.ft-help-card .r { display: flex; align-items: center; gap: calc(18 * var(--u)); text-align: left; }
.ft-help-card .r .phone { width: calc(58 * var(--u)); height: calc(58 * var(--u)); border-radius: 50%; background: #fff; box-shadow: 0 calc(2 * var(--u)) calc(8 * var(--u)) rgba(0,0,0,.1); color: var(--hm-blue); display: inline-flex; align-items: center; justify-content: center; font-size: calc(22 * var(--u)); flex-shrink: 0; }
.ft-help-card .r small { font-size: calc(15 * var(--u)); color: #444; }
.ft-help-card .r small.top { font-weight: 700; color: #000; font-size: calc(16 * var(--u)); }
.ft-help-card .r strong { font-size: calc(24 * var(--u)); font-weight: 700; color: #0b4fc4; display: block; position: relative; padding-bottom: calc(8 * var(--u)); }
.ft-help-card .r strong::after { content: ''; position: absolute; left: 0; bottom: 0; width: calc(62 * var(--u)); height: calc(4 * var(--u)); background: #0b4fc4; border-radius: calc(2 * var(--u)); }
.ft-help-card .r strong a { color: #0b4fc4; }
.ft-body { padding: calc(80 * var(--u)) 0 calc(40 * var(--u)); }
.ft-body .row { --bs-gutter-x: 0; }
.ft-logo img { height: calc(80 * var(--u)); }
.ft-about { font-size: calc(18 * var(--u)); color: #111; line-height: calc(23 * var(--u)); max-width: calc(520 * var(--u)); margin: calc(20 * var(--u)) 0 calc(70 * var(--u)); }
.ft-affil { font-size: calc(18 * var(--u)); font-weight: 500; letter-spacing: 0; }
.ft-affil img { height: calc(56 * var(--u)); }
.ft h5 { font-size: calc(20 * var(--u)); font-weight: 600; letter-spacing: 0; text-transform: uppercase; color: #000; margin-bottom: calc(26 * var(--u)); padding-bottom: calc(14 * var(--u)); position: relative; }
.ft h5::after { content: ''; position: absolute; left: 0; bottom: 0; width: calc(40 * var(--u)); height: calc(2 * var(--u)); background: var(--hm-blue); }
.ft li { margin-bottom: calc(16 * var(--u)); }
.ft li a { font-size: calc(16 * var(--u)); color: #111; }
.ft li a::before { content: '\203A'; margin-right: calc(18 * var(--u)); color: #000; font-weight: 700; font-size: calc(20 * var(--u)); line-height: 1; }
.ft-accept { padding: calc(20 * var(--u)) 0 calc(36 * var(--u)); max-width: calc(1000 * var(--u)) !important; }
.ft-accept .line { font-size: calc(20 * var(--u)); font-weight: 400; letter-spacing: 0; color: #111; gap: 0; }
.ft-accept .line::before, .ft-accept .line::after { background: #111; height: calc(1 * var(--u)); flex: 1; }
.ft-accept img { max-height: calc(50 * var(--u)); }
.ft-bottom { background: #021b3c; font-size: calc(15 * var(--u)); padding: calc(21 * var(--u)) calc(12 * var(--u)); color: #fff; }

@media (min-width: 992px) { .ft-col { flex: 0 0 23.4%; max-width: 23.4%; } }

/* tweaks after first compare */
.hm-hero { padding-bottom: calc(195 * var(--u)); }
.hm-hero-temple, .hm-hero-plane, .hm-hero-temple1 { z-index: 0; }
.hm-section, .home-reviews-section { position: relative; z-index: 1; }
.hd-auth a { font-size: calc(18 * var(--u)); font-weight: 700; }
.hd-logo img { height: calc(86 * var(--u)); }
#label-traveller { font-size: calc(18 * var(--u)); font-weight: 500; }
.hm-search-btn svg { width: calc(26 * var(--u)); height: calc(26 * var(--u)); }
.deal-card h5 { font-size: calc(26 * var(--u)) !important; }
.hm-plan-title span { font-size: calc(20 * var(--u)); font-weight: 500; white-space: nowrap; }
@media (max-width: 991px) { .hm-hero { padding-bottom: calc(60 * var(--u)); } }

/* tweaks after second compare */
.hm-section .text-center.mb-4, .hm-section .text-center.mb-5 { margin-bottom: calc(64 * var(--u)) !important; }
.hm-why-card .ico svg, .hm-why-card .ico i { width: calc(24 * var(--u)); height: calc(24 * var(--u)); font-size: calc(24 * var(--u)); }
.hm-section h2.hm-title.mb-2 { margin-bottom: calc(28 * var(--u)) !important; }
.hm-section p.mb-4 { margin-bottom: calc(52 * var(--u)) !important; }
@media (min-width: 992px) {
  .ft-body .row > .col-lg-4 { flex: 0 0 30% !important; max-width: 30% !important; }
  .ft-col { flex: 0 0 23.3%; max-width: 23.3%; }
}
.ft-accept img { max-height: calc(50 * var(--u)); width: auto; }

/* reviews - beat the inline rules in home.blade */
.home-reviews-section .review-card { padding: calc(40 * var(--u)) !important; min-height: calc(416 * var(--u)); max-height: none !important; }
.home-reviews-section .review-text { height: calc(182 * var(--u)) !important; font-size: calc(18 * var(--u)) !important; line-height: calc(26 * var(--u)) !important; }
.home-reviews-section .review-stars { font-size: calc(28 * var(--u)) !important; margin-bottom: calc(24 * var(--u)) !important; }
.home-reviews-section .review-stars svg { width: calc(28 * var(--u)); height: calc(28 * var(--u)); }
.home-reviews-section .review-cta-card { min-height: calc(566 * var(--u)); }

/* final compare tweaks */
.home-reviews-section .review-avatar { width: calc(70 * var(--u)) !important; height: calc(70 * var(--u)) !important; font-size: calc(22 * var(--u)) !important; }
.home-reviews-section .review-name { font-size: calc(18 * var(--u)) !important; }
.home-reviews-section .review-meta { font-size: calc(16 * var(--u)) !important; }
.home-reviews-section .review-author { gap: calc(18 * var(--u)); }
.ft-help-card .ico svg { width: calc(26 * var(--u)); height: calc(26 * var(--u)); }
.ft-help-card .r .phone svg { width: calc(22 * var(--u)); height: calc(22 * var(--u)); }
.ft-help-card .r strong, .ft-help-card .r strong a { font-size: calc(24 * var(--u)) !important; }
.ft-help-card .r small { font-size: calc(15 * var(--u)) !important; }
@media (min-width: 992px) {
  .ft-body .row { display: grid; grid-template-columns: calc(563 * var(--u)) calc(414 * var(--u)) calc(412 * var(--u)) 1fr; }
  .ft-body .row > [class*="col"] { flex: none !important; max-width: none !important; width: auto; }
}

/* structured offer card (design: route / name / price / note) */
.deal-card .deal-route, .deal-card .deal-airline { font-size: calc(28 * var(--u)) !important; line-height: 1.15; font-weight: 600; margin: 0; }
.deal-card .deal-airline { margin-bottom: calc(26 * var(--u)); }
.deal-card .deal-route { margin-bottom: calc(4 * var(--u)); }
.deal-card .deal-price { font-size: calc(36 * var(--u)) !important; font-weight: 700; margin: 0 0 calc(2 * var(--u)) calc(6 * var(--u)); line-height: 1.2; }
.deal-card .deal-note { font-size: calc(15 * var(--u)) !important; font-style: italic; font-weight: 400; margin: 0; }

/* keep banner uncropped at any width; card stretches to match */
.hm-banner-img { height: auto; min-height: 0; object-fit: contain; }
.hm-holiday { min-height: 0; }
#content .container, .hd .container, .ft .container, .hm-news .container { max-width: min(1764px, calc(100% - 64px)); }
@media (max-width: 575px) { #content .container, .hd .container, .ft .container, .hm-news .container { max-width: calc(100% - 32px); } }

/* side spacing = Figma margin (78/1920 = 4.06% each side) */
#content .container, .hd .container, .ft .container, .hm-news .container { max-width: min(1764px, calc(100% - 8.12vw)); }
@media (max-width: 991px) { #content .container, .hd .container, .ft .container, .hm-news .container { max-width: calc(100% - 32px); } }

/* offer card: route, price, note, then date pill pinned to the bottom (design) */
.deal-card { display: flex; flex-direction: column; }
.deal-card .deal-route { margin-bottom: calc(22 * var(--u)); }
.deal-card .deal-note { margin-bottom: calc(22 * var(--u)); }
.deal-card .deal-dates { margin-top: auto; align-self: flex-start; min-width: calc(242 * var(--u)); padding: calc(3 * var(--u)) calc(14 * var(--u)); border: 1px solid #fff; border-radius: 40px; font-size: calc(15 * var(--u)) !important; font-weight: 500; text-align: center; line-height: 1.4; }

/* help strip: balanced 3-column layout (text | plane | phone) */
@media (min-width: 992px) {
  .ft-help-card { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; column-gap: calc(40 * var(--u)); }
  .ft-help-card .plane { display: block !important; justify-self: center; width: calc(190 * var(--u)); height: calc(110 * var(--u)); flex: none; }
  .ft-help-card .r { justify-self: end; }
}
@media (max-width: 991px) { .ft-help-card { flex-direction: column; align-items: flex-start; padding: 24px; gap: 18px; } .ft-help-card .plane { display: none !important; } }

@media (min-width: 992px) { .ft-help-card .plane { width: calc(155 * var(--u)); height: calc(90 * var(--u)); overflow: visible; } }
.ft-help-card { overflow: hidden; }

/* ===== floating WhatsApp button ===== */
.wa-float { position: fixed; right: 24px; bottom: 24px; z-index: 1000; display: flex; align-items: center; gap: 12px; padding: 6px 6px 6px 20px; background: #fff; border-radius: 50px; box-shadow: 0 8px 28px rgba(5, 74, 140, .22); text-decoration: none; font-family: 'Poppins', sans-serif; transition: transform .2s ease, box-shadow .2s ease; }
.wa-float:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(5, 74, 140, .3); }
.wa-float .wa-text { display: flex; flex-direction: column; line-height: 1.2; text-align: right; }
.wa-float .wa-text small { font-size: 12px; color: #5b6b82; font-weight: 500; }
.wa-float .wa-text strong { font-size: 15px; color: #054a8c; font-weight: 600; }
.wa-float .wa-icon { position: relative; width: 52px; height: 52px; border-radius: 50%; background: #25d366; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 28px; flex-shrink: 0; }
.wa-float .wa-icon svg { width: 28px; height: 28px; }
.wa-float .wa-icon::after { content: ''; position: absolute; inset: 0; border-radius: 50%; border: 2px solid #25d366; animation: waPulse 2s ease-out infinite; }
@keyframes waPulse { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(1.5); opacity: 0; } }
@media (max-width: 575px) { .wa-float { right: 16px; bottom: 16px; padding: 0; background: transparent; box-shadow: none; } .wa-float .wa-text { display: none; } .wa-float .wa-icon { box-shadow: 0 6px 18px rgba(37, 211, 102, .45); } }
@media (prefers-reduced-motion: reduce) { .wa-float .wa-icon::after { animation: none; } }

/* ===== trip-type tabs ===== */
.hm-trip { gap: calc(4 * var(--u)); padding: calc(6 * var(--u)); background: rgba(255,255,255,.92); backdrop-filter: blur(6px); border: 1px solid rgba(255,255,255,.9); box-shadow: 0 calc(8 * var(--u)) calc(24 * var(--u)) rgba(5,74,140,.14); }
.hm-trip label, .hm-trip-tab { margin: 0; display: inline-flex; align-items: center; padding: 0 calc(32 * var(--u)); height: calc(61 * var(--u)); border-radius: 40px; font-size: calc(20 * var(--u)); font-weight: 500; color: #111; cursor: pointer; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.hm-trip label i, .hm-trip-tab i { font-size: .85em; color: var(--hm-blue); transition: color .2s ease; }
.hm-trip label:hover, .hm-trip-tab:hover { background: #e3f0fb; }
.hm-trip input:checked + label { background: linear-gradient(135deg, #0a72c0, #0566b7); color: #fff; box-shadow: 0 calc(6 * var(--u)) calc(16 * var(--u)) rgba(5,102,183,.38); }
.hm-trip input:checked + label i { color: #fff; }
.hm-trip input:focus-visible + label, .hm-trip-tab:focus-visible { outline: 2px solid #054a8c; outline-offset: 2px; }
@media (max-width: 991px) { .hm-trip label, .hm-trip-tab { padding: 0 16px; font-size: 15px; height: 48px; } }
@media (max-width: 575px) { .hm-trip-tab { display: none; } }
/* search row: flex on desktop so fields expand when Return is hidden (One-Way) */
@media (min-width: 1200px) {
  .hm-search-grid { display: flex; align-items: flex-end; justify-content: flex-start; gap: calc(42 * var(--u)); }
  .hm-search-grid > .hm-field { flex: 1 1 0; min-width: 0; }
  .hm-search-grid > .hm-field:nth-child(1), .hm-search-grid > .hm-field:nth-child(2) { flex-grow: 240; }
  .hm-search-grid > .hm-field:nth-child(3), .hm-search-grid > .hm-field:nth-child(4) { flex-grow: 180; }
  .hm-search-grid > .hm-field:nth-child(5) { flex-grow: 100; }
  .hm-search-grid > .hm-field-btn { flex: 0 0 calc(150 * var(--u)); }
  .hm-search-btn { width: 100%; }
}


/* =====================================================================
   LOGIN / REGISTER
   ===================================================================== */
.au-page { position: relative; overflow: hidden; padding: calc(64 * var(--u)) 0 calc(90 * var(--u)); font-family: 'Poppins', sans-serif; background: linear-gradient(180deg, #86d0f7 0%, #b4def9 40%, #e6f4fd 80%, #fff 100%); }
.au-page *:not(i):not(svg):not(path) { font-family: 'Poppins', sans-serif; }
.au-deco { position: absolute; pointer-events: none; z-index: 0; }
.au-deco-l { left: 0; top: calc(40 * var(--u)); width: calc(340 * var(--u)); opacity: .9; }
.au-deco-r { right: 0; top: calc(30 * var(--u)); width: calc(300 * var(--u)); }
.au-wrap { position: relative; z-index: 1; width: min(1440px, calc(100% - 8.12vw)); margin: 0 auto; display: grid; grid-template-columns: 1fr 1.05fr; gap: 32px; align-items: stretch; }

/* brand panel */
.au-brand { position: relative; overflow: hidden; background: linear-gradient(160deg, #0566b7 0%, #054a8c 100%); color: #fff; border-radius: calc(30 * var(--u)); padding: calc(48 * var(--u)) calc(44 * var(--u)) calc(150 * var(--u)); box-shadow: 0 calc(18 * var(--u)) calc(44 * var(--u)) rgba(5, 74, 140, .25); }
.au-brand h2 { color: #fff; font-size: calc(32 * var(--u)); font-weight: 700; margin: 0 0 calc(18 * var(--u)); }
.au-brand > p { color: rgba(255,255,255,.9); font-size: calc(15 * var(--u)); line-height: 1.7; margin-bottom: calc(14 * var(--u)); }
.au-points { list-style: none; margin: calc(30 * var(--u)) 0 0; padding: 0; display: grid; gap: calc(22 * var(--u)); position: relative; z-index: 1; }
.au-points li { display: flex; gap: calc(16 * var(--u)); align-items: flex-start; }
.au-point-ico { flex: 0 0 calc(48 * var(--u)); width: calc(48 * var(--u)); height: calc(48 * var(--u)); border-radius: 50%; background: rgba(255,255,255,.16); display: inline-flex; align-items: center; justify-content: center; font-size: calc(19 * var(--u)); }
.au-points h4 { color: #fff; font-size: calc(17 * var(--u)); font-weight: 600; margin: 0 0 calc(4 * var(--u)); }
.au-points p { color: rgba(255,255,255,.85); font-size: calc(14 * var(--u)); line-height: 1.55; margin: 0; }
.au-skyline { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: auto; pointer-events: none; }

/* form card */
.au-card { background: #fff; border-radius: calc(30 * var(--u)); padding: calc(48 * var(--u)) calc(48 * var(--u)) calc(40 * var(--u)); box-shadow: 0 calc(18 * var(--u)) calc(44 * var(--u)) rgba(5, 74, 140, .16); }
.au-title { font-size: calc(34 * var(--u)); font-weight: 700; color: #054a8c; margin: 0 0 calc(6 * var(--u)); }
.au-sub { color: #5b6b82; font-size: calc(15 * var(--u)); margin: 0 0 calc(30 * var(--u)); }
.au-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 calc(18 * var(--u)); }
.au-field { margin-bottom: calc(20 * var(--u)); min-width: 0; }
.au-field > label { display: block; font-size: calc(14 * var(--u)); font-weight: 500; color: #111; margin-bottom: calc(8 * var(--u)); }
.au-input { position: relative; display: flex; align-items: center; height: calc(56 * var(--u)); border: calc(2 * var(--u)) solid #d3dbe6; border-radius: calc(14 * var(--u)); background: #fff; padding: 0 calc(16 * var(--u)); gap: calc(12 * var(--u)); transition: border-color .2s ease, box-shadow .2s ease; }
.au-input > i, .au-input > svg { color: #0566b7; font-size: calc(16 * var(--u)); width: calc(18 * var(--u)); flex-shrink: 0; }
.au-input:focus-within { border-color: #0566b7; box-shadow: 0 0 0 calc(4 * var(--u)) rgba(5, 102, 183, .12); }
.au-input.is-invalid { border-color: #dc3545; }
.au-input input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-size: calc(16 * var(--u)); color: #111; height: 100%; padding: 0; box-shadow: none; }
.au-input input::placeholder { color: #9aa7b8; }
.au-eye { border: 0; background: none; color: #8a97a8; font-size: calc(16 * var(--u)); padding: calc(4 * var(--u)); cursor: pointer; }
.au-eye:hover { color: #0566b7; }
.au-error { display: block; margin-top: calc(6 * var(--u)); font-size: calc(13 * var(--u)); color: #dc3545; }
.au-row { display: flex; justify-content: space-between; align-items: center; gap: calc(12 * var(--u)); flex-wrap: wrap; margin: calc(4 * var(--u)) 0 calc(24 * var(--u)); }
.au-check { display: inline-flex; align-items: center; gap: calc(10 * var(--u)); font-size: calc(14 * var(--u)); color: #333; cursor: pointer; margin: 0; }
.au-check input { width: calc(18 * var(--u)); height: calc(18 * var(--u)); accent-color: #0566b7; }
.au-link { color: #0566b7; font-weight: 600; font-size: calc(14 * var(--u)); text-decoration: none; }
.au-link:hover { color: #054a8c; text-decoration: underline; }
.au-btn { width: 100%; height: calc(56 * var(--u)); border: 0; border-radius: calc(14 * var(--u)); background: linear-gradient(135deg, #0a72c0, #0566b7); color: #fff; font-size: calc(17 * var(--u)); font-weight: 600; box-shadow: 0 calc(8 * var(--u)) calc(20 * var(--u)) rgba(5, 102, 183, .35); transition: transform .15s ease, box-shadow .15s ease; }
.au-btn:hover { transform: translateY(-2px); box-shadow: 0 calc(12 * var(--u)) calc(26 * var(--u)) rgba(5, 102, 183, .42); }
.au-or { display: flex; align-items: center; gap: calc(16 * var(--u)); margin: calc(28 * var(--u)) 0 calc(20 * var(--u)); color: #8a97a8; font-size: calc(12 * var(--u)); font-weight: 600; letter-spacing: calc(1 * var(--u)); }
.au-or::before, .au-or::after { content: ''; flex: 1; height: calc(1 * var(--u)); background: #e1e7ef; }
.au-google { display: flex; align-items: center; justify-content: center; gap: calc(12 * var(--u)); height: calc(54 * var(--u)); border: calc(2 * var(--u)) solid #dadce0; border-radius: calc(14 * var(--u)); background: #fff; color: #3c4043; font-weight: 600; font-size: calc(15 * var(--u)); text-decoration: none; transition: box-shadow .2s ease, background .2s ease; }
.au-google:hover { background: #f8f9fa; box-shadow: 0 calc(4 * var(--u)) calc(14 * var(--u)) rgba(60, 64, 67, .16); color: #3c4043; }
.au-foot { text-align: center; margin: calc(26 * var(--u)) 0 0; font-size: calc(15 * var(--u)); color: #333; }
.au-foot small { color: #5b6b82; font-size: calc(13 * var(--u)); }

@media (max-width: 991px) {
  .au-page { padding: calc(32 * var(--u)) 0 calc(60 * var(--u)); }
  .au-wrap { grid-template-columns: 1fr; width: calc(100% - 32px); }
  .au-card { order: -1; padding: calc(32 * var(--u)) calc(22 * var(--u)); }
  .au-brand { padding: calc(34 * var(--u)) calc(24 * var(--u)) calc(130 * var(--u)); }
  .au-deco { display: none; }
  .au-title { font-size: calc(28 * var(--u)); }
}
@media (max-width: 575px) { .au-grid { grid-template-columns: 1fr; } }

/* auth: beat template-css fonts */
.au-page, .au-page *:not(i):not(svg):not(path) { font-family: 'Poppins', sans-serif !important; }

/* auth pages: slightly larger scale than the marketing pages (readable form text) */
.au-page { --u: clamp(0.8px, calc(100vw / 1600), 1px); }
@media (max-width: 991px) { .au-page { --u: 1px; } }

/* textarea field (contact) */
.au-area { height: auto; align-items: flex-start; padding-top: calc(16 * var(--u)); padding-bottom: calc(10 * var(--u)); }
.au-area > i { margin-top: calc(3 * var(--u)); }
.au-area textarea { flex: 1; min-width: 0; border: 0; outline: 0; resize: vertical; background: transparent; font-size: calc(16 * var(--u)); color: #111; min-height: calc(120 * var(--u)); box-shadow: none; padding: 0; }
.au-area textarea::placeholder { color: #9aa7b8; }


/* =====================================================================
   CONTACT v2 - own layout (cards + map/form), distinct from auth pages
   ===================================================================== */
.ct2-page { --u: clamp(0.8px, calc(100vw / 1600), 1px); position: relative; overflow: hidden; padding: calc(56 * var(--u)) 0 calc(90 * var(--u)); background: linear-gradient(180deg, #86d0f7 0%, #bfe3fa 30%, #eaf6fe 62%, #fff 100%); }
@media (max-width: 991px) { .ct2-page { --u: 1px; } }
.ct2-page, .ct2-page *:not(i):not(svg):not(path) { font-family: 'Poppins', sans-serif !important; }
.ct2-plane { position: absolute; right: 0; top: calc(30 * var(--u)); width: calc(300 * var(--u)); pointer-events: none; }
.ct2-temple { position: absolute; left: 0; top: calc(40 * var(--u)); width: calc(300 * var(--u)); pointer-events: none; opacity: .9; }
.ct2-wrap { position: relative; z-index: 1; width: min(1440px, calc(100% - 8.12vw)); margin: 0 auto; }
@media (max-width: 991px) { .ct2-wrap { width: calc(100% - 32px); } .ct2-plane, .ct2-temple { display: none; } }

.ct2-head { text-align: center; margin-bottom: calc(44 * var(--u)); }
.ct2-head h1 { font-size: calc(48 * var(--u)); font-weight: 600; color: #054a8c; margin: 0 0 calc(8 * var(--u)); }
.ct2-head p { font-size: calc(17 * var(--u)); color: #3f4f68; margin: 0; }

/* info cards */
.ct2-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(24 * var(--u)); margin-bottom: calc(40 * var(--u)); }
.ct2-card { position: relative; background: #fff; border-radius: calc(26 * var(--u)); padding: calc(28 * var(--u)); box-shadow: 0 calc(14 * var(--u)) calc(36 * var(--u)) rgba(5, 74, 140, .12); border-top: calc(6 * var(--u)) solid var(--c); display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease; }
.ct2-card:hover { transform: translateY(-4px); box-shadow: 0 calc(20 * var(--u)) calc(44 * var(--u)) rgba(5, 74, 140, .18); }
.ct2-blue { --c: #0566b7; --c2: #e3f0fb; }
.ct2-orange { --c: #f0a010; --c2: #fdf1d9; }
.ct2-green { --c: #1ea98c; --c2: #dff5ee; }
.ct2-card header { display: flex; align-items: center; gap: calc(14 * var(--u)); margin-bottom: calc(20 * var(--u)); }
.ct2-badge { width: calc(52 * var(--u)); height: calc(52 * var(--u)); border-radius: calc(16 * var(--u)); background: var(--c2); color: var(--c); display: inline-flex; align-items: center; justify-content: center; font-size: calc(22 * var(--u)); }
.ct2-badge img { width: calc(30 * var(--u)); height: auto; border-radius: 3px; }
.ct2-card h3 { margin: 0; font-size: calc(22 * var(--u)); font-weight: 600; color: #0a1a33; }
.ct2-card ul { list-style: none; margin: 0 0 calc(18 * var(--u)); padding: 0; display: grid; gap: calc(14 * var(--u)); }
.ct2-card li { display: flex; gap: calc(14 * var(--u)); align-items: flex-start; font-size: calc(15.5 * var(--u)); color: #2b3a52; line-height: 1.5; }
.ct2-card li > i, .ct2-card li > svg { color: var(--c); width: calc(18 * var(--u)); margin-top: calc(3 * var(--u)); flex-shrink: 0; }
.ct2-card li a { color: inherit; text-decoration: none; word-break: break-word; }
.ct2-card li a:hover { color: var(--c); text-decoration: underline; }
.ct2-link { margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; font-size: calc(15 * var(--u)); font-weight: 600; color: var(--c) !important; text-decoration: none; }
.ct2-link:hover { gap: 12px; }
@media (max-width: 991px) { .ct2-cards { grid-template-columns: 1fr; } .ct2-head h1 { font-size: 30px; } }

/* map + form */
.ct2-form-card { display: grid; grid-template-columns: .85fr 1.15fr; background: #fff; border-radius: calc(32 * var(--u)); overflow: hidden; box-shadow: 0 calc(18 * var(--u)) calc(44 * var(--u)) rgba(5, 74, 140, .14); }
.ct2-side { background: linear-gradient(180deg, #eaf5fd, #dcecfa); padding: calc(44 * var(--u)); display: flex; flex-direction: column; }
.ct2-side h2 { font-size: calc(32 * var(--u)); font-weight: 700; color: #054a8c; margin: 0 0 calc(8 * var(--u)); }
.ct2-side p { font-size: calc(15 * var(--u)); color: #3f4f68; margin: 0 0 calc(26 * var(--u)); }
.ct2-map { flex: 1; min-height: calc(320 * var(--u)); border-radius: calc(22 * var(--u)); overflow: hidden; box-shadow: 0 calc(8 * var(--u)) calc(24 * var(--u)) rgba(5, 74, 140, .18); background: #cfe6fa; }
.ct2-map iframe { width: 100%; height: 100%; min-height: calc(320 * var(--u)); border: 0; display: block; }
.ct2-formcol { padding: calc(44 * var(--u)); }
.ct2-formcol .au-field > label { font-size: calc(14 * var(--u)); }
.ct2-actions { display: flex; align-items: center; justify-content: space-between; gap: calc(20 * var(--u)); flex-wrap: wrap; }
.ct2-submit { width: auto; padding: 0 calc(48 * var(--u)); }
#result_msg { margin-top: calc(14 * var(--u)); }
@media (max-width: 991px) { .ct2-form-card { grid-template-columns: 1fr; } .ct2-side, .ct2-formcol { padding: 26px 20px; } .ct2-submit { width: 100%; } .ct2-map, .ct2-map iframe { min-height: 260px; } }
@media (max-width: 575px) { .ct2-formcol .au-grid { grid-template-columns: 1fr; } }

@media (max-width: 991px) { .ct2-map { flex: none; height: 260px; } .ct2-map iframe { height: 260px; } }

/* =====================================================================
   CMS PAGES (About, Terms, Privacy ...)
   ===================================================================== */
.pg-page { --u: clamp(0.8px, calc(100vw / 1600), 1px); position: relative; overflow: hidden; padding: calc(48 * var(--u)) 0 calc(90 * var(--u)); background: linear-gradient(180deg, #86d0f7 0%, #bfe3fa 22%, #eaf6fe 48%, #fff 100%); }
@media (max-width: 991px) { .pg-page { --u: 1px; } }
.pg-page, .pg-page *:not(i):not(svg):not(path) { font-family: 'Poppins', sans-serif !important; }
.pg-plane { position: absolute; right: 0; top: calc(10 * var(--u)); width: calc(260 * var(--u)); pointer-events: none; }
.pg-temple { position: absolute; left: 0; top: calc(20 * var(--u)); width: calc(260 * var(--u)); pointer-events: none; opacity: .9; }
.pg-wrap { position: relative; z-index: 1; width: min(1180px, calc(100% - 8.12vw)); margin: 0 auto; }
@media (max-width: 991px) { .pg-wrap { width: calc(100% - 32px); } .pg-plane, .pg-temple { display: none; } }
.pg-head { text-align: center; padding: calc(24 * var(--u)) 0 calc(40 * var(--u)); }
.pg-crumbs { display: inline-flex; align-items: center; gap: calc(10 * var(--u)); background: rgba(255,255,255,.75); border-radius: 40px; padding: calc(6 * var(--u)) calc(18 * var(--u)); font-size: calc(14 * var(--u)); font-weight: 500; color: #3f4f68; margin-bottom: calc(18 * var(--u)); }
.pg-crumbs a { color: #0566b7; text-decoration: none; }
.pg-crumbs a:hover { text-decoration: underline; }
.pg-crumbs i, .pg-crumbs svg { font-size: calc(10 * var(--u)); color: #8a97a8; width: calc(10 * var(--u)); }
.pg-head h1 { font-size: calc(46 * var(--u)); line-height: 1.2; font-weight: 600; color: #054a8c; margin: 0; }
.pg-card { background: #fff; border-radius: calc(30 * var(--u)); padding: calc(52 * var(--u)) calc(56 * var(--u)); box-shadow: 0 calc(18 * var(--u)) calc(44 * var(--u)) rgba(5, 74, 140, .13); }
@media (max-width: 991px) { .pg-card { padding: 28px 20px; border-radius: 22px; } .pg-head h1 { font-size: 30px; } }

/* typography for admin-authored HTML */
.pg-content { font-size: calc(17 * var(--u)); line-height: 1.8; color: #2b3a52; overflow-wrap: anywhere; }
.pg-content > :first-child { margin-top: 0; }
.pg-content > :last-child { margin-bottom: 0; }
.pg-content h1, .pg-content h2, .pg-content h3, .pg-content h4, .pg-content h5, .pg-content h6 { color: #054a8c; font-weight: 600; line-height: 1.3; margin: calc(34 * var(--u)) 0 calc(14 * var(--u)); }
.pg-content h1 { font-size: calc(34 * var(--u)); }
.pg-content h2 { font-size: calc(28 * var(--u)); position: relative; padding-bottom: calc(10 * var(--u)); }
.pg-content h2::after { content: ''; position: absolute; left: 0; bottom: 0; width: calc(48 * var(--u)); height: 3px; border-radius: 2px; background: #0566b7; }
.pg-content h3 { font-size: calc(23 * var(--u)); }
.pg-content h4 { font-size: calc(19 * var(--u)); }
.pg-content p { margin: 0 0 calc(18 * var(--u)); }
.pg-content a { color: #0566b7; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.pg-content a:hover { color: #054a8c; }
.pg-content ul, .pg-content ol { margin: 0 0 calc(20 * var(--u)); padding-left: calc(26 * var(--u)); }
.pg-content li { margin-bottom: calc(8 * var(--u)); }
.pg-content li::marker { color: #0566b7; font-weight: 700; }
.pg-content img { max-width: 100%; height: auto; border-radius: calc(18 * var(--u)); margin: calc(8 * var(--u)) 0; }
.pg-content blockquote { margin: calc(24 * var(--u)) 0; padding: calc(18 * var(--u)) calc(24 * var(--u)); background: #eaf5fd; border-left: 4px solid #0566b7; border-radius: 0 calc(16 * var(--u)) calc(16 * var(--u)) 0; color: #1d2b4a; }
.pg-content table { width: 100%; border-collapse: separate; border-spacing: 0; margin: calc(22 * var(--u)) 0; border: 1px solid #dbe5f1; border-radius: calc(14 * var(--u)); overflow: hidden; display: block; overflow-x: auto; }
.pg-content th { background: #eaf5fd; color: #054a8c; font-weight: 600; }
.pg-content th, .pg-content td { padding: calc(12 * var(--u)) calc(16 * var(--u)); border-bottom: 1px solid #e5edf7; text-align: left; }
.pg-content hr { border: 0; height: 1px; background: #dbe5f1; margin: calc(30 * var(--u)) 0; }
.pg-content iframe, .pg-content video { max-width: 100%; border-radius: calc(16 * var(--u)); }

/* admin HTML often carries its own bootstrap wrappers - flatten them */
.pg-content .container, .pg-content .container-fluid, .pg-content .container-xl, .pg-content .container-lg { max-width: 100% !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
.pg-content .row { margin-left: 0; margin-right: 0; }
.pg-content [class*="col-"] { padding-left: 0; padding-right: 0; }
.pg-content *[style*="text-align: justify"], .pg-content p, .pg-content div { text-align: left; }
.pg-content [style*="text-align:center"], .pg-content [style*="text-align: center"], .pg-content .text-center { text-align: center; }

/* admin content wrappers like <section class="w-75 py-5 mx-auto"> */
.pg-content > section, .pg-content > div { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }


/* =====================================================================
   BOOKING FLOW LOADER (#searchPreload) - search / book / confirm
   ===================================================================== */
div#searchPreload { --u: clamp(0.85px, calc(100vw / 1500), 1px); background: linear-gradient(180deg, #86d0f7 0%, #c9e6fb 45%, #f4faff 100%); padding: 16px 0; overflow-y: auto; font-family: 'Poppins', sans-serif; }
@media (max-width: 991px) { div#searchPreload { --u: 1px; } }
div#searchPreload, div#searchPreload *:not(i):not(svg):not(path) { font-family: 'Poppins', sans-serif !important; }
div#searchPreload.pagecenter { height: 100vh; }
div#searchPreload .container { max-width: 960px; }
div#searchPreload .col-md-10 { width: 100%; max-width: 100%; flex: none; }
div#searchPreload .card { border: 0 !important; border-radius: calc(30 * var(--u)) !important; background: #fff; box-shadow: 0 calc(22 * var(--u)) calc(60 * var(--u)) rgba(5, 74, 140, .22) !important; }
div#searchPreload .card > div:first-child img { display: block; width: 100%; height: auto; object-fit: cover; }

/* progress bar */
div#searchPreload .progress { height: calc(12 * var(--u)); margin: calc(26 * var(--u)) calc(36 * var(--u)) calc(4 * var(--u)) !important; background: #e3f0fb; border-radius: 40px; overflow: hidden; box-shadow: inset 0 1px 3px rgba(5, 74, 140, .12); }
div#searchPreload .progress-bar { border-radius: 40px; background-color: #0566b7; background-image: linear-gradient(45deg, rgba(255,255,255,.28) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.28) 50%, rgba(255,255,255,.28) 75%, transparent 75%, transparent), linear-gradient(90deg, #0a72c0, #1d8ad6); background-size: calc(24 * var(--u)) calc(24 * var(--u)), 100% 100%; transition: width .6s ease; box-shadow: 0 0 calc(12 * var(--u)) rgba(5, 102, 183, .45); }

/* trip + route details */
div#searchPreload .destination-loader { padding: calc(22 * var(--u)) calc(36 * var(--u)) calc(34 * var(--u)) !important; }
div#searchPreload .destination-loader > p { margin: 0 0 calc(22 * var(--u)) !important; padding: 0 !important; text-align: center; }
div#searchPreload .destination-loader > p .fw-bold { display: inline-block; background: #eaf5fd; color: #054a8c; font-size: calc(14 * var(--u)); font-weight: 600 !important; letter-spacing: .2px; padding: calc(8 * var(--u)) calc(22 * var(--u)); border-radius: 40px; }
div#searchPreload .destination-loader .row { align-items: center; margin: 0 0 calc(12 * var(--u)) !important; padding: calc(14 * var(--u)) calc(16 * var(--u)); background: #f6fafe; border: 1px solid #e1edf9; border-radius: calc(18 * var(--u)); }
div#searchPreload .destination-loader .row:last-child { margin-bottom: 0 !important; }
div#searchPreload .destination-loader h5 { font-size: calc(17 * var(--u)) !important; font-weight: 600; color: #0a1a33; line-height: 1.35; }
div#searchPreload .destination-loader .duration { display: inline-block; margin: 0 !important; padding: calc(5 * var(--u)) calc(16 * var(--u)); background: #fff; border: 1px solid #cfe6fa; border-radius: 40px; font-size: calc(13 * var(--u)); font-weight: 500; color: #3f4f68; }
div#searchPreload .destination-loader .row .col-md-4.text-md-center { position: relative; }
@media (max-width: 767px) { div#searchPreload .progress { margin-left: 20px !important; margin-right: 20px !important; } div#searchPreload .destination-loader { padding: 18px 20px 26px !important; } div#searchPreload .destination-loader .row { gap: 8px; text-align: center; } div#searchPreload .destination-loader .row.mt-5 { margin-top: 0 !important; } }

/* simple line under the header */
.hd-main { border-bottom: 1px solid rgba(5, 74, 140, .2); }

/* contact: FAQ */
.ct2-faq { display: grid; grid-template-columns: .85fr 1.15fr; gap: calc(48 * var(--u)); align-items: start; margin-top: calc(70 * var(--u)); }
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 90px; }
.ct2-faq-intro h2 { font-size: calc(40 * var(--u)); font-weight: 600; line-height: 1.2; color: #054a8c; margin: 0 0 calc(14 * var(--u)); }
.ct2-faq-intro p { font-size: calc(16 * var(--u)); color: #3f4f68; margin: 0 0 calc(24 * var(--u)); max-width: 420px; }
.ct2-faq-cta { display: inline-flex; align-items: center; gap: 10px; background: #0566b7; color: #fff !important; padding: calc(13 * var(--u)) calc(26 * var(--u)); border-radius: 40px; font-size: calc(16 * var(--u)); font-weight: 600; text-decoration: none; box-shadow: 0 calc(8 * var(--u)) calc(20 * var(--u)) rgba(5, 102, 183, .32); transition: transform .15s ease; }
.ct2-faq-cta:hover { transform: translateY(-2px); }
.ct2-faq-list { display: grid; gap: calc(14 * var(--u)); }
.ct2-faq-item { background: #fff; border: 1px solid #e1edf9; border-radius: calc(20 * var(--u)); box-shadow: 0 calc(6 * var(--u)) calc(20 * var(--u)) rgba(5, 74, 140, .07); transition: box-shadow .2s ease, border-color .2s ease; }
.ct2-faq-item[open] { border-color: #b9d8f3; box-shadow: 0 calc(10 * var(--u)) calc(28 * var(--u)) rgba(5, 74, 140, .13); }
.ct2-faq-item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: calc(20 * var(--u)) calc(26 * var(--u)); font-size: calc(17 * var(--u)); font-weight: 600; color: #0a1a33; }
.ct2-faq-item summary::-webkit-details-marker { display: none; }
.ct2-faq-item summary::after { content: '+'; flex: 0 0 calc(32 * var(--u)); height: calc(32 * var(--u)); border-radius: 50%; background: #eaf5fd; color: #0566b7; display: inline-flex; align-items: center; justify-content: center; font-size: calc(22 * var(--u)); font-weight: 500; line-height: 1; transition: transform .2s ease, background .2s ease, color .2s ease; }
.ct2-faq-item[open] summary::after { content: '\2212'; background: #0566b7; color: #fff; }
.ct2-faq-item p { margin: 0; padding: 0 calc(26 * var(--u)) calc(22 * var(--u)); font-size: calc(15.5 * var(--u)); line-height: 1.75; color: #3f4f68; }
@media (max-width: 991px) { .ct2-faq { grid-template-columns: 1fr; gap: 24px; margin-top: 44px; } .ct2-faq-intro h2 { font-size: 28px; } .ct2-faq-item summary { padding: 16px 18px; font-size: 16px; } .ct2-faq-item p { padding: 0 18px 18px; } }



/* header: link to the separate flight booking site */
.hd-auth a.hd-flight-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--hm-blue); color: #fff; padding: 5px 18px; border-radius: 30px; font-size: calc(16 * var(--u)); font-weight: 600; text-decoration: none; line-height: 1.4; box-shadow: 0 3px 10px rgba(5,102,183,.3); transition: background .2s ease, transform .15s ease; }
.hd-auth a.hd-flight-btn:hover { background: var(--hm-navy); color: #fff; text-decoration: none; transform: translateY(-1px); }


/* hero airline badge (replaces the plain italic "(150+ Airlines)") */
.hm-hero h1 small.hm-badge { display: inline-flex; align-items: center; gap: calc(14 * var(--u)); margin-top: calc(22 * var(--u)); padding: calc(8 * var(--u)) calc(26 * var(--u)) calc(8 * var(--u)) calc(8 * var(--u)); font-style: normal; font-size: calc(24 * var(--u)); line-height: 1.2; letter-spacing: 0; color: #054a8c; background: rgba(255,255,255,.72); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.95); border-radius: 60px; box-shadow: 0 calc(10 * var(--u)) calc(28 * var(--u)) rgba(5,74,140,.16); }
.hm-badge-ico { width: calc(48 * var(--u)); height: calc(48 * var(--u)); border-radius: 50%; background: linear-gradient(135deg, #0a72c0, #0566b7); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: calc(19 * var(--u)); box-shadow: 0 calc(6 * var(--u)) calc(14 * var(--u)) rgba(5,102,183,.4); }
.hm-badge-ico svg { width: calc(20 * var(--u)); height: calc(20 * var(--u)); transform: rotate(-20deg); }
.hm-badge-text { font-weight: 600; white-space: nowrap; }
.hm-badge-text b { font-weight: 700; font-size: 1.25em; color: #0566b7; font-variant-numeric: tabular-nums; }
.hm-badge-text em { font-style: normal; font-weight: 400; color: #3f4f68; font-size: .78em; margin-left: calc(4 * var(--u)); }
@media (max-width: 575px) { .hm-hero h1 small.hm-badge { font-size: 16px; padding-right: 16px; } .hm-badge-ico { width: 36px; height: 36px; font-size: 14px; } .hm-badge-text em { display: none; } }

.hm-hero h1 small.hm-badge { display: flex; width: max-content; max-width: 100%; margin-left: auto; margin-right: auto; }

/* footer "we accept" - responsive */
.ft-accept img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
@media (max-width: 991px) { .ft-accept { max-width: calc(100% - 32px) !important; } .ft-accept img { max-height: 44px; } }
@media (max-width: 575px) { .ft-accept .line { font-size: 13px; gap: 0; } .ft-accept .line span { padding: 0 12px !important; } .ft-accept img { max-height: none; width: 100%; max-width: 320px; } }

/* header: small devices */
@media (max-width: 991px) {
  .hd-top .container { flex-direction: column; gap: 8px; padding: 8px 12px; }
  .hd-phone { justify-content: center; flex-wrap: wrap; text-align: center; font-size: 14px !important; }
  .hd-phone a, .hd-phone { font-size: 14px !important; }
  .hd-auth { justify-content: center; gap: 10px 14px !important; font-size: 14px !important; width: 100%; }
  .hd-auth a, .hd-auth span { font-size: 14px !important; }
  .hd-auth a.hd-flight-btn { font-size: 13px !important; padding: 4px 14px; }
  .hd-main .container { gap: 12px; }
  .hd-logo img { height: 48px !important; }
  .hd-mobile { max-height: calc(100vh - 140px); overflow-y: auto; }
  .hd-mobile a { font-size: 16px; }
  .hd-mobile a i { margin-right: 8px; color: #0566b7; }
}
@media (max-width: 420px) {
  .hd-phone > span:last-child { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 6px; }
  .hd-auth { justify-content: space-between; }
}

/* travel-support collage: scale with the screen and stay centred on small devices */
@media (max-width: 991px) {
  .hm-collage { width: min(500px, 100%); max-width: 100%; height: auto; aspect-ratio: 500 / 620; margin: 30px auto 0; transform: none; }
  .hm-collage > div { border-width: 6px; border-radius: 999px !important; }
  .hm-collage .c1 { left: 28%; right: auto; top: 0; width: 56%; height: 67.7%; }
  .hm-collage .c2 { left: 0; right: auto; top: 33%; width: 52.6%; height: 60.2%; }
  .hm-collage .c3 { left: 56%; right: auto; top: 46.3%; width: 44%; height: 51.8%; }
}

/* responsive headings: --u is 1px below 992px, so the 1920px design sizes are too large on phones */
@media (max-width: 991px) {
  .hm-title, .hm-news h2, .ct2-head h2, .ct2-head h1, #content .pg-head h1, .au-head h1 { font-size: clamp(26px, 6.2vw, 38px) !important; line-height: 1.2 !important; }
  .hm-hero h1 { font-size: clamp(30px, 8vw, 46px) !important; line-height: 1.2 !important; margin-bottom: 28px !important; }
  .hm-hero h1 small { font-size: clamp(20px, 5vw, 28px) !important; line-height: 1.3 !important; }
  .hm-holiday h3, .pg-blue h3 { font-size: clamp(24px, 6vw, 32px) !important; line-height: 1.25 !important; }
  .pg-panel h3, .ctp-card h5 { font-size: clamp(20px, 5vw, 24px) !important; }
  #content .pg-head p { font-size: 16px !important; }
  #content .hero-slide-content h1 { font-size: clamp(26px, 7vw, 40px) !important; }
  #content .detail-heading { font-size: clamp(22px, 5.5vw, 28px) !important; }
  .cta-text h3 { font-size: clamp(22px, 5.5vw, 28px) !important; }
  .tp-body h4 { font-size: 20px; }
  .ds-info h3 { font-size: 26px; }
}

/* phones: smaller section titles and slider arrows so the title + arrows row fits */
@media (max-width: 575px) {
  .hm-title, .hm-news h2, .ct2-head h2 { font-size: clamp(25px, 7vw, 30px) !important; }
  .hm-nav-btn { width: 38px !important; height: 38px !important; font-size: 14px !important; flex-shrink: 0; }
  .hm-section .d-flex.justify-content-between.align-items-end { gap: 12px; }
  .hm-label { font-size: 12px !important; letter-spacing: 2px !important; }
}
/* header on very wide viewports (browser zoomed out / large screens): grow with the viewport instead of staying at the 1920px size */
@media (min-width: 1921px) {
  .hd { --u: clamp(1px, calc(100vw / 1920), 1.5px); }
  .hd-phone .ico { min-width: 26px; }
  .hd-auth a.hd-flight-btn { padding: calc(5 * var(--u)) calc(18 * var(--u)); }
}

/* WhatsApp float: grow with the viewport on very wide screens / zoomed-out browsers (same cap as the header) */
@media (min-width: 1921px) {
  .wa-float { --wu: clamp(1px, calc(100vw / 1920), 1.5px); right: calc(24 * var(--wu)); bottom: calc(24 * var(--wu)); gap: calc(12 * var(--wu)); padding: calc(6 * var(--wu)) calc(6 * var(--wu)) calc(6 * var(--wu)) calc(20 * var(--wu)); }
  .wa-float .wa-text small { font-size: calc(12 * var(--wu)); }
  .wa-float .wa-text strong { font-size: calc(15 * var(--wu)); }
  .wa-float .wa-icon { width: calc(52 * var(--wu)); height: calc(52 * var(--wu)); font-size: calc(28 * var(--wu)); }
  .wa-float .wa-icon svg { width: calc(28 * var(--wu)); height: calc(28 * var(--wu)); }
}

/* ===== NTO brand patterns (decorative) ===== */
.hm-hero::before, .hm-news::before, .hm-pat-routes::before, .au-page::before, .ct2-page::before, .pg-page::before {
  content: ''; position: absolute; pointer-events: none; z-index: 0; background-repeat: no-repeat; background-size: cover;
}
/* hero: misty Himalayan range rising from the bottom */
.hm-hero::before { left: 0; right: 0; bottom: 0; height: 78%; background-image: url('../images/patterns/himalayan.svg'); background-position: center bottom; background-size: 100% auto; opacity: 1; -webkit-mask-image: linear-gradient(to top, transparent 0, #000 22%, #000 40%, transparent 92%); mask-image: linear-gradient(to top, transparent 0, #000 22%, #000 40%, transparent 92%); }
/* why-choose-us: flight routes */
.hm-pat-routes { position: relative; }
.hm-pat-routes::before { inset: 0; background-image: url('../images/patterns/flight-routes.svg'); background-position: center; opacity: .55; }
.hm-pat-routes > .container { position: relative; z-index: 1; }
/* newsletter: topographic lines on brand blue */
.hm-news { position: relative; overflow: hidden; }
.hm-news::before { inset: 0; background-image: url('../images/patterns/topographic.svg'); background-position: center; opacity: .16; }
.hm-news > .container { position: relative; z-index: 1; }
/* inner page headers: geometric mountain grid fading downward */
.au-page::before, .ct2-page::before, .pg-page::before { left: 0; right: 0; top: 0; height: 520px; background-image: url('../images/patterns/himalayan.svg'); background-position: center top; opacity: .35; -webkit-mask-image: linear-gradient(to bottom, #000 30%, transparent); mask-image: linear-gradient(to bottom, #000 30%, transparent); }
@media (max-width: 991px) { .hm-hero::before { height: 55%; } .au-page::before, .ct2-page::before, .pg-page::before { height: 300px; } }
