/* =========================================================
   Imea - correctifs issus de l'audit maquette / site
   Charge apres imea.css
   ========================================================= */

/* --- A8 : le contenu ne doit plus ressembler a une carte blanche --- */
.separate-containers .inside-article,
.separate-containers .site-main,
.one-container .site-content{
  background-color:var(--imea-paper) !important;
}
.separate-containers .inside-article{ box-shadow:none; }

/* --- E4 : en-tete collant, le flou deja code sert enfin --- */
.site-header{ position:sticky; top:0; z-index:50; }
body.admin-bar .site-header{ top:32px; }
@media screen and (max-width:782px){ body.admin-bar .site-header{ top:46px; } }
html{ scroll-behavior:smooth; }
.entry-content h2{ scroll-margin-top:110px; }

/* --- A1 : bandes pleine largeur possibles dans un conteneur separe --- */
.entry-content .alignfull{
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  width:100vw;
  max-width:100vw;
}
.entry-content .alignfull > .wp-block-group__inner-container{
  max-width:1280px; margin:0 auto; padding:0 56px;
}
/* WordPress 6 et suivants n'emettent plus de conteneur interne.
   La bande fait 100vw : une marge interieure de 50% - 584px ramene
   son contenu sur la meme colonne de 1168 px que le reste du site,
   sans casser le flux normal ni la fusion des marges verticales. */
.entry-content .imea-deep,
.entry-content .imea-dark,
.entry-content .imea-band{
  padding-left:max(22px, calc(50% - 584px));
  padding-right:max(22px, calc(50% - 584px));
}
.entry-content .imea-deep > *,
.entry-content .imea-dark > *,
.entry-content .imea-band > *{
  max-width:none;
  margin-left:0;
  margin-right:0;
}
/* le texte garde une longueur de ligne lisible, cale a gauche de la colonne */
.entry-content .imea-deep > p,
.entry-content .imea-deep > ul,
.entry-content .imea-deep > ol,
.entry-content .imea-deep > h2,
.entry-content .imea-band > p,
.entry-content .imea-band > ul,
.entry-content .imea-band > ol,
.entry-content .imea-band > h2{
  max-width:74ch;
}
body{ overflow-x:hidden; }

/* le texte reste lisible dans les colonnes */
.entry-content .wp-block-column > p,
.entry-content .wp-block-column > ul,
.entry-content .wp-block-column > h3{ max-width:none; }

/* --- B2 : alternance de fond entre sections --- */
.entry-content .imea-deep{
  background-color:var(--imea-paper-deep);
  padding-top:80px;
  padding-bottom:80px;
  margin:0;
}
.entry-content .imea-deep > *:first-child,
.entry-content .imea-band > *:first-child{ margin-top:0; }
.entry-content .imea-deep > *:last-child,
.entry-content .imea-band > *:last-child{ margin-bottom:0; }
.entry-content .imea-deep h2{ margin-top:0; }

/* bande sur fond papier, pour l'alternance avec imea-deep */
.entry-content .imea-band{
  background-color:var(--imea-paper);
  padding-top:80px;
  padding-bottom:80px;
  margin:0;
}
.entry-content .imea-band h2{ margin-top:0; }

/* image de colonne au format portrait, pour equilibrer texte et photo */
.entry-content .imea-45 img{ aspect-ratio:4/5; object-fit:cover; }
.entry-content .imea-45{ margin:0; }
@media (max-width:768px){
  .entry-content .imea-45 img{ aspect-ratio:3/2; }
}

