/* DA 2027 (#347), lot I : annuaire, carte économique, communes et territoires, actualités, formation-recherche. Chargé seulement quand `da27` est actif ; tout est sous html.da27.
   Gabarits inchangés ; propriétés logiques (même CSS en RTL). La carte économique n'est qu'habillée (rayons, boutons, titres) : aucune règle de disposition ni de taille. */

/* ---------- Annuaire : tuiles, filtres, fiches ---------- */
html.da27 .an-tuile, html.da27 .act-ent { border-radius: var(--r-lg); box-shadow: var(--sh-1); padding: 16px; transition: box-shadow .2s ease, transform .2s ease; }
html.da27 .an-tuile:hover, html.da27 .act-ent:hover { box-shadow: var(--sh-2); transform: translateY(-3px); }
html.da27 .an-tuile__logo { border-radius: var(--r-md); }
html.da27 .an-tuile__logo--sigle { background: var(--brand-100); color: var(--c-brand-soft-ink); font-family: var(--font-display); }
html.da27 .an-tuile__nom, html.da27 .act-ent__nom { font-family: var(--font-display); font-weight: 700; }
html.da27 .an-tuile__filiere { color: var(--c-brand-soft-ink); }
html.da27 .an-grille { gap: 16px; }
@media (min-width: 1024px) { html.da27 .an-grille { gap: 20px; } }
html.da27 .an-filtres { border-radius: var(--r-lg); }
html.da27 .an-filtres .ui-input, html.da27 .an-filtres__q .ui-input { border-radius: var(--r-full); }
html.da27 .an-barre h2 { font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em; }
html.da27 .an-barre__actions .ui-btn, html.da27 .an-filtres__actions .ui-btn { border-radius: var(--r-full); }
html.da27 #an-carte, html.da27 .an-logo, html.da27 .an-encart { border-radius: var(--r-lg); }
html.da27 .acr-cadre, html.da27 .acr-encart, html.da27 .acr-principal, html.da27 .act-bloc, html.da27 .act-fiche { border-radius: var(--r-lg); }
html.da27 .acr-chiffres, html.da27 .acr-compteurs { border-radius: var(--r-xl); }
html.da27 .acr-valeur { font-family: var(--font-display); font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
html.da27 .acr-compte, html.da27 .acr-projet__liens a, html.da27 .acr-liens a { border-radius: var(--r-md); }
html.da27 .acr-filtres, html.da27 .acr-filtre .ui-input { border-radius: var(--r-md); }
html.da27 .acr-section-titre, html.da27 .act-section__tete h2, html.da27 .act-tete h1 { font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em; }
html.da27 .act-pastille, html.da27 .acr-nature, html.da27 .pz-badge { border-radius: var(--r-full); }
html.da27 .pz-tuile { border-radius: var(--r-lg); box-shadow: var(--sh-1); transition: box-shadow .2s ease, transform .2s ease; }
html.da27 .pz-tuile:hover { box-shadow: var(--sh-2); transform: translateY(-3px); }
html.da27 .pz-photo, html.da27 .acr-portrait { border-radius: var(--r-lg); }
html.da27 .pz-hero__photo { border-radius: var(--r-xl); }
html.da27 .pz-mise-en-avant, html.da27 .pz-anciens { border-radius: var(--r-lg); }
html.da27 .pz-tuile h2, html.da27 .pz-tuile h3, html.da27 .pz-hero h1 { font-family: var(--font-display); font-weight: 700; }

/* ---------- Actualités : liste, article ---------- */
html.da27 .act-carte { border-radius: var(--r-lg); box-shadow: var(--sh-1); overflow: hidden; transition: box-shadow .2s ease, transform .2s ease; }
html.da27 .act-carte:hover { box-shadow: var(--sh-2); transform: translateY(-3px); }
html.da27 .act-carte__media { aspect-ratio: 4 / 3; }
html.da27 .act-carte__corps { padding: 18px 20px; }
html.da27 .act-carte__titre { font-family: var(--font-display); font-weight: 700; line-height: 1.3; }
html.da27 .act-carte--une .act-carte__titre { font-weight: 800; letter-spacing: -.02em; }
html.da27 .act-carte__theme, html.da27 .act-carte__meta .act-pastille { border-radius: var(--r-full); }
html.da27 .act-mois { font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em; }
html.da27 .act-hero__visuel, html.da27 .art-figure__media { border-radius: var(--r-xl); overflow: hidden; }
html.da27 .art-chapo { font-family: var(--font-display); font-weight: 600; line-height: 1.5; }
html.da27 .art-texte { max-inline-size: 68ch; line-height: 1.7; }
html.da27 .art-texte h2, html.da27 .art-texte h3 { font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em; }
html.da27 .art-texte img { border-radius: var(--r-lg); }
html.da27 .act-actions .ui-btn { border-radius: var(--r-full); }
html.da27 .act-bloc--commune { background: var(--brand-50); border-color: var(--brand-100); }

/* ---------- Communes, cantons, intercommunalités ---------- */
html.da27 .fc-bref, html.da27 .fc-intro { border-radius: var(--r-lg); }
html.da27 .fc-bref__t { font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em; }
html.da27 .fc-repli { border-radius: var(--r-md); }
html.da27 .commune-card, html.da27 .ui-commune, html.da27 .canton-card { border-radius: var(--r-lg); box-shadow: var(--sh-1); }
html.da27 .commune-card:hover, html.da27 .ui-commune:hover, html.da27 .canton-card:hover { box-shadow: var(--sh-2); }

/* ---------- Formation-recherche : fiches établissement et laboratoire ---------- */
html.da27 .fr-bloc, html.da27 .fr-identite, html.da27 .fr-carte__cadre, html.da27 .fr-graph, html.da27 .fr-details { border-radius: var(--r-lg); }
html.da27 .fr-bloc { box-shadow: var(--sh-1); }
html.da27 .fr-bloc__n { font-family: var(--font-display); font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
html.da27 .fr-chip, html.da27 .fr-badge { border-radius: var(--r-full); }
html.da27 .fr-sigle { border-radius: var(--r-md); background: var(--brand-100); color: var(--c-brand-soft-ink); font-family: var(--font-display); }
html.da27 .fr-page h2 { font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em; }
html.da27 .fr-barres__barre { border-radius: var(--r-full); }

/* ---------- Carte économique : habillage seulement ---------- */
html.da27 .ce-h1 { font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em; }
html.da27 .ce-carte, html.da27 .ce-panneau, html.da27 .ce-flot, html.da27 .ce-fiche, html.da27 .ce-bloc { border-radius: var(--r-lg); }
html.da27 .ce-btn, html.da27 .ce-chip, html.da27 .ce-champ, html.da27 .ce-parcours__btn { border-radius: var(--r-full); }
html.da27 .ce-panneau__titre, html.da27 .ce-bloc__titre, html.da27 .ce-flot__titre, html.da27 .ce-fiche__titre { font-family: var(--font-display); font-weight: 700; }
html.da27 .ce-panneau__n { font-family: var(--font-display); font-variant-numeric: tabular-nums; }
html.da27 .art-texte a { text-decoration: underline; text-underline-offset: 3px; }
