/* =====================================================
   TVETLABS — Modern Bootstrap 5 Theme
   Inspired by UNDP color palette: Blue / Yellow / Sage
   ===================================================== */

:root {
  /* Brand colors — UNDP-inspired */
  --tvet-blue:        #006EB5;   /* Primary UNDP blue */
  --tvet-blue-dark:   #00528A;
  --tvet-blue-deep:   #003D69;
  --tvet-blue-light:  #E5F1F9;

  --tvet-yellow:      #F5B921;   /* Golden yellow accent */
  --tvet-yellow-dark: #D49A05;
  --tvet-yellow-light:#FFF6DC;

  --tvet-sage:        #5A6048;   /* Olive/sage accent */
  --tvet-sage-light:  #B6BAA5;

  --tvet-text:        #1F2937;
  --tvet-text-muted:  #6B7280;
  --tvet-bg-light:    #F7F9FC;
  --tvet-border:      #E4E8EE;
  --tvet-white:       #FFFFFF;

  /* Typography */
  --tvet-font-body:    'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --tvet-font-heading: 'Poppins', 'Inter', sans-serif;

  /* Shadows */
  --tvet-shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.06);
  --tvet-shadow:    0 6px 20px rgba(0, 0, 0, 0.08);
  --tvet-shadow-lg: 0 14px 40px rgba(0, 30, 60, 0.12);

  /* Radii */
  --tvet-radius-sm: 6px;
  --tvet-radius:    12px;
  --tvet-radius-lg: 20px;
}

/* ====== Base ====== */
* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--tvet-font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--tvet-text);
  background: var(--tvet-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--tvet-font-heading);
  font-weight: 700;
  color: var(--tvet-blue-deep);
  line-height: 1.25;
  margin-top: 0;
}

p { margin-top: 0; }

a {
  color: var(--tvet-blue);
  text-decoration: none;
  transition: color .2s ease;
}
a:hover { color: var(--tvet-yellow-dark); }

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

/* ====== Section primitives ====== */
.tvet-section {
  padding: 80px 0;
  position: relative;
}
@media (max-width: 768px) {
  .tvet-section { padding: 56px 0; }
}

.tvet-bg-light  { background: var(--tvet-bg-light); }
.tvet-bg-blue   { background: var(--tvet-blue); color: #fff; }
.tvet-bg-yellow { background: var(--tvet-yellow); }

.tvet-section-head {
  margin-bottom: 56px;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.tvet-section-head.text-center { text-align: center; }
.tvet-section-head h2 {
  font-size: clamp(1.8rem, 3.2vw, 2.5rem);
  margin-bottom: 16px;
}
.tvet-bg-blue .tvet-section-head h2,
.tvet-section-head h2.text-white { color: #fff; }

.tvet-section-sub {
  font-size: 1.05rem;
  color: var(--tvet-text-muted);
  margin: 0;
}
.tvet-section-sub.text-white-75 { color: rgba(255,255,255,0.85); }

.tvet-eyebrow {
  display: inline-block;
  font-family: var(--tvet-font-heading);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--tvet-yellow-dark);
  background: var(--tvet-yellow-light);
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.tvet-eyebrow.eyebrow-light {
  color: var(--tvet-yellow);
  background: rgba(245,185,33,0.15);
}

.text-tvet-accent { color: var(--tvet-yellow); }

/* ====== Buttons ====== */
.btn-tvet-primary {
  background: var(--tvet-blue);
  color: #fff;
  border: 2px solid var(--tvet-blue);
  padding: 12px 28px;
  font-weight: 600;
  border-radius: var(--tvet-radius-sm);
  transition: all .25s ease;
  letter-spacing: 0.3px;
}
.btn-tvet-primary:hover {
  background: var(--tvet-blue-dark);
  border-color: var(--tvet-blue-dark);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: var(--tvet-shadow);
}

.btn-tvet-yellow {
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
  border: 2px solid var(--tvet-yellow);
  padding: 12px 28px;
  font-weight: 700;
  border-radius: var(--tvet-radius-sm);
  transition: all .25s ease;
}
.btn-tvet-yellow:hover {
  background: var(--tvet-yellow-dark);
  border-color: var(--tvet-yellow-dark);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: var(--tvet-shadow);
}

.btn-tvet-outline {
  background: transparent;
  color: #fff;
  border: 2px solid #fff;
  padding: 12px 28px;
  font-weight: 600;
  border-radius: var(--tvet-radius-sm);
  transition: all .25s ease;
}
.btn-tvet-outline:hover {
  background: #fff;
  color: var(--tvet-blue);
  transform: translateY(-2px);
}
.tvet-bg-light .btn-tvet-outline,
.tvet-section:not(.tvet-bg-blue):not(.tvet-hero) .btn-tvet-outline {
  color: var(--tvet-blue);
  border-color: var(--tvet-blue);
}
.tvet-bg-light .btn-tvet-outline:hover,
.tvet-section:not(.tvet-bg-blue):not(.tvet-hero) .btn-tvet-outline:hover {
  background: var(--tvet-blue);
  color: #fff;
}

/* =====================================================
   HERO CAROUSEL
   ===================================================== */
.tvet-hero { position: relative; }
.tvet-hero .carousel,
.tvet-hero .carousel-inner { height: 100%; }
.tvet-hero .carousel-item {
  height: clamp(560px, 78vh, 720px);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.tvet-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    rgba(0, 61, 105, 0.85) 0%,
    rgba(0, 110, 181, 0.65) 50%,
    rgba(0, 110, 181, 0.35) 100%
  );
}
.tvet-hero-content {
  position: relative;
  z-index: 2;
  max-width: 760px;
  padding: 70px 0 110px;
  color: #fff;
}
.tvet-hero-eyebrow {
  display: inline-block;
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
  font-family: var(--tvet-font-heading);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 8px 18px;
  border-radius: 4px;
  margin-bottom: 22px;
}
.tvet-hero-content h1 {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: 18px;
  line-height: 1.1;
}
.tvet-hero-content p.lead {
  font-size: 1.15rem;
  color: rgba(255,255,255,0.92);
  max-width: 620px;
  margin-bottom: 32px;
}
.tvet-hero-cta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.carousel-indicators {
  margin-bottom: 24px;
}
.carousel-indicators [data-bs-target] {
  width: 36px;
  height: 4px;
  background: rgba(255,255,255,0.5);
  border: none;
  border-radius: 2px;
}
.carousel-indicators .active { background: var(--tvet-yellow); }

/* =====================================================
   TRUST BAR
   ===================================================== */
.tvet-trust-bar {
  background: var(--tvet-yellow);
  padding: 28px 0;
  border-bottom: 4px solid var(--tvet-yellow-dark);
}
.tvet-trust-item {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--tvet-blue-deep);
}
.tvet-trust-item i {
  font-size: 2rem;
  color: var(--tvet-blue);
  flex-shrink: 0;
}
.tvet-trust-item strong {
  display: block;
  font-family: var(--tvet-font-heading);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--tvet-blue-deep);
  line-height: 1.2;
}
.tvet-trust-item span {
  font-size: 0.88rem;
  color: var(--tvet-blue-dark);
}

/* =====================================================
   CATEGORY CARDS (Lab Categories)
   ===================================================== */
.tvet-cat-card {
  display: block;
  background: #fff;
  border-radius: var(--tvet-radius);
  overflow: hidden;
  box-shadow: var(--tvet-shadow-sm);
  transition: all .35s ease;
  height: 100%;
  border: 1px solid var(--tvet-border);
}
.tvet-cat-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--tvet-shadow-lg);
  border-color: var(--tvet-yellow);
}
.tvet-cat-img {
  height: 200px;
  overflow: hidden;
  position: relative;
  background: var(--tvet-bg-light);
}
.tvet-cat-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.tvet-cat-card:hover .tvet-cat-img img { transform: scale(1.08); }
.tvet-cat-body { padding: 22px 20px; }
.tvet-cat-body h3 {
  font-size: 1.1rem;
  margin-bottom: 12px;
  color: var(--tvet-blue-deep);
}
.tvet-cat-link {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--tvet-yellow-dark);
}
.tvet-cat-link i {
  transition: transform .25s ease;
  margin-left: 4px;
}
.tvet-cat-card:hover .tvet-cat-link i { transform: translateX(5px); }

/* ====== Training Cards ====== */
.tvet-training-card {
  display: block;
  background: #fff;
  border-radius: var(--tvet-radius);
  overflow: hidden;
  box-shadow: var(--tvet-shadow-sm);
  transition: all .3s ease;
  height: 100%;
  border: 1px solid var(--tvet-border);
}
.tvet-training-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--tvet-shadow);
}
.tvet-training-img {
  height: 180px;
  background-size: cover;
  background-position: center;
  border-bottom: 4px solid var(--tvet-yellow);
}
.tvet-training-body { padding: 20px; }
.tvet-training-body h3 {
  font-size: 1rem;
  color: var(--tvet-blue-deep);
  margin-bottom: 10px;
}
.tvet-training-link {
  color: var(--tvet-blue);
  font-weight: 600;
  font-size: 0.88rem;
}

/* =====================================================
   SERVICE CARDS
   ===================================================== */
