/* ==========================================================================
   wp.css - ajustements propres à WordPress (le reste des styles est site.css, issu du prototype ; le thème fait foi)
   ========================================================================== */

/* Image de remplacement (champ image vide) : remplit son cadre comme la photo attendue */
.img-remplacement { width: 100%; height: 100%; object-fit: cover; background: var(--color-bg); }

/* Barre d'administration (connecté) : l'en-tête collant reste visible sous elle */
@media (min-width: 783px) { .admin-bar .site-header { top: 32px; } }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

/* Classe de WordPress équivalente à .visually-hidden */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Contenu des articles (éditeur de blocs) : images et légendes dans la colonne de lecture */
.post-content .wp-block-image img { height: auto; border-radius: var(--radius-lg); }
.post-content .wp-block-image figcaption { font-size: var(--text-sm); color: var(--color-text-muted); margin-top: .5rem; }
.post-content .wp-block-quote { border-left: 3px solid var(--color-accent); padding-left: 1.25rem; margin-inline: 0; }
.post-content .wp-block-table table { width: 100%; border-collapse: collapse; }
.post-content .wp-block-table :is(th, td) { border-bottom: 1px solid var(--color-border); padding: .6rem .75rem; text-align: left; }

/* Lien « Gestion des cookies » (Complianz) : même rendu que le bouton du prototype */
.footer-cookies.cmplz-manage-consent { cursor: pointer; }

/* WordPress ajoute width et height aux images : sans ceci, la hauteur fixe écrase les aspect-ratio du prototype */
img { height: auto; }

/* WordPress ajoute « wp-block-paragraph » aux paragraphes des articles : même texte que les paragraphes sans classe du prototype
   (règle « main p:not([class]) » de site.css) */
main p.wp-block-paragraph { font-size: var(--text-base); line-height: 1.7; }

/* Hero sans visuel (photo pas encore fournie : aucun emplacement réservé affiché) : le texte occupe le hero */
.page-hero--sans-media .page-hero__grid { grid-template-columns: minmax(0, 1fr) !important; }
.page-hero--sans-media .page-hero__text { max-width: 48rem; }

/* Textes saisis dans l'admin (articles, titres des cartes du blog, fiches fournisseurs) : un mot plus long que la ligne
   (nom composé, adresse collée) est coupé au lieu de faire déborder la page en mobile. Limité à ces contenus : ailleurs,
   la coupure casserait des chiffres et des libellés courts (« +5 000 », liens du haut de l'accueil) */
.post :where(h1, h2, h3, h4, p, li, a, figcaption, blockquote, td, th),
.post-card__title,
main[data-fournisseur] :where(h1, h2, h3, p, li, span) { overflow-wrap: anywhere; }
