/* =====================================================================
   Pôle Digital – 2026 design (pd26)
   Layout and components from the 2026 mockups, colors of the current site.
   Sizes are in rem so the "A− A A+" buttons scale the whole page.
   ===================================================================== */

:root {
  --pd-green: #336E3F;        /* main green (Elementor "Accent") */
  --pd-green-hover: #2A5C34;
  --pd-lime: #A4C053;         /* accent (Elementor "Primary") – replaces the mockup gold */
  --pd-lime-hover: #93AD47;
  --pd-burgundy: #6E201C;     /* top strip, as on the current site */
  --pd-ink: #212121;          /* headings, dark surfaces (Elementor "Secondary") */
  --pd-text: #616161;         /* body text (Elementor "Text") */
  --pd-bg: #F6F6F6;           /* light sections (Elementor "bg-gray") */
  --pd-line: #E5E5E5;
  --pd-line-strong: #CFCFCF;
  --pd-tint: rgba(51, 110, 63, .10);
  --pd-on-dark: #E0E0E0;
  --pd-on-dark-muted: #BDBDBD;
  --pd-radius: 14px;
  --pd-radius-sm: 8px;
  --pd-wrap: 1176px;          /* 1240px mockup frame minus 2 × 32px gutters */
  --pd-gutter: 2rem;
  --pd-font-head: 'IBM Plex Sans', 'Segoe UI', system-ui, sans-serif;
  --pd-font-body: 'Source Sans 3', 'Segoe UI', system-ui, sans-serif;
}

/* text size steps of the accessibility bar */
html[data-pd-font="-1"] { font-size: 93.75%; }
html[data-pd-font="1"] { font-size: 112.5%; }
html[data-pd-font="2"] { font-size: 125%; }

/* ---------- Base (only on pd26 pages) ---------- */
body.pd26 {
  font-family: var(--pd-font-body);
  font-size: 1.0625rem;       /* 17px */
  line-height: 1.6;
  color: var(--pd-ink);
  background: #fff;
}
body.pd26 h1, body.pd26 h2, body.pd26 h3, body.pd26 h4,
body.pd26 .elementor-heading-title {
  font-family: var(--pd-font-head);
  color: inherit;
  letter-spacing: -0.01em;
}
body.pd26 a { color: var(--pd-ink); }
body.pd26 a:hover { color: var(--pd-green); }
body.pd26 :focus-visible { outline: 3px solid var(--pd-lime); outline-offset: 2px; }
body.pd26 .site-main { padding: 0; }
body.pd26 .elementor-widget-text-editor p { margin: 0 0 1em; }
body.pd26 .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
body.pd26 .elementor-widget-text-editor li { line-height: 1.6; }
.pd-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pd-wrap { max-width: var(--pd-wrap); margin: 0 auto; padding: 0 var(--pd-gutter); box-sizing: content-box; }
@media (max-width: 767px) { :root { --pd-gutter: 1rem; } }

/* ---------- Typography helpers (CSS classes set on Elementor widgets) ---------- */
.pd-eyebrow, .pd-eyebrow .elementor-heading-title {
  margin: 0; font-family: var(--pd-font-head); font-size: .8125rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .12em; color: var(--pd-green);
}
.pd-h1 .elementor-heading-title { font-size: 3.25rem; font-weight: 700; line-height: 1.12; }
.pd-h2 .elementor-heading-title { font-size: 2rem; font-weight: 700; line-height: 1.2; color: var(--pd-ink); }
.pd-h3 .elementor-heading-title { font-size: 1.15rem; font-weight: 600; line-height: 1.3; color: var(--pd-ink); }
.pd-lead, .pd-lead p { font-size: 1.125rem; color: var(--pd-text); line-height: 1.6; }
.pd-muted, .pd-muted p { color: var(--pd-text); font-size: 1rem; }
@media (max-width: 767px) {
  .pd-h1 .elementor-heading-title { font-size: 2.1rem; }
  .pd-h2 .elementor-heading-title { font-size: 1.6rem; }
}

