/* หน้าแรก (index-page): ลดความสูงแถบเขียว */
.index-page .page-header{
  height: 40vh !important;     /* ปรับตามต้องการ เช่น 30vh/40vh/50vh */
  min-height: 260px !important;/* กันเตี้ยเกินบนจอเล็ก */
}

/* ถ้ามีหน้า presentation-page ด้วย */
.presentation-page .page-header{
  height: 40vh !important;
  min-height: 260px !important;
}

body, .dnnForm, .edn_article, .edn_moduleWrapper {
  font-family: "Kanit", sans-serif;
}

/* ถ้าต้องการเน้นเฉพาะหัวข้อ */
h1, h2, h3, .edn_article h1, .edn_article h2, .edn_article h3 {
  font-family: "Kanit", sans-serif;
  font-weight: 600;
}

.h-bas,
h1.h-bas, h2.h-bas, h3.h-bas, h4.h-bas, h5.h-bas, h6.h-bas {
  font-family: "Kanit", sans-serif;
  font-weight: 700;
  color: #0F2C4C;
}

.h-bas400,
h1.h-bas, h2.h-bas, h3.h-bas, h4.h-bas, h5.h-bas, h6.h-bas {
  font-family: "Kanit", sans-serif;
  font-weight: 400;
  color: #0F2C4C;
}

.edsTabulator_tabsWrapper .edsTabulator_tab {
  font-family: "Kanit", sans-serif;
  font-weight: 300;
  color: #0F2C4C;
}

.edsTabulator_tabsWrapper .edsTabulator_tab a {
  font-family: "Kanit", sans-serif;
  font-weight: 300;
}

.indent-15 { padding-left: 1.5rem; }
.indent-5 { padding-left: 5rem; }
.col-w80 { width: 80%; !important; }
.col-w20 { width: 20%; !important; }

.title-up { margin-top: -20px; }  /* ปรับ -6px, -10px, -20px ได้ */

.iframe-wrap{
  width: 100%;
  max-width: 900px;   /* แล้วแต่คุณ */
  aspect-ratio: 16/9; /* ถ้าต้องการให้สูงตามสัดส่วน */
  border-radius: 16px;
  overflow: hidden;   /* สำคัญ: ตัดมุมของ iframe */
  border: 0px solid #ddd; /* ถ้าต้องการเส้นกรอบ */
}

.iframe-wrap iframe{
  width: 100%;
  height: 100%;
  border: 0;          /* เอากรอบเดิมของ iframe ออก */
  display: block;
}


.mt-6 { margin-top: 6rem !important; }
.mt-7 { margin-top: 7rem !important; }
.mt-8 { margin-top: 8rem !important; }
.mt-9 { margin-top: 9rem !important; }
.mt-10 { margin-top: 10rem !important; }
.mt-11 { margin-top: 11rem !important; }
.mt-12 { margin-top: 12rem !important; }

.fw-200 { font-weight: 200 !important; }
.fw-300 { font-weight: 300 !important; }
.fw-400 { font-weight: 400 !important; }
.fw-500 { font-weight: 500 !important; }
.fw-600 { font-weight: 600 !important; }
.fw-700 { font-weight: 700 !important; }
.fw-800 { font-weight: 800 !important; }

.div-heighsmart {
    height: clamp(200px, 10vh, 200px);
}
.bg-cyan-trans{
  /* #00B3C9 = (0,179,201) */
  background-color: rgba(0, 179, 201, 0.1); /* 0.25 = โปร่งใส 10% */
}

.bg-cyan-trans25{
  /* #00B3C9 = (0,179,201) */
  background-color: rgba(0, 179, 201, 0.25); /* 0.25 = โปร่งใส 25% */
}

.bg-cyan-trans30{
  /* #00B3C9 = (0,179,201) */
  background-color: rgba(0, 179, 201, 0.30); /* 0.25 = โปร่งใส 25% */
}

.bg-cyan-trans75{
  /* #00B3C9 = (0,179,201) */
  background-color: rgba(0, 179, 201, 0.75); /* 0.25 = โปร่งใส 25% */
}

.bg-cyan{
  /* #00B3C9 = (0,179,201) */
  background-color: rgba(0, 179, 201, 0.95); /* 0.95 = โปร่งใส 95% */
}

