/* ========================================================
   PCRU INTERNATIONAL COLLEGE: ROYAL ELEGANCE & MODERN ASTRA SUITE
   International College, Phetchabun Rajabhat University
   ======================================================== */

@import url('https://fonts.googleapis.com/css2?family=Prompt:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Sarabun:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
    --art-primary: #51189B;
    --art-primary-dark: #3b0764;
    --art-primary-light: #7c3aed;
    --art-primary-soft: #f5f3ff;
    --art-primary-bg: #faf5ff;
    --art-gold: #f59e0b;
    --art-gold-dark: #d97706;
    --art-gold-light: #fbbf24;
    --art-gold-soft: #fef3c7;
    --art-ink: #0f172a;
    --art-slate: #334155;
    --art-muted: #64748b;
    --art-card-bg: #ffffff;
    --art-border: #e9d5ff;
    --art-shadow-sm: 0 4px 14px rgba(81, 24, 155, 0.06);
    --art-shadow: 0 12px 32px rgba(81, 24, 155, 0.09);
    --art-shadow-lg: 0 20px 48px rgba(81, 24, 155, 0.14);
    --art-radius: 16px;
    --art-radius-sm: 10px;
    --art-radius-pill: 999px;
}

/* Base Typography & Smooth Rendering */
body, button, input, select, textarea,
.ast-container, .main-header-menu, h1, h2, h3, h4, h5, h6,
.elementor-heading-title, .elementor-icon-box-title, .elementor-image-box-title,
.pt-cv-title, .pt-cv-heading, .anwp-pg-post-teaser__title {
    font-family: 'Prompt', 'Noto Sans Thai', 'Sarabun', -apple-system, BlinkMacSystemFont, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    background-color: #faf8fd !important;
    color: var(--art-ink) !important;
    overflow-x: hidden !important;
}

/* Suppress any stray EAEL polygon clip-path masks on IC */
.elementor-298 .elementor-element,
.elementor-298 img {
    clip-path: none !important;
    -webkit-clip-path: none !important;
}

/* ========================================================
   1. STICKY GLASSMORPHISM HEADER (DESKTOP & MOBILE)
   ======================================================== */
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-above-header-bar {
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1.5px solid rgba(233, 213, 255, 0.7) !important;
    box-shadow: 0 4px 24px rgba(81, 24, 155, 0.06) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
}

.site-header .ast-container,
.main-header-bar .ast-container,
.ast-primary-header-bar .site-primary-header-wrap {
    max-width: 1400px !important;
    padding: 0 20px !important;
    min-height: 74px !important;
}

.site-branding {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    text-decoration: none !important;
}

.site-branding .site-logo-img {
    display: inline-flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
}

.site-branding img,
.custom-logo {
    max-height: 52px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    border-radius: 8px !important;
    transition: transform 0.25s ease !important;
}

.site-branding img:hover,
.custom-logo:hover {
    transform: scale(1.03) !important;
}

/* Site Title & Tagline 2-Line Architecture */
.ast-site-title-wrap {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: left !important;
    line-height: 1.25 !important;
}

.site-title {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    font-size: 17.5px !important;
}

.site-title a {
    font-family: 'Prompt', sans-serif !important;
    font-weight: 700 !important;
    font-size: 17.5px !important;
    color: #3b0764 !important;
    text-decoration: none !important;
    letter-spacing: -0.2px !important;
    display: block !important;
    line-height: 1.25 !important;
    transition: color 0.2s ease !important;
}

.site-title a:hover {
    color: #7c3aed !important;
}

.site-description {
    font-family: 'Prompt', 'Sarabun', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #64748b !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    display: block !important;
}

/* Language Switcher Pill in Header (html-2) */
.ast-header-html-2 .ast-builder-html-element {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%) !important;
    border: 1.5px solid #fcd34d !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-family: 'Prompt', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: #92400e !important;
    box-shadow: 0 2px 8px rgba(217, 119, 6, 0.14) !important;
    margin-left: 8px !important;
}

.ast-header-html-2 .ast-builder-html-element p {
    margin: 0 !important;
    line-height: 1.2 !important;
}

.ast-header-html-2 .ast-builder-html-element a {
    color: #51189b !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    padding: 2px 4px !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
}

.ast-header-html-2 .ast-builder-html-element a:hover {
    background: #51189b !important;
    color: #ffffff !important;
}

/* Hide bulky search bar inside main nav if present */
li.is-menu {
    display: none !important;
}

@media (max-width: 991px) {
    .site-header .ast-container,
    .ast-primary-header-bar .site-primary-header-wrap {
        min-height: 64px !important;
        padding: 0 14px !important;
    }
    .site-branding img,
    .custom-logo {
        max-height: 44px !important;
    }
    .site-title,
    .site-title a {
        font-size: 15px !important;
    }
    .site-description {
        font-size: 11px !important;
    }
}

@media (max-width: 480px) {
    .site-branding {
        gap: 8px !important;
    }
    .site-branding img,
    .custom-logo {
        max-height: 38px !important;
    }
    .site-title,
    .site-title a {
        font-size: 13.5px !important;
    }
    .site-description {
        font-size: 10px !important;
    }
}

/* ========================================================
   2. DESKTOP NAVIGATION PILL STYLE (>= 992px)
   ======================================================== */
