/* Intégration WordPress des pages au balisage de la maquette (écrit à la main, chargé après djr-proto.css). */
/* 1. Le thème (TT5) n'ajoute ni marge ni largeur maximale autour des sections de la maquette */
body.djr-proto { margin: 0; letter-spacing: normal; }   /* TT5 met -0,1 px sur body */
body.djr-proto :is(h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p) { text-wrap: wrap; }   /* TT5 : text-wrap: pretty (coupures de lignes différentes de la maquette) */
body.djr-proto a { text-underline-offset: auto; }   /* TT5 : 0,1em */
body.djr-proto .wp-site-blocks { padding: 0 !important; }
body.djr-proto .wp-site-blocks > *, body.djr-proto .djr-main, body.djr-proto .djr-content, body.djr-proto .djr-content > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
body.djr-proto .djr-main, body.djr-proto .djr-content { max-width: none !important; padding: 0 !important; }
body.djr-proto .djr-content > section { max-width: none; }
/* v2.4 : pleine largeur garantie, même si un CSS du site encadre la page. Préprod / site en ligne : « CSS additionnel » de l'Éditeur du site
   .wp-site-blocks{max-width:1200px;margin:auto;padding-inline:clamp(12px,4vw,56px)} main{max-width:1080px;margin:auto} (cadre étroit + marges noires).
   Ce CSS est déjà ignoré sur les pages du paquet (inc/styles.php) ; ces règles couvrent toute autre source (extension, Personnaliser…). */
