@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Playfair+Display:wght@600;700&display=swap");

:root{
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-headings: "Playfair Display", ui-serif, Georgia, "Times New Roman", serif;
}

/* Base page - fond aquarelle doux */
body{
  font-family: var(--font-body);
  background:
    radial-gradient(900px 520px at 15% 15%, rgba(168,213,226,.28), transparent 60%),
    radial-gradient(900px 520px at 85% 18%, rgba(212,197,216,.22), transparent 62%),
    linear-gradient(135deg, #f5f0e8 0%, #f5f0e8 45%, #ffffff 45%, #ffffff 100%);
  background-repeat: no-repeat;
}

img.custom-logo{
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 85%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 85%, transparent 100%);
}

/* Anti scroll horizontal (avec fallback) */
html, body{ overflow-x: hidden; }
@supports (overflow-x: clip){
  html, body{ overflow-x: clip; }
}

/* Full width (WordPress / Exford) */
:where(#page, .site, .site-header, .site-content, .site-footer,
       #masthead, #content, #colophon,
       .content-area, .site-main){
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

:where(.container, .site .container,
       .site-header .container, .site-content .container, .site-footer .container,
       .wrapper, .content-wrapper){
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

:where(.entry-content, .page-content){
  padding-left: clamp(16px, 3vw, 48px);
  padding-right: clamp(16px, 3vw, 48px);
}

/* Médias */
img, video{ max-width: 100%; height: auto; }
iframe, svg{ max-width: 100%; }

/* Animations */
@keyframes cc-fade-up{
  from{ opacity: 0; transform: translate3d(0, 18px, 0); }
  to{ opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes cc-pop{
  from{ opacity: 0; transform: translate3d(0, 10px, 0) scale(.98); }
  to{ opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

/* Base cc-psy - Palette aquarelle AVEC TEXTE LISIBLE */
.cc-psy{
  --cc-ink: #2d3748;              /* Texte principal plus foncé */
  --cc-muted: #4a5568;            /* Texte secondaire plus lisible */
  --cc-line: #cbd5e0;             /* Bordures mieux définies */
  --cc-soft: #f5f0e8;
  --cc-accent: #5a9a9a;           /* Accent plus foncé pour liens */
  
  --aqua-blue: #a8d5e2;
  --aqua-sage: #b8d4c5;
  --aqua-beige: #e8dcc6;
  --aqua-lavender: #d4c5d8;
  --aqua-rose: #e8c5d0;
  --aqua-teal: #5a9a9a;           /* Version foncée pour texte/boutons */
  --aqua-coral: #e8b8a8;

  color: var(--cc-ink);
  font-family: var(--font-body);
}

.cc-psy h1, .cc-psy h2, .cc-psy h3, .cc-psy h4, .cc-psy h5, .cc-psy h6{
  font-family: var(--font-headings);
}

.cc-psy .cc-wrap{
  padding: clamp(18px, 3vw, 48px);
}

/* Drop cap (1er paragraphe présentation) */
.cc-psy .cc-hero__content p:first-of-type::first-letter{
  float: left;
  font-family: var(--font-headings);
  font-size: 3.2rem;
  line-height: 0.95;
  margin: 0.15rem 0.7rem 0 0;
  color: var(--cc-accent);
}
@media (max-width: 520px){
  .cc-psy .cc-hero__content p:first-of-type::first-letter{
    font-size: 2.6rem;
    margin-right: 0.6rem;
  }
}

/* HERO moderne - fond aquarelle */
.cc-psy .cc-hero{
  padding: clamp(22px, 3.5vw, 56px) 0;
  background:
    radial-gradient(900px 520px at 15% 10%, rgba(168,213,226,.24), transparent 60%),
    radial-gradient(900px 520px at 85% 15%, rgba(212,197,216,.20), transparent 62%),
    linear-gradient(180deg, rgba(245,240,232,.75), rgba(255,255,255,.40));
  border-bottom: 1px solid color-mix(in srgb, var(--cc-line) 70%, transparent);
  animation: cc-fade-up .75s cubic-bezier(.2,.8,.2,1) both;
  will-change: transform, opacity;
}

.cc-psy .cc-hero__container{
  width: min(1100px, 100%);
  margin: 0 auto;
  padding-left: clamp(16px, 3vw, 48px);
  padding-right: clamp(16px, 3vw, 48px);

  display: grid;
  grid-template-columns: minmax(220px, 360px) minmax(0, 1fr);
  gap: clamp(16px, 3vw, 40px);
  align-items: center;
}

.cc-psy .cc-hero__media img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 22px;
  border: 1px solid color-mix(in srgb, var(--cc-line) 75%, transparent);
  box-shadow: 0 18px 50px rgba(74,90,106,.15);
}

.cc-psy .cc-hero__content{
  padding: clamp(14px, 2vw, 22px);
  border-radius: 22px;
  border: 1px solid color-mix(in srgb, var(--cc-line) 70%, transparent);
  background: rgba(255,255,255,.60);
  backdrop-filter: blur(8px);
}

.cc-psy .cc-hero__content p{
  margin: 0;
  line-height: 1.75;
}
.cc-psy .cc-hero__content p + p{ margin-top: 12px; }

.cc-psy .cc-hero__content .cc-lead{
  font-size: clamp(1.05rem, 1rem + .35vw, 1.22rem);
  line-height: 1.65;
  font-weight: 800;
}

/* Nouvelle media query : masquer l'image seulement sur mobile */
@media (max-width: 768px) {
  .cc-psy .cc-hero__media img {
    display: none;
  }
}
@media (max-width: 860px){
  .cc-psy .cc-hero__container{
    grid-template-columns: 1fr;
    align-items: start;
  }
  .cc-psy .cc-hero__media{ max-width: 420px; }
}

/* CTA - couleur aquarelle */
.cc-psy .cc-cta{ margin-top: 14px; }
.cc-psy .cc-btn{
  display: inline-block;
  padding: 12px 18px;
  border-radius: 999px;
  background: var(--cc-accent);
  color: #fff;
  text-decoration: none;
  font-weight: 800;
}
.cc-psy .cc-btn:hover,
.cc-psy .cc-btn:focus{ filter: brightness(1.08); }

/* Sections */
.cc-psy .cc-section{
  padding: 0;
  animation: cc-fade-up .70s cubic-bezier(.2,.8,.2,1) both;
  will-change: transform, opacity;
}

.cc-psy .cc-section:nth-of-type(1){ animation-delay: .05s; }
.cc-psy .cc-section:nth-of-type(2){ animation-delay: .12s; }
.cc-psy .cc-section:nth-of-type(3){ animation-delay: .19s; }
.cc-psy .cc-section:nth-of-type(4){ animation-delay: .26s; }
.cc-psy .cc-section:nth-of-type(5){ animation-delay: .33s; }

.cc-psy .cc-section--soft{
  background: var(--cc-soft);
  border-top: 1px solid var(--cc-line);
  border-bottom: 1px solid var(--cc-line);
}

.cc-psy .cc-section h2{
  margin: 0 0 12px 0;
  font-size: clamp(1.25rem, 1.6vw, 1.6rem);
}

/* Grilles */
.cc-psy .cc-grid{ display: grid; gap: 10px; }
.cc-psy .cc-grid--3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cc-psy .cc-grid--2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 860px){
  .cc-psy .cc-grid--3,
  .cc-psy .cc-grid--2{ grid-template-columns: 1fr; }
}

/* Cards */
.cc-psy .cc-card{
  background: #fff;
  border: 1px solid var(--cc-line);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 10px 26px rgba(74,90,106,.10);

  animation: cc-pop .60s cubic-bezier(.2,.8,.2,1) both;
  transition: transform .20s ease, box-shadow .20s ease;
  will-change: transform, opacity;
}

.cc-psy .cc-card:hover{
  transform: translate3d(0, -4px, 0);
  box-shadow: 0 16px 40px rgba(74,90,106,.14);
}

.cc-psy .cc-card--table{
  padding: 6px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.cc-psy .cc-kicker{ margin: 0; color: var(--cc-muted); font-weight: 800; }
.cc-psy .cc-value{ margin: 6px 0 0 0; font-size: 1.25rem; font-weight: 800; }

.cc-psy .cc-note{ margin: 14px 0 0 0; text-align: center; }

/* Tableau */
.cc-psy .cc-table{
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid var(--cc-line);
  border-radius: 16px;
  overflow: hidden;
}

.cc-psy .cc-table th,
.cc-psy .cc-table td{
  padding: 14px 16px;
  border-bottom: 1px solid var(--cc-line);
  text-align: left;
  vertical-align: middle;
}

.cc-psy .cc-table th[scope="row"]{
  font-weight: 800;
  color: var(--cc-ink);
  width: 40%;
  white-space: nowrap;
}

.cc-psy .cc-table td{
  font-weight: 800;
  color: #4a5a6a;
}

.cc-psy .cc-table tbody tr:nth-child(even){ background: rgba(168,213,226, 0.08); }
.cc-psy .cc-table tbody tr:hover{ background: rgba(157,196,196, 0.12); }
.cc-psy .cc-table tbody tr:last-child th,
.cc-psy .cc-table tbody tr:last-child td{ border-bottom: 0; }

@media (max-width: 480px){
  .cc-psy .cc-table th,
  .cc-psy .cc-table td{ padding: 12px 12px; }
}

/* Liens - couleur aquarelle */
.cc-psy .cc-link{
  color: #6b9c9c;
  text-underline-offset: .14em;
  text-decoration-thickness: 1px;
}
.cc-psy .cc-link:hover{ text-decoration-thickness: 2px; }
.cc-psy .cc-link:focus-visible{
  outline: 3px solid rgba(157,196,196,.40);
  outline-offset: 3px;
  border-radius: 8px;
}

.cc-psy .cc-muted{ color: var(--cc-muted); }

/* Google Maps */
.cc-psy .cc-map{
  width: 100%;
  max-width: none;
  aspect-ratio: 16 / 9;
  min-height: 320px;
  background: #fff;

  border: 1px solid var(--cc-line);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(74,90,106,.14);
}
.cc-psy .cc-map iframe{
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* Panels / prose */
.cc-psy .cc-prose .cc-panel{
  padding: clamp(14px, 2vw, 22px) clamp(16px, 3vw, 48px);
  margin: 0 0 18px 0;

  background: transparent;
  border: 1px solid color-mix(in srgb, var(--cc-line) 85%, transparent);
  border-radius: 18px;

  box-shadow: 0 10px 26px rgba(74,90,106,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;

  line-height: 1.7;
}

@media (hover: hover) and (pointer: fine){
  .cc-psy .cc-prose .cc-panel:hover{
    transform: translate3d(0, -3px, 0);
    box-shadow: 0 18px 44px rgba(74,90,106,.12);
    border-color: color-mix(in srgb, var(--cc-accent) 35%, var(--cc-line));
  }
}

.cc-psy .cc-prose .cc-panel p{
  margin: 0;
  font-size: clamp(1.02rem, .98rem + .2vw, 1.12rem);
  line-height: 1.7;
}

.cc-psy .cc-prose .cc-panel p + p{
  margin-top: .9rem;
  padding-top: .9rem;
  border-top: 1px solid color-mix(in srgb, var(--cc-line) 70%, transparent);
}

.cc-psy .cc-prose .cc-panel ul{
  margin: 0;
  padding-left: 1.1em;
}
.cc-psy .cc-prose .cc-panel li{ margin: .55rem 0; }
.cc-psy .cc-prose .cc-panel p + ul{ margin-top: .9rem; }
.cc-psy .cc-prose .cc-panel ul + p{ margin-top: .95rem; }

/* Mise en colonnes des panels */
.cc-psy .cc-wrap .cc-prose{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: start;
}
.cc-psy .cc-wrap .cc-prose > .cc-panel--full{ grid-column: 1 / -1; }
@media (max-width: 800px){
  .cc-psy .cc-wrap .cc-prose{ grid-template-columns: 1fr; }
}

/* Contacts (#ok) : couleurs aquarelle */
.cc-psy #ok .cc-card{
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.cc-psy #ok .cc-card p{ margin: 0; }

.cc-psy #ok .cc-kicker{ line-height: 1.2; }
.cc-psy #ok .cc-value,
.cc-psy #ok .cc-contact__value{ line-height: 1.55; }
.cc-psy #ok .cc-contact__small{ line-height: 1.45; }

.cc-psy #ok .cc-map{ min-height: 260px; }
.cc-psy #ok .cc-map iframe{ height: 260px; }

/* Téléphone plus sobre */
.cc-psy #ok .cc-grid--3 > .cc-card:nth-child(1) .cc-value{
  font-size: clamp(1.02rem, .95rem + .35vw, 1.15rem);
  font-weight: 650;
  line-height: 1.35;
  margin-top: 8px;
}

/* Style bouton téléphone */
.cc-psy #ok a.cc-link[href^="tel:"]{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;

  padding: .85rem 1.05rem;
  border-radius: 999px;

  color: #fff;
  background: linear-gradient(180deg, #6b9c9c, #5a8b8b);
  text-decoration: none;

  font-weight: 600;
  line-height: 1;
  font-size: clamp(.95rem, .9rem + .2vw, 1.02rem);
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 10px 24px rgba(74, 90, 106, .20);

  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.cc-psy #ok a.cc-link[href^="tel:"]::before{ content: "☎"; font-size: 1.05em; opacity: .95; }
.cc-psy #ok a.cc-link[href^="tel:"]:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(74, 90, 106, .28);
}
.cc-psy #ok a.cc-link[href^="tel:"]:active{
  transform: translateY(0);
  box-shadow: 0 8px 18px rgba(74, 90, 106, .18);
}

/* Fond aquarelle des 3 cartes contacts */
.cc-psy #ok .cc-grid--3 > .cc-card{ position: relative; overflow: hidden; }

.cc-psy #ok .cc-grid--3 > .cc-card:nth-child(1){
  border-color: rgba(168, 213, 226, .55);
  background:
    radial-gradient(900px 520px at 10% 0%, rgba(168, 213, 226, .45), transparent 60%),
    radial-gradient(900px 520px at 90% 20%, rgba(157, 196, 196, .32), transparent 62%),
    linear-gradient(180deg, rgba(168, 213, 226, .18), transparent 70%);
}

.cc-psy #ok .cc-grid--3 > .cc-card:nth-child(2){
  border-color: rgba(232, 197, 208, .55);
  background:
    radial-gradient(900px 520px at 10% 0%, rgba(232, 197, 208, .42), transparent 60%),
    radial-gradient(900px 520px at 90% 20%, rgba(212, 197, 216, .30), transparent 62%),
    linear-gradient(180deg, rgba(232, 197, 208, .18), transparent 70%);
}

.cc-psy #ok .cc-grid--3 > .cc-card:nth-child(3){
  border-color: rgba(184, 212, 197, .55);
  background:
    radial-gradient(900px 520px at 10% 0%, rgba(184, 212, 197, .40), transparent 60%),
    radial-gradient(900px 520px at 90% 20%, rgba(157, 196, 196, .28), transparent 62%),
    linear-gradient(180deg, rgba(184, 212, 197, .18), transparent 70%);
}

/* Menu hover - couleurs aquarelle */
.site-header .main-navigation a,
.site-header #site-navigation a{
  position: relative;
  display: inline-flex;
  align-items: center;

  border-radius: 999px;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.site-header .main-navigation a::after,
.site-header #site-navigation a::after{
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 6px;
  height: 2px;

  background: linear-gradient(90deg, #a8d5e2, #e8c5d0, #b8d4c5);
  border-radius: 999px;

  transform: scaleX(0);
  transform-origin: left;
  opacity: 0;

  transition: transform .22s ease, opacity .22s ease;
}

.site-header .main-navigation a:hover,
.site-header #site-navigation a:hover{
  background-color: rgba(157,196,196,.16) !important;
  box-shadow: 0 14px 34px rgba(74,90,106,.12);
  transform: translateY(-1px);
}

.site-header .main-navigation a:hover::after,
.site-header #site-navigation a:hover::after{
  transform: scaleX(1);
  opacity: 1;
}

