/*
Theme Name: UAD Antreprenoriat
Theme URI: https://antreprenoriat.uad.ro/
Author: Universitatea de Artă și Design din Cluj-Napoca
Description: Temă block/FSE pentru ecosistemul de antreprenoriat UAD.
Version: 0.2.2
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: uad-antreprenoriat
*/

/* ============================================================================
   Sistemul vizual: homepage-ul consolidat P3 + P2 (revizia 2), aprobat vizual
   la 24.09.2026 — sursa design/claude/consolidated-2026-09-24/.
   Tokenurile sunt PROVIZORII — PENDING_UAD_KIT (culori și fonturi) și
   PENDING_AUTHENTIC_MEDIA_AND_RIGHTS (fotografii).

   Reguli A2 păstrate: border-radius 0 pe orice suprafață încadrată (cercuri
   numai la punctul mărcii și la numerele de etapă); gruparea prin ton și
   spațiu, fără chenare noi; ținte ≥ 44×44; focus 3px + offset; fără overflow
   orizontal la 1440/768/390/320/305; prefers-reduced-motion fără tranziții.

   Scop: selectorii homepage-ului sunt sub `.uad-front` (șablonul front-page);
   antetul și subsolul, comune tuturor paginilor, sub `.uad-site-header` și
   `.uad-site-footer`. Specificitatea (≥ două clase) depășește intenționat
   regulile de layout generate de WordPress (`:root :where(.is-layout-flow)`).
   ========================================================================= */

/* --------------------------------------------------------------------------
   1. Tokenuri (aliasuri peste presetările din theme.json)
   ----------------------------------------------------------------------- */

:root {
  --uad-bg: var(--wp--preset--color--canvas);
  --uad-band: var(--wp--preset--color--band);
  --uad-ink: var(--wp--preset--color--ink);
  --uad-muted: var(--wp--preset--color--muted);
  --uad-hairline: var(--wp--preset--color--hairline);
  --uad-p1: var(--wp--preset--color--teracota);
  --uad-p1-t: var(--wp--preset--color--teracota-tint);
  --uad-p2: var(--wp--preset--color--albastru);
  --uad-p2-t: var(--wp--preset--color--albastru-tint);
  --uad-p3: var(--wp--preset--color--ocru);
  --uad-p3-t: var(--wp--preset--color--ocru-tint);
  --uad-p4: var(--wp--preset--color--salvie);
  --uad-p4-t: var(--wp--preset--color--salvie-tint);
  --uad-p5: var(--wp--preset--color--pruna);
  --uad-p5-t: var(--wp--preset--color--pruna-tint);
  --uad-red: var(--wp--preset--color--uad-red);
  --uad-font-display: var(--wp--preset--font-family--display);
  --uad-font-body: var(--wp--preset--font-family--body);

  --uad-shell-max: 1200px;
  --uad-shell-pad: clamp(1rem, 3vw, 2.5rem);
  --uad-section-pad: clamp(2.5rem, 6vw, 5rem);
  --uad-card-gap: 1.25rem;
  --uad-focus-ring: var(--uad-ink);

  --uad-border: 1px solid var(--wp--preset--color--ink);
  --uad-radius: 0;
}

/* --------------------------------------------------------------------------
   2. Bază comună
   ----------------------------------------------------------------------- */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body,
p,
li,
h1,
h2,
h3,
h4,
a {
  overflow-wrap: anywhere;
}

img,
svg,
video {
  max-width: 100%;
  height: auto;
}

/* Blocurile de nivel superior (antet, conținut, subsol) se lipesc: separarea
   vine din bordura antetului și din ritmul secțiunilor, nu din blockGap. */
.wp-site-blocks > * {
  margin-block-start: 0;
}

:focus-visible,
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--uad-focus-ring);
  outline-offset: 2px;
}

.uad-final-cta :where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--wp--preset--color--canvas);
}

/* Ancorele nu ascund titlul sub marginea ferestrei (WCAG 2.4.11). */
:target {
  scroll-margin-top: 2rem;
}

