/* Capucine Chamoux — Bêta 2.2 corrective
 * Alignements, en-tête/pied de page, sections éditoriales et carte.
 */
:root{
  --cc-header-22-h:104px;
  --cc-section-inline:max(var(--cc-gutter),calc((100vw - var(--cc-wide))/2 + var(--cc-gutter)));
}

/* Supprime les espacements générés entre le contenu, le CTA final et le footer. */
html,body{overflow-x:clip}
body .wp-site-blocks{padding:0!important}
body .wp-site-blocks>*{margin-block-start:0!important}
.cc-main,.cc-main>.wp-block-post-content,.cc-main>.wp-block-post-content>*{margin-block-start:0}
.cc-main{min-height:0;margin:0!important}
.cc-contact-scene,.cc-contact-scene+*,.cc-footer--editable{margin-block:0!important}

/* HEADER 2.2 — logo à gauche, navigation centrale, CTA à droite. */
.cc-header--22{
  display:block!important;
  position:fixed!important;
  z-index:1000;
  inset:0 0 auto;
  height:var(--cc-header-22-h)!important;
  padding:0 var(--cc-gutter)!important;
  background:rgba(28,31,23,.18)!important;
  color:var(--cc-lin)!important;
  border-bottom:1px solid rgba(255,247,238,.2)!important;
  backdrop-filter:blur(7px);
  transition:height .4s var(--cc-ease),background .4s var(--cc-ease),color .4s var(--cc-ease),box-shadow .4s var(--cc-ease);
}
.cc-header--22>.cc-header__inner{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(225px,285px) minmax(0,1fr) auto!important;
  align-items:center!important;
  width:min(100%,var(--cc-wide))!important;
  height:100%!important;
  margin:0 auto!important;
  gap:clamp(22px,2.8vw,48px)!important;
}
.cc-header--22.is-scrolled{
  height:82px!important;
  background:rgba(255,247,238,.96)!important;
  color:var(--cc-sapin)!important;
  border-color:rgba(68,73,49,.16)!important;
  box-shadow:0 10px 35px rgba(36,37,31,.08)!important;
  backdrop-filter:blur(20px);
}
.cc-header--22 .cc-header__logo{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  justify-self:start!important;
  margin:0!important;
  z-index:auto!important;
}
.cc-header--22 .cc-header__logo .custom-logo-link{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:clamp(225px,20vw,285px)!important;
  height:72px!important;
}
.cc-header--22 .cc-header__logo img{
  width:100%!important;
  height:auto!important;
  max-height:70px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:brightness(0) invert(1);
  transition:filter .3s,max-height .3s;
}
.cc-header--22.is-scrolled .cc-header__logo img{filter:none;max-height:58px!important}
.cc-header--22 .cc-header__navigation{justify-self:center!important;margin:0!important;color:inherit!important;min-width:0}
.cc-header--22 .cc-header__navigation .wp-block-navigation__container{gap:clamp(12px,1.25vw,24px)!important;flex-wrap:nowrap!important}
.cc-header--22 .cc-header__navigation .wp-block-navigation-item__content{
  color:inherit!important;
  font:600 clamp(9.5px,.69vw,11.5px)/1.2 "DM Sans",Arial,sans-serif!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  padding:13px 0!important;
}
.cc-header--22 .cc-header__cta{justify-self:end!important;margin:0!important;background:transparent!important;position:relative;z-index:2}
.cc-header--22 .cc-header__cta .wp-block-button,
.cc-header--22 .cc-header__cta .wp-block-button.cc-btn{margin:0!important;background:transparent!important;border:0!important;padding:0!important}
.cc-header--22 .cc-header__cta .wp-block-button__link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:50px!important;
  padding:0 20px!important;
  border:1px solid rgba(255,247,238,.62)!important;
  border-radius:999px!important;
  background:var(--cc-brun)!important;
  color:var(--cc-lin)!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  font-size:11.5px!important;
}
.cc-header--22 .cc-header__cta .wp-block-button__link span{display:inline!important;background:transparent!important;color:inherit!important;padding:0!important}
.cc-header--22 .cc-header__cta .wp-block-button__link:hover{background:var(--cc-ocre)!important;color:var(--cc-encre)!important;transform:translateY(-2px)}
.cc-header--22.is-scrolled .cc-header__cta .wp-block-button__link{border-color:var(--cc-sapin)!important;background:var(--cc-sapin)!important;color:var(--cc-lin)!important}

