/* ==========================================================================
   QCert Singapore – Custom CSS Override v3.0
   Works on top of Porto theme + src/index.css design system.
   This file is in /public/css/ and loads AFTER the theme CSS.
   ========================================================================== */

/* ─── Base ─────────────────────────────────────────────────────────────────── */
body   { color: #0f172a !important; font-family: 'Plus Jakarta Sans','Open Sans',sans-serif !important; }
p      { color: #475569; }
.text-white, .text-white p, p.text-white, .bg-blue p, .bg-red p { color: #ffffff !important; }
a      { color: #0b3178 !important; }
a:hover{ color: #ed1c24 !important; }

/* ─── Brand Helpers ─────────────────────────────────────────────────────────── */
.text-blue  { color: #0b3178 !important; }
.text-red   { color: #ed1c24 !important; }
.text-white { color: #ffffff !important; }

.bg-blue {
  background: linear-gradient(135deg,#071e46 0%,#0b3178 55%,#1e40af 100%) !important;
  color: #fff !important;
}
.bg-red {
  background: linear-gradient(135deg,#c01118 0%,#ed1c24 55%,#ff4b2b 100%) !important;
  color: #fff !important;
}

/* ─── Buttons ───────────────────────────────────────────────────────────────── */
.btn-blue {
  background: linear-gradient(135deg,#071e46 0%,#0b3178 55%,#1e40af 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  transition: all .3s ease !important;
}
.btn-blue:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 24px rgba(11,49,120,.35) !important; color: #fff !important; }

.btn-red {
  background: linear-gradient(135deg,#c01118 0%,#ed1c24 55%,#ff4b2b 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  transition: all .3s ease !important;
}
.btn-red:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 24px rgba(237,28,36,.35) !important; color: #fff !important; }

.btn-modern {
  border-radius: 999px !important;
  font-weight: 700 !important;
  letter-spacing: .3px !important;
  padding: 12px 28px !important;
  transition: all .3s ease !important;
}

/* ─── Porto legacy nav (overridden by modern-nav in React) ──────────────────── */
#header .header-nav.header-nav-line:not(.header-nav-light-text) nav > ul > li > a {
  color: #fff !important;
}
#header .header-nav.header-nav-line:not(.header-nav-light-text) nav > ul > li > a:hover,
#header .header-nav.header-nav-line nav > ul:not(:hover) li > a.active {
  background-color: #fff !important;
  color: #0b3178 !important;
}
#header .header-nav.header-nav-line:not(.header-nav-light-text) nav > ul > li > a:before {
  background-color: #ed1c24 !important;
}
#header .header-nav-main nav > ul > li.dropdown .dropdown-menu {
  border-top-color: #ed1c24 !important;
}
#header .header-nav-main nav > ul > li.dropdown .dropdown-menu li a { color: #0f172a !important; }
#header .header-nav-main nav > ul > li.dropdown .dropdown-menu li a:hover {
  background-color: #ed1c24 !important;
  color: #fff !important;
}
@media (max-width: 768px) {
  #header .header-nav-main nav {
    background-color: #0b3178 !important;
    color: #fff !important;
  }
  #header .header-nav-main nav > ul > li.dropdown .dropdown-menu li a { color: #fff !important; }
}

/* ─── Featured / Call-to-action ──────────────────────────────────────────────  */
.featured-primary { border-top-color: #0b3178 !important; }

/* ─── Page Header (legacy – hidden by React's PageHeader component) ────────── */
section.page-header { display: none !important; }
.page-header {
  background-image: url('../img/breadcurmb-image.jpg') !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
.page-header .breadcrumb > li a  { color: #fff !important; }
.page-header .breadcrumb .active { color: #fff !important; }
section.page-header .page-header-title-border { background-color: #ed1c24 !important; }

/* ─── Scroll To Top ─────────────────────────────────────────────────────────── */
.scroll-to-top {
  background: linear-gradient(135deg,#c01118 0%,#ed1c24 100%) !important;
  color: #fff !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 16px rgba(237,28,36,.35) !important;
  transition: all .3s ease !important;
}
.scroll-to-top:hover { transform: translateY(-3px) !important; }

/* ─── Form controls ──────────────────────────────────────────────────────────  */
.form-control {
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 999px !important;
  padding: 12px 22px !important;
  font-family: 'Plus Jakarta Sans',sans-serif !important;
  color: #0f172a !important;
  background: #fff !important;
  transition: all .25s ease !important;
}
.form-control:focus {
  border-color: #0b3178 !important;
  box-shadow: 0 0 0 4px rgba(11,49,120,.1) !important;
}
.form-control::placeholder,
.form-control:-ms-input-placeholder,
.form-control::-ms-input-placeholder { color: #94a3b8 !important; }

textarea.form-control { border-radius: 14px !important; }

/* ─── Counter Section (re-styled) ────────────────────────────────────────────  */
.counter-section .metric-value,
.counter-section span.counter {
  font-size: clamp(30px,4vw,42px);
  font-weight: 800;
  color: #fff;
  font-family: 'Plus Jakarta Sans', sans-serif;
  letter-spacing: -1px;
  line-height: 1;
  display: inline-block;
}
.counter-title,
.metric-label {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: rgba(255,255,255,.7);
  display: block;
  margin-top: 8px;
}
.counter-bg {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  padding: 30px 20px;
  border-radius: 16px;
  backdrop-filter: blur(10px);
  text-align: center;
  transition: all .3s ease;
}
.counter-bg:hover {
  background: rgba(255,255,255,.1);
  transform: translateY(-4px);
}
.plus-icon {
  font-size: 28px;
  font-weight: 800;
  color: #ed1c24;
  display: inline-block;
  margin-left: 2px;
}

/* ─── Homecertify Cards ───────────────────────────────────────────────────────  */
.homecertify {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(11,49,120,.15);
  transition: all .35s ease;
  background: #fff;
  display: block;
}
.homecertify:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(11,49,120,.22); }
.homecertify img   { transition: transform .5s ease; display: block; width: 100%; }
.homecertify:hover img { transform: scale(1.06); }
.homecertify h2 {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(7,30,70,.92) 100%);
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 34px 18px 16px !important;
  margin: 0 !important;
  text-shadow: 0 2px 6px rgba(0,0,0,.4);
  z-index: 2;
  top: auto !important;
  left: 0 !important;
}

/* ─── Floating Action Sidebar (Stationary Viewport Right-Center & Left Slide) ─ */
.right-sidebar-fixed ~ .right-sidebar-fixed,
.left-sidebar-fixed ~ .left-sidebar-fixed,
.right-sidebar-fixed:nth-of-type(n+2),
.left-sidebar-fixed:nth-of-type(n+2) {
  display: none !important;
}

.right-sidebar-fixed,
.left-sidebar-fixed {
  position: fixed !important;
  right: 0 !important;
  left: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 999999 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

.right-sidebar-fixed ul,
.left-sidebar-fixed ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  align-items: flex-end !important;
}

.right-sidebar-fixed li,
.left-sidebar-fixed li {
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  display: flex !important;
  justify-content: flex-end !important;
  height: 48px !important;
  pointer-events: auto !important;
}

.right-sidebar-fixed li a,
.left-sidebar-fixed li a {
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  height: 48px !important;
  min-width: 48px !important;
  width: 48px !important;
  max-width: 48px !important;
  border-radius: 24px 0 0 24px !important;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.28) !important;
  transition: max-width 0.35s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s ease !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  position: relative !important;
  right: 0 !important;
  cursor: pointer !important;
  user-select: none !important;
  -webkit-tap-highlight-color: transparent !important;
  overflow: hidden !important;
}

/* Color Gradients */
.right-sidebar-fixed li:nth-child(1) a, .left-sidebar-fixed li:nth-child(1) a { background: linear-gradient(135deg, #c01118, #ed1c24) !important; }
.right-sidebar-fixed li:nth-child(2) a, .left-sidebar-fixed li:nth-child(2) a { background: linear-gradient(135deg, #071e46, #0b3178) !important; }
.right-sidebar-fixed li:nth-child(3) a, .left-sidebar-fixed li:nth-child(3) a { background: linear-gradient(135deg, #059669, #10b981) !important; }
.right-sidebar-fixed li:nth-child(4) a, .left-sidebar-fixed li:nth-child(4) a { background: linear-gradient(135deg, #7c3aed, #8b5cf6) !important; }

/* Icon Box: Fixed 48px x 48px, 100% Centered on Right Edge */
.right-sidebar-fixed li a .sidebar-icon,
.left-sidebar-fixed li a .sidebar-icon {
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  order: 2 !important;
}

.right-sidebar-fixed li a .sidebar-icon i,
.left-sidebar-fixed li a .sidebar-icon i {
  font-size: 18px !important;
  margin: 0 !important;
  text-align: center !important;
}

/* Label: Placed on Left of Icon inside Pill, smoothly revealed on hover */
.right-sidebar-fixed li a .sidebar-label,
.left-sidebar-fixed li a .sidebar-label {
  display: inline-block !important;
  padding-left: 18px !important;
  padding-right: 6px !important;
  order: 1 !important;
  white-space: nowrap !important;
  font-weight: 700 !important;
  opacity: 0 !important;
  transition: opacity 0.25s ease 0.05s !important;
}

/* Hover & Touch-Active State: Expand max-width to 250px towards LEFT */
.right-sidebar-fixed li a:hover,
.right-sidebar-fixed li a:focus,
.right-sidebar-fixed li a.touch-active,
.left-sidebar-fixed li a:hover,
.left-sidebar-fixed li a:focus,
.left-sidebar-fixed li a.touch-active {
  width: auto !important;
  max-width: 250px !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.38) !important;
}

.right-sidebar-fixed li a:hover .sidebar-label,
.right-sidebar-fixed li a:focus .sidebar-label,
.right-sidebar-fixed li a.touch-active .sidebar-label,
.left-sidebar-fixed li a:hover .sidebar-label,
.left-sidebar-fixed li a:focus .sidebar-label,
.left-sidebar-fixed li a.touch-active .sidebar-label {
  opacity: 1 !important;
}

/* Mobile keeps the same right-center placement as desktop (top:50%,
   translateY(-50%) from the base rule above) - no override needed here. */

/* ─── Social icons ───────────────────────────────────────────────────────────  */
.social-icons li { margin-right: 8px !important; }
.social-icons li:last-child { margin-right: 0 !important; }
.social-icons li a {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  transition: all .3s ease !important;
}
.social-icons li a:hover {
  background: linear-gradient(135deg,#c01118,#ed1c24) !important;
  border-color: #ed1c24 !important;
  transform: translateY(-3px) !important;
}
.social-icons i { color: #fff !important; font-size: 14px !important; }

/* ─── List icons (contact page legacy compat) ───────────────────────────────── */
.list.list-icons.list-icons-style-3 li > [class*="fa-"]:first-child,
.list.list-icons.list-icons-style-3 li a:first-child > [class*="fa-"]:first-child {
  background-color: #0b3178 !important;
  color: #fff !important;
}

/* ─── Footer ─────────────────────────────────────────────────────────────────  */
#footer               { background: linear-gradient(135deg,#040e21 0%,#0b224d 100%) !important; }
#footer p             { color: rgba(255,255,255,.78) !important; }
#footer a:not(.btn)   { color: rgba(255,255,255,.78) !important; }
/* ─── Footer Ribbon ───────────────────────────────────────────────────────── */
#footer .footer-ribbon,
.footer-ribbon {
  display: none !important;
}

#footer .footer-ribbon:before,
.footer-ribbon:before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: -10px !important;
  width: 0 !important;
  height: 0 !important;
  border-right: 10px solid #051a42 !important;
  border-top: 16px solid transparent !important;
  border-left: none !important;
  border-bottom: none !important;
}

#footer .footer-ribbon span,
.footer-ribbon span,
#footer .footer-ribbon a,
.footer-ribbon a {
  color: #ffffff !important;
  font-family: "Shadows Into Light", cursive, sans-serif !important;
  font-size: 1.6em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  font-weight: normal !important;
}

/* ─── Sidebar / Blog ─────────────────────────────────────────────────────────  */
.sidebar-page-container .sidebar .sidebar-post .post-inner .post {
  position: relative;
  padding: 0 0 10px 80px;
  margin-bottom: 10px;
  border-bottom: 1px solid #e5e5e5;
}
.sidebar-page-container .sidebar .sidebar-post .post-inner .post:last-child { border-bottom: none; }
.sidebar-page-container .sidebar .sidebar-post .post-inner .post .post-date {
  position: absolute;
  left: 0; top: 4px;
  width: 58px; height: 58px;
  text-align: center;
  border-radius: 10px;
  background: linear-gradient(135deg,#071e46,#0b3178);
}
.sidebar-page-container .sidebar .sidebar-post .post-inner .post .post-date p {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin: 0;
}
.sidebar-page-container .sidebar .sidebar-post .post-inner .post .post-date span {
  display: block;
  font-size: 12px;
  color: #fff;
  margin: 0; padding: 0;
}
.sidebar-page-container .sidebar .sidebar-post .post-inner .post h5 {
  font-size: 15px;
  font-weight: 600;
  color: #0b3178;
  margin: 0;
}
.sidebar-page-container .sidebar .sidebar-post .post-inner .post h5 a { color: #0b3178; }
.sidebar-page-container .sidebar .sidebar-post .post-inner .post h5 a:hover { color: #ed1c24; }

/* ─── Utility classes ────────────────────────────────────────────────────────  */
.text-justify { text-align: justify; }
.logo { height: 62px; margin-top: 5px; }
.policylink { color: #fff !important; }
.top-10 { margin-top: 10px; }
.top-30 { margin-top: 30px; }

@media (max-width: 575px) {
  .logo { height: 44px; }
  .top-10 { margin-top: 10px !important; }
  .top-30 { margin-top: 10px !important; }
}
@media (max-width: 767.98px) {
  .scale-2 { -webkit-transform: none !important; transform: none !important; }
}

/* ─── Hero Carousel: legacy demo-id rules (kept inert - #carouselExampleIndicators
   does not exist in this app's markup, the real slider is #heroCarousel). Actual
   sizing/responsive breakpoints for .hero-section live in src/index.css. ────── */
#carouselExampleIndicators,
#carouselExampleIndicators .carousel-inner,
#carouselExampleIndicators .carousel-item {
  width: 100% !important;
  height: 480px !important;
  min-height: 480px !important;
  max-height: 480px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: #040e21 !important;
}

#carouselExampleIndicators .carousel-item img {
  width: 100% !important;
  height: 480px !important;
  max-height: 480px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

@media (max-width: 991px) {
  #carouselExampleIndicators,
  #carouselExampleIndicators .carousel-inner,
  #carouselExampleIndicators .carousel-item,
  #carouselExampleIndicators .carousel-item img {
    height: 340px !important;
    min-height: 340px !important;
    max-height: 340px !important;
  }
}

@media (max-width: 575px) {
  #carouselExampleIndicators,
  #carouselExampleIndicators .carousel-inner,
  #carouselExampleIndicators .carousel-item,
  #carouselExampleIndicators .carousel-item img {
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
  }
}
/* Remove modal header close button background color */
.modal-header .close,
.modal-header button.close,
button.close,
.close {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 0.85 !important;
  color: #ffffff !important;
  text-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.modal-header .close:hover,
.modal-header button.close:hover,
button.close:hover,
.close:hover {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 1 !important;
  color: #ffffff !important;
}

/* Global Modern Modal System */
.modal-content {
  border-radius: 20px !important;
  border: none !important;
  box-shadow: 0 25px 60px rgba(0,0,0,.35) !important;
  overflow: hidden !important;
}

.modal-header {
  background: linear-gradient(135deg,#071e46 0%,#0b3178 100%) !important;
  color: #ffffff !important;
  padding: 20px 28px !important;
  border-bottom: none !important;
}

.modal-title {
  color: #ffffff !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  margin: 0 !important;
}

.modal-body label {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #334155 !important;
  margin-bottom: 6px !important;
}

.modal-body .form-control {
  background-color: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  color: #0f172a !important;
  transition: all .25s ease !important;
}

.modal-body .form-control:focus {
  background-color: #ffffff !important;
  border-color: #0b3178 !important;
  box-shadow: 0 0 0 3.5px rgba(11,49,120,.12) !important;
  outline: none !important;
}

/* Responsive & Mobile Breakpoints */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

img {
  max-width: 100% !important;
  height: auto !important;
}

@media (max-width: 991.98px) {
  .iso-section { padding: 40px 0 !important; }
  .iso-intro-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .iso-intro-aside { order: -1; }
  .iso-facts-card { position: static !important; width: 100% !important; }
  .iso-two-col { flex-direction: column !important; gap: 24px !important; }
  .iso-two-col-img { flex: 0 0 auto !important; max-width: 100% !important; text-align: center !important; }
  .iso-side-img { max-width: 320px !important; margin: 0 auto !important; }
}

@media (max-width: 767.98px) {
  .iso-section-title { font-size: 22px !important; }
  .iso-section-header { margin-bottom: 24px !important; }
  .iso-benefits-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .iso-pdca-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .iso-why-list { gap: 10px !important; }
  .iso-why-item { padding: 12px !important; }
  .cert-images-grid { grid-template-columns: 1fr !important; }
  .cert-img-card { width: 100% !important; max-width: 340px !important; margin: 0 auto !important; }
  .modal-dialog { margin: 12px auto !important; max-width: calc(100% - 24px) !important; }
  .modal-body { padding: 20px 16px !important; }
  .modal-header { padding: 16px 20px !important; }
}

@media (max-width: 575.98px) {
  .iso-section { padding: 32px 0 !important; }
  .iso-section-label { font-size: 10px !important; padding: 4px 12px !important; }
  .iso-section-title { font-size: 20px !important; }
  .iso-info-card { padding: 14px 16px !important; }
  .iso-facts-header { padding: 12px 16px !important; }
  .iso-facts-list { padding: 12px 16px !important; }
}



/* --- Modern Header Navigation System --------------------------------------- */
.header-nav-container {
  background: linear-gradient(135deg,#071e46 0%,#0b3178 100%) !important;
}

.modern-nav-wrapper {
  width: 100%;
}

.modern-nav-list {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}

.modern-nav-item {
  position: relative;
}

.modern-nav-link {
  display: flex;
  align-items: center;
  color: rgba(255,255,255,.9) !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  padding: 12px 14px !important;
  border-radius: 8px;
  transition: all .2s ease;
  white-space: nowrap;
  text-decoration: none !important;
}
.modern-nav-link:hover {
  background: rgba(255,255,255,.15) !important;
  color: #fff !important;
}
.modern-nav-link.active {
  background: #ffffff !important;
  color: #0b3178 !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
}

.modern-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 260px;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0,0,0,.18);
  border: 1px solid #e2e8f0;
  border-top: 3px solid #ed1c24;
  padding: 10px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all .25s cubic-bezier(.4,0,.2,1);
  z-index: 2000;
}

.modern-nav-item:hover .modern-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.dropdown-section-title {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #64748b;
  padding: 8px 12px 4px;
}

.modern-dropdown-item {
  display: block;
  color: #1e293b !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  padding: 8px 14px !important;
  border-radius: 6px;
  transition: all .18s ease;
  text-decoration: none !important;
}
.modern-dropdown-item:hover,
.modern-dropdown-item.active {
  background: linear-gradient(135deg,#c01118,#ed1c24) !important;
  color: #ffffff !important;
  padding-left: 18px !important;
}

.mobile-toggle-btn {
  display: none;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 22px;
  padding: 10px 14px;
  cursor: pointer;
}

@media (max-width: 991px) {
  .mobile-toggle-btn {
    display: inline-flex;
    align-items: center;
  }
  .modern-nav-wrapper {
    display: none;
    width: 100%;
    padding: 12px 0 16px;
  }
  .modern-nav-wrapper.open {
    display: block !important;
  }
  .modern-nav-list {
    flex-direction: column;
    align-items: stretch;
  }
  .modern-nav-item {
    width: 100%;
  }
  .modern-nav-link {
    padding: 10px 14px !important;
  }
  .modern-dropdown {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: none !important;
    border: none !important;
    background: rgba(0,0,0,.2) !important;
    margin: 4px 0 4px 12px !important;
    padding: 6px !important;
  }
  .modern-dropdown-item {
    color: rgba(255,255,255,.9) !important;
  }
  .modern-dropdown-item:hover {
    color: #ffffff !important;
  }
}

/* Strict Logo Height Override (mobile-first, scales up from tablet) */
.logo,
.header-logo-img,
#header .logo,
#header img.logo {
  height: 44px !important;
  max-height: 44px !important;
  margin-top: 5px !important;
  width: auto !important;
}
@media (min-width: 768px) {
  .logo,
  .header-logo-img,
  #header .logo,
  #header img.logo {
    height: 80px !important;
    max-height: 80px !important;
  }
}

/* IAF Logo Height Override (hidden on phones via d-none d-md-inline-block, sized here for tablet/desktop) */
img[src*="iaf.jpeg"],
.iaf-logo {
  height: 46px !important;
  max-height: 46px !important;
  width: auto !important;
}

/* ==========================================================================
   Full HD (1920px), 2K (2560px) & 4K (3840px) Auto-Adjusting Typography & Layout
   ========================================================================== */

/* ── Full HD Resolution (1920px – 2559px) ─────────────────────────────────── */
@media (min-width: 1920px) {
  html {
    font-size: 18px !important;
  }
  .container {
    max-width: 1560px !important;
  }
  body, p, li, td, th {
    font-size: 1.05rem;
    line-height: 1.7;
  }
  h1, .display-1 {
    font-size: 2.75rem !important;
  }
  h2, .display-2, .section-title, .iso-section-title {
    font-size: 2.2rem !important;
  }
  h3, .display-3 {
    font-size: 1.7rem !important;
  }
  h4, .display-4 {
    font-size: 1.35rem !important;
  }
  h5 {
    font-size: 1.15rem !important;
  }
  h6 {
    font-size: 1rem !important;
  }

  /* Scale Section Padding & Cards */
  .iso-section, .q-section {
    padding: 80px 0 !important;
  }
  .iso-card, .q-card, .metric-glass-card {
    padding: 32px 28px !important;
  }
  .btn-accent-q, .btn-primary-q, .btn-blue, .btn-red {
    padding: 14px 32px !important;
    font-size: 1.05rem !important;
  }
  .hero-section .hero-title {
    font-size: 3rem !important;
  }
  .hero-section .hero-desc {
    font-size: 1.25rem !important;
    max-width: 760px !important;
  }
}

/* ── 2K / Quad HD Resolution (2560px – 3839px) ────────────────────────────── */
@media (min-width: 2560px) {
  html {
    font-size: 21px !important;
  }
  .container {
    max-width: 1980px !important;
  }
  body, p, li, td, th {
    font-size: 1.12rem;
    line-height: 1.75;
  }
  h1, .display-1 {
    font-size: 3.25rem !important;
  }
  h2, .display-2, .section-title, .iso-section-title {
    font-size: 2.5rem !important;
  }
  h3, .display-3 {
    font-size: 1.95rem !important;
  }
  h4, .display-4 {
    font-size: 1.5rem !important;
  }
  h5 {
    font-size: 1.25rem !important;
  }
  h6 {
    font-size: 1.08rem !important;
  }

  /* Scale Section Padding & Cards */
  .iso-section, .q-section {
    padding: 100px 0 !important;
  }
  .iso-card, .q-card, .metric-glass-card {
    padding: 40px 36px !important;
  }
  .btn-accent-q, .btn-primary-q, .btn-blue, .btn-red {
    padding: 16px 38px !important;
    font-size: 1.15rem !important;
  }
  .hero-section .hero-title {
    font-size: 3.6rem !important;
  }
  .hero-section .hero-desc {
    font-size: 1.4rem !important;
    max-width: 900px !important;
  }
}

/* ── 4K Ultra HD Resolution (3840px+) ─────────────────────────────────────── */
@media (min-width: 3840px) {
  html {
    font-size: 26px !important;
  }
  .container {
    max-width: 2700px !important;
  }
  body, p, li, td, th {
    font-size: 1.2rem;
    line-height: 1.8;
  }
  h1, .display-1 {
    font-size: 4rem !important;
  }
  h2, .display-2, .section-title, .iso-section-title {
    font-size: 3rem !important;
  }
  h3, .display-3 {
    font-size: 2.3rem !important;
  }
}
