/* ===== SITE.CSS — styles partagés header + footer + nav ===== */
* {margin: 0; padding: 0; box-sizing: border-box;}
html {scroll-behavior: smooth;}
body {font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; color: #0a0e27; line-height: 1.6;}
header {position: fixed; top: 0; width: 100%; background: rgba(250,251,252,0.7); backdrop-filter: blur(30px); border-bottom: 1px solid rgba(226,125,116,0.1); padding: 12px 0; z-index: 10000; transition: all 0.3s;}
header.scrolled {background: rgba(255,255,255,0.8); padding: 8px 0; box-shadow: 0 2px 20px rgba(0,0,0,0.05);}
.nav-container {max-width: 1400px; margin: 0 auto; padding: 0 40px; display: flex; justify-content: space-between; align-items: center;}
.logo {font-size: 20px; font-weight: 800; background: linear-gradient(135deg,#E27D74 0%,#d06b62 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; letter-spacing: -0.5px; text-decoration: none;}
nav {display: flex; gap: 48px; align-items: center;}
nav a {color: #0a0e27; text-decoration: none; font-size: 14px; font-weight: 500; transition: color 0.3s;}
nav a:hover {color: #E27D74;}
.cta-nav {background: linear-gradient(135deg,#E27D74 0%,#d06b62 100%); color: white; padding: 10px 20px; border-radius: 50px; text-decoration: none; font-weight: 600; font-size: 14px; transition: all 0.3s;}
.cta-nav:hover {transform: translateY(-2px); box-shadow: 0 8px 24px rgba(226,125,116,0.35);}
footer {background: #0a0e27; color: rgba(255,255,255,0.7); padding: 60px 0 30px;}
.footer-content {max-width: 1400px; margin: 0 auto; padding: 0 40px; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 60px; margin-bottom: 48px;}
.footer-brand h3 {font-size: 20px; font-weight: 800; color: white; margin-bottom: 12px;}
.footer-brand p {font-size: 14px; line-height: 1.7; max-width: 300px;}
footer h4 {color: white; font-size: 14px; font-weight: 700; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 0.5px;}
footer a {color: rgba(255,255,255,0.6); text-decoration: none; font-size: 14px; display: block; margin-bottom: 10px; transition: color 0.3s;}
footer a:hover {color: #E27D74;}
.footer-bottom {border-top: 1px solid rgba(255,255,255,0.08); padding: 24px 40px 24px; max-width: 1400px; margin: 0 auto;}
.footer-bottom p {font-size: 13px; color: rgba(255,255,255,0.4);}
body.madminbar {margin-top: 40px;}
body.madminbar header {top: 40px !important;}
@media (max-width: 768px) {.nav-container {padding: 0 20px;} nav {gap: 20px;} .footer-content {grid-template-columns: 1fr; gap: 30px;}}

/* ===== Newsletter footer + shortcode ===== */
@media (min-width: 981px){.footer-content {grid-template-columns: 2fr 1fr 1fr 1.4fr !important;}}
.footer-nl h4 {color: white; font-size: 14px; font-weight: 700; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 0.5px;}
.nl-block {max-width: 320px;}
.nl-form {margin: 0;}
.nl-row {display: flex; gap: 8px;}
.nl-input {flex: 1; min-width: 0; padding: 11px 14px; border: 1px solid rgba(255,255,255,0.15); border-radius: 10px; background: rgba(255,255,255,0.06); color: white; font-family: 'Inter', sans-serif; font-size: 13px; outline: none; transition: all 0.25s;}
.nl-input::placeholder {color: rgba(255,255,255,0.35);}
.nl-input:focus {border-color: #E27D74; background: rgba(255,255,255,0.1);}
.nl-btn {flex-shrink: 0; padding: 11px 18px; border: 0; border-radius: 10px; background: linear-gradient(135deg,#E27D74 0%,#d06b62 100%); color: white; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.25s; white-space: nowrap;}
.nl-btn:hover {transform: translateY(-1px); box-shadow: 0 6px 18px rgba(226,125,116,0.35);}
.nl-btn:disabled {opacity: 0.6; cursor: default; transform: none;}
.nl-legal {font-size: 11px; line-height: 1.6; color: rgba(255,255,255,0.4); margin: 10px 0 0;}
.nl-legal a {display: inline; margin: 0; font-size: 11px; color: rgba(255,255,255,0.55); text-decoration: underline;}
.nl-legal a:hover {color: #E27D74;}
.nl-msg {font-size: 12px; font-weight: 600; margin: 8px 0 0; min-height: 16px;}
.nl-msg.ok {color: #22c55e;}
.nl-msg.err {color: #ff6b6b;}
@media (max-width: 980px) {.nl-block {max-width: 100%;}}
@media (max-width: 640px) {.footer-content {grid-template-columns: 1fr !important;}}

/* Liens inline dans le copyright */
.footer-bottom p a {display: inline; margin: 0;}
.footer-bottom p b, .footer-bottom p strong {color: rgba(255,255,255,0.9);}

/* Aligner le footer sur le header : meme padding interne */
.footer-content {padding: 0 40px !important;}
.footer-bottom {padding-left: 40px !important; padding-right: 40px !important;}
@media (max-width: 768px) {
  .footer-content {padding: 0 20px !important;}
  .footer-bottom {padding-left: 20px !important; padding-right: 20px !important;}
}

/* Menu colle a droite, contre le bloc compte */
#navItems {margin-left: auto; margin-right: 32px;}
@media (max-width: 768px) {#navItems {margin-right: 0;}}

/* ===== Galerie de coachings ===== */
.cg-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 28px; margin: 32px 0;}
.cg-solo {margin: 32px 0;}
.cg-card {display: flex; flex-direction: column; background: white; border-radius: 18px; overflow: hidden; text-decoration: none; border: 1px solid rgba(10,14,39,0.07); box-shadow: 0 2px 12px rgba(10,14,39,0.04); transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s; margin: 0;}
.cg-card:hover {transform: translateY(-4px); box-shadow: 0 16px 44px rgba(10,14,39,0.1); border-color: rgba(226,125,116,0.3);}
.cg-card.solo {flex-direction: row; max-width: 780px;}
.cg-card.solo .cg-img {width: 300px; flex-shrink: 0; height: auto; min-height: 220px;}
.cg-img {height: 190px; background-size: cover; background-position: center; background-color: #f4f6fb; flex-shrink: 0;}
.cg-img-ph {display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, rgba(226,125,116,0.1), rgba(226,125,116,0.03)); color: rgba(226,125,116,0.5);}
.cg-body {padding: 22px 24px 24px; display: flex; flex-direction: column; flex: 1; min-width: 0;}
.cg-tags {display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 11px;}
.cg-tag {font-size: 10px; font-weight: 700; padding: 3px 9px; border-radius: 99px; background: rgba(226,125,116,0.1); color: #E27D74; text-transform: uppercase; letter-spacing: 0.04em;}
.cg-t {font-size: 18px; font-weight: 700; color: #0a0e27; margin: 0 0 9px; line-height: 1.35; letter-spacing: -0.3px;}
.cg-card.solo .cg-t {font-size: 22px;}
.cg-d {font-size: 14px; line-height: 1.65; color: #5a5f7e; margin: 0 0 18px; flex: 1;}
.cg-foot {display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 16px; border-top: 1px solid rgba(10,14,39,0.06);}
.cg-steps {font-size: 12px; font-weight: 600; color: #9098b1;}
.cg-price {font-size: 14px; font-weight: 800; color: #E27D74; margin-left: auto;}
.cg-price.free {font-size: 11px; font-weight: 700; padding: 4px 11px; border-radius: 99px; background: rgba(34,197,94,0.12); color: #16a34a; text-transform: uppercase; letter-spacing: 0.04em;}
.cg-empty {padding: 40px 20px; text-align: center; color: #9098b1; font-size: 14px; border: 1px dashed rgba(10,14,39,0.12); border-radius: 14px;}
@media (max-width: 768px) {
  .cg-grid {grid-template-columns: 1fr; gap: 20px;}
  .cg-card.solo {flex-direction: column;}
  .cg-card.solo .cg-img {width: 100%; height: 190px; min-height: 0;}
}

/* ===== Widgets boutique ===== */
.pw{margin:32px 0;}
.pw-empty{padding:40px 20px;text-align:center;color:#9098b1;font-size:14px;}

.pw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;}
.pw-mas{columns:3 240px;column-gap:24px;}
.pw-mas .pw-c{break-inside:avoid;margin-bottom:24px;display:inline-block;width:100%;}

.pw-c{display:block;text-decoration:none;color:inherit;transition:transform .3s cubic-bezier(.16,1,.3,1);}
.pw-c:hover{transform:translateY(-4px);}
.pw-th{position:relative;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#f4f6fb;display:flex;align-items:center;justify-content:center;color:rgba(226,125,116,.35);}
.pw-c.m .pw-th{aspect-ratio:auto;}
.pw-th img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.pw-c.m .pw-th img{height:auto;}
.pw-c:hover .pw-th img{transform:scale(1.04);}
.pw-promo{position:absolute;top:12px;left:12px;padding:5px 11px;border-radius:99px;background:#E27D74;color:white;font-size:11px;font-weight:800;letter-spacing:.02em;}
.pw-out{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.82);color:#0a0e27;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
.pw-m{padding:14px 2px 0;}
.pw-t{font-size:16px;font-weight:700;color:#0a0e27;line-height:1.35;margin:0 0 5px;}
.pw-d{font-size:13px;color:#5a5f7e;line-height:1.6;margin:0 0 8px;}
.pw-p{display:flex;align-items:baseline;gap:9px;}
.pw-p b{font-size:17px;font-weight:800;color:#E27D74;}
.pw-p s{font-size:14px;color:#9098b1;}
.pw-p.big b{font-size:26px;letter-spacing:-.5px;}
.pw-p.big s{font-size:17px;}

/* Produit seul */
.pw-solo{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:34px;border-radius:22px;background:#faf8f6;}
.pw-solo-i{aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:#f4f6fb;display:flex;align-items:center;justify-content:center;color:rgba(226,125,116,.35);}
.pw-solo-i img{width:100%;height:100%;object-fit:cover;display:block;}
.pw-solo-t{font-size:29px;font-weight:800;color:#0a0e27;line-height:1.2;letter-spacing:-.6px;margin:0 0 14px;}
.pw-solo-d{font-size:15px;color:#5a5f7e;line-height:1.75;margin:16px 0 24px;}
.pw-btn{display:inline-block;padding:15px 34px;border-radius:12px;background:linear-gradient(135deg,#E27D74,#d06b62);color:white;font-size:15px;font-weight:700;text-decoration:none;transition:transform .25s,box-shadow .25s;}
.pw-btn:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(226,125,116,.36);}
.pw-btn.off{background:#c3c8d8;pointer-events:none;}

/* Carrousel */
.pw-car{position:relative;}
.pw-car-t{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 10px;}
.pw-car-t::-webkit-scrollbar{display:none;}
.pw-car-t .pw-c{flex:0 0 clamp(210px,26%,280px);scroll-snap-align:start;}
.pw-car-b{position:absolute;top:38%;width:42px;height:42px;border:0;border-radius:50%;background:white;color:#0a0e27;cursor:pointer;box-shadow:0 4px 20px rgba(10,14,39,.14);display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:2;}
.pw-car-b:hover{background:#E27D74;color:white;}
.pw-car-b.prev{left:-14px;}
.pw-car-b.next{right:-14px;}

@media(max-width:820px){
  .pw-solo{grid-template-columns:1fr;gap:26px;padding:24px;}
  .pw-solo-t{font-size:23px;}
  .pw-mas{columns:2 160px;column-gap:16px;}
  .pw-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;}
  .pw-car-b{display:none;}
}

/* Widget liste d icones (public) */
.b-iconlist{display:flex;flex-direction:column;gap:14px;margin:24px 0;}
.b-il-row{display:flex;align-items:flex-start;gap:14px;}
.b-il-ic{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:rgba(226,125,116,.08);}
.b-il-tx{flex:1;font-size:16px;line-height:1.6;color:#5a5f7e;padding-top:6px;}

/* Formes d image (blocs coaching) : 7 formes */
.b-fig img{max-width:100%;height:auto;display:block;}
.b-shape-circle img{aspect-ratio:1;object-fit:cover;border-radius:50%;}
.b-shape-rounded img{border-radius:18px;}
.b-shape-hexagon img{aspect-ratio:1;object-fit:cover;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);}
.b-shape-diamond img{aspect-ratio:1;object-fit:cover;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);}
.b-shape-blob img{aspect-ratio:1;object-fit:cover;border-radius:63% 37% 54% 46% / 55% 48% 52% 45%;}
.b-shape-star img{aspect-ratio:1;object-fit:cover;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);}

/* Colonnes et rangee dans les etapes de coaching (public) */
.b-cols{display:flex;gap:24px;margin:24px 0;align-items:flex-start;}
.b-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px;}
.b-col > *{margin:0;}
@media(max-width:720px){ .b-cols{flex-direction:column;gap:20px;} }

/* Bloc citation (public) */
.b-cit{position:relative;margin:32px 0;padding:28px 32px 28px 40px;background:linear-gradient(135deg,rgba(226,125,116,.05),rgba(226,125,116,.02));border-left:4px solid #E27D74;border-radius:0 16px 16px 0;}
.b-cit::before{content:'\201C';position:absolute;left:20px;top:6px;font-family:Georgia,serif;font-size:64px;line-height:1;color:#E27D74;opacity:.18;pointer-events:none;}
.b-cit p{margin:0;position:relative;font-style:italic;font-size:21px;line-height:1.65;color:#2a2f4e;font-weight:500;}
.b-cit cite{display:block;margin-top:16px;font-style:normal;font-size:14px;font-weight:700;color:#E27D74;letter-spacing:.01em;}
.b-cit cite::before{content:'\2014\00a0';}

/* Chapitres cote public */
.st-ch-title{font-size:22px;font-weight:700;color:#E27D74;margin:6px 0 20px;}
.st-ch-dots{display:flex;gap:8px;margin:0 0 28px;flex-wrap:wrap;}
.st-ch-dot{width:34px;height:34px;border-radius:50%;border:2px solid #e6e9f2;background:#fff;color:#9098b1;font-size:14px;font-weight:700;cursor:default;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:Inter,sans-serif;}
.st-ch-dot.done{background:#E27D74;border-color:#E27D74;color:#fff;cursor:pointer;}
.st-ch-dot.done:hover{background:#d06b62;}
.st-ch-dot.current{border-color:#E27D74;color:#E27D74;background:#fef4f2;}
.st-ch-dot.locked{opacity:.5;}

/* Footer responsive : chevrons + accordeon */
.foot-chev{display:none;transition:transform .3s;flex-shrink:0;}
.foot-links{display:block;}
/* TABLETTE : 2 colonnes */
@media (max-width: 980px) and (min-width: 641px){
  .footer-content{grid-template-columns: 1fr 1fr !important; gap: 44px 60px !important; row-gap: 40px !important;}
  .footer-brand p{max-width: 340px;}
}
/* MOBILE : 1 colonne + accordeon */
@media (max-width: 640px){
  .footer-content{grid-template-columns: 1fr !important; gap: 32px !important;}
  .footer-brand{margin-bottom: 4px;}
  .foot-acc{margin:0 0 14px !important;padding:0 !important;cursor:default;}
  .foot-chev{display:none !important;}
  .foot-links{max-height:none !important;overflow:visible !important;}
  .foot-links a{padding:6px 0;}
}
