/* ==========================================================
   AZ SECTIONS v1.1 – CONSOLIDATED MASTER
   AZ Skadedyrsservice
   File: az-sections-v1.css
   Namespace: azs-

   Formål:
   - Nyt premium sektionssystem til nye/opdaterede sider
   - Bygger ovenpå AZ MASTER CSS + THEME CSS
   - Bruger globale AZ-variabler
   - Klart til AZ LPN v3.x via id + data-az-lpn i HTML
========================================================== */


/* ==========================================================
   1. BASE SYSTEM
========================================================== */

.azs-section {
  position: relative;
  padding: 72px 0;
  background: var(--az-white);
}

.azs-container {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

.azs-container--narrow {
  max-width: 920px;
}

.azs-section--light {
  background: var(--az-bg-light);
}

.azs-section--soft {
  background: linear-gradient(180deg, #f8fafc 0%, var(--az-white) 100%);
}

.azs-section--dark {
  background: var(--az-primary);
  color: var(--az-white);
}

.azs-h2 {
  margin: 0 0 18px;
  font-family: var(--az-font-heading);
  font-size: clamp(26px, 3vw, 32px);
  line-height: 1.3;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-section--dark .azs-h2 {
  color: var(--az-white);
}

.azs-text {
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--az-text-dark);
}

.azs-section--dark .azs-text {
  color: rgba(255, 255, 255, 0.92);
}

.azs-mb-16 { margin-bottom: 16px; }
.azs-mb-20 { margin-bottom: 20px; }
.azs-mb-24 { margin-bottom: 24px; }
.azs-mb-30 { margin-bottom: 30px; }
.azs-mb-40 { margin-bottom: 40px; }
.azs-mb-48 { margin-bottom: 48px; }

.azs-grid {
  display: grid;
  gap: 24px;
}

.azs-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.azs-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.azs-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.azs-card {
  background: var(--az-white);
  border: 1px solid var(--az-border-light);
  border-radius: var(--az-radius-lg);
  box-shadow: var(--az-shadow-soft);
}

.azs-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 16px;
}

.azs-checklist li {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0 0 0 34px;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.75;
  color: var(--az-text-dark);
}

.azs-checklist li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.08em;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
  color: var(--az-secondary);
}

.azs-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.azs-actions--center {
  justify-content: center;
}

.azs-actions--center.azs-actions--mt {
  margin-top: 22px;
}

.azs-top {
  margin-bottom: 14px;
}

/* EYEBROW – GLOBAL STANDARD */
.azs-eyebrow {
  display: inline-block;
  margin: 0;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(29, 63, 114, 0.08);
  color: var(--az-primary);
  font-family: var(--az-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.azs-section--dark .azs-eyebrow {
  background: rgba(255, 255, 255, 0.10);
  color: var(--az-white);
}

/* ==========================================================
   2. AZS BUTTONS – SCOPED TIL AZ SECTIONS
========================================================== */

.azs-btn,
.azs-btn:link,
.azs-btn:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 52px;
  padding: 12px 22px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-family: var(--az-font-body);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: var(--az-shadow-soft);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition:
    transform 0.12s ease,
    box-shadow 0.12s ease,
    background-color 0.12s ease,
    border-color 0.12s ease,
    color 0.12s ease;
}

.azs-btn:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.azs-btn--phone,
.azs-btn--phone:link,
.azs-btn--phone:visited {
  background: var(--az-primary);
  border-color: var(--az-primary);
  color: var(--az-white);
}

.azs-btn--phone:hover,
.azs-btn--phone:focus {
  background: #153058;
  border-color: #153058;
  color: var(--az-white);
  transform: translateY(-1px);
  box-shadow: var(--az-shadow-hard);
  text-decoration: none;
}

.azs-btn--offer,
.azs-btn--offer:link,
.azs-btn--offer:visited {
  background: var(--az-secondary);
  border-color: var(--az-secondary);
  color: var(--az-white);
}

.azs-btn--offer:hover,
.azs-btn--offer:focus {
  background: #b02121;
  border-color: #b02121;
  color: var(--az-white);
  transform: translateY(-1px);
  box-shadow: var(--az-shadow-hard);
  text-decoration: none;
}

.azs-btn--contact,
.azs-btn--contact:link,
.azs-btn--contact:visited {
  background: var(--az-white);
  border-color: var(--az-border-light);
  color: var(--az-primary);
  box-shadow: none;
}

.azs-btn--contact:hover,
.azs-btn--contact:focus {
  background: rgba(29, 63, 114, 0.04);
  border-color: var(--az-primary);
  color: var(--az-primary);
  text-decoration: none;
}


/* ==========================================================
   3. INTRO PREMIUM – AFTER HERO + BREADCRUMB
========================================================== */

.azs-intro {
  position: relative;
}

.azs-intro__top {
  margin-bottom: 12px;
}


.azs-intro__title {
  max-width: 820px;
  margin: 0 0 22px;
  font-family: var(--az-font-heading);
  font-weight: 600;
  font-size: clamp(28px, 3.1vw, 38px);
  line-height: 1.24;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-intro__content {
  max-width: 820px;
}

.azs-intro__content p {
  margin: 0 0 22px;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.82;
  color: var(--az-text-dark);
}

.azs-intro__lead {
  font-size: 19px;
}

.azs-intro__content strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-intro__list {
  max-width: 820px;
  margin-top: 38px;
}

.azs-intro__list .azs-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
}

.azs-intro__list .azs-checklist li {
  list-style: none;
  margin: 0;
}

.azs-intro .azs-actions {
  margin-top: 8px;
}

.azs-intro__closing {
  max-width: 820px;
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid var(--az-border-light);
  font-family: var(--az-font-body);
  font-size: 20px;
  line-height: 1.65;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--az-text-dark);
}

.azs-intro__closing strong {
  color: var(--az-text-dark);
}

.azs-intro__closing--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.azs-intro--compact .azs-intro__title {
  margin-bottom: 18px;
  font-size: clamp(26px, 2.8vw, 34px);
}

.azs-intro--compact .azs-intro__content p {
  font-size: 17px;
  line-height: 1.75;
}

.azs-intro--compact .azs-intro__lead {
  font-size: 18px;
}

.azs-intro--compact .azs-intro__list {
  margin-top: 28px;
}

.azs-intro--compact .azs-intro__closing {
  margin-top: 28px;
  padding-top: 20px;
  font-size: 18px;
  line-height: 1.58;
}

.azs-section--dark .azs-intro__title,
.azs-section--dark .azs-intro__content p,
.azs-section--dark .azs-intro__content strong,
.azs-section--dark .azs-intro__closing,
.azs-section--dark .azs-intro__closing strong {
  color: var(--az-white);
}

.azs-section--dark .azs-intro__closing {
  border-top-color: rgba(255, 255, 255, 0.18);
}

.azs-section--dark .azs-intro__list .azs-checklist li {
  color: rgba(255, 255, 255, 0.92);
}

.azs-section--dark .azs-intro__list .azs-checklist li::before {
  color: #ff8a8a;
}


/* ==========================================================
   4. SIGNS PREMIUM – GENERIC MASTER
========================================================== */

.azs-signs {
  position: relative;
}

.azs-signs__intro {
  max-width: 860px;
  margin: 0 auto 34px;
  text-align: center;
}

.azs-signs__title {
  margin: 0 0 18px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-signs__lead {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.8;
  color: var(--az-text-dark);
}

.azs-signs__lead strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-signs__cta-text {
  width: 100%;
  max-width: 540px;
  margin: 0 auto 18px;
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--az-text-dark);
  text-align: center;
}

.azs-signs__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

.azs-sign-card {
  height: 100%;
  background: var(--az-white);
  border: 1px solid var(--az-border-light);
  border-radius: 18px;
  box-shadow: var(--az-shadow-soft);
  overflow: hidden;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  will-change: transform;
}

@media (hover: hover) {
  .azs-sign-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--az-shadow-hard);
  }
}

.azs-sign-card__inner {
  height: 100%;
  padding: 28px 28px 26px;
}

.azs-sign-card__title {
  max-width: 92%;
  margin: 0 0 16px;
  font-family: var(--az-font-heading);
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.25;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-sign-card__text {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.78;
  color: #3f4b57;
}

.azs-sign-card__text p {
  margin: 0 0 16px;
}

.azs-sign-card__text p:last-child {
  margin-bottom: 0;
}

.azs-sign-card__text strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-sign-card--primary,
.azs-sign-card--accent {
  border-left: 5px solid var(--az-primary);
  background: var(--az-white);
}

.azs-sign-card--alert {
  border: 1px solid rgba(198, 40, 40, 0.28);
  background: #fffafa;
}

.azs-sign-card--alert .azs-sign-card__title {
  color: var(--az-text-dark);
}

.azs-signs__media {
  margin: 0 0 30px;
}

.azs-signs__media img {
  width: 100%;
  border-radius: var(--az-radius-lg);
  box-shadow: var(--az-shadow-soft);
}

.azs-signs__note {
  margin-top: 36px;
  padding: 22px 24px;
  border-radius: 18px;
  border: 1px solid rgba(198, 40, 40, 0.16);
  border-left: 4px solid var(--az-secondary);
  background: linear-gradient(180deg, #fffafa 0%, #ffffff 100%);
  box-shadow: 0 8px 22px rgba(10, 34, 64, 0.05);
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--az-text-dark);
}

.azs-signs__note strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-signs__note--info {
  border-color: rgba(29, 63, 114, 0.18);
  border-left-color: var(--az-primary);
  background: rgba(29, 63, 114, 0.04);
}

.azs-signs__actions {
  margin-top: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}

.azs-signs--centered-actions .azs-signs__actions {
  justify-content: center;
}

.azs-section--dark .azs-signs__title,
.azs-section--dark .azs-signs__lead,
.azs-section--dark .azs-signs__lead strong,
.azs-section--dark .azs-signs__cta-text {
  color: var(--az-white);
}

.azs-section--dark .azs-sign-card {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

@media (hover: hover) {
  .azs-section--dark .azs-sign-card:hover {
    transform: none;
    box-shadow: none;
  }
}

.azs-section--dark .azs-sign-card__title,
.azs-section--dark .azs-sign-card__text,
.azs-section--dark .azs-sign-card__text strong {
  color: var(--az-white);
}

.azs-section--dark .azs-sign-card--primary,
.azs-section--dark .azs-sign-card--accent {
  border-left-color: #8fb4ff;
}

.azs-section--dark .azs-signs__note,
.azs-section--dark .azs-signs__note--info {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  border-left-color: #8fb4ff;
  color: var(--az-white);
}

.azs-section--dark .azs-signs__note strong,
.azs-section--dark .azs-signs__note--info strong {
  color: var(--az-white);
}

.azs-signs--compact .azs-signs__intro {
  margin-bottom: 26px;
}

.azs-signs--compact .azs-signs__grid {
  gap: 20px;
}

.azs-signs--compact .azs-sign-card__inner {
  padding: 22px 22px 20px;
}

.azs-signs--compact .azs-sign-card__title {
  margin-bottom: 12px;
  font-size: clamp(21px, 1.7vw, 26px);
}

.azs-signs--compact .azs-sign-card__text {
  font-size: 16px;
  line-height: 1.72;
}


/* ==========================================================
   5. PEST GRID – PREMIUM STANDARD (PREMIUM LIFT v2)
========================================================== */

.azs-pests {
  position: relative;
}

.azs-pests__intro {
  max-width: 860px;
  margin: 0 auto 40px;
  text-align: center;
}

.azs-pests__title {
  margin: 0 0 16px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-pests__lead {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.78;
  color: var(--az-text-dark);
}

.azs-pests__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

.azs-pest-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--az-white);
  border: 1px solid rgba(29, 63, 114, 0.10);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(10, 34, 64, 0.06);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
  will-change: transform;
}

.azs-pest-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--az-secondary) 0%, var(--az-primary) 100%);
  opacity: 0;
  transition: opacity 0.18s ease;
  z-index: 2;
}

@media (hover: hover) {
  .azs-pest-card:hover {
    transform: translateY(-6px);
    border-color: rgba(198, 40, 40, 0.24);
    box-shadow: 0 18px 40px rgba(10, 34, 64, 0.12);
  }

  .azs-pest-card:hover::before {
    opacity: 1;
  }
}

.azs-pest-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform 0.25s ease;
}

@media (hover: hover) {
  .azs-pest-card:hover img {
    transform: scale(1.03);
  }
}

.azs-pest-card__content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 22px 20px 22px;
}

.azs-pest-card h3 {
  margin: 0 0 10px;
  font-family: var(--az-font-heading);
  font-size: 22px;
  line-height: 1.28;
  font-weight: 600;
  color: var(--az-primary);
  transition: color 0.18s ease;
}

@media (hover: hover) {
  .azs-pest-card:hover h3 {
    color: var(--az-secondary);
  }
}

.azs-pest-card p {
  margin: 0 0 18px;
  font-family: var(--az-font-body);
  font-size: 15px;
  line-height: 1.68;
  color: #3f4b57;
}