.site-header .main-navigation .current-menu-item > a::after,
.site-header .main-navigation .current_page_item > a::after,
.site-header #site-navigation .current-menu-item > a::after,
.site-header #site-navigation .current_page_item > a::after{
  transform: scaleX(1);
  opacity: 1;
}

.site-header .main-navigation ul.menu > li:last-child > a::after,
.site-header #site-navigation ul.menu > li:last-child > a::after,
.site-header ul.menu > li:last-child > a::after{
  display: none !important;
}

/* Accessibilité : réduire animations/transitions */
@media (prefers-reduced-motion: reduce){
  .cc-psy *{
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .site-header .main-navigation a,
  .site-header #site-navigation a{
    transition: none !important;
    transform: none !important;
  }
}

/* ===== 1) Force Gutenberg alignfull en vrai full width ===== */
.alignfull,
.wp-block-columns.alignfull{
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* ===== 2) Même effet "paragraphes/panel" sur toute la cc-psy (home incluse) ===== */
.cc-psy .cc-panel{
  padding: clamp(14px, 2vw, 22px) clamp(16px, 3vw, 48px);
  margin: 0;

  background: transparent;
  border: 1px solid color-mix(in srgb, var(--cc-line) 85%, transparent);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(74,90,106,.08);

  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  line-height: 1.7;
}