.tvet-service-card {
  background: #fff;
  border-radius: var(--tvet-radius);
  overflow: hidden;
  display: flex;
  height: 100%;
  box-shadow: var(--tvet-shadow-sm);
  transition: all .3s ease;
  border: 1px solid var(--tvet-border);
}
.tvet-service-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--tvet-shadow);
}
.tvet-service-img {
  flex: 0 0 40%;
  background: var(--tvet-bg-light);
}
.tvet-service-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tvet-service-body { padding: 28px; flex: 1; }
.tvet-service-body h3 {
  font-size: 1.25rem;
  color: var(--tvet-blue-deep);
  margin-bottom: 12px;
}
.tvet-service-body p {
  color: var(--tvet-text-muted);
  font-size: 0.95rem;
  margin-bottom: 16px;
}
.tvet-link-arrow {
  font-weight: 600;
  color: var(--tvet-yellow-dark);
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.tvet-link-arrow:hover { color: var(--tvet-blue); }
.tvet-link-arrow i { transition: transform .25s ease; }
.tvet-link-arrow:hover i { transform: translateX(4px); }

@media (max-width: 575px) {
  .tvet-service-card { flex-direction: column; }
  .tvet-service-img { flex-basis: 200px; }
}

/* =====================================================
   ABOUT SECTION
   ===================================================== */
.tvet-about-visual {
  position: relative;
  padding: 30px;
}
.tvet-about-main {
  border-radius: var(--tvet-radius);
  box-shadow: var(--tvet-shadow-lg);
  position: relative;
  z-index: 2;
}
.tvet-about-circle {
  position: absolute;
  width: 220px;
  height: 220px;
  background: var(--tvet-yellow);
  border-radius: 50%;
  top: -10px;
  left: -10px;
  z-index: 1;
  opacity: 0.85;
}
.tvet-about-badge {
  position: absolute;
  bottom: 20px;
  right: 0;
  background: var(--tvet-blue);
  color: #fff;
  padding: 18px 22px;
  border-radius: var(--tvet-radius);
  box-shadow: var(--tvet-shadow);
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 14px;
  border: 4px solid var(--tvet-yellow);
}
.tvet-about-badge strong {
  font-family: var(--tvet-font-heading);
  font-size: 2.4rem;
  font-weight: 800;
  line-height: 1;
}
.tvet-about-badge span {
  font-size: 0.85rem;
  line-height: 1.3;
}
.tvet-about h2 {
  font-size: clamp(1.8rem, 3.2vw, 2.4rem);
  margin-bottom: 18px;
}
.tvet-about p {
  color: var(--tvet-text-muted);
  margin-bottom: 16px;
}
.tvet-about-cta { margin-top: 24px; }

/* =====================================================
   FEATURE TILES (Why Choose Us — on blue)
   ===================================================== */
.tvet-feature-tile {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: var(--tvet-radius);
  padding: 32px 24px;
  text-align: center;
  height: 100%;
  transition: all .3s ease;
  backdrop-filter: blur(8px);
}
.tvet-feature-tile:hover {
  background: rgba(255,255,255,0.14);
  transform: translateY(-4px);
  border-color: var(--tvet-yellow);
}
.tvet-feature-icon {
  width: 70px;
  height: 70px;
  margin: 0 auto 18px;
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
}
.tvet-feature-tile h3 {
  color: #fff;
  font-size: 1.1rem;
  margin-bottom: 10px;
}
.tvet-feature-tile p {
  color: rgba(255,255,255,0.82);
  font-size: 0.92rem;
  margin: 0;
}

/* =====================================================
   STATS CARDS
   ===================================================== */
.tvet-stats {
  background: linear-gradient(135deg, var(--tvet-yellow-light) 0%, #fff 100%);
}
.tvet-stat-card {
  text-align: center;
  background: #fff;
  border-radius: var(--tvet-radius);
  padding: 36px 18px;
  box-shadow: var(--tvet-shadow-sm);
  border-top: 4px solid var(--tvet-yellow);
  transition: all .3s ease;
  height: 100%;
}
.tvet-stat-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--tvet-shadow-lg);
  border-top-color: var(--tvet-blue);
}
.tvet-stat-number {
  font-family: var(--tvet-font-heading);
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  font-weight: 800;
  color: var(--tvet-blue);
  line-height: 1;
  margin-bottom: 6px;
}
.tvet-stat-number span { color: var(--tvet-yellow); }
.tvet-stat-card h4 {
  font-size: 0.95rem;
  color: var(--tvet-text-muted);
  font-weight: 600;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* =====================================================
   CONSULT TILES
   ===================================================== */
.tvet-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
.tvet-tag-list span {
  background: #fff;
  color: var(--tvet-blue-deep);
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  box-shadow: var(--tvet-shadow-sm);
}
.tvet-tag-list span i { color: var(--tvet-yellow-dark); margin-right: 4px; }

.tvet-consult-tile {
  display: block;
  background: var(--tvet-blue);
  color: #fff;
  padding: 28px 22px;
  border-radius: var(--tvet-radius);
  text-align: left;
  height: 100%;
  transition: all .3s ease;
  position: relative;
  overflow: hidden;
}
.tvet-consult-tile:hover {
  transform: translateY(-4px);
  background: var(--tvet-blue-dark);
  color: #fff;
  box-shadow: var(--tvet-shadow-lg);
}
.tvet-consult-tile i {
  font-size: 2rem;
  color: var(--tvet-yellow);
  margin-bottom: 14px;
  display: block;
}
.tvet-consult-tile h4 {
  color: #fff;
  font-size: 1.05rem;
  margin-bottom: 6px;
}
.tvet-consult-tile p {
  color: rgba(255,255,255,0.82);
  font-size: 0.88rem;
  margin: 0;
}
.tvet-consult-tile-yellow {
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
}
.tvet-consult-tile-yellow i { color: var(--tvet-blue); }
.tvet-consult-tile-yellow h4 { color: var(--tvet-blue-deep); }
.tvet-consult-tile-yellow p { color: var(--tvet-blue-dark); }
.tvet-consult-tile-yellow:hover {
  background: var(--tvet-yellow-dark);
  color: #fff;
}
.tvet-consult-tile-yellow:hover h4,
.tvet-consult-tile-yellow:hover p { color: #fff; }
.tvet-consult-tile-yellow:hover i { color: #fff; }

/* =====================================================
   WORLDWIDE / REGION CARDS
   ===================================================== */
.tvet-worldwide {
  background:
    radial-gradient(circle at 10% 0%, var(--tvet-yellow-light) 0%, transparent 40%),
    radial-gradient(circle at 90% 100%, var(--tvet-blue-light) 0%, transparent 40%),
    #fff;
}
.tvet-region-card {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 28px 22px;
  height: 100%;
  box-shadow: var(--tvet-shadow-sm);
  transition: all .3s ease;
}
.tvet-region-card:hover {
  transform: translateY(-4px);
  border-color: var(--tvet-yellow);
  box-shadow: var(--tvet-shadow);
}
.tvet-region-flag {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--tvet-blue);
  color: var(--tvet-yellow);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  margin-bottom: 18px;
}
.tvet-region-card h3 {
  color: var(--tvet-blue-deep);
  font-size: 1.2rem;
  margin-bottom: 12px;
}
.tvet-region-card p {
  color: var(--tvet-text-muted);
  font-size: 0.9rem;
  line-height: 1.55;
  margin: 0;
}

.tvet-keyword-cloud {
  margin-top: 48px;
  padding: 28px 32px;
  background: var(--tvet-blue-light);
  border-left: 4px solid var(--tvet-yellow);
  border-radius: var(--tvet-radius-sm);
}
.tvet-keyword-cloud p {
  font-size: 0.92rem;
  color: var(--tvet-blue-dark);
  margin: 0;
  line-height: 1.7;
}

/* =====================================================
   VALUE CARDS
   ===================================================== */
.tvet-value-card {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 32px 26px;
  height: 100%;
  position: relative;
  transition: all .3s ease;
}
.tvet-value-card:hover {
  transform: translateY(-4px);
  border-color: var(--tvet-blue);
  box-shadow: var(--tvet-shadow);
}
.tvet-value-num {
  font-family: var(--tvet-font-heading);
  font-size: 2.6rem;
  font-weight: 800;
  color: var(--tvet-yellow);
  line-height: 1;
  margin-bottom: 14px;
  -webkit-text-stroke: 1px var(--tvet-yellow-dark);
}
.tvet-value-card h3 {
  color: var(--tvet-blue-deep);
  font-size: 1.15rem;
  margin-bottom: 10px;
}
.tvet-value-card p {
  color: var(--tvet-text-muted);
  font-size: 0.92rem;
  margin: 0;
}

/* =====================================================
   BLOG CARDS
   ===================================================== */
.tvet-blog-card {
  background: #fff;
  border-radius: var(--tvet-radius);
  overflow: hidden;
  box-shadow: var(--tvet-shadow-sm);
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all .3s ease;
  border: 1px solid var(--tvet-border);
}
.tvet-blog-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--tvet-shadow);
}
.tvet-blog-img {
  display: block;
  height: 200px;
  overflow: hidden;
  background: var(--tvet-bg-light);
}
.tvet-blog-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.tvet-blog-card:hover .tvet-blog-img img { transform: scale(1.05); }
.tvet-blog-body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.tvet-blog-body h3 { font-size: 1.1rem; margin-bottom: 12px; }
.tvet-blog-body h3 a { color: var(--tvet-blue-deep); }
.tvet-blog-body h3 a:hover { color: var(--tvet-yellow-dark); }
.tvet-blog-excerpt {
  color: var(--tvet-text-muted);
  font-size: 0.92rem;
  margin-bottom: 14px;
  flex: 1;
}

/* =====================================================
   FAQ ACCORDION
   ===================================================== */
.tvet-faq h2 {
  font-size: clamp(1.8rem, 3.2vw, 2.4rem);
  margin-bottom: 16px;
}
.tvet-accordion .accordion-item {
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius) !important;
  margin-bottom: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--tvet-shadow-sm);
}
.tvet-accordion .accordion-button {
  font-family: var(--tvet-font-heading);
  font-weight: 600;
  font-size: 1rem;
  color: var(--tvet-blue-deep);
  padding: 18px 22px;
  background: #fff;
  border-radius: var(--tvet-radius) !important;
}
.tvet-accordion .accordion-button:not(.collapsed) {
  color: var(--tvet-blue);
  background: var(--tvet-blue-light);
  box-shadow: none;
}
.tvet-accordion .accordion-button:focus {
  box-shadow: 0 0 0 3px rgba(0, 110, 181, 0.18);
  border-color: transparent;
}
.tvet-accordion .accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23006EB5'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.tvet-accordion .accordion-body {
  padding: 18px 22px;
  color: var(--tvet-text-muted);
  font-size: 0.95rem;
  line-height: 1.7;
}

/* =====================================================
   CONTACT FORM
   ===================================================== */
