.header-inner {
  width: calc(100% - clamp(2rem, 5vw, 6rem));
  max-width: none;
}

.site-footer {
  width: 100%;
  padding-right: clamp(1.5rem, 4vw, 4rem);
  padding-left: clamp(1.5rem, 4vw, 4rem);
}

.site-footer a { text-decoration: none; }
.site-footer a:hover { color: #fff; }
.site-footer .footer-legal { align-items: center; gap: 1rem 2rem; }
.site-footer .footer-legal-links { display: flex; align-items: center; justify-content: flex-end; gap: 40px; }
.site-footer .footer-credit a { color: rgba(255,255,255,.72); }
@media (max-width: 900px) {
  .site-footer .footer-legal-links { justify-content: flex-start; flex-wrap: wrap; gap: 12px 40px; }
}

body:not(.home) .site-header,
body:not(.home) .site-header.is-scrolled {
  position: sticky;
  top: 0;
  background: #211d1a;
  color: #fff;
  border-bottom-color: rgba(255,255,255,.18);
  backdrop-filter: none;
}

body:not(.home) .inner-main {
  padding-top: 0;
}

.page-hero-visual {
  position: relative;
  min-height: min(78vh, 760px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding: clamp(10rem, 18vw, 14rem) max(5vw, calc((100vw - 1240px) / 2)) clamp(5rem, 8vw, 7rem);
  background: #211d1a;
  color: #fff;
}

.page-hero-bg,
.page-hero-shade { position: absolute; inset: 0; }
.page-hero-bg { background-position: center; background-size: cover; transform: scale(1.015); }
.page-body-cecile-photographe-son-travail + * { clear: both; }
.page-body-cecile-photographe-son-travail ~ .page-hero-bg { background-position: center 38%; }
.page-hero-shade {
  background: linear-gradient(90deg, rgba(25,19,16,.78), rgba(25,19,16,.24) 72%),
              linear-gradient(0deg, rgba(20,15,12,.54), transparent 60%);
}

.page-hero-content { position: relative; z-index: 2; width: min(850px, 100%); }
.page-hero-visual h1 { max-width: 820px; margin-bottom: 1.5rem; }
.page-hero-lead { max-width: 650px; margin: 0 0 2rem; color: rgba(255,255,255,.88); font-size: clamp(1rem,1.4vw,1.2rem); }

.page-body {
  width: min(1120px, 90vw);
  padding-top: clamp(5rem, 8vw, 8rem);
}

.page-body > * { max-width: none; }
.page-body .wp-block-columns > p:empty,
.page-body .wp-block-columns > div:empty { display: none; }

.page-body > .elementor,
.page-body > .wp-block-group { width: 100%; max-width: none; }

.page-body h1 { font-size: clamp(2.2rem, 3.7vw, 4rem); }
.page-body h2 { font-size: clamp(2rem, 3.2vw, 3.5rem); line-height: 1.05; }
.page-body p { line-height: 1.75; }
.page-body > p:empty { display: none; }
.page-body .elementor-button,
.page-body .wp-element-button,
.page-body input[type="submit"] {
  border: 0 !important;
  border-radius: 999px !important;
  background: #b97143 !important;
  color: #fff !important;
  padding: .95rem 1.55rem !important;
  font: 600 .72rem/1.2 var(--sans) !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

.page-body input:not([type="submit"]),
.page-body select,
.page-body textarea {
  border: 1px solid #d7cbc1 !important;
  border-radius: 0 !important;
  background: #fff !important;
  padding: .9rem 1rem !important;
}

/* Page mariage */
.page-body-photographe-mariage > h1:first-of-type {
  max-width: 920px;
  margin: 0 auto clamp(3rem, 6vw, 5rem);
  text-wrap: balance;
}

.page-body-photographe-mariage > .wp-block-columns {
  max-width: none;
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}

.page-body-photographe-mariage > .wp-block-columns:nth-of-type(1) {
  padding: clamp(2rem, 4vw, 4rem);
  background: #f3ede7;
}

.page-body-photographe-mariage > .wp-block-columns:nth-of-type(1) img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.page-body-photographe-mariage > h2 {
  margin-top: clamp(5rem, 9vw, 8rem);
  text-wrap: balance;
}

.page-body-photographe-mariage > h2:nth-of-type(3) {
  margin-bottom: 2.5rem;
}

.page-body-photographe-mariage > h2:nth-of-type(3) ~ .wp-block-paragraph:not(:empty) {
  max-width: 900px;
  padding: 1.15rem 0;
  margin-top: 0;
  margin-bottom: 0;
  border-top: 1px solid #d7cbc1;
}

.page-body-photographe-mariage > h2:nth-of-type(3) ~ .wp-block-paragraph:not(:empty):nth-of-type(odd) {
  color: #211d1a;
  font-weight: 600;
}

.page-body-photographe-mariage > .wp-block-buttons:last-of-type {
  margin-top: 3rem;
}

/* Portfolio : de vrais chapitres visuels, alternés et respirants. */
.page-body-portfolio > hr { display: none; }
.page-body-portfolio > .wp-block-columns {
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  padding: clamp(2rem, 5vw, 5rem);
  margin-bottom: 1.5rem;
  background: #f3ede7;
}

.page-body-portfolio > .wp-block-columns:nth-of-type(even) { background: #fff; }
.page-body-portfolio > .wp-block-columns > .wp-block-column:first-of-type { flex: 0 0 38% !important; }
.page-body-portfolio > .wp-block-columns > .wp-block-column:last-of-type { flex: 1 1 62% !important; }
.page-body-portfolio > .wp-block-columns:nth-of-type(even) > .wp-block-column:first-child { order: 2; }
.page-body-portfolio h1,
.page-body-portfolio h2,
.page-body-portfolio h3 { text-wrap: balance; }
.page-body-portfolio .wp-block-image { margin: 0; overflow: hidden; }
.page-body-portfolio img {
  width: 100%;
  min-height: 260px;
  max-height: 620px;
  object-fit: cover;
}

.page-body-portfolio .wp-block-gallery {
  gap: .75rem !important;
}

/* À propos : une lecture éditoriale centrée sur la personne et son approche. */
.cecile-about-page { width: 100%; }
.cecile-about-page > header {
  max-width: 980px;
  margin: 0 auto clamp(4rem, 7vw, 7rem);
  text-align: center;
}
.cecile-about-page > header h1 { text-wrap: balance; }
.cecile-about-page > header p { max-width: 820px; margin-right: auto; margin-left: auto; }
.cecile-about-page > header a {
  display: inline-flex;
  margin-top: 1rem;
  padding-bottom: .2rem;
  border-bottom: 1px solid currentColor;
  text-decoration: none;
}
.cecile-about-page > figure {
  max-width: 980px;
  margin: 0 auto clamp(4rem, 7vw, 7rem);
}
.cecile-about-page > figure img {
  width: 100%;
  max-height: 680px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.cecile-about-page > figure figcaption {
  padding-top: .75rem;
  color: #746a63;
  font-size: .78rem;
}
.cecile-about-page > h2,
.cecile-about-page > p,
.cecile-about-page > ul { max-width: 780px; margin-right: auto; margin-left: auto; }
.cecile-about-page > h2 {
  margin-top: clamp(4rem, 7vw, 6rem);
  padding-top: 1.5rem;
  border-top: 1px solid #d7cbc1;
  text-wrap: balance;
}
.cecile-about-page > ul {
  padding: 2rem 2rem 2rem 3.2rem;
  background: #f3ede7;
}
.cecile-about-page > aside {
  max-width: 900px;
  margin: clamp(5rem, 8vw, 8rem) auto 0;
  padding: clamp(2rem, 5vw, 4rem);
  background: #b97143;
  color: #fff;
  text-align: center;
}
.cecile-about-page > aside h2 { color: #fff; }
.cecile-about-page > aside a { color: #fff; }