/* Héros : alignement constant et contenu mieux cadré. */
.cc-split-hero__copy{justify-content:center!important;gap:clamp(26px,4vh,48px)!important;padding-top:calc(var(--cc-header-22-h) + clamp(70px,9vh,120px))!important;padding-bottom:clamp(62px,9vh,110px)!important}
.cc-split-hero__copy>.cc-eyebrow{margin:0!important}
.cc-split-hero__copy .cc-mask{display:grid;gap:clamp(22px,3vh,34px);align-content:center}
.cc-split-hero__copy h1{max-width:720px;text-wrap:balance}
.cc-split-hero__copy .cc-lead{margin:0!important;max-width:590px!important}

/* Numérotations décoratives retirées. */
.cc-cinema__no,.cc-method-step>span,.cc-fee-panel>span{display:none!important}
.cc-cinema__content:before{margin-bottom:22px!important}

/* Accueil — présentation du cabinet plus fluide. */
.cc-profile-feature{position:relative;padding:clamp(90px,11vw,160px) var(--cc-gutter);background:var(--cc-lin);overflow:hidden}
.cc-profile-feature__grid{width:min(100%,var(--cc-wide));margin:auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:clamp(48px,8vw,120px)}
.cc-profile-feature__media{position:relative;min-height:clamp(560px,65vw,820px);overflow:hidden;margin:0!important;background:var(--cc-sapin)}
.cc-profile-feature__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--cc-ease)}
.cc-profile-feature:hover .cc-profile-feature__media img{transform:scale(1.025)}
.cc-profile-feature__media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(34,37,27,.34),transparent 52%);pointer-events:none}
.cc-profile-feature__content{max-width:610px}
.cc-profile-feature__content h2{margin:18px 0 28px;font-size:clamp(38px,4.6vw,68px);line-height:1.03;text-wrap:balance}
.cc-profile-feature__content h2 em{font-family:"Tenor Sans";font-weight:400;color:var(--cc-brun)}
.cc-profile-feature__content .cc-lead{max-width:560px}
.cc-profile-feature__points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:36px 0 34px;padding:0;list-style:none}
.cc-profile-feature__points li{padding:18px 16px;border-top:1px solid var(--cc-border);font:600 12px/1.35 "DM Sans";letter-spacing:.04em;color:var(--cc-sapin)}

/* Accueil — méthode modernisée et alignée. */
.cc-method-modern{padding:clamp(90px,11vw,155px) var(--cc-gutter);background:var(--cc-sapin2);color:var(--cc-lin)}
.cc-method-modern__inner{width:min(100%,var(--cc-wide));margin:auto}
.cc-method-modern__head{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(40px,8vw,120px);align-items:end;margin-bottom:clamp(48px,7vw,90px)}
.cc-method-modern__head h2{margin:0;color:var(--cc-lin);font-size:clamp(40px,5vw,72px);line-height:1.02;text-wrap:balance}
.cc-method-modern__head h2 em{font-family:"Tenor Sans";font-weight:400;color:#d8d1aa}
.cc-method-modern__head .cc-lead{margin:0;color:rgba(255,247,238,.75);max-width:590px}
.cc-method-modern__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px)}
.cc-method-modern__card{position:relative;min-height:330px;padding:clamp(28px,3.4vw,48px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border:1px solid rgba(255,247,238,.18);background:rgba(255,247,238,.055);transition:transform .45s var(--cc-ease),background .45s,border-color .45s}
.cc-method-modern__card:before{content:"";position:absolute;inset:auto 0 0;height:4px;background:var(--cc-ocre);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--cc-ease)}
.cc-method-modern__card:hover{transform:translateY(-8px);background:rgba(255,247,238,.1);border-color:rgba(255,247,238,.36)}
.cc-method-modern__card:hover:before{transform:scaleX(1)}
.cc-method-modern__card h3{margin:0 0 16px;color:var(--cc-lin);font-size:clamp(25px,2.5vw,38px)}
.cc-method-modern__card p{margin:0;color:rgba(255,247,238,.72);font-size:15px}
.cc-method-modern__icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:auto;border:1px solid rgba(255,247,238,.32);border-radius:50%;font:500 20px/1 "Tenor Sans";color:#e1cf91}