.bg-white{
  background-color: rgba(255, 255, 255, 0.1); /* 0.95 = โปร่งใส 10% */
}

.bg-gray{
  background-color: rgba(0, 0, 0, 0.5); /* 0.95 = โปร่งใส 10% */
}

.img-wrap{
  position: relative;
  display: inline-block;   /* keeps wrap tight to image */
}

.img-wrap img{
  display: block;          /* avoids tiny gaps */
}

.img-wrap::after{
  content: "";
  position: absolute;
  inset: 0;                /* top:0; right:0; bottom:0; left:0 */
  background: rgba(0,179,201,0.7); /* #00B3C9 at 70% */
  pointer-events: none;    /* overlay won't block clicks */
}

.hr-gray{
  border: 0;                 /* เคลียร์สไตล์เดิม */
  border-top: 1px solid #bdbdbd;  /* ความหนา + สีเทา */
  margin: 1rem 0;            /* ระยะห่างบน-ล่าง */
  opacity: 1;                /* กันบางธีมทำให้จาง */
}

.hr-gray-2 {
  border-bottom: 2px solid #b0b0b0; /* สีเทา ปรับได้ */
  padding-bottom: 6px;             /* เว้นระยะให้สวย (ปรับได้) */
}

.hr-bas {
  border-bottom: 2px solid #00B3C9; /* สีเทา ปรับได้ */
  padding-bottom: 6px;             /* เว้นระยะให้สวย (ปรับได้) */
}

.rotate-up-45{
  display:inline-block;
  transform: rotate(-45deg);
}

.bb-img-sm{
  max-width: 320px;
  width: 100%;
  height: auto;
}

.bb-img-w85{
  max-width: 85px;    
  width: 85px;
  height: auto;
}

.bb-img-sm90{
  width: 90%;
  height: auto;
}

.bb-img-sm50{
  width: 50%;
  height: auto;
}

/* ตัวอย่างปรับเฉพาะส่วนข้อความที่พบบ่อยใน EasyDNN News */
.eds_news_module_1729 .edn_articleTitle,
.eds_news_module_1729 .edn_articleTitle a,
.eds_news_module_1729 .edn_articleSummary,
.eds_news_module_1729 .edn_articleContent,
.eds_news_module_1729 .edn_metaDetails,
.eds_news_module_1729 .edn_readMore,
.eds_news_module_1729 p,
.eds_news_module_1729 span,
.eds_news_module_1729 li{
  font-family: 'Kanit', sans-serif !important;
}


#dnn_ctr2692_ModuleContent article,
#dnn_ctr2692_ModuleContent article * {
    font-family: 'Kanit', sans-serif !important;
}



a.read-more{
  text-decoration: underline !important;
  text-underline-offset: 10px;   /* ระยะห่างเส้นใต้ */
  text-decoration-thickness: 1px; /* ความหนาเส้น */
}

.bas-pill{
  display:inline-block;
  padding:6px 14px;
  background:#00B3C9;      /* สีฟ้าอมเขียว */
  color:#fff;
  border-radius:999px;      /* ทำให้โค้งแบบเม็ดยา */
  font-weight:600;
  font-size:14px;
  line-height:1;
  text-decoration:none;
  box-shadow:0 1px 2px rgba(0,0,0,.18);
}
.bas-pill:hover{
  filter:brightness(.95);
  text-decoration:none;
}

.img-round{
  border-radius: 20px;   /* ปรับได้ เช่น 12, 16, 24, 30 */
}

.img-round50{
  border-radius: 50%;   /* ปรับได้ เช่น 12, 16, 24, 30 */
}

.div-box{
  border-radius: 20px 20px 0 0;
}

.div-round{
  border-radius: 20px 20px 20px 20px;
}

.div-round2{
  border-radius: 20px 20px 20px 20px;
  border: 1px solid #00B3C9;
}


/* ===== Ozone2 Timeline (stable grid version) ===== */
.oz-timeline{
  position:relative;
  max-width:1100px;
  margin:40px auto;
  padding:20px 0;
}
.oz-timeline, .oz-timeline *{ box-sizing:border-box; }