@media (hover: hover) and (pointer: fine){
  .cc-psy .cc-panel:hover{
    transform: translate3d(0, -3px, 0);
    box-shadow: 0 18px 44px rgba(74,90,106,.12);
    border-color: color-mix(in srgb, var(--cc-accent) 35%, var(--cc-line));
  }
}

.cc-psy .cc-panel p{
  margin: 0;
  font-size: clamp(1.02rem, .98rem + .2vw, 1.12rem);
  line-height: 1.7;
}

.cc-psy .cc-panel p + p{
  margin-top: .9rem;
  padding-top: .9rem;
  border-top: 1px solid color-mix(in srgb, var(--cc-line) 70%, transparent);
}

/* ===== 3) Home : on neutralise le style "carte" de .cc-hero__content ===== */
.cc-psy .cc-hero__content{
  background: none;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
}

/* ===== 4) Image : pas de cadre ===== */
.cc-psy .cc-hero__media img{
  border: 0;
  box-shadow: none;
}

/* ===== CONTACTS (page-id-1563) : enlever toutes les contraintes de largeur ===== */
body.page-id-1563 :where(#content, #primary, #main, .content-area, .site-main, article#post-1563, .entry-content){
  width: 100% !important;
  max-width: none !important;
}

body.page-id-1563 :where(.entry-content, .page-content){
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.page-id-1563 .entry-content .cc-fullbleed{
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.page-id-1563 .responsive-max-width{
  max-width: none !important;
  width: 100% !important;
}

/* ===== HONORAIRES : couleurs aquarelle ===== */
.cc-psy section[aria-labelledby="cc-fees"] .cc-grid .cc-card{
  background: rgba(255,255,255,.88) !important;
}

.cc-psy section[aria-labelledby="cc-fees"] .cc-grid .cc-card:nth-child(1){
  --fees-accent: #9dc4c4;
  border-color: rgba(157, 196, 196, .50);
  background: linear-gradient(180deg,
    rgba(157, 196, 196, .22) 0%,
    rgba(255,255,255,.92) 72%
  ) !important;
}

.cc-psy section[aria-labelledby="cc-fees"] .cc-grid .cc-card:nth-child(2){
  --fees-accent: #e8c5d0;
  border-color: rgba(232, 197, 208, .48);
  background: linear-gradient(180deg,
    rgba(232, 197, 208, .20) 0%,
    rgba(255,255,255,.92) 72%
  ) !important;
}

.cc-psy section[aria-labelledby="cc-fees"] .cc-grid .cc-card:nth-child(3){
  --fees-accent: #b8d4c5;
  border-color: rgba(184, 212, 197, .48);
  background: linear-gradient(180deg,
    rgba(184, 212, 197, .20) 0%,
    rgba(255,255,255,.92) 72%
  ) !important;
}

.cc-psy section[aria-labelledby="cc-fees"] .cc-kicker{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
}

.cc-psy section[aria-labelledby="cc-fees"] .cc-kicker::before{
  content: "";
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  background: var(--fees-accent, rgba(74,90,106,.40));
  opacity: .75;
}

/* ===== CONTACTS & ACCÈS : couleurs aquarelle ===== */
.cc-psy section[aria-labelledby="cc-contact"] .cc-grid--3 > .cc-card{
  background: rgba(255,255,255,.88) !important;
}

.cc-psy section[aria-labelledby="cc-contact"] .cc-grid--3 > .cc-card:nth-child(1){
  --ok-accent: #9dc4c4;
  border-color: rgba(157, 196, 196, .50) !important;
  background: linear-gradient(180deg,
    rgba(157, 196, 196, .22) 0%,
    rgba(255,255,255,.92) 72%
  ) !important;
}

.cc-psy section[aria-labelledby="cc-contact"] .cc-grid--3 > .cc-card:nth-child(2){
  --ok-accent: #e8c5d0;
  border-color: rgba(232, 197, 208, .48) !important;
  background: linear-gradient(180deg,
    rgba(232, 197, 208, .20) 0%,
    rgba(255,255,255,.92) 72%
  ) !important;
}

.cc-psy section[aria-labelledby="cc-contact"] .cc-grid--3 > .cc-card:nth-child(3){
  --ok-accent: #b8d4c5;
  border-color: rgba(184, 212, 197, .48) !important;
  background: linear-gradient(180deg,
    rgba(184, 212, 197, .20) 0%,
    rgba(255,255,255,.92) 72%
  ) !important;
}

.cc-psy section[aria-labelledby="cc-contact"] .cc-grid--3 > .cc-card .cc-kicker{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
}

.cc-psy section[aria-labelledby="cc-contact"] .cc-grid--3 > .cc-card .cc-kicker::before{
  content: "";
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  background: var(--ok-accent, rgba(74,90,106,.40));
  opacity: .75;
}

/* Accueil : retire le fond spécifique du hero */
body.home .cc-psy .cc-hero{
  background: transparent !important;
  border-bottom: 0 !important;
}

/* Accueil : remettre un cadre sur le panel du HERO */
body.home .cc-psy .cc-hero .cc-panel.cc-hero__content{
  padding: clamp(14px, 2vw, 22px);
  border: 1px solid rgba(212, 220, 229, 1);
  border-radius: 18px;
  background: rgba(255,255,255,.60);
  box-shadow: 0 10px 26px rgba(74,90,106,.08);
}

body.home .cc-psy .cc-hero .cc-panel.cc-hero__content p + p{
  padding-top: .9rem;
  margin-top: .9rem;
  border-top: 1px solid rgba(212, 220, 229, 1);
}

/* ========================================================= MENU — autonome ========================================================= */

.hide-visually{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

#masthead.site-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;

  padding: 12px clamp(16px, 3vw, 48px);
  background: rgba(255,255,255,.60);
  border-bottom: 1px solid rgba(212,220,229,.9);
  backdrop-filter: blur(8px);
}

#site-navigation.main-navigation{
  position: relative;
  font-family: var(--font-body, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
}

#site-navigation .menu-accueil-container{
  display: block;
}

#site-navigation ul.main-menu{
  list-style: none;
  margin: 0;
  padding: 0;

  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

#site-navigation ul.main-menu > li{
  margin: 0;
  padding: 0;
  position: relative;
}