@media (min-width: 992px) {
    .main-header-menu {
        display: flex !important;
        align-items: center !important;
        gap: 3px !important;
        flex-wrap: wrap !important;
    }

    .main-header-menu > .menu-item {
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .main-header-menu > .menu-item > a {
        font-family: 'Prompt', sans-serif !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        color: #334155 !important;
        background: transparent !important;
        padding: 8px 12px !important;
        border-radius: 999px !important;
        transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        text-decoration: none !important;
        line-height: 1.3 !important;
        white-space: nowrap !important;
    }

    .main-header-menu > .menu-item > a:hover {
        color: var(--art-primary) !important;
        background: var(--art-primary-soft) !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 2px 8px rgba(81, 24, 155, 0.12) !important;
    }

    .main-header-menu > .menu-item.current-menu-item > a,
    .main-header-menu > .menu-item.current_page_item > a,
    .main-header-menu > .menu-item.current-menu-ancestor > a {
        color: var(--art-primary) !important;
        background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%) !important;
        font-weight: 700 !important;
        box-shadow: 0 2px 10px rgba(81, 24, 155, 0.15) !important;
    }

    /* First Menu Item: Home Accent Button */
    .main-header-menu > .menu-item:first-child > a {
        background: linear-gradient(135deg, #51189b 0%, #7c3aed 100%) !important;
        color: #ffffff !important;
        font-weight: 700 !important;
        box-shadow: 0 4px 14px rgba(81, 24, 155, 0.35) !important;
        padding: 8px 14px !important;
    }

    .main-header-menu > .menu-item:first-child > a:hover {
        background: linear-gradient(135deg, #3b0764 0%, #6d28d9 100%) !important;
        color: #ffffff !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 18px rgba(81, 24, 155, 0.45) !important;
    }

    /* Font Awesome Icon Prefixes on Desktop (IC TH & EN Menu IDs) */
    .main-header-menu > .menu-item > a::before {
        font-family: 'Font Awesome 5 Free' !important;
        font-weight: 900 !important;
        font-size: 13px !important;
        color: var(--art-primary) !important;
        transition: transform 0.2s ease, color 0.2s ease !important;
    }

    .main-header-menu > .menu-item:first-child > a::before { color: #ffffff !important; }
    .main-header-menu > .menu-item:hover > a::before { transform: scale(1.15) !important; }

    .main-header-menu > #menu-item-11 > a::before { content: '\f015' !important; color: #ffffff !important; } /* หน้าหลัก / Home */
    .main-header-menu > #menu-item-20 > a::before { content: '\f1ad' !important; color: #d97706 !important; } /* เกี่ยวกับเรา / About Us */
    .main-header-menu > #menu-item-1078 > a::before { content: '\f500' !important; color: #7c3aed !important; } /* บุคลากร / Staff */
    .main-header-menu > #menu-item-22 > a::before { content: '\f19d' !important; color: #059669 !important; } /* หลักสูตร / Admissions */
    .main-header-menu > #menu-item-1639 > a::before { content: '\f501' !important; color: #0284c7 !important; } /* สมัครเรียน */
    .main-header-menu > #menu-item-1103 > a::before { content: '\f02d' !important; color: #ea580c !important; } /* งานวิจัยและตีพิมพ์ / Research */
    .main-header-menu > #menu-item-1104 > a::before { content: '\f501' !important; color: #4f46e5 !important; } /* นักศึกษา / Students */
    .main-header-menu > #menu-item-1105 > a::before { content: '\f085' !important; color: #0d9488 !important; } /* เจ้าหน้าที่ / Officer */
    .main-header-menu > #menu-item-1159 > a::before { content: '\f1de' !important; color: #b45309 !important; } /* Internal Systems */
    .main-header-menu > #menu-item-1012 > a::before { content: '\f2b9' !important; color: #e11d48 !important; } /* ติดต่อเรา / Contact Us */

    /* Top-level Dropdown Chevron Arrow on Desktop */
    .main-header-menu > .menu-item-has-children > a .dropdown-menu-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-left: 4px !important;
        color: #64748b !important;
        transition: transform 0.25s ease, color 0.2s ease !important;
    }

    .main-header-menu > .menu-item-has-children:hover > a .dropdown-menu-toggle {
        transform: rotate(180deg) !important;
        color: var(--art-primary) !important;
    }

    /* Prevent duplicate icons: Hide stray direct .ast-icon in menu links */
    .main-header-menu a > .ast-icon,
    .main-header-menu .menu-link > .ast-icon {
        display: none !important;
    }

    .main-header-menu .dropdown-menu-toggle .ast-icon {
        display: inline-flex !important;
    }

    /* Sub-menu Floating Card with Hover Bridge & Grace Period */
    .main-header-menu ul.sub-menu {
        background: #ffffff !important;
        border-radius: 16px !important;
        border: 1px solid var(--art-border) !important;
        box-shadow: 0 20px 48px -8px rgba(81, 24, 155, 0.18), 0 0 0 1px rgba(81, 24, 155, 0.04) !important;
        padding: 8px !important;
        margin: 6px 0 0 0 !important;
        min-width: 270px !important;
        list-style: none !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        z-index: 999999 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(8px) !important;
        transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s ease !important;
        transition-delay: 0.18s !important;
    }

    /* Invisible Top Hover Bridge */
    .main-header-menu ul.sub-menu::after {
        content: '' !important;
        position: absolute !important;
        top: -16px !important;
        left: 0 !important;
        right: 0 !important;
        height: 16px !important;
        background: transparent !important;
        display: block !important;
        pointer-events: auto !important;
    }

    /* Arrow Pointer on Top */
    .main-header-menu ul.sub-menu::before {
        content: '' !important;
        position: absolute !important;
        top: -6px !important;
        left: 22px !important;
        width: 12px !important;
        height: 12px !important;
        background: #ffffff !important;
        border-top: 1px solid var(--art-border) !important;
        border-left: 1px solid var(--art-border) !important;
        transform: rotate(45deg) !important;
        z-index: 1 !important;
    }

    .main-header-menu > .menu-item:hover > ul.sub-menu,
    .main-header-menu > .menu-item:focus-within > ul.sub-menu,
    .main-header-menu > .menu-item.focus > ul.sub-menu,
    .main-header-menu > .menu-item.ast-submenu-expanded > ul.sub-menu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
        transition-delay: 0s !important;
    }

    .main-header-menu ul.sub-menu li {
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        background: transparent !important;
        list-style: none !important;
    }

    .main-header-menu ul.sub-menu li a {
        font-family: 'Prompt', sans-serif !important;
        font-size: 13.5px !important;
        font-weight: 500 !important;
        color: #334155 !important;
        background: #ffffff !important;
        padding: 10px 14px !important;
        border-radius: 10px !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        line-height: 1.45 !important;
        border: 1px solid transparent !important;
    }

    .main-header-menu ul.sub-menu li a:hover {
        background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%) !important;
        color: var(--art-primary) !important;
        border-color: #ddd6fe !important;
        transform: translateX(4px) !important;
        font-weight: 600 !important;
    }

    .main-header-menu ul.sub-menu li.current-menu-item > a {
        background: #ede9fe !important;
        color: var(--art-primary) !important;
        font-weight: 700 !important;
    }

    /* Submenu Right Chevron for Level 3 & Level 4 */
    .main-header-menu ul.sub-menu .dropdown-menu-toggle,
    .main-header-menu ul.sub-menu .ast-icon {
        display: none !important;
    }

    .main-header-menu ul.sub-menu li.menu-item-has-children > a::after {
        content: '\f054' !important;
        font-family: 'Font Awesome 5 Free' !important;
        font-weight: 900 !important;
        font-size: 10px !important;
        color: var(--art-primary) !important;
        background: #ede9fe !important;
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        min-height: 20px !important;
        border-radius: 6px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-left: 10px !important;
        transition: all 0.2s ease !important;
    }

    .main-header-menu ul.sub-menu li.menu-item-has-children:hover > a::after {
        background: var(--art-primary) !important;
        color: #ffffff !important;
        transform: translateX(3px) !important;
    }

    /* 3rd & 4th Level Submenu */
    .main-header-menu ul.sub-menu li ul.sub-menu {
        position: absolute !important;
        left: 100% !important;
        right: auto !important;
        top: 0 !important;
        margin-left: 6px !important;
        margin-top: -6px !important;
        display: flex !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateX(-8px) !important;
        box-shadow: 0 20px 48px -8px rgba(81, 24, 155, 0.22) !important;
        transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s ease !important;
        transition-delay: 0.18s !important;
    }

    .main-header-menu ul.sub-menu li ul.sub-menu::after {
        content: '' !important;
        position: absolute !important;
        top: 0 !important;
        left: -14px !important;
        width: 14px !important;
        bottom: 0 !important;
        background: transparent !important;
        display: block !important;
        pointer-events: auto !important;
    }

    .main-header-menu ul.sub-menu li ul.sub-menu::before { display: none !important; }

    .main-header-menu ul.sub-menu li:hover > ul.sub-menu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateX(0) !important;
        transition-delay: 0s !important;
    }

    /* Completely hide Mobile Drawer & Bottom Bar on Desktop */
    .pcru-legal-mobile-drawer,
    .pcru-mobile-bottom-nav {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

/* ========================================================
   GLOBAL DEFAULT: HIDE MOBILE DRAWER & BOTTOM BAR ON DESKTOP
   ======================================================== */
.pcru-legal-mobile-drawer,
.pcru-mobile-bottom-nav {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* ========================================================
   3. MOBILE FIRST: FULL-SCREEN DRAWER & BOTTOM BAR (max-width: 991px)
   ======================================================== */
@media (max-width: 991px) {
    .menu-toggle,
    .ast-mobile-menu-trigger-minimal,
    .ast-mobile-menu-trigger-fill,
    .ast-button-wrap .menu-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        border-radius: 14px !important;
        background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%) !important;
        border: 1.5px solid #ddd6fe !important;
        color: var(--art-primary) !important;
        box-shadow: 0 4px 12px rgba(81, 24, 155, 0.14) !important;
        transition: all 0.25s ease !important;
        cursor: pointer !important;
    }

    .menu-toggle:hover, .menu-toggle:active {
        background: var(--art-primary) !important;
        color: #ffffff !important;
        border-color: var(--art-primary) !important;
    }

    .menu-toggle svg {
        fill: currentColor !important;
        width: 22px !important;
        height: 22px !important;
    }

    /* Off-Canvas 100vw Full-Screen Drawer */
    .pcru-legal-mobile-drawer {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 99999999 !important;
        pointer-events: none !important;
        visibility: hidden !important;
        transition: visibility 0.3s ease !important;
    }

    .pcru-legal-mobile-drawer.pcru-drawer-active {
        pointer-events: auto !important;
        visibility: visible !important;
    }

    .pcru-drawer-backdrop {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(15, 23, 42, 0.65) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        opacity: 0 !important;
        transition: opacity 0.3s ease !important;
    }

    .pcru-legal-mobile-drawer.pcru-drawer-active .pcru-drawer-backdrop {
        opacity: 1 !important;
    }

    .pcru-drawer-panel {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        min-width: 100vw !important;
        max-width: 100vw !important;
        height: 100vh !important;
        min-height: 100vh !important;
        background: #ffffff !important;
        display: flex !important;
        flex-direction: column !important;
        transform: translateX(100%) !important;
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
        overflow: hidden !important;
        z-index: 100000000 !important;
    }

    .pcru-legal-mobile-drawer.pcru-drawer-active .pcru-drawer-panel {
        transform: translateX(0) !important;
    }

    .pcru-drawer-header {
        padding: 18px 20px !important;
        padding-top: calc(18px + env(safe-area-inset-top, 0px)) !important;
        background: linear-gradient(135deg, #3b0764 0%, #51189b 100%) !important;
        color: #ffffff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        border-bottom: 2.5px solid #f59e0b !important;
    }

    .pcru-drawer-brand {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
    }

    .pcru-drawer-badge {
        width: 40px !important;
        height: 40px !important;
        border-radius: 12px !important;
        background: rgba(255, 255, 255, 0.15) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 18px !important;
        color: #fbbf24 !important;
    }

    .pcru-drawer-titles {
        display: flex !important;
        flex-direction: column !important;
        line-height: 1.25 !important;
    }

    .pcru-drawer-titles strong {
        font-family: 'Prompt', sans-serif !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #ffffff !important;
    }

    .pcru-drawer-titles small {
        font-family: 'Prompt', 'Sarabun', sans-serif !important;
        font-size: 12px !important;
        color: #e9d5ff !important;
    }

    .pcru-drawer-header .pcru-drawer-close,
    button#pcru-drawer-close-btn {
        width: auto !important;
        min-width: 60px !important;
        height: 38px !important;
        padding: 0 14px 0 10px !important;
        margin: 0 !important;
        gap: 6px !important;
        flex-shrink: 0 !important;
        box-sizing: border-box !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, 0.18) !important;
        border: 1.5px solid rgba(255, 255, 255, 0.45) !important;
        color: #ffffff !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
        box-shadow: none !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
    }

    button#pcru-drawer-close-btn svg {
        display: block !important;
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        stroke: #ffffff !important;
        stroke-width: 2.5px !important;
        fill: none !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .pcru-drawer-close-label {
        font-family: 'Prompt', sans-serif !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #ffffff !important;
        line-height: 1 !important;
    }

    button#pcru-drawer-close-btn:hover,
    button#pcru-drawer-close-btn:active {
        background: #ef4444 !important;
        border-color: #ef4444 !important;
        color: #ffffff !important;
    }

    .pcru-drawer-body {
        flex: 1 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 16px 14px 60px 14px !important;
    }

    /* Language Switcher Bar inside Mobile Drawer */
    .pcru-drawer-lang-bar {
        display: flex !important;
        gap: 8px !important;
        margin-bottom: 14px !important;
    }

    .pcru-drawer-lang-bar a {
        flex: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        padding: 10px 12px !important;
        border-radius: 12px !important;
        font-family: 'Prompt', sans-serif !important;
        font-size: 13.5px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        border: 1.5px solid #e9d5ff !important;
        background: #faf5ff !important;
        color: #51189b !important;
    }

    .pcru-drawer-lang-bar a.active {
        background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%) !important;
        border-color: #f59e0b !important;
        color: #92400e !important;
    }

    /* TOTAL BULLET SUPPRESSION FOR MOBILE DRAWER & ALL MENUS */
    .pcru-legal-mobile-drawer,
    .pcru-legal-mobile-drawer nav,
    .pcru-legal-mobile-drawer ul,
    .pcru-legal-mobile-drawer ol,
    .pcru-legal-mobile-drawer li,
    .pcru-drawer-nav,
    .pcru-drawer-nav ul,
    .pcru-drawer-nav li,
    .pcru-mobile-drawer-menu,
    .pcru-mobile-drawer-menu li,
    .pcru-mobile-drawer-menu ul,
    .pcru-mobile-drawer-menu ul.sub-menu,
    .pcru-mobile-drawer-menu ul.sub-menu li,
    #pcru-cloned-mobile-menu,
    #pcru-cloned-mobile-menu li,
    #pcru-cloned-mobile-menu ul,
    #pcru-cloned-mobile-menu ul li,
    .ast-mobile-header-content ul,
    .ast-mobile-header-content li,
    #ast-hf-mobile-menu,
    #ast-hf-mobile-menu li {
        list-style: none !important;
        list-style-type: none !important;
        list-style-image: none !important;
        list-style-position: outside !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    .pcru-legal-mobile-drawer li::marker,
    .pcru-legal-mobile-drawer ul::marker,
    .pcru-drawer-nav li::marker,
    .pcru-mobile-drawer-menu li::marker,
    .pcru-mobile-drawer-menu ul.sub-menu li::marker,
    #pcru-cloned-mobile-menu li::marker,
    #pcru-cloned-mobile-menu ul li::marker {
        display: none !important;
        content: "" !important;
        font-size: 0 !important;
        color: transparent !important;
    }

    .pcru-legal-mobile-drawer li::before,
    .pcru-drawer-nav li::before,
    .pcru-mobile-drawer-menu li::before,
    .pcru-mobile-drawer-menu ul.sub-menu li::before,
    #pcru-cloned-mobile-menu li::before,
    #pcru-cloned-mobile-menu ul li::before,
    .pcru-mobile-drawer-menu a::before,
    #pcru-cloned-mobile-menu a::before {
        display: none !important;
        content: none !important;
    }

    .pcru-mobile-drawer-menu .ast-icon,
    .pcru-mobile-drawer-menu .ast-arrow-svg,
    .pcru-mobile-drawer-menu .icon-arrow,
    .pcru-mobile-drawer-menu .dropdown-menu-toggle,
    .pcru-mobile-drawer-menu .ast-header-navigation-arrow,
    #pcru-cloned-mobile-menu .ast-icon,
    #pcru-cloned-mobile-menu .ast-arrow-svg,
    #pcru-cloned-mobile-menu .icon-arrow,
    #pcru-cloned-mobile-menu .dropdown-menu-toggle,
    #pcru-cloned-mobile-menu .ast-header-navigation-arrow,
    .pcru-legal-mobile-drawer .ast-icon,
    .pcru-legal-mobile-drawer .ast-arrow-svg,
    .pcru-legal-mobile-drawer .icon-arrow,
    .pcru-legal-mobile-drawer .dropdown-menu-toggle,
    .pcru-legal-mobile-drawer .ast-header-navigation-arrow {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        content: none !important;
    }

    .pcru-mobile-drawer-menu {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    .pcru-mobile-drawer-menu > li {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .pcru-mobile-drawer-menu > li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: left !important;
        min-height: 48px !important;
        padding: 12px 16px !important;
        border-radius: 12px !important;
        background: #f8fafc !important;
        border: 1.5px solid #ede9fe !important;
        font-family: 'Prompt', sans-serif !important;
        font-size: 14.5px !important;
        font-weight: 600 !important;
        color: #1e293b !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .pcru-mobile-drawer-menu > li:first-child > a {
        background: linear-gradient(135deg, #51189b 0%, #7c3aed 100%) !important;
        color: #ffffff !important;
        border: none !important;
        box-shadow: 0 4px 14px rgba(81, 24, 155, 0.3) !important;
    }

    .pcru-mobile-drawer-menu li.menu-item-has-children,
    #pcru-cloned-mobile-menu li.menu-item-has-children {
        position: relative !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .pcru-mobile-drawer-menu li.menu-item-has-children > a,
    #pcru-cloned-mobile-menu li.menu-item-has-children > a {
        flex: 1 1 calc(100% - 46px) !important;
        width: calc(100% - 46px) !important;
        max-width: calc(100% - 46px) !important;
        min-width: 0 !important;
        border-top-right-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
        box-sizing: border-box !important;
    }

    .pcru-accordion-toggle-btn,
    .pcru-mobile-drawer-menu .pcru-accordion-toggle-btn,
    #pcru-cloned-mobile-menu .pcru-accordion-toggle-btn {
        flex: 0 0 46px !important;
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        min-height: 48px !important;
        height: auto !important;
        box-sizing: border-box !important;
        background: #f1f5f9 !important;
        border: 1.5px solid #ede9fe !important;
        border-left: none !important;
        border-top-right-radius: 12px !important;
        border-bottom-right-radius: 12px !important;
        border-top-left-radius: 0 !important;
        border-bottom-left-radius: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        color: #64748b !important;
        transition: all 0.22s ease !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .pcru-accordion-toggle-btn svg {
        transition: transform 0.25s ease !important;
    }

    .pcru-sub-open > .pcru-accordion-toggle-btn {
        background: #f5f3ff !important;
        color: #51189b !important;
    }

    .pcru-sub-open > .pcru-accordion-toggle-btn svg {
        transform: rotate(180deg) !important;
    }

    .pcru-mobile-drawer-menu ul.sub-menu,
    #pcru-cloned-mobile-menu ul.sub-menu {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        width: 100% !important;
        flex: 0 0 100% !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .pcru-mobile-drawer-menu li.pcru-sub-open > ul.sub-menu,
    #pcru-cloned-mobile-menu li.pcru-sub-open > ul.sub-menu {
        display: flex !important;
        flex-direction: column !important;
        opacity: 1 !important;
        visibility: visible !important;
        height: auto !important;
        max-height: 4000px !important;
        width: calc(100% - 12px) !important;
        flex: 0 0 calc(100% - 12px) !important;
        box-sizing: border-box !important;
        margin: 6px 0 8px 12px !important;
        padding: 6px 0 6px 12px !important;
        border-left: 2.5px solid #a855f7 !important;
        background: transparent !important;
        gap: 6px !important;
    }

    .pcru-mobile-drawer-menu ul.sub-menu li,
    #pcru-cloned-mobile-menu ul.sub-menu li {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        width: 100% !important;
        margin: 0 0 4px 0 !important;
        padding: 0 !important;
        list-style: none !important;
        box-sizing: border-box !important;
    }

    .pcru-mobile-drawer-menu ul.sub-menu li a,
    #pcru-cloned-mobile-menu ul.sub-menu li a {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: left !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 10px 14px !important;
        font-family: 'Prompt', sans-serif !important;
        font-size: 13.5px !important;
        font-weight: 500 !important;
        color: #334155 !important;
        background: #ffffff !important;
        border: 1px solid #ede9fe !important;
        border-radius: 10px !important;
        text-decoration: none !important;
        line-height: 1.4 !important;
        min-height: 42px !important;
    }

    .pcru-mobile-drawer-menu ul.sub-menu li.menu-item-has-children > a,
    #pcru-cloned-mobile-menu ul.sub-menu li.menu-item-has-children > a {
        width: calc(100% - 44px) !important;
        max-width: calc(100% - 44px) !important;
        flex: 1 1 calc(100% - 44px) !important;
        border-top-right-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
    }

    .pcru-mobile-drawer-menu ul.sub-menu .pcru-accordion-toggle-btn,
    #pcru-cloned-mobile-menu ul.sub-menu .pcru-accordion-toggle-btn {
        flex: 0 0 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        min-height: 42px !important;
        border: 1px solid #ede9fe !important;
        border-left: none !important;
        border-top-right-radius: 10px !important;
        border-bottom-right-radius: 10px !important;
    }

    .pcru-drawer-contact-card {
        margin-top: 24px !important;
        padding: 18px !important;
        background: #faf5ff !important;
        border: 1.5px dashed #c084fc !important;
        border-radius: 14px !important;
        font-family: 'Prompt', sans-serif !important;
        font-size: 13px !important;
        color: #475569 !important;
        line-height: 1.6 !important;
    }

    .pcru-drawer-contact-card .card-head {
        font-weight: 700 !important;
        color: #51189b !important;
        margin-bottom: 6px !important;
    }
}