/* --- B3 : bande finale sur fond encre --- */
.entry-content .imea-dark{
  background-color:var(--imea-ink);
  color:var(--imea-paper);
  padding-top:76px;
  padding-bottom:76px;
  text-align:center;
  margin:0;
}
.entry-content .imea-dark > *:first-child{ margin-top:0; }
.entry-content .imea-dark > *:last-child{ margin-bottom:0; }
.entry-content .imea-dark h2{ color:var(--imea-paper); margin-top:0; }
.entry-content .imea-dark p{
  color:#c8bfb5;
  max-width:62ch;
  margin-left:auto;
  margin-right:auto;
}
.entry-content .imea-dark p.kicker{ color:var(--imea-accent); }
.entry-content .imea-dark .wp-block-buttons{ justify-content:center; }
.entry-content .imea-dark .wp-block-button__link{
  background-color:transparent !important;
  border-color:var(--imea-paper) !important;
  color:var(--imea-paper) !important;
}
.entry-content .imea-dark .wp-block-button__link:hover{
  background-color:var(--imea-paper) !important;
  color:var(--imea-ink) !important;
}

/* --- C2 : les legendes de galerie ne doivent pas se poser sur la photo --- */
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{
  position:static !important;
  background:none !important;
  background-image:none !important;
  color:var(--imea-muted) !important;
  text-shadow:none !important;
  padding:0 !important;
  margin:10px 0 0 !important;
  text-align:left !important;
  font-size:12px !important;
  letter-spacing:.05em;
  text-transform:uppercase;
  max-height:none !important;
  overflow:visible !important;
  flex-grow:0;
}
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image{
  align-self:flex-start;
}

/* --- D4 : puces en point median terracotta --- */
.entry-content ul li{ font-size:15.5px; }
.entry-content ul li::before{
  content:'\00B7';
  left:5px; top:6px;
  width:auto; height:auto; background:none;
  color:var(--imea-accent); font-size:24px; line-height:1;
}

/* --- E3 : liens texte en terracotta souligne --- */
.entry-content p > a[href$="/"]:not(.wp-block-button__link){ }
.entry-content .more,
.entry-content p a.more{
  display:inline-block; font-size:13.5px; letter-spacing:.04em;
  color:var(--imea-accent); border-bottom:1px solid var(--imea-line);
  padding-bottom:2px; text-decoration:none;
}
.entry-content .more:hover{ border-color:var(--imea-accent); }

/* --- A5 : encadres de prix --- */
.entry-content .imea-pricebox{
  border:1px solid var(--imea-line);
  background-color:var(--imea-paper);
  padding:28px 26px;
  margin:20px 0;
}
.entry-content .imea-pricebox .kicker{ margin-bottom:2px; }
.entry-content .imea-pricebox .amount{
  font-family:var(--imea-serif); font-size:36px; line-height:1;
  display:block; margin:2px 0 8px;
}
.entry-content .imea-pricebox p{ font-size:15px; color:var(--imea-ink-soft); margin:0; max-width:none; }

/* --- A6 : etapes numerotees --- */
.entry-content .imea-steps{ counter-reset:s; }
.entry-content .imea-steps > .wp-block-column{ counter-increment:s; }
.entry-content .imea-steps > .wp-block-column::before{
  content:counter(s,decimal-leading-zero);
  font-family:var(--imea-serif); font-size:27px; color:var(--imea-accent);
  display:block; margin-bottom:10px;
}
.entry-content .imea-steps h3{ margin-top:0; font-size:18px; }

/* --- questions frequentes en accordeon --- */
.entry-content .wp-block-details{
  border-top:1px solid var(--imea-line);
  padding:20px 0;
  margin:0;
}
.entry-content .wp-block-details:last-of-type{ border-bottom:1px solid var(--imea-line); }
.entry-content .wp-block-details summary{
  font-family:var(--imea-serif);
  font-size:19px;
  line-height:1.35;
  cursor:pointer;
  list-style:none;
  position:relative;
  padding-right:34px;
}
.entry-content .wp-block-details summary::-webkit-details-marker{ display:none; }
.entry-content .wp-block-details summary::after{
  content:'+';
  position:absolute; right:4px; top:-2px;
  font-family:var(--imea-sans); font-size:22px; line-height:1;
  color:var(--imea-accent);
}
.entry-content .wp-block-details[open] summary::after{ content:'\2212'; }
.entry-content .wp-block-details[open] summary{ color:var(--imea-accent); }
.entry-content .wp-block-details p{ margin-top:14px; font-size:15.5px; color:var(--imea-ink-soft); }
.entry-content .wp-block-details + .wp-block-details{ margin-top:0; }

