 /*==========================================================================*/
 /*  NRLC WEBSITE STYLESHEET*/
 /*  Palette   : Maroon (brand) + Black-mute (#030303) only*/
 /*  Fonts     : Noto Sans / Noto Sans Devanagari (body) · Merriweather (headings)*/
 /*  Structure : 1. Root & Reset  2.  Header  4. NTop Bar  3.avigation*/
 /*              5. Hero + Events Panel  6. Notification Ticker*/
 /*              7. Left Menu / About / Quick Links  8. Ministry Section*/
 /*              9. News Section  10. Research Section  11. Publications*/
 /*              12. Portal Strip  13. Tabs & Resources  14. Footer*/
 /*              15. Search Modal  16. Global Responsive Overrides*/
 /*  ========================================================================== */

/* ---------- 1. ROOT VARIABLES & RESET ---------- */
:root {
  /* Maroon family (only brand/accent colour used across the site) */
  --maroon-900: #5C0F1C;   /* darkest — hover / pressed states */
  --maroon-700: #8f1b1e;   /* primary brand maroon */
  --maroon-600: #96222F;   /* secondary maroon accent */
  --maroon-tint: rgba(126, 26, 40, .08);   /* faint fill for pills/badges */
  --maroon-border: rgba(126, 26, 40, .18); /* faint border for cards */

  /* Black-mute (only text/neutral-ink colour used across the site) */
  --ink: #030303;

  /* Structural neutrals (backgrounds/borders — not brand colours) */
  --white: #FFFFFF;
  --page-bg: #e4e4e4;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; font-size: 92%; }

body {
  font-family: 'Noto Sans', 'Noto Sans Devanagari', Arial, sans-serif;
  color: var(--ink);
  background-color: var(--page-bg);
  background-image: url("img/nrlc-bg.png");
  background-repeat: repeat;
  background-attachment: fixed;
  min-height: 100vh;
}

/* All headings share one font family, weight and colour */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Merriweather', serif;
  font-weight: 700;
  color: var(--maroon-700);
}

/* Unified "section title" format — used by every section heading
   (About NRLC, Quick Links, Updated news and events, Ministry of Culture,
   Latest News & Events, Research, Publications) so all headings look alike */
.about-text h2,
.quick-links-box h6,
.events-panel h6,
.section-head h2,
.events-title,
.news-title,
.pub-title {
  font-family: 'Merriweather', serif;
  font-weight: 700;
  font-size: 1.35rem;
  color: var(--maroon-700);
  letter-spacing: .2px;
  border-bottom: 3px solid var(--maroon-700);
  display: inline-block;
  padding-bottom: .55rem;
  margin-bottom: 1rem;
}

.hindi { font-family: 'Noto Sans Devanagari', 'Noto Sans', Arial, sans-serif; }

a { text-decoration: none; }

.page-wrap {
  max-width: 1200px;
  margin: 0 auto;
  background: var(--white);
  box-shadow: 0 0 24px rgba(0, 0, 0, .18);
  position: relative;
  z-index: 1;
}

/* ---------- 2. TOP UTILITY BAR ---------- */
.top-bar {
  background: var(--maroon-900);
  color: var(--white);
  font-size: .78rem;
  padding: .35rem 0;
}
.top-bar a { color: var(--white); }
.top-bar a:hover { color: var(--white); text-decoration: underline; }
.top-bar .divider { opacity: .45; margin: 0 .5rem; }
.top-bar-left i { margin: 0 .35rem; font-size: .8rem; }
.font-size-btns span { cursor: pointer; padding: 0 2px; font-weight: 600; }
.font-size-btns span:hover { text-decoration: underline; }
.lang-select { background: transparent; border: none; color: var(--white); font-size: .78rem; }
.lang-select option{
    color:#000;
}
.theme-swatch {
  width: 12px; height: 12px;
  display: inline-block;
  border: 1px solid rgba(255, 255, 255, .6);
  margin-left: 4px;
  cursor: pointer;
  vertical-align: middle;
}

/* ---------- 3. HEADER ---------- */
.site-header { padding: .9rem 0; }

.title-block .hindi-title {
  color: var(--ink);
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.15;
  margin-bottom: 2px;
}
.title-block .eng-title {
  color: var(--maroon-700);
  font-weight: 800;
  font-size: 1.2rem;
  letter-spacing: .3px;
  line-height: 1.2;
}
.title-block .sub-title { color: var(--ink); font-weight: 600; font-size: 1.02rem; }

.emblem-block { text-align: right; }

.amrit-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--maroon-border);
  border-radius: 4px;
  padding: 3px 8px;
  font-size: .68rem;
  font-weight: 700;
  color: var(--maroon-700);
  background: var(--white);
}

/* ---------- 4. MAIN NAVIGATION ---------- */
.main-nav { background: var(--maroon-700); }
.main-nav .navbar-nav .nav-link {
  color: var(--white) !important;
  font-weight: 600;
  font-size: .86rem;
  padding: .75rem .95rem !important;
  border-right: 1px solid rgba(255, 255, 255, .15);
}
.main-nav .navbar-nav .nav-item:first-child .nav-link {
  border-left: 1px solid rgba(255, 255, 255, .15);
}
.main-nav .navbar-nav .nav-link:hover,
.main-nav .navbar-nav .nav-link:focus { background: var(--maroon-900); }
.main-nav .dropdown-menu {
  border-radius: 0;
  border: none;
  box-shadow: 0 6px 14px rgba(0, 0, 0, .25);
  margin-top: 0;
}
.main-nav .dropdown-item { font-size: .85rem; padding: .5rem 1rem; }
.main-nav .dropdown-item:hover { background: var(--maroon-700); color: var(--white); }
.main-nav .search-icon { color: var(--white); font-size: 1rem; padding: .75rem 1.1rem; cursor: pointer; }
.navbar-toggler { border-color: rgba(255, 255, 255, .6); }
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

@media (min-width: 992px) {
  .main-nav .dropdown:hover > .dropdown-menu { display: block; animation: navFade .12s ease; width: inherit; }
  .main-nav .dropdown:hover > .nav-link { background: var(--maroon-900); }
  .main-nav .dropdown-submenu { position: relative; }
  .main-nav .dropdown-submenu > .dropdown-menu { top: 0; left: 100%; margin-top: -1px; }
  .main-nav .dropdown-submenu:hover > .dropdown-menu { display: block; animation: navFade .12s ease; }
  .main-nav .dropdown-submenu:hover > .dropdown-item { background: var(--maroon-700); color: var(--white); }
  .main-nav .dropdown-submenu.open-left > .dropdown-menu { left: auto; right: 100%; }
  .main-nav .dropdown-submenu > .dropdown-toggle::after { display: none; }
  .main-nav .dropdown-submenu > .dropdown-item .submenu-caret {
    margin-left: 10px; font-size: .7rem; opacity: .85; transition: transform .15s ease;
  }
  .main-nav .dropdown-submenu:hover > .dropdown-item .submenu-caret { transform: translateX(3px); }
  @keyframes navFade {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
  }
}

@media (max-width: 991.98px) {
  .main-nav .dropdown-submenu > .dropdown-menu {
    position: static; box-shadow: none; padding-left: 1rem; background: rgba(0, 0, 0, .06);
  }
  .main-nav .dropdown-submenu > .dropdown-toggle::after { display: none; }
  .main-nav .dropdown-submenu > .dropdown-item .submenu-caret {
    float: right; font-size: .8rem; transition: transform .2s ease;
  }
  .main-nav .dropdown-submenu > .dropdown-item[aria-expanded="true"] .submenu-caret { transform: rotate(90deg); }
}

/* ---------- 5. HERO CAROUSEL + FORTHCOMING EVENTS ---------- */
  /* ============ HERO ============ */
  /*:root {*/
  /*  --brand-red: #8f1b1e;*/
  /*  --muted: #777;*/
  /*}*/
  .hero-carousel {
    position: relative;
    background: #111;
  }
  .hero-carousel .carousel-item img {
    width: 100%;
    height: 380px;
    object-fit: contain;
  }
  .hero-caption-bar {
    background: rgba(20, 20, 20, .86);
    color: #eee;
    font-size: .82rem;
    line-height: 1.6;
    padding: .7rem 1rem;
  }
  .hero-carousel .carousel-control-prev,
  .hero-carousel .carousel-control-next {
    width: 42px;
    height: 42px;
    top: 45%;
    background: rgba(255, 255, 255, .85);
    border-radius: 50%;
    opacity: .9;
  }
  .hero-carousel .carousel-control-prev { left: 12px; }
  .hero-carousel .carousel-control-next { right: 12px; }
  .hero-carousel .carousel-control-prev-icon,
  .hero-carousel .carousel-control-next-icon {
    filter: invert(1) grayscale(100);
    width: 1.1rem;
    height: 1.1rem;
  }

  /* ============ Forthcoming Events (Marquee Scroll) ============ */
  .events-panel {
    border-left: 1px solid #eee;
    height: 100%;
    padding: 1rem 1.1rem;
    overflow: hidden;
  }
  .events-panel h6 {
    color: var(--maroon-700);
    font-weight: 800;
    letter-spacing: .4px;
    font-size: .92rem;
    border-bottom: 3px solid var(--maroon-700);
    display: inline-block;
    padding-bottom: 6px;
    margin-bottom: 14px;
  }

  .events-scroll-wrap {
    height: 280px;      /* visible area height - adjust as needed */
    overflow: hidden;
    position: relative;
  }

  .events-scroll-track {
    display: flex;
    flex-direction: column;
    animation: scrollUp 14s linear infinite;
  }

  /* Pause on hover so user can read */
  .events-scroll-wrap:hover .events-scroll-track {
    animation-play-state: paused;
  }

  @keyframes scrollUp {
    0%   { transform: translateY(0); }
    100% { transform: translateY(-50%); } /* content duplicated, so 50% = one full loop */
  }

  .event-item {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
  }
  .event-date-box {
    background:var(--maroon-700);
    color: #fff;
    text-align: center;
    min-width: 46px;
    height: 46px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 2px;
  }
  .event-date-box .day {
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
  }
  .event-date-box .mon {
    font-size: .55rem;
    letter-spacing: .5px;
    text-transform: uppercase;
  }
  .event-info a {
    color: var(--maroon-700);
    font-weight: 700;
    font-size: .85rem;
    text-decoration: none;
  }
  .event-info a:hover {
    text-decoration: underline;
  }
  .event-info .meta {
    font-size: .74rem;
    color: var(--muted);
    margin-top: 3px;
    line-height: 1.5;
  }
  .event-info .meta i {
    width: 14px;
    color:var(--maroon-700);
  }

  .read-more {
    display: inline-block;
    margin-top: 10px;
    font-size: .82rem;
    font-weight: 600;
    color: var(--maroon-700);
    text-decoration: none;
  }
  .read-more:hover {
    text-decoration: underline;
  }