#site-navigation ul.main-menu > li > a{
  position: relative;
  display: inline-flex;
  align-items: center;

  padding: 10px 14px;
  border-radius: 999px;

  color: var(--cc-ink, #4a5a6a);
  text-decoration: none;
  font-weight: 650;
  line-height: 1.1;

  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

#site-navigation ul.main-menu > li > a::after{
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 6px;
  height: 2px;

  background: linear-gradient(90deg, #a8d5e2, #e8c5d0, #b8d4c5);
  border-radius: 999px;

  transform: scaleX(0);
  transform-origin: left;
  opacity: 0;
  transition: transform .22s ease, opacity .22s ease;
}

#site-navigation ul.main-menu > li > a:hover{
  background-color: rgba(157,196,196,.16);
  box-shadow: 0 14px 34px rgba(74,90,106,.12);
  transform: translateY(-1px);
}

#site-navigation ul.main-menu > li > a:hover::after{
  transform: scaleX(1);
  opacity: 1;
}

#site-navigation ul.main-menu > li > a:focus-visible{
  outline: 3px solid rgba(157,196,196,.40);
  outline-offset: 3px;
}

#site-navigation .current-menu-item > a,
#site-navigation .current_page_item > a{
  background-color: rgba(157,196,196,.18);
}

#site-navigation .current-menu-item > a::after,
#site-navigation .current_page_item > a::after{
  transform: scaleX(1);
  opacity: 1;
}

