/*
Theme Name: Neo Thai Modern Campus
Theme URI: https://bajra1npm.ac.th/
Author: OpenAI
Description: ธีมโรงเรียนสมัยใหม่แนว Neo Thai Modern Campus โทนกรมท่า-ฟ้า-ทอง พร้อมข่าว NEW 48 ชั่วโมง, ข่าววิชาการมีโลโก้หน้าเรื่อง, เปิด/ปิดแต่ละบล็อกได้, Responsive และรองรับ Elementor Widgets แยกทุกบล็อก
Version: 1.8.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: neo-thai-modern-campus
*/

:root{
  --ntmc-navy:#082d5f;
  --ntmc-navy-2:#0a3f82;
  --ntmc-blue:#0f6ed4;
  --ntmc-sky:#edf6ff;
  --ntmc-gold:#d7a72d;
  --ntmc-gold-2:#f4ca60;
  --ntmc-text:#122d50;
  --ntmc-muted:#6c7f98;
  --ntmc-white:#fff;
  --ntmc-border:#dce8f5;
  --ntmc-shadow:0 16px 38px rgba(8,45,95,.12);
  --ntmc-radius:20px;
  --ntmc-max:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Sarabun","Noto Sans Thai",Tahoma,Arial,sans-serif;color:var(--ntmc-text);background:#eef5fb;line-height:1.55}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.container{width:min(var(--ntmc-max),calc(100% - 32px));margin-inline:auto}
.ntmc-site{max-width:var(--ntmc-max);margin:0 auto;background:#fff;box-shadow:0 0 0 1px rgba(9,57,115,.06),0 20px 70px rgba(6,44,93,.16)}
.ntmc-section{padding:26px 0}
.ntmc-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.ntmc-section-title{display:flex;align-items:center;gap:10px;margin:0;font-size:28px;line-height:1.2;color:var(--ntmc-navy);font-weight:900}
.ntmc-section-title .icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#fff5d5,#f7d779);color:#9a6a00;box-shadow:0 8px 18px rgba(215,167,45,.17)}
.ntmc-link{display:inline-flex;align-items:center;gap:6px;color:var(--ntmc-blue);font-weight:800;font-size:14px}
.ntmc-link:hover{color:var(--ntmc-navy)}

/* topbar */
.ntmc-topbar{background:linear-gradient(90deg,#052a58,#0a4b98);color:#eaf4ff;font-size:12px}
.ntmc-topbar .container{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:6px 0}
.ntmc-top-left,.ntmc-top-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ntmc-topbar a:hover{color:#ffe19a}

/* brand header */
.ntmc-brand{position:relative;overflow:hidden;background:
 radial-gradient(circle at 76% 20%,rgba(244,202,96,.20),transparent 22%),
 linear-gradient(135deg,#fff 0%,#f8fbff 56%,#edf5ff 100%);border-bottom:1px solid #dbe8f6}
.ntmc-brand::before{content:"";position:absolute;inset:0;background-image:
 linear-gradient(0deg,rgba(15,110,212,.035) 1px,transparent 1px),
 linear-gradient(90deg,rgba(15,110,212,.035) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.ntmc-brand::after{content:"";position:absolute;right:-80px;top:-80px;width:360px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(215,167,45,.16),transparent 68%);pointer-events:none}
.ntmc-brand-inner{position:relative;z-index:2;display:grid;grid-template-columns:118px minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0}
.ntmc-logo{width:104px;height:104px;object-fit:contain;border-radius:18px;background:#fff;padding:8px;box-shadow:0 12px 28px rgba(8,45,95,.12)}
.ntmc-brand-copy{min-width:0}
.ntmc-brand-th{font-size:clamp(30px,3vw,44px);font-weight:900;color:#0b428c;line-height:1.04;letter-spacing:-.03em}
.ntmc-brand-en{font-size:clamp(14px,1.4vw,20px);font-weight:700;color:#345f93;margin-top:5px}
.ntmc-quality{display:inline-flex;align-items:center;gap:9px;margin-top:7px;color:#0a4da2;font-weight:800}
.ntmc-quality::before,.ntmc-quality::after{content:"";height:2px;width:34px;background:linear-gradient(90deg,transparent,var(--ntmc-gold))}
.ntmc-quality::after{background:linear-gradient(90deg,var(--ntmc-gold),transparent)}
.ntmc-searchbar{display:flex;align-items:center;gap:10px}
.ntmc-search-open,.ntmc-eservice{border:0;border-radius:999px;cursor:pointer;font-weight:800;transition:.2s}
.ntmc-search-open{width:46px;height:46px;background:#fff;color:#0b4c9b;box-shadow:0 8px 20px rgba(8,45,95,.10)}
.ntmc-eservice{padding:12px 18px;background:linear-gradient(135deg,var(--ntmc-gold-2),var(--ntmc-gold));color:#14365c;box-shadow:0 9px 18px rgba(189,137,14,.18)}
.ntmc-search-open:hover,.ntmc-eservice:hover{transform:translateY(-2px)}

/* nav */
.ntmc-nav-wrap{position:sticky;top:0;z-index:100;transition:.3s}
.ntmc-nav-wrap.scrolled{backdrop-filter:blur(12px);background:rgba(6,42,88,.88);box-shadow:0 12px 26px rgba(5,35,74,.16)}
.ntmc-nav{background:linear-gradient(90deg,#07336b,#0a4a97 56%,#0a5cb7);color:#fff}
.ntmc-nav .container{display:flex;align-items:center;gap:8px}
.ntmc-menu-toggle{display:none;border:0;background:transparent;color:#fff;font-size:28px;padding:10px;cursor:pointer}
.ntmc-primary-menu{list-style:none;display:flex;align-items:center;gap:2px;padding:0;margin:0;flex:1;flex-wrap:wrap}
.ntmc-primary-menu li{position:relative}
.ntmc-primary-menu a{display:block;padding:14px 15px;border-radius:12px;font-weight:800;transition:.2s}
.ntmc-primary-menu>li>a:hover,.ntmc-primary-menu>.current-menu-item>a{background:linear-gradient(135deg,#ffe59b,#e7b632);color:#173d68;transform:translateY(-1px)}
.ntmc-primary-menu ul{display:none;position:absolute;top:100%;left:0;min-width:245px;background:#fff;color:#173c67;padding:8px;margin:0;list-style:none;border-radius:0 0 14px 14px;box-shadow:var(--ntmc-shadow)}
.ntmc-primary-menu li:hover>ul,.ntmc-primary-menu li:focus-within>ul{display:block}
.ntmc-primary-menu ul a{padding:10px 12px}
.ntmc-primary-menu ul a:hover{background:#eef6ff;color:#0a4da2}

/* breaking */
.ntmc-breaking{background:#fff;border-bottom:1px solid #e2ebf5}
.ntmc-breaking-inner{display:flex;align-items:center;gap:12px;min-height:44px;overflow:hidden}
.ntmc-breaking-label{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:#a56e00;font-weight:900}
.ntmc-breaking-track{display:flex;align-items:center;gap:24px;min-width:0;overflow:hidden;white-space:nowrap;flex:1}
.ntmc-breaking-track a{display:inline-flex;align-items:center;gap:7px;color:#234c7a;font-size:14px}
.ntmc-breaking-track a:hover{color:#0a62c4}
.ntmc-new{width:1em!important;height:1em!important;max-width:30px!important;max-height:30px!important;min-width:14px;min-height:14px;display:inline-block!important;object-fit:contain!important;vertical-align:-.12em;margin:0 6px 0 0!important;flex:0 0 auto;animation:ntmcNewBlink .88s steps(1,end) infinite;transform-origin:center}
.ntmc-new-title{display:flex;align-items:center;gap:0;min-width:0}
.ntmc-newsletter-card h3.ntmc-new-title{justify-content:center}
@keyframes ntmcNewBlink{0%,42%,100%{opacity:1;transform:scale(1)}50%,72%{opacity:.24;transform:scale(.88)}}

/* hero */
.ntmc-hero{position:relative;overflow:hidden;background:#082f64;color:#fff}
.ntmc-hero-stage{position:relative;min-height:520px}
.ntmc-hero-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .8s ease;overflow:hidden}
.ntmc-hero-slide.active{opacity:1;pointer-events:auto}
.ntmc-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.01)}
.ntmc-hero-slide.active .ntmc-hero-media{animation:ntmcKenBurns 9s ease-in-out both}
.ntmc-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,28,66,.92) 0%,rgba(5,58,120,.70) 44%,rgba(6,65,130,.24) 72%,rgba(5,39,84,.12) 100%)}
.ntmc-hero-glow{position:absolute;inset:auto -80px 24px auto;width:520px;height:24px;background:linear-gradient(90deg,transparent,#ffe08c,transparent);filter:blur(6px);transform:rotate(-14deg);opacity:.8}
.ntmc-hero-content{position:relative;z-index:3;min-height:520px;display:flex;align-items:center;padding:68px 0}
.ntmc-hero-copy{max-width:720px}
.ntmc-hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);font-weight:800;font-size:13px}
.ntmc-hero h1{font-size:clamp(40px,5vw,66px);line-height:1.05;margin:15px 0 12px;font-weight:900;text-shadow:0 5px 20px rgba(0,0,0,.24)}
.ntmc-hero h1 strong{color:#ffd75f}
.ntmc-hero p{font-size:20px;color:#eaf4ff;max-width:650px;margin:0}
.ntmc-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.ntmc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:999px;font-weight:900;transition:.2s}
.ntmc-btn-primary{background:linear-gradient(135deg,#ffe594,#dba82d);color:#17395f;box-shadow:0 10px 24px rgba(218,171,52,.28)}
.ntmc-btn-ghost{border:1px solid rgba(255,255,255,.48);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(5px)}
.ntmc-btn:hover{transform:translateY(-2px)}
.ntmc-hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.36);background:rgba(3,37,80,.48);color:#fff;font-size:30px;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px)}
.ntmc-hero-prev{left:16px}.ntmc-hero-next{right:16px}
.ntmc-hero-dots{position:absolute;left:50%;bottom:17px;transform:translateX(-50%);display:flex;gap:8px;z-index:6}
.ntmc-hero-dot{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.58);cursor:pointer;padding:0}
.ntmc-hero-dot.active{background:#f5cb5f;transform:scale(1.2)}

/* quick services */
.ntmc-services{margin-top:-1px;background:linear-gradient(180deg,#fff,#f7fbff);border-bottom:1px solid #e5eef8}
.ntmc-service-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;padding:16px 0}
.ntmc-service-card{min-height:104px;border-radius:18px;border:1px solid #dbe8f5;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;text-align:center;padding:12px 8px;box-shadow:0 8px 20px rgba(11,72,145,.07);transition:.25s}
.ntmc-service-card:hover{transform:translateY(-5px);box-shadow:0 18px 30px rgba(11,72,145,.13);border-color:#bcd6ef}
.ntmc-service-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:25px;background:linear-gradient(135deg,#eef7ff,#dcefff);color:#0d69c8}
.ntmc-service-card:nth-child(4n+2) .ntmc-service-icon{background:linear-gradient(135deg,#eef4ff,#e7e2ff);color:#6d45d8}
.ntmc-service-card:nth-child(4n+3) .ntmc-service-icon{background:linear-gradient(135deg,#ecfff7,#d7f7e8);color:#13a66b}
.ntmc-service-card:nth-child(4n+4) .ntmc-service-icon{background:linear-gradient(135deg,#fff7e8,#ffe6b7);color:#c47a08}
.ntmc-service-card strong{font-size:14px;color:#0b4a93}.ntmc-service-card small{font-size:11px;color:#7b8da4}

/* stats */
.ntmc-stats{background:linear-gradient(90deg,#f8fbff,#eef6ff);border-bottom:1px solid #dfebf7}
.ntmc-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:12px 0}
.ntmc-stat{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:9px;padding:8px 18px;border-right:1px solid #d5e3f1;min-width:0}
.ntmc-stat:last-child{border-right:0}
.ntmc-stat-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 7px 15px rgba(8,45,95,.08);font-size:20px;color:#0d68c7}
.ntmc-stat-number{font-size:28px;font-weight:900;color:#0a428b;line-height:1}.ntmc-stat-label{font-size:12px;color:#71839a;margin-top:3px}

/* main row */
.ntmc-feature-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:20px}
.ntmc-panel{background:#fff;border:1px solid var(--ntmc-border);border-radius:var(--ntmc-radius);box-shadow:0 10px 26px rgba(7,57,116,.08);overflow:hidden}
.ntmc-panel-pad{padding:18px}

/* featured news */
.ntmc-featured-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:14px}
.ntmc-feature-card{border-radius:18px;overflow:hidden;background:#fff;border:1px solid #dfeaf6;box-shadow:0 8px 22px rgba(10,72,145,.08)}
.ntmc-feature-card .thumb{aspect-ratio:16/10;overflow:hidden;background:#eaf3fb}
.ntmc-feature-card img{width:100%;height:100%;object-fit:cover;transition:.35s}
.ntmc-feature-card:hover img{transform:scale(1.035)}
.ntmc-feature-body{padding:14px}
.ntmc-feature-body h3{font-size:22px;line-height:1.35;margin:6px 0 8px;color:#153b69}
.ntmc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#7a8aa0}
.ntmc-feature-body p{margin:0;color:#63778f;font-size:14px}
.ntmc-news-stack{display:grid;gap:10px}
.ntmc-news-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:8px;border:1px solid #e2ebf5;border-radius:14px;background:#fff}
.ntmc-news-row .thumb{aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#e9f2fb}
.ntmc-news-row img{width:100%;height:100%;object-fit:cover;transition:.3s}
.ntmc-news-row:hover img{transform:scale(1.04)}
.ntmc-news-row h4{font-size:17px;line-height:1.45;margin:4px 0 0;color:#1d416c}

/* shine hover for news blocks only */
.ntmc-shine-card{position:relative;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.ntmc-shine-card::after{content:"";position:absolute;top:-35%;left:-60%;width:32%;height:180%;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.04) 20%,rgba(255,255,255,.56) 49%,rgba(255,255,255,.08) 67%,transparent 100%);transform:rotate(10deg);pointer-events:none;opacity:0}
.ntmc-shine-card:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(8,62,126,.15);border-color:#bfd8f0}
.ntmc-shine-card:hover::after{opacity:1;animation:ntmcSheen .92s ease}

/* leadership carousel */
.ntmc-leader-carousel{position:relative}
.ntmc-leader-stage{position:relative;min-height:calc(var(--ntmc-leader-photo-height,350px) + 170px)}
.ntmc-leader-carousel{--ntmc-leader-duration:650ms;--ntmc-leader-photo-height:350px}
.ntmc-leader-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity var(--ntmc-leader-duration) ease,transform var(--ntmc-leader-duration) ease,filter var(--ntmc-leader-duration) ease;background:linear-gradient(180deg,#fff,#f6faff);transform:translateX(18px)}
.ntmc-leader-slide.active{opacity:1;transform:none;filter:none;pointer-events:auto}
.ntmc-leader-carousel[data-effect="fade"] .ntmc-leader-slide{transform:none}
.ntmc-leader-carousel[data-effect="slide-left"] .ntmc-leader-slide{transform:translateX(34px)}
.ntmc-leader-carousel[data-effect="slide-right"] .ntmc-leader-slide{transform:translateX(-34px)}
.ntmc-leader-carousel[data-effect="slide-up"] .ntmc-leader-slide{transform:translateY(28px)}
.ntmc-leader-carousel[data-effect="zoom"] .ntmc-leader-slide{transform:scale(.94)}
.ntmc-leader-carousel[data-effect="flip"] .ntmc-leader-stage{perspective:1100px}
.ntmc-leader-carousel[data-effect="flip"] .ntmc-leader-slide{transform:rotateY(12deg) scale(.98);transform-origin:center}
.ntmc-leader-carousel[data-effect="blur"] .ntmc-leader-slide{transform:scale(1.02);filter:blur(7px)}
.ntmc-leader-photo{height:var(--ntmc-leader-photo-height,350px);background:linear-gradient(180deg,#e8f2ff,#fff);overflow:hidden}
.ntmc-leader-photo img{width:100%;height:100%;object-fit:cover;object-position:top center}
.ntmc-leader-body{text-align:center;padding:16px}
.ntmc-leader-body h3{margin:0;color:#0b4b95;font-size:21px}.ntmc-leader-body p{margin:3px 0;color:#71839b}.ntmc-leader-quote{margin-top:10px;padding:10px 12px;border-radius:13px;background:#edf6ff;color:#3d5d82;font-size:13px}
.ntmc-leader-controls{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 0 14px}
.ntmc-leader-arrow{width:34px;height:34px;border-radius:50%;border:0;background:#f6d56f;color:#24456a;cursor:pointer;font-size:20px}
.ntmc-leader-dots{display:flex;gap:6px}.ntmc-leader-dot{width:8px;height:8px;border-radius:50%;border:0;background:#ccd9e7;padding:0}.ntmc-leader-dot.active{background:#d4a12a}

/* three columns */
.ntmc-three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ntmc-list-card{padding:16px;border:1px solid var(--ntmc-border);border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(9,66,132,.06)}
.ntmc-list{display:grid;gap:3px}
.ntmc-list-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 6px;border-bottom:1px solid #e8eef5}
.ntmc-list-item:last-child{border-bottom:0}
.ntmc-list-item h4{margin:0;font-size:17px;line-height:1.4;color:#25496f}
.ntmc-list-item time{font-size:11px;color:#8b99ab;display:block;margin-bottom:2px}
.ntmc-academic-logo{width:34px;height:34px;border-radius:50%;object-fit:contain;background:#fff;padding:3px;border:1px solid #e1eaf4;flex:0 0 auto}
.ntmc-mini-thumb{width:60px;height:44px;border-radius:9px;object-fit:cover;background:#edf3f8}

/* newsletter */
.ntmc-newsletter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ntmc-newsletter-card{border:1px solid #e0eaf5;border-radius:16px;overflow:hidden;background:#fff}
.ntmc-newsletter-card .cover{aspect-ratio:3/4;background:#edf3f8;overflow:hidden}
.ntmc-newsletter-card img{width:100%;height:100%;object-fit:cover;transition:.35s}
.ntmc-newsletter-card:hover img{transform:scale(1.025)}
.ntmc-newsletter-card h3{text-align:center;font-size:17px;margin:10px 8px 12px;color:#21456f}

/* calendar/social/map */
.ntmc-bottom-grid{display:grid;grid-template-columns:1.05fr .95fr .95fr;gap:18px}
.ntmc-events{display:grid;gap:8px}
.ntmc-event{display:grid;grid-template-columns:64px 1fr;gap:11px;align-items:center;padding:10px;border:1px solid #e1ebf5;border-radius:14px;background:#fff}
.ntmc-event-date{width:64px;text-align:center;border-radius:12px;background:linear-gradient(180deg,#0c67c6,#0a438c);color:#fff;padding:8px 5px}
.ntmc-event-date b{display:block;font-size:24px;line-height:1}.ntmc-event-date small{font-size:11px}
.ntmc-event h4{margin:0;color:#21486f;font-size:16px}.ntmc-event p{margin:2px 0 0;font-size:12px;color:#7b8b9f}
.ntmc-social-card,.ntmc-map-card{height:100%;border:1px solid var(--ntmc-border);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 20px rgba(9,66,132,.06)}
.ntmc-card-head{padding:12px 15px;background:linear-gradient(90deg,#f8fbff,#eef6ff);font-weight:900;color:#0b4d98;border-bottom:1px solid #deebf7}
.ntmc-social-body{padding:14px}.ntmc-social-links{display:flex;gap:8px;flex-wrap:wrap}.ntmc-social-links a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#eef6ff;color:#0b62bd;font-weight:900;border:1px solid #d8e7f5;transition:.2s}.ntmc-social-links a:hover{transform:translateY(-3px);background:#0b61bd;color:#fff}
.ntmc-map-card iframe{width:100%;height:260px;border:0;display:block}

/* footer */
.ntmc-footer{position:relative;overflow:hidden;background:linear-gradient(135deg,#062c5e 0%,#0a4a95 54%,#083a78 100%);color:#fff}
.ntmc-footer::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(244,202,96,.12),transparent 20%),linear-gradient(0deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:auto,26px 26px,26px 26px;opacity:.6}
.ntmc-footer-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:18px;padding:34px 0}
.ntmc-footer-card{padding:18px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px)}
.ntmc-footer-brand{display:flex;align-items:center;gap:12px}.ntmc-footer-logo{width:70px;height:70px;object-fit:contain;border-radius:14px;background:#fff;padding:5px}.ntmc-footer-title{font-size:18px;font-weight:900}.ntmc-footer-en{font-size:12px;color:#cbdcf3;margin-top:2px}.ntmc-footer-card h4{margin:0 0 10px;font-size:16px;color:#fff}.ntmc-footer-card ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}.ntmc-footer-card li,.ntmc-footer-card p,.ntmc-footer-card a{font-size:13px;color:#d9e7f7}.ntmc-footer-card a:hover{color:#ffe094}
.ntmc-footer-bottom{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.12);padding:12px 16px;text-align:center;color:#c8d8ec;font-size:12px;background:rgba(2,27,59,.30)}

/* search overlay */
.ntmc-search-overlay{position:fixed;inset:0;z-index:9999;background:rgba(3,27,60,.88);backdrop-filter:blur(10px);display:none;align-items:flex-start;justify-content:center;padding:12vh 18px}
.ntmc-search-overlay.open{display:flex}
.ntmc-search-panel{width:min(760px,100%);background:#fff;border-radius:22px;padding:20px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.ntmc-search-panel form{display:flex;gap:10px}.ntmc-search-panel input{flex:1;border:1px solid #d9e6f4;border-radius:14px;padding:14px 16px;outline:none}.ntmc-search-panel button{border:0;border-radius:14px;padding:0 18px;background:#0a5db7;color:#fff;font-weight:800;cursor:pointer}.ntmc-search-close{float:right;margin-bottom:10px;background:#eef5fc!important;color:#0b4c94!important;width:38px;height:38px;border-radius:50%!important;padding:0!important}

/* quick drawer */
.ntmc-quick-drawer{position:fixed;right:18px;bottom:88px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.ntmc-quick-items{display:none;gap:7px;flex-direction:column}.ntmc-quick-drawer.open .ntmc-quick-items{display:flex}.ntmc-quick-items a{padding:9px 13px;border-radius:999px;background:#fff;color:#0b4c95;box-shadow:0 10px 24px rgba(5,48,101,.16);font-size:13px;font-weight:800;border:1px solid #deebf8}.ntmc-quick-toggle{width:52px;height:52px;border-radius:50%;border:0;background:linear-gradient(135deg,#e5b83f,#f5d979);color:#153a61;font-size:22px;cursor:pointer;box-shadow:0 12px 26px rgba(157,113,12,.25)}

/* back to top progress */
.ntmc-top{position:fixed;right:18px;bottom:22px;width:52px;height:52px;border-radius:50%;border:0;z-index:90;cursor:pointer;background:conic-gradient(var(--ntmc-gold) var(--progress,0deg),rgba(8,45,95,.14) 0deg);padding:4px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.ntmc-top.show{opacity:1;transform:none;pointer-events:auto}.ntmc-top span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:#073d80;color:#fff;font-size:22px}

/* reveal */
.ntmc-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.ntmc-reveal.in{opacity:1;transform:none}

/* content */
.content-area{padding:28px 0}.entry-card{background:#fff;border-radius:18px;box-shadow:var(--ntmc-shadow);padding:24px}.entry-title{margin-top:0;color:#0b4b95}

@keyframes ntmcKenBurns{0%{transform:scale(1.01)}100%{transform:scale(1.075)}}
@keyframes ntmcSheen{0%{left:-60%}100%{left:135%}}

@media(max-width:1100px){
 .ntmc-service-grid{grid-template-columns:repeat(4,1fr)}
 .ntmc-stat-grid{grid-template-columns:repeat(3,1fr)}.ntmc-stat:nth-child(3){border-right:0}.ntmc-stat:nth-child(n+4){border-top:1px solid #d5e3f1}
 .ntmc-three{grid-template-columns:1fr 1fr}.ntmc-three>*:last-child{grid-column:1/-1}
 .ntmc-footer-inner{grid-template-columns:1.3fr 1fr 1fr}.ntmc-footer-card:last-child{grid-column:1/-1}
}
@media(max-width:900px){
 .ntmc-topbar{display:none}
 .ntmc-brand-inner{grid-template-columns:88px minmax(0,1fr) auto}.ntmc-logo{width:80px;height:80px}.ntmc-brand-th{font-size:28px}.ntmc-brand-en{font-size:13px}.ntmc-quality{font-size:13px}
 .ntmc-menu-toggle{display:block;margin-left:auto}.ntmc-nav .container{display:block}.ntmc-primary-menu{display:none;flex-direction:column;align-items:stretch;padding:7px 0}.ntmc-primary-menu.open{display:flex}.ntmc-primary-menu li{width:100%}.ntmc-primary-menu ul{position:static!important;display:none!important;box-shadow:none;border-radius:0}.ntmc-primary-menu li.sub-open>ul{display:block!important}
 .ntmc-hero-stage,.ntmc-hero-content{min-height:470px}.ntmc-hero h1{font-size:46px}
 .ntmc-feature-row{grid-template-columns:1fr}.ntmc-leader-stage{min-height:500px}.ntmc-leader-carousel{max-width:440px;margin:auto}
 .ntmc-bottom-grid{grid-template-columns:1fr 1fr}.ntmc-map-card{grid-column:1/-1}
 .ntmc-newsletter-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
 .container{width:min(var(--ntmc-max),calc(100% - 20px))}
 .ntmc-brand-inner{grid-template-columns:68px minmax(0,1fr);padding:10px 0}.ntmc-logo{width:62px;height:62px}.ntmc-brand-th{font-size:21px}.ntmc-brand-en{font-size:11px}.ntmc-quality{font-size:12px;margin-top:4px}.ntmc-quality::before,.ntmc-quality::after{width:15px}.ntmc-searchbar{display:none}
 .ntmc-breaking-inner{min-height:40px}.ntmc-breaking-label{font-size:12px}.ntmc-breaking-track a{font-size:12px}
 .ntmc-hero-stage,.ntmc-hero-content{min-height:430px}.ntmc-hero-content{padding:48px 0}.ntmc-hero h1{font-size:37px}.ntmc-hero p{font-size:16px}.ntmc-hero-copy{max-width:92%}.ntmc-hero-arrow{width:40px;height:40px}.ntmc-hero-prev{left:7px}.ntmc-hero-next{right:7px}
 .ntmc-service-grid{grid-template-columns:repeat(2,1fr)}.ntmc-service-card{min-height:94px}
 .ntmc-stat-grid{grid-template-columns:1fr 1fr}.ntmc-stat{border-top:1px solid #d5e3f1}.ntmc-stat:nth-child(1),.ntmc-stat:nth-child(2){border-top:0}.ntmc-stat:nth-child(2n){border-right:0}.ntmc-stat:nth-child(2n+1){border-right:1px solid #d5e3f1}.ntmc-stat:last-child{grid-column:1/-1;border-right:0}
 .ntmc-featured-grid{grid-template-columns:1fr}.ntmc-news-row{grid-template-columns:92px 1fr}
 .ntmc-three,.ntmc-bottom-grid{grid-template-columns:1fr}.ntmc-three>*:last-child,.ntmc-map-card{grid-column:auto}
 .ntmc-newsletter-grid{grid-template-columns:1fr 1fr}
 .ntmc-footer-inner{grid-template-columns:1fr}.ntmc-footer-card:last-child{grid-column:auto}
 .ntmc-section-title{font-size:23px}.ntmc-section-title .icon{width:36px;height:36px}
}
@media(max-width:420px){
 .ntmc-newsletter-grid{grid-template-columns:1fr}.ntmc-service-grid{grid-template-columns:1fr 1fr}.ntmc-news-row{grid-template-columns:80px 1fr}.ntmc-feature-body h3{font-size:19px}.ntmc-stat{padding:8px 10px}.ntmc-stat-number{font-size:24px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.ntmc-reveal{opacity:1;transform:none;transition:none}.ntmc-hero-slide.active .ntmc-hero-media,.ntmc-shine-card:hover::after{animation:none!important}.ntmc-shine-card::after{display:none}}


/* Elementor Edition V1.4 */
.ntmc-elementor-front,.ntmc-elementor-page{width:100%;overflow:hidden}
.ntmc-elementor-front>.elementor,.ntmc-elementor-page>.elementor{width:100%}
.ntmc-elementor-front .elementor-element>.elementor-widget-container{margin:0}
.elementor-editor-active .ntmc-reveal{opacity:1;transform:none}
.elementor-editor-active .ntmc-hero,.elementor-editor-active .ntmc-services,.elementor-editor-active .ntmc-stats,.elementor-editor-active .ntmc-section{margin-top:0}
.elementor-editor-active .ntmc-shine-card::after{display:none}


/* =========================================================
   Neo Thai Modern Campus V1.4
   - Hero: image-only option + multiple transition/navigation styles
   - Post gallery: automatic columns + lightbox
   ========================================================= */

/* Hero image-only / transition styles */
.ntmc-hero.ntmc-hero-image-only .ntmc-hero-overlay{background:linear-gradient(180deg,rgba(2,28,66,.02),rgba(2,28,66,.12))}
.ntmc-hero.ntmc-hero-image-only .ntmc-hero-glow,
.ntmc-hero.ntmc-hero-image-only .ntmc-hero-content{display:none!important}

.ntmc-hero-transition-fade .ntmc-hero-slide{opacity:0;transform:none;transition:opacity var(--ntmc-hero-duration,.8s) ease}
.ntmc-hero-transition-fade .ntmc-hero-slide.active{opacity:1}
.ntmc-hero-transition-slide-left .ntmc-hero-slide{opacity:0;transform:translateX(5%);transition:opacity var(--ntmc-hero-duration,.72s) ease,transform var(--ntmc-hero-duration,.72s) cubic-bezier(.22,.61,.36,1)}
.ntmc-hero-transition-slide-left .ntmc-hero-slide.active{opacity:1;transform:translateX(0)}
.ntmc-hero-transition-slide-right .ntmc-hero-slide{opacity:0;transform:translateX(-5%);transition:opacity var(--ntmc-hero-duration,.72s) ease,transform var(--ntmc-hero-duration,.72s) cubic-bezier(.22,.61,.36,1)}
.ntmc-hero-transition-slide-right .ntmc-hero-slide.active{opacity:1;transform:translateX(0)}
.ntmc-hero-transition-slide-up .ntmc-hero-slide{opacity:0;transform:translateY(5%);transition:opacity var(--ntmc-hero-duration,.72s) ease,transform var(--ntmc-hero-duration,.72s) cubic-bezier(.22,.61,.36,1)}
.ntmc-hero-transition-slide-up .ntmc-hero-slide.active{opacity:1;transform:translateY(0)}
.ntmc-hero-transition-zoom .ntmc-hero-slide{opacity:0;transform:scale(1.025);transition:opacity var(--ntmc-hero-duration,.85s) ease,transform var(--ntmc-hero-duration,.85s) ease}
.ntmc-hero-transition-zoom .ntmc-hero-slide.active{opacity:1;transform:scale(1)}
.ntmc-hero-transition-kenburns .ntmc-hero-slide{opacity:0;transition:opacity var(--ntmc-hero-duration,.9s) ease}
.ntmc-hero-transition-kenburns .ntmc-hero-slide.active{opacity:1}
.ntmc-hero-transition-kenburns .ntmc-hero-slide.active .ntmc-hero-media{animation:ntmcKenBurns 8.5s ease-out both}
.ntmc-hero-transition-fade .ntmc-hero-slide.active .ntmc-hero-media,
.ntmc-hero-transition-slide-left .ntmc-hero-slide.active .ntmc-hero-media,
.ntmc-hero-transition-slide-right .ntmc-hero-slide.active .ntmc-hero-media,
.ntmc-hero-transition-slide-up .ntmc-hero-slide.active .ntmc-hero-media,
.ntmc-hero-transition-zoom .ntmc-hero-slide.active .ntmc-hero-media{animation:none}

/* Hero arrows */
.ntmc-hero-arrows-glass .ntmc-hero-arrow{background:rgba(4,39,82,.44);border-color:rgba(255,255,255,.42);box-shadow:0 8px 24px rgba(0,0,0,.14)}
.ntmc-hero-arrows-gold .ntmc-hero-arrow{background:linear-gradient(135deg,#f6d56d,#d9a72d);border-color:#ffe59b;color:#123b68;box-shadow:0 10px 22px rgba(154,106,0,.25)}
.ntmc-hero-arrows-minimal .ntmc-hero-arrow{background:transparent;border-color:rgba(255,255,255,.58);box-shadow:none}
.ntmc-hero.ntmc-hide-arrows .ntmc-hero-arrow{display:none!important}

/* Hero pagination styles: dot / pill / line */
.ntmc-hero-dots-dots .ntmc-hero-dot{width:10px;height:10px;border-radius:50%}
.ntmc-hero-dots-pills .ntmc-hero-dot{width:30px;height:12px;border-radius:999px;border:1px solid rgba(255,255,255,.8);background:rgba(3,37,80,.30);transition:.25s}
.ntmc-hero-dots-pills .ntmc-hero-dot.active{width:50px;background:linear-gradient(90deg,#ffd75f,#edb833);border-color:#ffd75f;transform:none}
.ntmc-hero-dots-lines{gap:7px;bottom:16px}
.ntmc-hero-dots-lines .ntmc-hero-dot{width:38px;height:4px;border-radius:999px;background:rgba(255,255,255,.55)}
.ntmc-hero-dots-lines .ntmc-hero-dot.active{background:#f5cb5f;transform:none}
.ntmc-hero.ntmc-hide-dots .ntmc-hero-dots{display:none!important}

/* Post image gallery: columns + lightbox */
.single-post .entry-content .wp-block-gallery,
.single-post .entry-content .gallery,
.single-post .entry-content .ntmc-auto-gallery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch;
  margin:18px 0!important;
}
.single-post .entry-content .wp-block-gallery>*,
.single-post .entry-content .gallery>*,
.single-post .entry-content .ntmc-auto-gallery>*{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  min-width:0;
}
.single-post .entry-content .wp-block-gallery figure,
.single-post .entry-content .gallery figure,
.single-post .entry-content .ntmc-auto-gallery figure,
.single-post .entry-content .ntmc-auto-gallery p{
  margin:0!important;
}
.single-post .entry-content .wp-block-gallery img,
.single-post .entry-content .gallery img,
.single-post .entry-content .ntmc-auto-gallery img{
  display:block;
  width:100%!important;
  height:100%!important;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:14px!important;
  cursor:zoom-in;
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
  box-shadow:0 7px 18px rgba(8,45,95,.08);
}
.single-post .entry-content .wp-block-gallery img:hover,
.single-post .entry-content .gallery img:hover,
.single-post .entry-content .ntmc-auto-gallery img:hover{
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 13px 28px rgba(8,45,95,.15);
  filter:saturate(1.04);
}
.single-post .entry-content img[data-ntmc-lightbox]{cursor:zoom-in}

.ntmc-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(2,18,42,.93);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:22px}
.ntmc-lightbox.open{display:flex}
body.ntmc-lightbox-open{overflow:hidden}
.ntmc-lightbox-stage{position:relative;width:min(1320px,96vw);height:min(88vh,900px);display:grid;place-items:center}
.ntmc-lightbox-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.45)}
.ntmc-lightbox-close,.ntmc-lightbox-prev,.ntmc-lightbox-next{position:absolute;z-index:3;border:1px solid rgba(255,255,255,.30);background:rgba(6,45,94,.64);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px);transition:.2s}
.ntmc-lightbox-close{right:0;top:0;width:46px;height:46px;border-radius:50%;font-size:30px}
.ntmc-lightbox-prev,.ntmc-lightbox-next{top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;font-size:34px}
.ntmc-lightbox-prev{left:0}.ntmc-lightbox-next{right:0}
.ntmc-lightbox-close:hover,.ntmc-lightbox-prev:hover,.ntmc-lightbox-next:hover{background:#0b61bd;border-color:#fff}
.ntmc-lightbox-count{position:absolute;left:50%;bottom:3px;transform:translateX(-50%);padding:7px 13px;border-radius:999px;background:rgba(0,0,0,.38);color:#fff;font-size:13px}
.ntmc-lightbox-caption{position:absolute;left:50%;bottom:42px;transform:translateX(-50%);max-width:min(760px,80vw);color:#eef6ff;text-align:center;font-size:13px;text-shadow:0 2px 6px rgba(0,0,0,.5)}

@media(max-width:900px){
  .single-post .entry-content .wp-block-gallery,
  .single-post .entry-content .gallery,
  .single-post .entry-content .ntmc-auto-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:540px){
  .single-post .entry-content .wp-block-gallery,
  .single-post .entry-content .gallery,
  .single-post .entry-content .ntmc-auto-gallery{grid-template-columns:1fr!important;gap:9px!important}
  .ntmc-lightbox{padding:10px}.ntmc-lightbox-stage{width:100%;height:88vh}
  .ntmc-lightbox-prev,.ntmc-lightbox-next{width:42px;height:42px;font-size:28px}
}


/* === V1.5 — adjustable news titles, Facebook Page, visitor statistics === */
.ntmc-list-item h4 a,.ntmc-news-row h4 a,.ntmc-feature-card h3 a,.ntmc-newsletter-card h3 a{color:inherit;transition:color .2s ease}
.ntmc-list-item h4 a:hover,.ntmc-news-row h4 a:hover,.ntmc-feature-card h3 a:hover,.ntmc-newsletter-card h3 a:hover{color:var(--ntmc-blue)}

.ntmc-facebook-card{overflow:hidden;border:1px solid var(--ntmc-border);border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(9,66,132,.06)}
.ntmc-facebook-card iframe{display:block;width:100%;border:0;background:#fff}
.ntmc-facebook-placeholder{min-height:300px;display:grid;place-content:center;text-align:center;padding:30px;color:#5e7490;background:linear-gradient(135deg,#fff,#eef6ff)}
.ntmc-facebook-placeholder strong{font-size:20px;color:#0b4d98}.ntmc-facebook-placeholder p{max-width:560px;margin:8px auto 0}

.ntmc-visitor-shell{border-radius:20px;padding:18px;background:linear-gradient(135deg,#073d80,#0b62bb);box-shadow:0 16px 34px rgba(8,58,119,.16);color:#fff;overflow:hidden;position:relative}
.ntmc-visitor-shell::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 86% 20%,rgba(244,202,96,.20),transparent 24%),linear-gradient(0deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:auto,24px 24px,24px 24px;pointer-events:none}
.ntmc-visitor-shell .ntmc-section-head{position:relative;z-index:1;margin-bottom:12px}.ntmc-visitor-shell .ntmc-section-title{color:#fff}.ntmc-visitor-shell .ntmc-section-title .icon{background:rgba(255,255,255,.14);color:#fff}
.ntmc-visitor-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ntmc-visitor-stat{padding:16px 12px;text-align:center;border-radius:16px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(5px);transition:transform .2s ease,background .2s ease}
.ntmc-visitor-stat:hover{transform:translateY(-3px);background:rgba(255,255,255,.14)}
.ntmc-visitor-stat span{display:block;font-size:13px;color:#d9e8fb}.ntmc-visitor-stat strong{display:block;font-size:31px;line-height:1.1;margin:5px 0;font-weight:900;color:#fff}.ntmc-visitor-stat small{font-size:11px;color:#cbdcf3}
.ntmc-visitor-note{position:relative;z-index:1;margin:10px 2px 0;font-size:11px;color:#cbdcf3;text-align:right}

@media(max-width:820px){.ntmc-visitor-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.ntmc-visitor-stat strong{font-size:27px}.ntmc-news-row h4,.ntmc-list-item h4{font-size:16px}}


/* === V1.6 — Elementor adjustable block sizing === */
.elementor-widget[class*="elementor-widget-ntmc_"]{min-width:0}
.elementor-widget[class*="elementor-widget-ntmc_"]>.elementor-widget-container{min-width:0;width:100%}
.elementor-widget[class*="elementor-widget-ntmc_"]>.elementor-widget-container>section{box-sizing:border-box;width:100%}
.elementor-widget[class*="elementor-widget-ntmc_"]>.elementor-widget-container>section>.container{max-width:100%}
@media(max-width:767px){
  .elementor-widget[class*="elementor-widget-ntmc_"]{max-width:100%!important}
}


/* === V1.7 — Elementor child widgets truly fill their assigned Container ===
   In Elementor, the outer child Container controls the 62% / 36% layout.
   The Neo Thai widget inside must stretch to 100% of that assigned space. */
.elementor-widget[class*="elementor-widget-ntmc_"]{
  width:100%;
  min-width:0;
  max-width:none;
  align-self:stretch;
}
.elementor-widget[class*="elementor-widget-ntmc_"] > .elementor-widget-container{
  width:100%!important;
  max-width:none!important;
  min-width:0;
  margin:0!important;
}
.elementor-widget[class*="elementor-widget-ntmc_"] > .elementor-widget-container > section{
  width:100%!important;
  max-width:none!important;
  min-width:0;
  margin-left:0!important;
  margin-right:0!important;
}
/* Important: normal theme .container subtracts 32px and centers itself.
   Inside Elementor widgets that creates the visible gap. Remove it here. */
.elementor-widget[class*="elementor-widget-ntmc_"] > .elementor-widget-container > section > .container{
  width:100%!important;
  max-width:none!important;
  min-width:0;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
/* Stretch the visual card/panel itself. */
.elementor-widget[class*="elementor-widget-ntmc_"] .ntmc-list-card,
.elementor-widget[class*="elementor-widget-ntmc_"] .ntmc-panel,
.elementor-widget[class*="elementor-widget-ntmc_"] .ntmc-social-card,
.elementor-widget[class*="elementor-widget-ntmc_"] .ntmc-map-card,
.elementor-widget[class*="elementor-widget-ntmc_"] .ntmc-facebook-card,
.elementor-widget[class*="elementor-widget-ntmc_"] .ntmc-visitor-card,
.elementor-widget[class*="elementor-widget-ntmc_"] .ntmc-hero,
.elementor-widget[class*="elementor-widget-ntmc_"] .ntmc-services,
.elementor-widget[class*="elementor-widget-ntmc_"] .ntmc-stats{
  width:100%!important;
  max-width:none!important;
}
/* Let child Elementor Containers stretch their widget contents vertically too. */
.elementor-element.e-con > .elementor-widget[class*="elementor-widget-ntmc_"]{
  flex-grow:1;
}
@media(max-width:767px){
  .elementor-widget[class*="elementor-widget-ntmc_"]{
    width:100%!important;
    max-width:100%!important;
  }
}
