body {
font-size: 14px;
 /* -webkit-filter: grayscale(100%); /* New WebKit */ */
    /* -moz-filter: grayscale(100%); */
    /* -ms-filter: grayscale(100%); */
    /* -o-filter: grayscale(100%); */
    /* filter: grayscale(100%); */
     /* filter: gray; /* IE 6-9 */ */
}

.black-ribbon {   
position: fixed;   
z-index: 9999;   
width: 70px; 
}
@media only all and (min-width: 768px) { .black-ribbon { width: auto; } }

.stick-left { left: 0; }
.stick-right { right: 0; }
.stick-top { top: 0; }
.stick-bottom { bottom: 0; }



@font-face {
    font-family: 'bangna_newregular';
    src: url('../fonts/bangna-new-webfont.eot');
    src: url('../fonts/bangna-new-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/bangna-new-webfont.woff2') format('woff2'),
         url('../fonts/bangna-new-webfont.woff') format('woff'),
         url('../fonts/bangna-new-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

.main-contain{
	position: absolute;  
	top: 0px;   
	left: 0px;  
	width: 100%;   
	height: 100%;   
	overflow: hidden;
}

	#overlay {   
	position: fixed;  
	top: 0px;   
	left: 0px;  
	background: #fff;   
	width: 100%;   
	height: 100%;   
	opacity: .9;   
	filter: alpha(opacity=90);   
	-moz-opacity: .9;  
	z-index: 9999;
	display: none;
}   


.carousel-inner img {
width:100%;
max-height:320px;
}

/* Footer */
footer
{
font-family: 'bangna_newregular';
text-align: center;
padding-top: 0px;
}

/*.panel-primary
{
	margin-top: 10px;
}
*/

.panel-danger>.panel-heading { background-color: var(--color-primary,#b81e0d);border-color:var(--color-primary,#b81e0d);font-family: 'bangna_newregular';}
.panel-danger>.panel-heading> h3 {font-family:'bangna_newregular';font-weight:bold;font-size:22px;};
.panel-danger>.panel-title { font-size:20px; }
.panel-danger>.panel-footer {  background-color: #ebccd1;border-top: 1px solid #ebccd1; }
.panel-danger {border-color:var(--color-primary,#b81e0d);};

/* Section headings on homepage — ใช้สีธีม */
.section-head,
.alert.section-head,
div.alert-danger.section-head {
    background-color: var(--color-primary, #b81e0d) !important;
    border-color:     var(--color-primary, #b81e0d) !important;
    color: #fff !important;
    border-radius: 4px;
    margin-bottom: 10px;
}
.section-head h1, .section-head h2,
.section-head h3, .section-head h4 {
    color: #fff !important;
}


.navbar-default {   background-color: var(--color-primary,#b81e0d);   border-color: var(--color-primary,#b81e0d);	font-family: 'bangna_newregular';	    border-radius: unset;	}
.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:focus, .navbar-default .navbar-nav>.active>a:hover {
    color: #FFFFFF;
    background-color: var(--color-secondary,#f79388);
}
.navbar-default .navbar-nav>li>a {   color: var(--color-nav-text,#FFFFFF); }
.navbar-default .navbar-nav>li>a:focus, .navbar-default .navbar-nav>li>a:hover {   color: var(--color-secondary,#A9D0F5);    background-color: transparent; }

.navbar-custom {    color: #FFFFFF;    background-color: #0000ff;}

.nav h4 {font-family: 'bangna_newregular';color:#FFFFFF;font-size:16px;    font-weight: bold;}
.nav-pills>li.active>a{ font-family: 'bangna_newregular';background-color: var(--color-accent,#2e64fe);	font-size:16px;    font-weight: bold;	}
.nav-pills>li.active>a:focus, .nav-pills>li.active>a:hover {font-family: 'bangna_newregular';    background-color: var(--color-accent,#337ab7);	font-size:16px; font-weight: bold;}

.nav-pills>li>h4>a{
    position: relative;
    display: block;
    padding: 8px 15px;
	border-radius: 4px;
	}
.nav-pills>li>h4>a:focus, .nav-pills>li>h4>a:hover {	color:#FFFFFF; background-color: var(--color-accent,#2e64fe);text-decoration: none;}
.navbar-inverse {   font-family: 'bangna_newregular';  font-weight:bold;border-radius: unset;	}
.navbar-inverse .navbar-nav>li>a { color: #ffffff;}
.navbar-inverse .navbar-nav>li>a:hover { color: black;}


/* Right Menu*/
.rmenu { margin-top:3px;font-family: 'bangna_newregular'; }
.rmenu h4 { font-weight:bold; }
.rmenu a:hover { color:black;}

/* box-example*/
.bs-example {
	position: relative;
    padding: 4px 15px 15px;
    margin: 5px -15px 15px;
    border-color: #e5e5e5 #eee #eee;
    border-style: solid;
    border-width: 1px 0;
    -webkit-box-shadow: inset 0 3px 6px rgba(0,0,0,.05);
    box-shadow: inset 0 3px 6px rgba(0,0,0,.05);
	}

.bs-example ul {margin-top: 4px;}
.bs-example ul li {padding-left: 9px;padding-top:2px;}


.footer {
    font-family: 'bangna_newregular';
    background-color: var(--color-primary, #b81e0d);
    background-image: linear-gradient(rgba(0,0,0,0.25), rgba(0,0,0,0.25));
    color: #fff;
    padding: 10px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}

.contact
{
	font-family: 'bangna_newregular';
	background-color: #EDEDED ;
}
.contact h5
{
	font-family: 'bangna_newregular';
	text-transform: uppercase;
	font-size: 25px;
	font-weight: bold;
	margin-top: -14px;
}

.contact h6
{
	font-family: 'bangna_newregular';
	text-align: center;
	text-transform: uppercase;
	font-size: 28px;
	font-weight: bold;
}

.contact hr
{
	width: 40px;
	margin-bottom: 45px;
}

.contact .contact-holder
{
	padding-left: 40px;
	text-align: left;
}

.contact .contact-holder h6
{
	margin-bottom: 15px;
	text-align: left;
}

.contact .contact-holder p
{
	margin-bottom: 30px;
}

#calendar{
    width:750px;    
    margin:auto;
}



.thumbnail2 img{width:230px;height:150px;margin:5px;border:solid 1px #CCCCCC;
padding:5px;
margin-top:15px;
margin-right:12px;}

 .thumbnail img{width:170px;height:135px;margin:5px;}
        /*canvas{border:1px solid red;} */

.circle {
	position:relative;
	border-radius:50%;
	-moz-border-radius:50%;
	-webkit-border-radius:50%;
	border:10px solid rgba(255,255,255,.10);
	width:auto;
	height:200px;
	overflow:hidden;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s  ease;
	-o-transition: all .3s  ease;
	-ms-transition: all .3s  ease;
	transition: all .3s ease;
	background-color:#2E64FE;
}

/* Blur + Gray Scale */
.hover10 figure img {
	-webkit-filter: grayscale(0) blur(0);
	filter: grayscale(0) blur(0);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.hover10 figure:hover img {
	-webkit-filter: grayscale(100%) blur(1px);
	filter: grayscale(100%) blur(1px);
}
:focus {
  outline: none;
}
.row {
  margin-right: 0;
  margin-left: 0;
}
/* 
    Sometimes the sub menus get too large for the page and prevent the menu from scrolling, limiting functionality
    A quick fix is to change .side-menu to 

    -> position:absolute
    
    and uncomment the code below.
    You also need to uncomment 
    
    -> <div class="absolute-wrapper"> </div> in the html file

    you also need to tweek the animation. Just uncomment the code in that section
    --------------------------------------------------------------------------------------------------------------------
    If you want to make it really neat i suggest you look into an alternative like http://areaaperta.com/nicescroll/
    This will allow the menu to say fixed on body scoll and scoll on the side bar if it get to large
*/
/*.absolute-wrapper{
    position: fixed;
    width: 300px;
    height: 100%;
    background-color: #f8f8f8;
    border-right: 1px solid #e7e7e7;
}*/

.side-menu {
  height: 100%;
  /*background-color: #f8f8f8;*/
  border-right: 1px solid #e7e7e7;
  margin-top:10px;
}
.side-menu .navbar {
font-family: bangna_newregular;
 background-color: var(--color-primary,#b81e0d);
 border: none;
 border-radius: unset;
}
.side-menu .navbar-header {
  width: 100%;
  border-bottom: 1px solid #e7e7e7;
}
.side-menu .navbar-nav .active a {
  background-color: transparent;
  margin-right: -1px;
  border-right: 5px solid #e7e7e7;
}
.side-menu .navbar-nav li {
  display: block;
  width: 100%;
  border-bottom: 1px solid #e7e7e7;
}
.side-menu .navbar-nav li a {
  font-weight: bold;
  padding: 15px;
  
}

.side-menu .navbar-nav li a:hover {
color:black;
}
.side-menu .navbar-nav li a .glyphicon {
  padding-right: 4px;
}
.side-menu #dropdown {
  border: 0;
  margin-bottom: 0;
  border-radius: 0;
  background-color: transparent;
  box-shadow: none;
  color:black;
}
.side-menu #dropdown .caret {
  float: right;
  margin: 9px 5px 0;
}
.side-menu #dropdown .indicator {
  float: right;
}
.side-menu #dropdown > a {
 border-bottom: 1px solid #e7e7e7;
}
.side-menu #dropdown .panel-body {
  padding: 0;
  /*background-color: #f3f3f3;*/
  background-color: var(--color-secondary,#f25240);
}
.side-menu #dropdown .panel-body .navbar-nav {
  width: 100%;
}
.side-menu #dropdown .panel-body .navbar-nav li {
   font-size:12px;
  padding-left: 10px;
  border-bottom: 1px solid #e7e7e7;
}
.side-menu #dropdown .panel-body .navbar-nav li:last-child {
  border-bottom: none;
}
.side-menu #dropdown .panel-body .panel > a {
  margin-left: -20px;
  padding-left: 35px;
}

.side-menu #dropdown .panel-body .panel-body {
  margin-left: -15px;
}
.side-menu #dropdown .panel-body .panel-body li {
  padding-left: 30px;
}

.side-menu #dropdown .panel-body .panel-body li:last-child {
  border-bottom: 1px solid #e7e7e7;
}
.side-menu #search-trigger {
  background-color: #f3f3f3;
  border: 0;
  border-radius: 0;
  position: absolute;
  top: 0;
  right: 0;
  padding: 15px 18px;
}
.side-menu .brand-name-wrapper {
  min-height: 50px;
}
.side-menu .brand-name-wrapper .navbar-brand {
  display: block;
}
.side-menu #search {
  position: relative;
  z-index: 1000;
}
.side-menu #search .panel-body {
  padding: 0;
}
.side-menu #search .panel-body .navbar-form {
  padding: 0;
  padding-right: 50px;
  width: 100%;
  margin: 0;
  position: relative;
  border-top: 1px solid #e7e7e7;
}
.side-menu #search .panel-body .navbar-form .form-group {
  width: 100%;
  position: relative;
}
.side-menu #search .panel-body .navbar-form input {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  width: 100%;
  height: 50px;
}
.side-menu #search .panel-body .navbar-form .btn {
  position: absolute;
  right: 0;
  top: 0;
  border: 0;
  border-radius: 0;
  background-color: #f3f3f3;
  padding: 15px 18px;
}
/* Main body section */
.side-body {
  margin-left: 310px;
}
/* small screen */
@media (max-width: 768px) {
  .side-menu {
    position: relative;
    width: 100%;
    height: 0;
    border-right: 0;
    border-bottom: 1px solid #e7e7e7;
	border-radius: 0px;
  }
  .side-menu .brand-name-wrapper .navbar-brand {
    display: inline-block;
  }
  /* Slide in animation */
  @-moz-keyframes slidein {
    0% {
      left: -300px;
    }
    100% {
      left: 10px;
    }
  }
  @-webkit-keyframes slidein {
    0% {
      left: -300px;
    }
    100% {
      left: 10px;
    }
  }
  @keyframes slidein {
    0% {
      left: -300px;
    }
    100% {
      left: 10px;
    }
  }
  @-moz-keyframes slideout {
    0% {
      left: 0;
    }
    100% {
      left: -300px;
    }
  }
  @-webkit-keyframes slideout {
    0% {
      left: 0;
    }
    100% {
      left: -300px;
    }
  }
  @keyframes slideout {
    0% {
      left: 0;
    }
    100% {
      left: -300px;
    }
  }
  /* Slide side menu*/
  /* Add .absolute-wrapper.slide-in for scrollable menu -> see top comment */
  .side-menu-container > .navbar-nav.slide-in {
    -moz-animation: slidein 300ms forwards;
    -o-animation: slidein 300ms forwards;
    -webkit-animation: slidein 300ms forwards;
    animation: slidein 300ms forwards;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
  }
.side-menu-container > .navbar-nav {
    /* Add position:absolute for scrollable menu -> see top comment */
    position: fixed;
    left: -300px;
    width: 300px;
    top: 43px;
    height: 100%;
    border-right: 1px solid #e7e7e7;
    /*background-color: #f8f8f8;*/
	background-color: var(--color-primary,#b81e0d);
    -moz-animation: slideout 300ms forwards;
    -o-animation: slideout 300ms forwards;
    -webkit-animation: slideout 300ms forwards;
    animation: slideout 300ms forwards;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
  }
  /* Uncomment for scrollable menu -> see top comment */
  /*.absolute-wrapper{
        width:285px;
        -moz-animation: slideout 300ms forwards;
        -o-animation: slideout 300ms forwards;
        -webkit-animation: slideout 300ms forwards;
        animation: slideout 300ms forwards;
        -webkit-transform-style: preserve-3d;
        transform-style: preserve-3d;
    }*/
  @-moz-keyframes bodyslidein {
    0% {
      left: 0;
    }
    100% {
      left: 300px;
    }
  }
  @-webkit-keyframes bodyslidein {
    0% {
      left: 0;
    }
    100% {
      left: 300px;
    }
  }
  @keyframes bodyslidein {
    0% {
      left: 0;
    }
    100% {
      left: 300px;
    }
  }
  @-moz-keyframes bodyslideout {
    0% {
      left: 300px;
    }
    100% {
      left: 0;
    }
  }
  @-webkit-keyframes bodyslideout {
    0% {
      left: 300px;
    }
    100% {
      left: 0;
    }
  }
  @keyframes bodyslideout {
    0% {
      left: 300px;
    }
    100% {
      left: 0;
    }
  }
  /* Slide side body*/
  .side-body {
    margin-left: 5px;
    margin-top: 70px;
    position: relative;
    -moz-animation: bodyslideout 300ms forwards;
    -o-animation: bodyslideout 300ms forwards;
    -webkit-animation: bodyslideout 300ms forwards;
    animation: bodyslideout 300ms forwards;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
  }
  .body-slide-in {
    -moz-animation: bodyslidein 300ms forwards;
    -o-animation: bodyslidein 300ms forwards;
    -webkit-animation: bodyslidein 300ms forwards;
    animation: bodyslidein 300ms forwards;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
  }
  /* Hamburger */
  .navbar-toggle {
    border: 0;
    float: right;
    padding: 18px;
    margin: 0;
    border-radius: 0;
    background-color: var(--color-secondary,#f25240);
  }
  /* Search */
  #search .panel-body .navbar-form {
    border-bottom: 0;
  }
  #search .panel-body .navbar-form .form-group {
    margin: 0;
  }
  .navbar-header {
    /* this is probably redundant */
    /*position: fixed;*/
    z-index: 3;
    /*background-color: #f8f8f8;*/
  }
  /* Dropdown tweek */
  #dropdown .panel-body .navbar-nav {
    margin: 0;
  }
}

/* General Responsive Fixes */
body {
  overflow-x: hidden;
}

html {
  overflow-x: hidden;
}

/* Desktop - Keep normal navbar behavior */
@media (min-width: 992px) {
  .navbar-inverse {
    width: 100%;
  }
  
  .navbar-header {
    width: auto;
  }
  
  .navbar-brand {
    padding: 5px 15px;
  }
  
  /* Ensure dropdown menus are visible */
  .navbar-inverse .navbar-nav .dropdown-menu {
    position: absolute;
    float: left;
    background-color: var(--color-primary,#d9230f);
    border: 1px solid rgba(0,0,0,.15);
    box-shadow: 0 6px 12px rgba(0,0,0,.175);
    min-width: 250px;
    max-height: 80vh;
    overflow-y: auto;
  }

  .navbar-inverse .navbar-nav .dropdown-menu>li>a {
    color: var(--color-secondary,#fac0ba);
  }
  
  .navbar-inverse .navbar-nav .dropdown-menu>li>a:hover,
  .navbar-inverse .navbar-nav .dropdown-menu>li>a:focus {
    color: #ffffff;
    background-color: rgba(0,0,0,0.1);
  }
}

/* Mobile Responsive Styles */
@media (max-width: 991px) {
  /* Prevent horizontal scrolling */
  body {
    font-size: 13px;
    max-width: 100vw;
  }
  
  html {
    max-width: 100vw;
  }
  
  /* ซ่อน overlay บนมือถือ */
  #overlay {
    display: none !important;
  }
  
  /* Fix navbar width on mobile/tablet */
  .navbar-inverse {
    width: 100%;
    max-width: 100vw;
  }
  
  .navbar-header {
    width: 100%;
    max-width: 100%;
  }
  
  .navbar-brand {
    padding: 5px 10px !important;
    max-width: 180px !important;
  }
  
  .navbar-brand img {
    max-height: 35px !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
  }
  
  .navbar-inverse .navbar-nav {
    margin: 0;
    width: 100%;
  }
  
  .navbar-inverse .navbar-nav>li>a {
    padding: 12px 15px;
    font-size: 14px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    white-space: normal;
    word-wrap: break-word;
  }
  
  /* Mobile dropdown menu - full width, static */
  .navbar-inverse .navbar-nav .dropdown-menu {
    background-color: var(--color-primary,#d9230f);
    border: none;
    box-shadow: none;
    position: static;
    float: none;
    width: 100%;
    max-height: none;
    overflow-y: visible;
  }

  .navbar-inverse .navbar-nav .dropdown-menu>li>a {
    color: var(--color-secondary,#fac0ba);
    padding: 10px 15px 10px 30px;
    font-size: 13px;
    white-space: normal;
    word-wrap: break-word;
  }
  
  .navbar-inverse .navbar-nav .dropdown-menu>li>a:hover {
    background-color: rgba(0,0,0,0.2);
    color: #ffffff;
  }
  
  .navbar-inverse .navbar-nav .dropdown-menu .divider {
    background-color: rgba(255,255,255,0.1);
  }
  
  /* ปรับ panel heading สำหรับมือถือ */
  .panel-danger>.panel-heading h3,
  .alert h4 {
    font-size: 18px !important;
  }
  
  /* ปรับ carousel สำหรับมือถือ */
  .carousel-inner img {
    max-height: 250px;
  }
  
  /* ปรับ iframe ให้ responsive */
  iframe {
    max-width: 100% !important;
    height: auto !important;
  }
  
  /* ปรับ thumbnail gallery */
  .thumbnail {
    margin-bottom: 15px;
  }
  
  /* ซ่อนภาพพื้นหลังที่ไม่จำเป็นบนมือถือ */
  .main-contain {
    background-size: cover;
  }
  
  /* ปรับ container ให้เต็มจอ */
  .container {
    width: 100% !important;
    max-width: 100vw !important;
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
  }
  
  /* Fix any wide content */
  * {
    max-width: 100vw;
  }
  
  img {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* Extra small mobile adjustments */
@media (max-width: 575px) {
  body {
    font-size: 13px;
  }
  
  .carousel-inner img {
    max-height: 200px;
  }
  
  .panel-danger>.panel-heading h3,
  .alert h4 {
    font-size: 16px !important;
  }
}

/* Tablet Responsive Styles */
@media (min-width: 576px) and (max-width: 991px) {
  body {
    font-size: 13.5px;
  }
  
  .carousel-inner img {
    max-height: 280px;
  }
  
  .panel-danger>.panel-heading h3,
  .alert h4 {
    font-size: 20px !important;
  }
}

/* Right sidebar widgets — no gaps between boxes */
.col-md-3 > div {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0;
    font-size: 0;
}
.col-md-3 > div img {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    vertical-align: top;
    line-height: 1;
    font-size: 1rem;
}
.col-md-3 > div a {
    display: block;
    line-height: 0;
    font-size: 0;
    margin: 0;
    padding: 0;
}

/* Facebook plugin — let SDK control height, only force width */
.fb-page,
.fb-page span,
.fb-page iframe {
    width: 100% !important;
    max-width: 100% !important;
}
.fb-page { line-height: 1; font-size: 1rem; }

/* =================================================================
   MODERN UI v2.0 — ปรับปรุง UX/UI 2026
   ================================================================= */

/* ── Global smooth transitions ── */
a { transition: color 0.15s ease; }
.btn { transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease; }

/* ── Better panels ── */
.panel {
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.07);
    overflow: hidden;
}
.panel-heading { padding: 13px 18px; }
.panel-title   { font-size: 16px; font-weight: bold; }
.panel-footer  { background: #f8f8f8; border-top: 1px solid #efefef; padding: 10px 18px; }

/* ── Year selector bar ── */
.year-selector {
    background: #fff;
    padding: 13px 16px;
    border-radius: 8px;
    margin-bottom: 18px;
    box-shadow: 0 1px 5px rgba(0,0,0,0.07);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}
.year-selector h4 { margin: 0; font-size: 15px; }
.year-selector p  { margin: 2px 0 0; color: #999; font-size: 13px; }
.year-selector-left { flex: 1; min-width: 180px; }
.year-selector select.form-control { min-width: 145px; border-radius: 6px; }

/* ── Empty state ── */
.empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #ccc;
}
.empty-state .empty-icon { font-size: 54px; display: block; margin-bottom: 14px; }
.empty-state h3 { color: #bbb; font-size: 20px; margin-bottom: 8px; }
.empty-state p  { color: #ccc; font-size: 14px; margin: 0; }

/* ── Photo / Album card grid ── */
.album-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
    gap: 18px;
    margin: 4px 0 18px;
}
.album-item {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    border: 1px solid #f0f0f0;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.album-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.13);
}
.album-image {
    width: 100%; height: 190px;
    object-fit: cover; display: block;
}
.album-placeholder {
    width: 100%; height: 190px;
    background: linear-gradient(135deg, #f7f7f7, #e8e8e8);
    display: flex; align-items: center; justify-content: center;
    color: #ccc; font-size: 40px;
}
.album-content  { padding: 14px 16px 16px; }
.album-title    { font-size: 14px; font-weight: 600; color: #2c3e50; margin-bottom: 8px; line-height: 1.45; }
.album-title a  { color: inherit; text-decoration: none; }
.album-title a:hover { color: var(--color-primary, #b81e0d); }
.album-meta     { font-size: 12px; color: #aaa; margin-bottom: 3px; }
.album-meta i   { width: 14px; text-align: center; }

/* ── Modern list (news / downloads) ── */
.modern-list { list-style: none; padding: 0; margin: 0; }
.modern-list-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 13px 6px;
    border-bottom: 1px solid #f3f3f3;
    border-radius: 0;
    transition: background 0.12s ease;
}
.modern-list-item:last-child { border-bottom: none; }
.modern-list-item:hover { background: #fff8f7; border-radius: 6px; }

/* serial number badge */
.mli-num {
    flex-shrink: 0;
    min-width: 26px; height: 26px;
    background: var(--color-primary, #b81e0d);
    color: #fff;
    border-radius: 50%;
    font-size: 11px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    margin-top: 2px;
}
/* icon badge */
.mli-icon {
    flex-shrink: 0;
    width: 36px; height: 36px;
    background: rgba(184,30,13,0.08);
    color: var(--color-primary, #b81e0d);
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: 15px; margin-top: 1px;
}
.mli-body   { flex: 1; min-width: 0; }
.mli-title  { font-size: 14px; color: #333; line-height: 1.45; margin-bottom: 5px; }
.mli-title a { color: #333; text-decoration: none; }
.mli-title a:hover { color: var(--color-primary, #b81e0d); }
.mli-meta   { font-size: 12px; color: #bbb; line-height: 1.7; }
.mli-meta i { width: 14px; }
.mli-meta span { margin-right: 10px; }

/* file attachment buttons */
.mli-files { flex-shrink: 0; display: flex; gap: 5px; align-items: center; padding-top: 2px; }
.mli-file-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 32px;
    border-radius: 7px;
    font-size: 14px;
    transition: background 0.15s, color 0.15s;
    text-decoration: none;
}
.mli-file-btn:hover { text-decoration: none; }
.mli-file-btn.file1 { background: #fef0ee; color: var(--color-primary, #b81e0d); }
.mli-file-btn.file1:hover { background: var(--color-primary, #b81e0d); color: #fff; }
.mli-file-btn.file2 { background: #edf5ff; color: #2980b9; }
.mli-file-btn.file2:hover { background: #2980b9; color: #fff; }
.mli-file-btn.gsheet { background: #e9f7ef; color: #1e8449; }
.mli-file-btn.gsheet:hover { background: #1e8449; color: #fff; }

/* Google Sheet embed แสดงเต็มความกว้าง ใต้รายการ */
.mli-gsheet-embed { flex-basis: 100%; width: 100%; margin-top: 12px; }
.mli-gsheet-embed iframe { display: block; width: 100%; border: 1px solid #e0e0e0; border-radius: 6px; }

/* ── Modern pagination ── */
.pagination-wrap { margin: 20px 0 10px; text-align: center; }
.pagination-wrap .pagination { margin: 0; display: inline-flex; flex-wrap: wrap; gap: 3px; }
.pagination-wrap .pagination > li > a,
.pagination-wrap .pagination > li > span {
    border-radius: 6px !important;
    border: 1px solid #e0e0e0 !important;
    color: #555; min-width: 36px; text-align: center;
    padding: 5px 10px; font-size: 13px;
    transition: all 0.13s ease;
}
.pagination-wrap .pagination > .active > a,
.pagination-wrap .pagination > .active > span {
    background: var(--color-primary, #b81e0d) !important;
    border-color: var(--color-primary, #b81e0d) !important;
    color: #fff !important;
}
.pagination-wrap .pagination > li > a:hover {
    background: var(--color-secondary, #f79388);
    border-color: var(--color-secondary, #f79388);
    color: #fff;
}
.pagination-wrap .pagination > .disabled > a,
.pagination-wrap .pagination > .disabled > span {
    background: #f9f9f9 !important; color: #ccc !important;
}
.pagination-info { text-align: center; font-size: 12px; color: #bbb; margin-top: 8px; }

/* ── Sidebar (leftmenu) ── */
.sidebar-ceo-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
    padding: 16px 12px 12px;
    margin-bottom: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.sidebar-ceo-card > a {
    display: block;
    line-height: 0;
}
.sidebar-ceo-img {
    width: 110px; height: 110px;
    object-fit: cover; object-position: top;
    border-radius: 50%;
    border: 3px solid var(--color-secondary, #f79388);
    display: block;
    margin-bottom: 10px;
}
.sidebar-ceo-img-placeholder {
    width: 120px; height: 120px;
    border-radius: 50%;
    background: #f5f5f5;
    display: flex; align-items: center; justify-content: center;
    color: #ccc; font-size: 48px;
    margin: 0 auto 10px;
}
.sidebar-ceo-name { font-size: 13px; font-weight: 700; color: #333; margin: 6px 0 8px; }
.sidebar-ceo-pos  { font-size: 11px; color: #777; margin: 0; line-height: 1.5; padding: 2px 4px; background: #f5f5f5; border-radius: 4px; display: inline-block; }

.sidebar-section {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.07);
    overflow: hidden;
    margin-bottom: 10px;
}
.sidebar-section-head {
    background: var(--color-primary, #b81e0d);
    color: #fff;
    padding: 10px 14px;
    font-size: 14px; font-weight: 700;
    display: flex; align-items: center; gap: 8px;
}
.sidebar-nav-link {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 14px;
    color: #444; font-size: 13px;
    border-bottom: 1px solid #f5f5f5;
    text-decoration: none;
    transition: background 0.12s, color 0.12s, padding-left 0.12s;
}
.sidebar-nav-link:last-child { border-bottom: none; }
.sidebar-nav-link i { color: var(--color-primary, #b81e0d); width: 16px; flex-shrink: 0; }
.sidebar-nav-link:hover {
    background: #fff8f7;
    color: var(--color-primary, #b81e0d);
    padding-left: 20px;
    text-decoration: none;
}
.sidebar-phone-note { display: block; color: #bbb; font-size: 11px; margin-top: 1px; }

/* ── Responsive for modern components ── */
@media (max-width: 767px) {
    .album-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
    .year-selector { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 480px) {
    .album-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .album-image, .album-placeholder { height: 130px; }
    .mli-num  { display: none; }
    .mli-files { display: none; }
}