/* ═══════════════════════════════════════════════════════════════════
   DESIGN TOKENS — global
   These are also declared in ha-course-theme.css, but that file is only
   loaded on course pages. Shared includes (footer, contactWithMap,
   courseTableLong, food-accommodation) use these variables on EVERY page,
   so they must be defined in this globally-loaded stylesheet too.
   Keep the values in sync with ha-course-theme.css.
   ═══════════════════════════════════════════════════════════════════ */
:root {
    --ha-green:      #507C24;
    --ha-dark:       #2d4a1e;
    --ha-olive:      #3d6b16;
    --ha-light:      #f4f8f0;
    --ha-cream:      #fdfbf7;
    --ha-border:     #e2edda;
    --ha-text:       #2c2c2c;
    --ha-muted:      #6b7a5e;
    --ha-orange:     #d97b2a;
    --ha-shadow-sm:  0 2px 12px rgba(80,124,36,.10);
    --ha-shadow:     0 4px 28px rgba(80,124,36,.13);
    --ha-shadow-lg:  0 8px 40px rgba(80,124,36,.16);
    --ha-radius:     14px;
    --ha-radius-sm:  8px;
    --ha-transition: .22s ease;
}

/* Layout-level styles: buttons, popups, whatsapp, early-bird modal (externalised) */
html body .btn:not(.btn-close):not(.navbar-toggler):not(.btn-wa):not(.btn-link),
		html body button.btn:not(.btn-close):not(.navbar-toggler),
		html body input[type="submit"],
		html body input[type="button"],
		html body input[type="reset"],
		html body .btn-primary, html body .btn-gold, html body .btn-forest,
		html body .btn-color-01, html body .btn-color-02, html body .btn-tra-01, html body .btn-tra-white,
		html body .small-btn, html body .smallbtn, html body .btn-sm, html body .btn-md, html body .btn-lg,
		html body .ha-btn-primary, html body .ha-btn-secondary,
		html body .hp-btn-primary, html body .hp-btn-ghost,
		html body .hdm-btn, html body .ha-enroll-btn, html body .form-btn,
		html body .nl-simple-btn, html body .hgal-btn,
		html body .hblog-cta-btn, html body .ha-why-btn, html body .ha-panel-btn,
		html body .hr-book, html body .pk-book, html body .hfaq-help-btn {
			background: linear-gradient(135deg, #97BC17 0%, #507C24 100%) !important;
			background-color: #507C24 !important;
			color: #fff !important;
			border-color: transparent !important;
		}

/* Full-screen overlay */
            #search-overlay {
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: rgba(0, 0, 0, 0.9); /* Dark overlay */
                display: none;
                align-items: center;
                justify-content: center;
                z-index: 9999;
            }
            
            /* Centered search box */
            .search-box {
                position: absolute;
                top: 20%;
                left: 50%;
                transform: translateX(-50%); /* Center horizontally */
                width: 60%;
                max-width: 600px;
                text-align: center;
            }
            
            /* Stylish input box */
            #search-input {
                width: 100%;
                height: 50px;
                padding: 5px 20px;
                font-size: 20px;
                border: none;
                /*border-radius: 30px;*/
                outline: none;
                text-align: center;
                background: #fff;
                box-shadow: 0px 4px 10px rgba(255, 255, 255, 0.2);
            }
            
            /* Close button */
            #close-search {
                position: absolute;
                left: 48%;
                top: 10%;
                font-size: 48px;
                background: transparent;
                border: none;
                color: white;
                cursor: pointer;
                transition: 0.3s;
            }

.whatsapp-icon {
        		position: fixed;
        		bottom: 3%;
        		left: 4%;
        		background: #25d366;
        		z-index:99;
        		width: 53px;
        		height: 53px;
        		border-radius: 50%;
        		padding:11px 13px;
        		box-shadow: 0 0 8px #dadaa6;
        		background-image: url(/img/whatsapp.jpg);
        		background-size:cover;
        	}
        	@media (max-width: 767px) {
            	.whatsapp-icon {
                    bottom: 2%;
                }
        	}