.oz-timeline:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:2px;
  background:#e7e7ef;
  transform:translateX(-50%);
}

/* 2-column grid per item */
.oz-tl-item{
  position:relative;
  display:grid;
  grid-template-columns: 1fr 1fr;
  column-gap:60px;         /* ระยะระหว่างฝั่งซ้าย-ขวา */
  align-items:start;
  margin:28px 0;
  padding:0 10px;
}

/* center dot */
.oz-tl-item:before{
  content:"";
  position:absolute;
  left:50%;
  top:18px;
  width:12px;
  height:12px;
  border-radius:50%;
  transform:translateX(-50%);
  background:#fff;
  border:3px solid #a45bff;
  z-index:4;
}

/* month badge centered */
.oz-tl-badge{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  top:6px;
  background:linear-gradient(90deg,#7b3ff2,#a45bff);
  color:#fff;
  padding:8px 16px;
  border-radius:999px;
  font-weight:600;
  font-size:14px;
  box-shadow:0 8px 18px rgba(123,63,242,.18);
  white-space:nowrap;
  z-index:5;
}

.oz-tl-card{
  max-width:460px;
  width:100%;
  background:#fff;
  border-radius:14px;
  padding:18px 20px;
  box-shadow:0 12px 28px rgba(20,20,40,.08);
  border:1px solid rgba(160,160,190,.22);
  position:relative;
}

/* Place cards */
.oz-left .oz-tl-card{
  grid-column:1;
  justify-self:end;        /* ชิดเข้าหาเส้นกลาง */
}
.oz-right .oz-tl-card{
  grid-column:2;
  justify-self:start;      /* ชิดเข้าหาเส้นกลาง */
}

/* Arrows */
.oz-left .oz-tl-card:after,
.oz-right .oz-tl-card:after{
  content:"";
  position:absolute;
  top:18px;
  width:0;height:0;
  border:10px solid transparent;
}

.oz-left .oz-tl-card:after{
  right:-20px;
  border-left-color:#fff;
  filter:drop-shadow(2px 0 0 rgba(160,160,190,.22));
}

.oz-right .oz-tl-card:after{
  left:-20px;
  border-right-color:#fff;
  filter:drop-shadow(-2px 0 0 rgba(160,160,190,.22));
}

/* Typography */
.oz-tl-card h3{
  margin:0 0 8px 0;
  font-size:18px;
  color:#2b2b3a;
}
.oz-tl-card h3 small{
  font-weight:500;
  color:#7a7a92;
}
.oz-tl-card p{
  margin:0 0 12px 0;
  color:#606074;
  line-height:1.6;
}
.oz-tl-link{
  display:inline-block;
  font-weight:600;
  text-decoration:none;
  color:#7b3ff2;
}
.oz-tl-link:hover{ text-decoration:underline; }

/* ===== Responsive: single column ===== */
@media (max-width: 860px){
  .oz-timeline{ padding-left:14px; padding-right:14px; }
  .oz-timeline:before{ left:18px; transform:none; }

  .oz-tl-item{
    grid-template-columns: 1fr;
    column-gap:0;
    padding-left:40px;
  }
  .oz-tl-item:before{ left:18px; transform:none; }
  .oz-tl-badge{ left:18px; transform:none; margin-left:22px; }

  .oz-left .oz-tl-card,
  .oz-right .oz-tl-card{
    grid-column:1;
    justify-self:start;
    margin-top:44px;
  }

  .oz-left .oz-tl-card:after,
  .oz-right .oz-tl-card:after{
    left:-20px;
    right:auto;
    border-right-color:#fff;
    border-left-color:transparent;
    filter:drop-shadow(-2px 0 0 rgba(160,160,190,.22));
  }
}

/* Scoped: กันชนกับ Ozone2 */
.swu-profileCard{
  --w: 360px;
  --radius: 24px;
  --outer: 10px;
  --ring: #d9dde3;
  --text: #1c2430;
  --muted: #6b778a;
  --accent: #1f6feb;

  width: min(var(--w), 100%);
  margin: 0 auto;
  border-radius: calc(var(--radius) + var(--outer));
  background: var(--ring);
  padding: var(--outer);
  box-shadow: 0 12px 30px rgba(16,24,40,.12);
  font-family: inherit; /* ให้ใช้ฟอนต์ของ Ozone2 */
}

.swu-profileCard__inner{
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  background: #eef2f7;
  aspect-ratio: 4 / 5; /* ใกล้ภาพตัวอย่าง */
}

.swu-profileCard__photo{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transform: scale(1.02);
}

.swu-profileCard__inner::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(to bottom, rgba(255,255,255,.22), rgba(255,255,255,0) 45%);
  pointer-events:none;
  z-index:1;
}

