/* Pages intérieures au pixel (mesures des pages yoga-nutrition / events / blog / contact du modèle, 1440 px).
   S'ajoute à home.css : mêmes unités --u, mêmes boutons, même menu, même pied de page. */
.pg-hero{height:calc(400 * var(--u))}
.pg-hero>.h1{left:calc(64 * var(--u));top:calc(140 * var(--u));width:calc(609 * var(--u))}
.pg-hero>.lead{left:calc(64 * var(--u));top:calc(224 * var(--u));width:calc(609 * var(--u))}
.pg-hero .hero-card{left:calc(753 * var(--u));top:calc(73 * var(--u));width:calc(609 * var(--u));height:calc(275 * var(--u));border-radius:16px;overflow:hidden;background:#fff;z-index:2}
.pg-hero .hero-card img{width:100%;height:100%;object-fit:cover}
/* page horaires : carte avec bandeau de titre */
.pg-hero .hero-label{left:calc(753 * var(--u));top:calc(65 * var(--u));width:calc(609 * var(--u));height:calc(290 * var(--u));border-radius:16px;overflow:hidden;background:var(--mid);z-index:2}
.pg-hero .hero-label b{position:absolute;left:16px;top:18px;font:700 24px/29px var(--fd);color:var(--paper)}
.pg-hero .hero-label img{position:absolute;left:30px;top:69px;width:calc(609 * var(--u));height:calc(221 * var(--u));object-fit:cover}
/* rubans des pages */
.rib-pgA{left:calc(757 * var(--u));top:calc(33 * var(--u));width:calc(822 * var(--u));height:calc(778 * var(--u))}   /* S depuis la droite, derrière la carte, descend à 757 */
.rib-hook{left:calc(1228 * var(--u));top:calc(49 * var(--u));width:calc(351 * var(--u));height:calc(778 * var(--u))} /* crochet droit → descend à 1228 */
.rib-hookC{left:calc(1196 * var(--u));top:calc(19 * var(--u));width:calc(351 * var(--u));height:calc(880 * var(--u))}
.rib-pgB{left:calc(757 * var(--u));top:calc(279 * var(--u));width:calc(384 * var(--u));height:calc(1047 * var(--u))}  /* 757 → droite 1098 */
.rib-evB{left:calc(731 * var(--u));top:calc(265 * var(--u));width:calc(539 * var(--u));height:calc(1119 * var(--u))} /* 1228 → gauche 731 */
/* ——— section « bloc » (745 ou 861 ou 813) ——— */
.blk{height:calc(745 * var(--u))}
.blk.light{background:var(--light);border-radius:32px 32px 0 0}
.blk.mid2{height:calc(861 * var(--u))}
.blk.light3{height:calc(813 * var(--u))}
.blk>.eyebrow{left:calc(64 * var(--u));top:calc(106 * var(--u))}
.blk>.h2{left:calc(64 * var(--u));top:calc(140 * var(--u));width:calc(1297 * var(--u))}
.blk.mid2>.h2,.blk.light3>.h2{width:calc(567 * var(--u))}
.blk>.p14{left:calc(64 * var(--u));top:calc(204 * var(--u));width:calc(451 * var(--u))}
.blk.mid2>.p14{top:calc(252 * var(--u));width:calc(406 * var(--u))}
.blk.light3>.p14{width:calc(432 * var(--u))}
.blk.mid2>.eyebrow{color:var(--light)}
.blk.light3>.eyebrow{color:var(--txt)}
.scard{left:calc(64 * var(--u));top:calc(297 * var(--u));width:calc(1297 * var(--u));height:calc(400 * var(--u));border-radius:16px;overflow:hidden;background:#fff}
.blk.mid2 .scard{top:calc(365 * var(--u));background:var(--deep)}
.blk.light3 .scard{top:calc(317 * var(--u))}
.scard img{position:absolute;right:0;top:0;width:calc(601 * var(--u));height:100%;object-fit:cover}
.scard .ico{position:absolute;left:32px;top:calc(129 * var(--u));width:40px;height:40px;border-radius:50%;background:var(--light);color:var(--deep);display:grid;place-items:center}
.scard .ico svg{width:20px;height:20px}
.scard .h4{position:absolute;left:32px;top:calc(177 * var(--u));font-size:24px;line-height:29px;display:flex;align-items:center;gap:16px}
.scard .p16{position:absolute;left:32px;top:calc(213 * var(--u));width:calc(601 * var(--u))}
.scard .btn{position:absolute;left:32px;top:calc(304 * var(--u))}
.scard .arr{position:absolute;top:calc(180 * var(--u));width:40px;height:40px;border-radius:50%;background:var(--mid);color:#fff;display:grid;place-items:center;font:700 18px/1 var(--fb)}
.scard .arr.l{left:20px}.scard .arr.r{right:20px}
.scard .dots{position:absolute;left:calc(640 * var(--u));bottom:16px;display:flex;gap:4px}
.scard .dots i{width:7px;height:7px;border-radius:50%;background:var(--light)}.scard .dots i:first-child{background:var(--mid)}
.scard.dark .ico{background:rgba(255,255,255,.12);color:var(--paper)}
.scard.dark .h4,.scard.dark .p16{color:var(--paper)}
.scard.dark .btn .lbl{background:transparent;color:var(--paper);box-shadow:inset 0 0 0 1.5px var(--paper)}
.scard.dark .btn .ring{background:transparent;box-shadow:inset 0 0 0 1.5px var(--paper)}.scard.dark .btn .ring i{background:var(--mid)}
.badge.dk{background:#2a3d6e;color:var(--paper);font-size:12px;padding:7px 12px}
.blk.mid2 .badge.dk{background:rgba(255,255,255,.14)}
/* horaires dans la carte (page pratique) */
.scard table{position:absolute;left:32px;top:calc(213 * var(--u));width:calc(560 * var(--u));border-collapse:collapse;font:400 14px/1.3 var(--fb);color:var(--ink)}
.scard td{padding:5px 0;border-bottom:1px solid var(--pale)}.scard td:last-child{text-align:right;font-weight:600}
.scard tr.today td{color:var(--mid)}
.scard.hours .btn{top:calc(336 * var(--u))}
/* ——— section cartes (3 cartes) : hauteur 929 (service) / 903 (events) ——— */
.cards3{height:calc(929 * var(--u))}
.cards3>.eyebrow{left:calc(64 * var(--u));top:calc(106 * var(--u))}
.cards3>.h2{left:calc(64 * var(--u));top:calc(140 * var(--u));width:calc(437 * var(--u))}
.cards3>.p14{left:calc(64 * var(--u));top:calc(248 * var(--u));width:calc(437 * var(--u))}
.cards3>.cta{left:calc(1133 * var(--u));top:calc(245 * var(--u))}
.ccard{top:calc(371 * var(--u));width:calc(411 * var(--u));height:calc(430 * var(--u));border-radius:16px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px var(--pale)}
.ccard.pale{background:var(--pale);box-shadow:none}
.ccard img{width:100%;height:calc(200 * var(--u));object-fit:cover}
.ccard .meta{position:absolute;left:24px;top:calc(224 * var(--u));font:600 12px/18px var(--fb);color:var(--mid)}
.ccard .h4{position:absolute;left:24px;top:calc(266 * var(--u));width:calc(363 * var(--u));font-size:24px;line-height:29px}
.ccard .p14{position:absolute;left:24px;top:calc(302 * var(--u));width:calc(363 * var(--u))}
.ccard .tags{position:absolute;left:24px;top:calc(384 * var(--u));display:flex;gap:8px}
.ccard .badge{font-size:12px;padding:6px 10px}
.ccard .dt{position:absolute;left:16px;top:16px;background:var(--deep);color:var(--paper);font:600 12px/1 var(--fb);padding:9px 12px;border-radius:999px;display:inline-flex;gap:6px;align-items:center}
.ccard .btn{position:absolute;left:24px;top:calc(374 * var(--u))}
.ccard.withbtn{height:calc(450 * var(--u))}
.cc1{left:calc(64 * var(--u))}.cc2{left:calc(507 * var(--u))}.cc3{left:calc(950 * var(--u))}
.cards3.ev{height:calc(903 * var(--u))}
.cards3.ev>.eyebrow,.cards3.ev>.h2,.cards3.ev>.p14{left:calc(113 * var(--u))}
.cards3.ev>.cta{left:calc(1084 * var(--u));top:calc(265 * var(--u))}
.cards3.ev .ccard{top:calc(391 * var(--u));width:calc(384 * var(--u))}
.cards3.ev .cc1{left:calc(113 * var(--u))}.cards3.ev .cc2{left:calc(521 * var(--u))}.cards3.ev .cc3{left:calc(929 * var(--u))}
/* ——— bannière (section de 503 : 96 + 374 + 33) ——— */
.bansec{height:calc(503 * var(--u))}
.bansec .banner{top:calc(65 * var(--u))}
.rib-pgD{left:calc(732 * var(--u));top:calc(-94 * var(--u));width:calc(409 * var(--u));height:calc(1119 * var(--u))}
.rib-pgE{left:calc(731 * var(--u));top:calc(-143 * var(--u));width:calc(549 * var(--u));height:calc(1101 * var(--u))}
.rib-pgF{left:calc(1217 * var(--u));top:calc(-43 * var(--u));width:calc(84 * var(--u));height:calc(728 * var(--u))}
/* ——— page conseils (blog) ——— */
.bl-hero{height:calc(284 * var(--u))}
.bl-hero>.h1{left:calc(400 * var(--u));top:calc(64 * var(--u));width:calc(626 * var(--u));font-size:40px;line-height:48px;letter-spacing:0;text-align:center}
.bl-hero>.lead{left:calc(518 * var(--u));top:calc(192 * var(--u));width:calc(389 * var(--u));text-align:center;color:var(--ink)}
.feat{height:calc(621 * var(--u));background:var(--light);border-radius:32px 32px 0 0}
.feat>.eyebrow{left:calc(177 * var(--u));top:calc(96 * var(--u))}
.feat>.h2{left:calc(177 * var(--u));top:calc(130 * var(--u));width:calc(1072 * var(--u))}
.fcard{left:calc(177 * var(--u));top:calc(210 * var(--u));width:calc(1072 * var(--u));height:calc(315 * var(--u));border-radius:16px;overflow:hidden;background:#fff}
.fcard img{position:absolute;left:0;top:0;width:calc(488 * var(--u));height:100%;object-fit:cover}
.fcard .badge{position:absolute;left:calc(536 * var(--u));top:calc(48 * var(--u))}
.fcard .meta{position:absolute;left:calc(536 * var(--u));top:calc(107 * var(--u));font:600 12px/18px var(--fb);color:var(--mid)}
.fcard .h4{position:absolute;left:calc(536 * var(--u));top:calc(123 * var(--u));width:calc(488 * var(--u));font-size:24px;line-height:29px}
.fcard .p14{position:absolute;left:calc(536 * var(--u));top:calc(160 * var(--u));width:calc(488 * var(--u))}
.fcard .btn{position:absolute;left:calc(536 * var(--u));top:calc(223 * var(--u))}
.cards3.bl{height:calc(853 * var(--u))}
.cards3.bl>.p14{top:calc(248 * var(--u))}
.cards3.bl .ccard{top:calc(351 * var(--u));width:calc(406 * var(--u));height:calc(424 * var(--u))}
.cards3.bl .cc2{left:calc(510 * var(--u))}.cards3.bl .cc3{left:calc(955 * var(--u))}
.bansec.bl .banner{left:calc(177 * var(--u));width:calc(1072 * var(--u))}
.bansec.bl .banner img{left:calc(673 * var(--u));width:calc(399 * var(--u))}
.bansec.bl .banner .h2,.bansec.bl .banner .lead,.bansec.bl .banner .btns{width:calc(505 * var(--u))}
.rib-blB{left:calc(710 * var(--u));top:calc(16 * var(--u));width:calc(539 * var(--u));height:calc(1501 * var(--u))}
.rib-blC{left:calc(710 * var(--u));top:calc(471 * var(--u));width:calc(549 * var(--u));height:calc(1658 * var(--u))}
.rib-blF{left:calc(1195 * var(--u));top:calc(-115 * var(--u));width:calc(84 * var(--u));height:calc(728 * var(--u))}
/* ——— page contact ——— */
.ct-hero{height:calc(866 * var(--u))}
.ct-hero>.h1{left:calc(64 * var(--u));top:calc(80 * var(--u));width:calc(617 * var(--u));font-size:40px;line-height:48px;letter-spacing:0}
.ct-hero>.lead{left:calc(64 * var(--u));top:calc(152 * var(--u));width:calc(617 * var(--u))}
.ct-hero .form{left:calc(64 * var(--u));top:calc(228 * var(--u));width:calc(617 * var(--u))}
.form input,.form textarea{display:block;border:0;background:var(--pale);border-radius:16px;padding:16px 20px;font:400 14px/1.4 var(--fb);color:var(--ink);width:100%}
.form .two{display:flex;gap:calc(24 * var(--u))}
.form .two input{width:calc(296 * var(--u));height:54px}
.form textarea{height:133px;margin-top:24px;resize:vertical}
.form button{margin-top:24px;width:100%;height:54px;border:0;border-radius:16px;background:var(--deep);color:var(--paper);font:600 14px/1 var(--fb);cursor:pointer}
.form .ok{display:none;margin-top:12px;background:var(--light);color:var(--deep);border-radius:12px;padding:12px 16px;font-size:14px}
.ct-hero .photo{left:calc(745 * var(--u));top:calc(80 * var(--u));width:calc(617 * var(--u));height:calc(706 * var(--u));border-radius:16px;overflow:hidden;z-index:2}
.ct-hero .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.ct-info{height:calc(382 * var(--u));background:var(--light);border-radius:32px 32px 0 0}
.icard{top:calc(96 * var(--u));width:calc(411 * var(--u));height:calc(190 * var(--u));border-radius:16px;background:var(--pale)}
.icard .ico{position:absolute;left:24px;top:26px;width:40px;height:40px;border-radius:50%;background:var(--light);color:var(--deep);display:grid;place-items:center}
.icard .ico svg{width:20px;height:20px}
.icard .h4{position:absolute;left:72px;top:32px;font-size:24px;line-height:29px}
.icard .p16{position:absolute;left:24px;top:calc(114 * var(--u));width:calc(363 * var(--u))}
.icard b{position:absolute;left:24px;top:calc(152 * var(--u));width:calc(363 * var(--u));font:600 16px/24px var(--fb);color:var(--txt);user-select:all}
.icard b a{text-decoration:underline}
/* ——— mentions légales ——— */
.legal-sec{padding:calc(40 * var(--u)) calc(64 * var(--u)) calc(96 * var(--u))}
.legal{max-width:72ch;font:400 15px/1.6 var(--fb);color:var(--txt)}
.legal h2{font:700 24px/1.2 var(--fd);color:var(--ink);margin:40px 0 12px}.legal h2:first-child{margin-top:0}
.legal h3{font:700 18px/1.2 var(--fd);color:var(--ink);margin:20px 0 6px}
.legal p{margin-bottom:10px}
.legal dl{display:grid;grid-template-columns:minmax(150px,220px) 1fr;margin:0;border-top:1px solid var(--pale)}
.legal dt,.legal dd{padding:10px 0;border-bottom:1px solid var(--pale);margin:0;font-size:14px}
.legal dt{color:var(--mid);font-weight:600}
mark.todo{background:#FFF3C4;color:#7A5A00;padding:.1em .45em;border-radius:6px;font-size:13px}
/* ——— téléphone ——— */
@media (max-width:900px){
  .scard,.fcard,.ccard,.icard,.hero-card,.hero-label{height:auto!important;position:relative!important;left:0!important;width:100%!important}
  .scard img,.fcard img{position:static;width:100%;height:220px}
  .scard .ico,.scard .h4,.scard .p16,.scard .btn,.scard table,.fcard .badge,.fcard .meta,.fcard .h4,.fcard .p14,.fcard .btn,.ccard .meta,.ccard .h4,.ccard .p14,.ccard .tags,.ccard .btn,.icard .ico,.icard .h4,.icard .p16,.icard b{position:static;width:auto;margin:10px 20px 0}
  .scard .arr,.scard .dots{display:none}
  .scard,.fcard,.ccard,.icard{padding-bottom:20px;margin-bottom:16px}
  .ccard img{height:180px}
  .pg-hero .hero-label img{position:static;width:100%;height:220px;margin-top:50px}
  .ct-hero .photo{height:320px!important}
  .form .two{flex-direction:column}.form .two input{width:100%}
  .bl-hero>.h1,.bl-hero>.lead{text-align:left}
  .legal dl{grid-template-columns:1fr}.legal dt{border-bottom:0;padding-bottom:0}
}

/* corrections après première capture */
.rib{z-index:3}.abs{z-index:4}footer{position:relative;z-index:5}
.scard .arr.l{display:none}
.blk.mid2>.p14,.blk.light3>.p14{top:calc(252 * var(--u))}
.scard.hours .ico{top:32px}.scard.hours .h4{top:84px}.scard.hours table{top:130px;font-size:13px}.scard.hours td{padding:3px 0}.scard.hours .btn{top:calc(336 * var(--u))}.scard.hours .p16{display:none}
.cards3.ev .ccard .meta{display:none}.cards3.ev .ccard .tags{top:calc(224 * var(--u))}.cards3.ev .ccard .h4{top:calc(257 * var(--u))}.cards3.ev .ccard .p14{top:calc(293 * var(--u))}.cards3.ev .ccard .btn{top:calc(374 * var(--u))}
.ccard .h4{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bansec.bl{height:calc(553 * var(--u))}.bansec.bl .banner{top:calc(115 * var(--u))}
.page{overflow:hidden}
@media (max-width:900px){.scard .ico,.icard .ico,.item .ico{width:40px!important;height:40px!important;flex:none}.item{display:grid;grid-template-columns:40px 1fr;gap:16px}}

/* un seul ruban continu par page */
.page-rib{position:absolute;left:0;top:0;width:100%;z-index:3;pointer-events:none}
.page-rib svg{width:100%;height:100%;display:block}
@media (max-width:900px){.page-rib{display:none}}
/* le ruban passe DERRIÈRE toutes les photos et cartes (priorité au-dessus du ruban z3) */
.pg-hero .hero-card,.pg-hero .hero-label,.ct-hero .photo,.scard,.fcard,.ccard,.icard,.banner,.bl-hero>.h1,.bl-hero>.lead{z-index:4}