/* Domaines — section Conseil & contentieux réécrite. */
.cc-approach{padding:clamp(90px,11vw,155px) var(--cc-gutter);background:var(--cc-lin)}
.cc-approach__inner{width:min(100%,var(--cc-wide));margin:auto}
.cc-approach__head{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:clamp(42px,8vw,120px);align-items:start;margin-bottom:clamp(50px,7vw,90px)}
.cc-approach__head h2{margin:0;font-size:clamp(39px,4.8vw,68px);line-height:1.03;text-wrap:balance}
.cc-approach__head .cc-lead{margin:0;max-width:660px}
.cc-approach__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.3vw,34px)}
.cc-approach-card{position:relative;min-height:410px;padding:clamp(28px,3.5vw,48px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:var(--cc-white);border:1px solid rgba(68,73,49,.14);box-shadow:0 20px 55px rgba(50,52,38,.06);transition:transform .45s var(--cc-ease),box-shadow .45s,border-color .45s}
.cc-approach-card:nth-child(2){transform:translateY(42px)}
.cc-approach-card:hover{transform:translateY(-8px);border-color:rgba(142,66,14,.45);box-shadow:0 28px 70px rgba(50,52,38,.13)}
.cc-approach-card:nth-child(2):hover{transform:translateY(34px)}
.cc-approach-card__mark{width:56px;height:2px;background:var(--cc-ocre)}
.cc-approach-card h3{margin:auto 0 18px;font-size:clamp(27px,2.8vw,42px);line-height:1.05}
.cc-approach-card p{margin:0;color:rgba(36,37,31,.72)}
.cc-approach-card a{margin-top:26px;align-self:flex-start}

/* Honoraires — présentation réglementaire éditoriale, sans grille vieillissante. */
.cc-fees-regulatory{padding:clamp(90px,11vw,155px) var(--cc-gutter);background:var(--cc-white)}
.cc-fees-regulatory__inner{width:min(100%,var(--cc-wide));margin:auto}
.cc-fees-regulatory__head{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(42px,8vw,120px);align-items:start;margin-bottom:clamp(50px,7vw,90px)}
.cc-fees-regulatory__head h2{margin:0;font-size:clamp(40px,5vw,70px);line-height:1.02;text-wrap:balance}
.cc-fees-regulatory__intro{max-width:660px}
.cc-fees-regulatory__notice{margin-top:25px;padding:18px 22px;border-left:3px solid var(--cc-ocre);background:var(--cc-lin);font-size:13px;color:rgba(36,37,31,.72)}
.cc-fees-regulatory__rows{border-top:1px solid var(--cc-border)}
.cc-fees-row{display:grid;grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr);gap:clamp(32px,7vw,105px);padding:clamp(34px,5vw,62px) 0;border-bottom:1px solid var(--cc-border);align-items:start}
.cc-fees-row h3{margin:0;font-size:clamp(25px,2.7vw,40px);line-height:1.08}
.cc-fees-row p{margin:0;max-width:760px;color:rgba(36,37,31,.72)}
.cc-fees-row__tag{display:inline-block;margin-bottom:14px;font:600 10px/1.2 "DM Sans";letter-spacing:.12em;text-transform:uppercase;color:var(--cc-brun)}