.swu-profileCard__info{
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  background: #fff;
  border-radius: 18px;
  padding: 14px 16px;
  box-shadow: 0 14px 30px rgba(16,24,40,.18);
  z-index:2;
}

.swu-profileCard__name{
  margin: 0 0 6px 0;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.2;
  color: var(--text);
}

/* เส้นจุดใต้ชื่อ */
.swu-dots{
  text-decoration: underline dotted;
  text-decoration-thickness: 3px;
  text-underline-offset: 4px;
}

.swu-profileCard__title{
  margin: 0 0 12px 0;
  font-size: 13.5px;
  line-height: 1.35;
  color: var(--muted);
}

.swu-profileCard__email{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--muted);
}

.swu-icon{
  width: 18px;
  height: 18px;
  color: var(--accent);
  display: inline-flex;
}
.swu-icon svg{ width: 18px; height: 18px; display:block; }

.swu-profileCard__email a{
  color: inherit;
  text-decoration: none;
}
.swu-profileCard__email a:hover{
  color: var(--accent);
  text-decoration: underline;
}


/* ====== Ozone2-friendly: scope ทุกอย่างด้วย .oz2-cv ====== */
.oz2-cv{
  --accent:#11b6c3;            /* สีฟ้าอมเขียว */
  --text:#23323a;
  --muted:#5d6b73;
  --line:#dfe7ea;

  font-family: inherit;
  color: var(--text);
  max-width: 760px;
}

/* section spacing */
.oz2-sec{ padding: 8px 0 18px; }
.oz2-sec + .oz2-sec{ border-top: 0px solid transparent; }

/* heading row */
.oz2-sec-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom: 6px;
}

.oz2-ico{
  width: 30px;
  height: 30px;
  color: var(--accent);
  flex: 0 0 30px;
}

.oz2-svg{ width:100%; height:100%; display:block; }

.oz2-title{
  margin:0;
  font-size: 22px;
  font-weight: 400;
  color: var(--accent);
  line-height: 1.15;
}

.oz2-desc{
  margin: 0 0 0 40px; /* เว้นให้ align กับหัวข้อหลังไอคอน */
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

/* list with chevron */
.oz2-list{
  list-style: none;
  margin: 6px 0 0 40px;
  padding: 0;
}

.oz2-list li{
  position: relative;
  padding: 8px 0 8px 22px;
  border-bottom: 0px solid transparent;
  color: var(--text);
  font-size: 14px;
  line-height: 1.6;
}

.oz2-list li::before{
  content: "\f105";
  position: absolute;
  left: 0;
  top: 6px;
  font: var(--fa-font-solid);
  color: var(--accent);
  font-size: 20px;
  line-height: 1;
}

/* timeline */
.oz2-timeline{
  position: relative;
  margin: 8px 0 0 40px;
  padding-left: 22px;
}

.oz2-timeline::before{
  content:"";
  position:absolute;
  left: 6px;   /* กึ่งกลางจุด */
  top: 4px;
  bottom: 4px;
  width: 2px;
  background: var(--line);
}

.oz2-item{
  position: relative;
  padding: 8px 0 16px 0;
}

.oz2-item::before{
  content:"";
  position:absolute;
  left: -22px;
  top: 14px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(17,182,195,.12);
}

.oz2-item-title{
  margin: 0 0 6px 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
}

.oz2-item-desc{
  margin: 0;
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--muted);
}

/* responsive */
@media (max-width: 520px){
  .oz2-title{ font-size: 20px; }
  .oz2-desc, .oz2-list, .oz2-timeline{ margin-left: 0; }
  .oz2-timeline{ padding-left: 20px; }
}

img.img85{
  width: 85%;
  height: auto; /* รักษาสัดส่วน */
}