.tvet-contact-section {
  background: linear-gradient(135deg, var(--tvet-blue) 0%, var(--tvet-blue-deep) 100%);
}
.tvet-contact-blocks {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.tvet-contact-block {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.tvet-contact-icon {
  width: 48px;
  height: 48px;
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  flex-shrink: 0;
}
.tvet-contact-block strong {
  display: block;
  color: #fff;
  font-family: var(--tvet-font-heading);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 4px;
}
.tvet-contact-block a,
.tvet-contact-block span {
  color: rgba(255,255,255,0.92);
  display: block;
  font-size: 1rem;
}
.tvet-contact-block a:hover { color: var(--tvet-yellow); }

.tvet-form-card {
  background: #fff;
  border-radius: var(--tvet-radius-lg);
  padding: 40px;
  box-shadow: var(--tvet-shadow-lg);
}
.tvet-form-title {
  color: var(--tvet-blue-deep);
  font-size: 1.5rem;
  margin-bottom: 6px;
}
.tvet-form-sub {
  color: var(--tvet-text-muted);
  font-size: 0.95rem;
  margin-bottom: 24px;
}
.tvet-form .form-label {
  font-family: var(--tvet-font-heading);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--tvet-blue-deep);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.tvet-form .form-control {
  border: 1.5px solid var(--tvet-border);
  border-radius: var(--tvet-radius-sm);
  padding: 12px 16px;
  font-size: 0.95rem;
  background: #fff;
  transition: all .2s ease;
}
.tvet-form .form-control:focus {
  border-color: var(--tvet-blue);
  box-shadow: 0 0 0 3px rgba(0, 110, 181, 0.12);
}

@media (max-width: 575px) {
  .tvet-form-card { padding: 24px 22px; }
}

/* =====================================================
   BOTTOM SEO TEXT BLOCK
   ===================================================== */
.tvet-seo-block {
  background: var(--tvet-blue-deep);
  color: rgba(255,255,255,0.85);
  padding: 56px 0;
  border-top: 4px solid var(--tvet-yellow);
}
.tvet-seo-block-title {
  color: #fff;
  font-size: 1.4rem;
  margin-bottom: 24px;
  text-align: center;
  position: relative;
  padding-bottom: 16px;
}
.tvet-seo-block-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: var(--tvet-yellow);
}
.tvet-seo-block p {
  font-size: 0.92rem;
  line-height: 1.75;
  margin-bottom: 14px;
}
.tvet-seo-block strong { color: var(--tvet-yellow); font-weight: 600; }

/* =====================================================
   UTILITY OVERRIDES (from existing site)
   ===================================================== */
.text-white-75 { color: rgba(255,255,255,0.85); }

/* Reduce header gap if header.php is sticky */
.tvet-hero { margin-top: 0; }

/* Ensure inherited footer plays nicely */
footer { background: #0F1F33; color: rgba(255,255,255,0.8); }
footer .footer_title {
  color: #fff !important;
  font-family: var(--tvet-font-heading);
  font-weight: 700;
}

/* Bread-crumbs reset (used in inner pages) */
.bread-crumbs {
  background: var(--tvet-bg-light);
  padding: 14px 22px;
  border-radius: var(--tvet-radius-sm);
  font-size: 0.88rem;
  margin-bottom: 24px;
}
.bread-crumbs a { color: var(--tvet-blue); font-weight: 500; }

/* =====================================================
   RESPONSIVE TWEAKS
   ===================================================== */
@media (max-width: 991.98px) {
  .tvet-hero-content { padding: 50px 0 100px; }
  .tvet-about-circle { width: 160px; height: 160px; }
  .tvet-about-badge { padding: 14px 18px; }
  .tvet-about-badge strong { font-size: 1.8rem; }
}

@media (max-width: 575px) {
  .tvet-hero .carousel-item { height: 580px; }
  .tvet-hero-content { padding: 50px 0 90px; }
  .tvet-hero-content h1 { font-size: 1.8rem; }
  .tvet-hero-content p.lead { font-size: 1rem; }
  .tvet-hero-cta .btn { width: 100%; margin-left: 0 !important; }
  .tvet-hero-cta { flex-direction: column; }
  .btn-tvet-outline.ms-2 { margin-left: 0 !important; }
}

/* Animation for sections in viewport */
@keyframes tvetFadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.tvet-cat-card,
.tvet-service-card,
.tvet-feature-tile,
.tvet-stat-card,
.tvet-value-card,
.tvet-region-card,
.tvet-blog-card {
  animation: tvetFadeUp .5s ease-out both;
}

/* =====================================================
   HEADER: TOP UTILITY BAR
   ===================================================== */
.tvet-topbar {
  background: var(--tvet-blue-deep);
  color: rgba(255,255,255,0.85);
  padding: 9px 0;
  font-size: 0.83rem;
  border-bottom: 2px solid var(--tvet-yellow);
}
.tvet-topbar-link,
.tvet-topbar .tvet-topbar-link {
  color: rgba(255,255,255,0.9);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color .2s ease;
}
.tvet-topbar-link:hover { color: var(--tvet-yellow); }
.tvet-topbar-link i { color: var(--tvet-yellow); }
.tvet-topbar-divider {
  margin: 0 12px;
  color: rgba(255,255,255,0.3);
}
.tvet-topbar-tag {
  color: rgba(255,255,255,0.75);
  font-style: italic;
}
.tvet-topbar-tag i { color: var(--tvet-yellow); margin-right: 4px; }
.tvet-topbar-right {
  display: flex;
  align-items: center;
  gap: 6px;
}
.tvet-translate {
  display: inline-block;
  vertical-align: middle;
}
.tvet-translate .goog-te-gadget {
  font-family: var(--tvet-font-body) !important;
  font-size: 0.78rem !important;
  color: rgba(255,255,255,0.85) !important;
}
.tvet-translate .goog-te-gadget-simple {
  background: rgba(255,255,255,0.1) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 4px !important;
  padding: 2px 8px !important;
}

/* =====================================================
   HEADER: MAIN NAVBAR
   ===================================================== */
.tvet-navbar {
  background: #fff;
  padding: 14px 0;
  box-shadow: 0 2px 0 var(--tvet-blue-light);
  transition: all .3s ease;
  z-index: 1030;
}
.tvet-navbar.scrolled {
  padding: 8px 0;
  box-shadow: var(--tvet-shadow);
}

/* Brand */
.tvet-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0;
  text-decoration: none;
}
.tvet-brand-img {
  height: 56px;
  width: auto;
  max-width: 240px;
  object-fit: contain;
  transition: height .3s ease;
}
.tvet-navbar.scrolled .tvet-brand-img { height: 44px; }

/* Nav links */
.tvet-nav .nav-item { margin: 0 2px; }
.tvet-nav .nav-link {
  font-family: var(--tvet-font-heading);
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--tvet-blue-deep);
  padding: 10px 16px !important;
  border-radius: var(--tvet-radius-sm);
  transition: all .25s ease;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.tvet-nav .nav-link i { font-size: 0.95rem; opacity: .75; }
.tvet-nav .nav-link:hover {
  color: var(--tvet-blue);
  background: var(--tvet-blue-light);
}
.tvet-nav .nav-link.active {
  color: var(--tvet-blue);
  background: var(--tvet-blue-light);
}
.tvet-nav .nav-link.active::after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 16px;
  right: 16px;
  height: 3px;
  background: var(--tvet-yellow);
  border-radius: 2px;
}

/* Nav right actions */
.tvet-nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: 14px;
}
.tvet-search-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--tvet-blue-light);
  border: none;
  color: var(--tvet-blue);
  font-size: 1.05rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .25s ease;
  cursor: pointer;
}
.tvet-search-btn:hover {
  background: var(--tvet-blue);
  color: #fff;
}
.tvet-nav-cta {
  padding: 9px 18px !important;
  font-size: 0.88rem !important;
  border-radius: var(--tvet-radius-sm);
}
.tvet-nav-cta i { margin-right: 6px; }

/* Toggler */
.tvet-toggler {
  border: 1.5px solid var(--tvet-blue-light);
  border-radius: var(--tvet-radius-sm);
  padding: 8px 10px;
  width: 46px;
  height: 42px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  background: var(--tvet-blue-light);
}
.tvet-toggler:focus { box-shadow: 0 0 0 3px rgba(0,110,181,0.18); }
.tvet-toggler-bar {
  display: block;
  width: 100%;
  height: 2.5px;
  background: var(--tvet-blue);
  border-radius: 2px;
  transition: all .3s ease;
}

/* Search collapse */
.tvet-search-collapse {
  background: var(--tvet-blue-light);
  border-top: 1px solid var(--tvet-border);
  padding: 18px 0;
  margin-top: 14px;
}
.tvet-search-form {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border-radius: var(--tvet-radius);
  padding: 6px 6px 6px 18px;
  box-shadow: var(--tvet-shadow-sm);
  max-width: 640px;
  margin: 0 auto;
}
.tvet-search-icon {
  color: var(--tvet-blue);
  font-size: 1.1rem;
}
.tvet-search-input {
  flex: 1;
  border: none;
  outline: none;
  padding: 12px 6px;
  font-size: 0.95rem;
  background: transparent;
}
.tvet-search-form .btn {
  padding: 10px 22px !important;
  font-size: 0.9rem !important;
}

/* Mobile nav adjustments */
@media (max-width: 991.98px) {
  .tvet-navbar { padding: 10px 0; }
  .tvet-brand-img { height: 46px; max-width: 200px; }

  .navbar-collapse {
    margin-top: 14px;
    padding: 16px;
    background: var(--tvet-bg-light);
    border-radius: var(--tvet-radius);
    border: 1px solid var(--tvet-border);
  }
  .tvet-nav { width: 100%; }
  .tvet-nav .nav-item { margin: 2px 0; }
  .tvet-nav .nav-link {
    padding: 12px 16px !important;
    width: 100%;
  }
  .tvet-nav .nav-link.active::after { display: none; }
  .tvet-nav-actions {
    margin-left: 0;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--tvet-border);
    width: 100%;
    justify-content: space-between;
  }
  .tvet-nav-cta { flex: 1; text-align: center; }
}

/* =====================================================
   FOOTER
   ===================================================== */
.tvet-footer {
  background: #0F1F33;
  color: rgba(255,255,255,0.78);
  font-size: 0.92rem;
}

/* Footer CTA strip */
.tvet-footer-cta {
  background: linear-gradient(135deg, var(--tvet-blue) 0%, var(--tvet-blue-dark) 100%);
  padding: 36px 0;
  border-bottom: 4px solid var(--tvet-yellow);
}
.tvet-footer-cta h3 {
  color: #fff;
  font-size: clamp(1.4rem, 2.6vw, 1.9rem);
  font-weight: 700;
  margin-bottom: 6px;
}
.tvet-footer-cta p {
  color: rgba(255,255,255,0.85);
  margin: 0;
  font-size: 0.98rem;
}
.btn-tvet-outline-white {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255,255,255,0.7);
  padding: 12px 24px;
  font-weight: 600;
  border-radius: var(--tvet-radius-sm);
  transition: all .25s ease;
}
.btn-tvet-outline-white:hover {
  background: #fff;
  color: var(--tvet-blue);
  border-color: #fff;
}
.btn-tvet-outline-white i { margin-right: 6px; }
.tvet-footer-cta .btn-tvet-yellow i { margin-right: 6px; }

/* Footer main area */
.tvet-footer-main { padding: 64px 0 40px; }

.tvet-footer-brand {
  display: flex;
  flex-direction: column;
  margin-bottom: 16px;
}
.tvet-footer-logo {
  font-family: var(--tvet-font-heading);
  font-size: 1.8rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  letter-spacing: -0.5px;
}
.tvet-footer-logo span { color: var(--tvet-yellow); }
.tvet-footer-tag {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.6);
  letter-spacing: 0.4px;
  margin-top: 4px;
}
.tvet-footer-about {
  color: rgba(255,255,255,0.7);
  font-size: 0.92rem;
  line-height: 1.7;
  margin-bottom: 20px;
}
.tvet-footer-about strong { color: var(--tvet-yellow); font-weight: 600; }

.tvet-footer-social {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.tvet-footer-social a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  transition: all .25s ease;
}
.tvet-footer-social a:hover {
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
  transform: translateY(-3px);
}

.tvet-footer-title {
  font-family: var(--tvet-font-heading);
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 22px;
  position: relative;
  padding-bottom: 10px;
}
.tvet-footer-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 36px;
  height: 3px;
  background: var(--tvet-yellow);
  border-radius: 2px;
}

.tvet-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tvet-footer-links li { margin-bottom: 9px; }
.tvet-footer-links a {
  color: rgba(255,255,255,0.72);
  font-size: 0.9rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all .2s ease;
}
.tvet-footer-links a i {
  color: var(--tvet-yellow);
  font-size: 0.7rem;
  transition: transform .2s ease;
}
.tvet-footer-links a:hover {
  color: var(--tvet-yellow);
  padding-left: 4px;
}
.tvet-footer-links a:hover i { transform: translateX(2px); }