/* ========================================================= Sous-menus ========================================================= */
#site-navigation ul.main-menu ul{
  list-style: none;
  margin: 0;
  padding: 8px;

  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 220px;
  z-index: 50;

  background: rgba(255,255,255,.96);
  border: 1px solid rgba(212,220,229,.95);
  border-radius: 14px;
  box-shadow: 0 18px 44px rgba(74,90,106,.14);

  display: none;
}

#site-navigation ul.main-menu li:hover > ul,
#site-navigation ul.main-menu li:focus-within > ul{
  display: block;
}

#site-navigation ul.main-menu ul li a{
  display: block;
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--cc-ink, #4a5a6a);
  text-decoration: none;
  font-weight: 600;
}

#site-navigation ul.main-menu ul li a:hover{
  background: rgba(157,196,196,.14);
}

/* ========================================================= Mobile ========================================================= */

#site-navigation #toggle-menu{
  display: none;
}

@media (max-width: 860px){
  #masthead.site-header{
    align-items: stretch;
  }

  #site-navigation.main-navigation{
    width: 100%;
  }

  #site-navigation #toggle-menu{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;

    padding: 10px 14px;
    border-radius: 999px;
    cursor: pointer;
    user-select: none;

    background: rgba(255,255,255,.70);
    border: 1px solid rgba(212,220,229,.95);
    box-shadow: 0 10px 26px rgba(74,90,106,.08);
  }

  #site-navigation #toggle-menu .dropdown-icon.close{ display: none; }
  #site-navigation #toggle:checked + #toggle-menu .dropdown-icon.open{ display: none; }
  #site-navigation #toggle:checked + #toggle-menu .dropdown-icon.close{ display: inline; }

  #site-navigation .menu-accueil-container{
    display: none;
    width: 100%;
    margin-top: 10px;
  }

  #site-navigation #toggle:checked ~ .menu-accueil-container{
    display: block;
  }

  #site-navigation ul.main-menu{
    flex-direction: column;
    align-items: stretch;
    gap: 6px;

    padding: 10px;
    border-radius: 18px;
    background: rgba(255,255,255,.75);
    border: 1px solid rgba(212,220,229,.95);
    box-shadow: 0 14px 34px rgba(74,90,106,.10);
  }

  #site-navigation ul.main-menu > li > a{
    justify-content: center;
  }

  #site-navigation ul.main-menu ul{
    position: static;
    display: block;
    min-width: 0;
    box-shadow: none;
    margin-top: 6px;
    padding: 6px;
  }
}

/* ========================================================= Confort de lecture ========================================================= */

:where(.entry-header, .entry-content, .page-content, .site-footer, .site-info){
  padding-left: clamp(16px, 3vw, 48px) !important;
  padding-right: clamp(16px, 3vw, 48px) !important;
}

:where(.entry-header, .entry-content) :where(h1, h2){
  margin-left: 0 !important;
  margin-right: 0 !important;
}

:where(.entry-header, .entry-content, .page-content) > :where(h1, h2, p, ul, ol){
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

.cc-psy .cc-wrap,
.cc-psy .cc-hero__container{
  padding-left: clamp(16px, 3vw, 48px) !important;
  padding-right: clamp(16px, 3vw, 48px) !important;
}

/* ========================================================= LOGO full width + dégradé ========================================================= */

#masthead.site-header{
  flex-wrap: wrap;
}
#masthead .site-branding{
  flex: 0 0 100%;
  width: 100%;
}
#site-navigation.main-navigation{
  flex: 0 0 100%;
  width: 100%;
}

#masthead .site-logo,
#masthead .site-logo a.custom-logo-link{
  display: block;
  width: 100%;
  max-width: none;
}

#masthead .site-logo img.custom-logo{
  display: block;

  width: 100vw;
  max-width: 100vw;
  height: auto;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 72%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 72%, transparent 100%);
}

#masthead .site-logo{
  padding-bottom: 10px;
}

/* Logo caché partout… sauf sur la home 
#masthead .site-logo{
  display: none !important;
}*/

body.home #masthead .site-logo{
  display: block !important;
}

/* Centrer le menu */
#site-navigation ul.main-menu{
  justify-content: center !important;
}

@media (max-width: 860px){
  #site-navigation #toggle-menu{
    margin-left: auto;
    margin-right: auto;
  }
}

/* Masquer le titre de page (H1) partout */
header.entry-header{
  display: none !important;
}