:where(.wp-element-button, .wp-block-navigation-item__content, .uad-action-link) {
  align-items: center;
  display: inline-flex;
  min-height: 44px;
}

:where(
  .wp-block-navigation__responsive-container-open,
  .wp-block-navigation__responsive-container-close,
  .wp-block-search__button,
  .wp-block-search__input
) {
  min-height: 44px;
  min-width: 44px;
}

.screen-reader-text,
.skip-link:not(:focus) {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus,
.skip-link:focus {
  background: var(--uad-ink);
  clip: auto !important;
  clip-path: none;
  color: var(--uad-bg);
  font-weight: 700;
  height: auto;
  left: 0;
  padding: 0.75rem 1.15rem;
  text-decoration: none;
  top: 0;
  width: auto;
  z-index: 100000;
  --uad-focus-ring: var(--uad-bg);
  outline-offset: -6px;
}

/* Kicker editorial (homepage și paginile interioare). */
.uad-kicker {
  color: var(--uad-p1);
  font-size: 0.9rem;
  font-weight: 600;
}

.uad-meta {
  font-size: var(--wp--preset--font-size--small);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.uad-shell {
  margin-inline: auto;
  max-width: var(--uad-shell-max);
  padding-inline: var(--uad-shell-pad);
  width: 100%;
}

/* Creditul imaginilor, adăugat de plugin din atașament. */
.uad-media-credit {
  color: var(--uad-muted);
  display: block;
  font-size: 0.74rem;
  letter-spacing: 0.04em;
  margin-top: 0.2rem;
}

/* --------------------------------------------------------------------------
   3. Antet (toate paginile)
   ----------------------------------------------------------------------- */

.uad-site-header {
  background: var(--uad-bg);
  border-bottom: 1px solid var(--uad-hairline);
  padding-block: 0.8rem;
  position: relative;
  z-index: 20;
}

.uad-site-header .uad-site-header-inner {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  justify-content: space-between;
}

.uad-site-header .uad-site-header-inner > * {
  margin-block: 0;
}

.uad-site-header .uad-brand {
  align-items: center;
  display: inline-flex;
  gap: 0.5rem;
  min-height: 44px;
  text-decoration: none;
}

.uad-site-header .uad-brand-name {
  color: var(--uad-ink);
  font-family: var(--uad-font-display);
  font-size: 1.15rem;
  font-weight: 700;
}

/* Excepție circulară aprobată nr. 1: punctul mărcii. */
.uad-site-header .uad-brand-dot {
  background: var(--uad-red);
  border-radius: 50%;
  display: inline-block;
  flex: 0 0 auto;
  height: 8px;
  width: 8px;
}

.uad-site-header nav.uad-site-nav,
.uad-site-header nav.uad-site-nav .wp-block-navigation__container {
  align-items: center;
  flex-wrap: wrap;
  gap: 0 0.35rem;
}

.uad-site-header nav.uad-site-nav .wp-block-navigation-item__content {
  align-items: center;
  color: var(--uad-ink);
  display: inline-flex;
  font-size: 0.92rem;
  font-weight: 600;
  justify-content: center;
  line-height: 1.6;
  min-height: 44px;
  min-width: 44px;
  padding: 0 0.55rem;
  text-decoration: none;
  transition: background-color 120ms ease;
}

.uad-site-header nav.uad-site-nav .wp-block-navigation-item__content:hover {
  background: var(--uad-band);
  text-decoration: none;
}

.uad-site-header nav.uad-site-nav .uad-nav-cta .wp-block-navigation-item__content {
  background: var(--uad-ink);
  border: 2px solid transparent;
  color: var(--uad-bg);
  padding-block: 0.75rem;
}

.uad-site-header nav.uad-site-nav .uad-nav-cta .wp-block-navigation-item__content:hover {
  background: #453e35;
}

/* --------------------------------------------------------------------------
   4. Subsol (toate paginile)
   ----------------------------------------------------------------------- */

.uad-site-footer {
  background: var(--uad-band);
  border-top: 1px solid var(--uad-hairline);
  padding-block: 2.2rem;
}

.uad-site-footer .uad-footer-cols {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 4rem;
  justify-content: space-between;
}

.uad-site-footer .uad-footer-cols > *,
.uad-site-footer .uad-shell > * {
  margin-block: 0;
}

.uad-site-footer p {
  margin: 0 0 0.9em;
  max-width: 65ch;
}

.uad-site-footer a,
.uad-site-footer nav.uad-footer-nav .wp-block-navigation-item__content {
  align-items: center;
  color: var(--uad-ink);
  display: inline-flex;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  text-decoration: underline;
}

.uad-site-footer nav.uad-footer-nav,
.uad-site-footer nav.uad-footer-nav .wp-block-navigation__container {
  align-items: flex-start;
  gap: 0 1.2rem;
}

.uad-site-footer nav.uad-footer-nav .wp-block-navigation-item__content {
  font-size: 1rem;
  font-weight: 400;
  padding: 0;
}

/* --------------------------------------------------------------------------
   5. Homepage — structură și tipografie P3
   ----------------------------------------------------------------------- */

.uad-front .is-layout-flow > *,
.uad-front > * {
  margin-block-start: 0;
}

.uad-front .uad-section {
  padding-block: var(--uad-section-pad);
}

.uad-front .uad-section--band {
  background: var(--uad-band);
}

.uad-front h1,
.uad-front h2,
.uad-front h3,
.uad-front h4 {
  color: var(--uad-ink);
  margin: 0 0 0.45em;
  overflow-wrap: break-word;
  text-wrap: balance;
}

.uad-front h1 {
  max-width: 18ch;
}

.uad-front :is(h1, h2, h3, h4) a {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.uad-front p,
.uad-front li {
  overflow-wrap: normal;
  text-wrap: pretty;
}

.uad-front p {
  margin: 0 0 0.9em;
  max-width: 66ch;
}

.uad-front a {
  color: var(--uad-ink);
  transition: background-color 120ms ease, text-decoration-thickness 80ms ease;
}

.uad-front .uad-kicker {
  margin: 0 0 0.8rem;
}

.uad-front .uad-lead {
  font-size: clamp(1.05rem, 1.7vw, 1.25rem);
  max-width: 54ch;
}

.uad-front .uad-section-head {
  margin-bottom: 1.6rem;
}

.uad-front time,
.uad-front .uad-cluster-meta,
.uad-front .uad-provenance {
  font-variant-numeric: tabular-nums lining-nums;
}

/* Butoane (core/buttons) */
.uad-front .uad-actions {
  gap: 0.75rem;
  margin: 0 0 0.9em;
}

/* Culoarea explicită: regula `.uad-front a` de mai sus ar bate altfel
   culoarea butonului din theme.json (text închis pe fundal închis). */
.uad-front .wp-block-button__link {
  align-items: center;
  background: var(--uad-ink);
  border-radius: 0;
  color: var(--uad-bg);
  display: inline-flex;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  text-decoration: none;
  transition: background-color 120ms ease;
}

.uad-front .wp-block-button__link:hover {
  background: #453e35;
  color: var(--uad-bg);
}

.uad-front .uad-button-invert .wp-block-button__link {
  background: var(--uad-bg);
  color: var(--uad-ink);
}

.uad-front .uad-button-invert .wp-block-button__link:hover {
  background: var(--uad-band);
  color: var(--uad-ink);
}

/* Legende și credite */
.uad-front figure {
  margin: 0;
}

.uad-front figcaption,
.uad-front .wp-element-caption {
  color: var(--uad-ink);
  font-size: 0.84rem;
  line-height: 1.45;
  margin: 0.55rem 0 0;
  max-width: 52ch;
  text-align: left;
}

/* --------------------------------------------------------------------------
   6. Deschidere și îndemn final (grilă 7/5; fără imagine → o coloană)
   ----------------------------------------------------------------------- */

.uad-front .uad-hero-grid,
.uad-front .uad-cta-grid {
  align-items: center;
  display: grid;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}

.uad-front .uad-hero-grid > *,
.uad-front .uad-cta-grid > * {
  margin: 0;
  min-width: 0;
}

.uad-front .uad-hero-grid:not(:has(> .uad-hero-media)),
.uad-front .uad-cta-grid:not(:has(> .uad-cta-media)) {
  grid-template-columns: minmax(0, 1fr);
}

.uad-front .uad-hero-media img,
.uad-front .uad-cta-media img {
  border-radius: 0;
  display: block;
  height: auto;
  width: 100%;
}

.uad-front .uad-final-cta {
  --uad-focus-ring: var(--uad-bg);
  --uad-muted: #cfc5b4;
  background: var(--uad-ink);
  color: var(--uad-bg);
}

.uad-front .uad-final-cta :is(h2, h3, h4, p, li, dt, dd, strong, em) {
  color: var(--uad-bg);
}

.uad-front .uad-final-cta .uad-kicker {
  color: #d9a08d;
}

.uad-front .uad-final-cta figcaption,
.uad-front .uad-final-cta .wp-element-caption,
.uad-front .uad-final-cta .uad-media-credit {
  color: #cfc5b4;
}

/* --------------------------------------------------------------------------
   7. Alege punctul de pornire (stratul P2)
   Tipografia globală P3 (balance/pretty, 66ch) este neutralizată aici, ca
   rupturile de rând să rămână cele aprobate în P2.
   ----------------------------------------------------------------------- */

.uad-front .uad-orientation,
.uad-front .uad-orientation * {
  text-wrap: wrap;
}

.uad-front .uad-orientation p {
  max-width: 65ch;
}

.uad-front .uad-gates {
  counter-reset: uad-gate;
  display: grid;
  gap: var(--uad-card-gap);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.uad-front .uad-gates > * {
  margin: 0;
  min-width: 0;
}

.uad-front .uad-orientation .uad-gate {
  background: var(--uad-band);
  border-radius: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.5rem 1.6rem;
  transition: background-color 140ms ease;
}

/* Excepție circulară aprobată nr. 2: numărul etapei (contor, reordonabil). */
.uad-front .uad-orientation .uad-gate::before,
.uad-front .uad-stages .uad-stage-card::before {
  align-items: center;
  align-self: flex-start;
  background: var(--uad-p4-t);
  border-radius: 50%;
  color: var(--uad-p4);
  display: inline-flex;
  font-family: var(--uad-font-display);
  font-size: 1.1rem;
  font-weight: 700;
  height: 2.2rem;
  justify-content: center;
  line-height: 1.6;
  margin-bottom: 0.6rem;
  width: 2.2rem;
}

.uad-front .uad-orientation .uad-gate::before {
  content: counter(uad-gate);
  content: counter(uad-gate) / "";
  counter-increment: uad-gate;
}

.uad-front .uad-orientation .uad-gate h3 {
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  margin-bottom: 0.2rem;
}

.uad-front .uad-orientation .uad-gate p {
  font-size: 0.95rem;
  margin-bottom: 0.6rem;
  max-width: 34ch;
}

.uad-front .uad-orientation .uad-gate-outcome {
  color: var(--uad-muted);
  font-size: 0.86rem;
  margin: 0 0 0.9rem;
  max-width: 34ch;
}

.uad-front .uad-orientation :is(.uad-gate, .uad-gate-out) p.uad-card-link-row {
  font-size: 1rem;
  margin: auto 0 0;
  max-width: none;
}

.uad-front .uad-orientation .uad-card-link-row a {
  align-items: center;
  color: var(--uad-p1);
  display: inline-flex;
  font-weight: 700;
  min-height: 44px;
  text-decoration: none;
}

.uad-front .uad-orientation .uad-card-link-row a:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

/* Tonurile porților reiau cele trei etape ale traseului */
.uad-front .uad-orientation .uad-gate--1 { background: var(--uad-p4-t); }
.uad-front .uad-orientation .uad-gate--1::before { background: var(--uad-bg); color: var(--uad-p4); }
.uad-front .uad-orientation .uad-gate--1 .uad-card-link-row a { color: var(--uad-p4); }
.uad-front .uad-orientation .uad-gate--2 { background: var(--uad-p2-t); }
.uad-front .uad-orientation .uad-gate--2::before { background: var(--uad-bg); color: var(--uad-p2); }
.uad-front .uad-orientation .uad-gate--2 .uad-card-link-row a { color: var(--uad-p2); }
.uad-front .uad-orientation .uad-gate--3 { background: var(--uad-p1-t); }
.uad-front .uad-orientation .uad-gate--3::before { background: var(--uad-bg); color: var(--uad-p1); }
.uad-front .uad-orientation .uad-gate--3 .uad-card-link-row a { color: var(--uad-p1); }

.uad-front .uad-orientation .uad-gate-out {
  background: var(--uad-band);
  border-radius: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  justify-content: center;
  padding: 1.5rem 1.6rem;
  transition: background-color 140ms ease;
}

.uad-front .uad-orientation .uad-gate-out h3 {
  font-family: var(--uad-font-body);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 0.2rem;
}

.uad-front .uad-orientation .uad-gate-out p {
  color: var(--uad-muted);
  font-size: 0.92rem;
  max-width: 34ch;
}

.uad-front .uad-orientation .uad-gate-out .uad-card-link-row a {
  color: var(--uad-ink);
  text-decoration: underline;
}

.uad-front .uad-orientation .uad-gate--1:hover { background: #d9e3d5; }
.uad-front .uad-orientation .uad-gate--2:hover { background: #cfdee6; }
.uad-front .uad-orientation .uad-gate--3:hover { background: #e9d2c6; }
.uad-front .uad-orientation .uad-gate-out:hover { background: #ebe1ce; }

@media (min-width: 72rem) {
  .uad-front .uad-gates--with-exit {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* --------------------------------------------------------------------------
   8. Traseul și slideshow-ul
   ----------------------------------------------------------------------- */

.uad-front .uad-stages {
  counter-reset: uad-stage;
  display: grid;
  gap: var(--uad-card-gap);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.uad-front .uad-stages > * {
  margin: 0;
  min-width: 0;
}

.uad-front .uad-stages .uad-stage-card {
  background: var(--uad-bg);
  border-radius: 0;
  padding: 1.4rem 1.5rem;
}

.uad-front .uad-stages .uad-stage-card::before {
  content: counter(uad-stage);
  content: counter(uad-stage) / "";
  counter-increment: uad-stage;
  display: inline-flex;
}

.uad-front .uad-stages .uad-stage-card > :last-child {
  margin-bottom: 0.9em;
}

.uad-front .uad-ent-slideshow {
  margin-top: var(--uad-card-gap);
}

.uad-front .uad-ent-slideshow figcaption .uad-media-credit {
  margin-top: 0.2rem;
}

.uad-front .uad-ent-slideshow .uad-slideshow-counter {
  font-size: 0.9rem;
  font-weight: 700;
}

.uad-front .uad-ent-slideshow .uad-slideshow-btn {
  background: var(--uad-bg);
  color: var(--uad-ink);
  font-size: 0.92rem;
  font-weight: 700;
  transition: background-color 120ms ease;
}

.uad-front .uad-ent-slideshow .uad-slideshow-btn:hover {
  background: var(--uad-hairline);
}

/* --------------------------------------------------------------------------
   9. Benzile programelor (P3-A + formula P2-C)
   ----------------------------------------------------------------------- */

.uad-front .uad-ent-module {
  margin-block: 0;
  padding-block: 0;
}

/* Blocurile dinamice care sunt și secțiuni (noutăți, proiecte, impact). */
.uad-front .uad-ent-module.uad-section {
  padding-block: var(--uad-section-pad);
}

.uad-front .uad-section--head {
  padding-block: var(--uad-section-pad);
}

.uad-front .uad-clusters {
  list-style: none;
  margin: 0;
  padding: 0;
}

.uad-front .uad-clusters > .uad-cluster {
  background: var(--uad-band);
  margin: 0;
  padding-block: clamp(1.6rem, 3.4vw, 2.6rem);
  transition: background-color 140ms ease;
}

.uad-front .uad-clusters > .uad-tone-teracota { background: var(--uad-p1-t); }
.uad-front .uad-clusters > .uad-tone-albastru { background: var(--uad-p2-t); }
.uad-front .uad-clusters > .uad-tone-ocru { background: var(--uad-p3-t); }
.uad-front .uad-clusters > .uad-tone-salvie { background: var(--uad-p4-t); }
.uad-front .uad-clusters > .uad-tone-pruna { background: var(--uad-p5-t); }

.uad-front .uad-cluster .uad-cluster-inner {
  align-items: start;
  display: grid;
  gap: clamp(1.1rem, 3vw, 2.75rem);
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}

.uad-front .uad-cluster .uad-cluster-inner > * {
  min-width: 0;
}

.uad-front .uad-cluster .uad-cluster-inner--solo {
  grid-template-columns: minmax(0, 1fr);
}

.uad-front .uad-cluster-head h3 {
  font-size: clamp(1.25rem, 2.2vw, 1.65rem);
  margin-bottom: 0.3rem;
  max-width: 22ch;
}

.uad-front .uad-cluster-head h3 a {
  align-items: center;
  display: inline-flex;
  min-height: 44px;
  text-decoration: none;
}

.uad-front .uad-cluster-head h3 a:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

.uad-front .uad-cluster-head .uad-cluster-role {
  font-size: 0.98rem;
  margin: 0 0 0.9rem;
  max-width: 40ch;
}

.uad-front .uad-cluster-head .uad-cluster-meta {
  align-items: center;
  color: var(--uad-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.82rem;
  gap: 0.4rem 0.7rem;
  margin: 0;
  max-width: none;
}

.uad-front .uad-sep {
  color: var(--uad-hairline);
}

.uad-front .uad-badge {
  border: 1px solid;
  border-radius: 0;
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.2rem 0.7rem;
}

.uad-front .uad-tone-teracota .uad-badge { color: var(--uad-p1); border-color: var(--uad-p1); }
.uad-front .uad-tone-albastru .uad-badge { color: var(--uad-p2); border-color: var(--uad-p2); }
.uad-front .uad-tone-ocru .uad-badge { color: var(--uad-p3); border-color: var(--uad-p3); }
.uad-front .uad-tone-salvie .uad-badge { color: var(--uad-p4); border-color: var(--uad-p4); }
.uad-front .uad-tone-pruna .uad-badge { color: var(--uad-p5); border-color: var(--uad-p5); }
.uad-front .uad-tone-neutral .uad-badge { color: var(--uad-ink); border-color: var(--uad-ink); }

.uad-front .uad-cluster-info {
  padding-top: 0.35rem;
}

.uad-front .uad-prog-formula {
  display: grid;
  gap: 0.6rem;
  margin: 0;
}

.uad-front .uad-prog-formula > div {
  align-items: baseline;
  display: grid;
  gap: 0.15rem 0.75rem;
  grid-template-columns: 5.5rem minmax(0, 1fr);
}

.uad-front .uad-prog-formula dt {
  color: var(--uad-muted);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.uad-front .uad-prog-formula dd {
  font-size: 0.98rem;
  font-variant-numeric: tabular-nums lining-nums;
  margin: 0;
}

/* --------------------------------------------------------------------------
   10. Noutăți și oportunități (1/2/3 coloane, fără spații goale)
   ----------------------------------------------------------------------- */

.uad-front .uad-news-list {
  display: grid;
  gap: var(--uad-card-gap);
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-flow: column;
  list-style: none;
  margin: 0;
  padding: 0;
}

.uad-front .uad-news-list > li {
  margin: 0;
  min-width: 0;
}

.uad-front .uad-news-card {
  background: var(--uad-band);
  border-radius: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  height: 100%;
  padding: 1.4rem 1.5rem;
}

.uad-front .uad-news-card .uad-news-cat {
  color: var(--uad-muted);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  margin: 0;
  max-width: none;
  text-transform: uppercase;
}

.uad-front .uad-news-card h3 {
  font-size: clamp(1.1rem, 1.8vw, 1.3rem);
  margin: 0 0 0.2rem;
  max-width: 30ch;
}

.uad-front .uad-news-card .uad-news-summary {
  font-size: 0.95rem;
  margin: 0 0 0.3rem;
  max-width: 46ch;
}

.uad-front .uad-news-card .uad-news-date {
  color: var(--uad-muted);
  font-size: 0.86rem;
  margin: 0 0 0.4rem;
  max-width: none;
}

.uad-front .uad-news-card .uad-news-date time {
  color: var(--uad-ink);
  font-weight: 700;
}

.uad-front .uad-news-card .uad-card-link {
  align-items: center;
  align-self: flex-start;
  color: var(--uad-ink);
  display: inline-flex;
  font-weight: 700;
  margin-top: auto;
  min-height: 44px;
}

.uad-front .uad-news-card .uad-card-link:hover {
  text-decoration-thickness: 2px;
}

/* --------------------------------------------------------------------------
   11. Proiecte studențești și impact (P3)
   ----------------------------------------------------------------------- */

.uad-front .uad-cards-3 {
  display: grid;
  gap: var(--uad-card-gap);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.uad-front .uad-cards-3 > * {
  margin: 0;
  min-width: 0;
}

.uad-front .uad-ent-card.uad-project-card {
  background: var(--uad-bg);
  border: 0;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0;
  padding: 1rem 1rem 1.3rem;
  transition: background-color 140ms ease;
}

.uad-front .uad-project-card .uad-project-figure {
  margin: 0 0 0.6rem;
}

.uad-front .uad-project-card .uad-ent-project-image {
  display: block;
  height: auto;
  margin: 0;
  width: 100%;
}

.uad-front .uad-project-card .uad-provenance {
  color: var(--uad-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.8rem;
  gap: 0 0.4rem;
  margin: 0;
  max-width: none;
}

.uad-front .uad-project-card .uad-team {
  color: var(--uad-ink);
  font-weight: 700;
}

.uad-front .uad-project-card h3 {
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
}

.uad-front .uad-project-card h3 a {
  align-items: center;
  color: var(--uad-ink);
  display: inline-flex;
  min-height: 44px;
  text-decoration: none;
}

.uad-front .uad-project-card h3 a:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

.uad-front .uad-project-card .uad-project-summary {
  font-size: 0.92rem;
  margin: 0;
}

.uad-front .uad-impact-card {
  background: var(--uad-band);
  border-radius: 0;
  padding: 1.3rem 1.5rem;
}

.uad-front .uad-impact-card p {
  font-size: 0.9rem;
  margin: 0.3rem 0 0;
}

.uad-front .uad-impact-card p.uad-impact-value {
  color: var(--uad-p1);
  display: block;
  font-family: var(--uad-font-display);
  font-size: clamp(1.9rem, 4vw, 2.8rem);
  font-weight: 700;
  line-height: 1.6;
  margin: 0;
}

.uad-front .uad-impact-source {
  color: var(--uad-muted);
  font-size: 0.82rem;
  margin-top: 1rem;
}

/* --------------------------------------------------------------------------
   12. Paginile interioare (neschimbate structural; tokenuri A2)
   ----------------------------------------------------------------------- */

.uad-editorial-section {
  padding-block: var(--wp--preset--spacing--70);
}

.wp-block-post-template.is-layout-grid {
  gap: var(--wp--preset--spacing--50);
}

.wp-block-post-template > li {
  border-top: var(--uad-border);
  padding-top: var(--wp--preset--spacing--40);
}

.uad-ent-module,
.uad-ent-next-deadline,
.uad-ent-entity-facts {
  margin-block: 0;
  padding-block: var(--wp--preset--spacing--70);
}

.uad-ent-module > h2,
.uad-ent-next-deadline > h2,
.uad-ent-entity-facts > h2 {
  font-size: var(--wp--preset--font-size--x-large);
  margin-top: 0;
}

.uad-ent-grid {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.uad-ent-card {
  border: var(--uad-border);
  margin-left: -1px;
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2.5rem);
}

.uad-ent-card:first-child {
  margin-left: 0;
}

.uad-ent-card h3 {
  font-size: var(--wp--preset--font-size--large);
}

.uad-ent-eyebrow,
.uad-ent-status {
  font-size: var(--wp--preset--font-size--small);
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.uad-ent-status {
  border: 1px solid currentColor;
  display: inline-block;
  padding: 0.35rem 0.55rem;
}

.uad-ent-next-deadline {
  background: var(--uad-band);
  border-block: var(--uad-border);
}

.uad-ent-next-deadline time {
  font-size: var(--wp--preset--font-size--large);
  font-weight: 750;
}

.uad-ent-project-image {
  display: block;
  margin-bottom: var(--wp--preset--spacing--40);
  width: 100%;
}

.uad-ent-facts-list {
  border-top: var(--uad-border);
  margin: 0;
}

.uad-ent-facts-list > div {
  border-bottom: var(--uad-border);
  display: grid;
  gap: var(--wp--preset--spacing--40);
  grid-template-columns: minmax(8rem, 1fr) minmax(0, 2fr);
  padding-block: var(--wp--preset--spacing--40);
}

.uad-ent-facts-list dt {
  font-weight: 750;
}

.uad-ent-facts-list dd {
  margin: 0;
}

/* Ținte ≥ 44 px pentru linkurile din listări și fișe (titluri, „Află mai mult”, detalii). */
.wp-block-post-title a,
.wp-block-post-excerpt__more-link,
.uad-ent-facts-list a,
.uad-ent-card h3 a {
  align-items: center;
  display: inline-flex;
  min-height: 44px;
}

.wp-block-post-featured-image img {
  aspect-ratio: auto;
  object-fit: contain;
}

/* --------------------------------------------------------------------------
   13. Responsive (regulile A2)
   ----------------------------------------------------------------------- */

@media (max-width: 60rem) {
  .uad-front .uad-hero-grid,
  .uad-front .uad-cta-grid,
  .uad-front .uad-cluster .uad-cluster-inner {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 48rem) {
  .uad-front .uad-cards-3,
  .uad-front .uad-stages,
  .uad-front .uad-gates,
  .uad-ent-grid {
    grid-template-columns: 1fr;
  }

  .uad-front .uad-news-list {
    grid-auto-flow: row;
    grid-template-columns: minmax(0, 1fr);
  }

  .uad-site-header .uad-site-header-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .uad-site-header nav.uad-site-nav,
  .uad-site-header nav.uad-site-nav .wp-block-navigation__container {
    justify-content: flex-start;
  }

  .uad-ent-card {
    margin-left: 0;
    margin-top: -1px;
  }

  .uad-ent-card:first-child {
    margin-top: 0;
  }

  .uad-front .uad-ent-card.uad-project-card {
    margin-top: 0;
  }

  .uad-ent-facts-list > div {
    grid-template-columns: 1fr;
  }

  .uad-site-header .wp-block-navigation__responsive-container.is-menu-open {
    padding: var(--wp--preset--spacing--50);
  }
}

@media (max-width: 24.375rem) {
  :root {
    --uad-section-pad: clamp(2rem, 6vw, 3rem);
  }

  .uad-editorial-section {
    padding-block: var(--wp--preset--spacing--60);
  }
}

@media (max-width: 22rem) {
  .uad-front .uad-prog-formula > div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 20rem) {
  :root {
    --uad-shell-pad: 0.875rem;
  }

  .has-global-padding {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
  }

  .wp-block-button,
  .wp-element-button {
    justify-content: center;
    text-align: center;
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
   14. Mișcare redusă și tipar
   ----------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation: none !important;
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

@media print {
  .skip-link,
  .uad-site-header .wp-block-navigation,
  .uad-final-cta,
  .uad-slideshow-controls,
  .wp-block-query-pagination {
    display: none !important;
  }

  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 11pt;
  }

  a[href]::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
  }
}