.azs-pest-card .azs-btn {
  width: 100%;
  margin-top: auto;
  justify-content: center;
  min-height: 50px;
  border-radius: 999px;
  border: 1px solid rgba(29, 63, 114, 0.14);
  background: var(--az-white);
  color: var(--az-primary);
  box-shadow: none;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

@media (hover: hover) {
  .azs-pest-card:hover .azs-btn {
    background: var(--az-secondary);
    border-color: var(--az-secondary);
    color: var(--az-white);
    transform: translateY(-1px);
  }
}

.azs-pests__actions {
  margin-top: 40px;
  text-align: center;
}

.azs-pests__actions .azs-btn {
  min-width: 220px;
}

.azs-section--dark .azs-pests__title,
.azs-section--dark .azs-pests__lead {
  color: var(--az-white);
}

.azs-section--dark .azs-pest-card {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

.azs-section--dark .azs-pest-card::before {
  background: linear-gradient(90deg, #ff9a9a 0%, #8fb4ff 100%);
}

@media (hover: hover) {
  .azs-section--dark .azs-pest-card:hover {
    transform: none;
    box-shadow: none;
    border-color: rgba(255, 255, 255, 0.22);
  }

  .azs-section--dark .azs-pest-card:hover img {
    transform: none;
  }
}

.azs-section--dark .azs-pest-card h3,
.azs-section--dark .azs-pest-card p {
  color: var(--az-white);
}

.azs-section--dark .azs-pest-card .azs-btn {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.16);
  color: var(--az-white);
}

@media (hover: hover) {
  .azs-section--dark .azs-pest-card:hover .azs-btn {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.24);
    color: var(--az-white);
    transform: none;
  }
}

/* ==========================================================
   6. AZS FAQ v1 – PREMIUM STANDARD
========================================================== */

.azs-faq {
  position: relative;
}

.azs-faq__intro {
  max-width: 760px;
  margin: 0 auto 22px;
  text-align: center;
}

.azs-faq__title {
  max-width: 760px;
  margin: 0 0 12px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 2.8vw, 34px);
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--az-primary);
}

.azs-faq__lead {
  max-width: 720px;
  margin: 0 auto;
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.68;
  color: #566273;
}

.azs-faq__lead strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-faq__list {
  max-width: 920px;
  margin: 0 auto;
  display: grid;
  gap: 16px;
}

.azs-faq-item {
  background: var(--az-white);
  border: 1px solid var(--az-border-light);
  border-radius: 18px;
  box-shadow: var(--az-shadow-soft);
  overflow: hidden;
  transition:
    box-shadow 0.15s ease,
    border-color 0.15s ease,
    transform 0.15s ease;
}

@media (hover: hover) {
  .azs-faq-item:hover {
    box-shadow: var(--az-shadow-hard);
    transform: translateY(-1px);
  }
}

.azs-faq-item[open] {
  border-color: rgba(29, 63, 114, 0.18);
  box-shadow: var(--az-shadow-hard);
}

.azs-faq-item summary {
  position: relative;
  display: block;
  margin: 0;
  padding: 22px 62px 22px 24px;
  cursor: pointer;
  list-style: none;
  font-family: var(--az-font-heading);
  font-size: clamp(21px, 2vw, 25px);
  line-height: 1.34;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-faq-item summary::-webkit-details-marker {
  display: none;
}

.azs-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(29, 63, 114, 0.08);
  color: var(--az-primary);
  font-family: var(--az-font-body);
  font-size: 22px;
  font-weight: 700;
  line-height: 28px;
  text-align: center;
  transition:
    transform 0.15s ease,
    background-color 0.15s ease,
    color 0.15s ease;
}

.azs-faq-item[open] summary::after {
  content: "–";
  background: rgba(198, 40, 40, 0.10);
  color: var(--az-secondary);
}

.azs-faq-item__body {
  padding: 0 24px 22px;
  border-top: 1px solid var(--az-border-light);
}

.azs-faq-item__body p {
  margin: 18px 0 0;
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.78;
  color: #3f4b57;
}

.azs-faq-item__body p:first-child {
  margin-top: 18px;
}

.azs-faq-item__body strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-faq--compact .azs-faq__intro {
  margin-bottom: 20px;
}

.azs-faq--compact .azs-faq__list {
  gap: 12px;
}

.azs-faq--compact .azs-faq-item summary {
  padding: 18px 56px 18px 20px;
  font-size: clamp(19px, 1.7vw, 22px);
}

.azs-faq--compact .azs-faq-item__body {
  padding: 0 20px 18px;
}

.azs-faq--compact .azs-faq-item__body p {
  font-size: 16px;
  line-height: 1.72;
}

.azs-section--dark .azs-faq__title,
.azs-section--dark .azs-faq__lead,
.azs-section--dark .azs-faq__lead strong {
  color: var(--az-white);
}

.azs-section--dark .azs-faq-item {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

@media (hover: hover) {
  .azs-section--dark .azs-faq-item:hover {
    transform: none;
    box-shadow: none;
  }
}

.azs-section--dark .azs-faq-item[open] {
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: none;
}

.azs-section--dark .azs-faq-item summary {
  color: var(--az-white);
}

.azs-section--dark .azs-faq-item summary::after {
  background: rgba(255, 255, 255, 0.12);
  color: var(--az-white);
}

.azs-section--dark .azs-faq-item[open] summary::after {
  background: rgba(255, 138, 138, 0.16);
  color: #ffd1d1;
}

.azs-section--dark .azs-faq-item__body {
  border-top-color: rgba(255, 255, 255, 0.14);
}

.azs-section--dark .azs-faq-item__body p,
.azs-section--dark .azs-faq-item__body strong {
  color: var(--az-white);
}


/* ==========================================================
   7. AZS CTA v1 – PREMIUM STANDARD
========================================================== */

.azs-cta {
  position: relative;
  max-width: 920px;
  margin: 0 auto;
  padding: 38px 34px;
  border-radius: 24px;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  border: 1px solid rgba(29, 63, 114, 0.10);
  box-shadow: 0 16px 40px rgba(10, 34, 64, 0.08);
  text-align: center;
  overflow: hidden;
}

.azs-cta::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, var(--az-secondary) 0%, var(--az-primary) 100%);
}

.azs-cta__top {
  margin-bottom: 12px;
}


.azs-cta__title {
  max-width: 760px;
  margin: 0 auto 16px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-cta__text {
  max-width: 720px;
  margin: 0 auto;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.8;
  color: var(--az-text-dark);
}

.azs-cta__text p {
  margin: 0 0 18px;
}

.azs-cta__text p:last-child {
  margin-bottom: 0;
}

.azs-cta__text strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-cta__actions {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  align-items: center;
}

.azs-cta__note {
  max-width: 620px;
  margin: 22px auto 0;
  font-family: var(--az-font-body);
  font-size: 15px;
  line-height: 1.68;
  color: #586474;
}

.azs-cta__note strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-cta--compact {
  padding: 30px 26px;
  border-radius: 20px;
}

.azs-cta--compact .azs-cta__title {
  font-size: clamp(24px, 2.5vw, 30px);
  margin-bottom: 12px;
}

.azs-cta--compact .azs-cta__text {
  font-size: 17px;
  line-height: 1.74;
}

.azs-cta--compact .azs-cta__actions {
  margin-top: 22px;
  gap: 12px;
}

.azs-cta--dark {
  background: linear-gradient(180deg, #1d3f72 0%, #16335d 100%);
  border-color: rgba(255, 255, 255, 0.10);
  box-shadow: 0 18px 42px rgba(8, 20, 38, 0.22);
}

.azs-cta--dark::before {
  background: linear-gradient(180deg, #ff6b6b 0%, #ffd1d1 100%);
}

.azs-cta--dark .azs-cta__title,
.azs-cta--dark .azs-cta__text,
.azs-cta--dark .azs-cta__text strong,
.azs-cta--dark .azs-cta__note,
.azs-cta--dark .azs-cta__note strong {
  color: var(--az-white);
}


/* ==========================================================
   8. AZS WHY v1 – PREMIUM STANDARD
========================================================== */

.azs-why {
  position: relative;
}

.azs-why__intro {
  max-width: 860px;
  margin: 0 auto 34px;
  text-align: center;
}

.azs-why__title {
  margin: 0 0 18px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-why__lead {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.8;
  color: var(--az-text-dark);
}

.azs-why__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.azs-why-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--az-white);
  border: 1px solid var(--az-border-light);
  border-radius: 20px;
  box-shadow: var(--az-shadow-soft);
  overflow: hidden;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  will-change: transform;
}

@media (hover: hover) {
  .azs-why-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--az-shadow-hard);
  }
}

.azs-why-card--accent {
  border-left: 5px solid var(--az-primary);
}

.azs-why-card--red {
  border-left: 5px solid var(--az-secondary);
}

.azs-why-card__inner {
  height: 100%;
  padding: 26px 24px 24px;
}

.azs-why-card__title {
  margin: 0 0 12px;
  font-family: var(--az-font-heading);
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.28;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-why-card__text {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.76;
  color: #3f4b57;
}

.azs-why-card__text p {
  margin: 0 0 14px;
}

.azs-why-card__text p:last-child {
  margin-bottom: 0;
}

.azs-why-card__text strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-why__note {
  max-width: 920px;
  margin: 34px auto 0;
  padding: 22px 24px;
  border-radius: 18px;
  border: 1px solid rgba(29, 63, 114, 0.12);
  border-left: 4px solid var(--az-primary);
  background: rgba(29, 63, 114, 0.04);
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--az-text-dark);
}

.azs-why__note strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-section--dark .azs-why__title,
.azs-section--dark .azs-why__lead {
  color: var(--az-white);
}

