/* =========================================================
   AEDBF NAVIGATION + HEADER + WHO WE ARE CSS
   HTML + CSS only. No JavaScript required.
   Paste this into Yapla's custom CSS area.
   ========================================================= */

:root {
  --navy: #14235a;
  --navy-deep: #0c1840;
  --navy-mid: #1e3275;
  --gold: #e8c840;
  --gold-dark: #c9a820;
  --gold-pale: #f5e8a0;
  --white: #ffffff;
  --cream: #faf9f6;
  --light: #f2f1ed;
  --text: #1a2540;
  --muted: #6a7491;
  --border: #dddbd4;
}

/* Reset only inside the AEDBF page wrapper */
.aedbf-page,
.aedbf-page * {
  box-sizing: border-box;
}

.aedbf-page {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow-x: hidden;
  background: var(--cream);
  color: var(--text);
  font-family: 'DM Sans', Arial, sans-serif;
}

.aedbf-page a {
  text-decoration: none;
}

/* =========================================================
   1. NAVIGATION
========================================================= */

.aedbf-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  height: 80px !important;
  padding: 0 6vw !important;
  background: var(--navy-deep) !important;
  border-bottom: 1px solid rgba(232, 200, 64, 0.2);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Logo group: icon + AEDBF + subtitle */
.nav-logo {
  display: flex;
  align-items: center;
  gap: 18px !important;
  color: var(--white);
}