.tvet-footer-contact {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tvet-footer-contact li {
  display: flex;
  gap: 12px;
  margin-bottom: 18px;
  align-items: flex-start;
}
.tvet-footer-contact li i {
  width: 36px;
  height: 36px;
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  flex-shrink: 0;
}
.tvet-footer-contact li strong {
  display: block;
  color: #fff;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin-bottom: 4px;
  font-family: var(--tvet-font-heading);
}
.tvet-footer-contact li a,
.tvet-footer-contact li {
  color: rgba(255,255,255,0.72);
  font-size: 0.88rem;
  line-height: 1.55;
}
.tvet-footer-contact li a {
  display: inline;
  text-decoration: none;
}
.tvet-footer-contact li a:hover { color: var(--tvet-yellow); }

/* Footer SEO country block */
.tvet-footer-seo {
  background: rgba(0,0,0,0.18);
  padding: 32px 0;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.tvet-footer-seo h5 {
  color: var(--tvet-yellow);
  font-family: var(--tvet-font-heading);
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 14px;
  text-align: center;
  letter-spacing: 0.4px;
}
.tvet-footer-seo p {
  color: rgba(255,255,255,0.55);
  font-size: 0.78rem;
  line-height: 1.75;
  margin: 0;
  text-align: justify;
}

/* Footer bottom bar */
.tvet-footer-bottom {
  background: #0a1626;
  padding: 18px 0;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.tvet-copyright {
  color: rgba(255,255,255,0.65);
  font-size: 0.85rem;
  margin: 0;
}
.tvet-copyright strong { color: var(--tvet-yellow); }
.tvet-footer-bottom-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 18px;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.tvet-footer-bottom-links a {
  color: rgba(255,255,255,0.65);
  font-size: 0.85rem;
  text-decoration: none;
  transition: color .2s ease;
}
.tvet-footer-bottom-links a:hover { color: var(--tvet-yellow); }

@media (max-width: 767.98px) {
  .tvet-footer-bottom-links {
    justify-content: flex-start;
    margin-top: 8px;
  }
  .tvet-footer-cta { text-align: center; }
  .tvet-footer-cta .text-lg-end { text-align: center !important; }
  .tvet-footer-cta .btn { margin-bottom: 8px; }
}

/* =====================================================
   FLOATING ACTION BUTTONS
   ===================================================== */
.tvet-back-top {
  position: fixed;
  bottom: 90px;
  right: 22px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--tvet-blue);
  color: #fff;
  border: 2px solid var(--tvet-yellow);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  cursor: pointer;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all .3s ease;
  box-shadow: var(--tvet-shadow);
}
.tvet-back-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.tvet-back-top:hover {
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
  border-color: var(--tvet-blue);
  transform: translateY(-3px);
}

.tvet-whatsapp-float {
  position: fixed;
  bottom: 22px;
  right: 22px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  z-index: 999;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(37, 211, 102, 0.45);
  transition: all .3s ease;
  animation: tvetPulseGreen 2s infinite;
}
.tvet-whatsapp-float:hover {
  background: #128C7E;
  color: #fff;
  transform: scale(1.08);
}
@keyframes tvetPulseGreen {
  0%, 100% { box-shadow: 0 4px 14px rgba(37, 211, 102, 0.45); }
  50%      { box-shadow: 0 4px 14px rgba(37, 211, 102, 0.85), 0 0 0 10px rgba(37, 211, 102, 0); }
}

@media (max-width: 575px) {
  .tvet-whatsapp-float {
    width: 48px;
    height: 48px;
    font-size: 1.35rem;
    bottom: 18px;
    right: 18px;
  }
  .tvet-back-top {
    width: 40px;
    height: 40px;
    font-size: 1rem;
    bottom: 76px;
    right: 18px;
  }
}

/* =====================================================
   INNER PAGE HERO
   ===================================================== */
.tvet-page-hero {
  position: relative;
  background: linear-gradient(135deg, var(--tvet-blue-deep) 0%, var(--tvet-blue) 60%, var(--tvet-blue-dark) 100%);
  color: #fff;
  padding: 70px 0 56px;
  overflow: hidden;
}
.tvet-page-hero::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: var(--tvet-yellow);
  opacity: 0.18;
  z-index: 1;
}
.tvet-page-hero::after {
  content: "";
  position: absolute;
  bottom: -80px;
  left: -80px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  z-index: 1;
}
.tvet-page-hero .container { position: relative; z-index: 2; }
.tvet-page-hero-overlay { position: absolute; inset: 0; z-index: 1; }
.tvet-page-hero h1 {
  color: #fff;
  font-size: clamp(1.8rem, 3.6vw, 2.8rem);
  margin: 12px 0 14px;
}
.tvet-page-hero-sub {
  color: rgba(255,255,255,0.88);
  font-size: 1.05rem;
  max-width: 760px;
  margin: 0;
  line-height: 1.65;
}
.tvet-page-hero-sm { padding: 24px 0 22px; }
.tvet-page-hero-sm::before,
.tvet-page-hero-sm::after { display: none; }

/* Breadcrumb in hero */
.tvet-breadcrumb { margin-bottom: 0; }
.tvet-breadcrumb .breadcrumb {
  margin: 0;
  padding: 0;
  background: transparent;
  font-size: 0.88rem;
}
.tvet-breadcrumb .breadcrumb-item { display: inline-flex; align-items: center; }
.tvet-breadcrumb .breadcrumb-item a {
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color .2s ease;
}
.tvet-breadcrumb .breadcrumb-item a:hover { color: var(--tvet-yellow); }
.tvet-breadcrumb .breadcrumb-item.active { color: var(--tvet-yellow); font-weight: 500; }
.tvet-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255,255,255,0.5);
  content: "›";
  padding: 0 8px;
}

/* =====================================================
   FACT LIST (About page)
   ===================================================== */
.tvet-fact-list {
  background: var(--tvet-bg-light);
  border-radius: var(--tvet-radius);
  padding: 32px 26px;
  border-left: 4px solid var(--tvet-yellow);
}
.tvet-fact-list h3 {
  color: var(--tvet-blue-deep);
  font-size: 1.25rem;
  margin-bottom: 22px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--tvet-border);
}
.tvet-fact-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tvet-fact-list ul li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px dashed var(--tvet-border);
}
.tvet-fact-list ul li:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
.tvet-fact-list ul li i {
  width: 42px;
  height: 42px;
  background: var(--tvet-blue);
  color: var(--tvet-yellow);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  flex-shrink: 0;
}
.tvet-fact-list ul li strong {
  display: block;
  color: var(--tvet-blue-deep);
  font-family: var(--tvet-font-heading);
  font-size: 1.05rem;
  margin-bottom: 2px;
}
.tvet-fact-list ul li span {
  color: var(--tvet-text-muted);
  font-size: 0.9rem;
}

/* =====================================================
   RANGE CARDS (About page Product Range)
   ===================================================== */
.tvet-range-card {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 28px;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all .3s ease;
}
.tvet-range-card:hover {
  transform: translateY(-4px);
  border-color: var(--tvet-yellow);
  box-shadow: var(--tvet-shadow);
}
.tvet-range-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--tvet-yellow-light);
}
.tvet-range-head i {
  width: 48px;
  height: 48px;
  background: var(--tvet-yellow-light);
  color: var(--tvet-yellow-dark);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  flex-shrink: 0;
}
.tvet-range-head h3 {
  font-size: 1.05rem;
  color: var(--tvet-blue-deep);
  margin: 0;
  line-height: 1.3;
}
.tvet-range-list {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  flex: 1;
}
.tvet-range-list li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 0.92rem;
  color: var(--tvet-text);
  margin-bottom: 8px;
  line-height: 1.5;
}
.tvet-range-list li i {
  color: var(--tvet-blue);
  flex-shrink: 0;
  margin-top: 3px;
  font-size: 0.95rem;
}
.tvet-range-card-wide { padding: 32px; }
.tvet-range-card-wide .tvet-range-list { margin-bottom: 8px; }

/* =====================================================
   SUPPLY BLOCK (long-form country list)
   ===================================================== */
.tvet-supply-block {
  background: #fff;
  border-radius: var(--tvet-radius);
  padding: 32px;
  box-shadow: var(--tvet-shadow-sm);
  border-left: 4px solid var(--tvet-yellow);
  margin-top: 30px;
}
.tvet-supply-block-title {
  color: var(--tvet-blue-deep);
  font-size: 1.15rem;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.tvet-supply-block-title i { color: var(--tvet-yellow-dark); }
.tvet-supply-block p {
  color: var(--tvet-text);
  font-size: 0.92rem;
  line-height: 1.75;
  margin: 0;
  text-align: justify;
}

/* =====================================================
   FEATURE TILES — LIGHT VARIANT (white background)
   ===================================================== */
.tvet-feature-tile-light {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 28px 22px;
  text-align: center;
  height: 100%;
  transition: all .3s ease;
}
.tvet-feature-tile-light:hover {
  transform: translateY(-4px);
  border-color: var(--tvet-yellow);
  box-shadow: var(--tvet-shadow);
}
.tvet-feature-icon-light {
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  background: var(--tvet-blue-light);
  color: var(--tvet-blue);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
}
.tvet-feature-tile-light h3 {
  color: var(--tvet-blue-deep);
  font-size: 1.05rem;
  margin-bottom: 10px;
}
.tvet-feature-tile-light p {
  color: var(--tvet-text-muted);
  font-size: 0.9rem;
  margin: 0;
}

/* =====================================================
   CTA SECTION (bottom of inner pages)
   ===================================================== */
.tvet-cta-section { padding: 56px 0; }
.tvet-cta-section h2 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); }

/* =====================================================
   PRODUCTS PAGE LAYOUT
   ===================================================== */
.tvet-products-page { padding: 60px 0; }

/* Sidebar */
.tvet-sidebar { position: sticky; top: 100px; }
.tvet-sidebar-block {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 22px 20px;
  margin-bottom: 20px;
  box-shadow: var(--tvet-shadow-sm);
}
.tvet-sidebar-title {
  font-size: 1.05rem;
  color: var(--tvet-blue-deep);
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--tvet-yellow);
  display: flex;
  align-items: center;
  gap: 8px;
}
.tvet-sidebar-title i { color: var(--tvet-yellow-dark); }

.tvet-sidebar-cta {
  background: linear-gradient(135deg, var(--tvet-blue) 0%, var(--tvet-blue-dark) 100%);
  border: none;
  color: #fff;
}
.tvet-sidebar-cta h4 {
  color: #fff;
  font-size: 1.1rem;
  margin-bottom: 8px;
}
.tvet-sidebar-cta p {
  color: rgba(255,255,255,0.85);
  font-size: 0.9rem;
  margin-bottom: 16px;
}
.tvet-sidebar-cta .btn-tvet-yellow { display: block; }
.tvet-sidebar-contact {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,0.18);
}
.tvet-sidebar-contact a {
  display: block;
  color: rgba(255,255,255,0.85);
  font-size: 0.85rem;
  margin-bottom: 8px;
  text-decoration: none;
  transition: color .2s ease;
}
.tvet-sidebar-contact a:hover { color: var(--tvet-yellow); }
.tvet-sidebar-contact a i { color: var(--tvet-yellow); margin-right: 6px; }

/* Category info box */
.tvet-cat-info-box {
  background: var(--tvet-blue-light);
  border-left: 4px solid var(--tvet-blue);
  border-radius: var(--tvet-radius-sm);
  padding: 22px 26px;
  margin-bottom: 30px;
}
.tvet-cat-info-box h2 {
  font-size: 1.3rem;
  color: var(--tvet-blue-deep);
  margin-bottom: 8px;
}
.tvet-cat-info-box p {
  color: var(--tvet-blue-dark);
  font-size: 0.92rem;
  margin: 0;
  line-height: 1.65;
}