/* ========================================================
   4. MOBILE BOTTOM QUICK ACTION BAR (< 992px)
   ======================================================== */
@media (max-width: 991px) {
    body {
        padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    body.pcru-drawer-open {
        overflow: hidden !important;
        position: fixed !important;
        width: 100% !important;
        height: 100% !important;
    }

    .pcru-mobile-bottom-nav {
        display: flex !important;
        visibility: visible !important;
        pointer-events: auto !important;
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        background: rgba(255, 255, 255, 0.96) !important;
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
        border-top: 1.5px solid rgba(233, 213, 255, 0.8) !important;
        box-shadow: 0 -4px 20px rgba(81, 24, 155, 0.08) !important;
        z-index: 99998 !important;
        align-items: center !important;
        justify-content: space-around !important;
    }

    .pcru-mobile-bottom-nav a {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        flex: 1 !important;
        color: #64748b !important;
        text-decoration: none !important;
        font-family: 'Prompt', sans-serif !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        transition: all 0.2s ease !important;
    }

    .pcru-mobile-bottom-nav a.active,
    .pcru-mobile-bottom-nav a:hover {
        color: #51189b !important;
        font-weight: 700 !important;
    }

    .pcru-mobile-bottom-nav a.cta-item {
        color: #51189b !important;
    }

    .pcru-mobile-bottom-nav a.cta-item .cta-icon-wrap {
        width: 44px !important;
        height: 44px !important;
        border-radius: 50% !important;
        background: linear-gradient(135deg, #51189b 0%, #7c3aed 100%) !important;
        color: #ffffff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 6px 16px rgba(81, 24, 155, 0.4) !important;
        border: 3px solid #ffffff !important;
        margin-top: -14px !important;
    }

    .pcru-mobile-bottom-nav a.cta-item .cta-icon-wrap svg {
        stroke: #ffffff !important;
    }
}

/* ========================================================
   4.5. TOP HERO FULL-WIDTH BANNER (ee5e505) & GLOBAL BOXED LAYOUT
   ======================================================== */
.elementor-298 > .elementor-element-ee5e505 {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 420px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-image: url('https://ic.pcru.ac.th/en/wp-content/uploads/2016/11/students-1807505_1920-1.jpg') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    box-shadow: 0 16px 36px -6px rgba(81, 24, 155, 0.22), 0 8px 18px -4px rgba(15, 23, 42, 0.12) !important;
    z-index: 5 !important;
}

/* Subtle Royal Gradient Overlay on Hero Banner */
.elementor-298 > .elementor-element-ee5e505::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.15) 0%, rgba(59, 7, 100, 0.45) 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Elegant Royal Gold & Purple Gradient Bottom Border Ribbon */
.elementor-298 > .elementor-element-ee5e505::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 5px !important;
    background: linear-gradient(90deg, #51189b 0%, #d97706 25%, #fbbf24 50%, #f59e0b 75%, #7c3aed 100%) !important;
    box-shadow: 0 3px 12px rgba(245, 158, 11, 0.45) !important;
    z-index: 9 !important;
    display: block !important;
    pointer-events: none !important;
}

@media (max-width: 768px) {
    .elementor-298 > .elementor-element-ee5e505 {
        min-height: 240px !important;
    }
}

/* Boxed 1200px Constraint for All Content Containers on Page 298 */
.elementor-298 > .e-con:not(.elementor-element-ee5e505),
.elementor-298 > .e-con-boxed,
.elementor-298 > .elementor-element:not(.elementor-element-ee5e505) {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

.elementor-298 > .e-con:not(.elementor-element-ee5e505) > .e-con-inner,
.elementor-298 > .e-con-boxed > .e-con-inner {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Hide legacy Elementor blue footer (8ab23f7) and legacy grey mobile bar (0f439ee) */
.elementor-298 .elementor-element-8ab23f7,
.elementor-298 .elementor-element-0f439ee {
    display: none !important;
}

/* ========================================================
   5. TOP 3 DEGREE PROGRAM QUICK CARDS (844e195)
   Distinct Royal 3-Color Separated Cards (Bachelor, Master, Doctoral)
   ======================================================== */
.elementor-298 .elementor-element-844e195 {
    display: block !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: -52px auto 22px auto !important;
    padding: 0 20px !important;
    position: relative !important;
    z-index: 20 !important;
    background: transparent !important;
}

.elementor-298 .elementor-element-844e195 > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 18px !important;
    width: 100% !important;
    padding: 0 !important;
}

.elementor-298 .elementor-element-b9128c1,
.elementor-298 .elementor-element-aa23df2,
.elementor-298 .elementor-element-2b53a39 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Reset ugly inline backgrounds on inner icon-box widgets */
.elementor-298 .elementor-element-4b25712 > .elementor-widget-container,
.elementor-298 .elementor-element-e603ce8 > .elementor-widget-container,
.elementor-298 .elementor-element-ed39a5c > .elementor-widget-container {
    background: transparent !important;
    padding: 22px 20px !important;
    border: none !important;
    box-shadow: none !important;
}

/* Card 1: Bachelor's Degree — Royal Amethyst & Violet */
.elementor-298 .elementor-element-b9128c1 {
    background: linear-gradient(180deg, #ffffff 0%, #f3e8ff 100%) !important;
    border: 2px solid #c084fc !important;
    border-top: 5px solid #7c3aed !important;
    box-shadow: 0 12px 28px rgba(124, 58, 237, 0.16) !important;
}
.elementor-298 .elementor-element-b9128c1:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 22px 44px rgba(124, 58, 237, 0.28) !important;
    border-color: #7c3aed !important;
}

/* Card 2: Master's Degree — Wisdom Gold & Amber */
.elementor-298 .elementor-element-aa23df2 {
    background: linear-gradient(180deg, #ffffff 0%, #fef3c7 100%) !important;
    border: 2px solid #fcd34d !important;
    border-top: 5px solid #f59e0b !important;
    box-shadow: 0 12px 28px rgba(245, 158, 11, 0.16) !important;
}
.elementor-298 .elementor-element-aa23df2:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 22px 44px rgba(245, 158, 11, 0.30) !important;
    border-color: #f59e0b !important;
}

/* Card 3: Doctoral Degree — Living Jade & Emerald */
.elementor-298 .elementor-element-2b53a39 {
    background: linear-gradient(180deg, #ffffff 0%, #dcfce7 100%) !important;
    border: 2px solid #86efac !important;
    border-top: 5px solid #10b981 !important;
    box-shadow: 0 12px 28px rgba(16, 185, 129, 0.16) !important;
}
.elementor-298 .elementor-element-2b53a39:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 22px 44px rgba(16, 185, 129, 0.28) !important;
    border-color: #10b981 !important;
}

/* 3D Squircle Icons inside Degree Cards */
.elementor-298 .elementor-element-844e195 .elementor-icon-box-wrapper {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    text-align: left !important;
    gap: 16px !important;
}

.elementor-298 .elementor-element-844e195 .elementor-icon-box-icon {
    margin: 0 !important;
    flex-shrink: 0 !important;
}

.elementor-298 .elementor-element-844e195 .elementor-icon {
    width: 58px !important;
    height: 58px !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    padding: 0 !important;
    transition: all 0.3s ease !important;
}

.elementor-298 .elementor-element-b9128c1 .elementor-icon {
    background: linear-gradient(135deg, #51189b 0%, #7c3aed 100%) !important;
    box-shadow: 0 6px 16px rgba(81, 24, 155, 0.3) !important;
}
.elementor-298 .elementor-element-aa23df2 .elementor-icon {
    background: linear-gradient(135deg, #d97706 0%, #f59e0b 100%) !important;
    box-shadow: 0 6px 16px rgba(217, 119, 6, 0.3) !important;
}
.elementor-298 .elementor-element-2b53a39 .elementor-icon {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%) !important;
    box-shadow: 0 6px 16px rgba(5, 150, 105, 0.3) !important;
}

.elementor-298 .elementor-element-844e195 .elementor-icon svg,
.elementor-298 .elementor-element-844e195 .elementor-icon i {
    fill: #ffffff !important;
    color: #ffffff !important;
    width: 28px !important;
    height: 28px !important;
    font-size: 26px !important;
}

.elementor-298 .elementor-element-844e195 .elementor-icon-box-title {
    margin: 0 !important;
    font-family: 'Prompt', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.elementor-298 .elementor-element-b9128c1 .elementor-icon-box-title,
.elementor-298 .elementor-element-b9128c1 .elementor-icon-box-title a {
    color: #3b0764 !important;
    text-decoration: none !important;
}

.elementor-298 .elementor-element-aa23df2 .elementor-icon-box-title,
.elementor-298 .elementor-element-aa23df2 .elementor-icon-box-title a {
    color: #78350f !important;
    text-decoration: none !important;
}

.elementor-298 .elementor-element-2b53a39 .elementor-icon-box-title,
.elementor-298 .elementor-element-2b53a39 .elementor-icon-box-title a {
    color: #064e3b !important;
    text-decoration: none !important;
}

@media (max-width: 991px) {
    .elementor-298 .elementor-element-844e195 {
        margin: 16px auto 18px auto !important;
        padding: 0 14px !important;
    }
    .elementor-298 .elementor-element-844e195 > .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
}

/* ========================================================
   6. WELCOME HERO & STATISTICS COUNTER SUITE (542aee0)
   ======================================================== */
.elementor-298 .elementor-element-542aee0 {
    background: linear-gradient(135deg, #ffffff 0%, #fbf9ff 60%, #f5edff 100%) !important;
    border-radius: 22px !important;
    border: 1.5px solid var(--art-border) !important;
    border-top: 4px solid var(--art-primary) !important;
    box-shadow: 0 12px 32px rgba(81, 24, 155, 0.06) !important;
    padding: 32px 28px !important;
    margin: 18px auto 24px auto !important;
    max-width: 1160px !important;
}

.elementor-298 .elementor-element-3b4415a .elementor-heading-title {
    font-family: 'Prompt', sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--art-primary-dark) !important;
    letter-spacing: -0.3px !important;
    margin-bottom: 8px !important;
    line-height: 1.35 !important;
}

.elementor-298 .elementor-element-1f65750 {
    max-width: 880px !important;
    margin: 0 auto 22px auto !important;
    font-size: 15.5px !important;
    line-height: 1.7 !important;
    color: #475569 !important;
}

.elementor-298 .elementor-element-26b648c {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
    margin-top: 10px !important;
}

.elementor-298 .elementor-element-26b648c .elementor-widget-counter {
    background: #ffffff !important;
    border-radius: 16px !important;
    border: 1.5px solid #ede9fe !important;
    border-bottom: 4px solid var(--art-gold) !important;
    padding: 20px 14px !important;
    box-shadow: 0 6px 18px rgba(81, 24, 155, 0.05) !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
}

.elementor-298 .elementor-element-26b648c .elementor-widget-counter:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 14px 30px rgba(81, 24, 155, 0.12) !important;
    border-color: #c084fc !important;
}

.elementor-298 .elementor-element-26b648c .elementor-counter-number-wrapper {
    font-family: 'Prompt', sans-serif !important;
    font-size: 38px !important;
    font-weight: 800 !important;
    color: var(--art-primary) !important;
    line-height: 1.1 !important;
    margin-bottom: 6px !important;
}

.elementor-298 .elementor-element-26b648c .elementor-counter-title {
    font-family: 'Prompt', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    line-height: 1.3 !important;
}

@media (max-width: 768px) {
    .elementor-298 .elementor-element-542aee0 {
        padding: 22px 16px !important;
        margin: 14px 12px 20px 12px !important;
    }
    .elementor-298 .elementor-element-3b4415a .elementor-heading-title {
        font-size: 21px !important;
    }
    .elementor-298 .elementor-element-26b648c {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
    .elementor-298 .elementor-element-26b648c .elementor-counter-number-wrapper {
        font-size: 30px !important;
    }
}

/* ========================================================
   7. DIRECTOR PROFILE & STUDY PROGRAM SHOWCASE (7ec2a6b)
   ======================================================== */
.elementor-298 .elementor-element-7ec2a6b {
    max-width: 1160px !important;
    margin: 0 auto 24px auto !important;
    padding: 0 !important;
}

.elementor-298 .elementor-element-7ec2a6b > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 20px !important;
    width: 100% !important;
}

/* TH has 38f96e3 (Director) + 94749b1 (Image widget directly inside 7ec2a6b)
   EN has 38f96e3 (Image) + c0aa690 (Director) */
.elementor-298 .elementor-element-7ec2a6b .elementor-element-38f96e3,
.elementor-298 .elementor-element-7ec2a6b .elementor-element-c0aa690 {
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Director Card Styling (bb6ce5e) */
.elementor-298 .elementor-element-bb6ce5e {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    background: linear-gradient(180deg, #ffffff 0%, #faf5ff 100%) !important;
    border-radius: 20px !important;
    border: 1.5px solid var(--art-border) !important;
    border-top: 4px solid var(--art-gold) !important;
    box-shadow: 0 10px 28px rgba(81, 24, 155, 0.07) !important;
    padding: 22px 18px !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease !important;
}

.elementor-298 .elementor-element-bb6ce5e:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 36px rgba(81, 24, 155, 0.13) !important;
}

.elementor-298 .elementor-element-bb6ce5e .elementor-image-box-img {
    margin: 0 auto 14px auto !important;
    width: 190px !important;
    max-width: 100% !important;
}

.elementor-298 .elementor-element-bb6ce5e .elementor-image-box-img img {
    width: 190px !important;
    height: 240px !important;
    object-fit: cover !important;
    object-position: top center !important;
    border-radius: 16px !important;
    border: 3px solid #ffffff !important;
    box-shadow: 0 8px 22px rgba(81, 24, 155, 0.16) !important;
    opacity: 1 !important;
    transition: transform 0.3s ease !important;
}

.elementor-298 .elementor-element-bb6ce5e:hover .elementor-image-box-img img {
    opacity: 1 !important;
    transform: scale(1.03) !important;
}

.elementor-298 .elementor-element-bb6ce5e .elementor-image-box-title {
    font-family: 'Prompt', sans-serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    color: var(--art-primary-dark) !important;
    margin: 0 0 6px 0 !important;
    text-align: center !important;
}

.elementor-298 .elementor-element-bb6ce5e .elementor-image-box-description {
    font-family: 'Prompt', sans-serif !important;
    font-size: 13.5px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    text-align: center !important;
    text-shadow: none !important;
    background: #ffffff !important;
    border: 1px solid #ede9fe !important;
    border-radius: 12px !important;
    padding: 10px 12px !important;
    margin: 0 !important;
}

/* Study Program Showcase Image (94749b1) */
.elementor-298 .elementor-element-94749b1 {
    flex: 1 1 66% !important;
    width: 66% !important;
    max-width: 100% !important;
    background: #ffffff !important;
    border-radius: 20px !important;
    border: 1.5px solid var(--art-border) !important;
    border-top: 4px solid var(--art-primary) !important;
    box-shadow: 0 10px 28px rgba(81, 24, 155, 0.07) !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.elementor-298 .elementor-element-94749b1 .elementor-widget-container,
.elementor-298 .elementor-element-94749b1 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 14px !important;
    display: block !important;
    transition: transform 0.45s ease !important;
}

.elementor-298 .elementor-element-94749b1:hover img {
    transform: scale(1.02) !important;
}

@media (max-width: 991px) {
    .elementor-298 .elementor-element-7ec2a6b {
        padding: 0 12px !important;
    }
    .elementor-298 .elementor-element-7ec2a6b > .e-con-inner {
        flex-direction: column !important;
        flex-wrap: wrap !important;
    }
    .elementor-298 .elementor-element-7ec2a6b .elementor-element-38f96e3,
    .elementor-298 .elementor-element-7ec2a6b .elementor-element-c0aa690,
    .elementor-298 .elementor-element-94749b1 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

/* ========================================================
   8. FEATURED ACTIVITY SLIDER (7f4f0e8)
   ======================================================== */
.elementor-298 .elementor-element-7f4f0e8 {
    max-width: 1160px !important;
    margin: 0 auto 24px auto !important;
    background: linear-gradient(135deg, #ffffff 0%, #fbf9ff 60%, #f5edff 100%) !important;
    border-radius: 22px !important;
    border: 1.5px solid var(--art-border) !important;
    border-top: 4px solid var(--art-primary) !important;
    box-shadow: 0 12px 30px rgba(81, 24, 155, 0.06) !important;
    padding: 20px !important;
    overflow: hidden !important;
}

.elementor-298 .elementor-element-7f4f0e8 .anwp-pg-post-teaser--layout-c {
    border-radius: 16px !important;
    overflow: hidden !important;
    border: 1.5px solid #ede9fe !important;
    box-shadow: 0 8px 24px rgba(81, 24, 155, 0.08) !important;
}

/* ========================================================
   9. NEWS & PR SUITE (9cfdaa5) & ACADEMIC PROGRAMS (94702f4)
   ======================================================== */
.elementor-298 .elementor-element-9cfdaa5,
.elementor-298 .elementor-element-94702f4 {
    max-width: 1160px !important;
    margin: 0 auto 26px auto !important;
    background: linear-gradient(180deg, #ffffff 0%, #faf5ff 100%) !important;
    border-radius: 22px !important;
    border: 1.5px solid var(--art-border) !important;
    border-top: 4px solid var(--art-primary) !important;
    box-shadow: 0 12px 32px rgba(81, 24, 155, 0.06) !important;
    padding: 26px 24px !important;
}

/* Remove legacy grey overlay on 94702f4 */
.elementor-298 .elementor-element-94702f4::before,
.elementor-298 .elementor-element-94702f4 > .elementor-background-overlay {
    display: none !important;
    opacity: 0 !important;
}

/* Content Views Section Headings (ข่าวประชาสัมพันธ์ & IC NEWS) */
.pt-cv-wrapper .pt-cv-heading-container {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 6px 0 18px 0 !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #ede9fe !important;
    background: transparent !important;
}

.pt-cv-wrapper .pt-cv-heading-container::before {
    content: '\f1ea' !important;
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #51189b 0%, #7c3aed 100%) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    box-shadow: 0 6px 14px rgba(81, 24, 155, 0.25), inset 0 0 0 1.5px rgba(251, 191, 36, 0.6) !important;
    flex-shrink: 0 !important;
}

.pt-cv-wrapper .pt-cv-heading {
    font-family: 'Prompt', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--art-primary-dark) !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* PR News List Cards (bef84c1) */
#pt-cv-view-bef84c1 .pt-cv-content-item {
    background: #ffffff !important;
    border: 1.5px solid #ede9fe !important;
    border-left: 4px solid var(--art-primary) !important;
    border-radius: 14px !important;
    padding: 14px 18px !important;
    margin-bottom: 12px !important;
    box-shadow: 0 4px 14px rgba(81, 24, 155, 0.05) !important;
    transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#pt-cv-view-bef84c1 .pt-cv-content-item:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 26px rgba(81, 24, 155, 0.12) !important;
    border-color: #c084fc !important;
    border-left-color: var(--art-gold) !important;
}

#pt-cv-view-bef84c1 .pt-cv-title {
    margin: 0 !important;
}

#pt-cv-view-bef84c1 .pt-cv-title a {
    font-family: 'Prompt', sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 600 !important;
    color: var(--art-ink) !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

#pt-cv-view-bef84c1 .pt-cv-content-item:hover .pt-cv-title a {
    color: var(--art-primary) !important;
}

/* IC NEWS 4-Column Grid Cards (3d49ab4) */
#pt-cv-view-3d49ab4 .pt-cv-page {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
}

#pt-cv-view-3d49ab4 .pt-cv-content-item {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    border: 1.5px solid #ede9fe !important;
    box-shadow: 0 6px 18px rgba(81, 24, 155, 0.06) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#pt-cv-view-3d49ab4 .pt-cv-content-item:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 18px 36px rgba(81, 24, 155, 0.15) !important;
    border-color: #c4b5fd !important;
}

#pt-cv-view-3d49ab4 .pt-cv-thumb-wrapper {
    width: 100% !important;
    height: 185px !important;
    overflow: hidden !important;
    margin: 0 !important;
}

#pt-cv-view-3d49ab4 .pt-cv-thumb-wrapper img {
    width: 100% !important;
    height: 185px !important;
    object-fit: cover !important;
    transition: transform 0.45s ease !important;
    margin: 0 !important;
}