/* ให้ wrapper เป็นฐานอ้างอิงตำแหน่ง */
.imgOverlayWrap{
  position: relative;
}

/* กล่องข้อความที่ทับรูป */
.imgOverlayWrap .imgOverlayBox{
  position: absolute;
  left: 50%;
  bottom: 18px;           /* ปรับตำแหน่งแนวตั้งได้ */
  transform: translateX(-50%);
  
  padding: 12px 16px;
  border-radius: 14px;
 /*  background: rgba(0,0,0,0.6); */
  background: #FFFFFF;     /* ✅ box สีขาว */
  color: #111;

  text-align: left;
  line-height: 1.2;
  width: 90%;
  /* max-width: min(80%, 300px); */
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}

/* ขนาด/น้ำหนักแต่ละบรรทัด */
.imgOverlayWrap .imgOverlayBox .line1{
  font-weight: 700;
  font-size: 18px;
}
.imgOverlayWrap .imgOverlayBox .line2{
  margin-top: 4px;
  font-size: 14px;
  opacity: 0.95;
}

/* มือถือ: ลดขนาดตัวอักษรลง */
@media (max-width: 576px){
  .imgOverlayWrap .imgOverlayBox{
    bottom: 10px;
    padding: 10px 12px;
    border-radius: 12px;
  }
  .imgOverlayWrap .imgOverlayBox .line1{ font-size: clamp(14px, 2vw, 20px);}
  .imgOverlayWrap .imgOverlayBox .line2{ font-size: clamp(12px, 1vw, 16px); }
}

.program-header {
  padding: 10px 8px;
}

.program-tags {
  margin: 8px 0 0;
}

.degree-badge,
.degree-badge2,
.degree-badge3,
.language-badge,
.language-badge2 {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 300;
}

.degree-badge {
  background:rgba(0, 179, 201, 0.1);
  color: #00B3C9;
}

.language-badge {
  background: #FFF0B4;
  color: #FF8D28;
}

.course-title {
  margin: 8px 0 0;
  color: #0F2C4C;
}


.degree-badge2 {
  background: #FFE1E2;
  color: #DA3339;
}

.degree-badge3 {
  background: #FFE3CA;
  color: #FF8D28;
}

.language-badge2 {
  background: #C8E7FF;
  color: #0088FF;
}

.course-card {
  height: 100%;
}

.eds_listArrowright {
        color: #00B3C9 !important;
}


#dnn_ctr2693_ModuleContent .edn_category_menu_wrapper li a.edn_link {
    font-family: 'Kanit', sans-serif !important;
}

.DnnModule-EasyDNNNewsCategoriesMenu .edn_category_menu_wrapper li a.edn_link {
    font-family: 'Kanit', sans-serif !important;
}

#dnn_ctr2693_ModuleContent .edn_module_title {
    visibility: hidden;
    position: relative;
}

#dnn_ctr2693_ModuleContent .edn_module_title::after {
    content: "หมวดหมู่";
    visibility: visible;
    position: absolute;
    left: 0;
    top: 0;
    font-family: 'Kanit', sans-serif !important;
    font-size: 1.5rem;
    font-weight: 600;
    color: #00B3C9;
}

#dnn_ctr2693_ModuleContent .edn_category_menu_wrapper li a,
#dnn_ctr2693_ModuleContent .edn_category_menu_wrapper li a:before,
#dnn_ctr2693_ModuleContent .edn_category_menu_wrapper li a span,
#dnn_ctr2693_ModuleContent .edn_category_menu_wrapper li .edn_hasCount > a:last-child {
    color: #808080 !important;
}


/*
ถ้าต้องการเจาะเฉพาะตัวเลขด้านขวา:

#dnn_ctr2693_ModuleContent .edn_category_menu_wrapper li .edn_hasCount > a:last-child {
    color: #808080 !important;
}

ถ้าต้องการเปลี่ยนไอคอน RSS สีส้มด้านซ้ายด้วย ให้ใส่เพิ่ม:

#dnn_ctr2693_ModuleContent .edn_category_menu_wrapper li a.edn_rss,
#dnn_ctr2693_ModuleContent .edn_category_menu_wrapper li a.edn_rss::before,
#dnn_ctr2693_ModuleContent .edn_category_menu_wrapper li a.edn_rss span {
    color: #808080 !important;
}

*/