/* Subcategory cards */
.tvet-subcat-grid { margin-bottom: 40px; }
.tvet-subcat-card {
  display: block;
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  overflow: hidden;
  text-decoration: none;
  height: 100%;
  transition: all .3s ease;
  box-shadow: var(--tvet-shadow-sm);
}
.tvet-subcat-card:hover {
  transform: translateY(-4px);
  border-color: var(--tvet-yellow);
  box-shadow: var(--tvet-shadow);
}
.tvet-subcat-img {
  height: 160px;
  overflow: hidden;
  background: var(--tvet-bg-light);
}
.tvet-subcat-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.tvet-subcat-card:hover .tvet-subcat-img img { transform: scale(1.06); }
.tvet-subcat-img-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--tvet-blue-light) 0%, var(--tvet-yellow-light) 100%);
  color: var(--tvet-blue);
  font-size: 3rem;
}
.tvet-subcat-body { padding: 16px 18px; }
.tvet-subcat-body h3 {
  font-size: 1rem;
  color: var(--tvet-blue-deep);
  margin-bottom: 8px;
}
.tvet-subcat-link {
  font-size: 0.85rem;
  color: var(--tvet-yellow-dark);
  font-weight: 600;
}
.tvet-subcat-link i {
  transition: transform .25s ease;
  margin-left: 3px;
}
.tvet-subcat-card:hover .tvet-subcat-link i { transform: translateX(4px); }

/* Products head */
.tvet-products-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--tvet-border);
}
.tvet-products-head h2 {
  font-size: 1.4rem;
  color: var(--tvet-blue-deep);
  margin: 0;
}
.tvet-products-count {
  color: var(--tvet-text-muted);
  font-size: 0.9rem;
  font-weight: 500;
}

/* Products grid */
.tvet-products-grid { margin-bottom: 30px; }
.tvet-product-card {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all .3s ease;
  box-shadow: var(--tvet-shadow-sm);
}
.tvet-product-card:hover {
  transform: translateY(-4px);
  border-color: var(--tvet-yellow);
  box-shadow: var(--tvet-shadow);
}
.tvet-product-img {
  display: block;
  height: 200px;
  overflow: hidden;
  background: var(--tvet-bg-light);
  border-bottom: 1px solid var(--tvet-border);
}
.tvet-product-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 14px;
  transition: transform .4s ease;
}
.tvet-product-card:hover .tvet-product-img img { transform: scale(1.05); }
.tvet-product-body {
  padding: 16px 18px 0;
  flex: 1;
}
.tvet-product-code {
  display: inline-block;
  background: var(--tvet-yellow-light);
  color: var(--tvet-yellow-dark);
  font-family: var(--tvet-font-heading);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  padding: 3px 10px;
  border-radius: 4px;
  margin-bottom: 8px;
}
.tvet-product-body h3 {
  font-size: 0.98rem;
  margin-bottom: 8px;
  line-height: 1.4;
}
.tvet-product-body h3 a {
  color: var(--tvet-blue-deep);
  text-decoration: none;
}
.tvet-product-body h3 a:hover { color: var(--tvet-yellow-dark); }
.tvet-product-desc {
  color: var(--tvet-text-muted);
  font-size: 0.85rem;
  margin: 0 0 14px;
  line-height: 1.55;
}
.tvet-product-foot {
  padding: 0 18px 18px;
}
.tvet-product-foot form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.tvet-product-foot .btn {
  font-size: 0.8rem !important;
  padding: 8px 8px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.tvet-product-foot .btn i { font-size: 0.9rem; }

/* Empty state */
.tvet-empty-state {
  background: var(--tvet-bg-light);
  border-radius: var(--tvet-radius);
  padding: 60px 30px;
  text-align: center;
}
.tvet-empty-state i {
  font-size: 3rem;
  color: var(--tvet-blue-light);
  margin-bottom: 16px;
}
.tvet-empty-state h3 {
  color: var(--tvet-blue-deep);
  font-size: 1.2rem;
  margin-bottom: 8px;
}
.tvet-empty-state p {
  color: var(--tvet-text-muted);
  margin-bottom: 24px;
}

/* Loading bar */
.loading_bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--tvet-yellow);
  z-index: 9999;
  animation: tvetLoadingBar 1s ease-in-out infinite;
}
@keyframes tvetLoadingBar {
  0% { width: 0%; opacity: 1; }
  50% { width: 75%; opacity: 1; }
  100% { width: 100%; opacity: 0; }
}
.loading_page {
  padding: 20px;
  color: var(--tvet-text-muted);
  font-size: 0.9rem;
}

@media (max-width: 991.98px) {
  .tvet-sidebar { position: static; }
}

/* =====================================================
   CATEGORY MENU (left_pannel.php)
   ===================================================== */
.tvet-cat-menu {
  background: transparent;
}
.tvet-cat-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tvet-cat-item {
  border-bottom: 1px solid var(--tvet-border);
}
.tvet-cat-item:last-child { border-bottom: none; }
.tvet-cat-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.tvet-cat-link {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 4px;
  color: var(--tvet-blue-deep);
  font-size: 0.92rem;
  font-weight: 500;
  text-decoration: none;
  transition: all .2s ease;
}
.tvet-cat-link:hover { color: var(--tvet-blue); }
.tvet-cat-link span { line-height: 1.35; }
.tvet-cat-bullet {
  color: var(--tvet-yellow-dark);
  font-size: 0.7rem;
  flex-shrink: 0;
  transition: transform .2s ease;
}
.tvet-cat-item.active > .tvet-cat-row .tvet-cat-link {
  color: var(--tvet-blue);
  font-weight: 600;
}
.tvet-cat-item.active > .tvet-cat-row .tvet-cat-bullet { color: var(--tvet-blue); }
.tvet-cat-item:hover > .tvet-cat-row .tvet-cat-bullet { transform: translateX(2px); }

.tvet-cat-toggle {
  width: 28px;
  height: 28px;
  background: var(--tvet-blue-light);
  color: var(--tvet-blue);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
  cursor: pointer;
  flex-shrink: 0;
  transition: all .2s ease;
}
.tvet-cat-toggle:hover {
  background: var(--tvet-blue);
  color: #fff;
}
.tvet-cat-item.open .tvet-cat-toggle,
.tvet-cat-item.active .tvet-cat-toggle {
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
}
.tvet-cat-toggle i { transition: transform .25s ease; }
.tvet-cat-toggle[aria-expanded="true"] i { transform: rotate(180deg); }

.tvet-cat-sublist {
  list-style: none;
  padding: 4px 0 10px 18px;
  margin: 0;
  display: none;
  border-left: 2px solid var(--tvet-blue-light);
  margin-left: 6px;
}
.tvet-subcat-link {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 7px 10px;
  color: var(--tvet-text-muted);
  font-size: 0.86rem;
  text-decoration: none;
  border-radius: 4px;
  transition: all .2s ease;
}
.tvet-subcat-link:hover {
  color: var(--tvet-blue);
  background: var(--tvet-blue-light);
}
.tvet-subcat-link.active {
  color: var(--tvet-blue);
  font-weight: 600;
  background: var(--tvet-blue-light);
}
.tvet-subcat-link i {
  font-size: 0.75rem;
  color: var(--tvet-yellow-dark);
}

/* =====================================================
   PRODUCT DETAIL PAGE
   ===================================================== */
.tvet-product-detail { padding-top: 40px; }

.tvet-product-gallery-main {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 24px;
  text-align: center;
  position: relative;
  box-shadow: var(--tvet-shadow-sm);
  overflow: hidden;
}
.tvet-product-gallery-main img {
  max-height: 380px;
  width: auto;
  margin: 0 auto;
}
.tvet-product-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 0.78rem;
  font-weight: 700;
  font-family: var(--tvet-font-heading);
  letter-spacing: 0.5px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.tvet-product-badge i { font-size: 0.95rem; }