#pt-cv-view-3d49ab4 .pt-cv-content-item:hover .pt-cv-thumb-wrapper img {
    transform: scale(1.07) !important;
}

#pt-cv-view-3d49ab4 .pt-cv-title {
    padding: 14px 16px 8px 16px !important;
    margin: 0 !important;
}

#pt-cv-view-3d49ab4 .pt-cv-title a {
    font-family: 'Prompt', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: var(--art-ink) !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

#pt-cv-view-3d49ab4 .pt-cv-content-item:hover .pt-cv-title a {
    color: var(--art-primary) !important;
}

#pt-cv-view-3d49ab4 .pt-cv-meta-fields {
    padding: 0 16px 16px 16px !important;
    margin-top: auto !important;
    font-size: 12.5px !important;
    color: #6b21a8 !important;
}

@media (max-width: 991px) {
    #pt-cv-view-3d49ab4 .pt-cv-page {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 600px) {
    #pt-cv-view-3d49ab4 .pt-cv-page {
        grid-template-columns: 1fr !important;
    }
}

/* AnWP Post Grid Classic Slider Cards (8d200be) */
.elementor-element-8d200be .anwp-pg-post-teaser {
    background: #ffffff !important;
    border: 1.5px solid #ede9fe !important;
    border-radius: 16px !important;
    padding: 12px !important;
    box-shadow: 0 6px 18px rgba(81, 24, 155, 0.06) !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    overflow: hidden !important;
}