/* ---------- 6. NOTIFICATION TICKER ---------- */
.notify-bar { background: var(--ink); color: var(--white); display: flex; align-items: stretch; overflow: hidden; }
.notify-label {
  background: #1a1a1a;
  font-style: italic; font-weight: 600;
  padding: .55rem 1.1rem;
  white-space: nowrap; flex-shrink: 0;
  font-size: .85rem;
}
.ticker-wrap { overflow: hidden; flex: 1; display: flex; align-items: center; position: relative; }
.ticker-track { display: inline-flex; white-space: nowrap; animation: ticker 32s linear infinite; padding-left: 100%; }
.ticker-wrap:hover .ticker-track { animation-play-state: paused; }
.ticker-track span { padding: 0 2.2rem; font-size: .82rem; }
@keyframes ticker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* ---------- 7. LEFT MENU / ABOUT / QUICK LINKS ---------- */
.side-menu-btn {
  display: flex; align-items: center; gap: 8px;
  background: var(--maroon-700);
  color: var(--white);
  font-weight: 600; font-size: .85rem;
  padding: .65rem .9rem;
  margin-bottom: 6px;
  transition: background .15s;
}
.side-menu-btn i { font-size: .7rem; }
.side-menu-btn:hover { background: var(--maroon-900); color: var(--white); }

.about-text p { font-size: .87rem; line-height: 1.75; color: var(--ink); text-align: justify; }

.read-more { color: var(--maroon-700); font-weight: 700; font-size: .85rem; }
.read-more:hover { text-decoration: underline; }

.quick-links-box { border: 1px solid var(--maroon-border); padding: 1rem 1.1rem; height: 100%; }
.quick-links-box ul { list-style: none; padding: 0; margin: 0; }
.quick-links-box li { padding: .4rem 0; border-bottom: 1px dashed var(--maroon-border); font-size: .83rem; }
.quick-links-box li:last-child { border-bottom: none; }
.quick-links-box a { color: var(--ink); }
.quick-links-box a:hover { color: var(--maroon-700); }
.quick-links-box i { color: var(--maroon-700); font-size: .7rem; margin-right: 6px; }

.badge-new {
  background: var(--maroon-700);
  color: var(--white);
  font-size: .55rem;
  padding: 1px 5px;
  border-radius: 8px;
  margin-left: 4px;
  vertical-align: middle;
  font-weight: 700;
}

/* ---------- 8. MINISTRY OF CULTURE SECTION ---------- */
.ministry-section { padding: 30px 0; }
.section-head { max-width: 640px; margin: 0 0 10px 0; }
.eyebrow {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: .75rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--maroon-700);
  background: var(--maroon-tint);
  padding: 5px 0px;
  border-radius: 999px;
}
.section-head h2::after {
  content: "";
  position: relative;
  left: 0; bottom: 0;
  width: 64px; height: 4px;
  border-radius: 2px;
  background: var(--maroon-700);
}

.feature-banner {
  position: relative;
  height: 100%;
  min-height: 300px;
  border-radius: 8px;
  overflow: hidden;
  padding: 38px 34px;
  display: flex; flex-direction: column; justify-content: flex-end;
  isolation: isolate;
  border: 1px solid var(--maroon-900);
}
.feature-banner .banner-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; z-index: 0; }

.cards-stack { height: 100%; display: flex; flex-direction: column; gap: 16px; }
.ministry-card {
  flex: 1;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  background: var(--white);
  border: 1px solid var(--maroon-border);
  border-radius: 18px;
  padding: 18px 20px;
  box-shadow: 0 2px 10px rgba(92, 15, 28, .05);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ministry-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(92, 15, 28, .12);
  border-color: rgba(92, 15, 28, .18);
}
.ministry-card .card-left { display: flex; align-items: center; gap: 14px; min-width: 0; }

