:root {
  --cpp-section-padding: 80px;
  --cpp-frame-inset: 12px;
  --cpp-surface-ivory: #F4F0E9;
  --cpp-accent-bronze: #85684A;
}
@media (max-width: 767px) {
  :root { --cpp-section-padding: 48px; --cpp-frame-inset: 8px; }
}
.wp-site-blocks a:focus-visible,
.wp-site-blocks button:focus-visible,
.wp-site-blocks input:focus-visible,
.wp-site-blocks select:focus-visible,
.wp-site-blocks textarea:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
.cpp-prefooter-clients .cpp-section-title,
.cpp-prefooter-figures .cpp-section-title {
  text-transform: none !important;
}
/* Fond photographique partagé, y compris les compositions conservées en base. */
.cpp-prefooter-figures {
  background: #11110F !important;
  position: relative;
  isolation: isolate;
  color: #F4F0E9;
}
.cpp-prefooter-figures > .cpp-figures-background {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center 52%; opacity: .22;
  z-index: -1; pointer-events: none; margin: 0;
}
.cpp-prefooter-figures .cpp-figures-panel,
.cpp-prefooter-figures .cpp-figure-card { background: transparent; }
.cpp-prefooter-figures .cpp-figure-card { border-color: #85684A; }
.cpp-prefooter-figures .cpp-figure-card h3 { color: #C5A579; }
.cpp-prefooter-figures .cpp-figures-copy p,
.cpp-prefooter-figures .cpp-figures-copy .cpp-section-title,
.cpp-prefooter-figures .cpp-figure-card p { color: #F4F0E9; }
.cpp-prefooter-figures .cpp-figures-copy .cpp-eyebrow { color: #85684A; }
.cpp-shared-prefooter .cpp-sec {
  padding-block: var(--cpp-section-padding) !important;
  margin-block: 0 !important;
}
.cpp-shared-prefooter .cpp-prefooter-offers,
.cpp-shared-prefooter .cpp-prefooter-brochure { background: var(--cpp-surface-ivory); }
.cpp-shared-prefooter .cpp-prefooter-clients { background: #fff; }
.cpp-shared-prefooter .cpp-prefooter-clients .cpp-prefooter-heading { margin-bottom: 32px; }
.cpp-shared-prefooter .cpp-prefooter-clients .cpp-client-marquee { margin-block: 0 !important; }
@media (max-width: 767px) {
  .cpp-shared-prefooter .cpp-prefooter-clients .cpp-prefooter-heading { margin-bottom: 24px; }
}
/* Cadres intérieurs des photos, sans toucher aux logos ni aux fonds de section. */
.cpp-prefooter-offer-card > .wp-block-image,
.cpp-prefooter-brochure-image,
.cpp-salon-meet__image {
  position: relative;
  isolation: isolate;
}
.cpp-prefooter-brochure-image {
  width: min(100%, 470px);
  margin-inline: auto;
}
.cpp-prefooter-brochure-image img { width: 100%; }
.cpp-prefooter-offer-card > .wp-block-image::after,
.cpp-prefooter-brochure-image::after,
.cpp-salon-meet__image::after {
  content: "";
  position: absolute;
  inset: var(--cpp-frame-inset);
  z-index: 2;
  border: 1px solid rgba(226,214,194,.68);
  box-shadow: 0 0 0 1px rgba(13,12,11,.16);
  pointer-events: none;
}
.cpp-client-marquee__logo a { display: block; border: 0; }
.cpp-client-marquee__logo a:focus-visible { outline: 2px solid #85684a; outline-offset: 4px; }

#offres .cpp-offers-carousel:has(.cpp-offres-static) { width: 100%; max-width: 100%; margin-inline: auto; }
#offres .cpp-offres.cpp-offres-static {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  padding: 0;
  margin: 0 auto;
  gap: 32px;
  overflow: visible;
}
#offres .cpp-offres-static .cpp-offre { min-width: 0; margin: 0; }
#offres:has(.cpp-offres-static) .cpp-offers-controls,
#offres:has(.cpp-offres-static) .offers-cmd { display: none !important; }
@media(max-width: 900px) {
  #offres .cpp-offres.cpp-offres-static { grid-template-columns: 1fr; max-width: 560px; }
}
.cpp-client-marquee {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.cpp-client-marquee__viewport {
  overflow-x: auto;
  scrollbar-width: thin;
}
.cpp-client-marquee__viewport:focus-visible,
.cpp-client-marquee__toggle:focus-visible {
  outline: 2px solid #85684a;
  outline-offset: 5px;
}
.cpp-client-marquee__track {
  display: flex;
  width: max-content;
}
.cpp-client-marquee__set {
  display: flex;
  align-items: center;
  gap: 48px;
  padding-right: 48px;
  flex: 0 0 auto;
}
.cpp-client-marquee .cpp-client-marquee__logo {
  display: grid;
  place-items: center;
  width: 220px;
  height: 130px;
  flex: 0 0 220px;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.cpp-client-marquee__logo img {
  display: block;
  width: 220px;
  height: 110px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.cpp-client-marquee.is-ready .cpp-client-marquee__viewport {
  overflow: hidden;
}
.cpp-client-marquee.is-ready .cpp-client-marquee__track {
  animation: cpp-client-drift 120s linear infinite;
}
.cpp-client-marquee:hover .cpp-client-marquee__track,
.cpp-client-marquee:focus-within .cpp-client-marquee__track,
.cpp-client-marquee.is-paused .cpp-client-marquee__track {
  animation-play-state: paused;
}
.cpp-client-marquee__toggle {
  display: block;
  margin: 24px 0 0 auto;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: #85684a;
  font: inherit;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}
.cpp-client-marquee__toggle[hidden] { display: none; }
@keyframes cpp-client-drift { to { transform: translateX(-50%); } }
@media (max-width: 640px) {
  .cpp-client-marquee__set { gap: 28px; padding-right: 28px; }
  .cpp-client-marquee .cpp-client-marquee__logo { width: 170px; flex-basis: 170px; height: 110px; }
  .cpp-client-marquee__logo img { width: 170px; height: 85px; }
}
@media (prefers-reduced-motion: reduce) {
  .cpp-client-marquee.is-ready .cpp-client-marquee__track { animation: none; }
  .cpp-client-marquee.is-ready .cpp-client-marquee__viewport { overflow-x: auto; }
  .cpp-client-marquee__set[aria-hidden="true"], .cpp-client-marquee__toggle { display: none; }
}