/* Carte. */
.cc-contact-map-section{padding:0 var(--cc-gutter) clamp(90px,10vw,145px);background:var(--cc-lin)}
.cc-contact-map-section__inner{width:min(100%,var(--cc-wide));margin:auto;display:grid;grid-template-columns:minmax(300px,.55fr) minmax(0,1.45fr);gap:clamp(42px,8vw,110px);align-items:center}
.cc-contact-map-section__copy h2{margin:18px 0 22px;font-size:clamp(34px,4vw,58px)}
.cc-cabinet-map{position:relative}
.cc-cabinet-map__frame{position:relative;overflow:hidden;min-height:480px;background:var(--cc-lin2);border:1px solid rgba(68,73,49,.16)}
.cc-cabinet-map__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.75) contrast(.96)}
.cc-cabinet-map__link{display:inline-flex;align-items:center;gap:9px;margin-top:16px;font:600 11px/1.2 "DM Sans";letter-spacing:.06em;text-transform:uppercase;color:var(--cc-sapin)}
.cc-cabinet-map__link span{transition:transform .3s}
.cc-cabinet-map__link:hover span{transform:translate(4px,-4px)}
.cc-cabinet-map.is-compact{margin-top:20px}
.cc-cabinet-map.is-compact .cc-cabinet-map__frame{min-height:155px;border-color:rgba(255,247,238,.16)}
.cc-cabinet-map.is-compact .cc-cabinet-map__link{color:rgba(255,247,238,.78);font-size:10px}

/* Actualités plus ergonomiques. */
.cc-gallery-section{padding-top:0!important}
.cc-dynamic-gallery{padding-top:clamp(45px,6vw,80px)!important}
.cc-filter-bar{position:sticky;top:90px;z-index:20;display:flex;gap:9px;overflow-x:auto;padding:14px 0 20px;margin-bottom:clamp(28px,4vw,55px);background:linear-gradient(var(--cc-lin) 72%,rgba(255,247,238,0));scrollbar-width:none}
.cc-filter-bar::-webkit-scrollbar{display:none}
.cc-filter-bar button{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:43px;padding:0 17px;border:1px solid rgba(68,73,49,.25);border-radius:999px;background:transparent;color:var(--cc-sapin);font:600 10px/1 "DM Sans";letter-spacing:.055em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .3s}
.cc-filter-bar button:hover{transform:translateY(-2px);border-color:var(--cc-sapin)}
.cc-filter-bar button.is-active{background:var(--cc-sapin);border-color:var(--cc-sapin);color:var(--cc-lin)}
.cc-filter-bar .cc-filter-count{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:rgba(68,73,49,.1);font-size:9px}
.cc-filter-bar button.is-active .cc-filter-count{background:rgba(255,247,238,.16)}
.cc-dynamic-gallery__card:focus-within{outline:3px solid var(--cc-ocre);outline-offset:4px}

/* Footer traditionnel corrigé. */
.cc-footer--22{padding:clamp(72px,8vw,115px) var(--cc-gutter) 24px!important;margin:0!important}
.cc-footer--22 .cc-footer__columns{display:grid!important;grid-template-columns:minmax(260px,1.25fr) minmax(130px,.65fr) minmax(150px,.75fr) minmax(250px,1fr)!important;gap:clamp(32px,4.5vw,70px)!important;align-items:start!important;margin-bottom:clamp(48px,6vw,80px)!important}
.cc-footer--22 .wp-block-column{flex-basis:auto!important;margin:0!important;min-width:0}
.cc-footer--22 .cc-footer__brand .wp-block-buttons,.cc-footer--22 .cc-footer__brand .wp-block-button,.cc-footer--22 .cc-footer__brand .wp-block-button.cc-btn{margin:0!important;background:transparent!important;border:0!important;padding:0!important}
.cc-footer--22 .cc-btn--footer .wp-block-button__link{display:inline-flex!important;align-items:center!important;gap:10px!important;margin-top:18px!important;padding:0 20px!important;min-height:48px!important;border:1px solid var(--cc-lin)!important;border-radius:999px!important;background:var(--cc-lin)!important;color:var(--cc-sapin)!important;white-space:nowrap!important}
.cc-footer--22 .cc-btn--footer .wp-block-button__link span{background:transparent!important;color:inherit!important;padding:0!important}
.cc-footer--22 .cc-btn--footer .wp-block-button__link:hover{background:var(--cc-ocre)!important;border-color:var(--cc-ocre)!important;color:var(--cc-encre)!important;transform:translateY(-2px)}
.cc-footer--22 .cc-footer__contact .cc-contact-details p{margin:.7em 0}