#dnn_ctr2692_ModuleContent .card-description a {
    font-size: 0 !important;
    position: relative;
    display: inline-block;
    text-decoration: none;
}

#dnn_ctr2692_ModuleContent .card-description a::after {
    content: "อ่านต่อ  \2192";
    font-family: 'Kanit', sans-serif !important;
    font-size: 14px;
    font-weight: 300;
    color: #11b7c9;
}

.side-menu-box {
    padding: 14px 12px 8px;
    width: 100%;
    max-width: 375px;
    box-sizing: border-box;
}

.side-menu-title {
    margin: 0 0 12px;
    padding-bottom: 8px;
    font-family: 'Kanit', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,0.65);
}

.side-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.side-menu-list li a {
    display: block;
    padding: 9px 0;
    font-family: 'Kanit', sans-serif;
    font-size: 1rem;
    font-weight: 300;
    color: #fff;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.side-menu-list li a:hover {
    background-color: rgba(0, 179, 201, 0.7);
    color: #fff;
}


.side-menulink-box {
    width: 100%;
}

.side-menulink-title {
    margin: 0;
    padding: 12px 15px;
    /*background: transparent !important;*/
    background: rgba(0, 179, 201, 0.4);;
    color: #0F2C4C;
}

.side-menulink-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.side-menulink-list li a {
    display: block;
    padding: 8px 8px;
    color: #fff;
    font-weight: 300;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.side-menulink-list li a:hover {
    background-color: rgba(0, 179, 201, 0.35);
    color: #fff;
}

.hr-menu {
  border-bottom: 1px solid #bdbdbd; /* สีเทา ปรับได้ */
  padding-bottom: 2px;             /* เว้นระยะให้สวย (ปรับได้) */
}

.card-qa-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
}

.card-qa {
  border: 1px solid #00B3C9;
  border-radius: 12px;
  background: #DCECEF;
  padding: 24px;
  min-height: 280px;
  box-sizing: border-box;

  display: flex;
  flex-direction: column;
}

.card-qa-content {
  flex-grow: 1;
}
.eds_box13-n1 {
background-color: rgba(255, 255, 255, 1); 
border-radius: 20px 20px 20px 20px;
border: 1px solid #00B3C9;
}
.card-studentsupport {
  border: 1px solid #00B3C9;
  border-radius: 12px;
  background: rgba(255, 255, 255, 1);
  padding: 24px;
  min-height: 280px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  transform: translateY(-60px);
}

#dnn_ctr2835_ModuleContent .eds_news_Ozone.eds_subCollection_news .edn_mediaContainer {
    width: 300px !important;
    max-width: none !important;
    font-family: 'Kanit', sans-serif !important;
}

#dnn_ctr2835_ModuleContent .eds_news_Ozone.eds_subCollection_news .edn_mediaContainer img {
    width: 100% !important;
    height: auto !important;
    display: block;
    font-family: 'Kanit', sans-serif !important;
}

#dnn_ctr2835_ModuleContent .edn_readMore.edn_readMoreButton {
    font-size: 0 !important;
    font-family: 'Kanit', sans-serif !important;
}

/* ใส่ข้อความใหม่ */
#dnn_ctr2835_ModuleContent .edn_readMore.edn_readMoreButton::before {
    content: "ดูรายละเอียด";
    font-size: 1rem;
    line-height: 1.2;
    font-family: 'Kanit', sans-serif !important;
}
#dnn_ctr2835_ModuleContent .edn_readMore.edn_readMoreButton::after {
    content: "\f061";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #2d2d30;
    font-size: 11px;
    margin-left: 6px;
}
#dnn_ctr2835_ModuleContent .edn_article.edn_clearFix {
    border: 2px solid #00B3C9 !important;
    border-radius: 14px !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

/* 2839 */

#dnn_ctr2839_ModuleContent .eds_news_Ozone.eds_subCollection_news .edn_mediaContainer {
    width: 300px !important;
    max-width: none !important;
    font-family: 'Kanit', sans-serif !important;
}