#early_bird_modal { --eb-green:#2F5D2E; --eb-gold:#507C24; --eb-lime:#97BC17; --eb-ivory:#FCFBF7; --eb-text:#1F2937; --eb-border:#EAE7DF; }
            #early_bird_modal .modal-dialog { max-width: 940px; }
            #early_bird_modal .modal-content { background: var(--eb-ivory); border: 1px solid var(--eb-border); border-radius: 28px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.08); }
            #early_bird_modal .modal-content, #early_bird_modal .modal-content * { box-sizing: border-box; font-family: 'Roboto','Montserrat',system-ui,-apple-system,sans-serif; }
            #early_bird_modal .close { position: absolute; right: 16px; top: 16px; z-index: 30; width: 40px; height: 40px; border-radius: 50%; background: #fff; border: 1px solid var(--eb-border); color: var(--eb-text); opacity: 1; font-size: 20px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(0,0,0,.06); transition: transform .25s ease, background .25s ease; }
            #early_bird_modal .close:hover { transform: rotate(90deg); background: #f3f0e8; }

            .eb-cols { display: grid; grid-template-columns: 1fr; }
            .eb-left { padding: 44px 40px 40px; display: flex; flex-direction: column; }
            .eb-right { padding: 44px 40px 40px; background: #fff; border-left: 1px solid var(--eb-border); display: flex; flex-direction: column; justify-content: center; }

            .eb-badge2 { align-self: flex-start; display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #3c6317; background: rgba(151,188,23,.14); border: 1px solid rgba(80,124,36,.3); padding: 8px 16px; border-radius: 100px; }
            .eb-badge2 .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--eb-lime); box-shadow: 0 0 0 3px rgba(151,188,23,.25); }

            .eb-offer { position: relative; overflow: hidden; margin: 20px 0 4px; padding: 18px 22px; background: linear-gradient(135deg, #507C24 0%, #2d4d18 100%); border: none; border-radius: 18px; box-shadow: 0 14px 34px rgba(45,77,24,.28); }
            .eb-offer::after { content: ''; position: absolute; top: -46px; right: -34px; width: 130px; height: 130px; border-radius: 50%; background: rgba(151,188,23,.18); }
            .eb-offer > * { position: relative; z-index: 1; }
            .eb-offer .lbl { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: #cde3a6; margin-bottom: 2px; }
            .eb-offer .num { display: flex; align-items: baseline; gap: 6px; font-family: Georgia,'Times New Roman',serif; font-weight: 800; color: #fff; line-height: 1; }
            .eb-offer .num b { font-size: 48px; letter-spacing: -1px; }
            .eb-offer .num b sup { font-size: 20px; color: var(--eb-lime); top: -.55em; }
            .eb-offer .num .off { font-size: 22px; letter-spacing: 2px; color: #fff; font-weight: 800; }
            .eb-when { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,.85); }
            .eb-when::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--eb-lime); flex: 0 0 7px; }

            .eb-sub2 { font-size: 16px; line-height: 1.6; color: #4b5563; margin: 20px 0 24px; max-width: 360px; }

            .eb-photo { border-radius: 20px; overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,.12); aspect-ratio: 16 / 10; }
            .eb-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

            .eb-checks { list-style: none; padding: 0; margin: 24px 0 0; display: grid; grid-template-columns: 1fr; gap: 14px; }
            .eb-checks li { display: flex; align-items: center; gap: 12px; font-family: Georgia,'Times New Roman',serif; font-size: 16px; font-weight: 600; color: var(--eb-green); letter-spacing: .2px; }
            .eb-checks li svg { width: 22px; height: 22px; flex: 0 0 22px; }

            .eb-form-head { font-family: Georgia,serif; font-size: 28px; font-weight: 800; color: #16241c; margin: 0 0 8px; }
            .eb-form-sub { font-size: 15.5px; line-height: 1.6; color: #4b5563; margin: 0 0 24px; }
            .early-bird-form { width: 100%; margin: 0; }
            .eb-field { position: relative; margin-bottom: 15px; }
            .eb-field > svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; stroke: #9ca3af; fill: none; stroke-width: 1.9; z-index: 2; pointer-events: none; }
            .early-bird-form .form-control { width: 100%; height: 54px; background: #fff; border: 1.5px solid var(--eb-border); border-radius: 14px; color: var(--eb-text); font-size: 15.5px; font-weight: 400; padding: 0 16px 0 46px; box-shadow: none; margin: 0; line-height: 1; transition: border-color .2s ease, box-shadow .2s ease; }
            .early-bird-form .form-control { color: #1f2937; font-weight: 500; }
            .early-bird-form .form-control::placeholder { color: #7b8494; }
            .early-bird-form .form-control:focus { border-color: var(--eb-green); box-shadow: 0 0 0 4px rgba(47,93,46,.1); outline: none; }
            .early-bird-form select.form-control { appearance: none; -webkit-appearance: none; padding-right: 42px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }

            .eb-claim { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 56px; margin-top: 6px; background: linear-gradient(135deg, #97BC17 0%, #507C24 100%); color: #fff !important; font-weight: 800; font-size: 18px; letter-spacing: .3px; border: none; border-radius: 16px; cursor: pointer; box-shadow: 0 12px 26px rgba(45,77,24,.32); transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
            .eb-claim:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(45,77,24,.42); filter: brightness(1.05); color: #fff !important; }
            .eb-claim svg { width: 20px; height: 20px; fill: #fff; }
            .eb-privacy { display: flex; align-items: center; justify-content: center; gap: 7px; font-size: 12.5px; color: #9ca3af; margin: 16px 0 0; }
            .eb-privacy svg { width: 13px; height: 13px; fill: #9ca3af; }

            @media (min-width: 768px) { .eb-cols { grid-template-columns: 45% 55%; } }
            @media (max-width: 767px) {
                #early_bird_modal .modal-dialog { max-width: 94%; margin: .6rem auto; }
                .eb-left, .eb-right { padding: 32px 24px; }
                .eb-right { border-left: 0; border-top: 1px solid var(--eb-border); }
                .eb-offer .num b { font-size: 60px; }
                .eb-offer .num sup { font-size: 26px; }
                .eb-checks { grid-template-columns: 1fr; gap: 12px; }
            }

/* Back-to-top button: move to the left so the Tawk.to chat widget
   (bottom-right) no longer covers it. Sits above the WhatsApp float. */
#scrollUp {
    left: 4% !important;
    right: auto !important;
    bottom: 100px !important;
    z-index: 99;
}
@media (max-width: 767px) {
    #scrollUp {
        width: 44px !important;
        height: 44px !important;
        bottom: 88px !important;
    }
}

/* ── Sticky main menu (desktop / tablet) ───────────────────────────────
   Paired with public/js/sticky-header.js, which adds .ha-menu-fixed to
   .wsmainfull and sizes .ha-header-spacer to match. Only the menu row is
   pinned — the green contact bar above it scrolls away.
   The theme's own `position: sticky` on .header-wrapper never worked
   because its parent is exactly as tall as it is. */
.ha-header-spacer { height: 0; }

@media (min-width: 992px) {
    .wsmainfull.ha-menu-fixed {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 999;
        box-shadow: 0 2px 14px rgba(45, 77, 24, .10);
    }
}

/* ═══════════════════════════════════════════════════════════════════
   SECTION HEADING DIVIDER — global
   The uploaded divider (/images/divider.avif) sits under every H2 on
   every page. This used to live in ha-course-theme.css, which is only
   loaded on course pages, so the homepage never got it.
   ═══════════════════════════════════════════════════════════════════ */

/* Centred headings */
.ha-section-title,
.ha-watch-title, .tch-title, .hroom-title-main, .hfood-title, .hexc-title,
.hgal-title, .hfaq-title, .hto-title, .hcq-title, .hct-title, .hcta-title,
.ha-trust h2, .haf-quick-title,
h2.font30, h2.font28, .htm-title, .hac-title, .peb-title, .hdiff-title,
.hblog-title, .ha-hero-title {
    text-align: center !important;
}

/* The divider itself */
.ha-section-title::after,
.ha-watch-title::after, .tch-title::after, .hroom-title-main::after, .hfood-title::after,
.hexc-title::after, .hgal-title::after, .hfaq-title::after, .hto-title::after,
.hcq-title::after, .hct-title::after, .hcta-title::after, .ha-trust h2::after,
.haf-quick-title::after,
h2.font30::after, h2.font28::after, .htm-title::after, .hac-title::after,
.peb-title::after, .hdiff-title::after, .hdm-welcome::after,
.hblog-title::after, .ha-hero-title::after {
    content: "" !important;
    display: block !important;
    width: 170px !important;
    height: 34px !important;
    border-radius: 0 !important;
    margin: 14px auto 4px !important;
    background: url('/images/divider.avif') center center / contain no-repeat !important;
}

.haf-quick-title::after { width: 120px !important; height: 24px !important; margin-top: 10px !important; }

/* "Welcome to Haritha…" is left-aligned by design — keep the divider left too. */
.hdm-welcome::after { margin-left: 0 !important; }

/* Hide bespoke dividers so the uploaded divider is used consistently */
.hroom-divider, .hfood-divider, .hexc-divider, .hfaq-divider, .hgal-lotus,
.hcta-title + img { display: none !important; }

/* ── Footer CTA + "Globally Recognized & Trusted" headings ──────────────
   These are shared includes used on every page, but their 40px sizing
   lives in ha-course-theme.css which only loads on course pages. Without
   it (blogs, policies, our-team, etc.) the theme default blows them up to
   ~60px. Cap them here so they match the course pages everywhere. */
.hcta-title,
section.ha-trust h2.txt-color-01 {
    font-family: 'Lustria', Georgia, 'Times New Roman', serif !important;
    font-size: 40px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}
@media (max-width: 767px) {
    .hcta-title,
    section.ha-trust h2.txt-color-01 { font-size: 30px !important; }
}

/* Canonical article bullet list — uses the Haritha list icon, aligned to text.
   (Pages may still override locally; this is the shared default.) */
.ha-art-list { list-style: none; padding-left: 0; margin: 0 auto; }
.ha-art-list > li {
    display: flex; align-items: flex-start; gap: 12px; margin-bottom: 0;
    line-height: 1.85; color: #4a5a3d;
}
.ha-art-list > li::before {
    content: ""; flex: 0 0 auto; width: 20px; height: 20px; margin-top: 8px;
    background: url('/img/ha-list-icon.avif') center / contain no-repeat;
}