.elementor-element-8d200be .anwp-pg-post-teaser:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 16px 34px rgba(81, 24, 155, 0.14) !important;
    border-color: #c4b5fd !important;
}

.elementor-element-8d200be .anwp-pg-post-teaser__thumbnail img {
    border-radius: 12px !important;
    height: 175px !important;
    width: 100% !important;
    object-fit: cover !important;
}

.elementor-element-8d200be .anwp-pg-post-teaser__title a {
    font-family: 'Prompt', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: var(--art-ink) !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.elementor-element-8d200be .anwp-pg-post-teaser:hover .anwp-pg-post-teaser__title a {
    color: var(--art-primary) !important;
}

.elementor-element-94702f4 .elementor-element-6bc762e .elementor-heading-title {
    font-family: 'Prompt', sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: var(--art-primary-dark) !important;
    margin-bottom: 8px !important;
}

.elementor-element-94702f4 .elementor-element-4a52436 {
    max-width: 860px !important;
    margin: 0 auto 18px auto !important;
    font-size: 15px !important;
    color: #475569 !important;
    line-height: 1.7 !important;
}

/* ========================================================
   10. PCRU SINGLE POST, PAGE & STAFF DIRECTORY CARD SUITE
   ======================================================== */
.single-post.ast-page-builder-template .site-content > .ast-container,
.single-post .site-content > .ast-container,
.single .site-content > .ast-container {
    max-width: 1400px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 30px 24px 60px 24px !important;
    box-sizing: border-box !important;
}

.page:not(.home):not(.front-page):not(.page-id-298) .site-content > .ast-container {
    max-width: 1240px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 24px 20px 50px 20px !important;
    box-sizing: border-box !important;
}

.single-post #primary,
.single #primary,
.single-post .site-content #primary,
.page:not(.home):not(.front-page):not(.page-id-298) #primary {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-post #secondary,
.single #secondary,
.page:not(.home):not(.front-page):not(.page-id-298) #secondary {
    display: none !important;
}

