/**
 * cda-insurance.com — single hub theme (Brief BX)
 * Load last. Typography, color, containers, heroes, buttons, cards.
 */

:root {
  --hub-font-body: "Work Sans", "Open Sans", Arial, sans-serif;
  --hub-font-heading: "Poppins", "Source Sans Pro", Arial, sans-serif;

  --hub-color-navy: #0f3d5c;
  --hub-color-accent: #2baae0;
  --hub-color-accent-hover: #1f8fbf;
  --hub-color-text: #334155;
  --hub-color-muted: #64748b;
  --hub-color-heading: #1a5f8a;
  --hub-color-bg: #ffffff;
  --hub-color-bg-muted: #f1f5f9;
  --hub-color-border: #e2e8f0;

  --hub-body-size: 14px;
  --hub-body-lh: 22.4px;
  --hub-prose-size: 16px;
  --hub-prose-lh: 25.6px;
  --hub-small-size: 12px;
  --hub-small-lh: 19.2px;
  --hub-topbar-contact-size: 14px;
  --hub-topbar-contact-lh: 22.4px;
  --hub-topbar-badge-size: 12px;
  --hub-brand-size: 28px;
  --hub-tagline-size: 14px;

  --hub-h1-size: 28px;
  --hub-h1-lh: 32.2px;
  --hub-h1-home-min: 26px;
  --hub-h1-home-max: 30px;
  --hub-h2-size: 28px;
  --hub-h2-lh: 32.2px;
  --hub-h3-size: 28px;
  --hub-h3-lh: 32.2px;
  --hub-h4-size: 22px;
  --hub-h4-lh: 25.3px;

  --hub-hero-lead-size: 18px;
  --hub-hero-lead-lh: 28.8px;
  --hub-hero-inner-title-size: 20px;
  --hub-hero-inner-title-lh: 32px;
  --hub-btn-size: 14px;
  --hub-updated-badge-size: 15px;

  --hub-container-max: 1140px;
  --hub-container-padding: 20px;
  --hub-section-padding-y: 48px;
  --hub-radius: 8px;
}

@media (max-width: 767px) {
  :root {
    --hub-h1-size: 24px;
    --hub-h1-lh: 27.6px;
    --hub-h2-size: 24px;
    --hub-h2-lh: 27.6px;
    --hub-h3-size: 22px;
    --hub-h3-lh: 25.3px;
    --hub-h4-size: 20px;
    --hub-h4-lh: 23px;
    --hub-brand-size: 15px;
    --hub-hero-inner-title-size: 20px;
  }
}

/* ——— Base ——— */
body.cda-modern {
  font-family: var(--hub-font-body);
  font-size: var(--hub-body-size);
  line-height: var(--hub-body-lh);
  color: var(--hub-color-text);
  background: var(--hub-color-bg);
}

body.cda-modern .boxed {
  width: 100%;
  max-width: none;
}

body.cda-modern h1,
body.cda-modern h2,
body.cda-modern h3,
body.cda-modern h4,
body.cda-modern h5,
body.cda-modern h6 {
  font-family: var(--hub-font-heading);
  color: var(--hub-color-heading);
  font-weight: 700;
}

body.cda-modern h1 {
  font-size: var(--hub-h1-size);
  line-height: var(--hub-h1-lh);
  margin: 0 0 16px;
}

body.cda-modern h2 {
  font-size: var(--hub-h2-size);
  line-height: var(--hub-h2-lh);
  margin: 32px 0 12px;
}

body.cda-modern h3 {
  font-size: var(--hub-h3-size);
  line-height: var(--hub-h3-lh);
  margin: 0 0 12px;
}

body.cda-modern h4 {
  font-size: var(--hub-h4-size);
  line-height: var(--hub-h4-lh);
  margin: 20px 0 10px;
}

body.cda-modern p,
body.cda-modern li {
  font-size: var(--hub-body-size);
  line-height: var(--hub-body-lh);
}

body.cda-modern a {
  color: var(--hub-color-accent);
}

body.cda-modern a:hover,
body.cda-modern a:focus {
  color: var(--hub-color-accent-hover);
}

/* Prose blocks (About, licensing, cards) */
body.cda-modern .cda-about-content p,
body.cda-modern .cda-about-content li,
body.cda-modern .cda-about-licensing p,
body.cda-modern .cda-about-licensing li,
body.cda-modern .cda-contact-cards .thumbnail p,
body.cda-modern .cda-contact-cards .thumbnail a,
body.cda-modern .cda-news-card,
body.cda-modern .cda-news-card p,
body.cda-modern .cda-article__body p,
body.cda-modern .cda-article__body li {
  font-size: var(--hub-prose-size);
  line-height: var(--hub-prose-lh);
}