.azs-section--dark .azs-why-card {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

@media (hover: hover) {
  .azs-section--dark .azs-why-card:hover {
    transform: none;
    box-shadow: none;
  }
}

.azs-section--dark .azs-why-card__title,
.azs-section--dark .azs-why-card__text,
.azs-section--dark .azs-why-card__text strong {
  color: var(--az-white);
}

.azs-section--dark .azs-why-card--accent {
  border-left-color: #8fb4ff;
}

.azs-section--dark .azs-why-card--red {
  border-left-color: #ff9a9a;
}

.azs-section--dark .azs-why__note {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  border-left-color: #8fb4ff;
  color: var(--az-white);
}

.azs-section--dark .azs-why__note strong {
  color: var(--az-white);
}


/* ==========================================================
   9. AZS PROCESS v1 – PREMIUM STANDARD
========================================================== */

.azs-process {
  position: relative;
}

.azs-process__intro {
  max-width: 860px;
  margin: 0 auto 36px;
  text-align: center;
}

.azs-process__title {
  margin: 0 0 18px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-process__lead {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.8;
  color: var(--az-text-dark);
}

.azs-process__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.azs-process-step {
  position: relative;
  height: 100%;
  background: var(--az-white);
  border: 1px solid var(--az-border-light);
  border-radius: 20px;
  box-shadow: var(--az-shadow-soft);
  overflow: hidden;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  will-change: transform;
}

@media (hover: hover) {
  .azs-process-step:hover {
    transform: translateY(-2px);
    box-shadow: var(--az-shadow-hard);
  }
}

.azs-process-step__inner {
  height: 100%;
  padding: 28px 24px 24px;
}

.azs-process-step__no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0 0 18px;
  border-radius: 999px;
  background: rgba(29, 63, 114, 0.08);
  color: var(--az-primary);
  font-family: var(--az-font-body);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}

.azs-process-step__title {
  margin: 0 0 12px;
  font-family: var(--az-font-heading);
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.28;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-process-step__text {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.76;
  color: #3f4b57;
}

.azs-process-step__text p {
  margin: 0 0 14px;
}

.azs-process-step__text p:last-child {
  margin-bottom: 0;
}

.azs-process-step__text strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-process__note {
  max-width: 920px;
  margin: 34px auto 0;
  padding: 22px 24px;
  border-radius: 18px;
  border: 1px solid rgba(198, 40, 40, 0.16);
  border-left: 4px solid var(--az-secondary);
  background: linear-gradient(180deg, #fffafa 0%, #ffffff 100%);
  box-shadow: 0 8px 22px rgba(10, 34, 64, 0.05);
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--az-text-dark);
}

.azs-process__note strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-section--dark .azs-process__title,
.azs-section--dark .azs-process__lead {
  color: var(--az-white);
}

.azs-section--dark .azs-process-step {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

@media (hover: hover) {
  .azs-section--dark .azs-process-step:hover {
    transform: none;
    box-shadow: none;
  }
}

.azs-section--dark .azs-process-step__no {
  background: rgba(255, 255, 255, 0.12);
  color: var(--az-white);
}

.azs-section--dark .azs-process-step__title,
.azs-section--dark .azs-process-step__text,
.azs-section--dark .azs-process-step__text strong {
  color: var(--az-white);
}

.azs-section--dark .azs-process__note {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  border-left-color: #ff9a9a;
  color: var(--az-white);
}

.azs-section--dark .azs-process__note strong {
  color: var(--az-white);
}


/* ==========================================================
   10. AZS DIY v1 – PREMIUM STANDARD
========================================================== */

.azs-diy {
  position: relative;
}

.azs-diy__intro {
  max-width: 860px;
  margin: 0 auto 34px;
  text-align: center;
}

.azs-diy__title {
  margin: 0 0 18px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-diy__lead {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.8;
  color: var(--az-text-dark);
}

.azs-diy__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.azs-diy-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--az-white);
  border: 1px solid var(--az-border-light);
  border-radius: 20px;
  box-shadow: var(--az-shadow-soft);
  overflow: hidden;
}

.azs-diy-card--self {
  border-left: 5px solid rgba(29, 63, 114, 0.28);
}

.azs-diy-card--pro {
  border-left: 5px solid var(--az-secondary);
}

.azs-diy-card__inner {
  height: 100%;
  padding: 28px 24px 24px;
}

.azs-diy-card__label {
  display: inline-block;
  margin: 0 0 14px;
  padding: 6px 12px;
  border-radius: 999px;
  font-family: var(--az-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.azs-diy-card--self .azs-diy-card__label {
  background: rgba(29, 63, 114, 0.08);
  color: var(--az-primary);
}

.azs-diy-card--pro .azs-diy-card__label {
  background: rgba(198, 40, 40, 0.10);
  color: var(--az-secondary);
}

.azs-diy-card__title {
  margin: 0 0 14px;
  font-family: var(--az-font-heading);
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.28;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-diy-card__text {
  margin: 0 0 18px;
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.76;
  color: #3f4b57;
}

.azs-diy-card__text p {
  margin: 0 0 14px;
}

.azs-diy-card__text p:last-child {
  margin-bottom: 0;
}

.azs-diy-card__text strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-diy-card__list {
  margin-top: auto;
}

.azs-diy__note {
  max-width: 920px;
  margin: 34px auto 0;
  padding: 22px 24px;
  border-radius: 18px;
  border: 1px solid rgba(198, 40, 40, 0.16);
  border-left: 4px solid var(--az-secondary);
  background: linear-gradient(180deg, #fffafa 0%, #ffffff 100%);
  box-shadow: 0 8px 22px rgba(10, 34, 64, 0.05);
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--az-text-dark);
}

.azs-diy__note strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-section--dark .azs-diy__title,
.azs-section--dark .azs-diy__lead {
  color: var(--az-white);
}

.azs-section--dark .azs-diy-card {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

.azs-section--dark .azs-diy-card__title,
.azs-section--dark .azs-diy-card__text,
.azs-section--dark .azs-diy-card__text strong {
  color: var(--az-white);
}

.azs-section--dark .azs-diy-card--self {
  border-left-color: #8fb4ff;
}

.azs-section--dark .azs-diy-card--pro {
  border-left-color: #ff9a9a;
}

.azs-section--dark .azs-diy-card--self .azs-diy-card__label {
  background: rgba(255, 255, 255, 0.10);
  color: var(--az-white);
}

.azs-section--dark .azs-diy-card--pro .azs-diy-card__label {
  background: rgba(255, 138, 138, 0.14);
  color: #ffd1d1;
}

.azs-section--dark .azs-diy__note {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  border-left-color: #ff9a9a;
  color: var(--az-white);
}

.azs-section--dark .azs-diy__note strong {
  color: var(--az-white);
}


/* ==========================================================
   11. AZS FORM v1 – PREMIUM STANDARD
========================================================== */

.azs-form {
  position: relative;
}

.azs-form__shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 480px);
  gap: 28px;
  align-items: stretch;
}

.azs-form__content,
.azs-form__box {
  background: var(--az-white);
  border: 1px solid var(--az-border-light);
  border-radius: 22px;
  box-shadow: var(--az-shadow-soft);
}

.azs-form__content {
  padding: 32px 30px;
}

.azs-form__top {
  margin-bottom: 12px;
}

.azs-form__title {
  margin: 0 0 16px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-form__text {
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.76;
  color: var(--az-text-dark);
}

.azs-form__text p {
  margin: 0 0 18px;
}

.azs-form__text p:last-child {
  margin-bottom: 0;
}

.azs-form__text strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-form__list {
  margin-top: 26px;
}

.azs-form__actions {
  margin-top: 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.azs-form__box {
  padding: 22px;
}

.azs-form__box-title {
  margin: 0 0 16px;
  font-family: var(--az-font-heading);
  font-size: 22px;
  line-height: 1.3;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-form__embed {
  width: 100%;
}

.azs-form__embed > *:first-child {
  margin-top: 0;
}

.azs-form__embed > *:last-child {
  margin-bottom: 0;
}

.azs-form__note {
  margin-top: 14px;
  font-family: var(--az-font-body);
  font-size: 14px;
  line-height: 1.65;
  color: #586474;
}

.azs-form__note strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-section--dark .azs-form__content,
.azs-section--dark .azs-form__box {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

.azs-section--dark .azs-form__title,
.azs-section--dark .azs-form__text,
.azs-section--dark .azs-form__text strong,
.azs-section--dark .azs-form__box-title,
.azs-section--dark .azs-form__note,
.azs-section--dark .azs-form__note strong {
  color: var(--az-white);
}

/* ==========================================================
   11A. AZS FORM INTRO / SECTION HEADER – STANDARD
========================================================== */

.azs-form__intro {
  max-width: 760px;
  margin: 0 auto 26px;
  text-align: center;
}

.azs-form__intro-title {
  max-width: 760px;
  margin: 0 0 12px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 2.8vw, 34px);
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--az-primary);
}

.azs-form__intro-lead {
  max-width: 720px;
  margin: 0 auto;
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.68;
  color: #566273;
}

.azs-form__intro-lead strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-form__content-title {
  margin: 0 0 14px;
  font-family: var(--az-font-heading);
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.28;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-form__text + .azs-form-followup {
  margin-top: 28px;
}

.azs-section--dark .azs-form__intro-title,
.azs-section--dark .azs-form__intro-lead,
.azs-section--dark .azs-form__intro-lead strong,
.azs-section--dark .azs-form__content-title {
  color: var(--az-white);
}

/* ==========================================================
   11B. AZS FORM FOLLOW-UP / NEXT STEPS – PREMIUM STANDARD
========================================================== */

.azs-form-followup {
  max-width: 620px;
  margin: 34px auto 0;
  padding: 26px 24px;
  background: #F9FAFC;
  border: 1.5px solid rgba(29, 63, 114, 0.28);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(15, 35, 65, 0.06);
}

.azs-form-followup__title {
  margin: 0 0 18px;
  font-family: var(--az-font-heading);
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.22;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-form-followup__step {
  margin-bottom: 22px;
}

.azs-form-followup__step:last-of-type {
  margin-bottom: 18px;
}

.azs-form-followup__step strong {
  display: block;
  margin-bottom: 6px;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.45;
  font-weight: 700;
  color: var(--az-primary);
}

.azs-form-followup__step p {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.76;
  color: var(--az-text-dark);
}

.azs-form-followup__step p strong {
  display: inline;
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: var(--az-text-dark);
}

.azs-form-followup__phone {
  margin: 8px 0 0;
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.72;
  color: var(--az-text-dark);
}

.azs-form-followup__phone a {
  color: var(--az-primary);
  font-weight: 700;
  text-decoration: none;
}

.azs-form-followup__phone a:hover,
.azs-form-followup__phone a:focus {
  text-decoration: underline;
}

.azs-form-followup--wide {
  max-width: 760px;
}

.azs-form-followup--left {
  margin-left: 0;
  margin-right: 0;
}

.azs-section--dark .azs-form-followup {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

.azs-section--dark .azs-form-followup__title,
.azs-section--dark .azs-form-followup__step strong,
.azs-section--dark .azs-form-followup__step p,
.azs-section--dark .azs-form-followup__step p strong,
.azs-section--dark .azs-form-followup__phone,
.azs-section--dark .azs-form-followup__phone a {
  color: var(--az-white);
}

@media (max-width: 767px) {
  .azs-form-followup {
    margin-top: 26px;
    padding: 22px 18px;
    border-radius: 16px;
  }

  .azs-form-followup__title {
    margin-bottom: 16px;
    font-size: clamp(22px, 7vw, 28px);
    line-height: 1.24;
  }

  .azs-form-followup__step {
    margin-bottom: 18px;
  }

  .azs-form-followup__step strong {
    font-size: 17px;
  }

  .azs-form-followup__step p,
  .azs-form-followup__phone {
    font-size: 16px;
    line-height: 1.68;
  }
}

/* ==========================================================
   12. AZS INFO v1 – PREMIUM STANDARD
========================================================== */

.azs-info {
  position: relative;
}

.azs-info__top {
  max-width: 860px;
  margin: 0 auto 22px;
}

.azs-info__eyebrow {
  margin-bottom: 12px;
}

.azs-info__title {
  margin: 0;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.24;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-info__content {
  max-width: 860px;
}

.azs-info__content p {
  margin: 0 0 22px;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.82;
  color: var(--az-text-dark);
}

.azs-info__content p:last-child {
  margin-bottom: 0;
}

.azs-info__content strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-info__content ul,
.azs-info__content ol {
  margin: 0 0 24px 24px;
  padding: 0;
}

.azs-info__content li {
  margin: 0 0 10px;
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--az-text-dark);
}

.azs-info__box {
  max-width: 860px;
  margin-top: 30px;
  padding: 22px 24px;
  border-radius: 18px;
  border: 1px solid rgba(29, 63, 114, 0.12);
  border-left: 4px solid var(--az-primary);
  background: rgba(29, 63, 114, 0.04);
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--az-text-dark);
}

.azs-info__box strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-info--compact .azs-info__content p {
  font-size: 17px;
  line-height: 1.74;
}

.azs-info--compact .azs-info__content li {
  font-size: 16px;
  line-height: 1.68;
}

.azs-section--dark .azs-info__title,
.azs-section--dark .azs-info__content p,
.azs-section--dark .azs-info__content strong,
.azs-section--dark .azs-info__content li,
.azs-section--dark .azs-info__box,
.azs-section--dark .azs-info__box strong {
  color: var(--az-white);
}

.azs-section--dark .azs-info__box {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  border-left-color: #8fb4ff;
}


/* ==========================================================
   13. AZS TRUST v1 – PREMIUM STANDARD
========================================================== */

.azs-trust {
  position: relative;
}

.azs-trust__intro {
  max-width: 860px;
  margin: 0 auto 34px;
  text-align: center;
}

.azs-trust__title {
  margin: 0 0 18px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-trust__lead {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.8;
  color: var(--az-text-dark);
}

.azs-trust__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.azs-trust-card {
  height: 100%;
  background: var(--az-white);
  border: 1px solid var(--az-border-light);
  border-radius: 20px;
  box-shadow: var(--az-shadow-soft);
  overflow: hidden;
}

.azs-trust-card__inner {
  height: 100%;
  padding: 26px 24px 24px;
}

.azs-trust-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin: 0 0 16px;
  border-radius: 999px;
  background: rgba(29, 63, 114, 0.08);
  color: var(--az-primary);
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
}

.azs-trust-card__title {
  margin: 0 0 12px;
  font-family: var(--az-font-heading);
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.28;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-trust-card__text {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.76;
  color: #3f4b57;
}

.azs-trust-card__text p {
  margin: 0 0 14px;
}

.azs-trust-card__text p:last-child {
  margin-bottom: 0;
}

.azs-trust-card__text strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-trust__quotes {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.azs-trust-quote {
  padding: 22px 22px 20px;
  border-radius: 18px;
  border: 1px solid var(--az-border-light);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 10px 24px rgba(10, 34, 64, 0.05);
}

.azs-trust-quote__text {
  margin: 0 0 14px;
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.76;
  color: var(--az-text-dark);
}

.azs-trust-quote__name {
  font-family: var(--az-font-body);
  font-size: 14px;
  font-weight: 700;
  color: var(--az-primary);
}

.azs-section--dark .azs-trust__title,
.azs-section--dark .azs-trust__lead {
  color: var(--az-white);
}

.azs-section--dark .azs-trust-card,
.azs-section--dark .azs-trust-quote {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

.azs-section--dark .azs-trust-card__icon {
  background: rgba(255, 255, 255, 0.12);
  color: var(--az-white);
}

.azs-section--dark .azs-trust-card__title,
.azs-section--dark .azs-trust-card__text,
.azs-section--dark .azs-trust-card__text strong,
.azs-section--dark .azs-trust-quote__text,
.azs-section--dark .azs-trust-quote__name {
  color: var(--az-white);
}


/* ==========================================================
   14. AZS SERVICE GRID v2 – PREMIUM STANDARD LIFT
========================================================== */

.azs-services {
  position: relative;
}

.azs-services__intro {
  max-width: 860px;
  margin: 0 auto 34px;
  text-align: center;
}

.azs-services__title {
  margin: 0 0 18px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-services__lead {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.8;
  color: var(--az-text-dark);
}

.azs-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.azs-services__grid--2col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.azs-services__grid--narrow {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

.azs-service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--az-white);
  border: 1px solid rgba(29, 63, 114, 0.10);
  border-radius: 22px;
  box-shadow: 0 10px 28px rgba(10, 34, 64, 0.06);
  overflow: hidden;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
  will-change: transform;
}

.azs-service-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--az-primary) 0%, var(--az-secondary) 100%);
  opacity: 0;
  transition: opacity 0.18s ease;
}

@media (hover: hover) {
  .azs-service-card:hover {
    transform: translateY(-5px);
    border-color: rgba(198, 40, 40, 0.24);
    box-shadow: 0 18px 40px rgba(10, 34, 64, 0.12);
  }

  .azs-service-card:hover::before {
    opacity: 1;
  }
}

.azs-service-card__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 24px 22px 22px;
}

.azs-service-card__title {
  margin: 0 0 12px;
  font-family: var(--az-font-heading);
  font-size: clamp(22px, 2vw, 26px);
  line-height: 1.28;
  font-weight: 600;
  color: var(--az-primary);
  transition: color 0.18s ease;
}

@media (hover: hover) {
  .azs-service-card:hover .azs-service-card__title {
    color: var(--az-secondary);
  }
}

.azs-service-card__text {
  margin: 0 0 18px;
  font-family: var(--az-font-body);
  font-size: 15px;
  line-height: 1.7;
  color: #3f4b57;
}

.azs-service-card__text p {
  margin: 0 0 12px;
}

.azs-service-card__text p:last-child {
  margin-bottom: 0;
}

.azs-service-card__link {
  margin-top: auto;
}

.azs-service-card__link .azs-btn {
  width: 100%;
  justify-content: center;
  min-height: 50px;
  border-radius: 999px;
  border: 1px solid rgba(29, 63, 114, 0.14);
  background: var(--az-white);
  color: var(--az-primary);
  box-shadow: none;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

@media (hover: hover) {
  .azs-service-card:hover .azs-btn {
    background: var(--az-secondary);
    border-color: var(--az-secondary);
    color: var(--az-white);
    transform: translateY(-1px);
  }
}

.azs-section--dark .azs-services__title,
.azs-section--dark .azs-services__lead {
  color: var(--az-white);
}

.azs-section--dark .azs-service-card {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

.azs-section--dark .azs-service-card::before {
  background: linear-gradient(180deg, #8fb4ff 0%, #ff9a9a 100%);
}

@media (hover: hover) {
  .azs-section--dark .azs-service-card:hover {
    transform: none;
    box-shadow: none;
    border-color: rgba(255, 255, 255, 0.22);
  }

  .azs-section--dark .azs-service-card:hover .azs-service-card__title {
    color: var(--az-white);
  }
}

.azs-section--dark .azs-service-card__title,
.azs-section--dark .azs-service-card__text {
  color: var(--az-white);
}

.azs-section--dark .azs-service-card__link .azs-btn {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.16);
  color: var(--az-white);
}

@media (hover: hover) {
  .azs-section--dark .azs-service-card:hover .azs-btn {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.24);
    color: var(--az-white);
    transform: none;
  }
}

/* ==========================================================
   14A. AZS AUDIENCE / KUNDETYPER v1.0
   Bruges på by-sider: "Hvem hjælper vi?"
========================================================== */

.azs-audience {
  position: relative;
}

.azs-audience .azs-services__intro {
  max-width: 860px;
  margin: 0 auto 34px;
  text-align: center;
}

.azs-audience__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.azs-audience-card {
  position: relative;
  height: 100%;
  overflow: hidden;
  background: var(--az-white);
  border: 1px solid rgba(29, 63, 114, 0.12);
  border-radius: 22px;
  padding: 24px 22px 22px;
  box-shadow: 0 14px 34px rgba(10, 34, 64, 0.08);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
  will-change: transform;
}

.azs-audience-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, var(--az-primary) 0%, var(--az-secondary) 100%);
  opacity: 0.95;
}

@media (hover: hover) {
  .azs-audience-card:hover {
    transform: translateY(-4px);
    border-color: rgba(198, 40, 40, 0.22);
    box-shadow: 0 18px 42px rgba(10, 34, 64, 0.12);
  }
}

.azs-audience-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0 0 16px;
  border-radius: 999px;
  background: rgba(29, 63, 114, 0.08);
  color: var(--az-primary);
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
}

.azs-audience-card__title {
  margin: 0 0 10px;
  font-family: var(--az-font-heading);
  font-size: clamp(20px, 1.8vw, 24px);
  line-height: 1.25;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-audience-card__text {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 15.5px;
  line-height: 1.68;
  color: #3f4b57;
}

.azs-audience-card__text strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-audience__note {
  max-width: 860px;
  margin: 28px auto 0;
  padding: 18px 22px;
  border-radius: 18px;
  border: 1px solid rgba(29, 63, 114, 0.10);
  border-left: 4px solid var(--az-primary);
  background: rgba(29, 63, 114, 0.04);
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.72;
  color: var(--az-text-dark);
  text-align: center;
}

.azs-audience__note strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-section--dark.azs-audience .azs-services__title,
.azs-section--dark.azs-audience .azs-services__lead,
.azs-section--dark .azs-audience .azs-services__title,
.azs-section--dark .azs-audience .azs-services__lead,
.azs-section--dark .azs-audience-card__title,
.azs-section--dark .azs-audience-card__text,
.azs-section--dark .azs-audience-card__text strong,
.azs-section--dark .azs-audience__note,
.azs-section--dark .azs-audience__note strong {
  color: var(--az-white);
}

.azs-section--dark.azs-audience .azs-audience-card,
.azs-section--dark .azs-audience .azs-audience-card {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

.azs-section--dark .azs-audience-card::before {
  background: linear-gradient(90deg, #8fb4ff 0%, #ff9a9a 100%);
}

.azs-section--dark .azs-audience-card__icon {
  background: rgba(255, 255, 255, 0.12);
  color: var(--az-white);
}

.azs-section--dark .azs-audience__note {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  border-left-color: #8fb4ff;
}


/* ==========================================================
   15. AZS COVERAGE v2 – PREMIUM STANDARD LIFT
========================================================== */

.azs-coverage {
  position: relative;
}

.azs-coverage__intro {
  max-width: 860px;
  margin: 0 auto 34px;
  text-align: center;
}

.azs-coverage__title {
  margin: 0 0 18px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-coverage__lead {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.8;
  color: var(--az-text-dark);
}

.azs-coverage__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.azs-coverage-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
  border: 1px solid rgba(29, 63, 114, 0.10);
  border-radius: 24px;
  box-shadow: 0 12px 32px rgba(10, 34, 64, 0.07);
  overflow: hidden;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
  will-change: transform;
}

.azs-coverage-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--az-primary) 0%, var(--az-secondary) 100%);
}

@media (hover: hover) {
  .azs-coverage-card:hover {
    transform: translateY(-5px);
    border-color: rgba(198, 40, 40, 0.24);
    box-shadow: 0 20px 44px rgba(10, 34, 64, 0.12);
  }
}

.azs-coverage-card__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 24px 22px 22px;
}

.azs-coverage-card__top {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 16px;
}

.azs-coverage-card__badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(29, 63, 114, 0.08);
  color: var(--az-primary);
  font-family: var(--az-font-body);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.azs-coverage-card__chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(198, 40, 40, 0.10);
  color: var(--az-secondary);
  font-family: var(--az-font-body);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.azs-coverage-card__title {
  margin: 0 0 12px;
  font-family: var(--az-font-heading);
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.28;
  font-weight: 600;
  color: var(--az-primary);
  transition: color 0.18s ease;
}

@media (hover: hover) {
  .azs-coverage-card:hover .azs-coverage-card__title {
    color: var(--az-secondary);
  }
}

.azs-coverage-card__text {
  margin: 0 0 18px;
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.74;
  color: #3f4b57;
}

.azs-coverage-card__text strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-coverage-card__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
}

.azs-coverage-card__list a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(29, 63, 114, 0.12);
  background: #fff;
  color: var(--az-primary);
  font-family: var(--az-font-body);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.azs-coverage-card__list a:hover,
.azs-coverage-card__list a:focus {
  background: rgba(198, 40, 40, 0.08);
  border-color: rgba(198, 40, 40, 0.22);
  color: var(--az-secondary);
  text-decoration: none;
  transform: translateY(-1px);
}

.azs-coverage__cities {
  max-width: 980px;
  margin: 28px auto 0;
  padding: 20px 22px;
  border-radius: 20px;
  border: 1px solid rgba(29, 63, 114, 0.12);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 10px 24px rgba(10, 34, 64, 0.05);
}

.azs-coverage__cities .azs-checklist {
  gap: 12px;
}

.azs-coverage__cities .azs-checklist li {
  font-size: 16px;
  line-height: 1.72;
}

.azs-coverage__actions {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  align-items: center;
}

.azs-coverage__note {
  max-width: 920px;
  margin: 18px auto 0;
  font-family: var(--az-font-body);
  font-size: 15px;
  line-height: 1.68;
  color: #586474;
  text-align: center;
}

.azs-coverage__note strong {
  color: var(--az-text-dark);
}

.azs-section--dark .azs-coverage__title,
.azs-section--dark .azs-coverage__lead {
  color: var(--az-white);
}

.azs-section--dark .azs-coverage-card,
.azs-section--dark .azs-coverage__cities {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

.azs-section--dark .azs-coverage-card::before {
  background: linear-gradient(180deg, #8fb4ff 0%, #ff9a9a 100%);
}

.azs-section--dark .azs-coverage-card__badge {
  background: rgba(255, 255, 255, 0.10);
  color: var(--az-white);
}

.azs-section--dark .azs-coverage-card__chip {
  background: rgba(255, 138, 138, 0.14);
  color: #ffd1d1;
}

.azs-section--dark .azs-coverage-card__title,
.azs-section--dark .azs-coverage-card__text,
.azs-section--dark .azs-coverage-card__text strong,
.azs-section--dark .azs-coverage__note,
.azs-section--dark .azs-coverage__note strong,
.azs-section--dark .azs-coverage__cities .azs-checklist li {
  color: var(--az-white);
}

.azs-section--dark .azs-coverage-card__list a {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.16);
  color: var(--az-white);
}

.azs-section--dark .azs-coverage-card__list a:hover,
.azs-section--dark .azs-coverage-card__list a:focus {
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 255, 255, 0.24);
  color: var(--az-white);
}

.azs-coverage-card__region-link{
  background: var(--az-primary) !important;
  border-color: var(--az-primary) !important;
  color: var(--az-white) !important;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(29, 63, 114, 0.14);
}

.azs-coverage-card__region-link:hover,
.azs-coverage-card__region-link:focus{
  background: #153058 !important;
  border-color: #153058 !important;
  color: var(--az-white) !important;
  text-decoration: none;
  transform: translateY(-1px);
}

.azs-section--dark .azs-coverage-card__region-link{
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.22) !important;
  color: var(--az-white) !important;
  box-shadow: none;
}

.azs-section--dark .azs-coverage-card__region-link:hover,
.azs-section--dark .azs-coverage-card__region-link:focus{
  background: rgba(255,255,255,0.18) !important;
  border-color: rgba(255,255,255,0.28) !important;
  color: var(--az-white) !important;
}

/* ==========================================================
   15a. AZS COVERAGE – STATIC LOCATION CHIPS
========================================================== */

.azs-coverage__actions--static {
  justify-content: center;
}

.azs-chip-static,
.azs-chip-static:link,
.azs-chip-static:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(29, 63, 114, 0.14);
  background: rgba(29, 63, 114, 0.04);
  color: var(--az-primary);
  font-family: var(--az-font-body);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: none;
  pointer-events: none;
  cursor: default;
}

.azs-section--soft .azs-chip-static,
.azs-section--light .azs-chip-static {
  background: rgba(29, 63, 114, 0.04);
  border-color: rgba(29, 63, 114, 0.14);
  color: var(--az-primary);
}

.azs-section--dark .azs-chip-static {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.16);
  color: var(--az-white);
}