/* Icon */
.nav-logo-icon {
  width: 78px !important;
  height: 56px !important;
  min-width: 78px !important;
  flex: 0 0 78px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.nav-logo-icon img {
  width: 78px !important;
  height: 56px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  display: block;
}

/* AEDBF text + yellow subtitle */
.nav-logo-text {
  display: flex;
  align-items: baseline;
  gap: 16px;
  line-height: 1;
  margin-left: 0 !important;
}

/* Make AEDBF bigger here */
.nav-logo-text span:first-child {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2.45rem !important;
  font-weight: 700;
  color: var(--white);
  letter-spacing: 0.03em;
  line-height: 1 !important;
}

/* Yellow subtitle */
.nav-logo-text span:last-child {
  font-size: 0.78rem;
  font-weight: 600;
  color: rgba(232, 200, 64, 0.85);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Navigation links */
.nav-links {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.nav-links a {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: color 0.2s ease;
}

.nav-links a:hover {
  color: var(--gold);
}

.nav-links .nav-cta {
  background: var(--gold);
  color: var(--navy-deep) !important;
  padding: 0.65rem 1.3rem;
  border-radius: 4px;
  font-weight: 700;
}

.nav-links .nav-cta:hover {
  background: var(--gold-pale);
}

/* About-section logo, separate from header */
.about-logo-block img {
  width: 120px;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto 18px;
}
/* =========================================================
   2. HEADER / HERO
   ========================================================= */
.hero {
  min-height: 90vh;
  padding: 140px 6vw 120px;
  background: linear-gradient(145deg, var(--navy-deep) 0%, var(--navy) 55%, #1a3a7a 100%);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 50% at 70% 50%, rgba(232, 200, 64, 0.07) 0%, transparent 70%);
  pointer-events: none;
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 760px;
}

.hero-badge {
  display: inline-block;
  margin-bottom: 2rem;
  padding: 0.45rem 1rem;
  border: 1px solid rgba(232, 200, 64, 0.4);
  border-radius: 3px;
  background: rgba(232, 200, 64, 0.12);
  color: var(--gold);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.hero h1 {
  margin: 0 0 1.3rem;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(3.2rem, 5vw, 5.2rem);
  font-weight: 700;
  line-height: 1.05;
  color: var(--white);
  letter-spacing: -0.02em;
}

.hero h1 em {
  color: var(--gold);
  font-style: normal;
}

.hero-subtitle {
  max-width: 680px;
  margin: 0 0 2.5rem;
  color: rgba(255, 255, 255, 0.68);
  font-size: 1.15rem;
  line-height: 1.7;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem 1.8rem;
  border-radius: 4px;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  transition: all 0.2s ease;
}

.btn-gold {
  background: var(--gold);
  color: var(--navy-deep);
}

.btn-gold:hover {
  background: var(--gold-pale);
  transform: translateY(-1px);
}

.btn-outline {
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.35);
}

.btn-outline:hover {
  border-color: var(--gold);
  color: var(--gold);
}

.hero-stats {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: rgba(255, 255, 255, 0.04);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.stat {
  padding: 1.4rem 1rem;
  text-align: center;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.stat:last-child {
  border-right: none;
}

.stat strong {
  display: block;
  color: var(--gold);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}

.stat span {
  display: block;
  margin-top: 0.35rem;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Fixed decorative star field */
.hero-stars {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.star {
  position: absolute;
  width: 6px;
  height: 6px;
  background: var(--gold);
  opacity: 0.22;
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  animation: twinkle 4s ease-in-out infinite;
}

.star-1 { left: 12%; top: 18%; animation-delay: 0s; }
.star-2 { left: 28%; top: 42%; animation-delay: .8s; }
.star-3 { left: 45%; top: 20%; animation-delay: 1.4s; }
.star-4 { left: 62%; top: 65%; animation-delay: .4s; }
.star-5 { left: 78%; top: 28%; animation-delay: 2s; }
.star-6 { left: 88%; top: 54%; animation-delay: 1.1s; }
.star-7 { left: 18%; top: 74%; animation-delay: 2.6s; }
.star-8 { left: 52%; top: 82%; animation-delay: 1.8s; }

@keyframes twinkle {
  0%, 100% { opacity: 0.14; transform: scale(1); }
  50% { opacity: 0.38; transform: scale(1.25); }
}

.eu-ring {
  position: absolute;
  right: -6%;
  top: 50%;
  width: 560px;
  height: 560px;
  transform: translateY(-50%);
  border: 2px solid var(--gold);
  border-radius: 50%;
  opacity: 0.06;
  z-index: 1;
}

.eu-ring::after {
  content: '';
  position: absolute;
  inset: 38px;
  border: 2px solid var(--gold);
  border-radius: 50%;
}

/* =========================================================
   3. WHO WE ARE / ABOUT
========================================================= */

.about {
  padding: 110px 6vw;
  background: var(--white);
}

.about-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 6vw;
  align-items: center;
  max-width: 1500px;
  margin: 0 auto;
}

.about-visual {
  position: relative;
}

/* Image box */
.about-img-wrap {
  min-height: 420px;
  height: 420px;
  border-radius: 5px;
  overflow: hidden;
  padding: 0;
  background: none;
  display: block;
}

/* Remove inner frame effect */
.about-logo-block {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

/* Make the image fill the whole box */
.about-logo-block img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
background: #0c1840;
  display: block;
  margin: 0 !important;
}

/* Hide any extra AEDBF text below the image */
.about-logo-block div {
  display: none !important;
}

.about-accent {
  position: absolute;
  right: -22px;
  bottom: -22px;
  width: 130px;
  height: 130px;
  background: var(--gold);
  border-radius: 4px;
  z-index: -1;
}

.section-tag {
  display: inline-block;
  margin-bottom: 1rem;
  color: var(--gold-dark);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.section-title {
  margin: 0 0 1.4rem;
  color: var(--navy);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2.6rem, 4vw, 4rem);
  font-weight: 700;
  line-height: 1.08;
}

.section-lead {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 1.15rem;
  line-height: 1.8;
}

.about-list {
  list-style: none;
  margin: 2.3rem 0 0;
  padding: 0;
}

.about-list li {
  position: relative;
  padding: 1.05rem 0 1.05rem 1.6rem;
  border-bottom: 1px solid var(--border);
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.65;
}

.about-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 1.8rem;
  width: 7px;
  height: 7px;
  background: var(--gold);
  border-radius: 50%;
}

/* Remove frame / outline from about image */

.about-img-wrap {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.about-logo-block {
  width: 100% !important;
  height: 100% !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Make only the photo visible */
.about-logo-block img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Hide the centered AEDBF logo/text overlay */
.about-logo-block div,
.about-logo-block svg {
  display: none !important;
}

/* =========================================================
   COUNTRY BUTTONS
========================================================= */

.aedbf-country-buttons {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  width: 100% !important;
  margin-top: 40px !important;
}

.aedbf-country-buttons button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 76px !important;
  padding: 18px 20px !important;

  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 4px !important;

  color: #ffffff !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  text-align: center !important;

  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.aedbf-country-buttons button:hover {
  background: rgba(232, 200, 64, 0.14) !important;
  border-color: #e8c840 !important;
  color: #e8c840 !important;
  transform: translateY(-2px) !important;
}

/* =========================================================
   REDUCE GAP BETWEEN WHO WE ARE AND NEWS
========================================================= */

.about {
  padding-top: 110px !important;
  padding-bottom: 10px !important;
}

.aedbf-articles-section {
  padding-top: 20px !important;
  margin-top: 0 !important;
}

.aedbf-articles-section .container,
.aedbf-articles-section .row,
.aedbf-articles-section .row-fluid {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {
  .aedbf-country-buttons {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .aedbf-articles-section #news_content > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  .aedbf-articles-section #news_content > .row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 500px) {
  .aedbf-country-buttons {
    grid-template-columns: 1fr !important;
  }
}
/* =========================================================
   AEDBF MEMBER SOCIETIES — YAPLA SAFE VERSION
   READABLE FONT SIZE VERSION
   ========================================================= */

.aedbf-member-links-section {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #0c1840 !important;
  padding: 100px 6% !important;
  box-sizing: border-box !important;
  font-family: 'DM Sans', sans-serif !important;
}

.aedbf-member-links-section *,
.aedbf-member-links-section *::before,
.aedbf-member-links-section *::after {
  box-sizing: border-box !important;
}

.aedbf-member-links-inner {
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}

.aedbf-member-links-header {
  max-width: 850px !important;
  margin-bottom: 3.5rem !important;
}

.aedbf-member-links-tag {
  display: block !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #e8c840 !important;
  margin-bottom: 1rem !important;
}

.aedbf-member-links-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 48px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.12 !important;
  margin: 0 0 1.4rem !important;
}

.aedbf-member-links-text {
  color: rgba(255, 255, 255, 0.62) !important;
  font-size: 20px !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

.aedbf-member-links-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
}

.aedbf-member-link {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  min-height: 145px !important;
  padding: 28px !important;

  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 4px !important;

  color: #ffffff !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.aedbf-member-link strong {
  display: block !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin-bottom: 10px !important;
}

.aedbf-member-link span {
  display: block !important;
  color: rgba(255, 255, 255, 0.52) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.aedbf-member-link:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(232, 200, 64, 0.45) !important;
  transform: translateY(-2px) !important;
}

.aedbf-member-link:hover strong {
  color: #e8c840 !important;
}

/* Tablet */
@media (max-width: 1000px) {
  .aedbf-member-links-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .aedbf-member-links-title {
    font-size: 42px !important;
  }

  .aedbf-member-links-text {
    font-size: 18px !important;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .aedbf-member-links-section {
    padding: 70px 5% !important;
  }

  .aedbf-member-links-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .aedbf-member-links-title {
    font-size: 36px !important;
  }

  .aedbf-member-links-text {
    font-size: 18px !important;
  }

  .aedbf-member-link {
    min-height: 135px !important;
    padding: 22px !important;
  }

  .aedbf-member-link strong {
    font-size: 18px !important;
  }

  .aedbf-member-link span {
    font-size: 14px !important;
  }
}

/* Small mobile */
@media (max-width: 480px) {
  .aedbf-member-links-grid {
    grid-template-columns: 1fr !important;
  }
}
/* =========================================================
   AEDBF MEMBER SOCIETIES — YAPLA SAFE VERSION
   READABLE FONT SIZE VERSION
   ========================================================= */

.aedbf-member-links-section {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #0c1840 !important;
  padding: 100px 6% !important;
  box-sizing: border-box !important;
  font-family: 'DM Sans', sans-serif !important;
}

.aedbf-member-links-section *,
.aedbf-member-links-section *::before,
.aedbf-member-links-section *::after {
  box-sizing: border-box !important;
}

.aedbf-member-links-inner {
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}

.aedbf-member-links-header {
  max-width: 850px !important;
  margin-bottom: 3.5rem !important;
}

.aedbf-member-links-tag {
  display: block !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #e8c840 !important;
  margin-bottom: 1rem !important;
}

.aedbf-member-links-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 48px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.12 !important;
  margin: 0 0 1.4rem !important;
}

.aedbf-member-links-text {
  color: rgba(255, 255, 255, 0.62) !important;
  font-size: 20px !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

.aedbf-member-links-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
}

.aedbf-member-link {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  min-height: 145px !important;
  padding: 28px !important;

  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 4px !important;

  color: #ffffff !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.aedbf-member-link strong {
  display: block !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin-bottom: 10px !important;
}

.aedbf-member-link span {
  display: block !important;
  color: rgba(255, 255, 255, 0.52) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.aedbf-member-link:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(232, 200, 64, 0.45) !important;
  transform: translateY(-2px) !important;
}

.aedbf-member-link:hover strong {
  color: #e8c840 !important;
}

/* Tablet */
@media (max-width: 1000px) {
  .aedbf-member-links-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .aedbf-member-links-title {
    font-size: 42px !important;
  }

  .aedbf-member-links-text {
    font-size: 18px !important;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .aedbf-member-links-section {
    padding: 70px 5% !important;
  }

  .aedbf-member-links-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .aedbf-member-links-title {
    font-size: 36px !important;
  }

  .aedbf-member-links-text {
    font-size: 18px !important;
  }

  .aedbf-member-link {
    min-height: 135px !important;
    padding: 22px !important;
  }

  .aedbf-member-link strong {
    font-size: 18px !important;
  }

  .aedbf-member-link span {
    font-size: 14px !important;
  }
}

/* Small mobile */
@media (max-width: 480px) {
  .aedbf-member-links-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   FIX 1 — MAKE THE BEIGE REACH THE LEFT AND RIGHT EDGES
   ========================================================= */

/* Remove the old fake beige extension if it exists */
.join-no-form::before {
  display: none !important;
  content: none !important;
}

/* Paint beige outward from each side */
.join-no-form,
.newsletter {
  position: relative !important;
  background: #f2f1ed !important;
  overflow: visible !important;
}

.join-no-form {
  box-shadow: -100vw 0 0 0 #f2f1ed !important;
}

.newsletter {
  box-shadow: 100vw 0 0 0 #f2f1ed !important;
}

/* Make sure both blocks visually end at the same point */
.join-no-form,
.newsletter {
  min-height: 700px !important;
}

/* =========================================================
   FIX 2 — CLEANER, MORE SERIOUS ICONS
   White icons inside blue circles
   ========================================================= */

.aedbf-benefits-simple {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.aedbf-benefits-simple li {
  position: relative !important;
  list-style: none !important;
  padding-left: 5.2rem !important;   /* more space between icon and text */
  margin-bottom: 1.8rem !important;
  min-height: 56px !important;
}

.aedbf-benefits-simple li::marker {
  content: "" !important;
}

/* Blue circle */
.aedbf-benefits-simple li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.05rem !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  background: #14235a !important;
}

/* White icon */
.aedbf-benefits-simple li::after {
  position: absolute !important;
  left: 0 !important;
  top: 0.05rem !important;
  width: 50px !important;
  height: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  text-align: center !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

/* New icon set — simpler / more serious */
.aedbf-benefits-simple li:nth-child(1)::after {
  content: "⚖" !important;
}

.aedbf-benefits-simple li:nth-child(2)::after {
  content: "◎" !important;
}

.aedbf-benefits-simple li:nth-child(3)::after {
  content: "★" !important;
}

/* Bigger and clearer text next to icons */
.aedbf-benefits-simple strong {
  display: block !important;
  font-size: 1.18rem !important;
  line-height: 1.3 !important;
  color: #14235a !important;
  margin-bottom: 0.2rem !important;
}

.aedbf-benefits-simple span {
  display: block !important;
  font-size: 1.06rem !important;
  line-height: 1.55 !important;
  color: #111111 !important;
}

/* 8. FIX BUTTON — AEDBF STYLE */
.newsletter #submitform,
.newsletter button[type="submit"],
.newsletter .btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 190px !important;
  height: 56px !important;
  padding: 0.9rem 2rem !important;

  border: none !important;
  border-radius: 3px !important;
  background: #14235a !important;
  color: #ffffff !important;

  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;

  box-shadow: none !important;
}

.newsletter #submitform:hover,
.newsletter button[type="submit"]:hover,
.newsletter .btn-primary:hover {
  background: #1e3275 !important;
  color: #ffffff !important;
}





/* =========================================================
   ALIGN NEWS, SOCIETIES AND CONTACT TO SAME LEFT EDGE
   Based on the Societies inner container: max-width 1400px
   ========================================================= */

/* NEWS — make content use the same centered 1400px container */
.aedbf-articles-section .container {
  width: 100% !important;
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* SOCIETIES — keep as the reference point */
.aedbf-member-links-inner {
  width: 100% !important;
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* CONTACT — align both left and right contact blocks with the same 1400px container */
.join-no-form,
.newsletter {
  max-width: 700px !important;
  box-sizing: border-box !important;
}

/* Make the full contact area centered like the societies section */
.join-no-form,
.newsletter {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* If Contact is inside a Yapla row, center that row at 1400px */
.line:has(.join-no-form),
.site_line__item:has(.join-no-form),
.line:has(.newsletter),
.site_line__item:has(.newsletter) {
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Keep beige background full width even though content is centered */
.line:has(.join-no-form)::before,
.site_line__item:has(.join-no-form)::before,
.line:has(.newsletter)::before,
.site_line__item:has(.newsletter)::before {
  content: "";
  position: absolute;
  inset: 0 calc(50% - 50vw);
  background: #f2f1ed;
  z-index: -1;
}

/* Make sure the contact wrapper can hold the full-width background */
.line:has(.join-no-form),
.site_line__item:has(.join-no-form),
.line:has(.newsletter),
.site_line__item:has(.newsletter) {
  position: relative !important;
  background: transparent !important;
}

/* =========================================================
   ALIGN CONTACT SECTION WITH NEWS + SOCIETIES
   Same reference width: 1400px
   ========================================================= */

/* Make the contact section itself full width beige */
.line:has(.join-no-form),
.site_line__item:has(.join-no-form),
.line:has(.newsletter),
.site_line__item:has(.newsletter) {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: #f2f1ed !important;
  box-sizing: border-box !important;
}

/* Center the actual content inside a 1400px area */
.line:has(.join-no-form) > .container,
.site_line__item:has(.join-no-form) > .container,
.line:has(.newsletter) > .container,
.site_line__item:has(.newsletter) > .container {
  width: 100% !important;
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Remove bootstrap row side offsets */
.line:has(.join-no-form) .row,
.site_line__item:has(.join-no-form) .row,
.line:has(.newsletter) .row,
.site_line__item:has(.newsletter) .row,
.line:has(.join-no-form) .row-fluid,
.site_line__item:has(.join-no-form) .row-fluid,
.line:has(.newsletter) .row-fluid,
.site_line__item:has(.newsletter) .row-fluid {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Make the two contact columns split inside the same 1400px container */
.join-no-form,
.newsletter {
  box-shadow: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Safety for screens smaller than 1400px */
@media (max-width: 1500px) {
  .line:has(.join-no-form) > .container,
  .site_line__item:has(.join-no-form) > .container,
  .line:has(.newsletter) > .container,
  .site_line__item:has(.newsletter) > .container {
    padding-left: 6% !important;
    padding-right: 6% !important;
  }
}
/* =========================================================
   AEDBF FOOTER — FULL WIDTH VERSION
   ========================================================= */

.aedbf-footer {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #0c1840 !important;
  border-top: 1px solid rgba(232, 200, 64, 0.22) !important;
  padding: 70px 0 32px !important;
  color: #ffffff !important;
  box-sizing: border-box !important;
}

/* Inner spacing only, not white padding */
.aedbf-footer-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 6% !important;
  padding-right: 6% !important;
  box-sizing: border-box !important;
}

/* Fix if Yapla wraps footer inside container */
.aedbf-footer .container,
.aedbf-footer .row,
.aedbf-footer .row-fluid {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Grid */
.aedbf-footer-grid {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1.25fr !important;
  gap: 5rem !important;
  align-items: start !important;
  margin-bottom: 4rem !important;
}

/* Logo column */
.aedbf-footer-brand {
  max-width: 420px !important;
}

.aedbf-footer-logo {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  margin-bottom: 1.2rem !important;
}

.aedbf-footer-logo svg {
  width: 95px !important;
  height: auto !important;
  display: block !important;
  margin-bottom: 0.8rem !important;
}

.aedbf-footer-logo div {
  font-family: 'Arial Black', Arial, sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  letter-spacing: 0.16em !important;
}

.aedbf-footer-brand p {
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 0.92rem !important;
  line-height: 1.75 !important;
  color: rgba(255, 255, 255, 0.48) !important;
  margin: 0 !important;
}

/* Columns */
.aedbf-footer-col h5 {
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #e8c840 !important;
  margin: 0 0 1.4rem 0 !important;
}

.aedbf-footer-col p {
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.85 !important;
  color: rgba(255, 255, 255, 0.55) !important;
  margin: 0 !important;
}

.aedbf-footer-col a {
  color: rgba(255, 255, 255, 0.58) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.aedbf-footer-col a:hover {
  color: #e8c840 !important;
}

/* LinkedIn box */
.aedbf-linkedin-box {
  margin-top: 1.6rem !important;
  padding: 1rem 1.25rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.9rem !important;

  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(232, 200, 64, 0.34) !important;
  border-radius: 5px !important;

  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  text-decoration: none !important;

  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}

.aedbf-linkedin-box:hover {
  background: rgba(232, 200, 64, 0.1) !important;
  border-color: rgba(232, 200, 64, 0.7) !important;
  transform: translateY(-2px) !important;
}

.aedbf-linkedin-box svg {
  flex-shrink: 0 !important;
}

.aedbf-linkedin-box span {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Bottom */
.aedbf-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding-top: 1.5rem !important;

  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 1.5rem !important;
}

.aedbf-footer-bottom p {
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 0.78rem !important;
  color: rgba(255, 255, 255, 0.35) !important;
  margin: 0 !important;
}

.aedbf-footer-bottom div {
  display: flex !important;
  gap: 1.6rem !important;
}

.aedbf-footer-bottom a {
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 0.78rem !important;
  color: rgba(232, 200, 64, 0.75) !important;
  text-decoration: none !important;
}

.aedbf-footer-bottom a:hover {
  color: #e8c840 !important;
}

/* Remove white spacing from Yapla parent containers around the footer */
.line:has(.aedbf-footer),
.site_line__item:has(.aedbf-footer) {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  background: #0c1840 !important;
}

/* Tablet */
@media (max-width: 900px) {
  .aedbf-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 3rem !important;
  }

  .aedbf-footer-brand {
    grid-column: 1 / -1 !important;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .aedbf-footer {
    padding: 55px 0 28px !important;
  }

  .aedbf-footer-inner {
    padding-left: 5% !important;
    padding-right: 5% !important;
  }

  .aedbf-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }

  .aedbf-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .aedbf-footer-bottom div {
    flex-direction: column !important;
    gap: 0.6rem !important;
  }
}



/* =========================================================
   AEDBF STRONG FONT SIZE OVERRIDE
   Paste this at the VERY END of Yapla custom CSS
   ========================================================= */

/* NAVIGATION */
.aedbf-nav .nav-links a,
.aedbf-nav .nav-cta {
  font-size: 16px !important;
  line-height: 1.4 !important;
}

.aedbf-nav .nav-logo-text span:first-child {
  font-size: 28px !important;
  line-height: 1.1 !important;
}

.aedbf-nav .nav-logo-text span:last-child {
  font-size: 12px !important;
  line-height: 1.3 !important;
}

/* HERO */
.aedbf-page .hero .hero-badge {
  font-size: 15px !important;
}

.aedbf-page .hero h1 {
  font-size: 64px !important;
  line-height: 1.08 !important;
}

.aedbf-page .hero .hero-subtitle {
  font-size: 21px !important;
  line-height: 1.75 !important;
  max-width: 720px !important;
}

.aedbf-page .hero .btn,
.aedbf-page .hero-actions .btn {
  font-size: 17px !important;
  padding: 14px 32px !important;
}

/* HERO STATS */
.aedbf-page .hero-stats .stat strong {
  font-size: 42px !important;
}

.aedbf-page .hero-stats .stat span {
  font-size: 14px !important;
  line-height: 1.4 !important;
}

/* SECTION TITLES */
.aedbf-page .section-tag {
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.aedbf-page .section-title {
  font-size: 48px !important;
  line-height: 1.12 !important;
}

.aedbf-page .section-lead {
  font-size: 20px !important;
  line-height: 1.8 !important;
  max-width: 760px !important;
}

/* ABOUT */
.aedbf-page .about-list li {
  font-size: 18px !important;
  line-height: 1.75 !important;
}

.aedbf-page .about-text p {
  font-size: 20px !important;
}

/* NEWS / ARTICLES */
.aedbf-articles-section .zone-news > h2 {
  font-size: 48px !important;
  line-height: 1.12 !important;
}

.aedbf-articles-section .zone-news > h2::before {
  font-size: 14px !important;
}

.aedbf-articles-section .news-title,
.aedbf-articles-section .news-title a {
  font-size: 26px !important;
  line-height: 1.25 !important;
}

.aedbf-articles-section .news-published-date,
.aedbf-articles-section .e-date,
.aedbf-articles-section .news-author {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

/* MEMBER SOCIETIES */
.societies .section-tag {
  font-size: 14px !important;
}

.societies .section-title {
  font-size: 48px !important;
}

.societies .section-lead {
  font-size: 20px !important;
  line-height: 1.8 !important;
}

.societies .soc-name {
  font-size: 18px !important;
}

.societies .soc-country {
  font-size: 14px !important;
}

/* JOIN / CONTACT */
.join .section-tag {
  font-size: 14px !important;
}

.join .section-title {
  font-size: 48px !important;
}

.join h3 {
  font-size: 34px !important;
}

.join p,
.join span,
.join li {
  font-size: 18px !important;
  line-height: 1.7 !important;
}

.join label {
  font-size: 14px !important;
}

.join input,
.join textarea,
.join select,
.join button {
  font-size: 16px !important;
}

/* FOOTER */
.aedbf-footer,
.aedbf-footer p,
.aedbf-footer a,
.aedbf-footer span {
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.aedbf-footer h5 {
  font-size: 14px !important;
}

.aedbf-footer-logo div {
  font-size: 22px !important;
}

/* MOBILE SAFETY */
@media (max-width: 700px) {
  .aedbf-page .hero h1 {
    font-size: 42px !important;
  }

  .aedbf-page .hero .hero-subtitle {
    font-size: 18px !important;
  }

  .aedbf-page .section-title,
  .aedbf-articles-section .zone-news > h2,
  .societies .section-title,
  .join .section-title {
    font-size: 36px !important;
  }

  .aedbf-page .section-lead,
  .societies .section-lead {
    font-size: 18px !important;
  }
}

/* =========================================================
   SAFE FIX — REMOVE WHITE STRIP WITHOUT CUTTING SOCIETIES
   ========================================================= */

/* Keep enough internal space inside the Societies section */
.aedbf-member-links-section {
  padding-bottom: 70px !important;
  margin-bottom: 0 !important;
  border-bottom: none !important;
  background: #0c1840 !important;
}

/* Remove external white spacing from Yapla wrappers */
.line:has(.aedbf-member-links-section),
.site_line__item:has(.aedbf-member-links-section) {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  background: #0c1840 !important;
}

/* Start Contact cleanly after Societies */
.join,
#join {
  margin-top: 0 !important;
  padding-top: 70px !important;
  border-top: none !important;
}

/* Remove wrapper spacing above Contact */
.line:has(.join),
.site_line__item:has(.join),
.line:has(#join),
.site_line__item:has(#join) {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* =========================================================
   MEMBERSHIP & CONTACT — FINAL CLEAN VERSION
   Typography + bullets + spacing
   ========================================================= */

/* Base font for the Membership / Contact section */
.newsletter,
.newsletter *,
.join-no-form,
.join-no-form * {
  font-family: 'DM Sans', Arial, sans-serif !important;
}

/* Small gold label: MEMBERSHIP & CONTACT */
.newsletter .section-tag,
.join-no-form .section-tag,
.newsletter > span:first-child,
.join-no-form > span:first-child {
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #c9a820 !important;
}

/* Main title: Join the AEDBF Network */
.newsletter .section-title,
.join-no-form .section-title,
.newsletter h1,
.newsletter h2,
.join-no-form h1,
.join-no-form h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 48px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: #14235a !important;
}

/* Secondary titles: Why become a member? / Informations */
.newsletter h3,
.newsletter h4,
.newsletter legend,
.newsletter .form-title,
.join-no-form h3,
.join-no-form h4,
.join-no-form legend,
.join-no-form .form-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 20px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: #14235a !important;
}

/* Main paragraphs */
.newsletter p,
.newsletter p *,
.join-no-form p,
.join-no-form p * {
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 20px !important;
  line-height: 1.8 !important;
  font-weight: 400 !important;
  color: #6a7491 !important;
}

/* =========================================================
   MEMBERSHIP BULLETS — SAME SIZE AS WHO WE ARE BULLETS
   ========================================================= */

/* Benefit rows */
.newsletter .aedbf-benefits-simple li,
.join-no-form .aedbf-benefits-simple li,
.aedbf-benefits-simple li {
  margin-bottom: 1.4rem !important;
  padding-left: 5.2rem !important;
  min-height: 56px !important;
}

/* Benefit titles */
.newsletter .aedbf-benefits-simple li strong,
.join-no-form .aedbf-benefits-simple li strong,
.aedbf-benefits-simple li strong {
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
  font-weight: 700 !important;
  color: #14235a !important;
  margin-bottom: 0.15rem !important;
  padding-top: 0 !important;
}

/* Benefit descriptions */
.newsletter .aedbf-benefits-simple li span,
.join-no-form .aedbf-benefits-simple li span,
.aedbf-benefits-simple li span {
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
  color: #6a7491 !important;
}

/* Kill the old pseudo-element icons */
.newsletter .aedbf-benefits-simple li::before,
.join-no-form .aedbf-benefits-simple li::before,
.aedbf-benefits-simple li::before,
.newsletter .aedbf-benefits-simple li::after,
.join-no-form .aedbf-benefits-simple li::after,
.aedbf-benefits-simple li::after {
  display: none !important;
}

/* New icon tile */
.aedbf-benefits-simple .benefit-icon {
  flex-shrink: 0 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
  background: #1a2744 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

/* Fix the li layout to flex */
.newsletter .aedbf-benefits-simple li,
.join-no-form .aedbf-benefits-simple li,
.aedbf-benefits-simple li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 20px !important;
  padding-left: 0 !important;
  padding-top: 22px !important;
  padding-bottom: 22px !important;
  margin-bottom: 0 !important;
  border-bottom: 0.5px solid rgba(20, 35, 90, 0.12) !important;
}

.aedbf-benefits-simple li:last-child {
  border-bottom: none !important;
}

/* =========================================================
   NEWSLETTER / CONTACT FORM
   ========================================================= */

/* Form labels */
.newsletter label,
.newsletter .control-label,
.newsletter .form-label,
.join-no-form label,
.join-no-form .control-label,
.join-no-form .form-label {
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #1a2540 !important;
}

/* Form inputs */
.newsletter input,
.newsletter textarea,
.newsletter select,
.join-no-form input,
.join-no-form textarea,
.join-no-form select {
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
  color: #1a2540 !important;
}

/* Checkbox text */
.newsletter input[type="checkbox"] + label,
.newsletter .checkbox label,
.newsletter .form-check-label {
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  color: #1a2540 !important;
}

/* Button */
.newsletter button,
.newsletter input[type="submit"],
.newsletter .btn,
.newsletter .btn-primary,
.newsletter #submitform,
.join-no-form button,
.join-no-form input[type="submit"],
.join-no-form .btn,
.join-no-form .btn-primary,
.join-no-form #submitform {
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* =========================================================
   SECTION SPACING — BIG + SYMMETRICAL
   ========================================================= */

/* Remove old forced height */
.join-no-form,
.newsletter {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Add equal padding to the whole contact row */
.line:has(.newsletter),
.site_line__item:has(.newsletter),
.line:has(.join-no-form),
.site_line__item:has(.join-no-form) {
  padding-top: 160px !important;
  padding-bottom: 160px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  background: #f2f1ed !important;
  box-sizing: border-box !important;
}

/* Remove extra margin from first and last elements */
.join-no-form > *:first-child,
.newsletter > *:first-child {
  margin-top: 0 !important;
}

.join-no-form > *:last-child,
.newsletter > *:last-child {
  margin-bottom: 0 !important;
}

/* Mobile */
@media (max-width: 700px) {
  .newsletter .section-title,
  .join-no-form .section-title,
  .newsletter h1,
  .newsletter h2,
  .join-no-form h1,
  .join-no-form h2 {
    font-size: 36px !important;
  }

  .newsletter h3,
  .newsletter h4,
  .newsletter legend,
  .newsletter .form-title,
  .join-no-form h3,
  .join-no-form h4,
  .join-no-form legend,
  .join-no-form .form-title {
    font-size: 32px !important;
  }

  .newsletter p,
  .newsletter p *,
  .join-no-form p,
  .join-no-form p *,
  .newsletter li,
  .newsletter li *,
  .join-no-form li,
  .join-no-form li *,
  .aedbf-benefits-simple li,
  .aedbf-benefits-simple li *,
  .newsletter label,
  .newsletter input,
  .newsletter textarea,
  .newsletter select {
    font-size: 18px !important;
  }

  .line:has(.newsletter),
  .site_line__item:has(.newsletter),
  .line:has(.join-no-form),
  .site_line__item:has(.join-no-form) {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
}

/* =========================================================
   CONTACT FORM — CARD STYLE + ALIGNMENT + WIDER FIELDS
   Paste at the VERY END of Custom CSS
   ========================================================= */

/* Align the right contact form with the left membership block */
.newsletter {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
}

/* White card behind the form */
.newsletter form,
.newsletter .form,
.newsletter .form-horizontal,
.newsletter .module-form,
.newsletter .yapla-form,
.newsletter .contact-form {
  width: 100% !important;
  max-width: 560px !important;

  background: #ffffff !important;
  border: 1px solid #dddbd4 !important;
  border-radius: 6px !important;

  padding: 3rem 3.2rem !important;
  box-sizing: border-box !important;

  box-shadow: 0 18px 45px rgba(20, 35, 90, 0.08) !important;
}

/* Contact title */
.newsletter h1,
.newsletter h2,
.newsletter h3,
.newsletter legend {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 48px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: #14235a !important;
  margin: 0 0 2rem 0 !important;
}

/* Form groups spacing */
.newsletter .form-group,
.newsletter .control-group,
.newsletter .field,
.newsletter .form-item {
  width: 100% !important;
  margin-bottom: 1.35rem !important;
}

/* Labels */
.newsletter label,
.newsletter .control-label,
.newsletter .form-label {
  display: block !important;

  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;

  color: #14235a !important;
  margin-bottom: 0.55rem !important;

  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Inputs — wider and cleaner */
.newsletter input[type="text"],
.newsletter input[type="email"],
.newsletter input[type="tel"],
.newsletter input[type="password"],
.newsletter textarea,
.newsletter select {
  display: block !important;

  width: 100% !important;
  max-width: none !important;

  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
  color: #1a2540 !important;

  background: #faf9f6 !important;
  border: 1.5px solid #dddbd4 !important;
  border-radius: 4px !important;

  padding: 0.9rem 1rem !important;
  box-sizing: border-box !important;

  outline: none !important;
  box-shadow: none !important;
}

/* Input height */
.newsletter input[type="text"],
.newsletter input[type="email"],
.newsletter input[type="tel"],
.newsletter input[type="password"],
.newsletter select {
  height: 58px !important;
}

/* Message box */
.newsletter textarea {
  min-height: 160px !important;
  resize: vertical !important;
}

/* Focus state */
.newsletter input[type="text"]:focus,
.newsletter input[type="email"]:focus,
.newsletter input[type="tel"]:focus,
.newsletter textarea:focus,
.newsletter select:focus {
  border-color: #14235a !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(20, 35, 90, 0.08) !important;
}

/* Submit button */
.newsletter button,
.newsletter input[type="submit"],
.newsletter .btn,
.newsletter .btn-primary,
.newsletter #submitform {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  height: 60px !important;

  margin-top: 0.8rem !important;

  background: #14235a !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 4px !important;

  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  cursor: pointer !important;
  box-shadow: 0 10px 24px rgba(20, 35, 90, 0.16) !important;
}

.newsletter button:hover,
.newsletter input[type="submit"]:hover,
.newsletter .btn:hover,
.newsletter .btn-primary:hover,
.newsletter #submitform:hover {
  background: #1e3275 !important;
}

/* Make sure the form column does not start too high */
.newsletter > *:first-child {
  margin-top: 0 !important;
}

/* Mobile */
@media (max-width: 700px) {
  .newsletter form,
  .newsletter .form,
  .newsletter .form-horizontal,
  .newsletter .module-form,
  .newsletter .yapla-form,
  .newsletter .contact-form {
    max-width: 100% !important;
    padding: 2.2rem 1.6rem !important;
  }

  .newsletter h1,
  .newsletter h2,
  .newsletter h3,
  .newsletter legend {
    font-size: 36px !important;
  }
}

/* =========================================================
   CONTACT FORM — FORCE TITLE ALIGNMENT + WIDE FIELDS
   Paste as the VERY LAST code in Custom CSS
   ========================================================= */

/* 1) Move the whole right contact column lower so the title aligns with the left title */
.newsletter {
  padding-top: 34px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

/* 2) Make the Contact title align better and not float too high */
.newsletter > h1,
.newsletter > h2,
.newsletter > h3,
.newsletter legend,
.newsletter .zone-title,
.newsletter .form-title {
  margin-top: 0 !important;
  margin-bottom: 2rem !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 48px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: #14235a !important;
}

/* 3) Make the white form card take more horizontal space */
.newsletter form,
.newsletter .form,
.newsletter .form-horizontal,
.newsletter .form-container,
.newsletter .module-form,
.newsletter .yapla-form,
.newsletter .contact-form,
.newsletter .form-wrapper {
  width: 100% !important;
  max-width: 720px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  padding: 3rem 3.2rem !important;
  background: #ffffff !important;
  border: 1px solid #dddbd4 !important;
  border-radius: 6px !important;
  box-shadow: 0 18px 45px rgba(20, 35, 90, 0.08) !important;
  box-sizing: border-box !important;
}

/* 4) Force every internal form block to full width */
.newsletter form *,
.newsletter .form *,
.newsletter .form-horizontal *,
.newsletter .module-form *,
.newsletter .yapla-form * {
  box-sizing: border-box !important;
}

.newsletter .form-group,
.newsletter .control-group,
.newsletter .field,
.newsletter .form-item,
.newsletter .form-group div,
.newsletter .controls,
.newsletter .input,
.newsletter .input-group,
.newsletter .form-control-wrapper {
  width: 100% !important;
  max-width: 100% !important;
}

/* 5) Force all fields to fill the white card */
.newsletter input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.newsletter textarea,
.newsletter select,
.newsletter .form-control {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  height: 58px !important;

  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 18px !important;
  color: #1a2540 !important;

  background: #faf9f6 !important;
  border: 1.5px solid #dddbd4 !important;
  border-radius: 4px !important;
  padding: 0.9rem 1rem !important;
  box-shadow: none !important;
}

/* 6) Message box */
.newsletter textarea {
  min-height: 170px !important;
  height: 170px !important;
  resize: vertical !important;
}

/* 7) Button full width */
.newsletter button,
.newsletter input[type="submit"],
.newsletter .btn,
.newsletter .btn-primary,
.newsletter #submitform {
  width: 100% !important;
  max-width: 100% !important;
  height: 60px !important;
}

/* 8) If Yapla uses Bootstrap columns inside the form, kill their width */
.newsletter [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* =========================================================
   CONTACT SECTION — RESTORE TWO COLUMNS + STYLE FORM CARD
   Paste as the VERY LAST code
   ========================================================= */

/* Restore the row layout */
.newsletter .row,
.newsletter .row-fluid {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 5rem !important;
  width: 100% !important;
}

/* Force only the MAIN two columns to stay side by side */
.newsletter .row:has(.join-no-form) > [class*="col-"],
.newsletter .row-fluid:has(.join-no-form) > [class*="col-"] {
  float: none !important;
  flex: 0 0 calc(50% - 2.5rem) !important;
  width: calc(50% - 2.5rem) !important;
  max-width: calc(50% - 2.5rem) !important;
  box-sizing: border-box !important;
}

/* Left column */
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(.join-no-form),
.newsletter .row-fluid:has(.join-no-form) > [class*="col-"]:has(.join-no-form) {
  display: block !important;
}

/* Right column containing the form */
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form),
.newsletter .row-fluid:has(.join-no-form) > [class*="col-"]:has(form) {
  display: block !important;
  padding-top: 0 !important;
}

/* Contact title */
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) h1,
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) h2,
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) h3,
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) legend {
  margin-top: 0 !important;
  margin-bottom: 1.8rem !important;

  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 48px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: #14235a !important;
}

/* White card behind the form */
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form,
.newsletter .row-fluid:has(.join-no-form) > [class*="col-"]:has(form) form {
  width: 100% !important;
  max-width: 680px !important;

  background: #ffffff !important;
  border: 1px solid #dddbd4 !important;
  border-radius: 6px !important;
  padding: 3rem 3.2rem !important;

  box-shadow: 0 18px 45px rgba(20, 35, 90, 0.08) !important;
  box-sizing: border-box !important;
}

/* Make only the FORM INTERNAL wrappers full width */
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form .form-group,
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form .control-group,
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form .field,
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form .form-item,
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form .controls {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Make the fields full width */
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form textarea,
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form select {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;

  height: 58px !important;
  background: #faf9f6 !important;
  border: 1.5px solid #dddbd4 !important;
  border-radius: 4px !important;

  padding: 0.9rem 1rem !important;
  box-sizing: border-box !important;

  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 18px !important;
  color: #1a2540 !important;
}

/* Message field */
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form textarea {
  height: 170px !important;
  min-height: 170px !important;
}

/* Button full width */
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form button,
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form input[type="submit"],
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form .btn,
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form .btn-primary,
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form) form #submitform {
  width: 100% !important;
  max-width: 100% !important;
  height: 60px !important;
}

/* Mobile: stack only on mobile */
@media (max-width: 900px) {
  .newsletter .row,
  .newsletter .row-fluid {
    display: block !important;
  }

  .newsletter .row:has(.join-no-form) > [class*="col-"],
  .newsletter .row-fluid:has(.join-no-form) > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }
}

/* =========================================================
   FIX CONTACT SECTION TITLES
   Use only the left title and remove the form "Contact" title
   Paste as the VERY LAST CSS block
   ========================================================= */

/* Make sure the left section title stays normal */
.join-no-form .section-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(3rem, 5vw, 4.5rem) !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  color: #14235a !important;
}

/* Hide ONLY the Yapla contact form title */
.zone-contact .content.contact > h1,
.zone-contact .content.contact > h2,
.zone-contact .content.contact > h3,
[data-zone-id="2711133"] .content.contact > h1,
[data-zone-id="2711133"] .content.contact > h2,
[data-zone-id="2711133"] .content.contact > h3,
.newsletter .content.contact > h1,
.newsletter .content.contact > h2,
.newsletter .content.contact > h3 {
  display: none !important;
}

/* Remove extra space left by hidden Contact title */
.zone-contact .content.contact,
[data-zone-id="2711133"] .content.contact,
.newsletter .content.contact {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Keep the form card aligned nicely */
.zone-contact .content.contact form,
[data-zone-id="2711133"] .content.contact form,
.newsletter .content.contact form {
  margin-top: 0 !important;
}
/* =========================================================
   CONTACT TITLE — SAME FONT + SAME HEIGHT AS JOIN TITLE
   Paste as the VERY LAST code in Custom CSS
   ========================================================= */

/* Contact title */
.newsletter > h1,
.newsletter > h2,
.newsletter > h3,
.newsletter .zone-title,
.newsletter .module-title,
.newsletter .form-title,
.newsletter legend {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 48px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: #14235a !important;

  /* This lowers Contact to align with "Join the AEDBF Network" */
  margin-top: 46px !important;
  margin-bottom: 1.8rem !important;
}

/* Keep the form card under the Contact title */
.newsletter form,
.newsletter .form,
.newsletter .form-horizontal,
.newsletter .module-form,
.newsletter .yapla-form,
.newsletter .contact-form,
.newsletter .form-wrapper {
  margin-top: 0 !important;
}

/* Mobile */
@media (max-width: 700px) {
  .newsletter > h1,
  .newsletter > h2,
  .newsletter > h3,
  .newsletter .zone-title,
  .newsletter .module-title,
  .newsletter .form-title,
  .newsletter legend {
    font-size: 36px !important;
    margin-top: 0 !important;
  }
}

/* =========================================================
   CONTACT RIGHT SECTION — ALIGN CONTACT TITLE WITH JOIN TITLE
   Moves title + form together
   ========================================================= */

/* Move the whole right contact section down */
.newsletter {
  transform: translateY(100px) !important;
}

/* Make Contact title exactly same font as Join the AEDBF Network */
.newsletter h1,
.newsletter h2,
.newsletter h3,
.newsletter legend,
.newsletter .form-title,
.newsletter .zone-title,
.newsletter .module-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 48px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: #14235a !important;

  margin-top: 0 !important;
  margin-bottom: 1.8rem !important;
}

/* Keep the form directly under the title */
.newsletter form,
.newsletter .form,
.newsletter .form-horizontal,
.newsletter .module-form,
.newsletter .yapla-form,
.newsletter .contact-form,
.newsletter .form-wrapper {
  margin-top: 0 !important;
}

/* Mobile: remove offset when columns stack */
@media (max-width: 900px) {
  .newsletter {
    transform: none !important;
  }
}

/* =========================================================
   FIX WHITE ROW ABOVE MEMBERSHIP / CONTACT SECTION
   Keep after the working contact form code
   ========================================================= */

/* Remove any old transform/movement that created visual empty space */
.newsletter {
  transform: none !important;
}

/* Force all parent wrappers around the Membership/Contact section to be beige */
.line:has(.join-no-form),
.site_line__item:has(.join-no-form),
.line:has(.zone-contact),
.site_line__item:has(.zone-contact),
.line:has([data-zone-id="2711133"]),
.site_line__item:has([data-zone-id="2711133"]) {
  background: #f2f1ed !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Remove unwanted white padding from the immediate Yapla containers */
.line:has(.join-no-form) > .container,
.site_line__item:has(.join-no-form) > .container,
.line:has(.zone-contact) > .container,
.site_line__item:has(.zone-contact) > .container,
.line:has([data-zone-id="2711133"]) > .container,
.site_line__item:has([data-zone-id="2711133"]) > .container {
  background: #f2f1ed !important;
}

/* Make sure the actual left and right blocks are also beige behind the content */
.join-no-form,
.zone-contact,
[data-zone-id="2711133"] {
  background: #f2f1ed !important;
}

/* If an empty spacing row exists above, collapse it */
.line:has(.join-no-form)::before,
.site_line__item:has(.join-no-form)::before,
.line:has(.zone-contact)::before,
.site_line__item:has(.zone-contact)::before {
  background: #f2f1ed !important;
}

/* Move Contact title + form lower */
.zone-contact .content.contact,
[data-zone-id="2711133"] .content.contact {
  margin-top: 68px !important;
}


/* =========================================================
   MOVE CONTACT TITLE + FORM DOWN — REAL RIGHT COLUMN FIX
   Paste as the ABSOLUTE LAST CSS block
   ========================================================= */

/* 1. Remove transform because it creates white gaps */
.newsletter,
.zone-contact,
[data-zone-id="2711133"],
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form),
.newsletter .row-fluid:has(.join-no-form) > [class*="col-"]:has(form) {
  transform: none !important;
}

/* 2. Move the RIGHT COLUMN down.
   CHANGE ONLY THIS NUMBER. */
.newsletter .row:has(.join-no-form) > [class*="col-"]:has(form),
.newsletter .row-fluid:has(.join-no-form) > [class*="col-"]:has(form) {
  padding-top: 100px !important;
}

/* 3. Use existing Yapla H2 title only */
.zone-contact > h2,
[data-zone-id="2711133"] > h2 {
  display: block !important;

  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 48px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: #14235a !important;

  margin: 0 0 1.8rem 0 !important;
  padding: 0 !important;
}

/* 4. Hide the old internal Contact title */
.zone-contact .content.contact > h1,
[data-zone-id="2711133"] .content.contact > h1 {
  display: none !important;
}

/* 5. Remove fake generated duplicate titles */
.zone-contact h1::before,
.zone-contact h1::after,
.zone-contact h2::before,
.zone-contact h2::after,
.zone-contact .content.contact::before,
.zone-contact .content.contact::after,
[data-zone-id="2711133"] h1::before,
[data-zone-id="2711133"] h1::after,
[data-zone-id="2711133"] h2::before,
[data-zone-id="2711133"] h2::after,
[data-zone-id="2711133"] .content.contact::before,
[data-zone-id="2711133"] .content.contact::after {
  content: none !important;
  display: none !important;
}

/* 6. Keep beige background behind the moved area */
.line:has(.join-no-form),
.site_line__item:has(.join-no-form),
.line:has(.zone-contact),
.site_line__item:has(.zone-contact),
.line:has([data-zone-id="2711133"]),
.site_line__item:has([data-zone-id="2711133"]) {
  background: #f2f1ed !important;
}

/* Mobile */
@media (max-width: 900px) {
  .newsletter .row:has(.join-no-form) > [class*="col-"]:has(form),
  .newsletter .row-fluid:has(.join-no-form) > [class*="col-"]:has(form) {
    padding-top: 0 !important;
  }
}

/* =========================================================
   REAL FIX — REMOVE BOOTSTRAP ROW PSEUDO GRID ITEMS
   This fixes Article 1 starting from the middle.
========================================================= */

/* Bootstrap/Yapla .row::before and .row::after were occupying grid columns */
.aedbf-articles-section #news_content > .row::before,
.aedbf-articles-section #news_content > .row::after {
  content: none !important;
  display: none !important;
}

/* Force each Yapla row to be exactly 3 columns */
.aedbf-articles-section #news_content > .row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 24px !important;
  row-gap: 28px !important;

  width: 100% !important;
  max-width: 100% !important;

  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 28px !important;
  padding: 0 !important;

  box-sizing: border-box !important;
}

/* Each article fills one grid cell */
.aedbf-articles-section #news_content > .row > .col-sm-8[data-article-id] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  float: none !important;
  clear: none !important;

  margin: 0 !important;
  padding: 0 !important;

  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;

  display: flex !important;
  flex-direction: column !important;

  background: #ffffff !important;
  border: 1px solid #dddbd4 !important;
  border-radius: 5px !important;
  overflow: hidden !important;

  box-shadow: 0 4px 18px rgba(20, 35, 90, 0.04) !important;
  box-sizing: border-box !important;
}

/* Restore image size */
.aedbf-articles-section #news_content > .row > .col-sm-8[data-article-id] > a:first-child {
  display: block !important;
  width: 100% !important;
  height: 175px !important;
  overflow: hidden !important;
  position: relative !important;
}

.aedbf-articles-section .news-thumbnail {
  width: 100% !important;
  height: 175px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Restore yellow category badges */
.aedbf-articles-section .news-category {
  position: absolute !important;
  left: 1rem !important;
  top: 130px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  max-width: max-content !important;

  background: #e8c840 !important;
  color: #0c1840 !important;

  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  padding: 0.55rem 1rem !important;
  border-radius: 4px !important;
  z-index: 10 !important;

  margin: 0 !important;
}

/* Tablet */
@media (max-width: 900px) {
  .aedbf-articles-section #news_content > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .aedbf-articles-section #news_content > .row {
    grid-template-columns: 1fr !important;
  }

  .aedbf-articles-section #news_content > .row > .col-sm-8[data-article-id] > a:first-child,
  .aedbf-articles-section .news-thumbnail {
    height: 210px !important;
  }

  .aedbf-articles-section .news-category {
    top: 165px !important;
  }
}

/* =========================================================
   NEWS — AEDBF DESIGN RESTORE
   Paste AFTER the working 3+3 layout fix
========================================================= */

/* Section title: News */
.aedbf-articles-section .zone-news > h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 48px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: #14235a !important;
  letter-spacing: -0.02em !important;

  margin: 0 0 3rem 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Subtitle: Publications & News */
.aedbf-articles-section .zone-news > h2::before {
  content: "Publications & News" !important;
  display: block !important;

  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;

  color: #c9a820 !important;
  margin-bottom: 1rem !important;
}

/* Card */
.aedbf-articles-section #news_content > .row > .col-sm-8[data-article-id] {
  background: #ffffff !important;
  border: 1px solid #dddbd4 !important;
  border-radius: 5px !important;
  overflow: hidden !important;

  box-shadow: 0 4px 18px rgba(20, 35, 90, 0.04) !important;
}

/* Image */
.aedbf-articles-section #news_content > .row > .col-sm-8[data-article-id] > a:first-child {
  height: 175px !important;
  display: block !important;
  overflow: hidden !important;
}

.aedbf-articles-section .news-thumbnail {
  height: 175px !important;
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Yellow category badge */
.aedbf-articles-section .news-category {
  position: absolute !important;
  left: 1rem !important;
  top: 130px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #e8c840 !important;
  color: #0c1840 !important;

  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  padding: 0.55rem 1rem !important;
  border-radius: 4px !important;
  z-index: 10 !important;

  margin: 0 !important;
}

/* Article title */
.aedbf-articles-section .news-title {
  margin: 1.25rem 1.4rem 0.65rem 1.4rem !important;

  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 26px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;

  color: #14235a !important;
}

.aedbf-articles-section .news-title a {
  color: #14235a !important;
  text-decoration: none !important;
}

.aedbf-articles-section .news-title a:hover {
  color: #c9a820 !important;
}

/* Date */
.aedbf-articles-section .news-published-date,
.aedbf-articles-section .e-date {
  margin: auto 1.4rem 0.35rem 1.4rem !important;
  padding-top: 1rem !important;

  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;

  color: #6a7491 !important;
}

/* Author line */
.aedbf-articles-section .news-author {
  margin: 0 1.4rem 1.3rem 1.4rem !important;
  padding-top: 0.75rem !important;

  border-top: 1px solid #dddbd4 !important;

  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: #6a7491 !important;
}

/* Add By before author */
.aedbf-articles-section .news-author::before {
  content: "By " !important;
  color: #14235a !important;
  font-weight: 700 !important;
}

/* Pagination wrapper */
.aedbf-articles-section #news_content > .paginationControl {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  width: 100% !important;
  margin-top: 2.8rem !important;
}

/* Pagination button */
.aedbf-articles-section .paginationControl .page {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 42px !important;
  height: 42px !important;
  padding: 0 0.85rem !important;

  background: #14235a !important;
  color: #ffffff !important;

  border: 1px solid #14235a !important;
  border-radius: 50% !important;

  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-decoration: none !important;

  box-shadow: 0 8px 20px rgba(20, 35, 90, 0.16) !important;
}

/* Mobile */
@media (max-width: 600px) {
  .aedbf-articles-section .zone-news > h2 {
    font-size: 36px !important;
  }

  .aedbf-articles-section #news_content > .row > .col-sm-8[data-article-id] > a:first-child,
  .aedbf-articles-section .news-thumbnail {
    height: 210px !important;
  }

  .aedbf-articles-section .news-category {
    top: 165px !important;
  }
}

/* =========================================================
   AEDBF — RESPONSIVE MOBILE FIX
   Paste this at the VERY END of your CSS
   ========================================================= */


/* =========================================================
   TABLET FIXES
   900px and below
   ========================================================= */

@media (max-width: 900px) {

  /* -----------------------------
     NAVIGATION / HEADER
  ----------------------------- */

  .aedbf-nav {
    position: fixed !important;
    height: auto !important;
    min-height: 86px !important;

    padding: 16px 5vw !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    gap: 14px !important;
  }

  .nav-logo {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .nav-logo-icon {
    width: 54px !important;
    height: 42px !important;
    min-width: 54px !important;
    flex: 0 0 54px !important;
  }

  .nav-logo-icon img {
    width: 54px !important;
    height: 42px !important;
  }

  .nav-logo-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    line-height: 1.1 !important;
  }

  .nav-logo-text span:first-child {
    font-size: 26px !important;
    line-height: 1 !important;
  }

  .nav-logo-text span:last-child {
    font-size: 10px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.12em !important;
  }

  .nav-links {
    width: 100% !important;

    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;

    gap: 10px !important;
  }

  .nav-links a {
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.05em !important;
    padding: 0 !important;
  }

  .nav-links .nav-cta {
    padding: 8px 12px !important;
    font-size: 12px !important;
  }


  /* -----------------------------
     HERO
  ----------------------------- */

  .hero {
    min-height: auto !important;

    padding: 190px 5vw 70px !important;

    display: block !important;
    align-items: flex-start !important;
  }

  .hero-content {
    max-width: 100% !important;
  }

  .hero-badge {
    margin-bottom: 1.3rem !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.12em !important;
  }

  .hero h1 {
    font-size: clamp(42px, 10vw, 58px) !important;
    line-height: 1.05 !important;
    margin-bottom: 1.2rem !important;
  }

  .hero-subtitle {
    max-width: 100% !important;
    font-size: 18px !important;
    line-height: 1.65 !important;
    margin-bottom: 2rem !important;
  }

  .hero-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .hero-actions .btn,
  .hero .btn {
    width: 100% !important;
    justify-content: center !important;
    font-size: 15px !important;
    padding: 14px 20px !important;
  }

  .eu-ring {
    display: none !important;
  }

  .hero-stars {
    opacity: 0.45 !important;
  }


  /* -----------------------------
     HERO STATS
  ----------------------------- */

  .hero-stats {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;

    margin-top: 48px !important;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .stat {
    padding: 22px 14px !important;
    border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .stat:nth-child(2),
  .stat:nth-child(4) {
    border-right: none !important;
  }

  .stat:nth-child(3),
  .stat:nth-child(4) {
    border-bottom: none !important;
  }

  .stat strong {
    font-size: 36px !important;
  }

  .stat span {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }


  /* -----------------------------
     WHO WE ARE
  ----------------------------- */

  .about {
    padding: 80px 5vw !important;
  }

  .about-grid {
    display: block !important;
    max-width: 760px !important;
    margin: 0 auto !important;
  }

  /* Remove image from Who We Are on tablet/mobile */
  .about-visual,
  .about-img-wrap,
  .about-logo-block,
  .about-accent {
    display: none !important;
  }

  .about-text {
    width: 100% !important;
    max-width: 100% !important;
  }

  .section-tag {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  .section-title {
    font-size: 42px !important;
    line-height: 1.1 !important;
  }

  .section-lead {
    font-size: 18px !important;
    line-height: 1.75 !important;
  }

  .about-list {
    margin-top: 2rem !important;
  }

  .about-list li {
    font-size: 17px !important;
    line-height: 1.65 !important;
    padding-left: 1.4rem !important;
  }
}


/* =========================================================
   MOBILE FIXES
   600px and below
   ========================================================= */

@media (max-width: 600px) {

  /* -----------------------------
     NAVIGATION
  ----------------------------- */

  .aedbf-nav {
    padding: 14px 5vw !important;
    gap: 12px !important;
  }

  .nav-logo {
    gap: 10px !important;
  }

  .nav-logo-icon {
    width: 46px !important;
    height: 36px !important;
    min-width: 46px !important;
    flex: 0 0 46px !important;
  }

  .nav-logo-icon img {
    width: 46px !important;
    height: 36px !important;
  }

  .nav-logo-text span:first-child {
    font-size: 23px !important;
  }

  .nav-logo-text span:last-child {
    font-size: 9px !important;
    letter-spacing: 0.1em !important;
  }

  .nav-links {
    gap: 8px !important;
  }

  .nav-links a {
    font-size: 11px !important;
  }

  .nav-links .nav-cta {
    padding: 7px 10px !important;
    font-size: 11px !important;
  }


  /* -----------------------------
     HERO
  ----------------------------- */

  .hero {
    padding: 205px 5vw 56px !important;
    text-align: left !important;
  }

  .hero-badge {
    font-size: 11px !important;
    padding: 0.4rem 0.75rem !important;
    margin-bottom: 1.1rem !important;
  }

  .hero h1 {
    font-size: 40px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.015em !important;
  }

  .hero-subtitle {
    font-size: 17px !important;
    line-height: 1.65 !important;
  }

  .hero-actions {
    gap: 10px !important;
  }

  .hero .btn,
  .hero-actions .btn {
    width: 100% !important;
    font-size: 14px !important;
    padding: 13px 16px !important;
  }


  /* -----------------------------
     STATS
  ----------------------------- */

  .hero-stats {
    grid-template-columns: 1fr !important;
    margin-top: 40px !important;
  }

  .stat,
  .stat:nth-child(2),
  .stat:nth-child(3),
  .stat:nth-child(4) {
    border-right: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .stat:last-child {
    border-bottom: none !important;
  }

  .stat strong {
    font-size: 34px !important;
  }


  /* -----------------------------
     WHO WE ARE
  ----------------------------- */

  .about {
    padding: 68px 5vw !important;
  }

  .section-title {
    font-size: 36px !important;
    line-height: 1.1 !important;
  }

  .section-lead {
    font-size: 17px !important;
    line-height: 1.7 !important;
  }

  .about-list li {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
}


/* =========================================================
   VERY SMALL MOBILE
   420px and below
   ========================================================= */

@media (max-width: 420px) {

  .aedbf-nav {
    padding: 12px 4.5vw !important;
  }

  .nav-logo-text span:first-child {
    font-size: 21px !important;
  }

  .nav-logo-text span:last-child {
    font-size: 8.5px !important;
  }

  .nav-links {
    gap: 7px !important;
  }

  .nav-links a {
    font-size: 10.5px !important;
  }

  .nav-links .nav-cta {
    font-size: 10.5px !important;
    padding: 7px 9px !important;
  }

  .hero {
    padding-top: 215px !important;
  }

  .hero h1 {
    font-size: 35px !important;
  }

  .hero-subtitle {
    font-size: 16px !important;
  }
}

/* =========================================================
   AEDBF — BURGER MENU ONLY ON MOBILE
   Desktop menu stays normal
   Paste at the VERY END
   ========================================================= */


/* DESKTOP: hide burger and checkbox */
.aedbf-menu-toggle,
.aedbf-burger {
  display: none !important;
}


/* =========================================================
   MOBILE / TABLET ONLY
   Burger activates at 900px and below
   ========================================================= */

@media (max-width: 900px) {

  /* Hide checkbox but keep it functional */
  .aedbf-menu-toggle {
    display: none !important;
  }

  /* Header becomes compact mobile layout */
  .aedbf-nav {
    height: auto !important;
    min-height: 78px !important;
    padding: 14px 5vw !important;

    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 0 !important;

    background: #0c1840 !important;
    z-index: 9999 !important;
  }

  /* Logo stays left */
  .nav-logo {
    width: auto !important;
    max-width: calc(100vw - 95px) !important;
    display: flex !important;
    align-items: center !important;
  }

  .nav-logo-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;
  }

  .nav-logo-text span:first-child {
    font-size: 24px !important;
    line-height: 1 !important;
  }

  .nav-logo-text span:last-child {
    font-size: 9.5px !important;
    line-height: 1.25 !important;
    letter-spacing: 0.09em !important;
    white-space: normal !important;
  }

  .nav-logo-icon {
    width: 48px !important;
    height: 38px !important;
    min-width: 48px !important;
    flex: 0 0 48px !important;
  }

  .nav-logo-icon img {
    width: 48px !important;
    height: 38px !important;
  }

  /* Show burger ONLY on mobile */
  .aedbf-burger {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;

    width: 44px !important;
    height: 44px !important;

    border: 1px solid rgba(232, 200, 64, 0.38) !important;
    border-radius: 4px !important;
    background: rgba(255, 255, 255, 0.04) !important;

    cursor: pointer !important;
    z-index: 10001 !important;
  }

  .aedbf-burger span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    margin: 3px 0 !important;

    background: #e8c840 !important;
    border-radius: 99px !important;

    transition: transform 0.25s ease, opacity 0.25s ease !important;
  }

  /* Mobile menu hidden by default */
  .nav-links {
    grid-column: 1 / -1 !important;

    width: 100% !important;
    max-height: 0 !important;
    overflow: hidden !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    gap: 0 !important;
    margin-top: 0 !important;
    padding: 0 !important;

    background: #0c1840 !important;

    transition: max-height 0.35s ease, padding 0.35s ease, margin 0.35s ease !important;
  }

  .nav-links a {
    width: 100% !important;
    padding: 15px 0 !important;

    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;

    font-size: 13px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.08em !important;

    color: rgba(255, 255, 255, 0.82) !important;
  }

  .nav-links a:hover {
    color: #e8c840 !important;
  }

  .nav-links .nav-cta {
    margin-top: 12px !important;
    margin-bottom: 4px !important;

    width: 100% !important;

    display: flex !important;
    justify-content: center !important;

    padding: 13px 18px !important;

    background: #e8c840 !important;
    color: #0c1840 !important;

    border-radius: 4px !important;
    border-top: none !important;
  }

  /* Open menu when burger is clicked */
  .aedbf-menu-toggle:checked ~ .nav-links {
    max-height: 430px !important;
    margin-top: 14px !important;
    padding-top: 6px !important;
    padding-bottom: 8px !important;
  }

  /* Burger becomes X */
  .aedbf-menu-toggle:checked + .aedbf-burger span:nth-child(1) {
    transform: translateY(8px) rotate(45deg) !important;
  }

  .aedbf-menu-toggle:checked + .aedbf-burger span:nth-child(2) {
    opacity: 0 !important;
  }

  .aedbf-menu-toggle:checked + .aedbf-burger span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg) !important;
  }

  /* Adjust hero because mobile nav is shorter now */
  .hero {
    padding-top: 125px !important;
  }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

  .aedbf-nav {
    padding: 12px 4.5vw !important;
  }

  .nav-logo-icon {
    width: 42px !important;
    height: 34px !important;
    min-width: 42px !important;
    flex: 0 0 42px !important;
  }

  .nav-logo-icon img {
    width: 42px !important;
    height: 34px !important;
  }

  .nav-logo-text span:first-child {
    font-size: 21px !important;
  }

  .nav-logo-text span:last-child {
    font-size: 8.5px !important;
  }

  .aedbf-burger {
    width: 40px !important;
    height: 40px !important;
  }

  .hero {
    padding-top: 118px !important;
  }
}

/* =========================================================
   FIX — HIDE BURGER CHECKBOX BUTTON
   Paste at the VERY END
   ========================================================= */

#aedbf-menu-toggle,
.aedbf-menu-toggle,
input#aedbf-menu-toggle[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

/* =========================================================
   ANCHOR SCROLL OFFSET
   Prevent fixed header from covering section titles
   ========================================================= */

/* Smooth scrolling */
html {
  scroll-behavior: smooth !important;
}

/* Desktop offset */
#home,
#about,
#news_content,
#societies,
#join {
  scroll-margin-top: 110px !important;
}

/* Mobile offset — burger header is taller */
@media (max-width: 900px) {
  #home,
  #about,
  #news_content,
  #societies,
  #join {
    scroll-margin-top: 120px !important;
  }
}

/* Small mobile */
@media (max-width: 420px) {
  #home,
  #about,
  #news_content,
  #societies,
  #join {
    scroll-margin-top: 105px !important;
  }
}

/* =========================================================
   STRONGER ANCHOR SCROLL OFFSET
   More space for Articles + Mobile
   Paste at the VERY END
   ========================================================= */

html {
  scroll-behavior: smooth !important;
}

/* General sections */
#home,
#about,
#societies,
#join {
  scroll-margin-top: 130px !important;
}

/* NEWS / ARTICLES needs more space */
#news_content,
.aedbf-articles-section,
.aedbf-articles-section .zone-news {
  scroll-margin-top: 170px !important;
}

/* Mobile: more space because fixed burger header is taller */
@media (max-width: 900px) {
  #home,
  #about,
  #societies,
  #join {
    scroll-margin-top: 155px !important;
  }

  #news_content,
  .aedbf-articles-section,
  .aedbf-articles-section .zone-news {
    scroll-margin-top: 210px !important;
  }
}

/* Small mobile */
@media (max-width: 600px) {
  #home,
  #about,
  #societies,
  #join {
    scroll-margin-top: 175px !important;
  }

  #news_content,
  .aedbf-articles-section,
  .aedbf-articles-section .zone-news {
    scroll-margin-top: 240px !important;
  }
}

/* Very small mobile */
@media (max-width: 420px) {
  #home,
  #about,
  #societies,
  #join {
    scroll-margin-top: 190px !important;
  }

  #news_content,
  .aedbf-articles-section,
  .aedbf-articles-section .zone-news {
    scroll-margin-top: 260px !important;
  }
}

/* =========================================================
   MOBILE SCROLL OFFSET — HIGHER LANDING POSITION
   Paste at the VERY END
   ========================================================= */

@media (max-width: 900px) {
  #home,
  #about,
  #societies,
  #join {
    scroll-margin-top: 115px !important;
  }

  #news_content,
  .aedbf-articles-section,
  .aedbf-articles-section .zone-news {
    scroll-margin-top: 155px !important;
  }
}

@media (max-width: 600px) {
  #home,
  #about,
  #societies,
  #join {
    scroll-margin-top: 105px !important;
  }

  #news_content,
  .aedbf-articles-section,
  .aedbf-articles-section .zone-news {
    scroll-margin-top: 145px !important;
  }
}