/* l'accordeon occupe toute la largeur de sa colonne */
.entry-content .wp-block-details{ max-width:none; }

/* --- D7 : champs de formulaire habilles --- */
.ff-el-form-control{
  background-color:var(--imea-paper) !important;
  border:1px solid var(--imea-line) !important;
  border-radius:0 !important;
  padding:13px 14px !important;
  font-family:var(--imea-sans) !important;
  font-size:15.5px !important;
  color:var(--imea-ink) !important;
}
.ff-el-form-control:focus{ border-color:var(--imea-accent) !important; outline:none !important; box-shadow:none !important; }
.ff-el-input--label label{
  font-size:12px !important; letter-spacing:.11em; text-transform:uppercase;
  color:var(--imea-muted) !important; font-weight:400 !important;
}
.ff-btn-submit{ width:100%; }

/* --- D8 : note discrete --- */
.entry-content p.note{ font-size:14px; color:var(--imea-muted); margin-top:16px; }

/* --- D9 : premier paragraphe, ne grossir que .lead --- */
.entry-content > p:first-of-type{ font-size:inherit; line-height:inherit; color:inherit; }
.entry-content > p.lead,
.entry-content p.lead{ font-size:20px; line-height:1.6; color:var(--imea-ink-soft); }

/* citations, signature --- */
.entry-content .wp-block-quote cite{
  display:block; font-family:var(--imea-sans); font-style:normal;
  font-size:12px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--imea-muted); margin-top:12px;
}

/* --- E5 : le menu ne doit pas deborder entre 769 et 1100 px --- */
@media (min-width:769px) and (max-width:1100px){
  .main-navigation .main-nav ul li a{ padding-left:9px; padding-right:9px; font-size:13px; }
  .main-navigation .main-nav > ul > li:last-child > a{ padding-left:16px; padding-right:16px; }
  .site-logo img, .site-header img{ max-height:38px !important; }
}

/* --- pied de page --- */
.imea-footer{
  background-color:var(--imea-ink);
  color:#c8bfb5;
  padding:64px 0 52px;
}
.imea-footer .inside-footer-widgets{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:40px;
  max-width:1280px;
  margin:0 auto;
  padding:0 56px;
}
.imea-footer .widget{ padding:0; margin:0; background:none; }
.imea-footer .widget-title,
.imea-footer h2,
.imea-footer h3{
  font-family:var(--imea-sans);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--imea-paper);
  margin:0 0 16px;
}
.imea-footer p,
.imea-footer li{
  font-size:14.5px;
  line-height:1.7;
  color:#c8bfb5;
  margin:0 0 8px;
  max-width:none;
}
.imea-footer ul{ list-style:none; margin:0; padding:0; }
.imea-footer li{ padding:0; }
.imea-footer li::before{ content:none; }
.imea-footer a{ color:#c8bfb5; text-decoration:none; border-bottom:1px solid transparent; }
.imea-footer a:hover{ color:var(--imea-paper); border-bottom-color:var(--imea-accent); }
.imea-footer img{ max-width:132px; height:auto; margin-bottom:16px; }
.imea-footer .imea-claim{
  font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--imea-accent); margin-top:18px; margin-bottom:4px;
}
.site-info{
  background-color:var(--imea-ink);
  color:#8b8177;
  font-size:13px;
  border-top:1px solid rgba(250,247,242,.12);
}
.site-info a{ color:#8b8177; }
.site-info .copyright-bar a[href*="generatepress"]{ display:none; }
@media (max-width:900px){
  .imea-footer .inside-footer-widgets{ grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:768px){
  .imea-footer{ padding:44px 0 34px; }
  .imea-footer .inside-footer-widgets{ grid-template-columns:1fr; padding:0 22px; gap:28px; }
}