.single-post article.ast-article-single,
.single article.ast-article-single,
.page:not(.home):not(.front-page):not(.page-id-298) article.ast-article-single {
    background: #ffffff !important;
    border-radius: 20px !important;
    border: 1.5px solid rgba(233, 213, 255, 0.7) !important;
    box-shadow: 0 10px 30px rgba(81, 24, 155, 0.05) !important;
    padding: 40px 48px !important;
    box-sizing: border-box !important;
    margin-top: 10px !important;
    margin-bottom: 36px !important;
    transition: all 0.3s ease !important;
}

@media (max-width: 991px) {
    .single-post.ast-page-builder-template .site-content > .ast-container,
    .single-post .site-content > .ast-container,
    .single .site-content > .ast-container,
    .page:not(.home):not(.front-page):not(.page-id-298) .site-content > .ast-container {
        padding: 16px 14px 40px 14px !important;
    }
    .single-post article.ast-article-single,
    .single article.ast-article-single,
    .page:not(.home):not(.front-page):not(.page-id-298) article.ast-article-single {
        padding: 24px 18px !important;
        border-radius: 16px !important;
        margin-top: 6px !important;
        margin-bottom: 24px !important;
    }
}

.page:not(.home):not(.front-page):not(.page-id-298) .entry-header:not(.ast-header-without-markup):not(.ast-no-title),
.single-post .entry-header {
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    padding-bottom: 18px !important;
    border-bottom: 1.5px solid #f3e8ff !important;
}