@media (max-width: 420px) {
  #home,
  #about,
  #societies,
  #join {
    scroll-margin-top: 95px !important;
  }

  #news_content,
  .aedbf-articles-section,
  .aedbf-articles-section .zone-news {
    scroll-margin-top: 135px !important;
  }
}

/* =========================================================
   MOBILE ARTICLES — CONTROLLED WIDTH LIKE CONTACT FORM
   Paste as the ABSOLUTE LAST CSS block
   ========================================================= */

@media (max-width: 600px) {

  /* Keep the section full width, but do not let cards touch edges */
  .aedbf-articles-section {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  /* Reset inner wrappers */
  .aedbf-articles-section .container,
  .aedbf-articles-section .zone-news,
  .aedbf-articles-section #news_content {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* The row itself gets the same controlled width */
  .aedbf-articles-section #news_content > .row {
    width: calc(100vw - 36px) !important;
    max-width: calc(100vw - 36px) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;

    box-sizing: border-box !important;
  }

  /* Cards fill the controlled row, not the full phone width */
  .aedbf-articles-section [data-article-id],
  .aedbf-articles-section #news_content > .row > .col-sm-8[data-article-id] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    float: none !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;

    box-sizing: border-box !important;
  }
}

    
/* =========================================================
   AEDBF — SAME TOP & BOTTOM PADDING FOR MAIN SECTIONS
   Paste at the VERY END of Custom CSS
   ========================================================= */