.tvet-product-extra-info {
  background: var(--tvet-blue-light);
  border-radius: var(--tvet-radius);
  padding: 22px 24px;
  margin-top: 22px;
  border-left: 4px solid var(--tvet-blue);
}
.tvet-product-extra-info h3 {
  font-size: 1rem;
  color: var(--tvet-blue-deep);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.tvet-product-extra-info h3 i { color: var(--tvet-yellow-dark); }
.tvet-product-extra-info p {
  color: var(--tvet-blue-dark);
  font-size: 0.88rem;
  line-height: 1.65;
  margin: 0 0 8px;
  text-align: justify;
}
.tvet-product-extra-info p:last-child { margin-bottom: 0; }

.tvet-product-info h1 {
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  color: var(--tvet-blue-deep);
  margin: 14px 0 22px;
  line-height: 1.25;
}

.tvet-product-code-block {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 26px;
}
.tvet-product-code-item {
  background: var(--tvet-bg-light);
  border-radius: var(--tvet-radius-sm);
  padding: 14px 16px;
  border-top: 3px solid var(--tvet-yellow);
}
.tvet-product-code-item .label {
  display: block;
  font-size: 0.72rem;
  color: var(--tvet-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  font-weight: 600;
  margin-bottom: 4px;
  font-family: var(--tvet-font-heading);
}
.tvet-product-code-item strong {
  color: var(--tvet-blue-deep);
  font-size: 0.98rem;
  font-family: var(--tvet-font-heading);
}

.tvet-product-description {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 22px 24px;
  margin-bottom: 22px;
}
.tvet-product-description h3 {
  font-size: 1rem;
  color: var(--tvet-blue-deep);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--tvet-yellow-light);
  display: flex;
  align-items: center;
  gap: 8px;
}
.tvet-product-description h3 i { color: var(--tvet-yellow-dark); }
.tvet-product-desc-content {
  color: var(--tvet-text);
  font-size: 0.93rem;
  line-height: 1.7;
}
.tvet-product-desc-content p { margin-bottom: 10px; }

.tvet-product-actions { margin-bottom: 22px; }
.tvet-product-actions .btn-lg {
  padding: 14px 24px;
  font-size: 1rem;
  margin-bottom: 14px;
}
.tvet-product-action-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.tvet-action-btn {
  background: #fff;
  border: 1.5px solid var(--tvet-border);
  border-radius: var(--tvet-radius-sm);
  padding: 12px 6px;
  text-align: center;
  text-decoration: none;
  color: var(--tvet-blue-deep);
  font-size: 0.78rem;
  font-weight: 600;
  transition: all .25s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.tvet-action-btn:hover {
  background: var(--tvet-yellow);
  border-color: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
  transform: translateY(-2px);
}
.tvet-action-btn i {
  font-size: 1.15rem;
  color: var(--tvet-blue);
}
.tvet-action-btn:hover i { color: var(--tvet-blue-deep); }

.tvet-product-quick-contact {
  background: linear-gradient(135deg, var(--tvet-blue) 0%, var(--tvet-blue-dark) 100%);
  color: #fff;
  border-radius: var(--tvet-radius);
  padding: 24px;
}
.tvet-product-quick-contact h4 {
  color: #fff;
  font-size: 1.05rem;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.tvet-product-quick-contact h4 i { color: var(--tvet-yellow); }
.tvet-product-quick-contact p {
  color: rgba(255,255,255,0.85);
  font-size: 0.9rem;
  margin-bottom: 16px;
}
.tvet-product-quick-contact-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.tvet-product-quick-contact-buttons .btn {
  flex: 1;
  min-width: 0;
  font-size: 0.88rem !important;
  padding: 10px 14px !important;
}
.tvet-product-quick-contact-buttons .btn-tvet-outline {
  color: #fff;
  border-color: rgba(255,255,255,0.6);
}
.tvet-product-quick-contact-buttons .btn-tvet-outline:hover {
  background: #fff;
  color: var(--tvet-blue-deep);
  border-color: #fff;
}

@media (max-width: 575px) {
  .tvet-product-code-block { grid-template-columns: 1fr; }
  .tvet-product-action-row { grid-template-columns: 1fr 1fr; }
  .tvet-product-quick-contact-buttons .btn { flex: 1 1 100%; }
}

/* =====================================================
   CONTACT PAGE
   ===================================================== */

/* Quick contact cards (top of contacts) */
.tvet-contact-quick-card {
  display: block;
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 32px 24px;
  text-align: center;
  text-decoration: none;
  color: var(--tvet-text);
  height: 100%;
  transition: all .3s ease;
  box-shadow: var(--tvet-shadow-sm);
}
.tvet-contact-quick-card:hover {
  transform: translateY(-6px);
  border-color: var(--tvet-yellow);
  box-shadow: var(--tvet-shadow-lg);
  color: var(--tvet-text);
}
.tvet-contact-quick-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 18px;
  background: var(--tvet-blue-light);
  color: var(--tvet-blue);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  transition: all .3s ease;
}
.tvet-contact-quick-card:hover .tvet-contact-quick-icon {
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
}
.tvet-contact-quick-icon-whatsapp {
  background: rgba(37, 211, 102, 0.12);
  color: #25D366;
}
.tvet-contact-quick-card-whatsapp:hover .tvet-contact-quick-icon-whatsapp {
  background: #25D366;
  color: #fff;
}
.tvet-contact-quick-card h3 {
  color: var(--tvet-blue-deep);
  font-size: 1.1rem;
  margin-bottom: 10px;
}
.tvet-contact-quick-card p {
  color: var(--tvet-text-muted);
  font-size: 0.92rem;
  margin-bottom: 14px;
  line-height: 1.5;
}

/* Contact aside */
.tvet-contact-aside h2 {
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  margin: 12px 0 16px;
}
.tvet-contact-aside > p {
  color: var(--tvet-text-muted);
  margin-bottom: 26px;
}
.tvet-contact-features {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.tvet-contact-feature {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: var(--tvet-bg-light);
  border-radius: var(--tvet-radius-sm);
  padding: 14px 16px;
  border-left: 3px solid var(--tvet-yellow);
}
.tvet-contact-feature i {
  width: 38px;
  height: 38px;
  background: var(--tvet-blue);
  color: var(--tvet-yellow);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  flex-shrink: 0;
}
.tvet-contact-feature strong {
  display: block;
  color: var(--tvet-blue-deep);
  font-family: var(--tvet-font-heading);
  font-size: 0.95rem;
  margin-bottom: 2px;
}
.tvet-contact-feature span {
  color: var(--tvet-text-muted);
  font-size: 0.85rem;
}

/* Form card light variant (white surface, used on contacts) */
.tvet-form-card-light {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius-lg);
  padding: 36px;
  box-shadow: var(--tvet-shadow);
}
.tvet-form-card-light .tvet-form-title {
  color: var(--tvet-blue-deep);
  font-size: 1.5rem;
  margin-bottom: 6px;
}
.tvet-form-card-light .tvet-form-sub {
  color: var(--tvet-text-muted);
  font-size: 0.95rem;
  margin-bottom: 24px;
}
.tvet-form-card-light .alert {
  border-radius: var(--tvet-radius-sm);
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.92rem;
}
.tvet-form-card-light .alert-success {
  background: #E8F5E9;
  border-color: #4CAF50;
  color: #1B5E20;
}
.tvet-form-card-light .alert-warning {
  background: #FFF3E0;
  border-color: var(--tvet-yellow);
  color: #E65100;
}

/* Office cards */
.tvet-office-card {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 28px;
  height: 100%;
  box-shadow: var(--tvet-shadow-sm);
}
.tvet-office-card-blue {
  background: linear-gradient(135deg, var(--tvet-blue) 0%, var(--tvet-blue-dark) 100%);
  color: #fff;
  border-color: var(--tvet-blue);
}
.tvet-office-head {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--tvet-yellow-light);
}
.tvet-office-card-blue .tvet-office-head {
  border-bottom-color: rgba(255,255,255,0.18);
}
.tvet-office-head i {
  width: 56px;
  height: 56px;
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  flex-shrink: 0;
}
.tvet-office-head h3 {
  color: var(--tvet-blue-deep);
  font-size: 1.2rem;
  margin: 0 0 2px;
}
.tvet-office-card-blue .tvet-office-head h3 { color: #fff; }
.tvet-office-head span {
  color: var(--tvet-text-muted);
  font-size: 0.88rem;
}
.tvet-office-card-blue .tvet-office-head span { color: rgba(255,255,255,0.7); }

.tvet-office-details {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tvet-office-details li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px dashed var(--tvet-border);
  font-size: 0.92rem;
  color: var(--tvet-text);
}
.tvet-office-details li:last-child { border-bottom: none; }
.tvet-office-details li i {
  color: var(--tvet-yellow-dark);
  flex-shrink: 0;
  font-size: 1rem;
  margin-top: 3px;
}
.tvet-office-details li a {
  color: var(--tvet-blue);
  font-weight: 500;
}
.tvet-office-details li a:hover { color: var(--tvet-yellow-dark); }

.tvet-office-card-blue p {
  color: rgba(255,255,255,0.88);
  margin-bottom: 14px;
  font-size: 0.92rem;
}
.tvet-office-regions {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tvet-office-regions li {
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  font-size: 0.88rem;
  color: rgba(255,255,255,0.85);
  line-height: 1.55;
}
.tvet-office-regions li:last-child { border-bottom: none; }
.tvet-office-regions li strong {
  color: var(--tvet-yellow);
  display: inline-block;
  margin-right: 6px;
}

/* Category quick-link tile (used on contacts + cart) */
.tvet-cat-quick-link {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 16px 18px;
  text-decoration: none;
  color: var(--tvet-blue-deep);
  font-weight: 600;
  font-size: 0.92rem;
  transition: all .25s ease;
  height: 100%;
}
.tvet-cat-quick-link:hover {
  background: var(--tvet-blue);
  color: #fff;
  border-color: var(--tvet-blue);
  transform: translateY(-3px);
  box-shadow: var(--tvet-shadow);
}
.tvet-cat-quick-link i {
  width: 38px;
  height: 38px;
  background: var(--tvet-yellow-light);
  color: var(--tvet-yellow-dark);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
  transition: all .25s ease;
}
.tvet-cat-quick-link:hover i {
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
}
.tvet-cat-quick-link span { line-height: 1.3; }

/* =====================================================
   SHOPPING CART PAGE
   ===================================================== */

/* Progress steps */
.tvet-cart-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-bottom: 36px;
  background: var(--tvet-bg-light);
  border-radius: var(--tvet-radius);
  padding: 22px 18px;
  border-left: 4px solid var(--tvet-yellow);
}
.tvet-cart-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 0 6px;
}
.tvet-cart-step-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--tvet-border);
  color: var(--tvet-text-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--tvet-font-heading);
  font-weight: 700;
  font-size: 0.95rem;
}
.tvet-cart-step.active .tvet-cart-step-num {
  background: var(--tvet-yellow);
  border-color: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
}
.tvet-cart-step-label {
  font-family: var(--tvet-font-heading);
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--tvet-text-muted);
  text-align: center;
  letter-spacing: 0.3px;
}
.tvet-cart-step.active .tvet-cart-step-label { color: var(--tvet-blue-deep); }
.tvet-cart-step-line {
  flex: 1;
  height: 2px;
  background: var(--tvet-border);
  max-width: 80px;
  margin-bottom: 22px;
}

@media (max-width: 575px) {
  .tvet-cart-steps { padding: 16px 12px; gap: 2px; }
  .tvet-cart-step-line { max-width: 30px; }
  .tvet-cart-step-label { font-size: 0.7rem; }
}

/* Cart card */
.tvet-cart-card {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  overflow: hidden;
  box-shadow: var(--tvet-shadow-sm);
  margin-bottom: 28px;
}

/* Desktop table */
.tvet-cart-table {
  width: 100%;
  border-collapse: collapse;
}
.tvet-cart-table thead th {
  background: var(--tvet-blue-light);
  color: var(--tvet-blue-deep);
  font-family: var(--tvet-font-heading);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  padding: 14px 16px;
  border-bottom: 2px solid var(--tvet-blue-light);
  text-align: left;
}
.tvet-cart-table thead th i {
  color: var(--tvet-yellow-dark);
  margin-right: 4px;
}
.tvet-cart-table tbody td {
  padding: 16px;
  border-bottom: 1px solid var(--tvet-border);
  vertical-align: middle;
}
.tvet-cart-table tbody tr:last-child td { border-bottom: none; }
.tvet-cart-table .th-remove,
.tvet-cart-table .td-remove { width: 80px; text-align: center; }
.tvet-cart-table .th-code,
.tvet-cart-table .td-code { width: 140px; }
.tvet-cart-table .th-qty,
.tvet-cart-table .td-qty { width: 100px; text-align: center; }

.tvet-cart-item {
  display: flex;
  gap: 14px;
  align-items: center;
}
.tvet-cart-item-img {
  width: 64px;
  height: 64px;
  background: var(--tvet-bg-light);
  border-radius: var(--tvet-radius-sm);
  overflow: hidden;
  flex-shrink: 0;
  padding: 4px;
}
.tvet-cart-item-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.tvet-cart-item-name {
  flex: 1;
}
.tvet-cart-item-name a {
  color: var(--tvet-blue-deep);
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  line-height: 1.4;
}
.tvet-cart-item-name a:hover { color: var(--tvet-yellow-dark); }

/* Custom checkbox */
.tvet-cart-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 0.88rem;
  color: var(--tvet-text-muted);
  margin: 0;
}
.tvet-cart-checkbox input { display: none; }
.tvet-cart-checkbox span {
  width: 22px;
  height: 22px;
  border: 2px solid var(--tvet-border);
  border-radius: 4px;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .2s ease;
  position: relative;
}
.tvet-cart-checkbox input:checked + span {
  background: var(--tvet-blue);
  border-color: var(--tvet-blue);
}
.tvet-cart-checkbox input:checked + span::after {
  content: "✓";
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
}

/* Quantity input */
.tvet-cart-qty {
  width: 70px;
  padding: 8px 10px;
  text-align: center;
  border: 1.5px solid var(--tvet-border);
  border-radius: var(--tvet-radius-sm);
  font-weight: 600;
  color: var(--tvet-blue-deep);
  font-size: 0.95rem;
  font-family: var(--tvet-font-body);
}
.tvet-cart-qty:focus {
  outline: none;
  border-color: var(--tvet-blue);
  box-shadow: 0 0 0 3px rgba(0,110,181,0.12);
}