.page:not(.home):not(.front-page):not(.page-id-298) .entry-title,
.single-post .entry-title {
    font-family: 'Prompt', sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #1e1b4b !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
}

.single-post .entry-content {
    font-family: 'Sarabun', 'Prompt', sans-serif !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
    color: #334155 !important;
}

.single-post .entry-content img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 12px !important;
}

/* Modernized Staff Directory Cards (.staff-list / .staff-card) */
.staff-list {
    max-width: 1000px !important;
    margin: 16px auto !important;
    padding: 0 !important;
    list-style: none !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
    gap: 18px !important;
}

.staff-card {
    display: flex !important;
    gap: 18px !important;
    align-items: center !important;
    padding: 18px !important;
    background: linear-gradient(180deg, #ffffff 0%, #faf5ff 100%) !important;
    border: 1.5px solid #ede9fe !important;
    border-top: 4px solid var(--art-primary) !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 18px rgba(81, 24, 155, 0.05) !important;
    transition: all 0.28s ease !important;
}

.staff-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 14px 30px rgba(81, 24, 155, 0.12) !important;
    border-color: #c084fc !important;
}

.staff-card .photo {
    flex: 0 0 96px !important;
    width: 96px !important;
    height: 112px !important;
    overflow: hidden !important;
    border-radius: 12px !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 4px 12px rgba(81, 24, 155, 0.14) !important;
}

.staff-card .photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