body.cda-modern .cda-about-content p,
body.cda-modern .cda-about-licensing p,
body.cda-modern .cda-contact-cards .thumbnail p {
  margin: 0 0 1rem;
}

/* ——— Container ——— */
body.cda-modern .cda-container,
body.cda-modern .cda-topbar .cda-container,
body.cda-modern .cda-topbar__inner,
body.cda-modern main.cda-page-main > .cda-section > .cda-container {
  width: 100%;
  max-width: var(--hub-container-max) !important;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--hub-container-padding);
  padding-right: var(--hub-container-padding);
  box-sizing: border-box;
}

@media (min-width: 768px) {
  body.cda-hub-about-page .cda-legacy-content .container-fluid.section {
    max-width: var(--hub-container-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--hub-container-padding);
    padding-right: var(--hub-container-padding);
    box-sizing: border-box;
  }

  body.cda-hub-about-page .cda-legacy-content .container-fluid.section > .row > .col-xs-1,
  body.cda-hub-about-page .cda-legacy-content .container-fluid.section > .row > .col-sm-2 {
    display: none;
  }

  body.cda-hub-about-page .cda-legacy-content .container-fluid.section > .row > .col-xs-10,
  body.cda-hub-about-page .cda-legacy-content .container-fluid.section > .row > .col-sm-8 {
    width: 100%;
    float: none;
    padding-left: 0;
    padding-right: 0;
  }

  body.cda-hub-about-page .cda-legacy-content .container-fluid.section > .row > .col-sm-8 > .row {
    margin-left: 0;
    margin-right: 0;
  }
}

/* ——— Top bar ——— */
.cda-topbar {
  background: var(--hub-color-navy);
  font-size: var(--hub-topbar-contact-size);
}

.cda-topbar__contact a {
  font-size: var(--hub-topbar-contact-size);
  line-height: var(--hub-topbar-contact-lh);
  color: #7fd4f5;
  opacity: 1;
}

.cda-topbar__contact a.cda-topbar__badge {
  color: #ffffff;
}

.cda-topbar__contact a:hover,
.cda-topbar__contact a:focus,
.cda-topbar__contact a:focus-visible {
  color: #ffffff;
}

.cda-topbar__contact a strong {
  color: #ffffff;
  font-weight: 700;
}

.cda-topbar__contact a:hover strong,
.cda-topbar__contact a:focus strong {
  color: #ffffff;
}

.cda-topbar__inner > .cda-topbar__badge {
  font-size: var(--hub-topbar-badge-size);
  line-height: var(--hub-topbar-contact-lh);
  color: #ffffff;
}

/* ——— Header / wordmark ——— */
.cda-brand--hub .cda-brand__title {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: baseline;
  white-space: nowrap;
  font-family: var(--hub-font-heading);
  font-size: var(--hub-brand-size);
  line-height: 1.05;
  letter-spacing: -0.02em;
  max-width: none;
}

.cda-brand--hub .cda-brand__word-cda {
  color: var(--hub-color-navy);
  font-weight: 800;
  letter-spacing: -0.04em;
}

.cda-brand--hub .cda-brand__word-insurance {
  color: var(--hub-color-accent);
  font-weight: 700;
}

.cda-brand--hub .cda-brand__tagline {
  font-size: var(--hub-tagline-size);
  line-height: 1.35;
  color: var(--hub-color-muted);
  margin-top: 2px;
  font-weight: 500;
}

.cda-navbar .navbar-nav > li > a {
  font-size: var(--hub-body-size);
  font-weight: 600;
}

/* ——— Heroes ——— */
body.cda-modern:not(.cda-general-page) .cda-hub-hero h1 {
  color: #fff !important;
  font-size: clamp(var(--hub-h1-home-min), 5vw, var(--hub-h1-home-max));
  line-height: 1.15;
}

body.cda-modern.cda-general-page .cda-hub-hero h1,
body.cda-modern .cda-hero--inner .cda-about-hero-label,
body.cda-modern .cda-hero--inner h1.cda-about-hero-label {
  color: #fff !important;
  font-size: var(--hub-h1-size);
  line-height: var(--hub-h1-lh);
  margin: 0;
}

body.cda-modern .cda-hub-hero {
  background:
    linear-gradient(135deg, rgba(15, 61, 92, 0.92) 0%, rgba(26, 95, 138, 0.82) 45%, rgba(15, 61, 92, 0.88) 100%),
    url("/images/coast.jpg") center center / cover no-repeat;
  padding: clamp(40px, 8vw, 64px) 0;
  color: #fff;
}

body.cda-modern .cda-hub-hero .cda-hero__lead,
body.cda-modern .cda-hub-hero > .cda-container > p:not(.cda-page-updated) {
  font-size: var(--hub-hero-lead-size);
  line-height: var(--hub-hero-lead-lh);
  color: rgba(255, 255, 255, 0.92);
  max-width: 760px;
}

