/**
 * MRDU brand tokens — from official logo (coral MR, navy cap, green laurel)
 * Load after main.css; overrides Univet --rs-theme-red.
 */
:root {
  /* Logo primary — coral / reddish-orange (not burgundy) */
  --mru-primary: #e84e2a;
  --mru-primary-dark: #c4381f;
  --mru-primary-light: #ff6b45;
  --mru-primary-rgb: 232, 78, 42;

  /* Logo secondary — graduation cap navy */
  --mru-navy: #1a2b48;
  --mru-navy-mid: #243a5c;

  /* Logo accent — laurel green */
  --mru-green: #58b947;
  --mru-green-dark: #449a36;

  /* Warm highlights on dark backgrounds */
  --mru-highlight: #ff9a7a;
  --mru-accent: #ffe8e0;

  /* Legacy aliases (used in header-footer.css) */
  --mru-maroon: var(--mru-primary);
  --mru-maroon-dark: var(--mru-primary-dark);
  --mru-maroon-light: var(--mru-primary-light);
  --mru-gold: var(--mru-highlight);
  --mru-gold-light: #ffc9b8;

  /* Univet / template theme override */
  --rs-theme-red: var(--mru-primary);
  --rs-theme-red-two: var(--mru-primary-light);

  --mru-bg: var(--rs-bg-primary, #faf8f6);
  --mru-text: #475569;
  --mru-heading: #1a2b48;
  --mru-danger: #dc2626;
  --mru-success: var(--mru-green);
  --mru-focus: #2563eb;
  --mru-font-body: var(--rs-ff-body, "Inter", system-ui, sans-serif);
  --mru-font-heading: var(--rs-ff-title, "Bitter", serif);
  --mru-radius-btn: 15px;
  --mru-radius-card: 6px;

  /* Typography scale — single source of truth */
  --mru-fs-body: 16px;
  --mru-lh-body: 1.65;
  --mru-fs-sm: 14px;        /* meta, captions, dense tables */
  --mru-fs-base: 16px;      /* default body, card text */
  --mru-fs-lead: 18px;      /* intro paragraphs */
  --mru-fs-eyebrow: 11px;   /* uppercase tracked labels only */

  /* Heading scale — clamp(min, fluid, max) */
  --mru-fs-h1: clamp(32px, 4vw + 1rem, 54px);
  --mru-fs-h2: clamp(26px, 3vw + 0.8rem, 42px);
  --mru-fs-h3: clamp(20px, 2vw + 0.6rem, 28px);
  --mru-fs-h4: clamp(18px, 1.4vw + 0.5rem, 22px);
  --mru-fs-h5: 18px;
  --mru-fs-h6: 16px;
  --mru-lh-heading: 1.2;

  /* Override Univet template font-size variables */
  --rs-fs-body: var(--mru-fs-base);
  --rs-fs-p: var(--mru-fs-base);
  --rs-fs-b1: var(--mru-fs-sm);
  --rs-fs-b2: var(--mru-fs-base);
  --rs-fs-b3: var(--mru-fs-lead);
  --rs-fs-b4: 20px;
  --rs-fs-h1: var(--mru-fs-h1);
  --rs-fs-h2: var(--mru-fs-h2);
  --rs-fs-h3: var(--mru-fs-h3);
  --rs-fs-h4: var(--mru-fs-h4);
  --rs-fs-h5: var(--mru-fs-h5);
  --rs-fs-h6: var(--mru-fs-h6);
}

/* Template sections using has-theme-red */
.has-theme-red,
.rs-header-area.has-theme-red,
.rs-footer-one.has-theme-red,
.bg-primary.has-theme-red,
.offcanvas-area.has-theme-red,
.mru-offcanvas.has-theme-red {
  --rs-theme-red: var(--mru-primary);
  --rs-theme-red-two: var(--mru-primary-light);
}

.mru-utility-bar {
  background: var(--mru-primary-dark);
  color: #fff;
  font-size: var(--mru-fs-eyebrow);
  padding: 8px 0;
  overflow-x: auto;
  white-space: nowrap;
}
.mru-utility-bar a { color: #fff; margin: 0 10px; opacity: 0.95; }
.mru-utility-bar a:hover { opacity: 1; text-decoration: underline; }
.mru-utility-bar .anti-ragging { background: var(--mru-danger); padding: 2px 8px; border-radius: 4px; font-weight: 600; }

.mru-ticker-wrap {
  background: var(--mru-accent);
  color: var(--mru-heading);
  overflow: hidden;
  padding: 10px 0;
  border-bottom: 2px solid var(--mru-primary);
}
.mru-ticker { display: flex; animation: mru-ticker 40s linear infinite; }
.mru-ticker span { padding: 0 40px; white-space: nowrap; }
.mru-ticker a { color: var(--mru-primary-dark); font-weight: 600; }
@keyframes mru-ticker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.mru-recognitions {
  background: #fff;
  border-bottom: 1px solid #e4e4e4;
  padding: 14px 0;
  text-align: center;
}
.mru-recognitions span {
  display: inline-block;
  margin: 0 16px;
  font-weight: 600;
  color: var(--mru-primary);
  font-size: var(--mru-fs-sm);
}

.mru-quick-access {
  padding: 40px 0;
  background: var(--mru-bg);
}
.mru-quick-access .icon-item {
  text-align: center;
  padding: 16px 8px;
}
.mru-quick-access .icon-item i { font-size: 30px; color: var(--mru-primary); }
.mru-quick-access .icon-item a { color: var(--mru-heading); font-size: var(--mru-fs-sm); font-weight: 500; }
.mru-quick-access .icon-item a:hover { color: var(--mru-primary); }

.mru-floating-pills {
  position: fixed;
  right: 14px;
  bottom: 88px;
  z-index: 999;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.mru-floating-pills__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border-radius: 50%;
  color: #fff;
  text-decoration: none;
  background: var(--mru-primary);
  box-shadow: 0 3px 14px rgba(26, 43, 72, 0.22);
  transition: transform 0.15s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.mru-floating-pills__btn i {
  font-size: 1.15rem;
  line-height: 1;
}

.mru-floating-pills__btn:hover,
.mru-floating-pills__btn:focus-visible {
  color: #fff;
  transform: scale(1.06);
  box-shadow: 0 4px 18px rgba(26, 43, 72, 0.28);
}

.mru-floating-pills__btn--apply:hover,
.mru-floating-pills__btn--apply:focus-visible {
  background: var(--mru-primary-dark);
}

.mru-floating-pills__btn--whatsapp {
  background: #25d366;
}

.mru-floating-pills__btn--whatsapp:hover,
.mru-floating-pills__btn--whatsapp:focus-visible {
  background: #1fb855;
}

.mru-floating-pills__btn--brochure {
  background: var(--mru-navy, #1a2b48);
}

.mru-floating-pills__btn--brochure:hover,
.mru-floating-pills__btn--brochure:focus-visible {
  background: #243a5c;
}

/* Label on hover / keyboard focus (icons only in the circle) */
.mru-floating-pills__btn::after {
  content: attr(aria-label);
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  padding: 0.35rem 0.65rem;
  font-size: var(--mru-fs-eyebrow);
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  color: #fff;
  background: rgba(26, 43, 72, 0.92);
  border-radius: 6px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, visibility 0.15s ease;
}

.mru-floating-pills__btn:hover::after,
.mru-floating-pills__btn:focus-visible::after {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 767px) {
  .mru-floating-pills {
    right: 10px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    gap: 6px;
  }

  .mru-floating-pills__btn {
    width: 42px;
    height: 42px;
  }

  .mru-floating-pills__btn i {
    font-size: 1rem;
  }

  /* Keep tooltips off small screens — use native title / long-press */
  .mru-floating-pills__btn::after {
    display: none;
  }
}

.mru-recruiter-wall img {
  max-height: 48px;
  filter: grayscale(100%);
  opacity: 0.8;
  transition: all 0.3s;
}
.mru-recruiter-wall img:hover { filter: none; opacity: 1; }

/* Section subtitles & buttons tied to template */
.section-subtitle.has-theme-red,
.has-theme-red .section-subtitle {
  color: var(--mru-primary) !important;
}

/* Cookie consent banner */
.mru-cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9998;
  background: var(--mru-navy);
  color: #fff;
  border-top: 3px solid var(--mru-primary);
  box-shadow: 0 -4px 24px rgba(26, 43, 72, 0.25);
  padding: 14px 16px;
}

.mru-cookie-banner.d-none {
  display: none !important;
}

.mru-cookie-banner:not(.d-none) {
  display: block;
}

.mru-cookie-banner__inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 20px;
}

.mru-cookie-banner__text {
  margin: 0;
  font-size: var(--mru-fs-sm);
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.95);
  flex: 1;
  min-width: 200px;
}

.mru-cookie-banner__text a {
  color: #fff;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.mru-cookie-banner__text a:hover {
  color: var(--mru-highlight);
}

.mru-cookie-banner__accept {
  flex-shrink: 0;
  padding: 10px 24px;
  font-size: var(--mru-fs-sm);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #fff;
  background: var(--mru-primary);
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
}

.mru-cookie-banner__accept:hover {
  background: var(--mru-primary-dark);
}

.mru-cookie-banner__accept:focus {
  outline: 2px solid var(--mru-highlight);
  outline-offset: 2px;
}

@media (max-width: 575px) {
  .mru-cookie-banner__inner {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
  .mru-cookie-banner__accept {
    width: 100%;
  }
}

/* Hide Univet template settings gear if injected */
.rs-theme-settings-area {
  display: none !important;
}

/* Hero CTA — single label (no duplicate hover text) */
.mru-hero-cta {
  padding: 14px 28px !important;
  font-weight: 700;
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip-link:focus {
  position: fixed;
  left: 10px;
  top: 10px;
  width: auto;
  height: auto;
  padding: 12px 20px;
  background: var(--mru-focus);
  color: #fff;
  z-index: 10000;
}

/* =============================================================================
   Typography overrides — beat vendor main.css breakpoint heading sizes
   ============================================================================= */

body {
  font-size: var(--mru-fs-base);
  line-height: var(--mru-lh-body);
}

body p {
  line-height: var(--mru-lh-body);
}

body h1,
body .h1 {
  font-size: var(--mru-fs-h1);
  line-height: var(--mru-lh-heading);
}

body h2,
body .h2 {
  font-size: var(--mru-fs-h2);
  line-height: var(--mru-lh-heading);
}

body h3,
body .h3 {
  font-size: var(--mru-fs-h3);
  line-height: 1.25;
}

body h4,
body .h4 {
  font-size: var(--mru-fs-h4);
  line-height: 1.3;
}

body h5,
body .h5 {
  font-size: var(--mru-fs-h5);
  line-height: 1.35;
}

body h6,
body .h6 {
  font-size: var(--mru-fs-h6);
  line-height: 1.4;
}

/* Eyebrow utility — uppercase tracked labels above section titles */
.mru-eyebrow {
  font-size: var(--mru-fs-eyebrow);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/*
 * Intentional sub-16px exceptions (do not sweep these):
 * - .mru-utility-bar — chrome microcopy via --mru-fs-eyebrow
 * - Floating pill tooltips (.mru-floating-pills__btn::after) — 0.75rem transient overlay
 * - Cookie banner — uses --mru-fs-sm (16px), not smaller
 * - Form field hints / error captions — use --mru-fs-eyebrow in component CSS
 * - Counter prefix/suffix icons in vendor main.css — decorative, left untouched
 */