/* ---------- Buttons ---------- */
.pd-btn, .pd-btn .elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 3rem; padding: 0 1.375rem; border-radius: var(--pd-radius-sm);
  font-family: var(--pd-font-head); font-size: 1rem; font-weight: 600; line-height: 1.2;
  text-decoration: none; border: 1px solid transparent; transition: background .2s, color .2s, border-color .2s; cursor: pointer;
}
.pd-btn--sm, .pd-btn--sm .elementor-button { min-height: 2.5rem; padding: 0 1rem; font-size: .9375rem; }
body.pd26 .pd-btn--accent, body.pd26 .pd-btn--accent .elementor-button { background: var(--pd-lime); border-color: var(--pd-lime); color: var(--pd-ink); }
body.pd26 .pd-btn--accent:hover, body.pd26 .pd-btn--accent .elementor-button:hover { background: var(--pd-lime-hover); border-color: var(--pd-lime-hover); color: var(--pd-ink); }
body.pd26 .pd-btn--ghost .elementor-button { background: transparent; border-color: #fff; color: #fff; }
body.pd26 .pd-btn--ghost .elementor-button:hover { background: #fff; color: var(--pd-ink); }
body.pd26 .pd-btn--outline .elementor-button { background: #fff; border-color: var(--pd-green); color: var(--pd-green); }
body.pd26 .pd-btn--outline .elementor-button:hover { background: var(--pd-green); color: #fff; }
body.pd26 .pd-btn--primary .elementor-button { background: var(--pd-green); border-color: var(--pd-green); color: #fff; }
body.pd26 .pd-btn--primary .elementor-button:hover { background: var(--pd-green-hover); }
.pd-btn svg, .pd-btn .elementor-button-icon svg { width: 1em; height: 1em; }
.elementor-button-content-wrapper { gap: .5rem; }

/* "Toutes les solutions →" style text link */
.pd-more .elementor-heading-title, .pd-more .elementor-heading-title a, a.pd-more {
  display: inline-flex; align-items: center; gap: .4rem; min-height: 2rem;
  font-family: var(--pd-font-head); font-size: .9375rem; font-weight: 600; color: var(--pd-green); text-decoration: none;
}
.pd-more .elementor-heading-title a::after, .pd-card__more .elementor-heading-title::after { content: "→"; transition: transform .2s; }
.pd-more a:hover::after, .pd-card:hover .pd-card__more .elementor-heading-title::after { transform: translateX(3px); }

/* ---------- Sections ---------- */
.pd-section--light { background: var(--pd-bg); }
.pd-section-head { gap: 1.5rem; }
.pd-section-head .pd-h2 { margin-top: .25rem; }

/* ---------- Cards ---------- */
.pd-card {
  background: #fff; border: 1px solid var(--pd-line); border-radius: var(--pd-radius);
  transition: border-color .2s, box-shadow .2s, transform .2s; text-decoration: none; color: inherit;
}
a.pd-card:hover, .pd-card:has(a:hover) { border-color: var(--pd-green); box-shadow: 0 10px 30px rgba(33, 33, 33, .08); }
.pd-card .elementor-widget-text-editor, .pd-card .elementor-widget-text-editor p { color: var(--pd-text); font-size: .9375rem; line-height: 1.5; }
.pd-card__more .elementor-heading-title { font-family: var(--pd-font-head); font-size: .9375rem; font-weight: 600; color: var(--pd-green); display: inline-flex; gap: .4rem; }
.pd-card--fill { height: 100%; }
.pd-card--fill > .e-con-inner, .pd-card--fill { justify-content: flex-start; }
.pd-card .pd-push { margin-top: auto; }

/* icon tile */
.pd-tile .elementor-icon {
  width: 2.75rem; height: 2.75rem; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--pd-tint); color: var(--pd-green); font-size: 1.25rem; padding: 0;
}
.pd-tile .elementor-icon svg { width: 1.25rem; height: 1.25rem; fill: currentColor; }
.pd-tile--solid .elementor-icon { background: var(--pd-green); color: #fff; }
.pd-tile .elementor-icon i { font-size: 1.25rem; }

/* service row card (icon | title | chevron) */
.pd-row-card { flex-direction: row !important; align-items: center !important; }
.pd-row-card .pd-row-card__title { flex: 1 1 auto; }
.pd-row-card::after { content: "›"; font-size: 1.6rem; line-height: 1; color: var(--pd-text); margin-left: auto; transition: transform .2s; }
.pd-row-card:hover::after { transform: translateX(3px); color: var(--pd-green); }

/* ---------- Hero ---------- */
.pd-hero { background: var(--pd-ink); color: #fff; }
.pd-hero .pd-eyebrow .elementor-heading-title { color: var(--pd-lime); }
.pd-hero .pd-h1 .elementor-heading-title { color: #fff; }
.pd-hero .pd-lead, .pd-hero .pd-lead p { color: var(--pd-on-dark); font-size: 1.1875rem; max-width: 37.5rem; }
.pd-hero__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; display: block; }

/* ---------- Key figures ---------- */
.pd-stat { border-left: 3px solid var(--pd-lime); padding: .5rem 0 .5rem 1.25rem; }
.pd-stat__num .elementor-heading-title { font-size: 2.25rem; font-weight: 700; line-height: 1.1; color: var(--pd-green); }
.pd-stat__label, .pd-stat__label p { color: var(--pd-text); font-size: 1rem; }

/* ---------- Platform image cards ---------- */
.pd-photo-card { text-decoration: none; color: inherit; }
.pd-photo-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 12px; display: block; transition: transform .3s; }
.pd-photo-card .elementor-widget-image { overflow: hidden; border-radius: 12px; }
.pd-photo-card:hover img { transform: scale(1.03); }
.pd-photo-card__title { gap: 1rem; }
.pd-photo-card__title .elementor-heading-title { font-size: 1.2rem; font-weight: 600; color: var(--pd-ink); }
.pd-photo-card__title::after { content: "→"; color: var(--pd-green); font-weight: 600; margin-left: auto; transition: transform .2s; }
.pd-photo-card:hover .pd-photo-card__title::after { transform: translateX(3px); }

/* ---------- News cards ([pd_news]) ---------- */
.pd-news { display: grid; grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); gap: 1.5rem; }
.pd-news__item { display: flex; flex-direction: column; gap: .75rem; }
.pd-news__media { display: block; overflow: hidden; border-radius: 12px; background: var(--pd-bg); aspect-ratio: 16 / 10; }
.pd-news__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.pd-news__item:hover .pd-news__media img { transform: scale(1.03); }
.pd-news__meta { margin: 0; display: flex; flex-wrap: wrap; gap: .25rem .75rem; align-items: baseline; font-size: .875rem; color: var(--pd-text); }
.pd-news__cats { font-family: var(--pd-font-head); font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--pd-green); }
.pd-news__title { margin: 0; font-size: 1.2rem; font-weight: 600; line-height: 1.35; }
body.pd26 .pd-news__title a { color: var(--pd-ink); text-decoration: none; }
body.pd26 .pd-news__title a:hover { color: var(--pd-green); text-decoration: underline; }

/* ---------- Testimonial ---------- */
.pd-quote { gap: 1.5rem; }
.pd-quote__mark .elementor-heading-title { font-family: Georgia, serif; font-size: 7.5rem; line-height: .7; color: var(--pd-lime); }
.pd-quote__text, .pd-quote__text p { font-family: var(--pd-font-head); font-size: 1.6rem; font-weight: 500; line-height: 1.4; color: var(--pd-ink); }
.pd-quote__author .elementor-heading-title { font-size: 1rem; font-weight: 700; color: var(--pd-ink); }
.pd-quote__org, .pd-quote__org p { color: var(--pd-text); font-size: .9375rem; }
@media (max-width: 767px) { .pd-quote__text, .pd-quote__text p { font-size: 1.25rem; } }

/* ---------- Member logos ---------- */
.pd-logo-tile { border: 1px solid var(--pd-line); border-radius: 12px; background: #fff; padding: .75rem; }
.pd-logo-tile img { width: 100%; height: 5.5rem; object-fit: contain; display: block; }

/* ---------- Newsletter band ---------- */
.pd-band { background: var(--pd-green); color: #fff; }
.pd-band .elementor-heading-title { color: #fff; font-size: 1.75rem; font-weight: 700; }
.pd-band .elementor-widget-text-editor, .pd-band .elementor-widget-text-editor p { color: var(--pd-on-dark); }
.pd-newsletter { margin: 0; }
.pd-newsletter__label { display: block; font-size: .875rem; font-weight: 600; margin-bottom: .4rem; color: #fff; }
.pd-newsletter__row { display: flex; gap: .5rem; flex-wrap: wrap; }
.pd-newsletter input.pdn-email:not(#pd-x) {
  flex: 1 1 16rem; height: 3rem; padding: 0 .9rem; border: 1px solid transparent; border-radius: var(--pd-radius-sm);
  background: #fff; color: var(--pd-ink); font: inherit; font-size: 1rem; font-weight: 400;
}
.pd-newsletter input.pdn-email:not(#pd-x):focus { border-color: var(--pd-lime); outline: 2px solid var(--pd-lime); }
.pd-newsletter .pd-btn { min-width: 9rem; }
.pd-newsletter__msg { margin: .6rem 0 0; font-weight: 600; color: #fff; }
.pd-band--card { background: var(--pd-ink); border-radius: var(--pd-radius); }

/* =====================================================================
   Header ([pd_header])
   ===================================================================== */
.pdh { position: relative; z-index: 50; font-family: var(--pd-font-body); }
.pdh-top { background: var(--pd-burgundy); color: #F1DCDA; font-size: .875rem; }
.pdh-top__in { min-height: 2.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.pdh-gov { margin: 0; display: flex; align-items: center; gap: .6rem; }
.pdh-emblem { width: 1.375rem; height: 1.375rem; border-radius: 50%; border: 1.5px solid var(--pd-lime); flex: 0 0 auto; }
.pdh-gov__short { display: none; }
.pdh-tools { display: flex; align-items: center; gap: .875rem; flex-wrap: wrap; }
.pdh-a11y { display: flex; align-items: center; gap: .25rem; }
.pdh-a11y__label { font-size: .8125rem; margin-right: .25rem; }
.pdh-a11y button {
  min-width: 2rem; height: 2rem; padding: 0 .5rem; border-radius: 4px; border: 1px solid rgba(255, 255, 255, .35);
  background: transparent; color: #fff; font: inherit; font-size: .8125rem; font-weight: 600; cursor: pointer;
}
.pdh-a11y button:hover, .pdh-a11y button[aria-pressed="true"] { background: #fff; color: var(--pd-burgundy); }
.pdh-sep { width: 1px; height: 1rem; background: rgba(255, 255, 255, .35); }
body.pd26 .pdh-press { color: #F1DCDA; text-decoration: none; padding: .6rem .25rem; }
body.pd26 .pdh-press:hover { color: #fff; text-decoration: underline; }

.pdh-brand { background: #fff; border-bottom: 1px solid var(--pd-line); }
.pdh-brand__in { padding-top: .875rem; padding-bottom: .875rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.pdh-logos { display: flex; align-items: center; gap: 1rem; text-decoration: none; min-width: 0; }
.pdh-logo { display: block; width: auto; object-fit: contain; }
.pdh-logo--ministry { height: 4rem; }
.pdh-logo--pd { height: 3.5rem; }
.pdh-logo--gg { height: 3.5rem; }
.pdh-vsep { width: 1px; height: 2.75rem; background: var(--pd-line); }
.pdh-search { display: flex; align-items: center; gap: .5rem; }
.pdh-search__field {
  display: flex; align-items: center; gap: .625rem; width: 21.25rem; height: 3rem; padding: 0 .875rem;
  border: 1px solid var(--pd-line-strong); border-radius: var(--pd-radius-sm); box-sizing: border-box; color: var(--pd-text);
}
.pdh-search__field:focus-within { border-color: var(--pd-green); }
html body .pdh #pdh-q {
  border: 0; outline: 0; height: auto; padding: 0; background: transparent; box-shadow: none;
  font: inherit; font-size: .9375rem; font-weight: 400; color: var(--pd-ink); flex: 1 1 auto; min-width: 0;
}
.pdh-search__btn {
  width: 3rem; height: 3rem; border: 0; border-radius: var(--pd-radius-sm); background: var(--pd-green); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
.pdh-search__btn:hover { background: var(--pd-green-hover); }
.pdh-icon-btn {
  display: none; width: 2.75rem; height: 2.75rem; border: 0; border-radius: var(--pd-radius-sm); background: transparent;
  color: var(--pd-ink); align-items: center; justify-content: center; cursor: pointer;
}
.pdh-icon-btn svg { width: 1.375rem; height: 1.375rem; }
.pdh-burger svg + svg, .pdh-burger[aria-expanded="true"] svg:first-child { display: none; }
.pdh-burger[aria-expanded="true"] svg + svg { display: block; }

.pdh-nav { background: var(--pd-green); }
.pdh-nav__in { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.pdh-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.pdh-menu__item { margin: 0; }
.pdh-menu__link {
  display: inline-flex; align-items: center; gap: .3rem; padding: 1.0625rem .875rem .875rem; border: 0;
  border-bottom: 3px solid transparent; background: transparent; cursor: pointer;
  font-family: var(--pd-font-body); font-size: 1rem; font-weight: 600; line-height: 1.6; color: #E4EFE6; text-decoration: none;
}
body.pd26 .pdh-menu__link { color: #E4EFE6; }
body.pd26 .pdh-menu__link:hover, body.pd26 .pdh-menu__toggle[aria-expanded="true"],
body.pd26 .is-current > .pdh-menu__link { color: #fff; border-bottom-color: var(--pd-lime); }
.pdh-menu__toggle svg { width: .875rem; height: .875rem; transition: transform .2s; }
.pdh-menu__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.pdh-cta { white-space: nowrap; }

/* mega panel */
.pdm { position: absolute; left: 0; right: 0; top: 100%; background: #fff; box-shadow: 0 24px 40px rgba(33, 33, 33, .18); border-top: 1px solid var(--pd-line); }
.pdm[hidden] { display: none; }
.pdm-grid { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 2.5rem; padding-top: 2.5rem; padding-bottom: 3rem; }
.pdm-group + .pdm-group { margin-top: 2rem; }
.pdm ul { list-style: none; margin: .75rem 0 0; padding: 0; }
.pdm li { margin: 0; }
.pdm a { display: block; padding: .45rem 0; text-decoration: none; color: var(--pd-ink); }
body.pd26 .pdm a:hover, body.pd26 .pdm a[aria-current] { color: var(--pd-green); text-decoration: underline; }
.pdm .pdm-strong { font-weight: 600; }
.pdm-box { background: var(--pd-bg); border-radius: 16px; padding: 1.5rem; }
.pdm-subs { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 1rem; }
.pdm .pdm-subtitle { font-family: var(--pd-font-head); font-weight: 600; font-size: 1.1rem; padding-top: 0; }
.pdm-sub ul { margin-top: .25rem; }

/* ---------- Header: tablet & mobile ---------- */
@media (max-width: 1100px) {
  .pdh-search__field { width: 15rem; }
  .pdh-a11y__label { display: none; }
}
@media (max-width: 1024px) {
  .pdh-gov__long { display: none; }
  .pdh-gov__short { display: inline; }
  .pdh-a11y, .pdh-sep, .pdh-press { display: none; }
  .pdh-logo--ministry, .pdh-logo--gg, .pdh-vsep { display: none; }
  .pdh-logo--pd { height: 2.75rem; }
  .pdh-icon-btn { display: inline-flex; }
  .pdh-search-toggle { margin-left: auto; }
  .pdh-brand__in { gap: .25rem; }
  .pdh-search { display: none; position: absolute; left: 0; right: 0; top: 100%; padding: .75rem var(--pd-gutter); background: #fff; border-bottom: 1px solid var(--pd-line); }
  .pdh-search.is-open { display: flex; }
  .pdh-search__field { flex: 1 1 auto; width: auto; }
  .pdh-brand { position: relative; }
  .pdh-nav { display: none; }
  .pdh-nav.is-open { display: block; position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100vh - 7rem); overflow-y: auto; background: #fff; box-shadow: 0 24px 40px rgba(33, 33, 33, .18); }
  .pdh-nav__in { flex-direction: column; align-items: stretch; padding-top: 1rem; padding-bottom: 1rem; }
  .pdh-menu { flex-direction: column; }
  .pdh-menu__item:has(.pdh-menu__toggle) { display: none; } /* their links are listed below, grouped */
  body.pd26 .pdh-menu__link { color: var(--pd-ink); padding: .75rem 0; border: 0; width: 100%; }
  .pdh-cta { margin-top: .75rem; }
  .pdm, .pdm[hidden] { display: block; position: static; box-shadow: none; border-top: 1px solid var(--pd-line); }
  .pdm-grid { grid-template-columns: 1fr; gap: 1.5rem; padding-top: 1.25rem; padding-bottom: 1.5rem; }
  .pdm-subs { grid-template-columns: 1fr; }
}

/* =====================================================================
   Footer (Elementor template, classes below)
   ===================================================================== */
.pdf { background: var(--pd-ink); color: var(--pd-on-dark-muted); font-size: .9375rem; }
.pdf .elementor-heading-title { color: #fff; }
.pdf__brand .elementor-heading-title { font-size: 1.375rem; font-weight: 700; }
.pdf__col-title .elementor-heading-title { font-size: 1rem; font-weight: 600; }
.pdf .elementor-widget-text-editor, .pdf .elementor-widget-text-editor p { color: var(--pd-on-dark-muted); }
.pdf__tagline p, .pdf__tagline { color: var(--pd-lime) !important; font-style: italic; font-weight: 600; }
.pdf .elementor-icon-list-text, .pdf .elementor-icon-list-item a { color: var(--pd-on-dark-muted); }
body.pd26 .pdf a:hover .elementor-icon-list-text, body.pd26 .pdf a:hover { color: #fff; }
.pdf .elementor-icon-list-icon i, .pdf .elementor-icon-list-icon svg { color: var(--pd-lime); fill: var(--pd-lime); }
.pdf__links .elementor-icon-list-item { padding: .3rem 0 !important; }
.pdf__rule { border-top: 1px solid rgba(255, 255, 255, .14); }
.pdf__logo img { height: 3.5rem; width: auto; object-fit: contain; background: #fff; border-radius: 8px; padding: .3rem; }
.pdf__ext .elementor-icon-list-text { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pdf__legal, .pdf__legal p { font-size: .8125rem; color: #9E9E9E; }
.pdf__small .elementor-icon-list-text, .pdf__small { font-size: .875rem; }

/* =====================================================================
   High contrast mode
   ===================================================================== */
html.pd-contrast body.pd26 { background: #fff; color: #000; }
html.pd-contrast body.pd26 a { text-decoration: underline; }
html.pd-contrast .pd-section--light, html.pd-contrast .pdm-box { background: #fff; }
html.pd-contrast .pd-card, html.pd-contrast .pd-logo-tile, html.pd-contrast .pdh-search__field { border-color: #000; }
html.pd-contrast .pd-muted, html.pd-contrast .pd-muted p, html.pd-contrast .pd-lead, html.pd-contrast .pd-lead p,
html.pd-contrast .pd-card .elementor-widget-text-editor p, html.pd-contrast .pd-news__meta { color: #000; }
html.pd-contrast .pd-eyebrow .elementor-heading-title, html.pd-contrast .pd-news__cats, html.pd-contrast .pd-more a { color: #0B4A1C; }
html.pd-contrast .pdh-top, html.pd-contrast .pd-hero, html.pd-contrast .pdf, html.pd-contrast .pd-band { background: #000; }
html.pd-contrast .pdh-nav { background: #0B4A1C; }
html.pd-contrast .pd-hero .pd-lead p, html.pd-contrast .pdf, html.pd-contrast .pdf p, html.pd-contrast .pdf .elementor-icon-list-text { color: #fff; }
html.pd-contrast body.pd26 :focus-visible { outline-color: #FFD400; }

@media (prefers-reduced-motion: reduce) {
  .pd26 *, .pd26 *::before, .pd26 *::after { transition: none !important; }
}

/* =====================================================================
   Specificity guards: the old Elementor kit styles h1–h6 (".elementor-kit-N h3", 36px / 56px)
   and Elementor sizes images (".elementor img"). On pd26 pages the design system wins.
   ===================================================================== */
body.pd26 .elementor-heading-title { line-height: 1.3; }
body.pd26 .pd-h1 .elementor-heading-title { font-size: 3.25rem; line-height: 1.12; }
body.pd26 .pd-h2 .elementor-heading-title { font-size: 2rem; line-height: 1.2; }
body.pd26 .pd-h3 .elementor-heading-title { font-size: 1.15rem; line-height: 1.3; }
body.pd26 .pd-photo-card__title .elementor-heading-title { font-size: 1.2rem; line-height: 1.35; }
body.pd26 .pd-news__title { font-size: 1.2rem; line-height: 1.35; font-weight: 600; }
body.pd26 .pd-band .elementor-heading-title { font-size: 1.75rem; line-height: 1.25; }
body.pd26 .pd-quote__mark .elementor-heading-title { font-size: 7.5rem; line-height: .7; }
@media (max-width: 767px) {
  body.pd26 .pd-h1 .elementor-heading-title { font-size: 2.1rem; }
  body.pd26 .pd-h2 .elementor-heading-title { font-size: 1.6rem; }
}
.pdh .pdh-logo { max-width: none; }
.pdh .pdh-logo--ministry { height: 4rem; width: auto; }
.pdh .pdh-logo--pd, .pdh .pdh-logo--gg { height: 3.5rem; width: auto; }
@media (max-width: 1024px) { .pdh .pdh-logo--pd { height: 2.75rem; } }
body.pd26 .pd-tile .elementor-icon { width: 2.75rem; height: 2.75rem; border-radius: 12px; background: var(--pd-tint); color: var(--pd-green); font-size: 1.25rem; }
body.pd26 .pd-tile--solid .elementor-icon { background: var(--pd-green); color: #fff; }
body.pd26 .pd-tile .elementor-icon i { color: inherit; }
body.pd26 .pdf__logo img { height: 3.5rem; width: auto; max-width: none; }
body.pd26 .pd-hero__media img, body.pd26 .pd-photo-card img { height: auto; }
body.pd26 .pd-logo-tile img { height: 5.5rem; width: 100%; }

/* testimonial: quote takes the free space, caption keeps its width */
.pd-quote > .e-con:nth-child(2) { flex: 1 1 auto; width: auto; }
.pd-quote > .e-con:last-child { flex: 0 0 auto; width: auto; }
.pd-quote blockquote { margin: 0; padding: 0; border: 0; font-style: normal; }
figure.pd-quote { margin: 0; }
body.pd26 .pd-stat__num .elementor-heading-title { white-space: nowrap; }
.pd-quote > .elementor-widget-heading:first-child { flex: 0 0 4.5rem; width: 4.5rem; align-self: flex-start; }
.pdh .pdh-logo--pd { height: 4rem; }

/* Hello Elementor styles every <button> (pink #c36 on hover/focus): reset the header's buttons */
.pdh button, .pdh button:hover, .pdh button:focus {
  box-shadow: none; text-transform: none; letter-spacing: normal;
}
.pdh .pdh-menu__toggle, .pdh .pdh-menu__toggle:hover, .pdh .pdh-menu__toggle:focus { background: transparent; border-radius: 0; border: 0; border-bottom: 3px solid transparent; }
body.pd26 .pdh .pdh-menu__toggle:hover, body.pd26 .pdh .pdh-menu__toggle[aria-expanded="true"] { color: #fff; border-bottom-color: var(--pd-lime); }
.pdh .pdh-a11y button:focus:not(:hover):not([aria-pressed="true"]) { background: transparent; color: #fff; }
.pdh .pdh-icon-btn:hover, .pdh .pdh-icon-btn:focus { background: var(--pd-bg); color: var(--pd-ink); }
.pdh .pdh-search__btn:focus { background: var(--pd-green); color: #fff; }
html.pd-contrast .pd-hero .pd-eyebrow .elementor-heading-title, html.pd-contrast .pdf__tagline p { color: #FFD400 !important; }
html.pd-contrast .pdh .pdh-menu__link { color: #fff; }
@media (max-width: 1024px) {
  body.pd26 .pdh .pdh-menu .pdh-menu__link { color: var(--pd-ink); border: 0; }
  body.pd26 .pdh .pdh-menu .is-current > .pdh-menu__link { color: var(--pd-green); }
  .pdh .pdh-icon-btn svg { width: 1.375rem; height: 1.375rem; }
}

/* grid rows follow their content (Elementor's "N fr" rows make every row as tall as the tallest one) */
body.pd26 .e-con.e-grid { --e-con-grid-template-rows: none; grid-template-rows: none; grid-auto-rows: auto; }
/* service row cards stay "icon | title | ›" at every size */
body.pd26 .pd-row-card { --flex-direction: row; --flex-wrap: nowrap; }
body.pd26 .pd-row-card > .elementor-widget { width: auto; max-width: none; }
body.pd26 .pd-row-card > .pd-row-card__title { flex: 1 1 auto; }
@media (max-width: 767px) {
  .pd-quote > .elementor-widget-heading:first-child { flex-basis: auto; width: auto; }
  .pd-quote__mark .elementor-heading-title { font-size: 5rem !important; }
}
body.pd26 .pd-photo-card__title { --flex-direction: row; --flex-wrap: nowrap; }
body.pd26 .pd-photo-card__title > .elementor-widget { width: auto; max-width: none; flex: 1 1 auto; }

/* =====================================================================
   Inner pages (phase 2): page header, side column, lists
   ===================================================================== */
.pd-pagehead-band { background: var(--pd-bg); border-bottom: 1px solid var(--pd-line); }
.pd-crumbs ol { list-style: none; margin: 0 0 2rem; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; font-size: .875rem; color: var(--pd-text); }
.pd-crumbs li + li::before { content: "/"; margin: 0 .5rem 0 .25rem; color: var(--pd-line-strong); }
body.pd26 .pd-crumbs a { color: var(--pd-text); text-decoration: underline; text-underline-offset: 2px; }
body.pd26 .pd-crumbs a:hover { color: var(--pd-green); }
.pd-crumbs [aria-current] { color: var(--pd-ink); font-weight: 600; }
.pd-pagehead__eyebrow { margin: 0 0 .5rem; padding-top: 1rem; border-top: 3px solid var(--pd-lime); display: inline-block;
  font-family: var(--pd-font-head); font-size: .8125rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--pd-green); }
body.pd26 .pd-pagehead__title { margin: 0 0 .75rem; font-size: 3rem; line-height: 1.1; font-weight: 700; color: var(--pd-ink); }
.pd-pagehead__lead { margin: 0; max-width: 46rem; font-size: 1.1875rem; line-height: 1.6; color: var(--pd-text); }
@media (max-width: 767px) { body.pd26 .pd-pagehead__title { font-size: 2.1rem; } }

/* main + aside layout */
@media (min-width: 1025px) { .pd-layout__aside { position: sticky; top: 1.5rem; align-self: flex-start; } }
.pd-aside { border: 1px solid var(--pd-line); border-radius: var(--pd-radius); padding: 1.25rem; background: #fff; }
.pd-aside--tint { background: var(--pd-bg); }
.pd-aside__eyebrow { margin: 0 0 .5rem; font-family: var(--pd-font-head); font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--pd-text); }
.pd-subnav ul { list-style: none; margin: 0; padding: 0; }
body.pd26 .pd-subnav a { display: block; padding: .7rem .75rem; border-radius: var(--pd-radius-sm); font-weight: 600; color: var(--pd-ink); text-decoration: none; }
body.pd26 .pd-subnav a:hover { background: var(--pd-bg); color: var(--pd-green); }
body.pd26 .pd-subnav a[aria-current] { background: var(--pd-tint); color: var(--pd-green); }
body.pd26 .pd-aside .pd-aside__title .elementor-heading-title { font-size: 1.15rem; line-height: 1.3; font-weight: 700; }
.pd-aside .elementor-widget-text-editor p { color: var(--pd-text); font-size: .9375rem; }
body.pd26 .pd-link-arrow { display: inline-flex; gap: .4rem; align-items: center; font-weight: 600; color: var(--pd-green); text-decoration: underline; text-underline-offset: 3px; }
.pd-link-arrow::after { content: "→"; }

/* tabs (filters) */
.pd-tabs { display: flex; flex-wrap: wrap; gap: .25rem; border-bottom: 1px solid var(--pd-line); margin-bottom: 1.5rem; }
.pd26 .pd-tab, .pd26 .pd-tab:hover, .pd26 .pd-tab:focus {
  padding: .8rem 1rem; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent;
  font: 600 1rem/1.3 var(--pd-font-body); color: var(--pd-text); cursor: pointer; margin-bottom: -1px; text-transform: none;
}
.pd26 .pd-tab:hover { color: var(--pd-ink); }
.pd26 .pd-tab[aria-pressed="true"] { color: var(--pd-ink); border-bottom-color: var(--pd-green); }
.pd-filterbar { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.pd-filterbar .pd-tabs { margin-bottom: 0; }
.pd-select { display: flex; flex-direction: column; gap: .3rem; font-size: .875rem; font-weight: 600; }
.pd-select select:not(#pd-x) { height: 2.75rem; min-width: 12rem; padding: 0 .75rem; border: 1px solid var(--pd-line-strong); border-radius: var(--pd-radius-sm);
  background: #fff; font: inherit; font-weight: 400; font-size: 1rem; color: var(--pd-ink); }
.pd-empty { padding: 2rem; text-align: center; color: var(--pd-text); border: 1px dashed var(--pd-line-strong); border-radius: var(--pd-radius); }
.pd26 [hidden] { display: none !important; }

/* offers */
.pd-list { display: flex; flex-direction: column; gap: 1rem; }
.pd-offer { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.25rem 1.5rem;
  border: 1px solid var(--pd-line); border-radius: var(--pd-radius); background: #fff; }
.pd-offer__top { margin: 0 0 .4rem; display: flex; gap: .6rem; align-items: center; font-size: .8125rem; color: var(--pd-text); }
.pd-badge { padding: .15rem .55rem; border-radius: 4px; background: var(--pd-bg); border: 1px solid var(--pd-line); font-weight: 600; font-size: .8125rem; color: var(--pd-text); }
.pd-badge--open { background: var(--pd-tint); border-color: transparent; color: var(--pd-green); }
body.pd26 .pd-offer__title { margin: 0 0 .35rem; font-size: 1.15rem; line-height: 1.35; font-weight: 600; color: var(--pd-ink); }
.pd-offer__meta { margin: 0; display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; font-size: .9375rem; color: var(--pd-text); }
body.pd26 .pd-btn--line { min-height: 2.75rem; background: #fff; border-color: var(--pd-green); color: var(--pd-green); flex: 0 0 auto; }
body.pd26 .pd-btn--line:hover { background: var(--pd-green); color: #fff; }
@media (max-width: 767px) { .pd-offer { flex-direction: column; align-items: flex-start; } }

/* grids */
.pd-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.pd-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
@media (max-width: 1024px) { .pd-grid3, .pd-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pd-grid3, .pd-grid4 { grid-template-columns: 1fr; } }
.pd-grid3 > .pd-empty, .pd-grid4 > .pd-empty { grid-column: 1 / -1; }

/* conventions */
.pd-conv { display: flex; flex-direction: column; gap: 1rem; padding: 1.25rem; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); background: #fff; }
.pd-conv__head { display: flex; gap: .9rem; align-items: center; }
.pd-conv__logo { width: 3.5rem; height: 3.5rem; flex: 0 0 auto; border-radius: 10px; border: 1px solid var(--pd-line); background: #fff;
  display: flex; align-items: center; justify-content: center; overflow: hidden; font: 700 1rem var(--pd-font-head); color: var(--pd-green); }
body.pd26 .pd-conv__logo img { width: 100%; height: 100%; object-fit: contain; padding: .25rem; }
body.pd26 .pd-conv__name { margin: 0; font-size: 1.1rem; line-height: 1.3; font-weight: 600; color: var(--pd-ink); }
.pd-conv__cat { margin: .1rem 0 0; font-size: .875rem; color: var(--pd-text); }
.pd-conv__obj { margin: 0; font-size: .9375rem; line-height: 1.55; color: var(--pd-text); flex: 1 1 auto; }
.pd-conv__foot { margin: 0; padding-top: .75rem; border-top: 1px solid var(--pd-line); display: flex; justify-content: space-between; font-size: .875rem; color: var(--pd-text); }
body.pd26 .pd-conv__foot a { font-weight: 600; color: var(--pd-green); }

/* team */
.pd-lead-card { display: flex; align-items: center; gap: 2rem; padding: 1.5rem; margin-bottom: 2.5rem; border-radius: 18px; background: var(--pd-bg); }
body.pd26 .pd-lead-card__photo { width: 10rem; height: 10rem; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
body.pd26 .pd-lead-card__name { margin: .3rem 0; font-size: 1.75rem; line-height: 1.2; font-weight: 700; color: var(--pd-ink); }
.pd-lead-card__role { margin: 0 0 .75rem; color: var(--pd-text); }
.pd-member { display: flex; flex-direction: column; gap: .3rem; }
body.pd26 .pd-member__photo { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 12px; margin-bottom: .6rem; }
body.pd26 .pd-member__name { margin: 0; font-size: 1.1rem; line-height: 1.3; font-weight: 600; color: var(--pd-ink); }
.pd-member__role { margin: 0; font-size: .9375rem; color: var(--pd-text); }
.pd-member__links { margin: .2rem 0 0; display: flex; gap: 1rem; }
body.pd26 .pd-member__links a { font-weight: 600; color: var(--pd-green); text-decoration: underline; text-underline-offset: 3px; }
.pd-avatar { display: flex; align-items: center; justify-content: center; font: 700 2.5rem var(--pd-font-head); color: var(--pd-green); background: var(--pd-tint); }
.pd-avatar--sm { width: 2.75rem; height: 2.75rem; border-radius: 50%; font-size: 1rem; flex: 0 0 auto; }
.pd-council { margin-top: 4rem; }
body.pd26 .pd-council__title { margin: .25rem 0 1.5rem; font-size: 2rem; font-weight: 700; color: var(--pd-ink); }
.pd-council__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.pd-council__list li { display: flex; gap: .9rem; align-items: center; padding: 1rem; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); }
@media (max-width: 1024px) { .pd-council__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pd-council__list { grid-template-columns: 1fr; } .pd-lead-card { flex-direction: column; text-align: center; } }

/* numbered axis cards (01 02 03) */
body.pd26 .pd-step__num .elementor-heading-title { font-family: var(--pd-font-head); color: #7E9A2E; font-size: 1.5rem; line-height: 1.2; font-weight: 700; }
body.pd26 .pd-h3--lg .elementor-heading-title { font-size: 1.4rem; line-height: 1.3; }

/* Directrice */
body.pd26 .pd-portrait img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; border-radius: var(--pd-radius); display: block; }
body.pd26 .pd-pullquote .elementor-heading-title { font-family: var(--pd-font-head); font-size: 1.6rem; line-height: 1.4; font-weight: 600; color: var(--pd-ink); }
.pd-prose p { font-size: 1.0625rem; line-height: 1.7; color: var(--pd-ink); }
.pd-signature { border-top: 1px solid var(--pd-line); padding-top: 1rem; }
body.pd26 .pd-signature .elementor-heading-title { font-size: 1.1rem; font-weight: 700; color: var(--pd-ink); }

/* site cards */
.pd-site-map iframe { width: 100%; height: 16rem; border: 0; border-radius: 12px; display: block; }

/* CTA band (light) */
.pd-cta-band { background: var(--pd-bg); }
body.pd26 .pd-cta-band .pd-h2 .elementor-heading-title { font-size: 1.75rem; }

/* contrast */
html.pd-contrast .pd-pagehead-band, html.pd-contrast .pd-aside--tint, html.pd-contrast .pd-lead-card, html.pd-contrast .pd-cta-band { background: #fff; }
html.pd-contrast .pd-offer, html.pd-contrast .pd-conv, html.pd-contrast .pd-aside, html.pd-contrast .pd-council__list li { border-color: #000; }
html.pd-contrast .pd-offer__meta, html.pd-contrast .pd-conv__obj, html.pd-contrast .pd-member__role, html.pd-contrast .pd-pagehead__lead { color: #000; }
/* newsletter form inside a light side box */
.pd-aside .pd-newsletter__label, .pd-aside .pd-newsletter__msg { color: var(--pd-ink); }
.pd-aside .pd-newsletter input.pdn-email:not(#pd-x) { border-color: var(--pd-line-strong); flex-basis: 100%; }
.pd-aside .pd-newsletter .pd-btn { width: 100%; }

/* =====================================================================
   Programme pages (phase 3)
   ===================================================================== */
body.pd26 .pd-h2--sm .elementor-heading-title { font-size: 1.5rem; line-height: 1.3; }
.pd-card--tint { background: var(--pd-bg); }
body.pd26 .pd-media-cover img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--pd-radius); display: block; }
body.pd26 .pd-media-wide img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--pd-radius); display: block; }
body.pd26 .pd-media-plain img { width: 100%; height: auto; border-radius: var(--pd-radius); border: 1px solid var(--pd-line); display: block; }

/* check list */
.pd-check { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .6rem; }
.pd-check li { position: relative; padding-left: 2.1rem; line-height: 1.5; }
.pd-check li::before { content: ""; position: absolute; left: 0; top: .05rem; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: var(--pd-tint); }
.pd-check li::after { content: ""; position: absolute; left: .48rem; top: .33rem; width: .4rem; height: .7rem; border: solid var(--pd-green); border-width: 0 2px 2px 0; transform: rotate(45deg); }

/* numbered steps */
.pd-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1.1rem; }
.pd-steps li { display: flex; gap: 1rem; align-items: flex-start; }
.pd-steps__n { flex: 0 0 auto; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--pd-green); color: #fff;
  display: flex; align-items: center; justify-content: center; font: 700 1rem var(--pd-font-head); }
.pd-steps strong { display: block; font-family: var(--pd-font-head); font-weight: 600; color: var(--pd-ink); }
.pd-steps span:not(.pd-steps__n) { display: block; color: var(--pd-text); font-size: .9375rem; }

/* video */
.pd-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--pd-radius); overflow: hidden; background: var(--pd-ink); }
.pd-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* programme sheet, documents */
.pd-fiche { margin: 0; }
.pd-fiche > div { padding: .7rem 0; border-top: 1px solid var(--pd-line); }
.pd-fiche dt { font: 600 .75rem var(--pd-font-head); letter-spacing: .1em; text-transform: uppercase; color: var(--pd-text); }
.pd-fiche dd { margin: .2rem 0 0; font-weight: 600; color: var(--pd-ink); }
.pd-docs { list-style: none; margin: 0; padding: 0; }
.pd-docs li { display: flex; flex-direction: column; padding: .7rem 0 .7rem 1.8rem; border-top: 1px solid var(--pd-line); position: relative; }
.pd-docs li::before { content: ""; position: absolute; left: 0; top: .85rem; width: 1rem; height: 1.25rem; border: 2px solid var(--pd-green); border-radius: 2px; }
body.pd26 .pd-docs a { font-weight: 600; color: var(--pd-ink); }
body.pd26 .pd-docs a:hover { color: var(--pd-green); }
.pd-docs span { font-size: .8125rem; color: var(--pd-text); }

/* chips */
.pd-chips { margin: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.pd-chip { display: inline-block; padding: .2rem .6rem; border-radius: 6px; background: var(--pd-tint); color: var(--pd-green); font: 600 .8125rem/1.4 var(--pd-font-body); }
.pd-chip--solid { background: var(--pd-green); color: #fff; }

/* solutions */
.pd-solution { background: #fff; }
body.pd26 .pd-solution .pd-h2 .elementor-heading-title { font-size: 1.9rem; }
body.pd26 .pd-solution__sub .elementor-heading-title { font-family: var(--pd-font-head); font-size: 1.1rem; font-weight: 600; color: var(--pd-green); line-height: 1.4; }

/* featured project */
.pd-feature { background: var(--pd-ink); border-radius: 18px; color: #fff; margin-bottom: 1rem; }
.pd-feature .pd-eyebrow .elementor-heading-title { color: var(--pd-lime); }
body.pd26 .pd-feature .pd-h2 .elementor-heading-title, body.pd26 .pd-feature .pd-h2 a { color: #fff; text-decoration: none; }
body.pd26 .pd-feature .pd-h2 a:hover { text-decoration: underline; }
.pd-feature__text, .pd-feature__text p, .pd-feature__text li { color: var(--pd-on-dark); }
.pd-feature__text h3 { color: #fff; font-size: 1.05rem; margin: 1rem 0 .4rem; }
.pd-feature__text ul { margin: 0; padding-left: 1.1rem; }
.pd-feature__partners { font-size: .9375rem; }
.pd-feature__partners strong { color: #fff; }
.pd-feature__box { background: rgba(255, 255, 255, .06); border-radius: var(--pd-radius); padding: 1.5rem; }
body.pd26 .pd-feature__box .pd-h3 .elementor-heading-title { color: #fff; }
.pd-feature .pd-check li { color: var(--pd-on-dark); }
.pd-feature .pd-check li::before { background: rgba(164, 192, 83, .2); }
.pd-feature .pd-check li::after { border-color: var(--pd-lime); }

/* project cards */
.pd-proj { position: relative; display: flex; flex-direction: column; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); background: #fff; overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.pd-proj:hover { border-color: var(--pd-green); box-shadow: 0 10px 30px rgba(33, 33, 33, .08); }
.pd-proj__media { aspect-ratio: 16 / 9; background: var(--pd-bg); }
body.pd26 .pd-proj__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-proj__body { padding: 1.25rem; display: flex; flex-direction: column; gap: .6rem; flex: 1 1 auto; }
.pd-proj__tags { margin: 0; display: flex; flex-wrap: wrap; gap: .3rem; }
body.pd26 .pd-proj__title { margin: 0; font-size: 1.1rem; line-height: 1.35; font-weight: 600; }
body.pd26 .pd-proj__title a { color: var(--pd-ink); text-decoration: none; }
.pd-proj__title a::after { content: ""; position: absolute; inset: 0; } /* whole card clickable */
.pd-proj__text { margin: 0; font-size: .9375rem; line-height: 1.55; color: var(--pd-text); flex: 1 1 auto; }
.pd-proj__more { font: 600 .9375rem var(--pd-font-head); color: var(--pd-green); }
.pd-proj__more::after { content: " →"; }
body.pd26 .pd-proj__title a:focus-visible { outline: none; }
.pd-proj:focus-within { outline: 3px solid var(--pd-lime); outline-offset: 2px; }

html.pd-contrast .pd-feature { background: #000; }
html.pd-contrast .pd-proj, html.pd-contrast .pd-solution { border-color: #000; }
body.pd26 .pd-media-narrow img { max-width: 30rem; margin: 0 auto; }

/* =====================================================================
   Phase 4: Newsroom (article, archives), resources, forms, legal page
   ===================================================================== */
/* plain-HTML versions of the widget helpers */
body.pd26 h2.pd-h2 { margin: .25rem 0 0; font-size: 2rem; font-weight: 700; line-height: 1.2; color: var(--pd-ink); }
body.pd26 h2.pd-h2--sm { font-size: 1.5rem; line-height: 1.3; margin: 0; }
body.pd26 h2.pd-h2 a { color: inherit; text-decoration: none; }
body.pd26 h2.pd-h2 a:hover { color: var(--pd-green); text-decoration: underline; }
p.pd-eyebrow { margin: 0; }
body.pd26 a.pd-btn--primary, body.pd26 button.pd-btn--primary { background: var(--pd-green); border-color: var(--pd-green); color: #fff; }
body.pd26 a.pd-btn--primary:hover, body.pd26 button.pd-btn--primary:hover { background: var(--pd-green-hover); color: #fff; }
.pd-wrap--article { max-width: 55rem; }
.pd-wrap--media { max-width: 65rem; }
.pd-wrap--text { max-width: 47.5rem; }
@media (max-width: 767px) { body.pd26 h2.pd-h2 { font-size: 1.6rem; } }

/* page header printed by PHP (archives) – the Elementor version gets this spacing from its section */
div.pd-pagehead-band > .pd-pagehead { padding-top: 1.5rem; padding-bottom: 3.5rem; }
/* letter-spacing breaks the joining of Arabic letters */
body.pd26 [lang="ar"] { letter-spacing: 0 !important; }

/* Newsroom tabs */
.pd-roomtabs { border-bottom: 1px solid var(--pd-line); background: #fff; }
.pd-roomtabs .pd-wrap { display: flex; gap: .25rem; overflow-x: auto; scrollbar-width: thin; }
body.pd26 .pd-roomtabs a { flex: 0 0 auto; padding: 1rem 1.1rem .85rem; border-bottom: 3px solid transparent; font-weight: 600; color: var(--pd-text); text-decoration: none; }
body.pd26 .pd-roomtabs a:hover { color: var(--pd-ink); }
body.pd26 .pd-roomtabs a[aria-current] { color: var(--pd-ink); border-bottom-color: var(--pd-green); }

/* main + aside (archives) */
.pd-archive { padding-top: 3rem; padding-bottom: 4.5rem; }
.pd-archive--events { padding-top: 0; }
.pd-archive--events > .pd-wrap:first-child { padding-top: 3rem; }
.pd-archive--events > section { padding-top: 3rem; padding-bottom: 4.5rem; }
.pd-cols { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: 3rem; align-items: start; }
.pd-cols__aside { display: flex; flex-direction: column; gap: 1.25rem; }
@media (min-width: 1025px) { .pd-cols__aside { position: sticky; top: 1.5rem; } }
@media (max-width: 1024px) { .pd-cols { grid-template-columns: 1fr; } }
body.pd26 .pd-aside__h { margin: 0 0 .5rem; font-size: 1.15rem; line-height: 1.3; font-weight: 700; }
.pd-aside p { margin: 0 0 .75rem; }
.pd-aside p:last-child { margin-bottom: 0; }
.pd-filterbar__tools { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; }
.pd-autoform { flex-direction: row; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0; }
.pd-autoform label { flex-basis: 100%; }
.pd-autoform select:not(#pd-x) { min-width: 10rem; }
.pd-autoform.is-auto .pd-autoform__go { display: none; }

/* search box */
.pd-searchbox { display: flex; flex-direction: column; gap: .3rem; margin: 0; font-size: .875rem; font-weight: 600; flex: 1 1 16rem; }
.pd-searchbox__field { display: flex; align-items: center; gap: .6rem; height: 2.75rem; padding: 0 .8rem; border: 1px solid var(--pd-line-strong); border-radius: var(--pd-radius-sm); background: #fff; color: var(--pd-text); }
.pd-searchbox__field:focus-within { border-color: var(--pd-green); outline: 2px solid var(--pd-lime); }
.pd-searchbox input:not(#pd-x) { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; padding: 0; background: transparent; font: inherit; font-weight: 400; font-size: 1rem; color: var(--pd-ink); }

/* cards */
.pd-news--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 640px) { .pd-news--2 { grid-template-columns: 1fr; } }
.pd-news__body { display: flex; flex-direction: column; gap: .5rem; }
.pd-news__media--empty { background: linear-gradient(135deg, var(--pd-tint), var(--pd-bg)); }
.pd-lead-news { display: grid; grid-template-columns: 1.1fr 1fr; gap: 2rem; align-items: center; margin-bottom: 3rem;
  padding: 1.25rem; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); background: #fff; }
.pd-lead-news__media { position: relative; display: block; border-radius: 12px; overflow: hidden; aspect-ratio: 16 / 10; background: var(--pd-bg); }
.pd-lead-news__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-lead-news__flag { position: absolute; top: .9rem; left: .9rem; padding: .3rem .7rem; border-radius: 6px; background: var(--pd-lime); color: var(--pd-ink); font: 600 .8125rem var(--pd-font-head); }
.pd-lead-news__text { display: flex; flex-direction: column; gap: .75rem; align-items: flex-start; }
body.pd26 .pd-lead-news__title { margin: 0; font-size: 1.75rem; line-height: 1.25; font-weight: 700; }
body.pd26 .pd-lead-news__title a { color: var(--pd-ink); text-decoration: none; }
body.pd26 .pd-lead-news__title a:hover { color: var(--pd-green); text-decoration: underline; }
.pd-lead-news__text p { margin: 0; }
@media (max-width: 860px) { .pd-lead-news { grid-template-columns: 1fr; } body.pd26 .pd-lead-news__title { font-size: 1.4rem; } }

/* pagination */
.pd-pager { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 2.5rem; }
.pd-pager .page-numbers { min-width: 2.75rem; height: 2.75rem; padding: 0 .9rem; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--pd-line-strong); border-radius: var(--pd-radius-sm); font-weight: 600; text-decoration: none; color: var(--pd-ink); box-sizing: border-box; }
body.pd26 .pd-pager a.page-numbers:hover { border-color: var(--pd-green); color: var(--pd-green); }
.pd-pager .current { background: var(--pd-green); border-color: var(--pd-green); color: #fff; }
.pd-pager .dots { border: 0; min-width: auto; }

/* date badge, events */
.pd-datebadge { flex: 0 0 auto; width: 4.25rem; padding: .45rem 0; display: flex; flex-direction: column; align-items: center; border-radius: 10px;
  background: var(--pd-tint); color: var(--pd-green); font-family: var(--pd-font-head); line-height: 1.1; text-transform: uppercase; }
.pd-datebadge span { font-size: .75rem; font-weight: 600; letter-spacing: .05em; }
.pd-datebadge span:first-child { font-size: 1.5rem; font-weight: 700; color: var(--pd-ink); letter-spacing: 0; }
.pd-event { display: flex; gap: 1.25rem; align-items: center; padding: 1.1rem 1.25rem; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); background: #fff; }
.pd-event__body { flex: 1; min-width: 0; }
.pd-event__body p { margin: .3rem 0 0; font-size: .9375rem; }
body.pd26 .pd-event__title { margin: 0; font-size: 1.15rem; line-height: 1.35; font-weight: 600; }
body.pd26 .pd-event__title a { color: var(--pd-ink); text-decoration: none; }
body.pd26 .pd-event__title a:hover { color: var(--pd-green); text-decoration: underline; }
.pd-event__media { flex: 0 0 9rem; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: var(--pd-bg); }
.pd-event__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 640px) { .pd-event { align-items: flex-start; } .pd-event__media { display: none; } }
.pd-feature-event { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: center; padding: 2rem; border-radius: var(--pd-radius); background: var(--pd-ink); color: var(--pd-on-dark); }
.pd-feature-event__text { display: flex; flex-direction: column; gap: .9rem; align-items: flex-start; }
.pd-feature-event__text p { margin: 0; }
.pd-feature-event .pd-eyebrow { color: var(--pd-lime); }
body.pd26 .pd-feature-event h2.pd-h2, body.pd26 .pd-feature-event h2.pd-h2 a, .pd-feature-event .pd-muted { color: #fff; }
.pd-feature-event__media { display: block; border-radius: 12px; overflow: hidden; aspect-ratio: 16 / 10; background: #333; }
.pd-feature-event__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 860px) { .pd-feature-event { grid-template-columns: 1fr; padding: 1.25rem; } .pd-feature-event__media { order: -1; } }
.pd-minievents { list-style: none; margin: 0 0 .9rem; padding: 0; display: flex; flex-direction: column; gap: .75rem; }
body.pd26 .pd-minievents a { display: flex; gap: .8rem; align-items: center; text-decoration: none; color: var(--pd-ink); font-weight: 600; line-height: 1.35; font-size: .9375rem; }
body.pd26 .pd-minievents a:hover > span:last-child { color: var(--pd-green); text-decoration: underline; }
.pd-minievents .pd-datebadge { width: 3.5rem; padding: .3rem 0; }
.pd-minievents .pd-datebadge span:first-child { font-size: 1.15rem; }
.pd-minievents .pd-datebadge span:last-child { display: none; }

/* press releases */
.pd-release { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr) auto; gap: 1.25rem; align-items: center; padding: 1.1rem 1.25rem; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); background: #fff; }
.pd-release time { font-size: .9375rem; color: var(--pd-text); font-weight: 600; }
body.pd26 .pd-release__title { margin: 0; font-size: 1.1rem; line-height: 1.4; font-weight: 600; }
body.pd26 .pd-release__title a { color: var(--pd-ink); text-decoration: none; }
body.pd26 .pd-release__title a:hover { color: var(--pd-green); text-decoration: underline; }
@media (max-width: 640px) { .pd-release { grid-template-columns: 1fr; gap: .5rem; } .pd-release .pd-btn { justify-self: start; } }

/* article */
.pd-article__head .pd-wrap { padding-top: 1.5rem; padding-bottom: 3rem; display: flex; flex-direction: column; gap: 1.1rem; }
.pd-article__head .pd-crumbs ol { margin-bottom: .5rem; }
.pd-chip--line { background: #fff; border: 1px solid var(--pd-line); text-decoration: none; }
body.pd26 a.pd-chip--line:hover { border-color: var(--pd-green); color: var(--pd-green); }
body.pd26 .pd-article__title { margin: 0; font-size: 2.75rem; line-height: 1.15; font-weight: 700; letter-spacing: -.02em; color: var(--pd-ink); }
.pd-article__meta { margin: 0; display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; color: var(--pd-text); font-size: .9375rem; }
@media (max-width: 767px) { body.pd26 .pd-article__title { font-size: 1.9rem; } }
.pd-article__cover { margin-top: 2.5rem; margin-bottom: 0; }
.pd-article__cover img { width: 100%; height: auto; max-height: 36rem; object-fit: cover; border-radius: 12px; display: block; }
.pd-article__cover figcaption { margin-top: .6rem; font-size: .875rem; color: var(--pd-text); }
.pd-article__body { padding-top: 2.5rem; padding-bottom: 1rem; overflow-wrap: break-word; }
.pd-article__body > :first-child { margin-top: 0; }
.pd-article__body p, .pd-article__body li { font-size: 1.125rem; line-height: 1.7; color: #2b2b2b; }
.pd-article__body p { margin: 0 0 1.25rem; }
.pd-article__body p:empty { display: none; }
.pd-article__body h2 { font-size: 1.5rem; margin: 2rem 0 1rem; }
.pd-article__body h3 { font-size: 1.25rem; margin: 1.75rem 0 .75rem; }
body.pd26 .pd-article__body a { color: var(--pd-green); text-decoration: underline; text-underline-offset: 2px; }
.pd-article__body blockquote { margin: 1.5rem 0; padding: .5rem 0 .5rem 1.5rem; border-left: 4px solid var(--pd-lime); font-family: var(--pd-font-head); font-size: 1.35rem; line-height: 1.5; font-weight: 500; }
.pd-article__body img { max-width: 100%; height: auto; border-radius: 10px; }
.pd-article__body figure { margin: 1.75rem 0; }
.pd-article__body figcaption { font-size: .875rem; color: var(--pd-text); margin-top: .5rem; }
.pd-article__body video, .pd-article__body iframe { max-width: 100%; border-radius: 10px; }
.pd-article__body .wp-block-video video { width: 100%; background: #000; }
.pd-article__body .wp-block-embed__wrapper { position: relative; }
.pd-article__body .wp-block-embed.is-type-video .wp-block-embed__wrapper { aspect-ratio: 16 / 9; }
.pd-article__body .wp-block-embed.is-type-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
/* galleries: a tidy grid of same-size tiles, whatever the editor column setting */
.pd-article__body .wp-block-gallery { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: .75rem !important; margin: 1.75rem 0; }
.pd-article__body .wp-block-gallery > figure, .pd-article__body .wp-block-gallery .wp-block-image { width: auto !important; margin: 0 !important; aspect-ratio: 4 / 3; }
.pd-article__body .wp-block-gallery img { width: 100% !important; height: 100% !important; object-fit: cover; }
.pd-article__body .wp-block-columns { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.pd-article__body .wp-block-column { flex: 1 1 14rem; }
.pd-share { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-top: 1.5rem; padding: 1.25rem 0; border-top: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); }
.pd-share__label { font-weight: 600; margin-right: .4rem; }
body.pd26 .pd-share__btn, body.pd26 .pd-share__btn:hover, body.pd26 .pd-share__btn:focus {
  min-height: 2.75rem; padding: 0 1rem; display: inline-flex; align-items: center; border: 1px solid var(--pd-line-strong); border-radius: 22px;
  background: #fff; color: var(--pd-ink); font: 600 .9375rem var(--pd-font-body); text-decoration: none; text-transform: none; cursor: pointer; }
body.pd26 .pd-share__btn:hover { border-color: var(--pd-green); color: var(--pd-green); }
.pd-prevnext { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2rem 0 4rem; }
body.pd26 .pd-prevnext a { display: flex; flex-direction: column; gap: .3rem; padding: 1rem 1.1rem; border: 1px solid var(--pd-line); border-radius: var(--pd-radius);
  color: var(--pd-ink); text-decoration: none; font-weight: 600; line-height: 1.35; }
body.pd26 .pd-prevnext a:hover { border-color: var(--pd-green); color: var(--pd-green); }
.pd-prevnext span { font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pd-text); }
.pd-prevnext__next { grid-column: 2; text-align: right; }
@media (max-width: 640px) { .pd-prevnext { grid-template-columns: 1fr; } .pd-prevnext__next { grid-column: 1; text-align: left; } }
.pd-related { padding: 4.5rem 0; }
.pd-related__head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 1.5rem; margin-bottom: 2rem; }

/* resources */
.pd-pills { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.75rem; }
body.pd26 .pd-pills a { padding: .55rem 1.1rem; border: 1px solid var(--pd-line-strong); border-radius: 999px; font-weight: 600; text-decoration: none; color: var(--pd-ink); }
body.pd26 .pd-pills a:hover { border-color: var(--pd-green); color: var(--pd-green); }
body.pd26 .pd-pills a[aria-current] { background: var(--pd-green); border-color: var(--pd-green); color: #fff; }
.pd-res__filters { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-end; padding: 1.25rem; border-radius: var(--pd-radius); background: var(--pd-bg); }
.pd-res__count { margin: 1.25rem 0 1rem; font-weight: 600; color: var(--pd-text); }
.pd-res__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 1.25rem; }
.pd-doc { display: flex; flex-direction: column; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); overflow: hidden; background: #fff; }
.pd-doc__cover { aspect-ratio: 16 / 9; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; background: linear-gradient(135deg, var(--pd-tint), var(--pd-bg)); }
.pd-doc__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-doc__icon { width: 2.4rem; height: 3rem; border: 3px solid var(--pd-green); border-radius: 4px; position: relative; background: #fff; box-sizing: border-box; }
.pd-doc__icon::after { content: ""; position: absolute; left: .35rem; right: .35rem; top: .5rem; height: 1.3rem;
  background: repeating-linear-gradient(var(--pd-green) 0 2px, transparent 2px 6px); opacity: .6; }
.pd-doc__kind { font: 600 .75rem var(--pd-font-head); letter-spacing: .1em; text-transform: uppercase; color: var(--pd-green); }
.pd-doc__body { flex: 1; display: flex; flex-direction: column; gap: .45rem; padding: 1.1rem 1.25rem 1.25rem; }
.pd-doc__type { margin: 0; font: 600 .75rem var(--pd-font-head); letter-spacing: .1em; text-transform: uppercase; color: var(--pd-green); }
body.pd26 .pd-doc__title { margin: 0; font-size: 1.05rem; line-height: 1.4; font-weight: 600; }
.pd-doc__who { margin: 0; font-size: .9375rem; color: var(--pd-text); }
.pd-doc__foot { margin: auto 0 0; padding-top: .75rem; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: space-between; font-size: .875rem; color: var(--pd-text); }

/* forms (newsletter page, contact) */
.pd-form-card { padding: 2rem; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); background: #fff; }
@media (max-width: 767px) { .pd-form-card { padding: 1.25rem; } }
body.pd26 .pd-form__title { margin: 0 0 1.25rem; font-size: 1.5rem; font-weight: 700; }
.pd-form p { margin: 0 0 1rem; }
.pd-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
@media (max-width: 640px) { .pd-form__grid { grid-template-columns: 1fr; } }
.pd-form label, .pd-form legend, .pd-cf7 label { font-size: .9375rem; font-weight: 600; color: var(--pd-ink); }
.pd-form input[type=text]:not(#pd-x), .pd-form input[type=email]:not(#pd-x), .pd-form select:not(#pd-x),
.pd-cf7 input[type=text]:not(#pd-x), .pd-cf7 input[type=email]:not(#pd-x), .pd-cf7 input[type=tel]:not(#pd-x), .pd-cf7 select:not(#pd-x), .pd-cf7 textarea:not(#pd-x) {
  display: block; width: 100%; margin-top: .35rem; min-height: 3rem; padding: .6rem .85rem; border: 1px solid var(--pd-line-strong); border-radius: var(--pd-radius-sm);
  background: #fff; font: 400 1rem var(--pd-font-body); color: var(--pd-ink); box-sizing: border-box; }
.pd-cf7 textarea:not(#pd-x) { min-height: 9rem; }
.pd-form input:focus, .pd-form select:focus, .pd-cf7 input:focus, .pd-cf7 select:focus, .pd-cf7 textarea:focus { border-color: var(--pd-green) !important; outline: 2px solid var(--pd-lime); }
.pd-form__checks { margin: 0 0 1.25rem; padding: 0; border: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: .4rem 1rem; }
.pd-form__checks legend { margin-bottom: .5rem; padding: 0; }
.pd-form__checks label, .pd-form__consent { display: flex; gap: .55rem; align-items: flex-start; font-weight: 400 !important; line-height: 1.45; }
.pd-form input[type=checkbox] { width: 1.15rem; height: 1.15rem; margin: .15rem 0 0; flex: 0 0 auto; accent-color: var(--pd-green); }
.pd-form__consent { margin-bottom: 1.5rem; font-size: .9375rem !important; color: var(--pd-text) !important; }
.pd-form__msg { padding: .8rem 1rem; border-radius: var(--pd-radius-sm); background: var(--pd-tint); color: var(--pd-green); font-weight: 600; }
.pd-checklist { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-direction: column; gap: .7rem; }
.pd-checklist li { position: relative; padding-left: 1.9rem; line-height: 1.45; }
.pd-checklist li::before { content: ""; position: absolute; left: 0; top: .1rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: var(--pd-tint); }
.pd-checklist li::after { content: ""; position: absolute; left: .42rem; top: .33rem; width: .35rem; height: .6rem; border: solid var(--pd-green); border-width: 0 2px 2px 0; transform: rotate(45deg); }
/* Contact Form 7, laid out like the mockup */
.pd-cf7 .row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 0 0 1.25rem; }
.pd-cf7 .wgl_col-6, .pd-cf7 .wgl_col-12 { width: auto; max-width: none; padding: 0; }
.pd-cf7 .wgl_col-12 { grid-column: 1 / -1; }
@media (max-width: 640px) { .pd-cf7 .row { grid-template-columns: 1fr; } }
.pd-cf7 .wpcf7-form-control-wrap { display: block; }
.pd-cf7 input::placeholder, .pd-cf7 textarea::placeholder { color: #8a8a8a; }
body.pd26 .pd-cf7 .wpcf7-submit, body.pd26 .pd-cf7 .wpcf7-submit:hover {
  min-height: 3rem; padding: 0 1.75rem; border: 0; border-radius: var(--pd-radius-sm); background: var(--pd-green); color: #fff;
  font: 600 1rem var(--pd-font-head); text-transform: none; cursor: pointer; }
body.pd26 .pd-cf7 .wpcf7-submit:hover { background: var(--pd-green-hover); }
.pd-cf7 .wpcf7-not-valid-tip { font-size: .875rem; color: #B3261E; margin-top: .25rem; }
.pd-cf7 .wpcf7-response-output { margin: 1rem 0 0 !important; border-radius: var(--pd-radius-sm); }
.pd-contact-item { display: flex; gap: .7rem; align-items: flex-start; margin: 0 0 .6rem; }
.pd-contact-item svg { flex: 0 0 auto; margin-top: .2rem; color: var(--pd-green); }
.pd-map iframe { width: 100%; height: 22rem; border: 0; border-radius: var(--pd-radius); display: block; }

/* legal page */
.pd-legal section { padding-bottom: 2.5rem; margin-bottom: 2.5rem; border-bottom: 1px solid var(--pd-line); scroll-margin-top: 1.5rem; }
.pd-legal section:last-child { border-bottom: 0; margin-bottom: 0; }
body.pd26 .pd-legal h2 { margin: 0 0 1rem; font-size: 1.6rem; font-weight: 700; }
.pd-legal p { margin: 0 0 1rem; line-height: 1.7; }
.pd-kv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 1.25rem 0; }
.pd-kv > div { padding: 1rem 1.1rem; border-radius: var(--pd-radius-sm); background: var(--pd-bg); }
.pd-kv > div > span { display: block; font: 600 .75rem var(--pd-font-head); letter-spacing: .08em; text-transform: uppercase; color: var(--pd-text); margin-bottom: .25rem; }
.pd-kv strong { color: var(--pd-ink); }
@media (max-width: 640px) { .pd-kv { grid-template-columns: 1fr; } }
.pd-todo { padding: 0 .3rem; border-radius: 4px; background: #FFF4CE; color: #6B4E00; font-weight: 600; }
.pd-toc { display: flex; flex-direction: column; gap: .2rem; }
body.pd26 .pd-toc a { padding: .55rem .75rem; border-radius: var(--pd-radius-sm); font-weight: 600; text-decoration: none; color: var(--pd-ink); }
body.pd26 .pd-toc a:hover { background: var(--pd-bg); color: var(--pd-green); }
.pd-sitemap { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: 1.5rem; }
.pd-sitemap__title { margin: 0 0 .5rem; font-family: var(--pd-font-head); font-weight: 700; }
.pd-sitemap ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
body.pd26 .pd-sitemap a { color: var(--pd-green); }