/* Mobile cart card */
.tvet-cart-mobile-card {
  display: flex;
  gap: 14px;
  padding: 14px;
  border-bottom: 1px solid var(--tvet-border);
}
.tvet-cart-mobile-card:last-child { border-bottom: none; }
.tvet-cart-mobile-img {
  width: 80px;
  height: 80px;
  background: var(--tvet-bg-light);
  border-radius: var(--tvet-radius-sm);
  padding: 4px;
  flex-shrink: 0;
}
.tvet-cart-mobile-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.tvet-cart-mobile-body { flex: 1; min-width: 0; }
.tvet-cart-mobile-body h4 {
  font-size: 0.95rem;
  margin: 6px 0 12px;
  line-height: 1.3;
}
.tvet-cart-mobile-body h4 a {
  color: var(--tvet-blue-deep);
  text-decoration: none;
}
.tvet-cart-mobile-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.tvet-cart-qty-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  color: var(--tvet-text-muted);
}

/* Cart action buttons row */
.tvet-cart-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  padding: 22px;
  background: var(--tvet-bg-light);
  border-top: 1px solid var(--tvet-border);
  justify-content: flex-end;
}
.tvet-cart-actions .btn {
  font-size: 0.92rem !important;
  padding: 11px 22px !important;
}
@media (max-width: 575px) {
  .tvet-cart-actions { flex-direction: column; }
  .tvet-cart-actions .btn { width: 100%; }
}

/* Cart info card */
.tvet-cart-info-card {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: var(--tvet-blue-light);
  border-left: 4px solid var(--tvet-blue);
  border-radius: var(--tvet-radius-sm);
  padding: 22px 24px;
  margin-bottom: 32px;
}
.tvet-cart-info-icon {
  width: 44px;
  height: 44px;
  background: var(--tvet-blue);
  color: var(--tvet-yellow);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  flex-shrink: 0;
}
.tvet-cart-info-card h4 {
  color: var(--tvet-blue-deep);
  font-size: 1rem;
  margin-bottom: 6px;
}
.tvet-cart-info-card p {
  color: var(--tvet-blue-dark);
  font-size: 0.9rem;
  margin: 0;
  line-height: 1.65;
}

/* Empty cart specific */
.tvet-cart-empty {
  background: var(--tvet-bg-light);
  margin-bottom: 32px;
}
.tvet-cart-empty i {
  font-size: 3.5rem;
  color: var(--tvet-blue-light);
}
.tvet-cart-empty-buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Process steps (cart bottom) */
.tvet-cart-process {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 32px;
  box-shadow: var(--tvet-shadow-sm);
  margin-top: 8px;
}
.tvet-cart-process > h3 {
  color: var(--tvet-blue-deep);
  font-size: 1.2rem;
  text-align: center;
  margin: 0;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--tvet-yellow-light);
}
.tvet-process-step {
  text-align: center;
  padding: 16px;
  height: 100%;
}
.tvet-process-num {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  background: linear-gradient(135deg, var(--tvet-yellow) 0%, var(--tvet-yellow-dark) 100%);
  color: var(--tvet-blue-deep);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--tvet-font-heading);
  font-weight: 800;
  font-size: 1.4rem;
  box-shadow: 0 4px 12px rgba(245, 185, 33, 0.35);
}
.tvet-process-step h4 {
  color: var(--tvet-blue-deep);
  font-size: 1.05rem;
  margin-bottom: 8px;
}
.tvet-process-step p {
  color: var(--tvet-text-muted);
  font-size: 0.9rem;
  margin: 0;
  line-height: 1.55;
}

/* =====================================================
   SEARCH PAGE
   ===================================================== */

/* Search box card */
.tvet-search-box-card {
  background: linear-gradient(135deg, #fff 0%, var(--tvet-blue-light) 100%);
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius-lg);
  padding: 36px 36px 32px;
  box-shadow: var(--tvet-shadow);
  border-top: 4px solid var(--tvet-yellow);
  margin-bottom: 24px;
}
.tvet-search-box-title {
  color: var(--tvet-blue-deep);
  font-size: 1.4rem;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.tvet-search-box-title i { color: var(--tvet-yellow-dark); }
.tvet-search-box-sub {
  color: var(--tvet-text-muted);
  font-size: 0.95rem;
  margin-bottom: 22px;
}
.tvet-search-grid-form .form-label {
  font-family: var(--tvet-font-heading);
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--tvet-blue-deep);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}
.tvet-search-grid-form .form-control {
  border: 1.5px solid var(--tvet-border);
  border-radius: var(--tvet-radius-sm);
  padding: 12px 16px;
  font-size: 0.95rem;
  background: #fff;
  transition: all .2s ease;
}
.tvet-search-grid-form .form-control:focus {
  border-color: var(--tvet-blue);
  box-shadow: 0 0 0 3px rgba(0, 110, 181, 0.12);
}
.tvet-search-grid-form .btn {
  padding: 12px 22px !important;
}

@media (max-width: 575px) {
  .tvet-search-box-card { padding: 24px 22px; }
}

/* Alphabet filter card */
.tvet-alpha-card {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 22px 24px;
  box-shadow: var(--tvet-shadow-sm);
}
.tvet-alpha-title {
  color: var(--tvet-blue-deep);
  font-size: 1.05rem;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.tvet-alpha-title i { color: var(--tvet-yellow-dark); }
.tvet-alpha-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.tvet-alpha-item {
  width: 38px;
  height: 38px;
  background: var(--tvet-bg-light);
  color: var(--tvet-blue-deep);
  border: 1.5px solid var(--tvet-border);
  border-radius: var(--tvet-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--tvet-font-heading);
  font-weight: 600;
  font-size: 0.92rem;
  text-decoration: none;
  transition: all .2s ease;
}
.tvet-alpha-item:hover {
  background: var(--tvet-blue);
  color: #fff;
  border-color: var(--tvet-blue);
  transform: translateY(-2px);
}
.tvet-alpha-item.active {
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
  border-color: var(--tvet-yellow-dark);
  box-shadow: 0 4px 10px rgba(245, 185, 33, 0.35);
}
.tvet-alpha-item:first-child {
  width: auto;
  padding: 0 14px;
}

@media (max-width: 575px) {
  .tvet-alpha-item {
    width: 32px;
    height: 32px;
    font-size: 0.82rem;
  }
}

/* Search results header */
.tvet-search-results-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--tvet-border);
  flex-wrap: wrap;
}
.tvet-search-results-head h2 {
  font-size: 1.3rem;
  color: var(--tvet-blue-deep);
  margin: 0 0 4px;
}
.tvet-search-summary {
  font-size: 0.92rem;
  color: var(--tvet-yellow-dark);
  font-weight: 500;
  font-family: var(--tvet-font-body);
}
.tvet-search-clear {
  background: var(--tvet-bg-light);
  color: var(--tvet-blue-deep);
  border: 1.5px solid var(--tvet-border);
  padding: 8px 16px;
  border-radius: var(--tvet-radius-sm);
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all .2s ease;
  white-space: nowrap;
}
.tvet-search-clear:hover {
  background: var(--tvet-yellow);
  border-color: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
}

/* Pagination (legacy paginate() output styled) */
.tvet-pagination {
  margin-top: 30px;
  text-align: center;
}
.tvet-pagination a,
.tvet-pagination span {
  display: inline-block;
  min-width: 38px;
  height: 38px;
  line-height: 36px;
  padding: 0 12px;
  background: #fff;
  border: 1.5px solid var(--tvet-border);
  color: var(--tvet-blue-deep);
  border-radius: var(--tvet-radius-sm);
  margin: 4px 3px;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s ease;
}
.tvet-pagination a:hover {
  background: var(--tvet-blue);
  color: #fff;
  border-color: var(--tvet-blue);
  transform: translateY(-2px);
}
.tvet-pagination .selected,
.tvet-pagination strong,
.tvet-pagination b {
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
  border-color: var(--tvet-yellow-dark);
}

/* Empty state hint */
.tvet-empty-hint {
  color: var(--tvet-text-muted);
  font-size: 0.9rem;
  margin: 0 auto 22px;
  max-width: 580px;
}
.tvet-empty-hint a {
  color: var(--tvet-blue);
  font-weight: 600;
}

/* Tip list (search tips) */
.tvet-tip-list {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
}
.tvet-tip-list li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px 0;
  border-bottom: 1px dashed var(--tvet-border);
}
.tvet-tip-list li:last-child { border-bottom: none; }
.tvet-tip-list li i {
  color: var(--tvet-yellow-dark);
  font-size: 1.5rem;
  flex-shrink: 0;
  margin-top: 2px;
}
.tvet-tip-list li strong {
  display: block;
  color: var(--tvet-blue-deep);
  font-family: var(--tvet-font-heading);
  font-size: 0.98rem;
  margin-bottom: 2px;
}
.tvet-tip-list li span {
  color: var(--tvet-text-muted);
  font-size: 0.9rem;
  line-height: 1.55;
}

/* =====================================================
   WORLDWIDE PAGE
   ===================================================== */

/* Sidebar nav for CMS country pages */
.tvet-worldwide-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tvet-worldwide-nav li {
  border-bottom: 1px solid var(--tvet-border);
}
.tvet-worldwide-nav li:last-child { border-bottom: none; }
.tvet-worldwide-nav a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 6px;
  color: var(--tvet-blue-deep);
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: none;
  transition: all .2s ease;
  position: relative;
}
.tvet-worldwide-nav a:hover {
  color: var(--tvet-blue);
  padding-left: 10px;
}
.tvet-worldwide-nav a > span { flex: 1; line-height: 1.35; }
.tvet-worldwide-nav a > i:first-child {
  color: var(--tvet-yellow-dark);
  font-size: 0.85rem;
  flex-shrink: 0;
}
.tvet-worldwide-nav a.active {
  color: var(--tvet-blue);
  font-weight: 700;
  background: var(--tvet-blue-light);
  border-radius: var(--tvet-radius-sm);
  padding-left: 10px;
}
.tvet-worldwide-nav a.active > i:first-child { color: var(--tvet-blue); }
.tvet-worldwide-active-icon {
  color: var(--tvet-yellow-dark);
  font-size: 0.95rem;
}