#dnn_ctr2839_ModuleContent .eds_news_Ozone.eds_subCollection_news .edn_mediaContainer img {
    width: 100% !important;
    height: auto !important;
    display: block;
    font-family: 'Kanit', sans-serif !important;
}

#dnn_ctr2839_ModuleContent .edn_readMore.edn_readMoreButton {
    font-size: 0 !important;
    font-family: 'Kanit', sans-serif !important;
}

/* ใส่ข้อความใหม่ */
#dnn_ctr2839_ModuleContent .edn_readMore.edn_readMoreButton::before {
    content: "ดูรายละเอียด";
    font-size: 1rem;
    line-height: 1.2;
    font-family: 'Kanit', sans-serif !important;
}
#dnn_ctr2839_ModuleContent .edn_readMore.edn_readMoreButton::after {
    content: "\f061";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #2d2d30;
    font-size: 11px;
    margin-left: 6px;
}
#dnn_ctr2839_ModuleContent .edn_article.edn_clearFix {
    border: 2px solid #00B3C9 !important;
    border-radius: 14px !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.lecturer-profile {
    --np-primary: #006f7c;
    --np-secondary: #00a7b5;
    --np-accent: #d9f3f5;
    --np-dark: #17343a;
    --np-text: #3d5054;
    --np-light: #f5fafb;
    --np-white: #ffffff;
    --np-border: #dce9eb;

    max-width: 1050px;
    margin: 30px auto;
    font-family: "Sarabun", "Noto Sans Thai", Arial, sans-serif;
    color: var(--np-text);
    line-height: 1.7;
}

.lecturer-profile * {
    box-sizing: border-box;
}

.lecturer-profile__card {
    overflow: hidden;
    background: var(--np-white);
    border: 1px solid var(--np-border);
    border-radius: 22px;
    box-shadow: 0 12px 35px rgba(16, 73, 82, 0.12);
}

/* Header */
.lecturer-profile__header {
    position: relative;
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 38px 42px;
    overflow: hidden;
    color: var(--np-white);
    background:
        linear-gradient(
            125deg,
            rgba(0, 89, 101, 0.97),
            rgba(0, 167, 181, 0.90)
        );
}

.lecturer-profile__header::before,
.lecturer-profile__header::after {
    position: absolute;
    content: "";
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
}

.lecturer-profile__header::before {
    top: -85px;
    right: -60px;
    width: 230px;
    height: 230px;
}

.lecturer-profile__header::after {
    right: 130px;
    bottom: -110px;
    width: 180px;
    height: 180px;
}

.lecturer-profile__avatar {
    position: relative;
    z-index: 2;
    display: flex;
    flex: 0 0 126px;
    align-items: center;
    justify-content: center;
    width: 126px;
    height: 126px;
    border: 2px solid rgba(255, 255, 255, 0.88);
    border-radius: 50%;
    color: var(--np-primary);
    background: var(--np-white);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
    font-family: Arial, sans-serif;
    font-size: 42px;
    font-weight: 700;
    letter-spacing: 1px;

    /* เลื่อนรูปลง */
    transform: translateY(12px);
}

.lecturer-profile__identity {
    position: relative;
    z-index: 2;
    flex: 1;
}

.lecturer-profile__thai-name {
    margin: 0 0 3px;
    color: var(--np-white);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.35;
}

.lecturer-profile__english-name {
    margin: 0 0 13px;
    color: rgba(255, 255, 255, 0.88);
    font-family: Arial, sans-serif;
    font-size: 19px;
    font-weight: 400;
}

.lecturer-profile__email {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--np-white);
    font-family: Arial, sans-serif;
    font-size: 15px;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.lecturer-profile__email:hover {
    color: var(--np-white);
    text-decoration: underline;
    opacity: 0.85;
}

.lecturer-profile__email-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
}

