.cd-eyebrow { color: var(--cd-brand-navy); font-size: var(--cd-text-small); font-weight: 650; letter-spacing: 0.08em; text-transform: uppercase; }
.cd-intro { font-size: var(--cd-text-intro); line-height: var(--cd-leading-body); }
.cd-body-copy { max-width: var(--cd-width-text); }
.cd-button, .wp-block-button__link, .wp-element-button {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--cd-space-2);
  min-height: var(--cd-touch-target); padding: var(--cd-space-3) var(--cd-space-5);
  border: var(--cd-border-width) solid transparent; border-radius: var(--cd-radius);
  background: var(--cd-brand-navy); color: var(--cd-white); font-size: 1rem; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none;
  transition: background-color var(--cd-duration) var(--cd-ease), color var(--cd-duration) var(--cd-ease);
}
.cd-button:hover, .wp-block-button__link:hover, .wp-element-button:hover { background: var(--cd-deep-navy); color: var(--cd-white); }
.cd-button--secondary, .is-style-outline > .wp-block-button__link { color: var(--cd-brand-navy); background: var(--cd-white); border-color: var(--cd-brand-navy); }
.cd-button--secondary:hover, .is-style-outline > .wp-block-button__link:hover { color: var(--cd-brand-navy); background: var(--cd-light-blue); }
.cd-text-link { display: inline-flex; align-items: center; min-height: var(--cd-touch-target); font-weight: 600; }
.cd-field { display: grid; gap: var(--cd-space-2); margin-block-end: var(--cd-space-5); }
label, .cd-label { display: block; font-weight: 600; }
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="range"]):not([type="color"]), select, textarea) {
  width: 100%; max-width: 100%; min-height: var(--cd-touch-target); padding: var(--cd-space-3);
  border: var(--cd-border-width) solid var(--cd-muted); border-radius: var(--cd-radius-small); color: var(--cd-deep-navy); background: var(--cd-white);
}
textarea { min-height: 9rem; resize: vertical; }
::placeholder { color: var(--cd-muted); opacity: 1; }
[aria-invalid="true"] { border-color: var(--cd-error-text); }
.cd-field-error { color: var(--cd-error-text); }
.cd-field-help { color: var(--cd-muted); font-size: var(--cd-text-small); }
.cd-badge { display: inline-flex; gap: var(--cd-space-2); align-items: center; padding: var(--cd-space-1) var(--cd-space-3); border-radius: var(--cd-radius-small); color: var(--cd-brand-navy); background: var(--cd-light-blue); font-size: var(--cd-text-small); font-weight: 600; }
.cd-status { display: inline-flex; gap: var(--cd-space-2); align-items: center; color: var(--cd-deep-navy); }
.cd-status--success::before { content: "✓"; display: inline-grid; place-items: center; width: 1.5em; height: 1.5em; color: var(--cd-deep-navy); background: var(--cd-success); border-radius: 50%; }
.cd-divider { margin-block: var(--cd-space-7); border: 0; border-top: var(--cd-border-width) solid var(--cd-border); }
.cd-image { margin: 0; }
.cd-image img { width: 100%; height: auto; }
.cd-image figcaption { margin-block-start: var(--cd-space-2); color: var(--cd-muted); font-size: var(--cd-text-small); }
.cd-header { position: sticky; top: var(--cd-admin-offset); z-index: var(--cd-z-header); border-bottom: var(--cd-border-width) solid var(--cd-border); background: var(--cd-white); }
.cd-header__inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--cd-space-4) var(--cd-space-6); min-height: var(--cd-header-height); padding-block: var(--cd-space-3); }
.cd-brand { min-width: 0; }
.cd-brand__name { display: inline-flex; align-items: center; min-height: var(--cd-touch-target); color: var(--cd-brand-navy); font-size: 1.25rem; font-weight: 700; letter-spacing: -0.025em; text-decoration: none; }
.custom-logo { width: auto; max-width: min(15rem, 100%); max-height: 3rem; object-fit: contain; }
.custom-logo-link { display: block; }
.cd-navigation { min-width: 0; }
.cd-menu, .cd-menu .sub-menu, .cd-footer__menu { list-style: none; margin: 0; padding: 0; }
.cd-menu { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--cd-space-2) var(--cd-space-5); }
.cd-menu a { display: flex; align-items: center; min-height: var(--cd-touch-target); color: var(--cd-deep-navy); font-size: 1rem; text-decoration: none; }
.cd-menu a:hover, .cd-menu a[aria-current="page"] { color: var(--cd-blue); text-decoration: underline; }
.cd-menu .sub-menu { padding-inline-start: var(--cd-space-4); border-inline-start: var(--cd-border-width) solid var(--cd-border); }
.cd-menu .sub-menu a { font-size: var(--cd-text-small); }
.cd-menu-toggle { display: inline-flex; gap: var(--cd-space-3); align-items: center; min-height: var(--cd-touch-target); padding: var(--cd-space-2) var(--cd-space-3); color: var(--cd-brand-navy); background: var(--cd-white); border: var(--cd-border-width) solid var(--cd-muted); border-radius: var(--cd-radius-small); }
.cd-footer { padding-block: var(--cd-space-8) var(--cd-space-6); color: var(--cd-white); background: var(--cd-deep-navy); --cd-focus-color: var(--cd-white); }
.cd-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--cd-space-7); }
.cd-footer a, .cd-footer .cd-brand__name { color: var(--cd-white); }
.cd-footer__menu a { display: inline-flex; align-items: center; min-height: var(--cd-touch-target); }
.cd-footer__copyright { margin-block: var(--cd-space-8) 0; padding-block-start: var(--cd-space-5); border-top: var(--cd-border-width) solid var(--cd-muted); font-size: var(--cd-text-small); }
.cd-search { max-width: var(--cd-width-text); margin-block: var(--cd-space-6); }
.cd-search__row { display: flex; gap: var(--cd-space-3); margin-block-start: var(--cd-space-2); }
.cd-search__row input { min-width: 0; }
@media (max-width: 69.999rem) {
  .cd-header { position: relative; top: auto; }
  .cd-navigation { width: 100%; }
  .cd-menu { flex-direction: column; gap: 0; padding-block: var(--cd-space-3); }
  .cd-menu li, .cd-menu a { width: 100%; }
  .cd-menu a { padding-block: var(--cd-space-2); }
  .cd-navigation.is-enhanced .cd-menu-toggle { margin-inline-start: auto; }
  .cd-footer__grid { grid-template-columns: 1fr; gap: var(--cd-space-6); }
}
@media (max-width: 24rem) { .cd-search__row { flex-direction: column; } }

/* Polylang owns language links and destinations; theme only styles its menu classes. */
.cd-menu .lang-item a { justify-content: center; min-width: var(--cd-touch-target); font-size: var(--cd-text-small); color: var(--cd-muted); }
.cd-menu .lang-item.current-lang a, .cd-menu .lang-item.current-lang-item a { color: var(--cd-brand-navy); font-weight: 650; text-decoration: underline; text-underline-offset: 0.3em; }
@media (min-width: 70rem) { .cd-menu { gap: 0 var(--cd-space-4); align-items: center; } }
@media (max-width: 69.999rem) {
  .cd-header__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .cd-navigation { display: contents; }
  .cd-menu-toggle { grid-column: 2; grid-row: 1; }
  .cd-menu { grid-column: 1 / -1; }
  .cd-menu .lang-item a { justify-content: flex-start; }
}