:root {
  --aedbf-section-padding: 110px;
  --aedbf-section-padding-tablet: 85px;
  --aedbf-section-padding-mobile: 70px;
}

/* Remove unwanted outside spacing from Yapla wrappers */
.line:has(.about),
.site_line__item:has(.about),
.line:has(.aedbf-articles-section),
.site_line__item:has(.aedbf-articles-section),
.line:has(.aedbf-member-links-section),
.site_line__item:has(.aedbf-member-links-section),
.line:has(.join-no-form),
.site_line__item:has(.join-no-form),
.line:has(.newsletter),
.site_line__item:has(.newsletter) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* WHO WE ARE */
.about {
  padding-top: var(--aedbf-section-padding) !important;
  padding-bottom: var(--aedbf-section-padding) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* LATEST FROM AEDBF / NEWS */
.aedbf-articles-section {
  padding-top: var(--aedbf-section-padding) !important;
  padding-bottom: var(--aedbf-section-padding) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* NATIONAL MEMBER SOCIETIES */
.aedbf-member-links-section {
  padding-top: var(--aedbf-section-padding) !important;
  padding-bottom: var(--aedbf-section-padding) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* JOIN THE AEDBF NETWORK / CONTACT */
.line:has(.join-no-form),
.site_line__item:has(.join-no-form),
.line:has(.newsletter),
.site_line__item:has(.newsletter) {
  padding-top: var(--aedbf-section-padding) !important;
  padding-bottom: var(--aedbf-section-padding) !important;
  background: #f2f1ed !important;
}

/* Make sure the inner blocks do not add extra outside spacing */
.about-grid,
.aedbf-articles-section .container,
.aedbf-member-links-inner,
.join-no-form,
.newsletter {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Tablet */
@media (max-width: 900px) {
  .about,
  .aedbf-articles-section,
  .aedbf-member-links-section,
  .line:has(.join-no-form),
  .site_line__item:has(.join-no-form),
  .line:has(.newsletter),
  .site_line__item:has(.newsletter) {
    padding-top: var(--aedbf-section-padding-tablet) !important;
    padding-bottom: var(--aedbf-section-padding-tablet) !important;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .about,
  .aedbf-articles-section,
  .aedbf-member-links-section,
  .line:has(.join-no-form),
  .site_line__item:has(.join-no-form),
  .line:has(.newsletter),
  .site_line__item:has(.newsletter) {
    padding-top: var(--aedbf-section-padding-mobile) !important;
    padding-bottom: var(--aedbf-section-padding-mobile) !important;
  }
}

/* =========================================================
   FIX MEMBER SOCIETIES VERTICAL SPACING
   Equal top and bottom space
   Paste at the VERY END
   ========================================================= */

.aedbf-member-links-section {
  padding-top: 90px !important;
  padding-bottom: 110px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  background: #0c1840 !important;
}

/* Remove extra internal margins that make the section feel uneven */
.aedbf-member-links-inner {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.aedbf-member-links-header {
  margin-top: 0 !important;
  margin-bottom: 3rem !important;
}

.aedbf-member-links-grid {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Make sure Yapla wrappers do not add extra white/blue space */
.line:has(.aedbf-member-links-section),
.site_line__item:has(.aedbf-member-links-section) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  background: #0c1840 !important;
}

/* =========================================================
   FIX GAP BETWEEN WHO WE ARE AND LATEST FROM AEDBF
   Removes bottom space from Who We Are + top space from Latest
   Paste at the VERY END
   ========================================================= */

/* Remove the bottom space after Who We Are */
.about {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* =========================================================
   FIX H3 / H4 TYPOGRAPHY DIFFERENCE
   Paste at the VERY END
   ========================================================= */

/* H3 — section subsection titles */
.aedbf-page h3,
.join-no-form h3,
.newsletter h3,
.aedbf-member-links-section h3,
.aedbf-articles-section h3 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 34px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
}

/* H4 — smaller internal headings */
.aedbf-page h4,
.join-no-form h4,
.newsletter h4,
.aedbf-member-links-section h4,
.aedbf-articles-section h4 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

/* Mobile */
@media (max-width: 600px) {
  .aedbf-page h3,
  .join-no-form h3,
  .newsletter h3,
  .aedbf-member-links-section h3,
  .aedbf-articles-section h3 {
    font-size: 30px !important;
  }

  .aedbf-page h4,
  .join-no-form h4,
  .newsletter h4,
  .aedbf-member-links-section h4,
  .aedbf-articles-section h4 {
    font-size: 22px !important;
  }
}

/* =========================================================
   MOBILE NEWS — HARD RESET TO 5% LEFT / 5% RIGHT
   Everything inside News becomes exactly 90vw
   Paste as the ABSOLUTE LAST CSS block
   ========================================================= */

@media (max-width: 700px) {

  /* 1. Make the whole News section full viewport width */
  .aedbf-articles-section,
  .line:has(.aedbf-articles-section),
  .site_line__item:has(.aedbf-articles-section) {
    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  /* 2. Force the REAL News content area to be 90vw */
  .aedbf-articles-section .container,
  .aedbf-articles-section .zone-news,
  .aedbf-articles-section #news_content {
    width: 90vw !important;
    max-width: 90vw !important;
    min-width: 90vw !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* 3. Title + hypertitle inside the same 90vw */
  .aedbf-articles-section .zone-news > h2 {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 32px !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    display: block !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    white-space: normal !important;

    font-size: 36px !important;
    line-height: 1.1 !important;
  }

  .aedbf-articles-section .zone-news > h2::before {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 12px !important;

    display: block !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  /* 4. Article rows also inside the same 90vw */
  .aedbf-articles-section #news_content > .row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 24px !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;

    box-sizing: border-box !important;
  }

  /* 5. Each article card fills the 90vw container */
  .aedbf-articles-section #news_content > .row > .col-sm-8[data-article-id],
  .aedbf-articles-section [data-article-id] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    float: none !important;
    clear: none !important;

    left: auto !important;
    right: auto !important;
    transform: none !important;

    box-sizing: border-box !important;
  }
}