body.cda-hub-about-page .cda-hero--inner.imageAboutUs {
  background-image: url("/images/coast.jpg");
  background-size: cover;
  background-position: center;
  padding: 0;
}

body.cda-hub-about-page .cda-hero--inner.imageAboutUs .cda-hero__overlay {
  background: linear-gradient(135deg, rgba(15, 45, 70, 0.94) 0%, rgba(15, 61, 92, 0.9) 45%, rgba(10, 40, 62, 0.88) 100%);
  padding: clamp(40px, 8vw, 64px) 0;
}

body.cda-modern .cda-hero-updated-badge {
  background: rgba(255, 255, 255, 0.94);
  color: #14324a;
  display: inline-block;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: var(--hub-updated-badge-size);
  font-weight: 600;
}

body.cda-modern .cda-hero__actions--spaced {
  margin-top: 24px;
}

/* ——— Buttons ——— */
body.cda-modern .cda-btn {
  font-family: var(--hub-font-heading);
  font-size: var(--hub-btn-size);
  padding: 12px 22px;
  border-radius: var(--hub-radius);
}

/* ——— Cards / news ——— */
body.cda-modern .cda-news-card h3,
body.cda-modern .cda-news-card h3 a {
  font-size: var(--hub-h4-size);
  line-height: var(--hub-h4-lh);
  color: var(--hub-color-heading);
}

body.cda-modern .cda-news-card time,
body.cda-modern .cda-article__date {
  font-size: var(--hub-small-size);
  line-height: var(--hub-small-lh);
}

body.cda-modern .cda-contact-cards .thumbnail h3,
body.cda-modern .cda-contact-cards .thumbnail h4 {
  color: var(--hub-color-heading);
  font-size: var(--hub-h3-size);
  line-height: var(--hub-h3-lh);
  margin: 0 0 10px;
}

body.cda-hub-about-page .cda-contact-cards .thumbnail a {
  display: inline-block;
  margin: 0 0 4px;
}

body.cda-hub-about-page .cda-contact-cards .thumbnail p {
  margin: 8px 0 0;
}

body.cda-modern .cda-about-licensing {
  text-align: center;
}

body.cda-modern .cda-about-licenses {
  list-style: none;
  padding: 0;
  margin: 16px auto 0;
  max-width: 28rem;
  text-align: left;
}

/* ——— Footer (from footer.shtml layout; type here) ——— */
body.cda-modern .cda-site-footer__title {
  font-size: 1.75rem;
  line-height: 1.2;
  font-weight: 700;
  color: #fff !important;
}

body.cda-modern .cda-site-footer h5 {
  font-size: var(--hub-body-size);
}

body.cda-modern .cda-site-footer p,
body.cda-modern .cda-site-footer a {
  font-size: var(--hub-body-size);
  line-height: var(--hub-body-lh);
}

/* ——— Contact aside ——— */
body.cda-modern .cda-hub-contact-aside h2 {
  font-size: var(--hub-h2-size);
  line-height: var(--hub-h2-lh);
  margin: 0 0 12px;
}

body.cda-modern .cda-hub-contact-aside p,
body.cda-modern .cda-hub-contact-aside li {
  font-size: var(--hub-body-size);
  line-height: var(--hub-body-lh);
}

body.cda-modern .cda-about-content > h2:first-of-type {
  margin-top: 0;
}

body.cda-modern .cda-article.cda-prose h2 {
  font-size: var(--hub-h2-size);
  line-height: var(--hub-h2-lh);
}

body.cda-modern .cda-article.cda-prose h3 {
  font-size: var(--hub-h3-size);
  line-height: var(--hub-h3-lh);
}

body.cda-modern .cda-style-guide {
  padding-bottom: 48px;
}

body.cda-modern .cda-style-guide section {
  margin-bottom: 40px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--hub-color-border);
}

body.cda-modern .cda-style-guide .cda-section--muted {
  background: var(--hub-color-bg-muted);
  padding: 24px;
  border-radius: var(--hub-radius);
}

/* Style guide helper */
/* Brief CA3 — beats body.cda-modern a:hover (#1f8fbf) and legacy blue-style.css a:hover (#000) */
body.cda-modern .cda-topbar .cda-topbar__contact a:hover,
body.cda-modern .cda-topbar .cda-topbar__contact a:focus,
body.cda-modern .cda-topbar .cda-topbar__contact a:focus-visible {
  color: #ffffff !important;
}

.cda-style-guide__sample-label {
  display: block;
  font-size: var(--hub-small-size);
  color: var(--hub-color-muted);
  margin-bottom: 6px;
  font-family: var(--hub-font-body);
  font-weight: 400;
}