@media(max-width:1280px){
  .cc-header--22>.cc-header__inner{grid-template-columns:minmax(205px,245px) minmax(0,1fr) auto!important;gap:18px!important}
  .cc-header--22 .cc-header__logo .custom-logo-link{width:235px!important}
  .cc-header--22 .cc-header__navigation .wp-block-navigation__container{gap:13px!important}
  .cc-header--22 .cc-header__navigation .wp-block-navigation-item__content{font-size:9.5px!important;letter-spacing:.025em!important}
  .cc-header--22 .cc-header__cta .wp-block-button__link{padding-inline:15px!important;font-size:10px!important}
  .cc-footer--22 .cc-footer__columns{grid-template-columns:minmax(250px,1.1fr) .65fr .75fr minmax(235px,1fr)!important}
}
@media(max-width:1080px){
  :root{--cc-header-22-h:88px}
  .cc-header--22>.cc-header__inner{grid-template-columns:1fr auto!important}
  .cc-header--22 .cc-header__logo{grid-column:1;grid-row:1}
  .cc-header--22 .cc-header__navigation{grid-column:2;grid-row:1;justify-self:end!important}
  .cc-header--22 .cc-header__navigation .wp-block-navigation__container{display:none!important}
  .cc-header--22 .cc-header__navigation .wp-block-navigation__responsive-container-open{display:flex!important;color:inherit!important}
  .cc-header--22 .cc-header__cta{display:none!important}
  .cc-header--22 .cc-header__logo .custom-logo-link{width:clamp(220px,33vw,285px)!important}
  .cc-profile-feature__grid,.cc-method-modern__head,.cc-approach__head,.cc-fees-regulatory__head,.cc-contact-map-section__inner{grid-template-columns:1fr}
  .cc-profile-feature__media{min-height:680px;max-width:760px}
  .cc-method-modern__cards,.cc-approach__cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cc-method-modern__card:last-child,.cc-approach-card:last-child{grid-column:1/-1}
  .cc-approach-card:nth-child(2),.cc-approach-card:nth-child(2):hover{transform:none}
  .cc-footer--22 .cc-footer__columns{grid-template-columns:1.2fr 1fr 1fr!important}
  .cc-footer--22 .cc-footer__brand{grid-column:1/-1}
}
@media(max-width:720px){
  :root{--cc-header-22-h:76px}
  .cc-header--22{padding-inline:18px!important}
  .cc-header--22 .cc-header__logo .custom-logo-link{width:205px!important;height:60px!important}
  .cc-header--22 .cc-header__logo img{max-height:55px!important}
  .cc-split-hero__copy{padding-top:calc(var(--cc-header-22-h) + 65px)!important;min-height:76svh!important}
  .cc-profile-feature,.cc-method-modern,.cc-approach,.cc-fees-regulatory{padding-inline:20px}
  .cc-profile-feature__media{min-height:520px}
  .cc-profile-feature__points{grid-template-columns:1fr}
  .cc-method-modern__cards,.cc-approach__cards{grid-template-columns:1fr}
  .cc-method-modern__card:last-child,.cc-approach-card:last-child{grid-column:auto}
  .cc-method-modern__card{min-height:280px}
  .cc-approach-card{min-height:330px}
  .cc-fees-row{grid-template-columns:1fr;gap:16px}
  .cc-contact-map-section{padding-inline:20px}
  .cc-cabinet-map__frame{min-height:390px}
  .cc-filter-bar{top:74px;margin-inline:-20px;padding-inline:20px}
  .cc-footer--22{padding-inline:20px!important}
  .cc-footer--22 .cc-footer__columns{grid-template-columns:1fr!important}
  .cc-footer--22 .cc-footer__brand{grid-column:auto}
  .cc-footer--22 .cc-footer__bottom{display:grid!important;justify-content:start!important}
  .cc-footer--22 .cc-footer__legal .wp-block-navigation__container{display:grid!important;gap:8px!important}
}
@media(prefers-reduced-motion:reduce){
  .cc-profile-feature__media img,.cc-method-modern__card,.cc-approach-card{transition:none!important}
}