/* Professional Recognition */
.lecturer-profile__recognition {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 0;
    padding: 25px 42px;
    border-bottom: 1px solid var(--np-border);
    background: linear-gradient(90deg, #effafb, #ffffff);
}

.lecturer-profile__badge {
    display: flex;
    flex: 0 0 72px;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border: 2px solid var(--np-secondary);
    border-radius: 18px;
    color: var(--np-primary);
    background: var(--np-white);
    box-shadow: 0 6px 18px rgba(0, 111, 124, 0.12);
    font-family: Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
}

.lecturer-profile__recognition-title {
    margin: 0 0 4px;
    color: var(--np-primary);
    font-size: 17px;
    font-weight: 700;
}

.lecturer-profile__recognition-text {
    margin: 0;
    color: var(--np-text);
    font-size: 15.5px;
}

.lecturer-profile__fhea {
    color: var(--np-primary);
    font-family: Arial, sans-serif;
    font-weight: 700;
}

/* Main content */
.lecturer-profile__content {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.75fr);
    gap: 32px;
    padding: 38px 42px 42px;
}

.lecturer-profile__section {
    margin-bottom: 32px;
}

.lecturer-profile__section:last-child {
    margin-bottom: 0;
}

.lecturer-profile__heading {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0 0 21px;
    color: var(--np-dark);
    font-size: 21px;
    font-weight: 700;
}

.lecturer-profile__heading::before {
    display: block;
    width: 5px;
    height: 25px;
    border-radius: 10px;
    content: "";
    background: linear-gradient(
        180deg,
        var(--np-primary),
        var(--np-secondary)
    );
}

/* Education timeline */
.lecturer-profile__education {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lecturer-profile__education::before {
    position: absolute;
    top: 9px;
    bottom: 16px;
    left: 8px;
    width: 2px;
    content: "";
    background: var(--np-border);
}

.lecturer-profile__education-item {
    position: relative;
    margin-bottom: 22px;
    padding-left: 34px;
}

.lecturer-profile__education-item:last-child {
    margin-bottom: 0;
}

.lecturer-profile__education-item::before {
    position: absolute;
    top: 7px;
    left: 1px;
    width: 16px;
    height: 16px;
    border: 4px solid var(--np-accent);
    border-radius: 50%;
    content: "";
    background: var(--np-secondary);
}

.lecturer-profile__degree {
    margin: 0 0 2px;
    color: var(--np-dark);
    font-family: Arial, "Sarabun", sans-serif;
    font-size: 16px;
    font-weight: 700;
}

.lecturer-profile__university {
    margin: 0;
    color: #65777a;
    font-size: 15px;
}

/* Expertise */
.lecturer-profile__sidebox {
    padding: 25px;
    border: 1px solid var(--np-border);
    border-radius: 18px;
    background: var(--np-light);
}

.lecturer-profile__expertise {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.lecturer-profile__tag {
    display: inline-block;
    padding: 8px 14px;
    border: 1px solid #b9e1e5;
    border-radius: 50px;
    color: var(--np-primary);
    background: var(--np-white);
    font-size: 14px;
    font-weight: 600;
}

/* CV button */
.lecturer-profile__cv-area {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--np-border);
}

.lecturer-profile__cv-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    padding: 12px 18px;
    border: 2px solid var(--np-primary);
    border-radius: 12px;
    color: var(--np-white);
    background: var(--np-primary);
    font-family: Arial, "Sarabun", sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.lecturer-profile__cv-button:hover {
    color: var(--np-primary);
    background: var(--np-white);
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0, 111, 124, 0.16);
}

.lecturer-profile__cv-note {
    margin: 9px 0 0;
    color: #819195;
    font-size: 12px;
    text-align: center;
}

/* Responsive */
@media (max-width: 768px) {
    .lecturer-profile {
        margin: 18px auto;
    }

    .lecturer-profile__card {
        border-radius: 16px;
    }

    .lecturer-profile__header {
        flex-direction: column;
        padding: 32px 24px;
        text-align: center;
    }



    .lecturer-profile__thai-name {
        font-size: 25px;
    }

    .lecturer-profile__english-name {
        font-size: 17px;
    }

    .lecturer-profile__recognition {
        align-items: flex-start;
        padding: 24px;
    }

    .lecturer-profile__badge {
        flex-basis: 58px;
        width: 58px;
        height: 58px;
        border-radius: 14px;
        font-size: 14px;
    }

    .lecturer-profile__content {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 30px 24px 34px;
    }
}

@media (max-width: 480px) {
    .lecturer-profile__recognition {
        flex-direction: column;
    }

    .lecturer-profile__email {
        font-size: 14px;
    }
}