html body.djr-proto .wp-site-blocks { max-width: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
html body.djr-proto .wp-site-blocks > *, html body.djr-proto main.djr-main, html body.djr-proto .djr-content, html body.djr-proto .djr-content > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
body.djr-proto :where(.djr-content) a:where(:not(.wp-element-button)) { text-decoration: none; }
body.djr-proto.admin-bar .c-header { top: 32px; }
@media (max-width: 782px) { body.djr-proto.admin-bar .c-header { top: 46px; } }
/* 2. Visuel de remplacement des photos d'Arden (drapeaux de photo-config.php) */
body.djr-proto .djr-photo-fallback { display: grid; place-items: center; width: 100%; height: 100%; min-height: 220px; background: radial-gradient(circle at 50% 45%, rgba(249,0,0,.18), transparent 60%), var(--c-black, #0D0D0D); border: 1px solid var(--c-line, rgba(246,243,240,.12)); }
body.djr-proto .djr-photo-fallback img { width: 56%; max-width: 280px; height: auto; }
/* 3. Logo AILHAS (version pastille, non modifiée) dans l'emplacement logo de la maquette */
/* flex item + max-width:100% (règle img globale) → largeur 0 : forcer taille + flex-shrink */
body.djr-proto img.djr-logo-asso { width: 120px; height: 120px; max-width: 120px; flex-shrink: 0; object-fit: contain; display: block; }
body.djr-proto .c-partner img.djr-logo-asso { width: 220px; height: 220px; max-width: 220px; }   /* même emplacement que .c-partner .c-ph--logo de la maquette */
@media (max-width: 1023px) { body.djr-proto .c-partner img.djr-logo-asso { width: 140px; height: 140px; max-width: 140px; } }
/* 4. Avis : sans JavaScript, texte complet (le repli à 7 lignes de la maquette ne s'applique qu'avec .djr-js) */
body.djr-proto:not(.djr-js) .c-review__txt p { display: block; -webkit-line-clamp: unset; overflow: visible; }
body.djr-proto .c-review__more[hidden] { display: none; }
/* Avis : lien de source et lien discret « Laisser un avis » */
body.djr-proto a.c-review__src:hover { border-color: var(--c-red); color: var(--c-white); }
body.djr-proto .c-reviews__leave { margin: 16px 0 0; font: 400 13px/1.5 var(--f-body); color: var(--c-text-dim); }
body.djr-proto .c-reviews__leave a { color: var(--c-text); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(246,243,240,.35); }
body.djr-proto .c-reviews__leave a + a { margin-left: 18px; }
body.djr-proto .c-reviews__leave a:hover { color: var(--c-red-light); }
/* 5. Formulaire WPForms 760 habillé comme le formulaire de la maquette (.c-form) */
body.djr-proto .djr-form .wpforms-container { margin: 0 !important; max-width: none !important; }
body.djr-proto .djr-form .wpforms-head-container { display: none; }
body.djr-proto .djr-form .wpforms-form .wpforms-field-container { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
body.djr-proto .djr-form .wpforms-form .wpforms-field { padding: 0 !important; margin: 0 !important; grid-column: auto; max-width: none !important; }
body.djr-proto .djr-form .wpforms-form .wpforms-field-select, body.djr-proto .djr-form .wpforms-form .wpforms-field-textarea,
body.djr-proto .djr-form .wpforms-form .wpforms-field-gdpr-checkbox, body.djr-proto .djr-form .wpforms-form .wpforms-field-checkbox,
body.djr-proto .djr-form .wpforms-form .wpforms-field-html, body.djr-proto .djr-form .wpforms-form .wpforms-field-divider { grid-column: 1 / -1; }
body.djr-proto .djr-form .wpforms-form .wpforms-field-label { display: block; font: 600 12px/1 var(--f-label) !important; letter-spacing: .2em; text-transform: uppercase; color: #D9D4CF !important; margin: 0 0 9px !important; padding: 0 !important; }
body.djr-proto .djr-form .wpforms-form .wpforms-required-label { color: var(--c-red-light) !important; font-weight: 600; }
body.djr-proto .djr-form .wpforms-form input[type=text], body.djr-proto .djr-form .wpforms-form input[type=email], body.djr-proto .djr-form .wpforms-form input[type=tel],
body.djr-proto .djr-form .wpforms-form input[type=number], body.djr-proto .djr-form .wpforms-form input[type=date], body.djr-proto .djr-form .wpforms-form select, body.djr-proto .djr-form .wpforms-form textarea {
	width: 100% !important; max-width: none !important; height: 52px !important; padding: 0 16px !important; background-color: rgba(246,243,240,.04) !important; border: 1px solid rgba(246,243,240,.22) !important;
	border-radius: var(--radius-btn) !important; color: var(--c-white) !important; font: 400 16px/1 var(--f-body) !important; box-shadow: none !important; appearance: none; }
body.djr-proto .djr-form .wpforms-form textarea { height: 108px !important; padding: 14px 16px !important; line-height: 1.5 !important; resize: vertical; }
body.djr-proto .djr-form .wpforms-form select { background-image: linear-gradient(45deg, transparent 50%, var(--c-red-light) 50%), linear-gradient(135deg, var(--c-red-light) 50%, transparent 50%) !important;
	background-position: calc(100% - 22px) 23px, calc(100% - 16px) 23px !important; background-size: 6px 6px !important; background-repeat: no-repeat !important; }
body.djr-proto .djr-form .wpforms-form select option { color: #111; }
body.djr-proto .djr-form .wpforms-form input::placeholder, body.djr-proto .djr-form .wpforms-form textarea::placeholder { color: #77726D !important; }
body.djr-proto .djr-form .wpforms-form input:focus, body.djr-proto .djr-form .wpforms-form select:focus, body.djr-proto .djr-form .wpforms-form textarea:focus { outline: 0 !important; border-color: var(--c-red-light) !important; box-shadow: 0 0 0 3px rgba(255,59,59,.18) !important; }
body.djr-proto .djr-form .wpforms-form input.is-prefilled { border-color: var(--c-line-red) !important; }
body.djr-proto .djr-form .wpforms-form .wpforms-field-sublabel, body.djr-proto .djr-form .wpforms-form .wpforms-field-description { font: 400 12px/1.4 var(--f-body) !important; color: var(--c-text-dim) !important; margin-top: 7px !important; }
body.djr-proto .djr-form .wpforms-form .wpforms-field-gdpr-checkbox ul, body.djr-proto .djr-form .wpforms-form .wpforms-field-checkbox ul { margin: 0 !important; padding: 0 !important; list-style: none; }
body.djr-proto .djr-form .wpforms-form .wpforms-field-gdpr-checkbox li, body.djr-proto .djr-form .wpforms-form .wpforms-field-checkbox li { display: flex; gap: 12px; align-items: flex-start; font: 400 13px/1.5 var(--f-body); color: var(--c-text); margin: 0 !important; padding: 0 !important; }
body.djr-proto .djr-form .wpforms-form input[type=checkbox] { width: 20px !important; height: 20px !important; margin: 1px 0 0 !important; flex: none; }
body.djr-proto .djr-form .wpforms-form .wpforms-field-gdpr-checkbox label, body.djr-proto .djr-form .wpforms-form .wpforms-field-checkbox li label { font: 400 13px/1.5 var(--f-body) !important; color: var(--c-text) !important; letter-spacing: 0 !important; text-transform: none !important; }
body.djr-proto .djr-form .wpforms-form label.wpforms-error, body.djr-proto .djr-form .wpforms-form em.wpforms-error { font: 500 12px/1.4 var(--f-body) !important; color: var(--c-red-light) !important; margin-top: 7px !important; }
body.djr-proto .djr-form .wpforms-form .wpforms-submit-container { display: flex; align-items: center; justify-content: space-between; gap: var(--s-5); flex-wrap: wrap; margin-top: 24px !important; padding: 0 !important; }
body.djr-proto .djr-form .wpforms-submit-container .djr-form__note { margin: 0; flex: 0 1 auto; }
/* formulaires du paquet : demi-largeur seulement pour les champs marqués djr-f-half (ordre et largeurs de la maquette) */
body.djr-proto .djr-form:has(.djr-f-half) .wpforms-form .wpforms-field { grid-column: 1 / -1; }
body.djr-proto .djr-form:has(.djr-f-half) .wpforms-form .wpforms-field.djr-f-half { grid-column: auto; }
body.djr-proto .djr-form .wpforms-field-label small { font: 400 12px var(--f-body); letter-spacing: 0; text-transform: none; color: var(--c-text-dim); }
body.djr-proto .djr-form .wpforms-form select:invalid, body.djr-proto .djr-form .wpforms-form select option[value=""] { color: #77726D; }
body.djr-proto .djr-form .wpforms-form .wpforms-field-gdpr-checkbox li label a { color: var(--c-red-light); text-decoration: underline; }
@media (max-width: 767px) { body.djr-proto .djr-form:has(.djr-f-half) .wpforms-form .wpforms-field.djr-f-half { grid-column: 1 / -1; } }
body.djr-proto .djr-form > .djr-form__note { margin: 18px 0 0; }
body.djr-proto .djr-form .wpforms-field-gdpr-checkbox > .wpforms-field-label, body.djr-proto .djr-form .djr-f-consent .wpforms-field-label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.djr-proto .djr-form .wpforms-form input[type=checkbox] { appearance: none; -webkit-appearance: none; border: 1px solid rgba(246,243,240,.4); background: transparent; border-radius: 0; cursor: pointer; }
body.djr-proto .djr-form .wpforms-form input[type=checkbox]:checked { background: var(--c-red); border-color: var(--c-red); box-shadow: inset 0 0 0 3px #111; }
body.djr-proto .djr-form .wpforms-form input[type=checkbox]::before, body.djr-proto .djr-form .wpforms-form input[type=checkbox]::after { display: none !important; }
body.djr-proto .djr-form .wpforms-form .wpforms-field-gdpr-checkbox .wpforms-field-description { margin: 6px 0 0 32px !important; }
body.djr-proto .djr-form .wpforms-form button[type=submit] { display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; min-height: 58px !important; height: auto !important; padding: 0 32px !important;
	background: var(--c-red-deep) !important; color: var(--c-white) !important; border: 1px solid transparent !important; border-radius: var(--radius-btn) !important; font: 600 16px/1 var(--f-label) !important; letter-spacing: var(--ls-btn) !important; text-transform: uppercase; cursor: pointer; box-shadow: none !important; white-space: nowrap; }
body.djr-proto .djr-form .wpforms-form button[type=submit]:hover { background: var(--c-red-press) !important; box-shadow: var(--glow-red) !important; }
body.djr-proto .djr-form .wpforms-confirmation-container-full { background: rgba(0,0,0,.4) !important; border: 1px solid var(--c-line-red) !important; color: var(--c-white) !important; font: 400 16px/1.5 var(--f-body); padding: 22px !important; }
@media (max-width: 767px) { body.djr-proto .djr-form .wpforms-form .wpforms-field-container { grid-template-columns: minmax(0, 1fr); } body.djr-proto .djr-form .wpforms-form .wpforms-submit-container { justify-content: stretch; } body.djr-proto .djr-form .wpforms-form button[type=submit] { width: 100%; } }
/* bouton d'envoi : flèche de la maquette (icône i-arrow) ; lien confidentialité comme dans la case de la maquette */
body.djr-proto .djr-form .wpforms-form button[type=submit]::after { content: ""; width: 18px; height: 18px; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; }
body.djr-proto .djr-form .wpforms-form .wpforms-field-description a { color: var(--c-red-light) !important; text-decoration: underline; }

/* 4. Pastille sobre (initiales) quand le logo association n’est pas encore fourni */
body.djr-proto .c-partner__badge {
  width: 120px; height: 120px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--c-line-red, #C8102E);
  background: rgba(249, 0, 0, 0.06);
  border-radius: 8px;
}
body.djr-proto .c-partner__badge span {
  font: 600 22px/1 var(--f-label, "Barlow Condensed", sans-serif);
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--c-red-light, #FF3B3B);
}
body.djr-proto .c-partner .c-partner__badge { width: 220px; height: 220px; }
body.djr-proto .c-partner .c-partner__badge span { font-size: 36px; }
@media (max-width: 1023px) {
  body.djr-proto .c-partner .c-partner__badge { width: 140px; height: 140px; }
  body.djr-proto .c-partner .c-partner__badge span { font-size: 26px; }
}
/* v2.5.6 — Pages juridiques (mentions légales, CGV) : texte d'origine mot pour mot, mise en page sobre de la maquette.
   Sommaire collant à gauche (bureau), blocs numérotés, lignes de 70 caractères environ. */
body.djr-proto .c-legal-hero .c-phero__in { padding: 72px 0 40px; }
body.djr-proto .c-legal { padding-top: 48px; }
body.djr-proto .c-legal__grid { display: grid; grid-template-columns: 280px minmax(0, 760px); gap: 72px; align-items: start; }
body.djr-proto .c-legal__aside { position: sticky; top: calc(var(--header-h) + 24px); }
body.djr-proto .c-legal-toc { border: 1px solid var(--c-line); background: var(--c-fill-card); padding: 24px 24px 12px; }
body.djr-proto .c-legal-toc .t-label { display: block; margin-bottom: 10px; }
body.djr-proto .c-legal-toc ol { list-style: none; margin: 0; padding: 0; }
body.djr-proto .c-legal-toc li { border-top: 1px solid var(--c-line); }
body.djr-proto .c-legal-toc li:first-child { border-top: 0; }
body.djr-proto .c-legal-toc a { display: flex; gap: 10px; align-items: baseline; padding: 11px 0; font: 500 15px/1.35 var(--f-body); color: #CFCAC5; transition: color var(--t-fast); }
body.djr-proto .c-legal-toc a:hover, body.djr-proto .c-legal-toc a:focus-visible { color: var(--c-white); }
body.djr-proto .c-legal-toc__n { font: 400 20px/1 var(--f-display); color: var(--c-red-light); min-width: 22px; }
body.djr-proto .c-legal__block { padding: 40px 0 36px; border-top: 1px solid var(--c-line); position: relative; }
body.djr-proto .c-legal__block:first-child { padding-top: 0; border-top: 0; }
body.djr-proto .c-legal__block::before { content: ""; position: absolute; top: -1px; left: 0; width: 48px; height: 2px; background: var(--c-red); }
body.djr-proto .c-legal__block:first-child::before { display: none; }
body.djr-proto .c-legal__h { font: 400 var(--fs-h3)/1.05 var(--f-display); letter-spacing: .01em; color: var(--c-white); margin: 0 0 18px; text-transform: none; }
body.djr-proto .c-legal__n { color: var(--c-red); margin-right: 4px; }
body.djr-proto .c-legal__text { font: 400 17px/1.7 var(--f-body); color: #CFCAC5; overflow-wrap: break-word; }
body.djr-proto .c-legal__text p { margin: 0 0 14px; }
body.djr-proto .c-legal__text p:last-child { margin-bottom: 0; }
body.djr-proto .c-legal__text strong { color: var(--c-white); font-weight: 600; }
body.djr-proto .c-legal__text a { color: var(--c-red-light); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
body.djr-proto .c-legal__text a:hover { color: var(--c-white); }
body.djr-proto .c-legal__lines { list-style: none; margin: 4px 0 18px; padding: 0; border-left: 2px solid var(--c-line-red); }
body.djr-proto .c-legal__lines li { padding: 7px 0 7px 18px; }
body.djr-proto .c-legal__lines li + li { border-top: 1px solid rgba(246,243,240,.06); }
body.djr-proto .c-legal__top { display: none; }
body.djr-proto .c-legal__cta { margin: 16px 0 0; padding-top: 36px; border-top: 1px solid var(--c-line); }
@media (max-width: 1023px) {
	body.djr-proto .c-legal-hero .c-phero__in { padding: 40px 0 32px; }
	body.djr-proto .c-legal { padding-top: 32px; }
	body.djr-proto .c-legal__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	body.djr-proto .c-legal__aside { position: static; }
	body.djr-proto .c-legal-toc { padding: 18px 18px 6px; }
	body.djr-proto .c-legal__block { padding: 32px 0 28px; }
	body.djr-proto .c-legal__h { font-size: 28px; }
	body.djr-proto .c-legal__text { font-size: 16px; line-height: 1.65; }
	body.djr-proto .c-legal__top { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font: 600 12px/1 var(--f-label); letter-spacing: .18em; text-transform: uppercase; color: var(--c-text); }
	body.djr-proto .c-legal__top .ico { width: 12px; height: 12px; transform: rotate(-90deg); }
	body.djr-proto .c-legal__cta .c-btn { width: 100%; justify-content: center; }
}

/* v2.5.7 — blocs « à fournir » retirés côté public (inc/reperes.php) : mise en page sans trou */
/* grilles de cartes dont des cartes peuvent manquer : les cartes restantes gardent leur largeur et se centrent */
body.djr-proto .djr-grille-souple { display: flex; flex-wrap: wrap; justify-content: center; }
body.djr-proto .l-cards-3.djr-grille-souple > * { flex: 0 1 calc((100% - 2 * var(--grid-gap)) / 3); min-width: 0; }
@media (max-width: 1023px) { body.djr-proto .l-cards-3.djr-grille-souple > * { flex-basis: 100%; } }
/* colonne texte seule (photo retirée) : pleine largeur, ligne de lecture limitée */
body.djr-proto .l-split > :only-child { grid-column: 1 / -1; max-width: 860px; }
body.djr-proto .c-phero__in > :only-child { grid-column: 1 / -1; max-width: 860px; }
/* carte sans photo (photo retirée) : texte en bas de carte, aligné sur les cartes voisines */
body.djr-proto .c-card > .c-card__body:first-child { justify-content: flex-end; padding-top: 28px; }
body.djr-proto .c-card > .c-card__body:first-child .c-card__text { flex: 0 0 auto; }
/* fiche partenaire avec 2 rubriques au lieu de 3 : la 2e prend la place de la 3e (pas de colonne vide) */
body.djr-proto .c-partner__grid > :nth-child(2):last-child { grid-column: 2 / -1; }
@media (max-width: 1023px) { body.djr-proto .c-partner__grid > :nth-child(2):last-child { grid-column: auto; } }

/* v2.5.7 (08/10/2026) : À propos, références scène (photo entière + crédit visibles, liste à côté) ; villes, bloc Secteur */
body.djr-proto .c-refs .c-card__media{ aspect-ratio: auto; }
body.djr-proto .c-refs .c-card__media img.c-photo{ height: auto; }
body.djr-proto .c-refs__list{ margin: 0; }
@media (max-width: 1023px){ body.djr-proto .c-refs__list{ margin-top: 28px; } }
body.djr-proto .c-ville-avis .c-pbadges{ margin: 0; }