.avatar-ring { position: relative; width: 56px; height: 56px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.avatar-ring::before {
  content: "";
  position: absolute; inset: -4px;
  border-radius: 50%;
  border: 1.5px dashed var(--ring-color, var(--maroon-700));
  opacity: .55;
  transition: transform .6s ease;
}
.ministry-card:hover .avatar-ring::before { transform: rotate(35deg); }
.avatar-ring .monogram {
  width: 100%; height: 100%;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Merriweather', serif;
  font-weight: 700;
  font-size: .78rem;
  color: var(--white);
  background: var(--ring-color, var(--maroon-700));
}

.ministry-card .card-text { min-width: 0; }
.ministry-card .m-name {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: .96rem;
  color: var(--maroon-900);
  margin: 0 0 2px 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ministry-card .m-sub { font-size: .78rem; color: var(--ink); margin: 0; }

.btn-view-profile {
  flex: none;
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .8rem; font-weight: 600;
  color: var(--ring-color, var(--maroon-700));
  background: transparent;
  border: 1px solid var(--maroon-border);
  padding: 8px 14px;
  border-radius: 999px;
  text-decoration: none;
  transition: background .18s ease, color .18s ease;
  white-space: nowrap;
}
.btn-view-profile i { transition: transform .18s ease; }
.btn-view-profile:hover i { transform: translateX(3px); }
.btn-view-profile:hover { background: var(--ring-color, var(--maroon-700)); color: var(--white); }

@media (max-width: 991px) { .feature-banner { min-height: 300px; } }
@media (prefers-reduced-motion: reduce) {
  .ministry-card, .avatar-ring::before, .btn-view-profile, .btn-view-profile i { transition: none; }
  .ministry-card:hover .avatar-ring::before { transform: none; }
}

/* ---------- 9. NEWS SECTION ---------- */
.news-section { max-width: 1300px; padding: .25rem 1.5rem; background: var(--white); box-shadow: 0 2px 10px rgba(0, 0, 0, .08); }
.news-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 1.5rem; }

.view-all-btn {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .82rem; font-weight: 600;
  color: var(--maroon-700);
  border: 1.5px solid var(--maroon-700);
  padding: .4rem .95rem;
  border-radius: 3px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease;
}
.view-all-btn:hover { background: var(--maroon-700); color: var(--white); }
.view-all-btn i { font-size: .7rem; }

.news-carousel-wrap { position: relative; }
.news-track {
  display: flex; gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 4px 2px 12px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.news-track::-webkit-scrollbar { display: none; }

.carousel-arrow {
  position: absolute; top: 100px; transform: translateY(-50%);
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 1px solid var(--maroon-border);
  background: var(--white);
  color: var(--maroon-700);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
  cursor: pointer;
  z-index: 3;
  transition: background .15s ease, color .15s ease;
}
.carousel-arrow:hover { background: var(--maroon-700); color: var(--white); }
.arrow-left { left: -18px; }
.arrow-right { right: -18px; }

.news-card {
  flex: 0 0 auto; width: 300px;
  scroll-snap-align: start;
  background: var(--white);
  border: 1px solid var(--maroon-border);
  border-radius: 6px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
  transition: transform .18s ease, box-shadow .18s ease;
  display: block;
}
.news-card:hover { transform: translateY(-4px); box-shadow: 0 10px 22px rgba(0, 0, 0, .15); }
.news-card-img { position: relative; height: 170px; overflow: hidden; background: #eee; }
.news-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.news-card:hover .news-card-img img { transform: scale(1.06); }
.news-date-badge {
  position: absolute; top: 10px; left: 10px;
  background: var(--maroon-700);
  color: var(--white);
  text-align: center; line-height: 1.1;
  padding: .3rem .55rem;
  border-radius: 3px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .25);
}
.news-date-badge strong { display: block; font-size: 1.05rem; }
.news-date-badge small { display: block; font-size: .62rem; letter-spacing: .04em; }
.news-card-body { padding: .9rem 1rem 1.1rem; }
.news-card-title {
  font-size: .95rem; font-weight: 700; color: var(--ink);
  margin: 0 0 .5rem; line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.news-card:hover .news-card-title { color: var(--maroon-700); }
.news-card-meta { margin: 0; font-size: .78rem; color: var(--ink); display: flex; align-items: center; gap: .35rem; }

@media (max-width: 767.98px) {
  .news-card { width: 240px; }
  .carousel-arrow { top: 85px; }
  .news-header { align-items: center; }
  .news-title { font-size: 1.1rem; }
}

/* ---------- 10. RESEARCH / EVENTS SECTION ---------- */
.events-section { max-width: 1300px; padding: .25rem 1.5rem; background: var(--white); box-shadow: 0 2px 10px rgba(0, 0, 0, .08); }
.events-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 1.5rem; }
.events-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.event-card {
  background: var(--white);
  border: 1px solid var(--maroon-border);
  border-radius: 6px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
  transition: transform .18s ease, box-shadow .18s ease;
  display: block;
  padding: 10px;
}
.event-card:hover { transform: translateY(-4px); box-shadow: 0 10px 22px rgba(0, 0, 0, .15); }
.event-card-img { position: relative; height: 170px; overflow: hidden; background: #eee; }
.event-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.event-card:hover .event-card-img img { transform: scale(1.06); }
.event-card-body { padding: .9rem 1rem 1.1rem; }
.event-card-title {
  font-size: .95rem; font-weight: 700; color: var(--ink);
  margin: 0; line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.event-card:hover .event-card-title { color: var(--maroon-700); }

@media (max-width: 1100px) { .events-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 800px)  { .events-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) {
  .events-grid { grid-template-columns: 1fr; }
  .events-header { align-items: center; }
  .events-title { font-size: 1.1rem; }
}

/* ---------- 11. PUBLICATIONS SECTION ---------- */
.pub-section { max-width: 1300px; padding: 1rem 1.5rem 2rem; background: var(--white); box-shadow: 0 2px 10px rgba(0, 0, 0, .08); }
.pub-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 2rem; }
.pub-view-all {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .82rem; font-weight: 600;
  color: var(--maroon-700);
  border: 1.5px solid var(--maroon-700);
  padding: .4rem .95rem;
  border-radius: 3px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease;
}
.pub-view-all:hover { background: var(--maroon-700); color: var(--white); }

.pub-grid { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 48px; row-gap: 44px; }
.pub-item { display: flex; gap: 18px; text-decoration: none; color: inherit; }
.pub-thumb { position: relative; flex: 0 0 108px; width: 108px; height: 108px; border-radius: 6px; overflow: hidden; background: #ddd; }
.pub-thumb img { width: 100%; height: 100%; object-fit: contain; transition: transform .3s ease; }
.pub-item:hover .pub-thumb img { transform: scale(1.07); }
.pub-thumb::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0; height: 60%;
  background: linear-gradient(to top, rgba(0, 0, 0, .75), rgba(0, 0, 0, 0));
}
.pub-content { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.pub-meta { margin: 0 0 .3rem; font-size: .8rem; color: var(--ink); }
.pub-heading { margin: 0 0 .55rem; font-size: 1.05rem; font-weight: 700; color: var(--ink); line-height: 1.32; }
.pub-item:hover .pub-heading { color: var(--maroon-700); }
.pub-link { display: inline-flex; align-items: center; gap: .4rem; font-size: .88rem; font-weight: 600; color: var(--maroon-700); }
.pub-link .arrow { transition: transform .18s ease; }
.pub-item:hover .pub-link .arrow { transform: translateX(4px); }

@media (max-width: 900px) { .pub-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) {
  .pub-grid { grid-template-columns: 1fr; }
  .pub-header { align-items: center; }
  .pub-title { font-size: 1.1rem; }
}

/* ---------- 12. PORTAL CAROUSEL ---------- */
.portal-strip-wrap { position: relative; padding: 0 46px; }
.portal-strip {
  display: flex; gap: 16px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding-bottom: 4px;
}
.portal-strip::-webkit-scrollbar { display: none; }
.portal-card {
  flex: 0 0 190px;
  border: 1px solid var(--maroon-900);
  height: 70px;
  border-radius: 3px;
  position: relative;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  color: var(--white);
  font-weight: 700; font-size: 1.05rem;
  box-shadow: 0 2px 6px rgba(92, 15, 28, .14);
}
.portal-card img { padding: 5px 20px; width: 170px; object-fit: contain; }
.portal-nav-btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid var(--maroon-border);
  background: var(--white);
  display: flex; align-items: center; justify-content: center;
  color: var(--maroon-700);
  box-shadow: 0 2px 5px rgba(0, 0, 0, .15);
  z-index: 5;
}
.portal-nav-btn.prev { left: 0; }
.portal-nav-btn.next { right: 0; }
.portal-nav-btn:hover { background: var(--maroon-700); color: var(--white); }

/* ---------- 13. TABS & RESOURCES ---------- */
.custom-tabs { border-bottom: 3px solid var(--maroon-700); }
.custom-tabs .nav-link { border: none; border-radius: 0; color: var(--ink); font-weight: 700; font-size: .9rem; padding: .65rem 1.4rem; }
.custom-tabs .nav-link.active { background: var(--maroon-700); color: var(--white); }
.resource-list { list-style: none; padding: 0; margin: 0; }
.resource-list li { padding: .5rem 0; border-bottom: 1px solid #f0f0f0; font-size: .85rem; }
.resource-list a { color: var(--ink); }
.resource-list a:hover { color: var(--maroon-700); }
.resource-list i { color: var(--maroon-700); font-size: .68rem; margin-right: 8px; }

/* ---------- 14. FOOTER ---------- */
footer { background: #fafafa; border-top: 1px solid #e5e5e5; padding: 1.6rem 0 1.2rem; }
.footer-links a { color: var(--ink); font-size: .8rem; }
.footer-links a:hover { color: var(--maroon-700); }
.footer-links .sep { color: #bbb; margin: 0 .5rem; }
.footer-note { font-size: .76rem; color: var(--ink); margin-top: .6rem; }
.social-row { margin-top: 1rem; display: flex; gap: 10px; justify-content: center; }
.social-circle {
  width: 30px; height: 30px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--white);
  font-size: .9rem;
  transition: transform .15s;
  background: var(--maroon-700);
}
.social-circle:hover { transform: translateY(-3px); background: var(--maroon-900); }

/* ---------- 15. SEARCH MODAL ---------- */
.search-modal .modal-content { border: none; border-radius: 6px; overflow: hidden; }
.search-modal .modal-header {
  background: var(--maroon-700);
  color: var(--white);
  border-bottom: none;
  padding: 1rem 1.4rem;
}
.search-modal .modal-title { font-family: 'Merriweather', serif; font-weight: 700; font-size: 1.05rem; }
.search-modal .btn-close { filter: invert(1) grayscale(100); opacity: .9; }
.search-modal .modal-body { padding: 1.4rem; }
.search-modal .input-group .form-control {
  border: 1.5px solid var(--maroon-border);
  font-size: .9rem;
  padding: .6rem .9rem;
}
.search-modal .input-group .form-control:focus {
  border-color: var(--maroon-700);
  box-shadow: 0 0 0 .2rem var(--maroon-tint);
}
.search-modal .btn-search {
  background: var(--maroon-700);
  color: var(--white);
  border: 1.5px solid var(--maroon-700);
  padding: .6rem 1.1rem;
}
.search-modal .btn-search:hover { background: var(--maroon-900); border-color: var(--maroon-900); }

/* ---------- 16. GLOBAL RESPONSIVE OVERRIDES ---------- */
@media (max-width: 991.98px) {
  .events-panel { border-left: none; border-top: 1px solid var(--maroon-border); }
  .emblem-block { text-align: left; margin-top: 1rem; }
}
@media (max-width: 767.98px) {
  .title-block .hindi-title { font-size: 1.15rem; }
  .title-block .eng-title { font-size: 1rem; }
  .hero-carousel .carousel-item img { height: 190px; }
  .portal-card { flex: 0 0 150px; font-size: .85rem; }
}
/* Language toggle */
.lang-toggle-wrap {
    display: flex;
    align-items: center;
    gap: 2px;
}

.lang-btn {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.4);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 3px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    line-height: 1.6;
    font-family: inherit;
}

.lang-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.7);
}

.lang-btn-active {
    background: #fff;
    color: var(--maroon-700); /* your NRLC maroon variable */
    border-color: #fff;
}

/* Hide the Google Translate toolbar that appears at top */
.goog-te-banner-frame,
.skiptranslate {
    display: none !important;
}

body {
    top: 0 !important; /* Google Translate pushes body down — prevent that */
}
/*News Detail*/
  /* =========================================
       NEWS CONTENT BOX
    ========================================== */

    .news-detail-box {
      padding: 30px;
      background: #fff;
    }


    /* =========================================
       SMALL NEWS LABEL
    ========================================== */

    .news-heading {
      margin-bottom: 8px;
    }

    .news-label {
      display: inline-block;

      font-family: "Merriweather", serif;

      font-size: 14px;
      font-weight: 700;

      color: #7b1e2b;

      letter-spacing: 0.8px;
      text-transform: uppercase;

      padding: 0;
      margin: 0;

      border: none;
    }

    /* Remove bottom line */
    .news-label::after {
      display: none;
    }


    /* =========================================
       DATE & TIME
    ========================================== */

    .news-meta {
      display: flex;
      align-items: center;

      gap: 22px;

      margin: 8px 0 16px;

      color: #777;

      font-size: 13px;
    }

    .news-meta span {
      display: inline-flex;
      align-items: center;

      gap: 7px;
    }

    .news-meta i {
      color: #7b1e2b;

      font-size: 13px;
    }


    /* =========================================
       NEWS TITLE
    ========================================== */

    .news-title {
      font-family: "Merriweather", serif;

      font-size: 20px;
      line-height: 1.45;

      font-weight: 700;

      color: #333;

      margin: 0 0 20px;

      padding: 0;

      border: none;
      border-bottom: none;

      text-decoration: none;
    }


    /* =========================================
       NEWS IMAGE
    ========================================== */

    .news-image {
      width: 100%;

      margin-bottom: 24px;

      overflow: hidden;

      border-radius: 2px;
    }

    .news-image img {
      width: 100%;

      height: 350px;

      object-fit: contain;

      display: block;
    }


    /* =========================================
       NEWS DESCRIPTION
    ========================================== */

    .news-description {
      color: #555;

      font-size: 15px;

      line-height: 1.8;
    }

    .news-description p {
      margin-bottom: 16px;
    }


    /* =========================================
       DOCUMENT BOX
    ========================================== */

    .news-document {

      margin-top: 28px;

      padding: 15px 18px;

      border: 1px solid #e5e5e5;

      background: #fafafa;

      display: flex;

      align-items: center;

      justify-content: space-between;

      gap: 20px;
    }


    /* =========================================
       DOCUMENT INFORMATION
    ========================================== */

    .document-info {

      display: flex;

      align-items: center;

      gap: 12px;
    }

    .document-info > i {

      font-size: 32px;

      color: #b3261e;
    }

    .document-info strong {

      display: block;

      color: #333;

      font-size: 14px;

      margin-bottom: 3px;
    }

    .document-info small {

      display: block;

      color: #888;

      font-size: 12px;
    }


    /* =========================================
       DOWNLOAD BUTTON
    ========================================== */

    .download-btn {

      display: inline-flex;

      align-items: center;

      justify-content: center;

      gap: 8px;

      background: #7b1e2b;

      color: #fff;

      padding: 10px 16px;

      text-decoration: none;

      font-size: 13px;

      font-weight: 600;

      border: none;

      transition: all 0.3s ease;
    }

    .download-btn:hover {

      background: #5d1621;

      color: #fff;

      transform: translateY(-1px);
    }

    .download-btn i {

      font-size: 12px;
    }


    /* =========================================
       SIDEBAR
    ========================================== */

    .about-sidebar ul {

      padding: 0;

      margin: 0;

      list-style: none;
    }

    .about-sidebar ul li {

      margin-bottom: 2px;
    }

    .about-sidebar ul li a {

      display: flex;

      align-items: center;

      justify-content: space-between;

      text-decoration: none;
    }


    /* =========================================
       TABLET
    ========================================== */

    @media (max-width: 991px) {

      .news-detail-box {
        padding: 25px;
      }

      .news-title {
        font-size: 19px;
      }

      .news-image img {
        height: 320px;
      }

    }


    /* =========================================
       MOBILE
    ========================================== */

    @media (max-width: 767px) {

      .news-detail-box {
        padding: 20px;
      }

      .news-label {
        font-size: 13px;
      }

      .news-title {

        font-size: 18px;

        line-height: 1.45;

        margin-bottom: 17px;

        border: none;

      }

      .news-meta {

        gap: 12px;

        flex-wrap: wrap;

        font-size: 12px;
      }

      .news-image img {

        height: 240px;
      }

      .news-description {

        font-size: 14px;

        line-height: 1.7;
      }

      .news-document {

        align-items: flex-start;

        flex-direction: column;
      }

      .download-btn {

        width: 100%;
      }

    }
    /*Tenders*/
        
    .tender-page h3.section-heading{
      font-weight:700;
      font-size:1.15rem;
      margin-top:28px;
      margin-bottom:14px;
      padding-bottom:8px;
      border-bottom:2px solid #eee;
    }
    .tender-page h3.section-heading:first-child{
      margin-top:0;
    }
    .tender-page .tender-toolbar{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      align-items:center;
      justify-content:space-between;
      margin-bottom:0;
    }
    .tender-page .tender-tabs{
      border-bottom:none;
      gap:4px;
    }
    .tender-page .tender-tabs .nav-link{
      font-weight:600;
      color:#555;
      border:1px solid transparent;
      border-radius:6px 6px 0 0;
      padding:10px 18px;
    }
    .tender-page .tender-tabs .nav-link i{
      margin-right:6px;
      color:#8a1f1f;
    }
    .tender-page .tender-tabs .nav-link.active{
          color: #8a1f1f;
    background: #ffdfdf;
    border-color: #8d1f20;
    }
    .tender-page .tender-tabs .nav-link:not(.active):hover{
      color:#8a1f1f;
    }
    .tender-page .tender-search{
      max-width:300px;
      width:100%;
    }
    .tender-page .tender-search .input-group-text{
      background:#f8f8f8;
      border-right:0;
      color:#8a1f1f;
    }
    .tender-page .tender-search .form-control{
      border-left:0;
    }
    .tender-page .tender-search .form-control:focus{
      box-shadow:none;
      border-color:#ced4da;
    }
    .tender-page .tab-content{
      background:#f8f8f8;
      border:1px solid #eee;
      border-top:0;
      border-radius:0 0 6px 6px;
      padding:18px;
    }
    .tender-page .tender-table{
      background:#fff;
      margin-bottom:0;
      /*border-radius:6px;*/
      overflow:hidden;
    }
    .tender-page .tender-table thead th{
      background:#8a1f1f;
      color:#fff;
      font-weight:700;
      font-size:0.9rem;
      border-bottom:0;
      white-space:nowrap;
    }
    .tender-page .tender-table td{
      vertical-align:top;
      font-size:0.92rem;
      border: 1px solid #444;
    }
    .tender-page .tender-table td.tender-title{
      font-weight:700;
      width:18%;
    }
    .tender-page .tender-table td.tender-details{
      width:52%;
      
          color: #2b2420;
    line-height: 1.85;
    }
    .tender-page .tender-table td.tender-date{
      width:15%;
      white-space:nowrap;
    }
    .tender-page .tender-table a.tender-link{
      color:#8a1f1f;
      font-weight:600;
      text-decoration:none;
    }
    .tender-page .tender-table a.tender-link:hover{
      text-decoration:underline;
    }
    .tender-page .tender-empty td{
      text-align:center;
      padding:24px 10px;
      color:#888;
      font-style:italic;
    }
    .tender-page .badge-open{
      background:#1f8a3e;
    }
    .tender-page .badge-closed{
      background:#6c757d;
    }
      /* Search keyword highlight */
mark.sr-highlight {
    background: #f9a825;       
    color: inherit;
    border-radius: 3px;
    padding: 0 2px;
    box-shadow: 0 0 0 1px #f9a825;
}

/* Pulse animation on the first match to draw the eye */
@keyframes sr-pulse {
    0%   { background: #ff6f00; box-shadow: 0 0 0 4px rgba(255,111,0,.35); }
    60%  { background: #fff176; box-shadow: 0 0 0 1px #f9a825; }
    100% { background: #fff176; box-shadow: 0 0 0 1px #f9a825; }
}
mark.sr-highlight-pulse {
    animation: sr-pulse 1.2s ease forwards;
}
/*Event List*/
    .news-list{
      list-style:none;
      margin:0;
      padding:0;
      border-top:1px solid #e6e1d8;
    }

    .news-item{
      border-bottom:1px solid #e6e1d8;
      padding:22px 6px;
      display:flex;
      flex-wrap:wrap;
      align-items:baseline;
      gap:6px 18px;
      transition:background-color .15s ease;
    }

    .news-item:hover{
      background-color:#faf7f2;
    }

    .news-index{
      /*font-family:'Merriweather', serif;*/
      font-size:.85rem;
      color:#8a8378;
      min-width:34px;
    }

    .news-body{
      flex:1 1 480px;
      min-width:0;
    }

    .news-title-link{
      /*font-family:'Merriweather', serif;*/
      font-size:1.05rem;
      font-weight:600;
      color:#3a2418;
      text-decoration:none;
      line-height:1.45;
      display:inline-block;
    }

    .news-title-link:hover{
      color:#8a2e2e;
      text-decoration:underline;
    }

    .news-source{
      display:block;
      font-family:'Noto Sans', sans-serif;
      font-size:.82rem;
      color:#8a8378;
      margin-top:4px;
    }

    .news-meta{
      flex:0 0 auto;
      display:flex;
      align-items:center;
      gap:6px;
      font-family:'Noto Sans', sans-serif;
      font-size:.82rem;
      color:#8a8378;
      white-space:nowrap;
    }

    .news-meta i{
      color:#8a2e2e;
      font-size:.78rem;
    }

    /* Pagination */
    .news-pagination{
      margin-top:28px;
      display:flex;
      justify-content:center;
      gap:6px;
    }

    .news-pagination .page-link{
      font-family:'Noto Sans', sans-serif;
      font-size:.9rem;
      color:#3a2418;
      border:1px solid #e6e1d8;
      border-radius:4px;
    }

    .news-pagination .page-item.active .page-link{
      background-color:#8a2e2e;
      border-color:#8a2e2e;
      color:#fff;
    }

    .news-pagination .page-link:hover{
      background-color:#faf7f2;
    }

    @media (max-width:576px){
      .news-item{flex-direction:column; align-items:flex-start;}
      .news-meta{margin-top:2px;}
    }
  /*news-list*/
    .news-list{
      list-style:none;
      margin:0;
      padding:0;
      border-top:1px solid #e6e1d8;
    }

    .news-item{
      border-bottom:1px solid #e6e1d8;
      padding:22px 6px;
      display:flex;
      flex-wrap:wrap;
      align-items:baseline;
      gap:6px 18px;
      transition:background-color .15s ease;
    }

    .news-item:hover{
      background-color:#faf7f2;
    }

    .news-index{
      /*font-family:'Merriweather', serif;*/
      font-size:.85rem;
      color:#8a8378;
      min-width:34px;
    }

    .news-body{
      flex:1 1 480px;
      min-width:0;
    }

    .news-title-link{
      /*font-family:'Merriweather', serif;*/
      font-size:1.05rem;
      font-weight:600;
      color:#3a2418;
      text-decoration:none;
      line-height:1.45;
      display:inline-block;
    }

    .news-title-link:hover{
      color:#8a2e2e;
      text-decoration:underline;
    }

    .news-source{
      display:block;
      font-family:'Noto Sans', sans-serif;
      font-size:.82rem;
      color:#8a8378;
      margin-top:4px;
    }

    .news-meta{
      flex:0 0 auto;
      display:flex;
      align-items:center;
      gap:6px;
      font-family:'Noto Sans', sans-serif;
      font-size:.82rem;
      color:#8a8378;
      white-space:nowrap;
    }

    .news-meta i{
      color:#8a2e2e;
      font-size:.78rem;
    }

    /* Pagination */
    .news-pagination{
      margin-top:28px;
      display:flex;
      justify-content:center;
      gap:6px;
    }

    .news-pagination .page-link{
      font-family:'Noto Sans', sans-serif;
      font-size:.9rem;
      color:#3a2418;
      border:1px solid #e6e1d8;
      border-radius:4px;
    }

    .news-pagination .page-item.active .page-link{
      background-color:#8a2e2e;
      border-color:#8a2e2e;
      color:#fff;
    }

    .news-pagination .page-link:hover{
      background-color:#faf7f2;
    }

    @media (max-width:576px){
      .news-item{flex-direction:column; align-items:flex-start;}
      .news-meta{margin-top:2px;}
    }
    
    /*GALLERY*/
    
        .gallery-page .gallery-intro {
                color: #666;
                font-size: .92rem;
                margin-bottom: 20px;
        }

        .gallery-page .gallery-card {
                background: #fff;
                border: 1px solid #eee;
                border-radius: 10px;
                overflow: hidden;
                height: 100%;
                cursor: pointer;
                transition: box-shadow .15s, transform .15s, border-color .15s;
        }

        .gallery-page .gallery-card:hover,
        .gallery-page .gallery-card:focus-visible {
                box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
                border-color: #e6b8b8;
                transform: translateY(-3px);
                outline: none;
        }

        .gallery-page .gallery-img-wrap {
                position: relative;
                width: 100%;
                aspect-ratio: 4/3;
                overflow: hidden;
                background: #f6f6f6;
        }

        .gallery-page .gallery-img-wrap img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                display: block;
        }

        .gallery-page .gallery-zoom-hint {
                position: absolute;
                inset: 0;
                background: rgba(138, 31, 31, 0);
                display: flex;
                align-items: center;
                justify-content: center;
                opacity: 0;
                transition: opacity .15s, background-color .15s;
        }

        .gallery-page .gallery-card:hover .gallery-zoom-hint,
        .gallery-page .gallery-card:focus-visible .gallery-zoom-hint {
                opacity: 1;
                background: rgba(138, 31, 31, .4);
        }

        .gallery-page .gallery-zoom-hint i {
                color: #fff;
                font-size: 1.4rem;
        }

        .gallery-page .gallery-count-badge {
                position: absolute;
                top: 10px;
                right: 10px;
                display: flex;
                align-items: center;
                gap: 5px;
                background: rgba(138, 31, 31, .85);
                color: #fff;
                font-size: .72rem;
                font-weight: 700;
                padding: 4px 10px;
                border-radius: 20px;
                z-index: 2;
        }

        .gallery-page .gallery-caption {
                padding: 12px 14px;
                border-top: 3px solid #8a1f1f;
                font-family: 'Merriweather', serif;
                font-weight: 700;
                font-size: .92rem;
                line-height: 1.4;
                color: #333;
        }

        /* ── Custom lightbox — no Bootstrap carousel ── */
        #glb {
                display: none;
                position: fixed;
                inset: 0;
                z-index: 9999;
                background: rgba(0, 0, 0, .88);
                align-items: center;
                justify-content: center;
        }

        #glb.open {
                display: flex;
        }

        #glb-box {
                position: relative;
                max-width: 860px;
                width: 92vw;
                background: #fff;
                border-radius: 10px;
                overflow: hidden;
        }

                /* was #glb-img — now targets the container div */
        #glb-media {
            width: 100%;
            height: 480px;
            background: #111;
            display: block;
            overflow: hidden;
        }
        
        #glb-media img {
            width: 100%;
            height: 100%;
            object-fit: contain;   /* contain so tall images aren't cropped */
            display: block;
        }
        
        #glb-media video {
            width: 100%;
            height: 100%;
            display: block;
            background: #000;
        }
        
        /* video thumbs in the strip */
        #glb-thumbs video {
            width: 60px;
            height: 44px;
            object-fit: cover;
            border-radius: 4px;
            cursor: pointer;
            opacity: .55;
            border: 2px solid transparent;
            flex-shrink: 0;
            transition: opacity .15s, border-color .15s;
        }
        
        #glb-thumbs video.active {
            opacity: 1;
            border-color: #8a1f1f;
        }
        
        /* prevent box from overflowing viewport on short screens */
        #glb-box {
            position: relative;
            max-width: 860px;
            width: 92vw;
            max-height: 92vh;
            overflow-y: auto;
            background: #fff;
            border-radius: 10px;
            overflow: hidden;
        }

        #glb-caption {
                padding: 14px 20px;
                border-top: 3px solid #8a1f1f;
                font-family: 'Merriweather', serif;
                font-weight: 700;
                color: #333;
                font-size: .95rem;
        }

        #glb-counter {
                position: absolute;
                top: 10px;
                left: 14px;
                background: rgba(138, 31, 31, .8);
                color: #fff;
                font-size: .72rem;
                font-weight: 700;
                padding: 3px 10px;
                border-radius: 20px;
        }

        #glb-close {
                position: absolute;
                top: 10px;
                right: 14px;
                width: 32px;
                height: 32px;
                border: 0;
                background: rgba(0, 0, 0, .55);
                color: #fff;
                border-radius: 50%;
                cursor: pointer;
                font-size: 1rem;
                line-height: 32px;
                text-align: center;
        }

        #glb-prev,
        #glb-next {
                position: absolute;
                top: 50%;
                transform: translateY(-50%);
                width: 44px;
                height: 44px;
                border: 0;
                background: rgba(138, 31, 31, .6);
                color: #fff;
                border-radius: 50%;
                cursor: pointer;
                font-size: 1.1rem;
                transition: background .15s;
        }

        #glb-prev:hover,
        #glb-next:hover {
                background: rgba(138, 31, 31, .9);
        }

        #glb-prev {
                left: 12px;
        }

        #glb-next {
                right: 12px;
        }

        /* thumbnail strip */
        #glb-thumbs {
                display: flex;
                gap: 6px;
                padding: 10px 14px;
                overflow-x: auto;
                background: #f8f8f8;
        }

        #glb-thumbs img {
                width: 60px;
                height: 44px;
                object-fit: cover;
                border-radius: 4px;
                cursor: pointer;
                opacity: .55;
                border: 2px solid transparent;
                flex-shrink: 0;
                transition: opacity .15s, border-color .15s;
        }

        #glb-thumbs img.active {
                opacity: 1;
                border-color: #8a1f1f;
        }
 /*CONTACT*/
    .contact-page h3.section-heading {
        font-family: 'Merriweather', serif;
        font-weight: 700;
        font-size: 1.15rem;
        margin-top: 32px;
        margin-bottom: 16px;
        padding-bottom: 8px;
        border-bottom: 2px solid #eee;
        color: #1a1a1a;
    }
    .contact-page h3.section-heading:first-child { margin-top: 0; }

    /* Location cards */
    .contact-page .location-card {
        display: flex;
        flex-direction: column;
        height: 100%;
        background: #fff;
        border: 1px solid #c7c7c7;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 1px 3px rgba(0,0,0,.05);
        transition: box-shadow .2s ease, transform .2s ease;
    }
    .contact-page .location-card:hover {
        box-shadow: 0 8px 20px rgba(0,0,0,.09);
        transform: translateY(-3px);
    }
    .contact-page .location-card-header {
        background: #8a1f1f;
        color: #fff;
        padding: 14px 16px;
        display: flex;
        align-items: flex-start;
        gap: 10px;
        font-family: 'Merriweather', serif;
        font-weight: 700;
        font-size: .98rem;
        line-height: 1.35;
        min-height: 78px;
    }
    .contact-page .location-card-header i { margin-top: 3px; flex-shrink: 0; }
    .contact-page .location-card-body { padding: 14px 16px 4px; flex: 1 1 auto; }

    .contact-page .loc-row {
        display: flex;
        gap: 12px;
        padding: 9px 0;
        border-bottom: 1px dashed #ececec;
        font-size: .92rem;
    }
    .contact-page .loc-row:last-child { border-bottom: none; }
    .contact-page .loc-row i {
        width: 18px;
        text-align: center;
        margin-top: 3px;
        color: #8a1f1f;
        flex-shrink: 0;
    }
    .contact-page .loc-row a { color: #333; text-decoration: none; word-break: break-word; }
    .contact-page .loc-row a:hover { color: #8a1f1f; text-decoration: underline; }

    .contact-page .location-card-map {
        width: 100%;
        height: 200px;
        padding: 10px;
        margin-top: auto;
    }
    .contact-page .location-card-map iframe {
        width: 100%;
        height: 100%;
        border: 0;
        display: block;
        border-radius: 4px;
    }

    /* Social links */
    .contact-page .social-links a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        border-radius: 50%;
        background: #8a1f1f;
        color: #fff !important;
        margin-right: 8px;
        text-decoration: none;
        transition: background .2s ease, color .2s ease, border-color .2s ease;
    }
    .contact-page .social-links a:hover {
        background: #f1f1f1;
        color: #8a1f1f !important;
        border: 1px solid #8a1f1f;
    }

    /* Write us form */
    .contact-page .form-box {
        background: #f8f8f8;
        border: 1px solid #c7c7c7;
        border-radius: 6px;
        padding: 20px;
    }
    .contact-page .form-box label { font-weight: 600; font-size: .92rem; }

    /* No card shown if all fields empty */
    .location-card-body:empty { display: none; }

    @media (max-width: 767px) {
        .contact-page h3.section-heading { font-size: 1.05rem; margin-top: 24px; }
        .contact-page .location-card-header { min-height: auto; }
        .contact-page .form-box { padding: 16px; }
    }
    /*ANNUAL REPORTS*/
    .annual-report-page .about-sidebar li.active > a{
      color:#8a1f1f;
      font-weight:700;
      background:#fff;
    }
    .annual-report-page .report-intro{
      color:#444;
      font-size:0.95rem;
      line-height:1.8;
      margin-bottom:20px;
    }
    .annual-report-page .report-toolbar{
      display:flex;
      justify-content:flex-end;
      margin-bottom:14px;
    }
    .annual-report-page .report-search{
      max-width:280px;
      width:100%;
    }
    .annual-report-page .report-search .input-group-text{
      background:#f8f8f8;
      border-right:0;
      color:#8a1f1f;
    }
    .annual-report-page .report-search .form-control{
      border-left:0;
    }
    .annual-report-page .report-search .form-control:focus{
      box-shadow:none;
      border-color:#ced4da;
    }
    .annual-report-page .report-table{
      background:#fff;
      margin-bottom:0;
      border-radius:6px;
      overflow:hidden;
      border:1px solid #eee;
    }
    .annual-report-page .report-table thead th{
      background:#8a1f1f;
      color:#fff;
      font-weight:700;
      font-size:0.9rem;
      border-bottom:0;
    }
    .annual-report-page .report-table td{
      vertical-align:middle;
      font-size:0.92rem;
    }
    .annual-report-page .report-table td.report-title{
      width:75%;
      color:#333;
    }
    .annual-report-page .report-icon{
      color:#8a1f1f;
      margin-right:10px;
      font-size:1.05rem;
    }
    .annual-report-page a.report-link{
      display:inline-flex;
      align-items:center;
      gap:6px;
      color:#8a1f1f;
      font-weight:600;
      text-decoration:none;
      background:#fdf0f0;
      padding:5px 14px;
      border-radius:20px;
      transition:background .15s ease;
    }
    .annual-report-page a.report-link:hover{
      background:#ffdfdf;
    }
    .annual-report-page .report-empty td{
      text-align:center;
      padding:24px 10px;
      color:#888;
      font-style:italic;
    }
/*NEWS-LIST*/
   .news-list{
      list-style:none;
      margin:0;
      padding:0;
      border-top:1px solid #e6e1d8;
    }

    .news-item{
      border-bottom:1px solid #e6e1d8;
      padding:22px 6px;
      display:flex;
      flex-wrap:wrap;
      align-items:baseline;
      gap:6px 18px;
      transition:background-color .15s ease;
    }

    .news-item:hover{
      background-color:#faf7f2;
    }

    .news-index{
      /*font-family:'Merriweather', serif;*/
      font-size:.85rem;
      color:#8a8378;
      min-width:34px;
    }

    .news-body{
      flex:1 1 480px;
      min-width:0;
    }

    .news-title-link{
      /*font-family:'Merriweather', serif;*/
      font-size:1.05rem;
      font-weight:600;
      color:#3a2418;
      text-decoration:none;
      line-height:1.45;
      display:inline-block;
    }

    .news-title-link:hover{
      color:#8a2e2e;
      text-decoration:underline;
    }

    .news-source{
      display:block;
      font-family:'Noto Sans', sans-serif;
      font-size:.82rem;
      color:#8a8378;
      margin-top:4px;
    }

    .news-meta{
      flex:0 0 auto;
      display:flex;
      align-items:center;
      gap:6px;
      font-family:'Noto Sans', sans-serif;
      font-size:.82rem;
      color:#8a8378;
      white-space:nowrap;
    }

    .news-meta i{
      color:#8a2e2e;
      font-size:.78rem;
    }

    /* Pagination */
    .news-pagination{
      margin-top:28px;
      display:flex;
      justify-content:center;
      gap:6px;
    }

    .news-pagination .page-link{
      font-family:'Noto Sans', sans-serif;
      font-size:.9rem;
      color:#3a2418;
      border:1px solid #e6e1d8;
      border-radius:4px;
    }

    .news-pagination .page-item.active .page-link{
      background-color:#8a2e2e;
      border-color:#8a2e2e;
      color:#fff;
    }

    .news-pagination .page-link:hover{
      background-color:#faf7f2;
    }

    @media (max-width:576px){
      .news-item{flex-direction:column; align-items:flex-start;}
      .news-meta{margin-top:2px;}
    }
/*VACANCY*/
    .career-page h3.section-heading{
      font-family:'Merriweather', serif;
      font-weight:700;
      font-size:1.15rem;
      margin-top:28px;
      margin-bottom:14px;
      padding-bottom:8px;
      border-bottom:2px solid #eee;
    }
    .career-page h3.section-heading:first-child{
      margin-top:0;
    }
    .career-page .tender-toolbar{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      align-items:center;
      justify-content:space-between;
      margin-bottom:0;
    }
    .career-page .tender-tabs{
      border-bottom:none;
      gap:4px;
    }
    .career-page .tender-tabs .nav-link{
      font-weight:600;
      color:#555;
      border:1px solid transparent;
      border-radius:6px 6px 0 0;
      padding:10px 18px;
    }
    .career-page .tender-tabs .nav-link i{
      margin-right:6px;
      color:#8a1f1f;
    }
    .career-page .tender-tabs .nav-link.active{
     color: #8a1f1f;
    background: #ffdfdf;
    border-color: #8d1f20;
    }
    .career-page .tender-tabs .nav-link:not(.active):hover{
      color:#8a1f1f;
    }
    .career-page .tender-search{
      max-width:300px;
      width:100%;
    }
    .career-page .tender-search .input-group-text{
      background:#f8f8f8;
      border-right:0;
      color:#8a1f1f;
    }
    .career-page .tender-search .form-control{
      border-left:0;
    }
    .career-page .tender-search .form-control:focus{
      box-shadow:none;
      border-color:#ced4da;
    }
    .career-page .tab-content{
      background:#f8f8f8;
      border:1px solid #eee;
      border-top:0;
      border-radius:0 0 6px 6px;
      padding:18px;
    }
    .career-page .tender-table{
      background:#fff;
      margin-bottom:0;
      border-radius:6px;
      overflow:hidden;
    }
    .career-page .tender-table thead th{
      background:#8a1f1f;
      color:#fff;
      font-weight:700;
      font-size:0.9rem;
      border-bottom:0;
      white-space:nowrap;
    }
    .career-page .tender-table td{
      vertical-align:top;
      font-size:0.92rem;
    }
    .career-page .tender-table td.tender-title{
      font-weight:400;
      width:50%;
    }
    .career-page .tender-table td.tender-details{
      width:37%;
      color:#444;
    }
    .career-page .tender-table td.tender-date{
      width:15%;
      white-space:nowrap;
    }
    .career-page .tender-table a.tender-link{
      color:#8a1f1f;
      font-weight:600;
      text-decoration:none;
    }
    .career-page .tender-table a.tender-link:hover{
      text-decoration:underline;
    }
    .career-page .tender-empty td{
      text-align:center;
      padding:24px 10px;
      color:#888;
      font-style:italic;
    }
    .career-page .badge-open{
      background:#1f8a3e;
    }
    .career-page .badge-closed{
      background:#6c757d;
    }
/*WHO IS WHO*/
    .whoiswho-page h3.section-heading{
      font-family:'Merriweather', serif;
      font-weight:700;
      font-size:1.15rem;
      margin-top:0;
      margin-bottom:16px;
      padding-bottom:8px;
      border-bottom:2px solid #eee;
    }

    /* ---------- Textured panel ---------- */
    .whoiswho-page .who-wrap{
      background-color:#e7e0cd;
      background-image:
        repeating-linear-gradient(0deg, rgba(0,0,0,0.02) 0px, rgba(0,0,0,0.02) 1px, transparent 1px, transparent 3px),
        repeating-linear-gradient(90deg, rgba(0,0,0,0.02) 0px, rgba(0,0,0,0.02) 1px, transparent 1px, transparent 3px);
      border-radius:8px;
      padding:40px 28px;
    }
    .whoiswho-page .who-title{
      text-align:center;
      font-family:'Merriweather', serif;
      font-weight:800;
      letter-spacing:3px;
      font-size:1.9rem;
      color:#2b2b2b;
      margin-bottom:38px;
    }

    /* ---------- Director General featured card ---------- */
    .whoiswho-page .who-dg-card{
      position:relative;
      display:flex;
      align-items:center;
      gap:22px;
      max-width:760px;
      margin:0 auto 46px;
      background:#fdfdfa;
      border-radius:4px;
      box-shadow:0 4px 14px rgba(0,0,0,0.10);
      padding:22px 34px 22px 78px;
    }
    .whoiswho-page .who-dg-card .who-avatar{
      width:118px;
      height:118px;
      margin-left:-78px;
    }
    /*.whoiswho-page .who-dg-card .who-avatar::before{*/
    /*  width:118px;*/
    /*  height:118px;*/
    /*  top:12px;*/
    /*  left:12px;*/
    /*}*/
    .whoiswho-page .who-dg-card .who-avatar-inner{
      width:118px;
      height:118px;
      font-size:44px;
    }
    .whoiswho-page .who-dg-card h4{
      font-size:1.15rem;
    }

    /* ---------- Officer grid ---------- */
    .whoiswho-page .who-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:34px 30px;
    }

    .whoiswho-page .who-card{
      position:relative;
      display:flex;
      align-items:center;
      gap:16px;
      background:#fdfdfa;
      border-radius:4px;
      box-shadow:0 3px 10px rgba(0,0,0,0.08);
      padding:16px 20px;
      min-height:112px;
      width:340px;
    }
    /*.whoiswho-page .who-card-left{*/
    /*  padding-left:60px;*/
    /*}*/
    .whoiswho-page .who-card-right{
      flex-direction:row-reverse;
      /*text-alignright;*/
    }

    /* ---------- Avatar: photo circle layered over an accent ring ---------- */
    .whoiswho-page .who-avatar{
      position:relative;
      width:88px;
      height:88px;
      flex-shrink:0;
      /*margin-left:-60px;*/
    }
    .whoiswho-page .who-card-right .who-avatar{
      margin-left:0;
      /*margin-right:-60px;*/
          justify-content: space-between;
    display: flex;
    }
    /*.whoiswho-page .who-avatar::before{*/
    /*  content:"";*/
    /*  position:absolute;*/
    /*  top:9px;*/
    /*  left:9px;*/
    /*  width:88px;*/
    /*  height:88px;*/
    /*  border-radius:50%;*/
    /*  background:#8a1f1f;*/
    /*  opacity:0.85;*/
    /*}*/
    .whoiswho-page .who-avatar-inner{
      position:relative;
      width:88px;
      height:88px;
      border-radius:50%;
      overflow:hidden;
      border:3px solid #fff;
      background:#eee6d6;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#8a1f1f;
      font-size:32px;
      box-shadow:0 2px 6px rgba(0,0,0,0.15);
    }
    .whoiswho-page .who-avatar-inner img{
      width:100%;
      height:100%;
      object-fit:cover;
    }

    /* ---------- Text block ---------- */
    .whoiswho-page .who-info h4{
      font-family:'Merriweather', serif;
      font-weight:700;
      font-size:0.98rem;
      margin-bottom:3px;
      color:#222;
      text-transform:uppercase;
      letter-spacing:0.3px;
    }
    .whoiswho-page .who-designation{
      font-size:0.78rem;
      color:#111;
      text-transform:uppercase;
      letter-spacing:0.3px;
      margin-bottom:8px;
    }
    .whoiswho-page .who-contact-row{
      display:flex;
      align-items:center;
      gap:8px;
      font-size:0.82rem;
      color:#333;
      margin-bottom:4px;
      flex-wrap:wrap;
    }
    .whoiswho-page .who-card-right .who-contact-row{
      justify-content:start;
    }
    .whoiswho-page .who-contact-row a{
      color:#333;
      text-decoration:none;
    }
    .whoiswho-page .who-contact-row a:hover{
      color:#8a1f1f;
      text-decoration:underline;
    }
    .whoiswho-page .who-icon{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:20px;
      height:20px;
      border-radius:50%;
      border:1px solid #8a1f1f;
      color:#8a1f1f;
      font-size:10px;
      flex-shrink:0;
    }

    /* ---------- Responsive ---------- */
    @media (max-width: 767px){
      .whoiswho-page .who-wrap{
        padding:30px 16px;
      }
      .whoiswho-page .who-title{
        font-size:1.4rem;
        letter-spacing:2px;
        margin-bottom:28px;
      }
      .whoiswho-page .who-grid{
        grid-template-columns:1fr;
        gap:26px;
      }
      .whoiswho-page .who-dg-card,
      .whoiswho-page .who-card,
      .whoiswho-page .who-card-right{
        flex-direction:column;
        text-align:center;
        padding:22px 18px 18px !important;
      }
      .whoiswho-page .who-dg-card .who-avatar,
      .whoiswho-page .who-card .who-avatar{
        margin:0 0 12px 0 !important;
      }
      .whoiswho-page .who-contact-row,
      .whoiswho-page .who-card-right .who-contact-row{
        justify-content:center;
      }
    }
  /*SITEMAP*/
    .sitemap-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    @media (max-width: 767px) {
        .sitemap-grid { grid-template-columns: 1fr; }
    }

    /* Section heading between groups */
    .sitemap-section-heading {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        gap: 12px;
        margin-top: 10px;
        margin-bottom: 4px;
    }
    .sitemap-section-heading-line {
        flex: 1;
        height: 1px;
        background: #e2e2e2;
    }
    .sitemap-section-heading-label {
        font-size: .7rem;
        font-weight: 700;
        letter-spacing: 1.4px;
        text-transform: uppercase;
        color: #7E1A28;
        white-space: nowrap;
        padding: 2px 10px;
        border: 1px solid #e4c0c5;
        border-radius: 20px;
        background: #fdf5f6;
    }

    /* Card */
    .sitemap-card {
        background: #fff;
        border: 1px solid #ececec;
        border-radius: 10px;
        padding: 20px 22px 18px;
        box-shadow: 0 2px 8px rgba(0,0,0,.04);
    }
    .sitemap-card-head {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 10px;
    }
    .sitemap-card-icon {
        width: 30px; height: 30px;
        background: #8f1b1e;
        color: #fff;
        border-radius: 6px;
        display: flex; align-items: center; justify-content: center;
        font-size: .82rem;
        flex-shrink: 0;
    }
    .sitemap-card-title {
        font-size: .97rem;
        font-weight: 700;
        color: #1a1a1a;
        text-decoration: none;
        font-family: 'Merriweather', serif;
        line-height: 1.3;
    }
    a.sitemap-card-title:hover { color: #7E1A28; }
    .sitemap-card-divider {
        height: 2px;
        background: #7E1A28;
        border-radius: 2px;
        margin-bottom: 12px;
        opacity: .12;
    }

    /* Level 2 */
    .sitemap-level-2 { list-style: none; padding: 0; margin: 0; }
    .sitemap-level-2 > li { margin-bottom: 5px; }
    .sitemap-l2-link {
        display: flex; align-items: baseline; gap: 7px;
        color: #333; text-decoration: none;
        font-size: .87rem; font-weight: 500;
        transition: color .15s;
    }
    .sitemap-l2-link:hover { color: #7E1A28; }
    .sitemap-l2-link .sitemap-arrow { color: #7E1A28; font-size: .76rem; flex-shrink: 0; }

    /* Level 3 */
    .sitemap-level-3 { list-style: none; padding: 0; margin: 4px 0 5px 18px; }
    .sitemap-level-3 > li { margin-bottom: 3px; }
    .sitemap-l3-link {
        display: flex; align-items: baseline; gap: 6px;
        color: #666; text-decoration: none;
        font-size: .81rem;
        transition: color .15s;
    }
    .sitemap-l3-link:hover { color: #7E1A28; }
    .sitemap-l3-link .sitemap-arrow { color: #ccc; font-size: .7rem; flex-shrink: 0; }

    .sitemap-empty { color: #bbb; font-size: .8rem; margin: 0; }

/*RESEARCHES LIST*/

    .news-list{
      list-style:none;
      margin:0;
      padding:0;
      border-top:1px solid #e6e1d8;
    }

    .news-item{
      border-bottom:1px solid #e6e1d8;
      padding:22px 6px;
      display:flex;
      flex-wrap:wrap;
      align-items:baseline;
      gap:6px 18px;
      transition:background-color .15s ease;
    }

    .news-item:hover{
      background-color:#faf7f2;
    }

    .news-index{
      /*font-family:'Merriweather', serif;*/
      font-size:.85rem;
      color:#8a8378;
      min-width:34px;
    }

    .news-body{
      flex:1 1 480px;
      min-width:0;
    }

    .news-title-link{
      /*font-family:'Merriweather', serif;*/
      font-size:1.05rem;
      font-weight:600;
      color:#3a2418;
      text-decoration:none;
      line-height:1.45;
      display:inline-block;
    }

    .news-title-link:hover{
      color:#8a2e2e;
      text-decoration:underline;
    }

    .news-source{
      display:block;
      font-family:'Noto Sans', sans-serif;
      font-size:.82rem;
      color:#8a8378;
      margin-top:4px;
    }

    .news-meta{
      flex:0 0 auto;
      display:flex;
      align-items:center;
      gap:6px;
      font-family:'Noto Sans', sans-serif;
      font-size:.82rem;
      color:#8a8378;
      white-space:nowrap;
    }

    .news-meta i{
      color:#8a2e2e;
      font-size:.78rem;
    }

    /* Pagination */
    .news-pagination{
      margin-top:28px;
      display:flex;
      justify-content:center;
      gap:6px;
    }

    .news-pagination .page-link{
      font-family:'Noto Sans', sans-serif;
      font-size:.9rem;
      color:#3a2418;
      border:1px solid #e6e1d8;
      border-radius:4px;
    }

    .news-pagination .page-item.active .page-link{
      background-color:#8a2e2e;
      border-color:#8a2e2e;
      color:#fff;
    }

    .news-pagination .page-link:hover{
      background-color:#faf7f2;
    }

    @media (max-width:576px){
      .news-item{flex-direction:column; align-items:flex-start;}
      .news-meta{margin-top:2px;}
    }
    /*RESEARCH STONE DIVISION*/
  .stone-division-page .visual-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px 10px;
  }
  .stone-division-page .visual-caption {
    color: #666;
    font-size: 0.92rem;
    max-width: 280px;
  }
  .stone-division-page h3.section-heading {
    font-family: 'Merriweather', serif;
    font-weight: 700;
    font-size: 1.15rem;
    margin-top: 32px;
    margin-bottom: 14px;
    padding-bottom: 8px;
    border-bottom: 2px solid #eee;
  }
  .stone-division-page .visual-col h3.section-heading {
    margin-top: 0;
    align-self: stretch;
  }
  .stone-division-page h4.subsection-heading {
    font-family: 'Merriweather', serif;
    font-weight: 700;
    font-size: 0.98rem;
    color: #8a1f1f;
    margin-top: 22px;
    margin-bottom: 14px;
  }
  /* CKEditor-rendered rich text */
  .stone-division-page .ck-content ul,
  .stone-division-page .ck-content ol {
    padding-left: 1.4rem;
    margin-bottom: 1rem;
  }
  /* Fallback aspect-list style (if admin didn't use CKEditor lists) */
  .stone-division-page .aspect-list {
    padding-left: 0;
    list-style: none;
  }
  .stone-division-page .aspect-list li {
    position: relative;
    padding: 7px 0 7px 26px;
  }
  .stone-division-page .aspect-list li::before {
    content: "\f105";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #8a1f1f;
    position: absolute;
    left: 4px;
    top: 10px;
    font-size: 0.85rem;
  }
  .stone-division-page .aspect-list li strong {
    color: #222;
  }
  /* Staff / instruments tables */
  .stone-division-page .info-table {
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #e6e6e6;
    border-radius: 6px;
    overflow: hidden;
  }
  .stone-division-page .info-table thead th {
    background: #8a1f1f;
    color: #fff;
    font-family: 'Merriweather', serif;
    font-weight: 700;
    font-size: 0.88rem;
    padding: 12px 14px;
    border: none;
    white-space: nowrap;
  }
  .stone-division-page .info-table tbody td {
    padding: 12px 14px;
    font-size: 0.92rem;
    color: #333;
    border: 1px solid #ddd;
    vertical-align: middle;
  }
  .stone-division-page .info-table tbody tr:nth-child(even) {
    background: #faf7f2;
  }
  /* Equipment gallery */
  .stone-division-page .equipment-gallery {
    margin-top: 6px;
  }
  .stone-division-page .equipment-card {
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 8px;
    overflow: hidden;
    height: 100%;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
  }
  .stone-division-page .equipment-card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    display: block;
    border-bottom: 1px solid #eee;
  }
  .stone-division-page .equipment-card .cap {
    padding: 8px 10px;
    text-align: center;
    font-family: 'Merriweather', serif;
    font-weight: 700;
    font-size: 0.85rem;
    color: #8a1f1f;
  }
  @media (max-width: 767px) {
    .stone-division-page .equipment-card img { height: 130px; }
  }
/*COMING SOON*/
    .coming-soon-page h3.section-heading{
      font-family:'Merriweather', serif;
      font-weight:700;
      color:#8a1f1f;
      font-size:1.15rem;
      margin-top:36px;
      margin-bottom:14px;
      padding-bottom:10px;
      border-bottom:2px solid #8a1f1f;
    }

    /* ---------- Coming soon card ---------- */
    .coming-soon-page .cs-card{
      background:#fff;
      border:1px solid #c7c7c7;
      border-radius:8px;
      padding:64px 32px;
      text-align:center;
    }

    .coming-soon-page .cs-icon{
      width:86px;
      height:86px;
      border-radius:50%;
      background:#8a1f1f;
      color:#fff;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:2rem;
      margin:0 auto 26px;
    }

    .coming-soon-page .cs-tag{
      display:inline-block;
      font-family:'Noto Sans', sans-serif;
      font-weight:600;
      font-size:0.75rem;
      letter-spacing:0.02em;
      color:#8a1f1f;
      background:#fbeaea;
      border:1px solid #e3c3c3;
      border-radius:20px;
      padding:5px 16px;
      margin-bottom:18px;
    }

    .coming-soon-page .cs-card h2{
      font-family:'Merriweather', serif;
      font-weight:700;
      color:#8a1f1f;
      font-size:1.55rem;
      margin-bottom:14px;
    }

    .coming-soon-page .cs-card p{
      font-family:'Noto Sans', sans-serif;
      font-size:0.96rem;
      line-height:1.75;
      color:#555;
      max-width:460px;
      margin:0 auto 28px;
    }

    .coming-soon-page .cs-divider{
      width:52px;
      height:3px;
      background:#8a1f1f;
      border-radius:2px;
      margin:0 auto 26px;
    }

    .coming-soon-page .cs-home-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      background:#8a1f1f;
      color:#fff;
      text-decoration:none;
      font-family:'Noto Sans', sans-serif;
      font-weight:600;
      font-size:0.9rem;
      padding:10px 22px;
      border-radius:6px;
      transition:background 0.15s ease;
    }
    .coming-soon-page .cs-home-link:hover{
      background:#6f1919;
      color:#fff;
    }

    /* ---------- Responsive tweaks ---------- */
    @media (max-width: 767px){
      .coming-soon-page .cs-card{
        padding:44px 20px;
      }
      .coming-soon-page .cs-icon{
        width:70px;
        height:70px;
        font-size:1.6rem;
      }
      .coming-soon-page .cs-card h2{
        font-size:1.3rem;
      }
    }
  /*Publication research paper archives*/
    .publications-page h3.section-heading{
      font-weight:700;
      font-size:1.15rem;
      margin-top:28px;
      margin-bottom:14px;
      padding-bottom:8px;
      border-bottom:2px solid #eee;
    }
    .publications-page h3.section-heading:first-child{
      margin-top:0;
    }
    .publications-page .pub-toolbar{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      align-items:center;
      justify-content:flex-end;
      margin-bottom:14px;
    }
    .publications-page .pub-search{
      max-width:300px;
      width:100%;
    }
    .publications-page .pub-search .input-group-text{
      background:#f8f8f8;
      border-right:0;
      color:#8a1f1f;
    }
    .publications-page .pub-search .form-control{
      border-left:0;
    }
    .publications-page .pub-search .form-control:focus{
      box-shadow:none;
      border-color:#ced4da;
    }
    .publications-page .pub-panel{
      background:#f8f8f8;
      border:1px solid #eee;
      border-radius:6px;
      padding:18px;
    }
    .publications-page .pub-table-wrap{
      border-radius:6px;
      overflow:hidden;
      border:1px solid #ddd;
    }
    .publications-page .pub-table{
      background:#fff;
      margin-bottom:0;
      border-collapse:collapse;
      width:100%;
    }
    .publications-page .pub-table thead th{
      background:#8a1f1f;
      color:#fff;
      font-weight:700;
      font-size:0.9rem;
      white-space:nowrap;
      border:1px solid #6f1919;
    }
    .publications-page .pub-table td{
      vertical-align:top;
      font-size:0.92rem;
      border:1px solid #ddd;
    }
    .publications-page .pub-table td.pub-num{
      width:48px;
      color:#8a1f1f;
      font-weight:700;
    }
    .publications-page .pub-table td.pub-title{
      line-height:1.75;
      width:100%;
      margin-bottom:0px;
    }
    .publications-page .pub-table td.pub-title .pub-journal{
      display:block;
      color:#555;
      font-size:0.87rem;
      /*font-style:italic;*/
    }
    .publications-page .pub-table td.pub-year{
      width:90px;
      white-space:nowrap;
      font-weight:600;
    }
    /* View column */
    .publications-page .pub-table td.pub-view{
      width:70px;
      text-align:center;
      white-space:nowrap;
    }
    .publications-page .pub-table a.pub-view-link{
      display:inline-flex;
      align-items:center;
      gap:5px;
      color:#8a1f1f;
      text-decoration:none;
      font-weight:600;
      font-size:0.85rem;
    }
    .publications-page .pub-table a.pub-view-link:hover{
      color:#6f1919;
      text-decoration:underline;
    }
    .publications-page .pub-table a.pub-view-link i{
      font-size:0.95rem;
    }
    /* Title = clickable link */
    .publications-page .pub-table a.pub-link{
      color:#2b2420;
      text-decoration:none;
    }
    .publications-page .pub-table a.pub-link:hover{
      color:#8a1f1f;
      text-decoration:underline;
    }
    .publications-page .pub-empty td{
      text-align:center;
      padding:24px 10px;
      color:#888;
      font-style:italic;
    }
    .publications-page .related-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-top:18px;
      font-size:0.9rem;
      font-weight:600;
      color:#8a1f1f;
      text-decoration:none;
    }
    .publications-page .related-link:hover{
      text-decoration:underline;
      color:#6f1919;
    }
  
  