/* ==========================================================
   16. AZS PRICE v1 – PREMIUM STANDARD
========================================================== */

.azs-price {
  position: relative;
}

.azs-price__intro {
  max-width: 860px;
  margin: 0 auto 34px;
  text-align: center;
}

.azs-price__title {
  margin: 0 0 18px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-price__lead {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.8;
  color: var(--az-text-dark);
}

.azs-price__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.azs-price-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--az-white);
  border: 1px solid var(--az-border-light);
  border-radius: 20px;
  box-shadow: var(--az-shadow-soft);
  overflow: hidden;
}

.azs-price-card--featured {
  border: 1px solid rgba(198, 40, 40, 0.24);
  box-shadow: var(--az-shadow-hard);
}

.azs-price-card__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 26px 24px 24px;
}

.azs-price-card__eyebrow {
  display: inline-block;
  margin: 0 0 14px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(198, 40, 40, 0.10);
  color: var(--az-secondary);
  font-family: var(--az-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.azs-price-card__title {
  margin: 0 0 10px;
  font-family: var(--az-font-heading);
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.28;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-price-card__amount {
  margin: 0 0 16px;
  font-family: var(--az-font-heading);
  font-size: clamp(30px, 3vw, 40px);
  line-height: 1.1;
  font-weight: 600;
  color: var(--az-secondary);
}

.azs-price-card__text {
  margin: 0 0 18px;
  font-family: var(--az-font-body);
  font-size: 15px;
  line-height: 1.72;
  color: #3f4b57;
}

.azs-price-card__list {
  margin-top: auto;
}

.azs-price__note {
  max-width: 920px;
  margin: 34px auto 0;
  padding: 22px 24px;
  border-radius: 18px;
  border: 1px solid rgba(29, 63, 114, 0.12);
  border-left: 4px solid var(--az-primary);
  background: rgba(29, 63, 114, 0.04);
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--az-text-dark);
}

.azs-price__note strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-section--dark .azs-price__title,
.azs-section--dark .azs-price__lead {
  color: var(--az-white);
}

.azs-section--dark .azs-price-card {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

.azs-section--dark .azs-price-card--featured {
  border-color: rgba(255, 154, 154, 0.32);
}

.azs-section--dark .azs-price-card__title,
.azs-section--dark .azs-price-card__text {
  color: var(--az-white);
}

.azs-section--dark .azs-price-card__amount {
  color: #ffd1d1;
}

.azs-section--dark .azs-price-card__eyebrow {
  background: rgba(255, 138, 138, 0.14);
  color: #ffd1d1;
}

.azs-section--dark .azs-price__note {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  border-left-color: #8fb4ff;
  color: var(--az-white);
}

.azs-section--dark .azs-price__note strong {
  color: var(--az-white);
}

/* ==========================================================
   AZS PRICE – SINGLE FEATURED CARD CENTER ALIGN
========================================================== */

.azs-price-card--single .azs-price-card__eyebrow,
.azs-price-card--single .azs-price-card__title,
.azs-price-card--single .azs-price-card__amount,
.azs-price-card--single .azs-price-card__text {
  text-align: center;
}

.azs-price-card--single .azs-price-card__eyebrow {
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
}

.azs-price-card--single .azs-price-card__text {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.azs-price-card--single .azs-cta__actions {
  justify-content: center;
}

/* ==========================================================
   AZS PRICE – 2 COLUMN VARIANT
========================================================== */

.azs-price__grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 767px) {
  .azs-price__grid--2 {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================
   17. AZS COMPARE v1 – PREMIUM STANDARD
========================================================== */

.azs-compare {
  position: relative;
}

.azs-compare__intro {
  max-width: 860px;
  margin: 0 auto 34px;
  text-align: center;
}

.azs-compare__title {
  margin: 0 0 18px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-compare__lead {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.8;
  color: var(--az-text-dark);
}

.azs-compare__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.azs-compare-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--az-white);
  border: 1px solid var(--az-border-light);
  border-radius: 20px;
  box-shadow: var(--az-shadow-soft);
  overflow: hidden;
}

.azs-compare-card--left {
  border-left: 5px solid var(--az-primary);
}

.azs-compare-card--right {
  border-left: 5px solid var(--az-secondary);
}

.azs-compare-card__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 28px 24px 24px;
}

.azs-compare-card__label {
  display: inline-block;
  margin: 0 0 14px;
  padding: 6px 12px;
  border-radius: 999px;
  font-family: var(--az-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.azs-compare-card--left .azs-compare-card__label {
  background: rgba(29, 63, 114, 0.08);
  color: var(--az-primary);
}

.azs-compare-card--right .azs-compare-card__label {
  background: rgba(198, 40, 40, 0.10);
  color: var(--az-secondary);
}

.azs-compare-card__title {
  margin: 0 0 14px;
  font-family: var(--az-font-heading);
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.28;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-compare-card__text {
  margin: 0 0 18px;
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.76;
  color: #3f4b57;
}

.azs-compare-card__text p {
  margin: 0 0 14px;
}

.azs-compare-card__text p:last-child {
  margin-bottom: 0;
}

.azs-compare-card__text strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-compare-card__list {
  margin-top: auto;
}

.azs-compare__note {
  max-width: 920px;
  margin: 34px auto 0;
  padding: 22px 24px;
  border-radius: 18px;
  border: 1px solid rgba(29, 63, 114, 0.12);
  border-left: 4px solid var(--az-primary);
  background: rgba(29, 63, 114, 0.04);
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--az-text-dark);
}

.azs-compare__note strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-compare__table-wrap {
  margin-top: 30px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.azs-compare__table {
  width: 100%;
  min-width: 680px;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--az-white);
  border: 1px solid var(--az-border-light);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--az-shadow-soft);
}

.azs-compare__table th,
.azs-compare__table td {
  padding: 16px 18px;
  text-align: left;
  vertical-align: top;
  font-family: var(--az-font-body);
  font-size: 15px;
  line-height: 1.65;
  border-bottom: 1px solid var(--az-border-light);
}

.azs-compare__table th {
  font-weight: 700;
  color: var(--az-primary);
  background: rgba(29, 63, 114, 0.04);
}

.azs-compare__table td {
  color: var(--az-text-dark);
}

.azs-compare__table tr:last-child td {
  border-bottom: 0;
}

.azs-section--dark .azs-compare__title,
.azs-section--dark .azs-compare__lead {
  color: var(--az-white);
}

.azs-section--dark .azs-compare-card,
.azs-section--dark .azs-compare__table {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

.azs-section--dark .azs-compare-card__title,
.azs-section--dark .azs-compare-card__text,
.azs-section--dark .azs-compare-card__text strong,
.azs-section--dark .azs-compare__table th,
.azs-section--dark .azs-compare__table td {
  color: var(--az-white);
}

.azs-section--dark .azs-compare-card--left {
  border-left-color: #8fb4ff;
}

.azs-section--dark .azs-compare-card--right {
  border-left-color: #ff9a9a;
}

.azs-section--dark .azs-compare-card--left .azs-compare-card__label {
  background: rgba(255, 255, 255, 0.10);
  color: var(--az-white);
}

.azs-section--dark .azs-compare-card--right .azs-compare-card__label {
  background: rgba(255, 138, 138, 0.14);
  color: #ffd1d1;
}

.azs-section--dark .azs-compare__note {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  border-left-color: #8fb4ff;
  color: var(--az-white);
}

.azs-section--dark .azs-compare__note strong {
  color: var(--az-white);
}

.azs-section--dark .azs-compare__table th {
  background: rgba(255, 255, 255, 0.08);
}

.azs-section--dark .azs-compare__table th,
.azs-section--dark .azs-compare__table td {
  border-bottom-color: rgba(255, 255, 255, 0.14);
}


/* ==========================================================
   18. AZS CASES v1 – PREMIUM STANDARD
========================================================== */

.azs-cases {
  position: relative;
}

.azs-cases__intro {
  max-width: 860px;
  margin: 0 auto 34px;
  text-align: center;
}

.azs-cases__title {
  margin: 0 0 18px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-cases__lead {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.8;
  color: var(--az-text-dark);
}

.azs-cases__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.azs-case-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--az-white);
  border: 1px solid var(--az-border-light);
  border-radius: 20px;
  box-shadow: var(--az-shadow-soft);
  overflow: hidden;
}

.azs-case-card__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 26px 24px 24px;
}

.azs-case-card__eyebrow {
  display: inline-block;
  margin: 0 0 14px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(29, 63, 114, 0.08);
  color: var(--az-primary);
  font-family: var(--az-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.azs-case-card__title {
  margin: 0 0 12px;
  font-family: var(--az-font-heading);
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.28;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-case-card__text {
  margin: 0 0 18px;
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.76;
  color: #3f4b57;
}

.azs-case-card__text p {
  margin: 0 0 14px;
}

.azs-case-card__text p:last-child {
  margin-bottom: 0;
}

.azs-case-card__text strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-case-card__meta {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--az-border-light);
  font-family: var(--az-font-body);
  font-size: 14px;
  line-height: 1.65;
  color: #586474;
}

.azs-case-card__meta strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-cases__note {
  max-width: 920px;
  margin: 34px auto 0;
  padding: 22px 24px;
  border-radius: 18px;
  border: 1px solid rgba(29, 63, 114, 0.12);
  border-left: 4px solid var(--az-primary);
  background: rgba(29, 63, 114, 0.04);
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--az-text-dark);
}

.azs-cases__note strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-section--dark .azs-cases__title,
.azs-section--dark .azs-cases__lead {
  color: var(--az-white);
}

.azs-section--dark .azs-case-card {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

.azs-section--dark .azs-case-card__eyebrow {
  background: rgba(255, 255, 255, 0.10);
  color: var(--az-white);
}

.azs-section--dark .azs-case-card__title,
.azs-section--dark .azs-case-card__text,
.azs-section--dark .azs-case-card__text strong,
.azs-section--dark .azs-case-card__meta,
.azs-section--dark .azs-case-card__meta strong {
  color: var(--az-white);
}

.azs-section--dark .azs-case-card__meta {
  border-top-color: rgba(255, 255, 255, 0.14);
}

.azs-section--dark .azs-cases__note {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  border-left-color: #8fb4ff;
  color: var(--az-white);
}

.azs-section--dark .azs-cases__note strong {
  color: var(--az-white);
}


/* ==========================================================
   19. AZS WARNING v1 – PREMIUM STANDARD
========================================================== */

.azs-warning {
  position: relative;
}

.azs-warning__shell {
  max-width: 980px;
  margin: 0 auto;
  padding: 28px 26px 24px;
  border-radius: 22px;
  border: 1px solid rgba(198, 40, 40, 0.18);
  border-left: 6px solid var(--az-secondary);
  background: linear-gradient(180deg, #fffafa 0%, #ffffff 100%);
  box-shadow: 0 12px 30px rgba(10, 34, 64, 0.06);
}

.azs-warning__top {
  margin-bottom: 12px;
}

.azs-warning__eyebrow {
  display: inline-block;
  margin: 0;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(198, 40, 40, 0.10);
  color: var(--az-secondary);
  font-family: var(--az-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.azs-warning__title {
  margin: 0 0 14px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 34px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-text-dark);
}

.azs-warning__text {
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.76;
  color: var(--az-text-dark);
}

.azs-warning__text p {
  margin: 0 0 16px;
}

.azs-warning__text p:last-child {
  margin-bottom: 0;
}

.azs-warning__text strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-warning__list {
  margin-top: 22px;
}

.azs-warning__actions {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.azs-warning--info .azs-warning__shell {
  border-color: rgba(29, 63, 114, 0.14);
  border-left-color: var(--az-primary);
  background: rgba(29, 63, 114, 0.04);
}

.azs-warning--info .azs-warning__eyebrow {
  background: rgba(29, 63, 114, 0.08);
  color: var(--az-primary);
}

.azs-section--dark .azs-warning__shell {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  border-left-color: #ff9a9a;
  box-shadow: none;
}

.azs-section--dark .azs-warning--info .azs-warning__shell {
  border-left-color: #8fb4ff;
}

.azs-section--dark .azs-warning__eyebrow {
  background: rgba(255, 138, 138, 0.14);
  color: #ffd1d1;
}

.azs-section--dark .azs-warning--info .azs-warning__eyebrow {
  background: rgba(255, 255, 255, 0.10);
  color: var(--az-white);
}

.azs-section--dark .azs-warning__title,
.azs-section--dark .azs-warning__text,
.azs-section--dark .azs-warning__text strong {
  color: var(--az-white);
}


/* ==========================================================
   20. AZS STATS v1 – PREMIUM STANDARD
========================================================== */

.azs-stats {
  position: relative;
}

.azs-stats__intro {
  max-width: 860px;
  margin: 0 auto 34px;
  text-align: center;
}

.azs-stats__title {
  margin: 0 0 18px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-stats__lead {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 18px;
  line-height: 1.8;
  color: var(--az-text-dark);
}

.azs-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.azs-stat-card {
  height: 100%;
  background: var(--az-white);
  border: 1px solid var(--az-border-light);
  border-radius: 20px;
  box-shadow: var(--az-shadow-soft);
  text-align: center;
}

.azs-stat-card__inner {
  padding: 26px 18px 24px;
}

.azs-stat-card__value {
  margin: 0 0 10px;
  font-family: var(--az-font-heading);
  font-size: clamp(32px, 3vw, 42px);
  line-height: 1.05;
  font-weight: 600;
  color: var(--az-secondary);
}

.azs-stat-card__title {
  margin: 0 0 8px;
  font-family: var(--az-font-heading);
  font-size: 21px;
  line-height: 1.28;
  font-weight: 600;
  color: var(--az-primary);
}

.azs-stat-card__text {
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 14px;
  line-height: 1.62;
  color: #586474;
}

.azs-stat-card__text strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-section--dark .azs-stats__title,
.azs-section--dark .azs-stats__lead {
  color: var(--az-white);
}

.azs-section--dark .azs-stat-card {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

.azs-section--dark .azs-stat-card__value {
  color: #ffd1d1;
}

.azs-section--dark .azs-stat-card__title,
.azs-section--dark .azs-stat-card__text,
.azs-section--dark .azs-stat-card__text strong {
  color: var(--az-white);
}


/* ==========================================================
   21. AZS MEDIA v1 – PREMIUM STANDARD
========================================================== */

.azs-media {
  position: relative;
}

.azs-media__shell {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(0, 1fr);
  gap: 28px;
  align-items: center;
}

.azs-media--reverse .azs-media__shell {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr);
}

.azs-media--reverse .azs-media__visual {
  order: 2;
}

.azs-media--reverse .azs-media__content {
  order: 1;
}

.azs-media__visual img {
  display: block;
  width: 100%;
  border-radius: 22px;
  box-shadow: var(--az-shadow-soft);
  object-fit: cover;
}

.azs-media__content {
  min-width: 0;
}

.azs-media__top {
  margin-bottom: 12px;
}


.azs-media__title {
  margin: 0 0 16px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.24;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azs-media__text {
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.78;
  color: var(--az-text-dark);
}

.azs-media__text p {
  margin: 0 0 18px;
}

.azs-media__text p:last-child {
  margin-bottom: 0;
}

.azs-media__text strong {
  font-weight: 700;
  color: var(--az-text-dark);
}

.azs-media__list {
  margin-top: 24px;
}

.azs-media__actions {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.azs-section--dark .azs-media__title,
.azs-section--dark .azs-media__text,
.azs-section--dark .azs-media__text strong {
  color: var(--az-white);
}

.azs-section--dark .azs-media__visual img {
  box-shadow: none;
}

/* ==========================================================
   21A. AZ DOC / DOCUMENT LAYOUT – PREMIUM STANDARD
   Bruges til: forretningsbetingelser, handelsbetingelser,
   persondatapolitik, garantivilkår, servicevilkår mv.
========================================================== */

.azdoc-shell{
  background: var(--az-white);
  border: 1px solid rgba(29, 63, 114, 0.10);
  border-radius: 22px;
  box-shadow: 0 12px 34px rgba(10, 34, 64, 0.08);
  padding: 34px 28px;
}

.azdoc-header{
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--az-border-light);
}

.azdoc-kicker{
  margin: 0 0 8px;
  font-family: var(--az-font-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--az-primary);
}

.azdoc-title{
  margin: 0 0 10px;
  font-family: var(--az-font-heading);
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azdoc-lead{
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.72;
  color: var(--az-text-dark);
}

.azdoc-meta{
  display: grid;
  gap: 6px;
  margin: 0 0 40px;
  padding: 18px 20px;
  border-radius: 16px;
  background: rgba(29, 63, 114, 0.04);
  border: 1px solid rgba(29, 63, 114, 0.10);
}

.azdoc-meta p{
  margin: 0;
  font-family: var(--az-font-body);
  font-size: 15px;
  line-height: 1.65;
  color: var(--az-text-dark);
}

.azdoc-meta strong{
  color: var(--az-text-dark);
  font-weight: 700;
}

.azdoc-toc{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 28px;
}

.azdoc-toc a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--az-white);
  border: 1px solid rgba(29, 63, 114, 0.12);
  color: var(--az-primary);
  font-family: var(--az-font-body);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition:
    background-color 0.16s ease,
    border-color 0.16s ease,
    color 0.16s ease,
    transform 0.16s ease;
}

.azdoc-toc a:hover,
.azdoc-toc a:focus{
  background: rgba(29, 63, 114, 0.04);
  border-color: var(--az-primary);
  color: var(--az-primary);
  text-decoration: none;
  transform: translateY(-1px);
}

.azdoc-section{
  scroll-margin-top: 110px;
}

.azdoc-section + .azdoc-section{
  margin-top: 30px;
}

.azdoc-section h2:first-child,
.azdoc-section h3:first-child,
.azdoc-section h4:first-child{
  margin-top: 0;
}

.azdoc-h3,
.azdoc-shell h2{
  margin: 0 0 14px;
  font-family: var(--az-font-heading);
  font-size: clamp(24px, 2.5vw, 30px);
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--az-primary);
}

.azdoc-h4,
.azdoc-shell h3{
  margin: 0 0 12px;
  font-family: var(--az-font-heading);
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.3;
  font-weight: 600;
  color: var(--az-text-dark);
}

.azdoc-shell h4{
  margin: 0 0 10px;
  font-family: var(--az-font-heading);
  font-size: 18px;
  line-height: 1.35;
  font-weight: 600;
  color: var(--az-text-dark);
}

.azdoc-shell p{
  margin: 0 0 16px;
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.78;
  color: var(--az-text-dark);
}

.azdoc-shell p:last-child{
  margin-bottom: 0;
}

.azdoc-shell strong{
  font-weight: 700;
  color: var(--az-text-dark);
}

.azdoc-shell a{
  color: var(--az-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.azdoc-shell a:hover,
.azdoc-shell a:focus{
  color: var(--az-secondary);
}

.azdoc-shell ul,
.azdoc-shell ol{
  margin: 0 0 18px 22px;
  padding: 0;
}

.azdoc-shell li{
  margin: 0 0 10px;
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.72;
  color: var(--az-text-dark);
}

.azdoc-shell li:last-child{
  margin-bottom: 0;
}

.azdoc-note,
.azdoc-highlight{
  margin: 18px 0 22px;
  padding: 18px 18px;
  border-radius: 16px;
  border: 1px solid rgba(29, 63, 114, 0.12);
  font-family: var(--az-font-body);
  font-size: 16px;
  line-height: 1.72;
  color: var(--az-text-dark);
}

.azdoc-note{
  background: rgba(29, 63, 114, 0.04);
}

.azdoc-highlight{
  background: #fffafa;
  border-left: 4px solid var(--az-secondary);
}

.azdoc-note strong,
.azdoc-highlight strong{
  color: var(--az-text-dark);
}

.azdoc-highlight ul,
.azdoc-highlight ol{
  margin-top: 12px;
}

.azdoc-divider{
  height: 1px;
  margin: 28px 0;
  background: var(--az-border-light);
}

.azdoc-footer-note{
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--az-border-light);
  font-family: var(--az-font-body);
  font-size: 15px;
  line-height: 1.66;
  color: #586474;
}

/* ==========================================================
   21B. AZ SUBMENU v2.2 – SPECIES NAV PREMIUM
   Bruges til: "Læs mere om [skadedyr]"

   Placering:
   - Lægges i az-sections-v1.css efter 21A. AZ DOC
   - Tablet-regler lægges under 22.13
   - Mobile-regler lægges under 23.26
   - Touch-regler lægges under 24. TOUCH / NO-HOVER SAFETY

   Formål:
   - Premium standard for arts-/klyngenavigation
   - Erstatter gradvist gammel az-submenu styling
   - Bruges med eksisterende HTML:
     <nav class="az-submenu az-submenu--species" data-icon="...">
========================================================== */

.az-submenu.az-submenu--species {
  position: relative;
  padding: 76px 0 70px;
  background:
    radial-gradient(circle at 50% 0%, rgba(29, 63, 114, 0.10) 0%, rgba(29, 63, 114, 0.035) 30%, rgba(255, 255, 255, 0) 64%),
    linear-gradient(180deg, #f8fafc 0%, #ffffff 74%);
  overflow: hidden;
  border-top: 1px solid rgba(29, 63, 114, 0.08);
  border-bottom: 1px solid rgba(29, 63, 114, 0.08);
}

.az-submenu.az-submenu--species::before {
  content: "";
  position: absolute;
  top: 34px;
  bottom: 34px;
  left: max(18px, calc((100vw - 1180px) / 2));
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--az-secondary) 0%, var(--az-primary) 100%);
  opacity: 0.9;
}

.az-submenu.az-submenu--species::after {
  content: "";
  position: absolute;
  top: 24px;
  left: 50%;
  width: 560px;
  height: 560px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgba(29, 63, 114, 0.032);
  filter: blur(18px);
  pointer-events: none;
}

.az-submenu.az-submenu--species .az-container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 24px;
}

.az-submenu.az-submenu--species .az-submenu-title {
  max-width: 840px;
  margin: 0 auto 18px;
  font-family: var(--az-font-heading);
  font-size: clamp(34px, 3.4vw, 46px);
  line-height: 1.14;
  font-weight: 600;
  letter-spacing: -0.018em;
  color: var(--az-primary);
  text-align: center;
}

.az-submenu.az-submenu--species[data-icon] .az-submenu-title::before {
  content: "Læs mere";
  display: table;
  margin: 0 auto 14px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(29, 63, 114, 0.08);
  color: var(--az-primary);
  font-family: var(--az-font-body);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  box-shadow: 0 6px 16px rgba(10, 34, 64, 0.04);
}

.az-submenu.az-submenu--species .az-submenu-intro {
  max-width: 780px;
  margin: 0 auto 30px;
  font-family: var(--az-font-body);
  font-size: 17px;
  line-height: 1.78;
  color: #2d3746;
  text-align: center;
}

.az-submenu.az-submenu--species .az-submenu-intro strong {
  font-weight: 800;
  color: var(--az-text-dark);
}

/* Primær linkliste */
.az-submenu.az-submenu--species .az-submenu-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 0;
  padding: 0;
}

.az-submenu.az-submenu--species > .az-container > .az-submenu-list {
  max-width: 840px;
  margin: 0 auto 34px;
}

.az-submenu.az-submenu--species .az-submenu-list li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.az-submenu.az-submenu--species .az-submenu-list a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid rgba(29, 63, 114, 0.13);
  background: rgba(255, 255, 255, 0.88);
  color: var(--az-primary);
  font-family: var(--az-font-body);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(10, 34, 64, 0.055);
  backdrop-filter: blur(8px);
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    background-color 0.16s ease,
    border-color 0.16s ease,
    color 0.16s ease;
}

.az-submenu.az-submenu--species .az-submenu-list a::after {
  content: "›";
  font-size: 19px;
  line-height: 1;
  font-weight: 800;
  opacity: 0.58;
  transform: translateY(-1px);
}

.az-submenu.az-submenu--species .az-submenu-list a:hover,
.az-submenu.az-submenu--species .az-submenu-list a:focus {
  background: var(--az-white);
  border-color: rgba(198, 40, 40, 0.28);
  color: var(--az-secondary);
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(10, 34, 64, 0.10);
}

.az-submenu.az-submenu--species .az-submenu-list a.current,
.az-submenu.az-submenu--species .az-submenu-list a[aria-current="page"] {
  background: var(--az-primary);
  border-color: var(--az-primary);
  color: var(--az-white);
  box-shadow: 0 14px 30px rgba(29, 63, 114, 0.18);
}

.az-submenu.az-submenu--species .az-submenu-list a.current::after,
.az-submenu.az-submenu--species .az-submenu-list a[aria-current="page"]::after {
  opacity: 0.9;
}

.az-submenu.az-submenu--species .az-submenu-list a.current:hover,
.az-submenu.az-submenu--species .az-submenu-list a.current:focus,
.az-submenu.az-submenu--species .az-submenu-list a[aria-current="page"]:hover,
.az-submenu.az-submenu--species .az-submenu-list a[aria-current="page"]:focus {
  background: #153058;
  border-color: #153058;
  color: var(--az-white);
}

/* Relaterede sider + blogbokse */
.az-submenu.az-submenu--species .az-submenu-blog {
  max-width: 880px;
  margin: 30px auto 0;
  padding: 30px 34px;
  border-radius: 24px;
  border: 1px solid rgba(29, 63, 114, 0.10);
  background: linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(255,255,255,0.99) 100%);
  box-shadow: 0 18px 44px rgba(10, 34, 64, 0.075);
}

.az-submenu.az-submenu--species .az-submenu-blog-title {
  max-width: 780px;
  margin: 0 auto 22px;
  font-family: var(--az-font-heading);
  font-size: clamp(26px, 2.5vw, 34px);
  line-height: 1.22;
  font-weight: 600;
  letter-spacing: -0.012em;
  color: var(--az-primary);
  text-align: center;
}

.az-submenu.az-submenu--species .az-submenu-blog .az-submenu-list {
  justify-content: center;
}

/* Blog shortcode wrapper */
.az-submenu.az-submenu--species .az-submenu-blog-grid {
  max-width: 720px;
  margin: 0 auto;
}

.az-submenu.az-submenu--species .az-submenu-blog-grid > * {
  max-width: 100%;
}

.az-submenu.az-submenu--species .az-submenu-blog-grid a {
  text-decoration: none;
}

/* Footer CTA */
.az-submenu.az-submenu--species .az-submenu-footer {
  margin-top: 36px;
  display: flex;
  justify-content: center;
}

.az-submenu.az-submenu--species .az-back-btn,
.az-submenu.az-submenu--species .az-back-btn:link,
.az-submenu.az-submenu--species .az-back-btn:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 54px;
  padding: 13px 30px;
  border-radius: 999px;
  border: 1px solid rgba(198, 40, 40, 0.92);
  background: linear-gradient(180deg, var(--az-secondary) 0%, #b82121 100%);
  color: var(--az-white);
  font-family: var(--az-font-body);
  font-size: 16px;
  font-weight: 850;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(198, 40, 40, 0.20);
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    background-color 0.16s ease,
    border-color 0.16s ease,
    color 0.16s ease;
}

.az-submenu.az-submenu--species .az-back-btn::after {
  content: "→";
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
}

.az-submenu.az-submenu--species .az-back-btn:hover,
.az-submenu.az-submenu--species .az-back-btn:focus {
  background: linear-gradient(180deg, #b82121 0%, #a91d1d 100%);
  border-color: #a91d1d;
  color: var(--az-white);
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(198, 40, 40, 0.24);
}

/* Variationer pr. art */
.az-submenu.az-submenu--species[data-icon="hvepse"]::before,
.az-submenu.az-submenu--species[data-icon="myrer"]::before,
.az-submenu.az-submenu--species[data-icon="skaegkrae"]::before,
.az-submenu.az-submenu--species[data-icon="skægkræ"]::before {
  background: linear-gradient(180deg, var(--az-secondary) 0%, var(--az-primary) 100%);
}

.az-submenu.az-submenu--species[data-icon="maar"]::before,
.az-submenu.az-submenu--species[data-icon="mår"]::before,
.az-submenu.az-submenu--species[data-icon="borebiller"]::before {
  background: linear-gradient(180deg, var(--az-primary) 0%, var(--az-secondary) 100%);
}

/* ==========================================================
   22. RESPONSIVE – TABLET (<= 980px)
   Opdelt pr. sektions-type for nem vedligeholdelse
========================================================== */

@media (max-width: 980px) {

  /* ----------------------------------------------------------
     22.1 BASE
  ---------------------------------------------------------- */
  .azs-section {
    padding: 64px 0;
  }

  .azs-checklist li {
    font-size: 17px;
  }

  .azs-btn,
  .azs-btn:link,
  .azs-btn:visited {
    min-height: 50px;
  }

  /* ----------------------------------------------------------
     22.2 INTRO
  ---------------------------------------------------------- */
  .azs-intro__title {
    margin-bottom: 20px;
    font-size: clamp(27px, 4vw, 34px);
  }

  .azs-intro__content p {
    font-size: 17px;
    line-height: 1.78;
  }

  .azs-intro__lead {
    font-size: 18px;
  }

  .azs-intro__closing {
    font-size: 19px;
  }

 

  
  /* ----------------------------------------------------------
     22.3 SECTION INTROS / HEADINGS
  ---------------------------------------------------------- */
  .azs-signs__intro,
  .azs-why__intro,
  .azs-process__intro,
  .azs-diy__intro,
  .azs-trust__intro,
  .azs-services__intro,
  .azs-coverage__intro,
  .azs-price__intro,
  .azs-compare__intro,
  .azs-cases__intro,
  .azs-stats__intro,
  .azs-pests__intro {
    margin-bottom: 30px;
  }

  .azs-faq__intro {
    margin-bottom: 24px;
  }

  .azs-signs__title,
  .azs-why__title,
  .azs-process__title,
  .azs-diy__title,
  .azs-form__title,
  .azs-info__title,
  .azs-trust__title,
  .azs-services__title,
  .azs-coverage__title,
  .azs-price__title,
  .azs-compare__title,
  .azs-cases__title,
  .azs-stats__title,
  .azs-media__title,
  .azs-warning__title,
  .azs-pests__title {
    font-size: clamp(26px, 4vw, 34px);
  }

  .azs-faq__title {
    font-size: clamp(26px, 3.6vw, 32px);
    line-height: 1.2;
  }

  .azs-signs__lead,
  .azs-why__lead,
  .azs-process__lead,
  .azs-diy__lead,
  .azs-form__text,
  .azs-info__content p,
  .azs-trust__lead,
  .azs-services__lead,
  .azs-coverage__lead,
  .azs-price__lead,
  .azs-compare__lead,
  .azs-cases__lead,
  .azs-stats__lead,
  .azs-media__text,
  .azs-warning__text,
  .azs-pests__lead {
    font-size: 17px;
  }

  .azs-faq__lead {
    font-size: 16px;
    line-height: 1.66;
  }

  /* ----------------------------------------------------------
     22.4 SIGNS / WHY / PROCESS / DIY / COMPARE / CASES
  ---------------------------------------------------------- */
  .azs-signs__grid,
  .azs-why__grid,
  .azs-process__grid,
  .azs-diy__grid,
  .azs-compare__grid,
  .azs-cases__grid {
    gap: 22px;
  }

  .azs-sign-card__inner,
  .azs-why-card__inner,
  .azs-process-step__inner,
  .azs-diy-card__inner,
  .azs-compare-card__inner,
  .azs-case-card__inner {
    padding: 24px 22px 22px;
  }

  .azs-sign-card__title {
    max-width: 90%;
    font-size: clamp(22px, 2.4vw, 28px);
  }

  .azs-sign-card__text,
  .azs-faq-item__body p,
  .azs-why-card__text,
  .azs-process-step__text,
  .azs-diy-card__text,
  .azs-compare-card__text,
  .azs-case-card__text {
    font-size: 16px;
    line-height: 1.72;
  }

  .azs-why-card__title,
  .azs-process-step__title,
  .azs-diy-card__title,
  .azs-compare-card__title,
  .azs-case-card__title {
    font-size: clamp(21px, 2.2vw, 26px);
  }

  .azs-signs__note,
  .azs-signs__actions {
    margin-top: 30px;
  }

  .azs-signs__actions {
    margin-top: 32px;
  }

  /* ----------------------------------------------------------
     22.5 FAQ
  ---------------------------------------------------------- */
  .azs-faq-item summary {
    font-size: clamp(20px, 1.9vw, 23px);
    line-height: 1.34;
  }

  .azs-faq-item__body p {
    font-size: 16px;
    line-height: 1.72;
  }

  .azs-faq--compact .azs-faq__intro {
    margin-bottom: 20px;
  }

  .azs-faq--compact .azs-faq-item summary {
    padding: 17px 54px 17px 20px;
    font-size: clamp(18px, 1.6vw, 21px);
  }

  /* ----------------------------------------------------------
     22.6 PESTS / TRUST / SERVICES / COVERAGE / PRICE
  ---------------------------------------------------------- */
  .azs-pests__grid,
  .azs-trust__grid,
  .azs-services__grid,
  .azs-price__grid, 
  .azs-audience__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .azs-trust__grid,
  .azs-services__grid,
  .azs-price__grid,
  .azs-trust__quotes,
  .azs-coverage__grid, 
  .azs-audience__grid {
    gap: 22px;
  }

  /* ----------------------------------------------------------
     22.7 FORM
  ---------------------------------------------------------- */
  .azs-form__shell {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .azs-form__content {
    padding: 28px 24px;
  }

  .azs-form__intro {
  margin-bottom: 24px;
}

.azs-form__intro-title {
  font-size: clamp(26px, 3.6vw, 32px);
  line-height: 1.2;
}

.azs-form__intro-lead {
  font-size: 16px;
  line-height: 1.66;
}

.azs-form__content-title {
  font-size: clamp(21px, 2vw, 26px);
}
  
  
  /* ----------------------------------------------------------
     22.8 INFO
  ---------------------------------------------------------- */
  .azs-info__content li {
    font-size: 16px;
    line-height: 1.7;
  }

  /* ----------------------------------------------------------
     22.9 WARNING
  ---------------------------------------------------------- */
  .azs-warning__shell {
    padding: 24px 22px 20px;
  }

  /* ----------------------------------------------------------
     22.10 STATS
  ---------------------------------------------------------- */
  .azs-stats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* ----------------------------------------------------------
     22.11 MEDIA
  ---------------------------------------------------------- */
  .azs-media__shell,
  .azs-media--reverse .azs-media__shell {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .azs-media--reverse .azs-media__visual,
  .azs-media--reverse .azs-media__content {
    order: initial;
  }
}

/* ==========================================================
   22.12 DOCUMENT – TABLET (<= 980px)
========================================================== */

@media (max-width: 980px){

  .azdoc-shell{
    padding: 28px 22px;
  }

  .azdoc-header{
    margin-bottom: 22px;
    padding-bottom: 16px;
  }

  .azdoc-title{
    font-size: clamp(26px, 4vw, 32px);
  }

  .azdoc-lead{
    font-size: 16px;
    line-height: 1.68;
  }

  .azdoc-meta{
    margin-bottom: 24px;
    padding: 16px 18px;
  }

  .azdoc-h3,
  .azdoc-shell h2{
    font-size: clamp(23px, 2.6vw, 28px);
  }

  .azdoc-h4,
  .azdoc-shell h3{
    font-size: clamp(19px, 2vw, 22px);
  }

  .azdoc-shell p{
    font-size: 16px;
    line-height: 1.74;
  }

  .azdoc-shell li,
  .azdoc-note,
  .azdoc-highlight{
    font-size: 15px;
    line-height: 1.68;
  }
}

/* ==========================================================
   22.13 SUBMENU / SPECIES NAV – TABLET (<= 980px)
========================================================== */

@media (max-width: 980px){

  .az-submenu.az-submenu--species {
    padding: 66px 0 62px;
  }

  .az-submenu.az-submenu--species .az-container {
    padding: 0 20px;
  }

  .az-submenu.az-submenu--species .az-submenu-title {
    font-size: clamp(30px, 4.2vw, 38px);
  }

  .az-submenu.az-submenu--species .az-submenu-intro {
    max-width: 720px;
    margin-bottom: 28px;
    font-size: 16px;
    line-height: 1.76;
  }

  .az-submenu.az-submenu--species > .az-container > .az-submenu-list {
    margin-bottom: 30px;
  }

  .az-submenu.az-submenu--species .az-submenu-list {
    gap: 10px;
  }

  .az-submenu.az-submenu--species .az-submenu-list a {
    min-height: 44px;
    padding: 9px 14px;
    font-size: 14px;
  }

  .az-submenu.az-submenu--species .az-submenu-blog {
    max-width: 860px;
    margin-top: 28px;
    padding: 28px 26px;
    border-radius: 22px;
  }

  .az-submenu.az-submenu--species .az-submenu-blog-title {
    font-size: clamp(22px, 2.6vw, 28px);
  }

  .az-submenu.az-submenu--species .az-submenu-footer {
    margin-top: 30px;
  }
}

/* ==========================================================
   23. RESPONSIVE – MOBILE (<= 767px)
   Opdelt pr. sektions-type for nem vedligeholdelse
========================================================== */

@media (max-width: 767px) {

  /* ----------------------------------------------------------
     23.1 BASE
  ---------------------------------------------------------- */
  .azs-section {
    padding: 52px 0;
  }

  .azs-container {
    padding: 0 16px;
  }

 .azs-grid-2,
.azs-grid-3,
.azs-grid-4 {
  grid-template-columns: 1fr;
}

  .azs-btn,
  .azs-btn:link,
  .azs-btn:visited {
    width: 100%;
  }

  /* ----------------------------------------------------------
     23.2 EYEBROWS / LABELS
  ---------------------------------------------------------- */
  .azs-intro__top,
  .azs-form__top {
    margin-bottom: 10px;
  }

  .azs-eyebrow,
.azs-diy-card__label,
.azs-coverage-card__badge,
.azs-coverage-card__chip {
  padding: 5px 10px;
  font-size: 11px;
}

  /* ----------------------------------------------------------
     23.3 TITLER
  ---------------------------------------------------------- */
  .azs-intro__title,
  .azs-signs__title,
  .azs-why__title,
  .azs-process__title,
  .azs-diy__title,
  .azs-form__title,
  .azs-info__title,
  .azs-trust__title,
  .azs-services__title,
  .azs-coverage__title,
  .azs-price__title,
  .azs-compare__title,
  .azs-cases__title,
  .azs-warning__title,
  .azs-stats__title,
  .azs-media__title,
  .azs-pests__title {
    margin-bottom: 14px;
    font-size: clamp(24px, 7vw, 30px);
    line-height: 1.26;
  }

  .azs-intro__title {
    margin-bottom: 18px;
    font-size: clamp(24px, 7.4vw, 31px);
  }

  .azs-faq__title {
    margin-bottom: 10px;
    font-size: clamp(24px, 6.6vw, 30px);
    line-height: 1.22;
  }

  /* ----------------------------------------------------------
     23.4 BRØDTEKST / LEADS
  ---------------------------------------------------------- */
  .azs-intro__content p,
  .azs-signs__lead,
  .azs-why__lead,
  .azs-process__lead,
  .azs-diy__lead,
  .azs-form__text,
  .azs-info__content p,
  .azs-trust__lead,
  .azs-services__lead,
  .azs-coverage__lead,
  .azs-price__lead,
  .azs-compare__lead,
  .azs-cases__lead,
  .azs-warning__text,
  .azs-stats__lead,
  .azs-media__text,
  .azs-pests__lead {
    font-size: 16px;
    line-height: 1.72;
  }

  .azs-faq__lead {
    font-size: 15px;
    line-height: 1.65;
  }

  /* ----------------------------------------------------------
     23.5 INTRO
  ---------------------------------------------------------- */
  .azs-intro__content p {
    margin-bottom: 18px;
  }

  .azs-intro__lead {
    font-size: 17px;
  }

  .azs-intro__list {
    margin-top: 28px;
  }

  .azs-intro__closing {
    margin-top: 28px;
    padding-top: 20px;
    font-size: 17px;
    line-height: 1.58;
  }

  /* ----------------------------------------------------------
     23.6 SECTION INTROS
  ---------------------------------------------------------- */
  .azs-signs__intro,
  .azs-trust__intro,
  .azs-services__intro,
  .azs-coverage__intro,
  .azs-price__intro,
  .azs-compare__intro,
  .azs-cases__intro,
  .azs-stats__intro,
  .azs-diy__intro,
  .azs-why__intro,
  .azs-process__intro,
  .azs-pests__intro {
    margin-bottom: 24px;
    text-align: left;
  }

  .azs-faq__intro {
    margin-bottom: 20px;
    text-align: left;
  }

  .azs-signs__cta-text {
    margin-bottom: 12px;
    font-size: 15px;
    text-align: left;
  }

  /* ----------------------------------------------------------
     23.7 GRIDS – 1 KOLONNE
  ---------------------------------------------------------- */
  .azs-signs__grid,
  .azs-why__grid,
  .azs-process__grid,
  .azs-diy__grid,
  .azs-trust__grid,
  .azs-trust__quotes,
  .azs-services__grid,
  .azs-coverage__grid,
  .azs-price__grid,
  .azs-compare__grid,
  .azs-cases__grid,
  .azs-stats__grid,
  .azs-pests__grid, 
  .azs-audience__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  /* ----------------------------------------------------------
     23.8 CARD PADDINGS
  ---------------------------------------------------------- */
  .azs-sign-card__inner,
  .azs-why-card__inner,
  .azs-process-step__inner,
  .azs-diy-card__inner,
  .azs-trust-card__inner,
  .azs-service-card__inner,
  .azs-coverage-card__inner,
  .azs-price-card__inner,
  .azs-compare-card__inner,
  .azs-case-card__inner {
    padding: 20px 18px 18px;
  }

  /* ----------------------------------------------------------
     23.9 CARD TITLER
  ---------------------------------------------------------- */
  .azs-sign-card__title,
  .azs-why-card__title,
  .azs-process-step__title,
  .azs-diy-card__title,
  .azs-trust-card__title,
  .azs-service-card__title,
  .azs-coverage-card__title,
  .azs-price-card__title,
  .azs-compare-card__title,
  .azs-case-card__title {
    max-width: 100%;
    margin-bottom: 10px;
    font-size: 24px;
    line-height: 1.28;
  }

  /* ----------------------------------------------------------
     23.10 CARD BRØDTEKST
  ---------------------------------------------------------- */
  .azs-sign-card__text,
  .azs-why-card__text,
  .azs-process-step__text,
  .azs-diy-card__text,
  .azs-trust-card__text,
  .azs-service-card__text,
  .azs-coverage-card__text,
  .azs-price-card__text,
  .azs-compare-card__text,
  .azs-case-card__text,
  .azs-faq-item__body p {
    font-size: 15px;
    line-height: 1.68;
  }

  /* ----------------------------------------------------------
   23.10A AUDIENCE / KUNDETYPER
---------------------------------------------------------- */
.azs-audience .azs-services__intro {
  margin-bottom: 24px;
  text-align: left;
}

.azs-audience-card {
  padding: 20px 18px 18px;
  border-radius: 20px;
}

.azs-audience-card__icon {
  width: 40px;
  height: 40px;
  margin-bottom: 14px;
  font-size: 18px;
}

.azs-audience-card__title {
  margin-bottom: 10px;
  font-size: 23px;
  line-height: 1.28;
}

.azs-audience-card__text {
  font-size: 15px;
  line-height: 1.68;
}

.azs-audience__note {
  margin-top: 22px;
  padding: 16px;
  font-size: 15px;
  line-height: 1.65;
  text-align: left;
}
  
  /* ----------------------------------------------------------
     23.11 NOTES / BOXES
  ---------------------------------------------------------- */
  .azs-signs__media {
    margin-bottom: 22px;
  }

  .azs-signs__note,
  .azs-why__note,
  .azs-process__note,
  .azs-diy__note,
  .azs-info__box,
  .azs-price__note,
  .azs-compare__note,
  .azs-cases__note {
    margin-top: 22px;
    padding: 16px;
    font-size: 15px;
    line-height: 1.65;
  }

  /* ----------------------------------------------------------
     23.12 ACTIONS
  ---------------------------------------------------------- */
  .azs-signs__actions,
  .azs-form__actions,
  .azs-warning__actions,
  .azs-media__actions,
  .azs-coverage__actions {
    margin-top: 24px;
    align-items: stretch;
  }

  .azs-signs__actions .azs-btn,
  .azs-form__actions .azs-btn,
  .azs-warning__actions .azs-btn,
  .azs-media__actions .azs-btn,
  .azs-coverage__actions .azs-btn {
    width: 100%;
  }

  /* ----------------------------------------------------------
     23.13 PESTS
  ---------------------------------------------------------- */
  .azs-pest-card__content {
    padding: 18px 18px 20px;
  }

  .azs-pest-card h3 {
    font-size: 20px;
  }

  .azs-pest-card p {
    font-size: 15px;
    line-height: 1.65;
  }

  .azs-pests__actions {
    margin-top: 28px;
  }

  .azs-pests__actions .azs-btn {
    width: 100%;
    min-width: 0;
  }

  /* ----------------------------------------------------------
     23.14 FAQ
  ---------------------------------------------------------- */
  .azs-faq-item summary {
    padding: 18px 52px 18px 18px;
    font-size: 19px;
    line-height: 1.36;
  }

  .azs-faq-item summary::after {
    right: 16px;
    width: 26px;
    height: 26px;
    font-size: 20px;
    line-height: 26px;
  }

  .azs-faq-item__body {
    padding: 0 18px 18px;
  }

  /* ----------------------------------------------------------
     23.15 FORM
  ---------------------------------------------------------- */
  .azs-form__content {
    padding: 22px 18px;
  }

  .azs-form__box {
    padding: 18px;
  }

  .azs-form__box-title {
    font-size: 20px;
  }

  .azs-form__note {
    font-size: 14px;
    line-height: 1.62;
  }

  .azs-form-followup {
    margin-top: 26px;
    padding: 22px 18px;
    border-radius: 16px;
  }

  .azs-form-followup__title {
    margin-bottom: 16px;
    font-size: clamp(22px, 7vw, 28px);
    line-height: 1.24;
  }

  .azs-form-followup__step {
    margin-bottom: 18px;
  }

  .azs-form-followup__step strong {
    font-size: 17px;
  }

  .azs-form-followup__step p,
  .azs-form-followup__phone {
    font-size: 16px;
    line-height: 1.68;
  }

  .azs-form__intro {
  margin-bottom: 20px;
  text-align: left;
}

.azs-form__intro-title {
  margin-bottom: 10px;
  font-size: clamp(24px, 6.6vw, 30px);
  line-height: 1.22;
}

.azs-form__intro-lead {
  font-size: 15px;
  line-height: 1.65;
}

.azs-form__content-title {
  margin-bottom: 12px;
  font-size: 22px;
  line-height: 1.3;
}
  
  /* ----------------------------------------------------------
     23.16 INFO
  ---------------------------------------------------------- */
  .azs-info__top {
    margin-bottom: 18px;
  }

  .azs-info__content li {
    font-size: 15px;
    line-height: 1.65;
  }

  /* ----------------------------------------------------------
     23.17 PROCESS
  ---------------------------------------------------------- */
  .azs-process-step__no {
    width: 40px;
    height: 40px;
    margin-bottom: 14px;
    font-size: 17px;
  }

  /* ----------------------------------------------------------
     23.18 COVERAGE
  ---------------------------------------------------------- */
  .azs-coverage-card__top {
    gap: 8px;
    margin-bottom: 14px;
  }

  .azs-coverage-card__badge,
  .azs-coverage-card__chip {
    min-height: 32px;
    padding: 7px 12px;
    font-size: 12px;
  }

  .azs-coverage-card__list a {
    min-height: 38px;
    padding: 8px 12px;
    font-size: 13px;
  }

  .azs-coverage__cities {
    margin-top: 22px;
    padding: 16px;
    border-radius: 18px;
  }

  .azs-coverage__cities .azs-checklist li {
    font-size: 15px;
    line-height: 1.65;
  }

  .azs-coverage__note {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
  }

   .azs-chip-static,
  .azs-chip-static:link,
  .azs-chip-static:visited {
    min-height: 38px;
    padding: 8px 12px;
    font-size: 13px;
  }

  .azs-coverage__actions--static {
    justify-content: flex-start;
  }
  
  /* ----------------------------------------------------------
     23.19 PRICE
  ---------------------------------------------------------- */
  .azs-price-card__amount {
    font-size: 32px;
  }

  /* ----------------------------------------------------------
     23.20 COMPARE
  ---------------------------------------------------------- */
  .azs-compare__table th,
  .azs-compare__table td {
    padding: 14px 14px;
    font-size: 14px;
    line-height: 1.6;
  }

  /* ----------------------------------------------------------
     23.21 CASES
  ---------------------------------------------------------- */
  .azs-case-card__meta {
    font-size: 13px;
    line-height: 1.6;
  }

  /* ----------------------------------------------------------
     23.22 WARNING
  ---------------------------------------------------------- */
  .azs-warning__shell {
    padding: 18px 16px 16px;
    border-radius: 18px;
  }

  /* ----------------------------------------------------------
     23.23 STATS
  ---------------------------------------------------------- */
  .azs-stat-card__inner {
    padding: 22px 16px 20px;
  }

  .azs-stat-card__value {
    font-size: 34px;
  }

  .azs-stat-card__title {
    font-size: 20px;
  }

  .azs-stat-card__text {
    font-size: 13px;
    line-height: 1.56;
  }

  /* ----------------------------------------------------------
     23.24 MEDIA
  ---------------------------------------------------------- */
  .azs-media__shell {
    gap: 18px;
  }

  .azs-media__visual img {
    border-radius: 18px;
  }
}

/* ==========================================================
   23.25 DOCUMENT – MOBILE (<= 767px)
========================================================== */

@media (max-width: 767px){

  .azdoc-shell{
    padding: 24px 18px;
    border-radius: 18px;
  }

  .azdoc-header{
    margin-bottom: 20px;
    padding-bottom: 14px;
  }

  .azdoc-kicker{
    font-size: 11px;
  }

  .azdoc-title{
    margin-bottom: 8px;
    font-size: clamp(24px, 6.8vw, 30px);
    line-height: 1.22;
  }

  .azdoc-lead{
    font-size: 15px;
    line-height: 1.65;
  }

  .azdoc-meta{
    gap: 5px;
    margin-bottom: 22px;
    padding: 14px 14px;
    border-radius: 14px;
  }

  .azdoc-meta p{
    font-size: 14px;
    line-height: 1.58;
  }

  .azdoc-toc{
    gap: 8px;
    margin-bottom: 24px;
  }

  .azdoc-toc a{
    width: 100%;
    min-height: 38px;
    padding: 8px 12px;
    font-size: 13px;
  }

  .azdoc-section + .azdoc-section{
    margin-top: 24px;
  }

  .azdoc-h3,
  .azdoc-shell h2{
    margin-bottom: 12px;
    font-size: clamp(22px, 6vw, 26px);
    line-height: 1.26;
  }

  .azdoc-h4,
  .azdoc-shell h3{
    margin-bottom: 10px;
    font-size: 19px;
    line-height: 1.32;
  }

  .azdoc-shell h4{
    font-size: 17px;
  }

  .azdoc-shell p{
    margin-bottom: 14px;
    font-size: 15px;
    line-height: 1.7;
  }

  .azdoc-shell ul,
  .azdoc-shell ol{
    margin: 0 0 16px 18px;
  }

  .azdoc-shell li{
    font-size: 15px;
    line-height: 1.66;
  }

  .azdoc-note,
  .azdoc-highlight{
    margin: 16px 0 18px;
    padding: 14px 14px;
    border-radius: 14px;
    font-size: 15px;
    line-height: 1.66;
  }

  .azdoc-divider{
    margin: 22px 0;
  }

  .azdoc-footer-note{
    margin-top: 20px;
    padding-top: 16px;
    font-size: 14px;
    line-height: 1.6;
  }
}

/* ==========================================================
   23.26 SUBMENU / SPECIES NAV – MOBILE (<= 767px)
========================================================== */

@media (max-width: 767px){

  .az-submenu.az-submenu--species {
    padding: 54px 0 52px;
  }

  .az-submenu.az-submenu--species::before {
    top: 24px;
    bottom: 24px;
    left: 10px;
    width: 3px;
  }

  .az-submenu.az-submenu--species::after {
    width: 360px;
    height: 360px;
  }

  .az-submenu.az-submenu--species .az-container {
    padding: 0 16px;
  }

  .az-submenu.az-submenu--species[data-icon] .az-submenu-title::before {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 10px;
    padding: 5px 10px;
    font-size: 11px;
  }

  .az-submenu.az-submenu--species .az-submenu-title {
    margin-bottom: 14px;
    text-align: left;
    font-size: clamp(27px, 7vw, 32px);
    line-height: 1.24;
  }

  .az-submenu.az-submenu--species .az-submenu-intro {
    margin-bottom: 24px;
    text-align: left;
    font-size: 16px;
    line-height: 1.7;
  }

  .az-submenu.az-submenu--species > .az-container > .az-submenu-list {
    margin-bottom: 26px;
  }

  .az-submenu.az-submenu--species .az-submenu-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .az-submenu.az-submenu--species .az-submenu-list a {
    width: 100%;
    min-height: 44px;
    justify-content: flex-start;
    padding: 10px 14px;
    border-radius: 14px;
    font-size: 14px;
    line-height: 1.3;
  }

  .az-submenu.az-submenu--species .az-submenu-list a::after {
    margin-left: auto;
  }

  .az-submenu.az-submenu--species .az-submenu-list a.current,
  .az-submenu.az-submenu--species .az-submenu-list a[aria-current="page"] {
    justify-content: flex-start;
  }

  .az-submenu.az-submenu--species .az-submenu-blog {
    margin-top: 22px;
    padding: 22px 18px;
    border-radius: 20px;
  }

  .az-submenu.az-submenu--species .az-submenu-blog-title {
    margin-bottom: 14px;
    text-align: left;
    font-size: clamp(23px, 6.4vw, 28px);
    line-height: 1.26;
  }

  .az-submenu.az-submenu--species .az-submenu-footer {
    margin-top: 24px;
  }

  .az-submenu.az-submenu--species .az-back-btn,
  .az-submenu.az-submenu--species .az-back-btn:link,
  .az-submenu.az-submenu--species .az-back-btn:visited {
    width: 100%;
    min-height: 50px;
    padding: 12px 18px;
    font-size: 15px;
    text-align: center;
  }
}

/* ==========================================================
   24. TOUCH / NO-HOVER SAFETY
   Undgår "falsk hover" på mobil og touch-enheder
========================================================== */

@media (hover: none) {

  .azs-pest-card:hover,
  .azs-service-card:hover,
  .azs-coverage-card:hover {
    transform: none;
    box-shadow: 0 10px 28px rgba(10, 34, 64, 0.06);
    border-color: rgba(29, 63, 114, 0.10);
  }

  .azs-pest-card:hover::before,
  .azs-service-card:hover::before {
    opacity: 0;
  }

  .azs-pest-card:hover img {
    transform: none;
  }

  .azs-pest-card:hover h3,
  .azs-service-card:hover .azs-service-card__title,
  .azs-coverage-card:hover .azs-coverage-card__title {
    color: var(--az-primary);
  }

  .azs-pest-card:hover .azs-btn,
  .azs-service-card:hover .azs-btn {
    background: var(--az-white);
    border-color: rgba(29, 63, 114, 0.14);
    color: var(--az-primary);
    transform: none;
  }

  .azs-coverage-card__list a:hover,
  .azs-coverage-card__list a:focus {
    background: #fff;
    border-color: rgba(29, 63, 114, 0.12);
    color: var(--az-primary);
    transform: none;
  }
  
  .azs-audience-card:hover {
  transform: none;
  border-color: rgba(29, 63, 114, 0.12);
  box-shadow: 0 14px 34px rgba(10, 34, 64, 0.08);
}

  .az-submenu.az-submenu--species .az-submenu-list a:hover,
  .az-submenu.az-submenu--species .az-submenu-list a:focus {
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(29, 63, 114, 0.13);
    color: var(--az-primary);
    transform: none;
    box-shadow: 0 10px 24px rgba(10, 34, 64, 0.055);
  }

  .az-submenu.az-submenu--species .az-submenu-list a.current:hover,
  .az-submenu.az-submenu--species .az-submenu-list a.current:focus,
  .az-submenu.az-submenu--species .az-submenu-list a[aria-current="page"]:hover,
  .az-submenu.az-submenu--species .az-submenu-list a[aria-current="page"]:focus {
    background: var(--az-primary);
    border-color: var(--az-primary);
    color: var(--az-white);
  }

  .az-submenu.az-submenu--species .az-back-btn:hover,
  .az-submenu.az-submenu--species .az-back-btn:focus {
    background: linear-gradient(180deg, var(--az-secondary) 0%, #b82121 100%);
    border-color: rgba(198, 40, 40, 0.92);
    color: var(--az-white);
    transform: none;
    box-shadow: 0 16px 34px rgba(198, 40, 40, 0.20);
  }

}

