/* ================== AASP 2027 CHIANG MAI - THEME OVERRIDE CSS (COMPLETE FINAL BUNDLE) =============== */
:root {
    /* Main Theme Palette from Poster & Banner */
    --aasp-primary: #D1236B;          /* Vibrant Magenta / Orchid Pink */
    --aasp-primary-dark: #A31250;     /* Deep Magenta */
    --aasp-primary-light: #FDEBF3;    /* Soft Pink Tint */
    --aasp-primary-rgb: 209, 35, 107;
    --aasp-accent: #FEB713;           /* Golden Yellow / Lantern Gold */
    --aasp-accent-hover: #E5A30D;
    --aasp-indigo: #2D2769;           /* Royal Blue / Indigo */
    --aasp-indigo-dark: #1E1A47;      /* Dark Navy Indigo */
    --aasp-indigo-light: #48408A;
    --aasp-teal: #1D9E75;             /* Herbal / Leaf Green */
    --aasp-danger: #D83F52;           /* Crimson Deadline */
    --aasp-bg-cream: #FFFDF9;         /* Warm background tint */
}
/* -------------- 1. GLOBAL & TYPOGRAPHY OVERRIDES --------------------- */
.text-main, a, a:hover, a:focus, a:active { color: var(--aasp-indigo) !important; }
.text-or { color: var(--aasp-accent) !important; }
.bg-light-main { background-color: var(--aasp-primary) !important; color: #ffffff !important; }
/* -------------------- 2. BUTTONS & CONTROLS -------------------- */
.btn-main, .btn-main-color { background: linear-gradient(135deg, var(--aasp-primary), var(--aasp-primary-dark)) !important; border-color: var(--aasp-primary) !important; color: #ffffff !important; box-shadow: 0 8px 20px -6px rgba(var(--aasp-primary-rgb), 0.5) !important; }
.btn-main:hover, .btn-main-color:hover { background: linear-gradient(135deg, var(--aasp-accent), var(--aasp-accent-hover)) !important; border-color: var(--aasp-accent) !important; color: #1a1a1a !important; }
.btn-border-main { color: var(--aasp-primary) !important; border-color: var(--aasp-primary) !important; }
.btn-border-main:hover { background-color: var(--aasp-primary) !important; color: #ffffff !important; }
.btn-next-bl-in-card { background: var(--aasp-primary) !important; border-color: var(--aasp-primary) !important; }
[type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled), button:not(:disabled) { cursor: pointer !important; }
/* ----------  3. HEADER / SOCIAL ICONS FIRST -> CONTACT US RIGHTMOST ---------------- */
#top-header { background: linear-gradient(90deg, var(--aasp-indigo-dark) 0%, var(--aasp-indigo) 45%, var(--aasp-primary) 100%) !important; border-bottom: 2px solid var(--aasp-accent); }
#contact-header-phone { color: rgba(255, 255, 255, 0.9) !important; font-weight: 400; border-right: none !important; }
#contact-header-phone i { color: var(--aasp-accent); }
#top-header .text-center:has(#span-contact) { display: inline-flex !important; align-items: center !important; justify-content: flex-end !important; gap: 8px !important; }
#top-header .text-center:has(#span-contact) > span.text-center { order: 1 !important; display: inline-flex !important; align-items: center !important; }
#span-contact { order: 2 !important; border-left: none !important; border-right: none !important; margin-left: 6px !important; }
#span-contact a, #span-contact a.hover-underline-animation { display: inline-block !important; background: transparent !important; border: none !important; border-radius: 0 !important; padding: 0 4px !important; margin: 0 !important; color: rgba(255, 255, 255, 0.9) !important; font-weight: 400 !important; font-size: 0.875rem !important; text-decoration: none !important; box-shadow: none !important; transition: color 0.2s ease !important; }
#span-contact a::after, #span-contact a::before { display: none !important; content: none !important; }
#span-contact a:hover { background: transparent !important; color: var(--aasp-accent) !important; text-shadow: none !important; }
#top-header .fa-brands, #top-header .fa-solid { color: rgba(255, 255, 255, 0.85); transition: color 0.2s, transform 0.2s; }
#top-header a:hover .fa-brands, #top-header a:hover .fa-solid { color: var(--aasp-accent) !important; transform: scale(1.15); }
/* -------------------  4. NAVBAR, BRAND TEXT & BALANCED LOGIN/SIGNUP BUTTONS ----------------------- */
#navbar-main { --nv-main: var(--aasp-primary) !important; --nv-rgb: var(--aasp-primary-rgb) !important; --nv-accent: var(--aasp-accent) !important; box-shadow: 0 4px 20px rgba(45, 39, 105, 0.08) !important; }
#divAgencyName, #divAgencyName:hover, #navbar-main #divAgencyName { color: var(--aasp-primary) !important; font-weight: 700 !important; border-left: 3px solid var(--aasp-accent) !important; letter-spacing: 0.3px; }
#divUniversityName, #navbar-main #divUniversityName { color: var(--aasp-indigo-light) !important; font-weight: 400 !important; }
#navbar-main .navbar-nav .nav-link { color: #2d2d3a !important; font-weight: 500; transition: color 0.2s ease; }
#navbar-main .navbar-nav .nav-link:hover, #navbar-main .navbar-nav .nav-link:focus-visible, #navbar-main .navbar-nav .nav-link.dropdown-toggle.show { color: var(--aasp-primary) !important; }
#navbar-main .navbar-nav .nav-link::before { background: var(--aasp-primary) !important; height: 3px !important; }
#navbar-main .navbar-nav .nav-item:has(a[href$="login"]) .nav-link { display: inline-flex !important; align-items: center; justify-content: center; height: 38px !important; color: var(--aasp-primary) !important; font-weight: 600 !important; padding: 0 1.25rem !important; border: 1.5px solid var(--aasp-primary) !important; border-radius: 999px !important; margin: 0 4px 0 0 !important; text-decoration: none !important; box-sizing: border-box !important; }
#navbar-main .navbar-nav .nav-item:has(a[href$="login"]) .nav-link::before, #navbar-main .navbar-nav .nav-item:has(a[href$="login"]) .nav-link::after { display: none !important; content: none !important; }
#navbar-main .navbar-nav .nav-item:has(a[href$="login"]) .nav-link:hover { background: var(--aasp-primary) !important; color: #ffffff !important; }
#navbar-main .navbar-nav .nav-item:has(a[href$="sign-up"]) .nav-link { display: inline-flex !important; align-items: center; justify-content: center; height: 38px !important; background: linear-gradient(135deg, var(--aasp-primary), var(--aasp-primary-dark)) !important; border: 1.5px solid transparent !important; color: #ffffff !important; font-weight: 600 !important; border-radius: 999px !important; padding: 0 1.25rem !important; margin: 0 0 0 4px !important; box-shadow: 0 4px 12px rgba(var(--aasp-primary-rgb), 0.35); text-decoration: none !important; box-sizing: border-box !important; }
#navbar-main .navbar-nav .nav-item:has(a[href$="sign-up"]) .nav-link::before, #navbar-main .navbar-nav .nav-item:has(a[href$="sign-up"]) .nav-link::after { display: none !important; content: none !important; }
#navbar-main .navbar-nav .nav-item:has(a[href$="sign-up"]) .nav-link:hover { background: var(--aasp-accent) !important; color: #1a1a1a !important; box-shadow: 0 4px 14px rgba(254, 183, 19, 0.45); }
@media (max-width: 1199.98px) {
    #navbar-main .navbar-nav .nav-item:has(a[href$="login"]) { margin-top: 14px !important; margin-bottom: 10px !important; }
    #navbar-main .navbar-nav .nav-item:has(a[href$="sign-up"]) { margin-top: 0 !important; margin-bottom: 12px !important; }
    #navbar-main .navbar-nav .nav-item:has(a[href$="login"]) .nav-link, #navbar-main .navbar-nav .nav-item:has(a[href$="sign-up"]) .nav-link { width: 100% !important; margin: 0 !important; height: 44px !important; font-size: 1rem !important; text-align: center !important; }
}
#navbar-main .dropdown-menu { border-top: 3px solid var(--aasp-primary) !important; box-shadow: 0 16px 36px rgba(45, 39, 105, 0.15) !important; }
#navbar-main .dropdown-menu .dropdown-item:active { background-color: var(--aasp-primary) !important; color: #ffffff !important; }
#navbar-main .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23D1236B' stroke-linecap='round' stroke-width='2.4' d='M5 8h20M5 15h20M5 22h20'/%3e%3c/svg%3e") !important; }
/* ------------------ 5. BANNER CONTROLS / SLIDER BUTTONS --------------------- */
#BannerSlider .carousel-control-prev, #BannerSlider .carousel-control-next { background: linear-gradient(135deg, var(--aasp-primary), var(--aasp-primary-dark)) !important; border: 2px solid #ffffff !important; color: #ffffff !important; opacity: 0.95 !important; width: 40px !important; height: 40px !important; max-width: 40px !important; max-height: 40px !important; border-radius: 50% !important; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important; transition: all 0.25s ease !important; }
#BannerSlider .carousel-control-prev:hover, #BannerSlider .carousel-control-next:hover { background: var(--aasp-accent) !important; border-color: var(--aasp-accent) !important; color: #1a1a1a !important; transform: scale(1.1) !important; }
#BannerSlider .carousel-indicators [data-bs-target] { background-color: var(--aasp-primary) !important; border-color: transparent !important; }
#BannerSlider .carousel-indicators .active { background-color: var(--aasp-accent) !important; }
/* ---------------- 6. CONFERENCE HERO & COUNTDOWN --------------------------- */
.conference-hero { --conference-primary: var(--aasp-primary) !important; --conference-primary-dark: var(--aasp-primary-dark) !important; --conference-primary-soft: var(--aasp-primary-light) !important; --conference-accent: var(--aasp-accent) !important; --conference-text: var(--aasp-indigo) !important; }
.conference-hero-card { background: linear-gradient(135deg, #ffffff 0%, #fff7fa 100%) !important; border-color: #f7d6e4 !important; box-shadow: 0 18px 50px rgba(var(--aasp-primary-rgb), 0.12) !important; }
.conference-hero-card::before { background: radial-gradient(circle, rgba(var(--aasp-primary-rgb), 0.15), transparent 70%) !important; }
.countdown-item { border-color: #f7dbe7 !important; box-shadow: 0 10px 26px rgba(var(--aasp-primary-rgb), 0.08) !important; }
.countdown-item::before { background: linear-gradient(90deg, var(--aasp-primary), var(--aasp-accent)) !important; }
.countdown-number { color: var(--aasp-primary) !important; }
.conference-location { color: var(--aasp-indigo) !important; background: #fae8f0 !important; }
.conference-location i { color: var(--aasp-primary) !important; }
.conference-name span { color: var(--aasp-primary) !important; }
.conference-intro { border-left: 5px solid var(--aasp-primary) !important; border-color: #f7dbe7 !important; }
.conference-intro-icon { color: var(--aasp-primary) !important; background: var(--aasp-primary-light) !important; }
.conference-intro-title { color: var(--aasp-indigo) !important; }
/* ----------------- 7. SUB-BANNER CARDS ----------------------- */
#sub-banner { --sb-rgb: var(--aasp-primary-rgb) !important; }
#sub-banner .sb-1 { --c: var(--aasp-primary) !important; --c-rgb: var(--aasp-primary-rgb) !important; }
#sub-banner .sb-2 { --c: var(--aasp-teal) !important; --c-rgb: 29, 158, 117 !important; }
#sub-banner .sb-3 { --c: var(--aasp-accent) !important; --c-rgb: 254, 183, 19 !important; }
/* -------------- 8. IMPORTANT DATES & BADGES ---------------------- */
.important-dates-section { --primary: var(--aasp-primary) !important; --primary-light: var(--aasp-primary-light) !important; --green: var(--aasp-teal) !important; --green-light: #f0f8f4 !important; --danger: var(--aasp-danger) !important; --dark: var(--aasp-indigo) !important; }
.schedule-card-blue { border-left: 5px solid var(--aasp-primary) !important; }
.schedule-card-blue .schedule-header { background: linear-gradient(135deg, var(--aasp-primary-light) 0%, #ffffff 75%) !important; }
.schedule-card-blue .schedule-header-icon { background: var(--aasp-primary-light) !important; color: var(--aasp-primary) !important; }
.deadline-badge { color: var(--aasp-danger) !important; background: #ffe6ea !important; }
.info-icon { background: var(--aasp-primary-light) !important; color: var(--aasp-primary) !important; }
/* -------------- 9. REGISTRATION GUIDELINE & FLOW IMAGE OVERRIDES -------------------- */
section.section-1-home[style*="background-color: #ebebeb"], .section-reg-guideline { background: linear-gradient(180deg, #fdf8fa 0%, #f6f0f4 100%) !important; border-top: 1px solid rgba(var(--aasp-primary-rgb), 0.08); border-bottom: 1px solid rgba(var(--aasp-primary-rgb), 0.08); }
.section-reg-guideline .section-title, section[style*="background-color: #ebebeb"] .section-title { color: var(--aasp-indigo) !important; }
.section-reg-guideline .section-subtitle, section[style*="background-color: #ebebeb"] .section-subtitle { color: var(--aasp-primary) !important; font-weight: 600; letter-spacing: 1px; }
.registration-flow-card { background: #ffffff !important; border-radius: 20px !important; padding: clamp(14px, 2vw, 24px) !important; box-shadow: 0 14px 34px rgba(45, 39, 105, 0.07) !important; border: 1px solid #f3dce6 !important; }
.registration-flow-card .registration-flow-card { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; }
.flow-img { filter: hue-rotate(65deg) saturate(1.2) contrast(1.02); transition: filter 0.3s ease; }
/* ---------------- 10. INVITED SPEAKERS SECTION (Override speakers.css) --------------- */
/* Override CSS Variables directly at the root class */
.sp-section, .sp-page, .sp-breadcrumb { --sp-main: var(--aasp-primary) !important; --sp-main-light: var(--aasp-primary-light) !important; --sp-main-dark: var(--aasp-primary-dark) !important; --sp-rgb: var(--aasp-primary-rgb) !important; --sp-accent: var(--aasp-accent) !important; --sp-ink: var(--aasp-indigo) !important; }
.sp-section { background: linear-gradient(180deg, #ffffff 0%, #fff7fa 100%) !important; }
.sp-title::after { background: linear-gradient(90deg, var(--aasp-primary), var(--aasp-accent)) !important; }
.sp-tools .sp-all { background: #ffffff !important; border: 2px solid var(--aasp-primary) !important; color: var(--aasp-primary) !important; }
.sp-tools .sp-all:hover { background: var(--aasp-primary) !important; color: #ffffff !important; }
.sp-nav { background: #ffffff !important; border-color: var(--aasp-primary-light) !important; color: var(--aasp-primary) !important; }
.sp-nav:hover { background: var(--aasp-primary) !important; border-color: var(--aasp-primary) !important; color: #ffffff !important; }
.sp-card { box-shadow: 0 10px 24px rgba(45, 39, 105, 0.06) !important; border-color: #f3dce6 !important; }
.sp-card:hover { box-shadow: 0 16px 36px rgba(209, 35, 107, 0.15) !important; border-color: var(--aasp-primary) !important; }
.sp-photo { background: linear-gradient(145deg, #fff2f7 0%, #fae8f0 100%) !important; }
.sp-badge { background: #fff8e8 !important; color: #b88106 !important; border: 1px solid #fedf89 !important; }

/* Override Dots Specificity for Slick Slider */
#id_speakers .slick-dots li button, .sp-section .slick-dots li button { width: 8px !important; height: 8px !important; padding: 0 !important; border: 0 !important; border-radius: 999px !important; font-size: 0 !important; background: rgba(var(--aasp-primary-rgb), 0.25) !important; transition: width 0.3s, background 0.3s !important; cursor: pointer !important; }
#id_speakers .slick-dots li.slick-active button, .sp-section .slick-dots li.slick-active button { width: 24px !important; background: var(--aasp-primary) !important; }
#id_speakers .slick-dots li button::before, .sp-section .slick-dots li button::before { display: none !important; content: none !important; }

/* -------------  11. DISCOVER THAILAND & CHIANG MAI (PURE CSS GRADIENT BACKGROUND) -------------- */
.section-5-home { position: relative !important; background-image: none !important; background: linear-gradient(180deg, #FFFDF9 0%, #FDEBF3 65%, #F5E2EC 100%) !important; border-top: 1px solid rgba(209, 35, 107, 0.12); border-bottom: 1px solid var(--aasp-accent); overflow: hidden; filter: none !important; }
.section-5-home::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 15% 30%, rgba(254, 183, 19, 0.15) 0%, transparent 50%), radial-gradient(circle at 85% 75%, rgba(209, 35, 107, 0.18) 0%, transparent 60%), radial-gradient(circle at 50% 100%, rgba(45, 39, 105, 0.08) 0%, transparent 70%); pointer-events: none; z-index: 0; }
.section-5-home::after { display: none !important; }
.section-5-home .container { position: relative; z-index: 1; }
.vd-section { position: relative; padding: clamp(2.5rem, 4vw, 4rem) 0; }
.vd-eyebrow { background: var(--aasp-primary-light) !important; color: var(--aasp-primary) !important; border-radius: 999px; padding: 4px 14px; font-weight: 600; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 1px; }
.vd-title { color: var(--aasp-indigo) !important; font-weight: 700; margin-top: 10px; }
.vd-title::after { content: ""; display: block; width: 56px; height: 3px; background: linear-gradient(90deg, var(--aasp-primary), var(--aasp-accent)); border-radius: 2px; margin: 10px auto 0; }
.vd-lead { color: #5a5f73 !important; }
.vd-card { background: #ffffff !important; border: 1px solid #f3dce6 !important; border-radius: 20px !important; box-shadow: 0 14px 34px rgba(45, 39, 105, 0.08) !important; overflow: hidden; transition: transform 0.25s, box-shadow 0.25s; }
.vd-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(209, 35, 107, 0.16) !important; border-color: var(--aasp-primary) !important; }
.vd-caption { padding: 16px 20px !important; }
.vd-tag { background: linear-gradient(135deg, var(--aasp-primary), var(--aasp-primary-dark)) !important; color: #ffffff !important; border-radius: 6px !important; padding: 3px 10px !important; font-size: 0.75rem !important; font-weight: 600 !important; letter-spacing: 0.5px; text-transform: uppercase; }
.vd-caption strong { color: var(--aasp-indigo) !important; font-size: 1.1rem; }
.vd-caption small { color: #6e7387 !important; }
.vd-card .plyr--video .plyr__control.plyr__tab-focus, .vd-card .plyr--video .plyr__control:hover, .vd-card .plyr--video .plyr__control[aria-expanded=true] { background: var(--aasp-primary) !important; color: #ffffff !important; }
.vd-card .plyr__control--overlaid { background: rgba(209, 35, 107, 0.88) !important; }
.vd-card .plyr__control--overlaid:hover { background: var(--aasp-accent) !important; color: #1a1a1a !important; }
.vd-card .plyr--video .plyr__progress__buffer { color: rgba(254, 183, 19, 0.3) !important; }
.vd-card .plyr--full-ui input[type=range] { color: var(--aasp-primary) !important; }
/* ---------------- 12. SPONSORS & PARTNERS (Override sponsorship.css & sponsorship_exhibition.css) ------------------ */
/* sponsorship.css Overrides */
.sps-section { --sps-main: var(--aasp-primary) !important; --sps-rgb: var(--aasp-primary-rgb) !important; --sps-accent: var(--aasp-accent) !important; --sps-ink: var(--aasp-indigo) !important; background: linear-gradient(180deg, #FFFDF9 0%, #FDEBF3 100%) !important; border-top: 1px solid rgba(var(--aasp-primary-rgb), 0.12) !important; }
.sps-title::after { background: linear-gradient(90deg, var(--aasp-primary), var(--aasp-accent)) !important; }
#id_sponsor .sps-logo { border: 1px solid #f3dce6 !important; box-shadow: 0 10px 24px rgba(45, 39, 105, 0.05) !important; }
#id_sponsor .sps-logo:hover { border-color: var(--aasp-primary) !important; box-shadow: 0 16px 36px rgba(209, 35, 107, 0.12) !important; }
.sps-cta a { background: #ffffff !important; border: 2px solid var(--aasp-primary) !important; color: var(--aasp-primary) !important; }
.sps-cta a:hover { background: var(--aasp-primary) !important; color: #ffffff !important; }

/* sponsorship_exhibition.css Overrides */
.sponsor-page { --navy: var(--aasp-indigo) !important; --purple: var(--aasp-primary) !important; --purple-2: var(--aasp-primary-dark) !important; --soft: var(--aasp-primary-light) !important; --soft-2: #fff2f7 !important; --border: #f3dce6 !important; --border-light: #fae8f0 !important; --text: #4a5063 !important; }
.sponsor-tabs .nav-link:hover { color: var(--aasp-primary) !important; background: var(--aasp-primary-light) !important; }
.sponsor-tabs .nav-link.active { color: #ffffff !important; background: var(--aasp-primary) !important; }
.sponsor-tabs .nav-link.active:after { background: var(--aasp-primary) !important; }
.sponsor-card { border-color: var(--border) !important; }
.sponsor-card:hover { border-color: var(--aasp-primary) !important; box-shadow: 0 8px 24px rgba(209, 35, 107, 0.15) !important; }
.benefits-table thead th:nth-child(2) { background: var(--aasp-primary) !important; color: #ffffff !important; }
.benefits-table thead th:nth-child(3) { background: var(--aasp-primary-dark) !important; color: #ffffff !important; }
.benefits-table .category-row th { background: var(--aasp-primary-light) !important; color: var(--aasp-primary) !important; }
.check-icon { background: var(--aasp-primary-light) !important; color: var(--aasp-primary) !important; }
/* ----------------- 13. FOOTER OVERRIDES ---------------------------- */
#idFooter { background: linear-gradient(180deg, #ffffff 0%, #fff7fa 100%) !important; border-top: 1px solid rgba(var(--aasp-primary-rgb), 0.12) !important; }
#idFooter .ft-action-ic { background: linear-gradient(135deg, var(--aasp-primary), var(--aasp-primary-dark)) !important; box-shadow: 0 8px 18px -6px rgba(var(--aasp-primary-rgb), 0.6) !important; }
#idFooter .ft-action-text strong { color: var(--aasp-indigo) !important; }
#idFooter .ft-action:hover { border-color: var(--aasp-primary) !important; box-shadow: 0 16px 32px -12px rgba(var(--aasp-primary-rgb), 0.4) !important; }
#idFooter .ft-action:hover .ft-action-go { color: var(--aasp-primary) !important; }
#idFooter-bottom { background: radial-gradient(circle at 10% 10%, #68153B 0%, var(--aasp-indigo) 55%, var(--aasp-indigo-dark) 100%) !important; border-top: 3px solid var(--aasp-accent); }
#idFooter-bottom .ft-name { color: #ffffff !important; font-weight: 700; letter-spacing: 0.5px; }
#idFooter-bottom .ft-org { color: rgba(255, 255, 255, 0.85) !important; }
#idFooter-bottom .ft-mail { color: var(--aasp-accent) !important; font-weight: 500; }
#idFooter-bottom .ft-mail:hover { color: #ffffff !important; text-decoration: underline; }
#idFooter-bottom .ft-social a { background: rgba(255, 255, 255, 0.15) !important; border: 1px solid rgba(255, 255, 255, 0.25); color: #ffffff !important; }
#idFooter-bottom .ft-social a:hover { background: var(--aasp-accent) !important; color: #1a1a1a !important; border-color: var(--aasp-accent) !important; transform: translateY(-3px); }
#idFooter-bottom .ft-links a { background: rgba(255, 255, 255, 0.12) !important; border: 1px solid rgba(255, 255, 255, 0.2) !important; color: #ffffff !important; }
#idFooter-bottom .ft-links a .ico { color: var(--aasp-accent) !important; }
#idFooter-bottom .ft-links a:hover { background: #ffffff !important; color: var(--aasp-indigo) !important; border-color: #ffffff !important; }
#idFooter-bottom .ft-links a:hover .ico { color: var(--aasp-primary) !important; }
#idFooter-bottom .ft-admin { border-color: var(--aasp-accent) !important; color: var(--aasp-accent) !important; background: rgba(254, 183, 19, 0.1) !important; }
#idFooter-bottom .ft-admin:hover { background: var(--aasp-accent) !important; color: #1a1a1a !important; }
#idFooter-bottom .ft-copy { background: rgba(15, 12, 36, 0.45) !important; border-top: 1px solid rgba(255, 255, 255, 0.08); color: rgba(255, 255, 255, 0.75) !important; }
/* --------------------  14. COOKIE BANNER (klaro-custom.css Overrides) ------------------------- */
.klaro .cookie-notice:not(.cookie-modal-notice) { background-color: var(--aasp-indigo-dark) !important; border-top: 2px solid var(--aasp-accent) !important; }
.klaro .cookie-notice .cm-btn.cm-btn-success, .klaro .cookie-notice .cm-btn.cn-ok-btn { background-color: var(--aasp-primary) !important; }
.klaro .cookie-notice .cm-btn.cm-btn-success:hover, .klaro .cookie-notice .cm-btn.cn-ok-btn:hover { background-color: var(--aasp-primary-dark) !important; }

/* =============== 15. bg-step ======================== */
.bg-step-1 { background-color: var(--aasp-indigo) !important; }
.bg-step-2 { background-color: var(--aasp-primary) !important; }
.bg-step-3 { background-color: var(--aasp-accent) !important; }


/* ==========================================================================
   16. Notification of Acceptance, Notification of Presentation Time, Paper Review Program and Proceedings
   ========================================================================== */
.conference-info-accordion{--acc-primary:var(--aasp-primary,#D1236B);--acc-primary-dark:var(--aasp-primary-dark,#A31250);--acc-primary-light:var(--aasp-primary-light,#FDEBF3);--acc-indigo:var(--aasp-indigo,#2D2769);--acc-accent:var(--aasp-accent,#FEB713);--acc-border:#e9e8ef;--acc-text:#53586a}
.conference-info-accordion .accordion-item{position:relative;margin-bottom:12px;background:#fff;border:1px solid var(--acc-border);border-radius:16px!important;overflow:hidden;box-shadow:0 5px 16px rgba(45,39,105,.04);transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.conference-info-accordion .accordion-item:hover{border-color:rgba(209,35,107,.25);box-shadow:0 10px 28px rgba(45,39,105,.08)}
.conference-info-accordion .accordion-button{min-height:78px;display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;color:var(--acc-indigo);border:0;box-shadow:none!important;font-size:1rem;font-weight:600;transition:background .25s ease,color .25s ease}
.conference-info-accordion .accordion-button:not(.collapsed){color:var(--acc-indigo);background:linear-gradient(90deg,var(--acc-primary-light) 0%,rgba(255,255,255,.98) 65%)}
.conference-info-accordion .accordion-button:not(.collapsed)::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--acc-primary),var(--acc-primary-dark))}
.conference-info-accordion .accordion-button::after{width:34px;height:34px;margin-left:auto;background-size:14px;background-position:center;border-radius:50%;background-color:#f5f4f8;transition:transform .25s ease,background-color .25s ease}
.conference-info-accordion .accordion-button:not(.collapsed)::after{background-color:#fff;box-shadow:0 3px 10px rgba(45,39,105,.08)}
.conference-info-accordion .accordion-icon{width:46px;height:46px;min-width:46px;display:flex;align-items:center;justify-content:center;border-radius:13px;background:var(--acc-primary-light);color:var(--acc-primary);font-size:20px;transition:background .25s ease,color .25s ease,transform .25s ease}
.conference-info-accordion .accordion-button:not(.collapsed) .accordion-icon{color:#fff;background:linear-gradient(135deg,var(--acc-primary),var(--acc-primary-dark));box-shadow:0 6px 16px rgba(209,35,107,.22);transform:scale(1.04)}
.accordion-heading{min-width:0;display:flex;align-items:center;gap:12px}
.accordion-number{color:var(--acc-primary);font-size:11px;font-weight:700;letter-spacing:1px}
.accordion-title{color:var(--acc-indigo);font-size:17px;font-weight:700;line-height:1.35}
.conference-info-accordion .accordion-body{padding:5px 76px 26px 82px;color:var(--acc-text);font-size:15px;line-height:1.8;background:#fff}
.conference-info-accordion .accordion-body p{color:var(--acc-text);margin-bottom:12px}
.conference-info-accordion .accordion-body a{color:var(--acc-primary);font-weight:600;overflow-wrap:anywhere}
.conference-info-accordion .accordion-body a:hover{text-decoration:underline!important}
.accordion-callout{display:flex;gap:12px;margin-top:18px;padding:15px 17px;background:#f8f7fb;border-left:3px solid var(--acc-indigo);border-radius:8px}
.accordion-callout>i{margin-top:3px;color:var(--acc-indigo);font-size:18px}
.accordion-date-flow{display:flex;align-items:stretch;gap:10px;margin-top:22px;padding:18px;background:linear-gradient(135deg,#faf9fc 0%,#fff 100%);border:1px solid #eeecf2;border-radius:14px}
.accordion-date-item{flex:1;display:flex;align-items:center;gap:12px;min-width:0}
.date-step{width:30px;height:30px;min-width:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--acc-primary-light);color:var(--acc-primary);font-size:10px;font-weight:700}
.date-label{display:block;margin-bottom:3px;color:#8a8d9c;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}
.accordion-date-item strong{display:block;color:var(--acc-indigo);font-size:13px;font-weight:700}
.date-connector{display:flex;align-items:center;color:#bbb9c6;font-size:14px}
.accordion-item-warning{border-color:#f4dfae!important}
.accordion-icon-warning{color:#c77c00!important;background:#fff6df!important}
.accordion-item-warning .accordion-button:not(.collapsed){background:linear-gradient(90deg,#fff8e8 0%,#fff 70%)}
.accordion-item-warning .accordion-button:not(.collapsed)::before{background:var(--acc-accent)}
.accordion-item-warning .accordion-button:not(.collapsed) .accordion-icon-warning{background:var(--acc-accent)!important;color:#4a3500!important;box-shadow:0 6px 16px rgba(254,183,19,.25)}
.accordion-badge{display:inline-flex;align-items:center;padding:4px 9px;color:#9a6300;background:#fff3cf;border:1px solid #f5d98d;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.deadline-message{display:flex;gap:14px;padding:18px;color:#674b32;background:#fff9ec;border:1px solid #f5dfaa;border-radius:12px}
.deadline-message-icon{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;color:#b86d00;background:#ffedbd;border-radius:10px;font-size:17px}
@media(max-width:767.98px){
.conference-info-accordion .accordion-button{min-height:68px;gap:12px;padding:13px 14px}
.conference-info-accordion .accordion-icon{width:40px;height:40px;min-width:40px;font-size:17px;border-radius:11px}
.accordion-heading{display:block}
.accordion-number{display:block;margin-bottom:2px}
.accordion-title{display:block;font-size:15px}
.accordion-badge{display:inline-flex;margin-top:5px}
.conference-info-accordion .accordion-body{padding:5px 18px 22px;font-size:14px;line-height:1.7}
.accordion-date-flow{flex-direction:column;gap:10px;padding:15px}
.accordion-date-item{padding:5px 0}
.date-connector{height:18px;padding-left:8px;justify-content:flex-start;transform:rotate(90deg)}
.deadline-message{padding:15px}
}
@media(max-width:420px){
.conference-info-accordion .accordion-button{padding:12px}
.conference-info-accordion .accordion-button::after{width:28px;height:28px;background-size:12px}
.accordion-title{font-size:14px}
}

/* =============== 17. swal ============================ */
div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm {
    border: 0; border-radius: .25em; background: initial; background-color: initial; background-color: var(--aasp-primary) !important; color: #fff; font-size: 1em;
}
.btn-main-input-group{
    z-index: 2; cursor: pointer; color: #fff; font-size: 1rem; font-weight: 500;
    background: var(--aasp-primary) !important;
    border-radius: 0rem 0.375rem 0.375rem 0rem !important;
    margin-left: -4px !important; border: none;
}
.btn-main-input-group:hover{ background: var(--aasp-primary) !important; }

/* =============== 18. logout-modal ============================ */
.logout-modal{ }
.logout-modal .modal-content{background-color:white;border:0;border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(40,44,90,.25);animation:lmPop .3s ease}
.logout-modal .lm-top{padding:32px 24px 18px;text-align:center;background:linear-gradient(135deg,var(--aasp-primary-dark),var(--aasp-primary))}
.logout-modal .lm-avatar{width:80px;height:80px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:3px solid #fff;background:rgba(255,255,255,.18);color:#fff;font-size:48px;overflow:hidden;animation:lmPulse 2s ease-in-out infinite}
.logout-modal .lm-avatar img{width:100%;height:100%;object-fit:cover}
@keyframes lmPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.5)}50%{box-shadow:0 0 0 12px rgba(255,255,255,0)}}
.logout-modal .modal-title{color:#fff;font-weight:600;margin:0}
.logout-modal .lm-body{padding:20px 24px 4px;text-align:center;color:#6c6c80}
.logout-modal .lm-actions{display:flex;gap:12px;padding:18px 24px 24px}
.logout-modal .lm-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:12px;font-weight:600;text-decoration:none;transition:.15s}
.logout-modal .lm-cancel{background:#f1f0f5;color:#2d2d3a;border:1px solid #e3e1ea}
.logout-modal .lm-cancel:hover{background:#e7e5ee}
.logout-modal .lm-ok{color:#fff !important; background:linear-gradient(135deg,var(--aasp-primary-dark),var(--aasp-primary));color:#fff;border:0;box-shadow:0 8px 20px rgba(94,100,168,.35)}
.logout-modal .lm-ok:hover{color:#fff !important; transform:translateY(-1px)}
@keyframes lmPop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}

.form-select, .form-select option, select, select option,
html body select, html body select option,
select.form-select, select.form-control,
select.form-select option, select.form-control option{  font-family: 'Kanit', sans-serif, 'Prompt' !important; font-size: 1rem !important; }