/* CMS article */
.tvet-cms-article {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 36px;
  box-shadow: var(--tvet-shadow-sm);
}
.tvet-cms-title {
  color: var(--tvet-blue-deep);
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  margin: 0 0 22px;
  padding-bottom: 14px;
  border-bottom: 3px solid var(--tvet-yellow);
  display: inline-block;
}
.tvet-cms-image {
  margin-bottom: 24px;
  border-radius: var(--tvet-radius-sm);
  overflow: hidden;
  background: var(--tvet-bg-light);
}
.tvet-cms-image img {
  width: 100%;
  height: auto;
  display: block;
  max-height: 420px;
  object-fit: cover;
}
.tvet-cms-body {
  color: var(--tvet-text);
  font-size: 0.98rem;
  line-height: 1.75;
}
.tvet-cms-body p { margin-bottom: 14px; }
.tvet-cms-body strong { color: var(--tvet-blue-deep); }
.tvet-cms-lead {
  background: linear-gradient(135deg, var(--tvet-blue-light) 0%, var(--tvet-yellow-light) 100%);
  border-left: 4px solid var(--tvet-yellow);
  padding: 18px 22px;
  border-radius: 0 var(--tvet-radius-sm) var(--tvet-radius-sm) 0;
  font-size: 1rem;
  color: var(--tvet-blue-dark);
  margin-bottom: 22px !important;
  line-height: 1.7;
}
.tvet-cms-lead strong { color: var(--tvet-blue-deep); }
.tvet-cms-body h2,
.tvet-cms-body h3,
.tvet-cms-body h4 {
  color: var(--tvet-blue-deep);
  margin: 22px 0 12px;
}
.tvet-cms-body h2 {
  font-size: 1.4rem;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--tvet-yellow-light);
}
.tvet-cms-body h3 { font-size: 1.2rem; }
.tvet-cms-body h4 { font-size: 1.05rem; }
.tvet-cms-body ul,
.tvet-cms-body ol {
  padding-left: 22px;
  margin-bottom: 14px;
}
.tvet-cms-body ul li,
.tvet-cms-body ol li {
  margin-bottom: 6px;
  line-height: 1.65;
}
.tvet-cms-body ul li::marker { color: var(--tvet-yellow-dark); }
.tvet-cms-body a {
  color: var(--tvet-blue);
  font-weight: 500;
}
.tvet-cms-body a:hover { color: var(--tvet-yellow-dark); }
.tvet-cms-body img {
  max-width: 100%;
  height: auto;
  border-radius: var(--tvet-radius-sm);
  margin: 14px 0;
}
.tvet-cms-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0;
  font-size: 0.92rem;
}
.tvet-cms-body table th,
.tvet-cms-body table td {
  padding: 10px 14px;
  border: 1px solid var(--tvet-border);
  text-align: left;
}
.tvet-cms-body table th {
  background: var(--tvet-blue-light);
  color: var(--tvet-blue-deep);
  font-family: var(--tvet-font-heading);
  font-weight: 700;
}
.tvet-cms-body table tbody tr:nth-child(even) {
  background: var(--tvet-bg-light);
}
.tvet-cms-body blockquote {
  border-left: 4px solid var(--tvet-yellow);
  background: var(--tvet-yellow-light);
  padding: 16px 20px;
  margin: 16px 0;
  border-radius: 0 var(--tvet-radius-sm) var(--tvet-radius-sm) 0;
  color: var(--tvet-blue-dark);
  font-style: italic;
}

@media (max-width: 575px) {
  .tvet-cms-article { padding: 24px 22px; }
}

/* Country experience cards */
.tvet-country-card {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 26px 24px;
  height: 100%;
  transition: all .3s ease;
  box-shadow: var(--tvet-shadow-sm);
  position: relative;
  overflow: hidden;
}
.tvet-country-card:hover {
  transform: translateY(-4px);
  border-color: var(--tvet-yellow);
  box-shadow: var(--tvet-shadow);
}
.tvet-country-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--tvet-blue);
  transition: background .3s ease;
}
.tvet-country-card:hover::before { background: var(--tvet-yellow); }
.tvet-country-card-flag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--tvet-blue-light);
  color: var(--tvet-blue);
  font-family: var(--tvet-font-heading);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 5px 11px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.tvet-country-card-flag i { color: var(--tvet-yellow-dark); font-size: 0.8rem; }
.tvet-country-card h3 {
  color: var(--tvet-blue-deep);
  font-size: 1.1rem;
  margin-bottom: 10px;
  line-height: 1.35;
}
.tvet-country-card p {
  color: var(--tvet-text-muted);
  font-size: 0.92rem;
  margin-bottom: 14px;
  line-height: 1.6;
}
.tvet-country-tags {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.tvet-country-tags li {
  background: var(--tvet-yellow-light);
  color: var(--tvet-yellow-dark);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 4px;
}

/* Donor agency cards */
.tvet-donor-card {
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  padding: 22px 14px 20px;
  text-align: center;
  height: 100%;
  transition: all .3s ease;
  box-shadow: var(--tvet-shadow-sm);
}
.tvet-donor-card:hover {
  transform: translateY(-4px);
  border-color: var(--tvet-blue);
  box-shadow: var(--tvet-shadow);
}
.tvet-donor-card i {
  display: block;
  width: 56px;
  height: 56px;
  margin: 0 auto 12px;
  background: linear-gradient(135deg, var(--tvet-blue) 0%, var(--tvet-blue-dark) 100%);
  color: var(--tvet-yellow);
  border-radius: 50%;
  font-size: 1.6rem;
  line-height: 56px;
}
.tvet-donor-card strong {
  display: block;
  color: var(--tvet-blue-deep);
  font-family: var(--tvet-font-heading);
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 2px;
}
.tvet-donor-card span {
  color: var(--tvet-text-muted);
  font-size: 0.78rem;
  letter-spacing: 0.3px;
}

/* =====================================================
   WORLDWIDE — Country Card Grid (replaces sidebar)
   ===================================================== */

/* CMS article — overview variant (no border-bottom on title) */
.tvet-cms-article-overview { border: none; box-shadow: none; padding: 0; background: transparent; }
.tvet-cms-article-overview .tvet-cms-title {
  text-align: center;
  display: block;
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 24px;
}
.tvet-cms-article-overview .tvet-cms-body {
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
}
.tvet-cms-article-overview .tvet-cms-body p { font-size: 1.02rem; }

/* Back-to-all link */
.tvet-back-to-all {
  text-align: center;
  margin-top: 28px;
}

/* Region filter pills */
.tvet-region-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 36px;
  padding: 22px;
  background: var(--tvet-bg-light);
  border-radius: var(--tvet-radius);
  border: 1px solid var(--tvet-border);
}
.tvet-region-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: #fff;
  color: var(--tvet-blue-deep);
  border: 1.5px solid var(--tvet-border);
  border-radius: 999px;
  font-family: var(--tvet-font-heading);
  font-weight: 600;
  font-size: 0.88rem;
  cursor: pointer;
  transition: all .25s ease;
  white-space: nowrap;
}
.tvet-region-pill i {
  color: var(--tvet-yellow-dark);
  font-size: 0.95rem;
  transition: color .25s ease;
}
.tvet-region-pill:hover {
  border-color: var(--tvet-blue);
  color: var(--tvet-blue);
  transform: translateY(-2px);
}
.tvet-region-pill.active {
  background: var(--tvet-blue);
  border-color: var(--tvet-blue);
  color: #fff;
  box-shadow: 0 4px 12px rgba(0, 110, 181, 0.25);
}
.tvet-region-pill.active i { color: var(--tvet-yellow); }
.tvet-region-count {
  background: var(--tvet-blue-light);
  color: var(--tvet-blue);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 9px;
  border-radius: 999px;
  min-width: 24px;
  text-align: center;
  line-height: 1.4;
}
.tvet-region-pill.active .tvet-region-count {
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
}

@media (max-width: 575px) {
  .tvet-region-filter { padding: 14px; gap: 6px; }
  .tvet-region-pill { padding: 8px 14px; font-size: 0.8rem; }
  .tvet-region-pill span:not(.tvet-region-count) { display: none; }
  .tvet-region-pill i { font-size: 1.1rem; }
}

/* Country tile cards */
.tvet-country-grid { margin-bottom: 12px; }

.tvet-country-tile {
  display: block;
  background: #fff;
  border: 1px solid var(--tvet-border);
  border-radius: var(--tvet-radius);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  height: 100%;
  transition: all .35s ease;
  box-shadow: var(--tvet-shadow-sm);
  position: relative;
}
.tvet-country-tile:hover {
  transform: translateY(-6px);
  border-color: var(--tvet-yellow);
  box-shadow: var(--tvet-shadow-lg);
  color: inherit;
}
.tvet-country-tile.is-active {
  border-color: var(--tvet-yellow);
  box-shadow: 0 0 0 3px var(--tvet-yellow-light), var(--tvet-shadow);
}

.tvet-country-tile-flag {
  position: relative;
  height: 170px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 25% 25%, var(--tvet-yellow-light) 0%, transparent 55%),
    radial-gradient(circle at 75% 75%, var(--tvet-blue-light) 0%, transparent 55%),
    #fff;
  border-bottom: 1px solid var(--tvet-border);
  overflow: hidden;
}
.tvet-country-tile-flag::before {
  /* Soft pattern dots overlay */
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(0, 110, 181, 0.08) 1px, transparent 1px);
  background-size: 14px 14px;
  pointer-events: none;
}

.tvet-flag-circle {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  box-shadow:
    0 0 0 4px var(--tvet-yellow),
    0 8px 22px rgba(0, 30, 60, 0.18);
  overflow: hidden;
  position: relative;
  z-index: 1;
  transition: transform .35s ease, box-shadow .35s ease;
}
.tvet-country-tile:hover .tvet-flag-circle {
  transform: scale(1.06) rotate(-3deg);
  box-shadow:
    0 0 0 4px var(--tvet-blue),
    0 12px 28px rgba(0, 30, 60, 0.25);
}

/* The flag-icons span renders as an inline-block; we expand it to fill the circle */
.tvet-flag-circle .fi {
  width: 100%;
  height: 100%;
  display: block;
  background-size: cover;
  background-position: center;
  border-radius: 50%;
}

/* Region fallback (no specific country) */
.tvet-flag-circle-region {
  background: linear-gradient(135deg, var(--tvet-blue) 0%, var(--tvet-blue-dark) 100%);
}
.tvet-flag-circle-region i {
  color: var(--tvet-yellow);
  font-size: 2.4rem;
}

.tvet-country-tile-region {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--tvet-yellow);
  color: var(--tvet-blue-deep);
  padding: 5px 11px;
  border-radius: 4px;
  font-family: var(--tvet-font-heading);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  z-index: 2;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
.tvet-country-tile-region i { font-size: 0.78rem; }

.tvet-country-tile-active-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: #fff;
  color: var(--tvet-blue);
  padding: 5px 11px;
  border-radius: 4px;
  font-family: var(--tvet-font-heading);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  z-index: 2;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
.tvet-country-tile-active-badge i { color: var(--tvet-blue); font-size: 0.85rem; }

.tvet-country-tile-body {
  padding: 18px 20px 20px;
}
.tvet-country-tile-body h3 {
  font-size: 1.05rem;
  color: var(--tvet-blue-deep);
  margin-bottom: 8px;
  line-height: 1.35;
  transition: color .2s ease;
}
.tvet-country-tile:hover .tvet-country-tile-body h3 { color: var(--tvet-blue); }
.tvet-country-tile-body p {
  color: var(--tvet-text-muted);
  font-size: 0.85rem;
  margin-bottom: 12px;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tvet-country-tile-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--tvet-yellow-dark);
  font-size: 0.85rem;
  font-weight: 600;
  font-family: var(--tvet-font-heading);
  letter-spacing: 0.2px;
}
.tvet-country-tile-link i { transition: transform .25s ease; }
.tvet-country-tile:hover .tvet-country-tile-link i { transform: translateX(4px); }

/* Empty filter state */
.tvet-country-empty {
  text-align: center;
  padding: 60px 30px;
  background: var(--tvet-bg-light);
  border-radius: var(--tvet-radius);
  border: 2px dashed var(--tvet-border);
}
.tvet-country-empty i {
  font-size: 3rem;
  color: var(--tvet-blue-light);
  margin-bottom: 14px;
  display: block;
}
.tvet-country-empty h3 {
  color: var(--tvet-blue-deep);
  font-size: 1.15rem;
  margin-bottom: 8px;
}
.tvet-country-empty p {
  color: var(--tvet-text-muted);
  margin: 0;
  font-size: 0.95rem;
}
.tvet-country-empty a { color: var(--tvet-blue); font-weight: 600; }