.cc-psy .cc-btn{
  display: inline-block;
  padding: 12px 18px;
  border-radius: 999px;
  background: #4a5a6a;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

.cc-psy .cc-btn:hover{
  opacity: .9;
}

.cc-psy .cc-cta{ text-align: center; margin-top: 16px; }
/* ========================================================= CORRECTION CENTRAGE MOBILE ========================================================= */

@media (max-width: 860px){
  /* Force le centrage de tous les conteneurs */
  .cc-psy .cc-wrap,
  .cc-psy .cc-section,
  .cc-psy .cc-hero__container{
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  
  /* Grilles en mode mobile */
  .cc-psy .cc-grid,
  .cc-psy .cc-grid--3,
  .cc-psy .cc-grid--2{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* Cards en mobile */
  .cc-psy .cc-card{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
  }
  
  /* Hero media centré */
  .cc-psy .cc-hero__media{
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
  /* Tableau responsive */
  .cc-psy .cc-card--table{
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .cc-psy .cc-table{
    width: 100% !important;
    display: block !important;
    overflow-x: auto !important;
  }
  
  /* Google Maps */
  .cc-psy .cc-map{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
/* ========================================================= 
   CORRECTION CENTRAGE MOBILE PAGE D'ACCUEIL
========================================================= */

/* Neutralise les contraintes Gutenberg sur la home */
body.home .wp-block-columns.alignfull,
body.home .wp-block-column{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  flex-basis: 100% !important;
}

/* Force le hero container à prendre toute la largeur */
body.home .cc-hero,
body.home .cc-hero__container{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(16px, 3vw, 48px) !important;
  padding-right: clamp(16px, 3vw, 48px) !important;
  box-sizing: border-box !important;
}

@media (max-width: 860px){
  /* Force la grille en colonne unique centrée */
  body.home .cc-hero__container{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: clamp(16px, 3vw, 40px) !important;
  }
  
  /* Centre l'image */
  body.home .cc-hero__media{
    width: 100% !important;
    max-width: 420px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
  /* Force le panel texte à prendre toute la largeur */
  body.home .cc-hero__content{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: clamp(16px, 3vw, 24px) !important;
    padding-right: clamp(16px, 3vw, 24px) !important;
    box-sizing: border-box !important;
  }
  
  /* Force les paragraphes à ne pas déborder */
  body.home .cc-hero__content p{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
    word-wrap: break-word !important;
  }
  
  /* Centre le bouton CTA */
  body.home .cc-hero__content .cc-cta{
    text-align: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
/* ========================================================= 
   CORRECTION CENTRAGE MOBILE PAGE CONTACTS (page-id-1563)
========================================================= */

/* Neutralise les contraintes Gutenberg sur la page Contacts */
body.page-id-1563 .wp-block-columns.alignfull,
body.page-id-1563 .wp-block-column{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  flex-basis: 100% !important;
}

/* Force tous les conteneurs Contacts à être full width */
body.page-id-1563 .cc-fullbleed,
body.page-id-1563 .cc-psy,
body.page-id-1563 .cc-section,
body.page-id-1563 .cc-wrap{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 860px){
  /* Force le centrage de TOUT sur mobile */
  body.page-id-1563 .wp-block-columns,
  body.page-id-1563 .wp-block-column,
  body.page-id-1563 .cc-fullbleed,
  body.page-id-1563 .cc-psy,
  body.page-id-1563 .cc-section,
  body.page-id-1563 .cc-wrap{
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(16px, 3vw, 24px) !important;
    padding-right: clamp(16px, 3vw, 24px) !important;
  }
  
  /* Grilles en colonne unique */
  body.page-id-1563 .cc-grid,
  body.page-id-1563 .cc-grid--3,
  body.page-id-1563 .cc-grid--2{
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* Cards centrées et full width */
  body.page-id-1563 .cc-card{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  
  /* Map centrée */
  body.page-id-1563 .cc-map{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* Tableau responsive */
  body.page-id-1563 .cc-card--table{
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  body.page-id-1563 .cc-table{
    min-width: 100% !important;
  }
  
  /* Textes centrés */
  body.page-id-1563 .cc-card p,
  body.page-id-1563 .cc-kicker,
  body.page-id-1563 .cc-value{
    width: 100% !important;
    max-width: 100% !important;
    word-wrap: break-word !important;
  }
  
  /* Bouton téléphone centré */
  body.page-id-1563 .cc-card a.cc-link[href^="tel:"]{
    display: flex !important;
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* ========================================================= 
   AMÉLIORATION ESTHÉTIQUE "POUR QUI" - SANS CHANGER LE TEXTE
========================================================= */

.cc-section--publics{
  padding: clamp(40px, 5vw, 80px) 0;
}

/* Icônes en haut des panels */
.cc-panel__icon{
  font-size: clamp(2.2rem, 3.5vw, 3rem);
  line-height: 1;
  margin-bottom: 16px;
  opacity: 0.85;
  display: inline-block;
}

/* Amélioration des titres H3 */
.cc-panel--split h3{
  margin: 0 0 18px 0;
  font-size: clamp(1.35rem, 2vw, 1.55rem);
  font-weight: 700;
  color: var(--cc-ink);
  line-height: 1.3;
}

/* Espacement entre paragraphes plus harmonieux */
.cc-panel--split p{
  margin: 0;
  font-size: clamp(1.02rem, 1.1vw, 1.08rem);
  line-height: 1.7;
  color: var(--cc-muted);
}

.cc-panel--split p + p{
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid color-mix(in srgb, var(--cc-line) 60%, transparent);
}

/* Dégradés aquarelle subtils par panel */
.cc-panel--enfants{
  border-color: rgba(168, 213, 226, .45);
  background: linear-gradient(135deg,
    rgba(168, 213, 226, .15) 0%,
    rgba(255,255,255,.90) 100%
  );
}

.cc-panel--adolescents{
  border-color: rgba(184, 212, 197, .45);
  background: linear-gradient(135deg,
    rgba(184, 212, 197, .15) 0%,
    rgba(255,255,255,.90) 100%
  );
}

.cc-panel--couples{
  border-color: rgba(232, 197, 208, .45);
  background: linear-gradient(135deg,
    rgba(232, 197, 208, .15) 0%,
    rgba(255,255,255,.90) 100%
  );
}

/* Hover effet amélioré */
@media (hover: hover) and (pointer: fine){
  .cc-panel--split:hover{
    transform: translate3d(0, -5px, 0);
    box-shadow: 0 22px 52px rgba(74,90,106,.14);
    border-color: color-mix(in srgb, var(--cc-accent) 40%, var(--cc-line));
  }
  
  .cc-panel--split:hover .cc-panel__icon{
    transform: scale(1.1);
    transition: transform .35s cubic-bezier(.34,1.56,.64,1);
  }
}

/* Amélioration du panel pleine largeur (couples/familles) */
.cc-panel--full{
  grid-column: 1 / -1;
}

@media (max-width: 800px){
  .cc-panel--full{
    grid-column: 1;
  }
}

/* Mobile : espacement optimisé */
@media (max-width: 640px){
  .cc-panel__icon{
    font-size: 2rem;
    margin-bottom: 12px;
  }
  
  .cc-panel--split{
    padding: clamp(18px, 3vw, 24px);
  }
  
  .cc-panel--split p + p{
    margin-top: 14px;
    padding-top: 14px;
  }
}
/* ========================================================= 
   PAGE "POURQUOI CONSULTER" - AMÉLIORATION ESTHÉTIQUE
========================================================= */

.cc-section--pourquoi{
  padding: clamp(40px, 5vw, 80px) 0;
}

/* Icônes SVG aquarelle */
.cc-panel__icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.cc-panel__icon svg{
  width: clamp(48px, 6vw, 64px);
  height: auto;
  filter: drop-shadow(0 4px 12px rgba(74,90,106,.15));
  transition: all .35s cubic-bezier(.34,1.56,.64,1);
}

/* Couleurs différentes par panel */
.cc-panel--intro{
  border-color: rgba(168, 213, 226, .45);
  background: linear-gradient(135deg,
    rgba(168, 213, 226, .15) 0%,
    rgba(255,255,255,.92) 100%
  );
}

.cc-panel--raisons{
  border-color: rgba(184, 212, 197, .45);
  background: linear-gradient(135deg,
    rgba(184, 212, 197, .15) 0%,
    rgba(255,255,255,.92) 100%
  );
}

.cc-panel--conclusion{
  border-color: rgba(232, 197, 208, .45);
  background: linear-gradient(135deg,
    rgba(232, 197, 208, .15) 0%,
    rgba(255,255,255,.92) 100%
  );
}

/* Amélioration de la liste */
.cc-panel--raisons ul{
  margin: 0;
  padding-left: 1.3em;
  list-style: none;
}

.cc-panel--raisons ul li{
  position: relative;
  margin: 14px 0;
  padding-left: 8px;
  line-height: 1.7;
  color: var(--cc-muted);
  font-size: clamp(1.02rem, 1.1vw, 1.08rem);
}

.cc-panel--raisons ul li::before{
  content: '•';
  position: absolute;
  left: -1em;
  color: var(--cc-accent);
  font-weight: 700;
  font-size: 1.3em;
  line-height: 1;
  opacity: 0.7;
}

/* Style des paragraphes dans les panels */
.cc-panel--intro p,
.cc-panel--conclusion p{
  margin: 0;
  font-size: clamp(1.02rem, 1.1vw, 1.08rem);
  line-height: 1.7;
  color: var(--cc-muted);
}

.cc-panel--intro p + p,
.cc-panel--conclusion p + p{
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid color-mix(in srgb, var(--cc-line) 60%, transparent);
}

/* Hover amélioré */
@media (hover: hover) and (pointer: fine){
  .cc-panel--intro:hover,
  .cc-panel--raisons:hover,
  .cc-panel--conclusion:hover{
    transform: translate3d(0, -5px, 0);
    box-shadow: 0 22px 52px rgba(74,90,106,.14);
    border-color: color-mix(in srgb, var(--cc-accent) 40%, var(--cc-line));
  }
  
  .cc-panel:hover .cc-panel__icon svg{
    transform: scale(1.1) rotate(5deg);
    filter: drop-shadow(0 8px 20px rgba(74,90,106,.25));
  }
}

/* Mobile : optimisation */
@media (max-width: 640px){
  .cc-panel__icon svg{
    width: 48px;
    height: 48px;
  }
  
  .cc-panel--raisons ul li{
    margin: 12px 0;
    font-size: 1rem;
  }
}
/* ========================================================= 
   PAGE "À PROPOS" - AMÉLIORATION ESTHÉTIQUE
========================================================= */

.cc-section--apropos{
  padding: clamp(40px, 5vw, 80px) 0;
}

/* Titres de section améliorés */
.cc-section-heading{
  margin: clamp(32px, 4vw, 56px) 0 clamp(20px, 3vw, 32px) 0;
  font-size: clamp(1.6rem, 2.5vw, 2rem);
  font-weight: 700;
  color: var(--cc-ink);
  position: relative;
  padding-bottom: 16px;
}

.cc-section-heading::after{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: clamp(60px, 8vw, 80px);
  height: 3px;
  background: linear-gradient(90deg, var(--cc-accent), transparent);
  border-radius: 999px;
}

/* Premier titre sans marge haute */
.cc-section-heading:first-of-type{
  margin-top: 0;
}

/* Icônes SVG aquarelle */
.cc-panel__icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.cc-panel__icon svg{
  width: clamp(48px, 6vw, 64px);
  height: auto;
  filter: drop-shadow(0 4px 12px rgba(74,90,106,.15));
  transition: all .35s cubic-bezier(.34,1.56,.64,1);
}

/* Couleurs différentes par panel */
.cc-panel--parcours{
  border-color: rgba(168, 213, 226, .45);
  background: linear-gradient(135deg,
    rgba(168, 213, 226, .15) 0%,
    rgba(255,255,255,.92) 100%
  );
}

.cc-panel--formation{
  border-color: rgba(184, 212, 197, .45);
  background: linear-gradient(135deg,
    rgba(184, 212, 197, .15) 0%,
    rgba(255,255,255,.92) 100%
  );
}

/* Style du lead (premier paragraphe) */
.cc-panel .cc-lead{
  font-size: clamp(1.08rem, 1.3vw, 1.18rem);
  line-height: 1.7;
  font-weight: 500;
  color: var(--cc-ink);
  margin: 0 0 16px 0;
}

/* Layout deux colonnes pour cc-two-p */
.cc-two-p{
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid color-mix(in srgb, var(--cc-line) 60%, transparent);
}

@media (min-width: 768px){
  .cc-two-p{
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, 3vw, 32px);
  }
}

.cc-two-p p{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Style des paragraphes */
.cc-panel--parcours p:not(.cc-lead),
.cc-panel--formation p{
  margin: 0;
  font-size: clamp(1.02rem, 1.1vw, 1.08rem);
  line-height: 1.7;
  color: var(--cc-muted);
}

.cc-panel--parcours p + p:not(.cc-lead),
.cc-panel--formation p + p{
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid color-mix(in srgb, var(--cc-line) 60%, transparent);
}

/* Exception : pas de bordure après cc-two-p */
.cc-two-p + p{
  margin-top: 20px;
  padding-top: 0;
  border-top: 0;
}

/* Hover amélioré */
@media (hover: hover) and (pointer: fine){
  .cc-panel--parcours:hover,
  .cc-panel--formation:hover{
    transform: translate3d(0, -5px, 0);
    box-shadow: 0 22px 52px rgba(74,90,106,.14);
    border-color: color-mix(in srgb, var(--cc-accent) 40%, var(--cc-line));
  }
  
  .cc-panel:hover .cc-panel__icon svg{
    transform: scale(1.1) rotate(-5deg);
    filter: drop-shadow(0 8px 20px rgba(74,90,106,.25));
  }
}

/* Mobile : optimisation */
@media (max-width: 640px){
  .cc-section-heading{
    font-size: 1.5rem;
    margin-top: 28px;
    margin-bottom: 20px;
  }
  
  .cc-panel__icon svg{
    width: 48px;
    height: 48px;
  }
  
  .cc-two-p{
    gap: 14px;
    margin-bottom: 16px;
    padding-bottom: 16px;
  }
}
/* ========================================================= 
   ICÔNES AQUARELLE - STYLE GLOBAL POUR TOUTES LES PAGES
========================================================= */

/* Container des icônes */
.cc-panel__icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: clamp(16px, 2.5vw, 24px);
  line-height: 1;
}

/* Style des SVG */
.cc-panel__icon svg{
  display: block;
  width: clamp(48px, 6vw, 72px);
  height: auto;
  filter: drop-shadow(0 4px 12px rgba(74,90,106,.15));
  transition: all .35s cubic-bezier(.34,1.56,.64,1);
}

/* Style des emoji (fallback si pas de SVG) */
.cc-panel__icon:not(:has(svg)){
  font-size: clamp(2.5rem, 4vw, 3.5rem);
  width: clamp(64px, 8vw, 80px);
  height: clamp(64px, 8vw, 80px);
  border-radius: 50%;
  position: relative;
  z-index: 1;
}

/* Effet aquarelle derrière les emoji */
.cc-panel__icon:not(:has(svg))::before{
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  z-index: -1;
  filter: blur(10px);
  opacity: 0.6;
  transition: all .35s cubic-bezier(.34,1.56,.64,1);
}

/* Couleurs aquarelle par type de panel */

/* Bleu aquarelle - Enfants, Parcours, Intro */
.cc-panel--enfants .cc-panel__icon:not(:has(svg))::before,
.cc-panel--parcours .cc-panel__icon:not(:has(svg))::before,
.cc-panel--intro .cc-panel__icon:not(:has(svg))::before,
.cc-panel__icon--question:not(:has(svg))::before{
  background: radial-gradient(circle at 30% 30%, 
    rgba(168, 213, 226, 0.45) 0%, 
    rgba(157, 196, 196, 0.25) 50%,
    transparent 100%
  );
}

/* Vert aquarelle - Adolescents, Formation, Liste */
.cc-panel--adolescents .cc-panel__icon:not(:has(svg))::before,
.cc-panel--formation .cc-panel__icon:not(:has(svg))::before,
.cc-panel--raisons .cc-panel__icon:not(:has(svg))::before,
.cc-panel__icon--list:not(:has(svg))::before{
  background: radial-gradient(circle at 30% 30%, 
    rgba(184, 212, 197, 0.45) 0%, 
    rgba(157, 196, 196, 0.25) 50%,
    transparent 100%
  );
}

/* Rose aquarelle - Couples/Familles, Conclusion */
.cc-panel--couples .cc-panel__icon:not(:has(svg))::before,
.cc-panel--familles .cc-panel__icon:not(:has(svg))::before,
.cc-panel--conclusion .cc-panel__icon:not(:has(svg))::before,
.cc-panel__icon--heart:not(:has(svg))::before{
  background: radial-gradient(circle at 30% 30%, 
    rgba(232, 197, 208, 0.45) 0%, 
    rgba(212, 197, 216, 0.25) 50%,
    transparent 100%
  );
}

/* Beige aquarelle - Adultes */
.cc-panel--adultes .cc-panel__icon:not(:has(svg))::before{
  background: radial-gradient(circle at 30% 30%, 
    rgba(232, 220, 198, 0.45) 0%, 
    rgba(212, 197, 180, 0.25) 50%,
    transparent 100%
  );
}

/* ========================================================= 
   ANIMATIONS HOVER - TOUTES LES ICÔNES
========================================================= */

@media (hover: hover) and (pointer: fine){
  /* Hover sur les panels avec icônes SVG */
  .cc-panel:hover .cc-panel__icon svg{
    transform: scale(1.12) rotate(5deg);
    filter: drop-shadow(0 8px 24px rgba(74,90,106,.28));
  }
  
  /* Hover sur les panels avec emoji */
  .cc-panel:hover .cc-panel__icon:not(:has(svg)){
    transform: scale(1.1);
  }
  
  .cc-panel:hover .cc-panel__icon:not(:has(svg))::before{
    filter: blur(14px);
    transform: scale(1.2);
    opacity: 0.8;
  }
}

/* Variantes d'animation par page */

/* Page "Pour qui" - rotation douce */
.cc-section--publics .cc-panel:hover .cc-panel__icon svg{
  transform: scale(1.1) rotate(-3deg);
}

/* Page "Pourquoi" - bounce */
.cc-section--pourquoi .cc-panel:hover .cc-panel__icon svg{
  animation: icon-bounce 0.6s cubic-bezier(.34,1.56,.64,1);
}

@keyframes icon-bounce{
  0%, 100%{ transform: scale(1) translateY(0); }
  50%{ transform: scale(1.15) translateY(-6px); }
}

/* Page "À propos" - rotation inverse */
.cc-section--apropos .cc-panel:hover .cc-panel__icon svg{
  transform: scale(1.12) rotate(-8deg);
}

/* Page d'accueil - pulse subtil */
body.home .cc-panel:hover .cc-panel__icon svg{
  animation: icon-pulse 0.8s ease-in-out;
}

@keyframes icon-pulse{
  0%, 100%{ transform: scale(1); }
  50%{ transform: scale(1.15); }
}

/* ========================================================= 
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width: 640px){
  .cc-panel__icon{
    margin-bottom: 14px;
  }
  
  .cc-panel__icon svg{
    width: 48px;
    height: 48px;
  }
  
  .cc-panel__icon:not(:has(svg)){
    font-size: 2.2rem;
    width: 56px;
    height: 56px;
  }
  
  /* Réduire les animations sur mobile */
  .cc-panel:hover .cc-panel__icon svg{
    transform: scale(1.05);
  }
  
  .cc-panel:hover .cc-panel__icon:not(:has(svg)){
    transform: scale(1.05);
  }
}

/* ========================================================= 
   ACCESSIBILITÉ - RÉDUCTION DES ANIMATIONS
========================================================= */

@media (prefers-reduced-motion: reduce){
  .cc-panel__icon svg,
  .cc-panel__icon:not(:has(svg)),
  .cc-panel__icon::before{
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
  
  .cc-panel:hover .cc-panel__icon svg,
  .cc-panel:hover .cc-panel__icon:not(:has(svg)){
    transform: none !important;
  }
}

/* ========================================================= 
   ICÔNES DANS LES CARDS (sections honoraires, contacts)
========================================================= */

.cc-card .cc-panel__icon{
  margin-bottom: 12px;
}

.cc-card .cc-panel__icon svg{
  width: clamp(40px, 5vw, 56px);
}
/*NEW*/
