/* Neo Thai Modern Campus V3 — Elementor-first header and utility blocks */
.ntmc-v3-header-widget{position:relative;z-index:20;background:#fff}
.ntmc-v3-header-main{--ntmc-v3-header-height:210px;position:relative;isolation:isolate;overflow:hidden;min-height:var(--ntmc-v3-header-height);background-size:cover;background-position:center 42%;background-repeat:no-repeat;border-bottom:1px solid rgba(8,45,95,.08)}
.ntmc-v3-header-overlay{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.86) 44%,rgba(235,247,255,.46) 72%,rgba(9,71,151,.10) 100%)}
.ntmc-v3-header-overlay::after{content:"";position:absolute;inset:0;background:var(--ntmc-v3-overlay-color,#fff);opacity:var(--ntmc-v3-overlay-opacity,.44);mix-blend-mode:screen}
.ntmc-v3-header-main::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.98),transparent 26%),radial-gradient(circle at 82% 12%,rgba(244,202,96,.18),transparent 25%);pointer-events:none}
.ntmc-v3-header-main::after{content:"";position:absolute;left:-5%;right:-5%;bottom:-66px;height:118px;z-index:2;background:linear-gradient(180deg,#0a58b8,#06347d 72%);border-radius:50% 50% 0 0/22% 22% 0 0;transform:rotate(-1deg);box-shadow:inset 0 4px 0 #e8bd46;pointer-events:none}
.ntmc-v3-wave{position:absolute;left:-5%;right:-5%;bottom:-56px;height:100px;z-index:1;border-radius:50% 50% 0 0/28% 28% 0 0;pointer-events:none}
.ntmc-v3-wave-a{background:rgba(17,112,220,.64);transform:rotate(1.3deg)}
.ntmc-v3-wave-b{bottom:-64px;background:linear-gradient(180deg,#e9bd43 0 6px,transparent 7px);transform:rotate(-.7deg)}
.ntmc-v3-header-content{position:relative;z-index:4;min-height:var(--ntmc-v3-header-height);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;padding-top:16px;padding-bottom:34px}
.ntmc-v3-header-logo{width:142px;max-height:calc(var(--ntmc-v3-header-height) - 28px);object-fit:contain;filter:drop-shadow(0 13px 24px rgba(7,43,91,.22));transition:transform .35s ease}
.ntmc-v3-header-copy{min-width:0;max-width:920px;text-align:center;justify-self:center;padding-right:3vw}
.ntmc-v3-school-th{font-size:44px;line-height:1.05;font-weight:900;color:#06367f;text-shadow:0 2px 0 rgba(255,255,255,.9);letter-spacing:-.035em}
.ntmc-v3-school-en{margin-top:6px;color:#173f77;font-size:clamp(14px,1.45vw,22px);font-weight:800;letter-spacing:.01em}
.ntmc-v3-quality{display:inline-flex;align-items:center;justify-content:center;min-width:220px;margin-top:10px;padding:5px 24px;border:2px solid #d8a72d;border-radius:999px;background:linear-gradient(180deg,#0d58b2,#06377e);color:#fff;font-weight:800;box-shadow:0 7px 18px rgba(4,47,108,.15)}
.ntmc-v3-slogan{margin-top:9px;color:#173f77;font-size:clamp(13px,1.2vw,18px);font-weight:700;font-style:italic}
.ntmc-v3-header-decor{position:absolute;right:1.5%;bottom:20px;z-index:3;width:440px;max-height:calc(var(--ntmc-v3-header-height) - 12px);object-fit:contain;object-position:right bottom;filter:drop-shadow(0 12px 22px rgba(7,42,88,.16));pointer-events:none}
.ntmc-v3-gold-shine{position:absolute;inset:-40% -10%;z-index:5;background:linear-gradient(115deg,transparent 42%,rgba(255,228,137,.0) 45%,rgba(255,225,126,.48) 49%,rgba(255,255,255,.36) 51%,rgba(255,226,125,.0) 55%,transparent 58%);transform:translateX(-80%);pointer-events:none}
.ntmc-v3-header-effect-shimmer .ntmc-v3-gold-shine{animation:ntmcV3HeaderShine 7s ease-in-out infinite}
.ntmc-v3-header-effect-zoom .ntmc-v3-header-main{animation:ntmcV3HeaderZoom 14s ease-in-out infinite alternate}
.ntmc-v3-header-effect-float .ntmc-v3-header-logo{animation:ntmcV3HeaderFloat 3.8s ease-in-out infinite}
.ntmc-v3-header-effect-glow .ntmc-v3-header-logo{animation:ntmcV3HeaderGlow 2.7s ease-in-out infinite alternate}
@keyframes ntmcV3HeaderShine{0%,58%{transform:translateX(-80%)}76%,100%{transform:translateX(85%)}}
@keyframes ntmcV3HeaderZoom{from{background-size:100% auto}to{background-size:106% auto}}
@keyframes ntmcV3HeaderFloat{50%{transform:translateY(-5px)}}
@keyframes ntmcV3HeaderGlow{to{filter:drop-shadow(0 13px 24px rgba(7,43,91,.22)) drop-shadow(0 0 18px rgba(228,181,57,.46))}}
.ntmc-v3-full-banner{overflow:hidden;background:#eaf4ff}
.ntmc-v3-full-banner img{width:100%;height:auto;display:block}
.ntmc-v3-topbar{background:linear-gradient(90deg,#052b65,#0a58b8)}
.ntmc-v3-nav-wrap{position:sticky;top:0;z-index:102}
.ntmc-v3-nav{background:#063f91;border-bottom:3px solid #d7a72d;box-shadow:0 8px 22px rgba(4,42,95,.12)}
.ntmc-v3-nav .container{display:flex;align-items:center;gap:6px;width:calc(100% - 18px);max-width:1485px}
.ntmc-v3-nav .ntmc-primary-menu{min-width:0;display:flex;flex:1 1 auto;flex-wrap:nowrap;align-items:center;gap:0}
.ntmc-v3-nav .ntmc-primary-menu>li{flex:0 1 auto;min-width:0}
.ntmc-v3-nav .ntmc-primary-menu>li>a{white-space:nowrap;padding:12px clamp(7px,.8vw,12px);font-size:clamp(13px,.9vw,15px);line-height:1.2}
.ntmc-v3-nav-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex:0 0 auto}
.ntmc-v3-nav #mega-menu-wrap-primary,.ntmc-v3-nav .mega-menu-wrap{flex:1 1 auto;min-width:0;max-width:none!important}
.ntmc-v3-nav #mega-menu-primary,.ntmc-v3-nav .mega-menu{display:flex!important;align-items:center;flex-wrap:nowrap!important;white-space:nowrap}
.ntmc-v3-nav #mega-menu-primary>li.mega-menu-item>a.mega-menu-link,.ntmc-v3-nav .mega-menu>li.mega-menu-item>a.mega-menu-link{padding-left:10px!important;padding-right:10px!important;font-size:14px!important;white-space:nowrap!important}
.ntmc-v3-search-open{width:38px;height:38px;box-shadow:none;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.10);color:#fff}
.ntmc-v3-eservice{padding:8px 15px;box-shadow:none}

/* Link ticker */
.ntmc-v3-ticker{display:flex;align-items:stretch;min-height:42px;overflow:hidden;border-bottom:1px solid #d9e6f4;background:#fff;color:#21476f}
.ntmc-v3-ticker-label{display:flex;align-items:center;flex:0 0 auto;padding:0 18px;background:linear-gradient(135deg,#f2c755,#dca92d);color:#103765;font-weight:900;white-space:nowrap;z-index:3}
.ntmc-v3-ticker-window{min-width:0;overflow:hidden;flex:1;display:flex;align-items:center}
.ntmc-v3-ticker-track{display:flex;width:max-content;will-change:transform;animation:ntmcV3TickerLeft var(--ntmc-v3-ticker-speed,24s) linear infinite}
.ntmc-v3-ticker-right .ntmc-v3-ticker-track{animation-name:ntmcV3TickerRight}
.ntmc-v3-ticker-pause:hover .ntmc-v3-ticker-track{animation-play-state:paused}
.ntmc-v3-ticker-set{display:flex;align-items:center;gap:0;flex:0 0 auto}
.ntmc-v3-ticker-item{display:inline-flex;align-items:center;gap:7px;padding:0 22px;min-height:42px;white-space:nowrap;font-size:14px;font-weight:700}
.ntmc-v3-ticker-item a{color:inherit}.ntmc-v3-ticker-item a:hover{color:#0f6ed4}
.ntmc-v3-ticker-icon{color:#d6a329}
.ntmc-v3-ticker-navy{background:#f8fbff}.ntmc-v3-ticker-gold{background:#fff9e8}.ntmc-v3-ticker-light{background:#fff}
@keyframes ntmcV3TickerLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes ntmcV3TickerRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* Procurement */
.ntmc-v3-procurement-grid{display:grid;gap:12px}
.ntmc-v3-procurement-grid.layout-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.ntmc-v3-procurement-item{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 34px;align-items:center;gap:12px;padding:13px 14px;border:1px solid #dbe7f4;border-radius:15px;background:linear-gradient(135deg,#fff,#f9fcff);box-shadow:0 7px 18px rgba(7,48,104,.05)}
.ntmc-v3-procurement-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#fff6d9;border:1px solid #efd68e;font-size:22px}
.ntmc-v3-procurement-copy{min-width:0}.ntmc-v3-procurement-copy time{display:block;color:#7b8ea4;font-size:12px;margin-bottom:3px}.ntmc-v3-procurement-copy h3{margin:0;font-size:19px;line-height:1.4;color:#174675}.ntmc-v3-procurement-copy h3 a{color:inherit}.ntmc-v3-procurement-copy p{margin:6px 0 0;color:#6a7e95;font-size:13px}
.ntmc-v3-procurement-open{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eef6ff;color:#0b5fb8;font-weight:900}
.ntmc-v3-empty{padding:18px;border:1px dashed #cbdbea;border-radius:14px;color:#6c8098;text-align:center}

/* V3 Footer */
.ntmc-v3-footer{position:relative;overflow:hidden;background:#062f72;color:#fff;border-top:4px solid #d7a72d}
.ntmc-v3-footer::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 30%,rgba(27,119,224,.28),transparent 28%),radial-gradient(circle at 88% 10%,rgba(230,188,70,.18),transparent 22%);pointer-events:none}
.ntmc-v3-footer-inner{position:relative;display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(260px,1.2fr) auto minmax(180px,.9fr);align-items:center;gap:22px;padding:24px 20px 18px}
.ntmc-v3-footer-brand{display:flex;align-items:center;gap:14px;min-width:0}.ntmc-v3-footer-brand img{width:70px;height:70px;object-fit:contain;flex:0 0 auto}.ntmc-v3-footer-brand strong{display:block;font-size:17px}.ntmc-v3-footer-brand span{display:block;margin-top:2px;font-size:12px;color:#cfe1fb}
.ntmc-v3-footer-contact{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#e2edfc}
.ntmc-v3-footer-social{display:flex;gap:8px}.ntmc-v3-footer-social a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#0751a6;font-weight:900}
.ntmc-v3-footer-motto{text-align:right;font-size:18px;font-style:italic;font-weight:700;color:#fff5d8}
.ntmc-v3-footer-bottom{position:relative;padding:9px 16px;text-align:center;background:rgba(0,20,59,.34);font-size:11px;color:#bfd3ee}

/* Make the existing native V2 header look closer to V3 on non-Elementor pages */
.ntmc-brand{border-bottom:3px solid var(--ntmc-gold);background:linear-gradient(135deg,#fff 0%,#f2f8ff 58%,#dceeff 100%)}
.ntmc-brand::after{width:440px;height:250px;background:radial-gradient(circle,rgba(215,167,45,.20),transparent 68%)}

@media(max-width:1024px){
 .ntmc-v3-header-content{grid-template-columns:auto minmax(0,1fr);gap:16px;padding-bottom:30px}.ntmc-v3-header-copy{padding-right:0}.ntmc-v3-header-decor{opacity:.5}.ntmc-v3-footer-inner{grid-template-columns:1fr 1fr}.ntmc-v3-footer-motto{text-align:left}
}
@media(max-width:1280px){
 .ntmc-v3-nav .ntmc-primary-menu>li>a{padding-left:7px;padding-right:7px;font-size:13px}
 .ntmc-v3-search-open{display:none}
 .ntmc-v3-eservice{padding:7px 10px;font-size:13px}
 .ntmc-v3-nav #mega-menu-primary>li.mega-menu-item>a.mega-menu-link,.ntmc-v3-nav .mega-menu>li.mega-menu-item>a.mega-menu-link{padding-left:6px!important;padding-right:6px!important;font-size:13px!important}
}
@media(max-width:1100px){
 .ntmc-v3-nav .container{position:relative;display:block;width:calc(100% - 20px)}
 .ntmc-v3-nav .ntmc-menu-toggle{display:block;margin-left:0}
 .ntmc-v3-nav .ntmc-primary-menu{display:none;flex-direction:column;align-items:stretch;padding:7px 0;flex-wrap:nowrap}
 .ntmc-v3-nav .ntmc-primary-menu.open{display:flex}
 .ntmc-v3-nav .ntmc-primary-menu li{width:100%}
 .ntmc-v3-nav .ntmc-primary-menu>li>a{padding:11px 12px;font-size:15px;white-space:normal}
 .ntmc-v3-nav .ntmc-primary-menu ul{position:static!important;display:none!important;box-shadow:none;border-radius:0}
 .ntmc-v3-nav .ntmc-primary-menu li.sub-open>ul{display:block!important}
 .ntmc-v3-nav-actions{position:absolute;right:0;top:5px}
 .ntmc-v3-eservice{display:none}
 .ntmc-v3-nav #mega-menu-wrap-primary,.ntmc-v3-nav .mega-menu-wrap{width:100%}
}
@media(max-width:767px){
 .ntmc-v3-header-content{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px 0 24px}.ntmc-v3-school-en{font-size:11px}.ntmc-v3-quality{min-width:0;margin-top:6px;padding:3px 12px;font-size:11px}.ntmc-v3-slogan{display:none}.ntmc-v3-header-decor{display:none}.ntmc-v3-header-main::after{bottom:-72px}.ntmc-v3-ticker-label{padding:0 10px;font-size:12px}.ntmc-v3-ticker-item{padding:0 15px;font-size:12px}.ntmc-v3-procurement-grid.layout-cards{grid-template-columns:1fr}.ntmc-v3-footer-inner{grid-template-columns:1fr;gap:15px}.ntmc-v3-footer-motto{text-align:left}.ntmc-v3-footer-contact{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.ntmc-v3-gold-shine,.ntmc-v3-header-main,.ntmc-v3-header-logo,.ntmc-v3-ticker-track{animation:none!important}}
