:root{--accent:#1685df;--dark:#142536;--background:#f8fbff;color-scheme:light}
body{color:#162536;background:#eff5fa}.shell{background:#fff}.primary{background:#1685df;color:#fff}.secondary{background:#e4f1fc;color:#145d96}.steps i.on{background:#1685df}.option.selected{background:#edf6ff;border-color:#1685df}.folder-blue,.exercise-folder.folder-blue{background:#f1f8ff;border-left-color:#1685df}.folder-blue .folder-icon,.folder-blue em{color:#1685df}.folder-blue .folder-icon{background:#dcedff}.breath{background:#dcefff;color:#1265a7}.dark{background:#142536}.dark .eyebrow{color:#dcefff!important}.bilan-objective .primary{background:#fff;color:#145d96}.hero{background:#dcefff}.hero h2,.hero p{color:#18374f!important}.hero .secondary{background:#1685df;color:#fff}.nav{background:#142536}.nav button.active{color:#5cb8ff}.personal-status{padding:11px 14px;border-radius:12px;background:#edf6ff;color:#195984;font-size:14px}.personal-status.error{background:#fff0ed;color:#a13d28}.pwa-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid #e2eaf1}.pwa-tools p{flex-basis:100%;margin:0}.pwa-tools a{font-size:14px;color:#1768a5}.month-controls{display:flex;align-items:center;gap:8px}.month-controls strong{font-size:14px;text-transform:capitalize}.month-controls button{min-width:38px;min-height:44px;background:#e5f2ff;color:#166fae;border-radius:10px;font-size:26px}.calendar-day.selected{outline:2px solid #1685df;outline-offset:-2px}.planned-session-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:10px}.planned-session-actions .planner-session-row{margin:0}.planned-session-actions>.secondary{padding:12px;min-height:48px;font-size:14px}.calm-card .row{justify-content:center}.calm-time{font-size:34px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}.mental-page details{border-bottom:1px solid #e5edf5;padding:14px 0}.mental-page summary{cursor:pointer;font-weight:600;color:#216390}.mental-page input[type=range]{accent-color:#1685df}.mental-page p{overflow-wrap:anywhere}.reset-timer{margin-left:8px}.timer-actions .reset-timer{margin-left:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #1685df;outline-offset:3px}img{max-width:100%}button,a{ -webkit-tap-highlight-color:transparent}input,select,textarea{font-size:16px}summary{min-height:44px}.shell{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
@media(max-width:650px){.planned-session-actions{grid-template-columns:1fr;gap:4px}.planned-session-actions>.secondary{justify-self:end;padding:8px 16px;min-height:44px}.calendar-card>.spread{align-items:flex-start;gap:8px;flex-direction:column}.month-controls{width:100%;justify-content:space-between}.top{gap:8px;flex-wrap:wrap}.admin-entry{max-width:100%}.pwa-tools{align-items:flex-start}.pwa-tools .secondary{width:100%}.planner-day-head{min-height:44px}.planner-day-add{min-width:36px;min-height:36px}.bilan-objective{flex-wrap:wrap}.reset-timer{margin:8px 0 0}.timer-actions .reset-timer{margin:0}.mental-page .row{flex-wrap:wrap}}
@media(min-width:1080px){.shell:not(:has(.welcome-poster-page)){padding-bottom:52px}.pwa-tools{margin-top:40px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.pwa-socials{display:flex;align-items:center;gap:10px}.social-link{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #d9e7f2;border-radius:999px;background:#f7fbff;color:#1768a5!important;font-weight:700;text-decoration:none}.social-link svg{width:18px;height:18px;fill:currentColor}


/* Mise en page ordinateur et tablette : le téléphone conserve son interface actuelle. */
@media (min-width:700px){
  body{background:linear-gradient(135deg,#edf6fb 0%,#f8fbff 52%,#e8f2f9 100%);}
  .shell{position:relative;max-width:1240px;min-height:calc(100vh - 32px);margin:16px auto;padding:32px 40px 132px;border:1px solid #dfeaf2;border-radius:26px;box-shadow:0 18px 55px rgba(35,79,110,.12);}
  .shell:not(:has(.welcome-poster-page)){background:rgba(255,255,255,.97);}
  .top{margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid #e2edf4;}
  .top .brand{flex-basis:300px;max-width:300px;}
  .admin-entry{border-radius:999px;padding:11px 18px;background:#142536;color:#fff;box-shadow:0 7px 16px rgba(20,37,54,.14);}
  .formwrap{max-width:940px;}
  .grid{gap:24px;}
  .card{border-color:#dce8f0;box-shadow:0 8px 22px rgba(31,83,117,.06);}
  .hero{box-shadow:0 10px 28px rgba(22,133,223,.12);}
  .nav.compact-dock{position:fixed;left:50%;bottom:18px;top:auto;transform:translateX(-50%);width:min(780px,calc(100% - 48px));display:flex;flex-direction:row;gap:4px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:22px;box-shadow:0 14px 35px rgba(11,34,52,.28);}
  .nav.compact-dock button{flex:1 1 0;width:auto;min-height:62px;padding:7px 5px;border-radius:15px;}
  .nav.compact-dock button.active{background:rgba(92,184,255,.14);color:#70c4ff;}
  .nav.compact-dock .dock-emoji{height:28px;font-size:25px;line-height:28px;}
  .nav.compact-dock .dock-label{font-size:12px;letter-spacing:0;}
  .planner-page,.formwrap:has(.planner-page){max-width:1120px;}
  .home-calendar-layout{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);}
  .bilan-dashboard{gap:22px;}
  .warmup-grid{gap:22px;}
  .exercise-item{break-inside:avoid;}
}

/* Accueil FM Performance : composition validée, adaptée aux trois formats. */
body:has(.fm-home){min-height:100vh;background-color:#031a36;background-image:radial-gradient(circle,#078cff 1.5px,transparent 2px),linear-gradient(130deg,transparent 0 78%,rgba(0,112,220,.22) 78% 81%,transparent 81%);background-size:24px 24px,100% 100%;background-position:0 0,center;}
.shell:has(.fm-home){position:relative;width:min(100% - 32px,1600px);max-width:1600px;min-height:100vh;margin:0 auto;padding:16px 0 22px;background:transparent!important;overflow:visible;box-shadow:none;border-radius:0;color:#101a2e;}
.shell:has(.fm-home)>.top{display:none}
.fm-home{--fm-blue:#0876f9;--fm-navy:#001a38;display:grid;gap:12px;color:#111a2e;font-family:Arial,Helvetica,sans-serif;}
.fm-home *{box-sizing:border-box}
.fm-home button,.fm-home a{font:inherit}
.fm-home-header{min-height:100px;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(240px,1fr);align-items:center;gap:22px;padding:10px 28px;border:1px solid #dceafb;border-radius:17px;background:linear-gradient(100deg,#fff,#f5faff);box-shadow:0 9px 28px #0002}
.fm-home-brand{display:block;width:min(100%,360px);line-height:0}
.fm-home-brand img{display:block;width:100%;height:auto;object-fit:contain}
.fm-home-nav{display:flex;justify-content:center;align-items:center;gap:clamp(16px,3.1vw,52px);white-space:nowrap}
.fm-home-nav button,.fm-home-nav a{position:relative;padding:10px 0;border:0;background:transparent;color:#111a2e;text-decoration:none;font-size:16px;cursor:pointer}
.fm-home-nav .is-current{color:#005fff;font-weight:700}
.fm-home-nav .is-current:after{position:absolute;right:0;bottom:3px;left:0;height:2px;background:#0876f9;content:""}
.fm-home-top-cta,.fm-home-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 28px;border:0;border-radius:999px;background:linear-gradient(100deg,#075cff,#0577ff);color:#fff;font-size:17px;font-weight:800;box-shadow:0 8px 22px #0876f955;cursor:pointer}
.fm-home-top-cta{justify-self:end;min-width:270px}
.fm-home-top-cta span,.fm-home-primary span{font-size:24px;line-height:1}
.fm-home-top-cta-label-full,.fm-home-top-cta-label-short{font-size:inherit!important;line-height:inherit!important}
.fm-home-top-cta-label-short{display:none}
.fm-home-login-cta{background:linear-gradient(100deg,#075cff,#0577ff)!important;color:#fff!important}
.fm-home-menu{display:none}
.fm-home-feature-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,1.02fr);gap:12px;align-items:stretch}
.fm-home-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:432px;overflow:hidden;border:1px solid #d9efff;border-radius:16px;background:#fff}
.fm-home-hero:after{position:absolute;z-index:-1;top:-20%;right:19%;width:15%;height:145%;transform:skew(-34deg);background:linear-gradient(90deg,#e8f6ff 0 40%,#9fdcff 41% 68%,#1786ff 69% 100%);opacity:.8;content:""}
.fm-home-hero-copy{z-index:1;align-self:center;padding:34px 18px 34px 40px}
.fm-home-eyebrow{color:#0066ff;font-size:14px;font-weight:800;letter-spacing:.3em}
.fm-home-hero h1{margin:15px 0 12px;color:#080f25;font-size:clamp(44px,4.1vw,72px);font-weight:900;letter-spacing:-.06em;line-height:.91;overflow-wrap:normal}
.fm-home-hero h1 span{color:#0967f5}
.fm-home-hero-copy p{max-width:440px;margin:0 0 17px;color:#19233a;font-size:clamp(16px,1.35vw,20px);line-height:1.33}
.fm-home-hero-copy .fm-home-primary{min-height:56px;padding:0 28px;font-size:17px}
.fm-home-hero-photo{position:relative;z-index:-2;align-self:stretch;min-width:0;overflow:hidden;background:#d9eeff}
.fm-home-hero-photo img{display:block;width:100%;height:100%;min-height:432px;object-fit:cover;object-position:53% 17%;}
.fm-home-book{display:grid;grid-template-columns:minmax(190px,.86fr) minmax(0,1fr);align-items:center;gap:20px;min-width:0;padding:22px 26px;border:1px solid #0799ff;border-radius:16px;background:radial-gradient(ellipse at 20% 20%,#12385f 0,#06264b 43%,#001630 100%);color:#fff;box-shadow:inset 0 0 35px #007bce18}
.fm-home-book-art{height:340px;min-width:0;overflow:hidden;border-radius:4px;background:#071a2b;box-shadow:9px 13px 22px #0008}
.fm-home-book-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 21%}
.fm-home-book-copy{min-width:0}
.fm-home-pill{display:inline-block;margin-bottom:14px;padding:7px 18px;border:1px solid #057edb;border-radius:999px;color:#12aaff;font-size:12px;font-weight:800;letter-spacing:.26em}
.fm-home-book h2{margin:0 0 11px;color:#fff;font-size:clamp(26px,2.15vw,40px);font-weight:800;line-height:1.05;letter-spacing:-.03em;overflow-wrap:normal}
.fm-home-book-copy p{margin:0 0 14px;color:#f3f6fc;font-size:clamp(15px,1.35vw,20px);line-height:1.38}
.fm-home-book-price{display:block;margin:0 0 16px;color:#00a3ff;font-size:clamp(25px,2vw,36px);line-height:1.1}
.fm-home-book .fm-home-primary{width:100%;min-height:54px;padding:0 18px;font-size:16px;white-space:nowrap}
.fm-home-products{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:12px;align-items:stretch}
.fm-home-product{position:relative;display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);align-items:center;gap:16px;min-width:0;min-height:246px;padding:19px 20px;border:1px solid #c8e6ff;border-radius:16px;background:linear-gradient(130deg,#fff 0,#fafdff 100%);box-shadow:0 5px 18px #001a361c;overflow:hidden}
.fm-home-product-copy{position:relative;z-index:1;align-self:center;min-width:0}
.fm-home-number{float:left;display:grid;place-items:center;width:46px;height:46px;margin:0 12px 10px 0;border-radius:50%;background:linear-gradient(135deg,#0785ff,#0755ef);color:#fff;font-size:20px;font-weight:800;box-shadow:0 3px 12px #0876f955}
.fm-home-product h2{min-height:46px;display:flex;align-items:center;margin:0 0 11px;color:#11192c;font-size:clamp(18px,1.6vw,25px);line-height:1.08;letter-spacing:-.025em}
.fm-home-product p{clear:both;margin:0 0 14px;color:#24324e;font-size:clamp(13px,1.1vw,17px);line-height:1.42}
.fm-home-outline{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:43px;padding:0 16px;border:1px solid #8bcaff;border-radius:999px;background:#f2faff;color:#006bff;font-size:14px;font-weight:800;white-space:nowrap;cursor:pointer}
.fm-home-outline span{font-size:18px}
.fm-app-preview{min-width:0;overflow:hidden;border:1px solid #8fcaff;border-radius:12px;background:#f5fbff;box-shadow:0 7px 18px #063e6722;transform:perspective(800px) rotateY(-2deg)}
.fm-app-preview-top{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:linear-gradient(95deg,#063961,#0a6cbb);color:#fff;font-size:10px}
.fm-app-preview-top span{color:#59c8ff}
.fm-app-preview-body{padding:10px 11px 8px}
.fm-app-preview-body>small{color:#0982c8;font-size:7px;font-weight:800;letter-spacing:.12em}
.fm-app-preview-body h3{margin:4px 0;color:#17273e;font-size:13px;letter-spacing:0;overflow-wrap:normal}
.fm-app-preview-body>p{margin:0 0 8px;color:#597087;font-size:8px;line-height:1.3}
.fm-app-preview-columns{display:grid;grid-template-columns:1.1fr .9fr;gap:7px}
.fm-app-session,.fm-app-calendar{min-width:0;padding:8px;border:1px solid #e0edf7;border-radius:8px;background:#fff}
.fm-app-session small{display:block;margin-bottom:4px;color:#1384c8;font-size:6px;font-weight:800}
.fm-app-session strong,.fm-app-session span{display:block;color:#1d3049;font-size:9px}
.fm-app-session span{margin:3px 0 5px;color:#64778a;font-size:7px}
.fm-app-session button{min-height:19px;padding:3px 6px;border:0;border-radius:4px;background:#0d6fb9;color:#fff;font-size:7px}
.fm-app-calendar>strong{display:block;margin-bottom:6px;color:#25384f;font-size:8px}
.fm-app-calendar>div{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.fm-app-calendar i,.fm-app-calendar b{display:grid;place-items:center;min-width:0;aspect-ratio:1;border-radius:3px;background:#f0f6fc;color:#6e8295;font-size:6px;font-style:normal}
.fm-app-calendar b{background:#e3f2ff;color:#0879cf;font-size:9px}
.fm-app-preview-stats{display:flex;justify-content:space-between;gap:4px;margin-top:7px;padding-top:6px;border-top:1px solid #e1edf6}
.fm-app-preview-stats>span{display:flex;gap:4px;color:#0982c8;font-size:13px}
.fm-app-preview-stats small{color:#637991;font-size:6px;line-height:1.3}
.fm-app-preview-stats b{color:#1768a7;font-size:7px}
.fm-app-preview-tabs{display:flex;justify-content:space-around;padding:6px 2px;border-top:1px solid #e0edf7;background:#fff;color:#346b9d;font-size:7px}
.fm-home-ebook-product{grid-template-columns:minmax(155px,.7fr) minmax(0,1.3fr)}
.fm-home-product-cover{height:207px;justify-self:center;max-width:175px;overflow:hidden;box-shadow:7px 9px 16px #071b3033}
.fm-home-product-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 21%}
.fm-home-footer{display:grid;justify-items:center;gap:10px;padding-top:0}
.fm-home-site-link{display:flex;align-items:center;justify-content:center;gap:12px;min-width:320px;min-height:52px;padding:0 28px;border:1px solid #0c9cff;border-radius:999px;background:linear-gradient(100deg,#075cff,#047dff);color:#fff;text-decoration:none;font-size:20px;font-weight:800;box-shadow:0 5px 18px #057bff55}
.fm-home-site-link>span{font-size:25px}
.fm-home-socials{display:flex;justify-content:center;align-items:center;gap:26px;width:100%;padding-top:9px;border-top:1px solid #bddaff;color:#fff}
.fm-home-socials a{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:22px;font-weight:800}
.fm-home-socials a span{font-size:14px;font-weight:400}
.fm-home-socials>i{height:24px;border-left:1px solid #bed6f6}
@media(max-width:1100px){
 .shell:has(.fm-home){width:min(100% - 28px,1000px);padding-top:14px}
 .fm-home-header{grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:10px;padding:10px 18px}
 .fm-home-brand{width:min(100%,320px)}
 .fm-home-nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:clamp(20px,5vw,58px);padding-bottom:3px}
 .fm-home-top-cta{grid-column:2;grid-row:1;min-width:0;min-height:50px;padding:0 19px;font-size:15px}
 .fm-home-feature-grid{grid-template-columns:1fr}
 .fm-home-hero{min-height:390px}
 .fm-home-hero-photo img{min-height:390px}
 .fm-home-book{grid-template-columns:minmax(170px,.56fr) minmax(0,1fr);min-height:320px;padding:20px 30px}
 .fm-home-book-art{width:min(100%,230px);height:276px;justify-self:center}
 .fm-home-products{grid-template-columns:1fr}
 .fm-home-product{grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);min-height:225px}
 .fm-home-product h2{font-size:22px}
 .fm-home-product p{font-size:15px}
 .fm-home-product-cover{height:194px}
}
@media(max-width:700px){
 .shell:has(.fm-home){width:100%;padding:10px 12px 18px}
 .fm-home{gap:10px}
 .fm-home-header{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px 10px;min-height:0;padding:10px 12px;border-radius:14px}
 .fm-home-brand{width:min(100%,200px)}
 .fm-home-nav{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;gap:9px;width:100%;overflow-x:auto;scrollbar-width:none}
 .fm-home-nav::-webkit-scrollbar{display:none}
 .fm-home-nav button,.fm-home-nav a{padding:8px 1px;font-size:13px}
 .fm-home-nav .is-current:after{bottom:2px}
 .fm-home-top-cta{grid-column:2;grid-row:1;justify-self:end;min-height:42px;padding:0 12px;font-size:12px}
 .fm-home-top-cta span{font-size:17px}
 .fm-home-top-cta-label-full{display:none}
 .fm-home-top-cta-label-short{display:inline}
 .fm-home-menu{display:none}
 .fm-home-feature-grid{gap:10px}
 .fm-home-hero{grid-template-columns:1fr;min-height:0}
 .fm-home-hero:after{top:0;right:11%;width:18%;height:62%;transform:skew(-34deg);opacity:.3}
 .fm-home-hero-copy{padding:24px 22px 18px}
 .fm-home-eyebrow{font-size:11px;letter-spacing:.27em}
 .fm-home-hero h1{margin:12px 0 10px;font-size:clamp(42px,11vw,64px)}
 .fm-home-hero-copy p{max-width:42ch;margin-bottom:14px;font-size:15px;line-height:1.4}
 .fm-home-hero-copy .fm-home-primary{min-height:48px;padding:0 19px;font-size:14px}
 .fm-home-hero-photo{z-index:0;height:clamp(245px,65vw,360px);}
 .fm-home-hero-photo img{min-height:0;height:100%;object-position:50% 22%}
 .fm-home-book{grid-template-columns:minmax(105px,.68fr) minmax(0,1.32fr);gap:14px;min-height:0;padding:17px 14px;border-radius:14px}
 .fm-home-book-art{height:clamp(165px,48vw,225px);width:100%}
 .fm-home-pill{margin-bottom:9px;padding:5px 11px;font-size:9px;letter-spacing:.22em}
 .fm-home-book h2{margin-bottom:8px;font-size:clamp(20px,5.5vw,28px)}
 .fm-home-book-copy p{margin-bottom:10px;font-size:13px;line-height:1.35}
 .fm-home-book-price{margin-bottom:11px;font-size:23px}
 .fm-home-book .fm-home-primary{min-height:43px;padding:0 10px;font-size:12px}
 .fm-home-book .fm-home-primary span{font-size:17px}
 .fm-home-products{gap:10px}
 .fm-home-product{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:10px;min-height:0;padding:15px 12px;border-radius:14px}
 .fm-home-product-copy{align-self:center}
 .fm-home-number{width:38px;height:38px;margin-right:9px;margin-bottom:8px;font-size:16px}
 .fm-home-product h2{min-height:38px;margin-bottom:9px;font-size:19px}
 .fm-home-product p{margin-bottom:11px;font-size:13px;line-height:1.32}
 .fm-home-outline{min-height:39px;gap:6px;padding:0 11px;font-size:12px}
 .fm-app-preview{transform:none}
 .fm-app-preview-body{padding:8px 7px 6px}
 .fm-app-preview-body h3{font-size:11px}
 .fm-app-preview-body>p{font-size:7px}
 .fm-app-preview-stats{display:none}
 .fm-app-preview-tabs{font-size:6px}
 .fm-home-ebook-product{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
 .fm-home-product-cover{width:min(100%,152px);height:clamp(155px,43vw,205px)}
 .fm-home-footer{gap:9px}
 .fm-home-site-link{min-width:0;width:min(100%,350px);min-height:46px;font-size:17px}
 .fm-home-socials{gap:12px;padding-top:8px}
 .fm-home-socials a{gap:6px;font-size:19px}
 .fm-home-socials a span{font-size:11px}
 .fm-home-socials>i{height:19px}
}

@media(max-width:390px){
 .fm-home-header{padding:9px}
 .fm-home-brand{width:min(100%,170px)}
 .fm-home-top-cta{padding:0 8px;font-size:10px}
 .fm-home-nav{gap:7px}
 .fm-home-nav button,.fm-home-nav a{font-size:12px}
 .fm-home-hero-copy{padding:21px 17px 16px}
 .fm-home-book{grid-template-columns:94px minmax(0,1fr);gap:11px;padding:13px 10px}
 .fm-home-book-art{height:160px}
 .fm-home-book h2{font-size:19px}
 .fm-home-book-copy p{font-size:12px}
 .fm-home-book-price{font-size:20px}
 .fm-home-book .fm-home-primary{font-size:11px}
 .fm-home-product{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:7px;padding:12px 9px}
 .fm-home-product h2{font-size:16px}
 .fm-home-product p{font-size:11px}
 .fm-home-number{width:34px;height:34px;margin-right:7px;font-size:14px}
 .fm-home-outline{min-height:36px;padding:0 8px;font-size:10px}
 .fm-app-calendar{display:none}
 .fm-app-preview-columns{grid-template-columns:1fr}
 .fm-home-socials{gap:8px}
 .fm-home-socials a span{font-size:9px}
}

/* Favoris : des dossiers compacts comme dans la bibliothèque, ouverts à la demande. */
.favorite-workout-card{padding:0!important;overflow:hidden;}
.favorite-workout-folder{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:15px 16px;border:0;background:transparent;color:#632b32;text-align:left;cursor:pointer;}
.favorite-workout-folder:hover{background:rgba(255,255,255,.45);}
.favorite-workout-folder:focus-visible{outline:3px solid #d95757;outline-offset:-3px;}
.favorite-workout-folder-copy{display:grid;gap:2px;min-width:0;}
.favorite-workout-folder-copy strong{font-size:18px;line-height:1.15;overflow-wrap:anywhere;}
.favorite-workout-folder-copy small{color:#8a5960;font-size:13px;line-height:1.2;}
.favorite-workout-folder-copy em{color:#bd3e48;font-size:12px;font-style:normal;font-weight:700;line-height:1.2;}
.favorite-workout-folder .arrow{font-size:25px;line-height:1;color:#bd3e48;}
.favorite-workout-expanded{padding:0 16px 16px;border-top:1px solid #f0d7d9;}
.favorite-workout-expanded .favorite-workout-items{margin:14px 0;}
@media(max-width:699px){
  .favorite-workout-folder{gap:10px;padding:12px 13px;}
  .favorite-workout-folder .favorite-workout-heart{width:40px;height:40px;border-radius:12px;font-size:21px;}
  .favorite-workout-folder-copy strong{font-size:16px;}
  .favorite-workout-folder-copy small,.favorite-workout-folder-copy em{font-size:11px;}
  .favorite-workout-expanded{padding:0 13px 13px;}
}

/* Harmonise les prix des pages Application et E-book. */
.shell:has(.purchase-page) .purchase-price span{
  color:#1977b8!important;
  font-size:13px!important;
  font-weight:800!important;
}
.fm-market-page>.ebook-page .ebook-page-price strong{
  font-weight:900!important;
}

/* Dernière priorité : cartes d’échauffement et d’étirements plus compactes. */
.shell:has(.warmup-grid) .warmup-card{
  padding:9px!important;
  border-radius:12px!important;
}
.shell:has(.warmup-grid) .warmup-card img{
  display:block!important;
  width:min(100%,220px)!important;
  height:80px!important;
  max-height:80px!important;
  margin:0 auto 6px!important;
  object-fit:contain!important;
}
.shell:has(.warmup-grid) .warmup-card h3{
  font-size:15px!important;
  line-height:1.15!important;
  margin:3px 0!important;
}
.shell:has(.warmup-grid) .warmup-card>span{
  font-size:11px!important;
  line-height:1.2!important;
}
@media (max-width:699px){
  .shell:has(.warmup-grid) .warmup-grid{gap:8px!important;margin-top:10px!important;}
  .shell:has(.warmup-grid) .warmup-card{padding:8px!important;}
  .shell:has(.warmup-grid) .warmup-card img{
    width:min(100%,180px)!important;
    height:68px!important;
    max-height:68px!important;
    margin-bottom:5px!important;
  }
  .shell:has(.warmup-grid) .warmup-card h3{font-size:14px!important;}
  .shell:has(.warmup-grid) .warmup-card>span{font-size:10px!important;}
}

/* Mobile exercise density adjustments are intentionally scoped to phone widths. */

/* Corrections demandées sur ordinateur et tablette uniquement. */
@media (min-width:700px){
  /* Compensation du dézoom global à 90 % pour centrer la barre sur la fenêtre. */
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock{
    left:55.5556vw!important;
    right:auto!important;
  }

  /* Boutons de la page « Votre accès à vie » courts et proportionnés. */
  .shell:has(.purchase-page) .purchase-link,
  .shell:has(.purchase-page) #lifetime-status .primary,
  .shell:has(.purchase-page) .purchase-page>button.secondary.section{
    width:fit-content!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    padding:10px 22px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    white-space:nowrap!important;
  }

  /* Valeur de poids sélectionnée : encart blanc, texte noir. */
  .progress-panel .weight-evolution-card .weigh-point-value{
    background:#fff!important;
    color:#142536!important;
    border-color:#cfe3ef!important;
    box-shadow:0 5px 14px rgba(20,61,88,.12)!important;
  }
  /* Surclasse la règle générale du thème qui force le texte blanc. */
  .shell .progress-panel .weight-evolution-card .weigh-point-value{
    color:#142536!important;
  }

  /* Accueil et Profil : pied de page centré par rapport à la page. */
  .shell:has(.home-dashboard) .pwa-tools,
  .shell:has(.profile-heading) .pwa-tools{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    text-align:center!important;
  }
  .shell:has(.home-dashboard) .pwa-tools>a,
  .shell:has(.home-dashboard) .pwa-tools>button,
  .shell:has(.profile-heading) .pwa-tools>a,
  .shell:has(.profile-heading) .pwa-tools>button{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .shell:has(.home-dashboard) .pwa-tools .pwa-socials,
  .shell:has(.home-dashboard) .pwa-tools .legal-links,
  .shell:has(.profile-heading) .pwa-tools .pwa-socials,
  .shell:has(.profile-heading) .pwa-tools .legal-links{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .shell:has(.home-dashboard) .pwa-tools .note,
  .shell:has(.profile-heading) .pwa-tools .note{
    width:100%!important;
    text-align:center!important;
  }
}

.series-choice{margin:10px 0 14px;padding:12px 14px;border:1px solid #cfe5f4;border-radius:14px;background:#f4fbff}.series-choice label{margin-bottom:5px;color:#145d96}.series-choice select{min-height:44px}.series-choice .note{margin:7px 0 0;color:#557080}.series-choice-workout{margin:14px 0}
.auth-page{max-width:560px;margin:0 auto;padding-bottom:80px}.auth-brand{display:flex;justify-content:center;margin:4px auto 18px}.auth-brand img{width:min(260px,78vw);height:auto;max-height:96px;object-fit:contain}.auth-page h1{margin-bottom:10px}.auth-page>.card{margin-top:24px}.auth-page input{font-size:16px}.auth-status{min-height:24px;margin:0;color:#087fae;font-weight:700}.auth-status.error{color:#b43c4b}.auth-switch{display:block;margin:18px auto 0}.password-field{position:relative;display:flex;align-items:center}.password-field input{width:100%;padding-right:64px}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);z-index:2;width:48px;min-height:48px;padding:10px;border:1px solid #b6d9ef;background:#eef8ff;color:#126da8;border-radius:12px;display:grid;place-items:center;cursor:pointer}.password-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.password-toggle:hover{background:#dcefff}

@media (min-width:1100px){
  .shell:not(:has(.welcome-poster-page)){max-width:1440px;margin:24px auto;padding:38px 62px 54px 276px;border-radius:30px;}
  .shell:not(:has(.welcome-poster-page))>.top{margin-bottom:34px;padding-bottom:22px;}
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock{position:absolute;left:30px;top:118px;bottom:auto;transform:none;width:210px;display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:12px;border-radius:24px;}
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock button{display:flex;align-items:center;justify-content:flex-start;gap:13px;width:100%;min-height:58px;padding:11px 15px;border-radius:15px;text-align:left;}
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock .dock-emoji{width:30px;height:30px;flex:0 0 30px;font-size:25px;text-align:center;}
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock .dock-label{font-size:14px;}
  .shell:not(:has(.welcome-poster-page)) .formwrap{max-width:1080px;margin:0;}
  .shell:not(:has(.welcome-poster-page)) .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
  .shell:not(:has(.welcome-poster-page)) .card{border-radius:22px;padding:28px;}
  .shell:has(.welcome-poster-page){max-width:1220px;margin:24px auto;padding:0;border-radius:30px;overflow:hidden;}
  .welcome-poster-page{grid-template-columns:minmax(0,740px) minmax(320px,1fr);}
  .welcome-logo-heading{grid-column:1;padding:26px 30px 12px;}
  .welcome-logo-heading img{width:min(100%,680px);}
  .welcome-poster{grid-column:1;}
  .ebook-welcome-offer{grid-column:2;grid-row:1 / span 2;padding:42px 34px;background:linear-gradient(155deg,#101923,#183b55);}
  .ebook-welcome-cover{width:min(100%,280px);height:365px;}
  .ebook-welcome-copy{max-width:390px;}
}

.profile-summary strong{white-space:normal;overflow-wrap:anywhere;font-size:clamp(23px,4.5vw,30px)}.profile-image-label{min-height:44px}.metrics.category-global{background:#e2f1ff}.metrics.category-global small,.metrics.category-global strong{color:#185e93}.nav.compact-dock button.active{color:#58b9ff}
@media(min-width:1080px){.shell:not(:has(.welcome-poster-page)) .nav.compact-dock{display:flex;flex-direction:column;grid-template-columns:none}.shell:not(:has(.welcome-poster-page)) .nav.compact-dock button{width:100%;min-height:68px}}

.lifetime-status{margin:14px 0;color:#075c9c;border:1px solid #b6daf5;background:#eef8ff}.lifetime-status p{margin:0;line-height:1.5}.lifetime-status .primary{margin-top:12px;position:relative;z-index:2;pointer-events:auto;cursor:pointer}.lifetime-status.error{color:#933;border-color:#ecc}

.language-footer{display:flex;justify-content:center;margin-top:28px;padding:16px 0 8px;border-top:1px solid #e2eaf1}.language-footer-controls{display:flex;justify-content:center;width:100%}.language-switch{position:static;z-index:auto;min-width:48px;min-height:38px;padding:7px 12px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(20,37,54,.92);color:#fff;font:inherit;font-size:13px;font-weight:800;letter-spacing:.04em;cursor:pointer;box-shadow:0 5px 14px rgba(11,34,52,.18)}.language-switch:hover{background:#1685df}.language-switch:focus-visible{outline:3px solid #1685df;outline-offset:3px}.pwa-tools .language-footer-controls{flex-basis:100%;order:20;margin-top:6px}.shell:has(.welcome-poster-page) .language-footer{border-top-color:rgba(255,255,255,.28)}

/* Dossier « Tous les exercices » : jaune, distinct du dossier karting violet. */
.exercise-folder.folder-blue{background:#fffdf7!important;border-left-color:#f8ae28!important}
.folder-blue .folder-icon{background:#fff4d6!important;color:#e3a500!important}
.folder-blue em{color:#e3a500!important}

/* Navigation unifiée : même barre inférieure sur téléphone, tablette et ordinateur. */
@media (min-width:700px){
  .shell:not(:has(.welcome-poster-page)){padding-left:40px!important;padding-bottom:150px!important;}
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock{
    position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:18px!important;
    transform:translateX(-50%)!important;width:min(780px,calc(100% - 48px))!important;
    display:flex!important;flex-direction:row!important;align-items:stretch!important;gap:4px!important;
    height:54px!important;min-height:54px!important;padding:3px 10px!important;border-radius:22px!important;z-index:50;
  }
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock button{
    flex:1 1 0!important;width:auto!important;height:46px!important;min-width:0!important;min-height:46px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;
    gap:1px!important;padding:2px 5px!important;text-align:center!important;border-radius:15px!important;
  }
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock .dock-emoji{
    width:auto!important;height:20px!important;flex:0 0 20px!important;font-size:21px!important;line-height:20px!important;text-align:center!important;
  }
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock .dock-label{font-size:11px!important;line-height:1.1;letter-spacing:0!important;}
}

@media (min-width:700px) and (max-width:1099px){
  .shell:not(:has(.welcome-poster-page)){max-width:1100px!important;margin:16px auto!important;padding:28px 32px 150px!important;border-radius:24px!important;}
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock{width:calc(100% - 32px)!important;bottom:12px!important;}
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock .dock-label{font-size:11px!important;}
  .bilan-dashboard{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:16px!important;}
  .bilan-right{grid-column:2!important;grid-row:2!important;display:block!important;}
}

/* Téléphone : affichage un peu plus compact, sans changer l’organisation validée. */
@media (max-width:650px){
  .shell{padding-left:16px!important;padding-right:16px!important;}
  h1{font-size:29px;}
  .card{padding:18px;}
  .timer-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:stretch;}
  .timer-actions button{width:100%;min-width:0;margin:0!important;padding:12px 8px;font-size:14px;}
}

/* Les commandes du minuteur restent parfaitement alignées sur tous les écrans. */
.timer-actions{align-items:stretch;}
.timer-actions button{margin:0;}

/* Présentation desktop/tablette : composition plus nette et plus équilibrée. */
@media (min-width:700px){
  .shell:has(.welcome-poster-page){max-width:1280px!important;padding:16px!important;background:linear-gradient(135deg,#f8fbff,#edf6fb)!important;overflow:hidden!important;}
  .welcome-poster-page{display:grid!important;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr)!important;gap:18px!important;align-items:stretch!important;padding:18px!important;background:transparent!important;}
  .welcome-logo-heading{grid-column:1 / -1!important;padding:8px 18px 2px!important;background:transparent!important;}
  .welcome-logo-heading img{width:min(55%,560px)!important;margin:0 auto!important;}
  .welcome-poster{grid-column:1!important;align-self:stretch!important;border-radius:24px!important;overflow:hidden!important;box-shadow:0 14px 34px rgba(35,79,110,.16)!important;}
  .ebook-welcome-offer{grid-column:2!important;grid-row:2!important;position:relative!important;top:auto!important;align-self:stretch!important;display:grid!important;grid-template-columns:140px minmax(0,1fr)!important;gap:22px!important;padding:30px!important;border-radius:24px!important;background:linear-gradient(145deg,#101923,#183b55)!important;box-shadow:0 14px 34px rgba(14,31,46,.2)!important;}
  .ebook-welcome-cover{width:140px!important;height:230px!important;margin:0!important;}
  .ebook-welcome-copy{max-width:none!important;align-self:center!important;}
  .ebook-welcome-copy h2{font-size:clamp(26px,2.8vw,38px)!important;}
  .ebook-welcome-copy p{font-size:15px!important;line-height:1.5!important;}
  .ebook-welcome-button{min-height:50px!important;}
  .profile-heading h1{position:absolute!important;left:-9999px!important;}
  .profile-heading{min-height:150px!important;}
  .bilan-right{display:flex!important;flex-direction:column!important;gap:18px!important;}
  .planner-page{max-width:1000px!important;margin:0 auto!important;}
  .planner-page>h1{font-size:clamp(32px,4vw,44px)!important;margin:10px 0 18px!important;text-transform:none!important;}
  .planner-levels{gap:8px!important;}
  .planner-day{min-height:145px!important;padding:8px!important;}
  .planner-session-row{padding:10px!important;}
}
@media (min-width:700px) and (max-width:1099px){
  .welcome-poster-page{grid-template-columns:1fr!important;}
  .ebook-welcome-offer{grid-column:1!important;grid-row:auto!important;grid-template-columns:150px minmax(0,1fr)!important;}
  .ebook-welcome-cover{width:150px!important;height:230px!important;}
  .bilan-right{grid-column:2!important;grid-row:2!important;}
}

/* Libellé du planning : seule la première lettre reste en capitale. */
.planner-page>h1{text-transform:lowercase!important;}
.planner-page>h1::first-letter{text-transform:uppercase!important;}

.planned-info-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:8px;}
.calendar-start-session{min-height:40px;padding:8px 14px;font-size:13px;}
.planned-info-actions .link-button{margin:0;}
.exercise-planning-panel{margin-top:18px;border:1px solid #cfe5f4;background:linear-gradient(145deg,#f5fbff,#ffffff);}
.exercise-planning-panel h3{margin:4px 0 6px;color:#173d57;}
.exercise-plan-list{margin:10px 0 16px;padding-left:20px;color:#345366;}
.exercise-plan-list li+li{margin-top:4px;}
.exercise-plan-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:14px 0;}
.exercise-plan-fields label{margin:0;}
.exercise-plan-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.exercise-plan-actions .primary{min-width:210px;}
.exercise-plan-entry{margin-top:8px;}

@media (max-width:699px){
  .planned-info-actions{justify-content:flex-start;}
  .exercise-plan-fields{grid-template-columns:1fr;}
  .exercise-plan-actions{align-items:stretch;}
  .exercise-plan-actions .primary{width:100%;min-width:0;}
}

/* Identité et commandes plus nettes sur tablette/ordinateur. */
@media (min-width:700px){
  .shell:not(:has(.welcome-poster-page))>.top{position:relative;justify-content:center;}
  .shell:not(:has(.welcome-poster-page))>.top .brand{flex:0 0 auto;width:min(420px,52vw);max-width:420px;margin:0 auto;}
  .shell:not(:has(.welcome-poster-page))>.top .brand-wordmark{display:none;}
  .shell:not(:has(.welcome-poster-page))>.top .desktop-top-logo{display:block;width:100%;height:auto;}
  .shell:not(:has(.welcome-poster-page))>.top .admin-entry{position:absolute;right:0;top:50%;transform:translateY(-50%);}
  .shell:not(:has(.welcome-poster-page)) .primary.full,
  .shell:not(:has(.welcome-poster-page)) .secondary.full,
  .shell:not(:has(.welcome-poster-page)) .purchase-link{width:min(100%,760px);margin-left:auto;margin-right:auto;}
  .shell:not(:has(.welcome-poster-page)) .timer-actions{display:grid;grid-template-columns:minmax(170px,220px) minmax(220px,1fr);gap:12px;align-items:stretch;justify-content:center;}
  .shell:not(:has(.welcome-poster-page)) .timer-actions>button{width:100%;min-width:0;min-height:54px;margin:0!important;display:flex;align-items:center;justify-content:center;white-space:nowrap;}
}

.profile-heading{position:relative;overflow:hidden;background-image:linear-gradient(100deg,rgba(248,252,255,.95) 0%,rgba(235,246,255,.88) 58%,rgba(221,239,250,.76) 100%),var(--profile-backdrop,none);background-size:cover;background-position:center;}
.profile-heading::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 45%,rgba(255,255,255,.18));}
.profile-heading>*{position:relative;z-index:1;}
.profile-avatar-emoji{font-size:45px;line-height:1;}
.profile-personalization{margin:0 0 26px;padding:18px 20px;border-color:#d8edf8;background:#fbfdff;}
.profile-personalization-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.profile-personalization-head strong,.profile-personalization-head span{display:block;}
.profile-personalization-head strong{font-size:18px;color:#19394d;}
.profile-personalization-head span{font-size:13px;color:#5f7180;margin-top:4px;}
.profile-background-upload{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid #bad9ee;border-radius:12px;background:#eef8ff;color:#116da5;font-size:13px;font-weight:700;cursor:pointer;}
.profile-background-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;}
.profile-background-option{min-height:72px;border:2px solid transparent;border-radius:14px;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px #ffffff88;position:relative;overflow:hidden;padding:0;}
.profile-background-option span{position:absolute;left:8px;right:8px;bottom:7px;padding:3px 6px;border-radius:7px;background:#102b3dcc;color:white;font-size:11px;font-weight:700;text-align:left;}
.profile-background-option.selected{border-color:#1685df;box-shadow:0 0 0 2px #1685df44;}
.profile-avatar-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid #e2edf4;}
.profile-avatar-option{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 10px;border:1px solid #d5e4ee;border-radius:999px;background:#fff;color:#345366;}
.profile-avatar-option span{font-size:22px;line-height:1;}
.profile-avatar-option small{font-size:12px;font-weight:700;}
.profile-avatar-option.selected{border-color:#1685df;background:#edf7ff;color:#116da5;box-shadow:0 0 0 2px #1685df22;}

@media (max-width:699px){
  .desktop-top-logo{display:none;}
  .profile-background-options{grid-template-columns:repeat(2,minmax(0,1fr));}
  .profile-personalization{padding:16px;}
  .profile-personalization-head{align-items:flex-start;}
}

/* Calendrier assorti aux graphiques du Bilan. */
.calendar-card{
  background:linear-gradient(145deg,#123b5a,#1f6793)!important;
  border:1px solid #2f82b5!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(18,59,90,.18)!important;
}
.calendar-card h3,
.calendar-card .month-controls strong{color:#fff!important;}
.calendar-card .month-controls button{
  background:#fff!important;
  color:#173a55!important;
  border:1px solid #b9d9ed!important;
  box-shadow:0 4px 12px rgba(6,37,58,.18)!important;
}
.calendar-card .calendar-label{color:#d8ecfa!important;}
.calendar-card .calendar-day{
  background:#fff!important;
  color:#173a55!important;
  border:1px solid #d4e6f3!important;
  box-shadow:0 3px 8px rgba(6,37,58,.14)!important;
}
.calendar-card .calendar-day:hover{background:#eef7fd!important;}
.calendar-card .calendar-day.planned{
  background:#d8f5f3!important;
  color:#146c73!important;
  border-color:#a7ddd9!important;
  box-shadow:inset 0 -4px 0 #28aeb4,0 3px 8px rgba(6,37,58,.14)!important;
  font-weight:800;
}
.calendar-card .calendar-day.planned b{color:#168f95!important;}
.calendar-card .calendar-day.active{
  background:#dff8e8!important;
  color:#17633d!important;
  border-color:#93ddb1!important;
  box-shadow:inset 0 -4px 0 #50c987,0 3px 8px rgba(6,37,58,.14)!important;
  font-weight:800;
}
.calendar-card .calendar-day.active i{color:#22a662!important;font-weight:900;}
.calendar-card .calendar-day.today{outline:3px solid #ffd166!important;outline-offset:1px;}
.calendar-card .calendar-day.selected{outline:3px solid #ffd166!important;outline-offset:1px;}
.calendar-card .calendar-legend{color:#edf7fd!important;}
.calendar-card .calendar-legend span:first-child{color:#a9f1c7!important;}
.calendar-card .calendar-legend span:first-child::before{background:#50c987!important;}
.calendar-card .calendar-legend span:last-child{color:#bcefed!important;}
.calendar-card .calendar-detail{
  background:#fff!important;
  color:#173a55!important;
  border:1px solid #c8dfed!important;
}
.calendar-card>.secondary.full{
  background:#fff!important;
  color:#173a55!important;
  border-color:#fff!important;
  box-shadow:0 5px 14px rgba(6,37,58,.2)!important;
}
.calendar-card .planned-info{background:#e8f8f7!important;border-left-color:#28aeb4!important;}

/* Correctif demandé : les jours réalisés restent bleus ; seul le repère de validation est vert. */
.calendar-day.active{background:#dcefff!important;color:#145d96!important;box-shadow:inset 0 -3px 0 #1685df!important;}
.calendar-day.active i{color:#2fa568!important;font-weight:900;}
.calendar-legend span:first-child{color:#197344;}

/* Programme personnalisé en vert clair, distinct du dossier général jaune et du karting violet. */
.folder-personalized{background:linear-gradient(135deg,#e8f8ef,#f7fcf9)!important;border-left-color:#43b978!important;}
.folder-personalized .folder-icon{background:#d5f2e1!important;color:#21834d!important;}
.folder-personalized em{color:#21834d!important;}
.session-done-mark{font-size:30px;color:#2fa568!important;font-weight:900;}
.session-status-detail{margin:8px 0 0;color:#5a6f7d;font-size:14px;}
.session-status-detail.is-complete{color:#197344;font-weight:800;}

/* Sur ordinateur et tablette, les gros boutons gardent leur taille confortable sans remplir toute la page. */
@media (min-width:700px){
  .shell:not(:has(.welcome-poster-page)) .primary.full,
  .shell:not(:has(.welcome-poster-page)) .secondary.full,
  .shell:not(:has(.welcome-poster-page)) .purchase-link,
  .shell:not(:has(.welcome-poster-page)) .ebook-buy,
  .shell:not(:has(.welcome-poster-page)) .lifetime-offer .primary{display:block!important;width:min(100%,640px)!important;margin-left:auto!important;margin-right:auto!important;text-align:center;}
}

/* Validation d’une séance et activité du calendrier : repères verts très lisibles. */
.session-complete-badge{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;margin-bottom:14px;padding:9px 14px;border-radius:999px;background:#e3f7eb;color:#197344;border:1px solid #9dd7b5;font-size:15px;font-weight:800;box-shadow:0 4px 12px rgba(25,115,68,.12);}
.hero.session-complete{border:2px solid #83cfa3;background:linear-gradient(135deg,#e8f8ef,#dff3ea);}
.hero.session-complete h2{color:#174c32!important;}
.calendar-legend span:first-child{display:inline-flex;align-items:center;gap:5px;color:#197344;font-weight:700;}
.calendar-legend span:first-child::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:#2fa568;}
.social-instagram svg{fill:none;stroke:currentColor;stroke-width:1.8;}
.social-instagram svg circle:last-child{fill:currentColor;stroke:none;}
@media (min-width:700px){
  .shell:not(:has(.welcome-poster-page)) .primary.full,
  .shell:not(:has(.welcome-poster-page)) .secondary.full,
  .shell:not(:has(.welcome-poster-page)) .purchase-link{display:block!important;text-align:center;}
  .shell:not(:has(.welcome-poster-page)) .calendar-card{padding:28px;}
  .shell:not(:has(.welcome-poster-page)) .calendar-grid{gap:8px;margin-top:20px;}
  .shell:not(:has(.welcome-poster-page)) .calendar-day{min-height:54px;font-size:14px;border-radius:12px;}
  .shell:not(:has(.welcome-poster-page)) .calendar-label{font-size:12px;}
}

/* Lisibilité des écrans demandés : séance terminée en bleu clair et graphiques sur fond bleu. */
.hero.session-complete{border-color:#8fc8ee;background:linear-gradient(135deg,#eaf6ff,#dcefff);}
.hero.session-complete h2{color:#163c5d!important;}

.progress-panel>.grid>section.card{
  background:linear-gradient(145deg,#123b5a,#1f6793);
  border:1px solid #2f82b5;
  color:#fff;
  box-shadow:0 12px 28px rgba(18,59,90,.16);
}
.progress-panel>.grid>section.card h3,
.progress-panel>.grid>section.card label,
.progress-panel>.grid>section.card .progress-numbers strong,
.progress-panel>.grid>section.card .progress-numbers small,
.progress-panel>.grid>section.card .weight-history,
.progress-panel>.grid>section.card .weight-history strong,
.progress-panel>.grid>section.card summary,
.progress-panel>.grid>section.card p:not(.note){color:#fff!important;}
.progress-panel>.grid>section.card select,
.progress-panel>.grid>section.card input{background:#fff;color:#173a55;border-color:#a9d4ef;}
.progress-panel>.grid>section.card .progress-chart{background:#fff;border-radius:14px;padding:12px;box-sizing:border-box;}
.progress-panel>.grid>section.card .progress-chart text{fill:#294b63!important;}
.progress-panel>.grid>section.card .progress-chart line{stroke:#d4e2ec!important;}
.progress-panel>.grid>section.card .progress-chart polyline{stroke:#116da8!important;}
.progress-panel>.grid>section.card .progress-chart .weigh-dot{fill:#1685df!important;}
.progress-panel>.grid>section.card .progress-chart rect{fill:#1685df!important;}
.progress-panel>.grid>section.card .weigh-point-value{background:#eef8ff;color:#163f5c;}
.progress-panel>.grid>section.card details{border-color:#8eb8d2;}
.progress-panel>.grid>section.card .note{color:#d6e8f6!important;}
.shell:has(.bilan-dashboard)>h1{text-transform:none!important;}

/* Bibliothèque : favoris personnels et présentation allégée. */
.exercise-folder.folder-favorites{background:linear-gradient(135deg,#fff1f1,#fffafa)!important;border-left-color:#d95757!important;}
.folder-favorites .folder-icon{background:#ffe0e0!important;color:#c73f48!important;}
.folder-favorites em{color:#bd3e48!important;}
.favorite-workout-card{padding:22px;border:1px solid #f0c7ca;border-left:6px solid #d95757;border-radius:20px;background:linear-gradient(135deg,#fffafa,#fff1f1);box-shadow:0 8px 22px rgba(181,63,72,.08);}
.favorite-workout-card h2{margin:0;font-size:22px;color:#632b32;}
.favorite-workout-head{display:flex;align-items:center;gap:13px;}
.favorite-workout-head p{margin:2px 0 0;color:#8a5960;}
.favorite-workout-heart,.favorite-empty-heart{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#ffdfe1;color:#c73f48;font-size:25px;}
.favorite-workout-items{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0;}
.favorite-workout-items span{padding:6px 10px;border-radius:999px;background:#fff;color:#75454c;border:1px solid #f1cdd0;font-size:13px;}
.favorite-workout-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.favorite-workout-actions .primary{background:#d95757;color:#fff;box-shadow:0 5px 14px rgba(217,87,87,.2);}
.favorite-workout-actions .secondary{border-color:#e7aeb4;color:#a83c48;background:#fff;}
.favorite-workout-actions .linkbtn{color:#ad3c46;}
.favorite-edit-summary{display:grid;gap:16px;}
.favorite-edit-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.favorite-edit-summary-head strong{color:#632b32;}
.favorite-edit-summary .favorite-workout-items{margin:0;}
.favorite-workout-items span{display:inline-flex;align-items:center;gap:7px;}
.favorite-workout-items span button{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:#ffe0e0;color:#ad3c46;font-size:17px;line-height:1;cursor:pointer;}
.favorite-edit-picker{display:grid;gap:12px;}
.favorite-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.favorite-edit-option{display:flex;align-items:center;gap:10px;min-width:0;padding:11px;text-align:left;color:#162536;background:#fff;border:1px solid #e3b6b6;border-radius:16px;cursor:pointer;}
.favorite-edit-option:hover,.favorite-edit-option.selected{border-color:#c9515d;background:#fff5f5;box-shadow:0 0 0 2px rgba(201,81,93,.12);}
.favorite-edit-option img{width:58px;height:58px;flex:0 0 58px;object-fit:contain;border-radius:10px;background:#f7f8f5;}
.favorite-edit-option span{display:grid;gap:2px;min-width:0;flex:1;}
.favorite-edit-option strong,.favorite-edit-option small{overflow-wrap:anywhere;}
.favorite-edit-option small{color:#607076;font-size:12px;}
.favorite-edit-option>b{color:#b33b4b;font-size:12px;white-space:nowrap;}
.favorite-save-button{background:#fff0f0!important;color:#b83c49!important;border:1px solid #efb7bc!important;}
.completed-workout-card{max-width:820px;margin-left:auto;margin-right:auto;text-align:center;border:1px solid #c9e3f4;background:linear-gradient(135deg,#f7fcff,#eaf6ff);}
.completed-workout-card h1{margin-top:10px;}
.completed-workout-check{display:grid;place-items:center;width:64px;height:64px;margin:0 auto;border-radius:50%;background:#dff4e8;color:#20804c;font-size:38px;font-weight:900;}
.completed-workout-items{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:20px 0 24px;}
.completed-workout-items span{padding:7px 11px;border-radius:999px;background:#fff;border:1px solid #c8e2f2;color:#35647e;font-size:13px;}
.workout-progress{display:flex;align-items:center;gap:12px;margin:12px 0 20px;max-width:620px;}
.workout-progress-track{height:12px;flex:1;overflow:hidden;border-radius:999px;background:#d8e9f3;box-shadow:inset 0 1px 3px rgba(20,74,108,.14);}
.workout-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1685df,#5bc3ff);box-shadow:0 0 12px rgba(22,133,223,.68);transition:width .35s ease;}
.workout-progress small{min-width:max-content;color:#286487;font-weight:800;}
.favorite-empty-heart{margin:0 auto 14px;font-size:28px;}
.favorites-list{display:grid;gap:16px;max-width:820px;margin-left:auto;margin-right:auto;}
#category-picker{display:none!important;}
@media(max-width:650px){.favorite-workout-card{padding:17px}.favorite-workout-actions{align-items:stretch}.favorite-workout-actions button{width:100%}.favorite-edit-grid{grid-template-columns:1fr}.favorite-edit-summary-head .primary{width:100%}.daily-workout-actions{flex-wrap:wrap}.daily-workout-actions .favorite-save-button{order:3;flex-basis:100%;}.daily-workout-actions .primary{min-width:0;}.daily-workout-actions .linkbtn{margin-left:auto;}}

/* Images de profil plus compactes et nettes, avec une tuile supplémentaire Forme/Énergie. */
#profile-image-control{flex-basis:98px;}
.profile-image-pick{width:88px;height:88px;}
.profile-image-pick img{display:block;width:100%;height:100%;image-rendering:auto;object-fit:cover;object-position:center center!important;}
.profile-avatar-empty{display:grid;place-items:center;width:100%;height:100%;font-size:42px;color:#1685df;font-weight:300;}
.profile-background-options{grid-template-columns:repeat(3,minmax(0,1fr));}
.profile-background-options:empty{display:none;}
.profile-background-option{min-height:64px;background-repeat:no-repeat;background-size:cover;background-position:center;}
.profile-background-action{cursor:pointer;}
.profile-background-clear{background:#fff;color:#b44b4b;border-color:#e5bcbc;}
.profile-avatar-quick{margin-top:18px;display:grid;gap:7px;}
.profile-avatar-quick>span{color:#526875;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.profile-avatar-quick>div{display:flex;gap:6px;flex-wrap:wrap;}
.profile-avatar-quick-option{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #c8dce9;border-radius:50%;background:#fff;font-size:19px;cursor:pointer;}
.profile-avatar-quick-option.selected{border:2px solid #1685df;background:#e5f4ff;box-shadow:0 0 0 2px #1685df22;}
.profile-avatar-quick-option:last-child{font-size:21px;color:#b44b4b;}
.profile-summary-avatar-badge{display:inline-grid;place-items:center;width:34px;height:34px;margin-left:8px;vertical-align:middle;border:1px solid #b9ddf4;border-radius:50%;background:#fff;font-size:22px;line-height:1;box-shadow:0 3px 8px rgba(22,133,223,.12);}
.profile-personalization-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.profile-avatar-option-clear{color:#a94a4a!important;border-color:#e5bcbc!important;}
.profile-avatar-option-clear.selected{background:#fff3f3!important;border-color:#c96b6b!important;box-shadow:0 0 0 2px #c96b6b22!important;}
.profile-personalization{display:none!important;}
@media(max-width:699px){
  #profile-image-control{flex-basis:92px;}
  .profile-image-pick{width:82px;height:82px;}
  .profile-background-options{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Filtres d’exercices : bandes plus courtes, contenu centré et lisible. */
.goal-workout-picker{display:none!important;}
.category-picker{width:min(100%,760px);margin:9px auto 20px;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px;}
.category-picker button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:58px;padding:8px 14px;text-align:center;}
.category-picker button strong{font-size:15px;}
.category-picker button>span:last-child{font-size:20px;justify-self:auto;}
.category-picker-icon{width:32px!important;height:32px!important;}
@media(max-width:650px){.category-picker{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.category-picker button{min-height:54px;padding:7px 8px;gap:6px}.category-picker button strong{font-size:13px}.category-picker-icon{width:29px!important;height:29px!important;}}
@media(max-width:375px){.category-picker{grid-template-columns:1fr}.category-picker button{min-height:52px;}}

/* Profil simplifié : une carte compacte, sans panneau de personnalisation. */
.profile-heading{
  min-height:218px!important;
  padding:22px 28px!important;
  grid-template-columns:minmax(0,1fr) minmax(132px,154px)!important;
  gap:22px!important;
}
.profile-summary-label{display:flex;align-items:center;gap:8px;}
.profile-summary-avatar-badge{display:inline-grid;place-items:center;width:32px;height:32px;margin:0;flex:0 0 32px;font-size:21px;line-height:1;vertical-align:middle;}
.profile-summary strong{font-size:clamp(26px,3.1vw,34px)!important;margin-bottom:11px!important;}
.profile-summary-field{margin-top:7px!important;}
.profile-summary-field em{font-size:13px!important;}
.profile-summary-field b{font-size:clamp(19px,2vw,22px)!important;}
.profile-image-pick{width:132px!important;height:132px!important;}
@media(max-width:699px){
  .profile-heading{grid-template-columns:minmax(0,1fr) 112px!important;gap:12px!important;padding:18px 14px!important;min-height:0!important;}
  .profile-summary-label{font-size:15px!important;letter-spacing:.08em!important;}
  .profile-summary-avatar-badge{width:28px;height:28px;flex-basis:28px;font-size:18px;}
  .profile-summary strong{font-size:clamp(22px,6vw,29px)!important;margin-bottom:8px!important;}
  .profile-summary-field{margin-top:6px!important;}
  .profile-summary-field em{font-size:12px!important;}
  .profile-summary-field b{font-size:17px!important;}
  .profile-image-pick{width:104px!important;height:104px!important;}
}

/* Planning ordinateur/tablette : vue plus compacte, téléphone inchangé. */
@media(min-width:700px){
  .planner-page,.formwrap:has(.planner-page){max-width:980px!important;}
  .planner-page>h1{font-size:clamp(30px,3.3vw,40px)!important;margin:8px 0 18px!important;}
  .planner-page .planner-toolbar{gap:14px;margin-bottom:14px;}
  .planner-page .planner-toolbar select{min-height:46px;}
  .planner-page .planner-count-box{min-height:68px;padding-left:16px;}
  .planner-page .planner-count-box>strong{font-size:31px;}
  .planner-page .planner-levels{gap:7px;padding:7px;margin-bottom:16px;}
  .planner-page .planner-level{padding:9px 10px;gap:8px;}
  .planner-page .planner-level-bars{width:42px;height:42px;padding:8px;gap:3px;}
  .planner-page .planner-week-controls{margin:13px 0 8px;}
  .planner-page .planner-week-controls>strong{font-size:18px;}
  .planner-page .planner-week-arrow{width:48px;height:48px;font-size:25px;}
  .planner-page .planner-week-strip{gap:6px;padding-bottom:11px;}
  .planner-page .planner-day{min-height:136px;padding:7px 6px;}
  .planner-page .planner-day-head span{font-size:13px;}
  .planner-page .planner-day-head strong{font-size:20px;}
  .planner-page .planner-session-row{min-height:64px;padding:8px 10px;}
}

/* Accueil final : bande de prochaine séance, séances du jour séparées et calendrier lisible. */
.home-dashboard-layout{display:block!important;}
.home-session-card{min-height:190px!important;padding:20px 28px!important;justify-content:center!important;}
.home-session-card h2{max-width:58%!important;font-size:clamp(26px,3vw,38px)!important;line-height:1.06!important;margin:7px 0 6px!important;}
.home-session-description{max-width:58%!important;font-size:14px!important;line-height:1.25!important;margin:0 0 8px!important;}
.home-session-level{font-size:14px!important;margin:0 0 6px!important;}
.home-session-progress{width:min(58%,300px)!important;height:7px!important;margin-bottom:10px!important;}
.home-session-actions{gap:12px!important;}
.home-session-actions .secondary{min-height:42px!important;padding:9px 16px!important;font-size:14px!important;}
.home-session-card>img{right:5%!important;bottom:0!important;width:min(25%,180px)!important;max-height:170px!important;}
.home-home-row{display:grid;grid-template-columns:minmax(250px,1fr) minmax(380px,470px);gap:18px;align-items:start;margin-top:18px;}
.home-left-stack{display:grid;gap:14px;min-width:0;}
.home-today-slot{min-width:0;min-height:0;}
.home-today-slot .plan-notice{height:100%;box-sizing:border-box;margin:0!important;padding:18px!important;border-radius:18px!important;display:grid!important;grid-template-columns:1fr auto;align-content:center;gap:9px 14px;background:#eaf4fb;color:#1d4f6e;border:1px solid #c9dfec;}
.home-today-slot .plan-notice strong{font-size:20px;line-height:1.12;}
.home-today-slot .plan-notice span{grid-column:1;}
.home-today-slot .plan-notice .linkbtn{grid-column:2;grid-row:1 / span 2;align-self:center;}
.home-calendar-slot{min-width:0;display:flex;}
.home-calendar-slot>.calendar-card{width:100%;max-width:470px;margin:0!important;padding:18px!important;}
.home-calendar-slot .calendar-grid{gap:5px!important;margin-top:12px!important;}
.home-calendar-slot .calendar-day{min-height:40px!important;font-size:12.5px!important;border-radius:9px!important;}
.home-left-stack .home-summary-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:0!important;}
.home-left-stack .home-summary-card{width:100%;padding:14px 16px;}
@media(max-width:699px){
 .home-session-card{min-height:205px!important;padding:18px!important;}
 .home-session-card h2{max-width:60%!important;font-size:25px!important;}
 .home-session-description{max-width:60%!important;font-size:13px!important;}
 .home-session-level{font-size:13px!important;}
 .home-session-progress{width:60%!important;}
 .home-session-card>img{right:2%!important;width:32%!important;max-height:145px!important;}
 .home-session-actions{gap:7px!important;}
 .home-session-actions .secondary{width:auto!important;min-height:40px!important;padding:8px 12px!important;font-size:13px!important;}
 .home-session-actions .linkbtn{font-size:13px!important;}
 .home-home-row{grid-template-columns:1fr;gap:14px;margin-top:14px;}
 .home-left-stack{gap:12px;}
 .home-today-slot .plan-notice{min-height:92px;grid-template-columns:1fr auto;padding:14px!important;}
 .home-today-slot .plan-notice strong{font-size:17px;}
 .home-calendar-slot>.calendar-card{max-width:none;padding:16px!important;}
 .home-calendar-slot .calendar-grid{gap:4px!important;margin-top:13px!important;}
 .home-calendar-slot .calendar-day{min-height:38px!important;font-size:13px!important;}
}

/* Intention mentale du jour : remplace le résumé redondant des exercices validés. */
.home-intention-card{align-items:flex-start!important;cursor:default!important;}
.home-intention-card:hover{transform:none!important;border-color:#dce8f0!important;}
.home-summary-mental{background:#eee9ff;color:#6742a3;}
.home-intention-content{align-items:stretch!important;gap:8px!important;}
.home-intention-input{width:100%;min-height:42px;box-sizing:border-box;resize:vertical;border:1px solid #c8ddea;border-radius:10px;background:#fbfdff;color:#162536;font:inherit;font-size:14px;line-height:1.3;padding:9px 10px;}
.home-intention-input::placeholder{color:#6d8290;}
.home-intention-input:focus{outline:2px solid rgba(22,133,223,.2);border-color:#1685df;}
.home-intention-card i b{background:#1685df!important;transition:width .2s ease,background .2s ease;}
.home-intention-card.is-complete{border-color:#7dc99a;background:#f3fbf5;}
.home-intention-card.is-complete .home-summary-mental{background:#dff5e6;color:#21804a;}
.home-intention-card.is-complete i b{background:#2fa568!important;}
.home-intention-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.home-intention-actions button{font:inherit;font-size:12px;font-weight:700;border-radius:999px;padding:8px 12px;cursor:pointer;}
.home-intention-save{border:0;background:#1685df;color:#fff;}
.home-intention-achieve{border:1px solid #9ec9e3;background:#fff;color:#145d96;}
.home-intention-achieve:disabled{opacity:.55;cursor:not-allowed;}
.home-intention-card.is-complete .home-intention-achieve{border-color:#7dc99a;background:#e3f7eb;color:#21804a;}
@media(max-width:699px){
 .home-intention-input{min-height:38px;font-size:13px;}
 .home-intention-actions button{font-size:11px;padding:7px 10px;}
}

/* Carte « Votre profil » : même présentation claire et lisible sur mobile, tablette et ordinateur. */
.profile-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(160px,190px);
  align-items:center;
  gap:28px;
  min-height:270px;
  padding:30px 34px;
  border:2px solid #1685df!important;
  border-radius:24px;
  background:linear-gradient(135deg,#f3fbff 0%,#e4f4ff 100%);
  box-shadow:0 10px 26px rgba(22,133,223,.1);
}
.profile-heading h1{display:none;}
.profile-summary{gap:0;justify-content:center;}
.profile-summary-label{
  margin-bottom:12px;
  color:#1685df;
  font-size:20px;
  line-height:1.1;
  letter-spacing:.12em;
  font-weight:800;
}
.profile-summary strong{
  margin-bottom:18px;
  color:#142536;
  font-size:clamp(30px,4vw,44px);
  line-height:1.05;
  white-space:normal;
}
.profile-summary-field{display:block;margin-top:11px;}
.profile-summary-field em{display:block;color:#526875;font-size:15px;font-style:normal;line-height:1.2;}
.profile-summary-field b{display:block;color:#142536;font-size:25px;line-height:1.15;}
.profile-summary-field small{font-size:.68em;font-weight:500;}
#profile-image-control{flex-basis:auto;width:100%;}
.profile-image-pick{width:164px;height:164px;margin-bottom:9px;border-width:4px!important;}
.profile-image-label{color:#1685df!important;font-size:14px;font-weight:800;}
#profile-image-control small{color:#526875;font-size:11px;}
@media(max-width:699px){
  .profile-heading{grid-template-columns:minmax(0,1fr) minmax(128px,150px);gap:16px;min-height:0;padding:24px 18px;border-radius:22px;}
  .profile-summary-label{font-size:16px;letter-spacing:.1em;}
  .profile-summary strong{margin-bottom:12px;font-size:clamp(26px,7vw,34px);}
  .profile-summary-field{margin-top:9px;}
  .profile-summary-field em{font-size:13px;}
  .profile-summary-field b{font-size:20px;}
  .profile-image-pick{width:132px;height:132px;}
  .profile-avatar-quick{margin-top:13px;}
}
@media(max-width:380px){
  .profile-heading{grid-template-columns:minmax(0,1fr) 116px;gap:10px;padding:20px 14px;}
  .profile-image-pick{width:108px;height:108px;}
  .profile-summary strong{font-size:25px;}
  .profile-summary-field b{font-size:18px;}
}

/* Bilan : cartes ciblées en bleu foncé, graphiques conservés sur fond blanc. */
.progress-panel .weight-evolution-card,
.progress-panel .activity-validations-card{
  background:linear-gradient(145deg,#123b5a 0%,#1f6793 100%)!important;
  border:1px solid #2f82b5!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(18,59,90,.18);
}
.progress-panel .weight-evolution-card h3,
.progress-panel .weight-evolution-card label,
.progress-panel .weight-evolution-card p:not(.note),
.progress-panel .weight-evolution-card summary,
.progress-panel .weight-evolution-card .weight-history,
.progress-panel .weight-evolution-card .weight-history strong,
.progress-panel .activity-validations-card h3,
.progress-panel .activity-validations-card label,
.progress-panel .activity-validations-card p:not(.note),
.progress-panel .activity-validations-card summary,
.progress-panel .activity-validations-card .progress-numbers strong,
.progress-panel .activity-validations-card .progress-numbers small{
  color:#fff!important;
}
.progress-panel .weight-evolution-card .progress-chart,
.progress-panel .activity-validations-card .progress-chart{
  display:block;
  background:#fff!important;
  border-radius:14px;
  padding:12px;
  box-sizing:border-box;
}
.progress-panel .weight-evolution-card .progress-chart text,
.progress-panel .activity-validations-card .progress-chart text{fill:#294b63!important;}
.progress-panel .weight-evolution-card .progress-chart line,
.progress-panel .activity-validations-card .progress-chart line{stroke:#d4e2ec!important;}
.progress-panel .weight-evolution-card .progress-chart polyline{stroke:#116da8!important;}
.progress-panel .weight-evolution-card .progress-chart .weigh-dot,
.progress-panel .activity-validations-card .progress-chart rect{fill:#1685df!important;}
.progress-panel .weight-evolution-card .weigh-point-value{background:#eef8ff;color:#163f5c;}
.progress-panel .weight-evolution-card select,
.progress-panel .weight-evolution-card input{background:#fff;color:#173a55;border-color:#a9d4ef;}
.progress-panel .weight-evolution-card .weight-form button.primary{
  background:#1685df!important;
  color:#fff!important;
  border:1px solid #65b7eb!important;
  box-shadow:0 8px 16px rgba(0,0,0,.16);
}
.progress-panel .weight-evolution-card details,
.progress-panel .activity-validations-card details{border-color:#8eb8d2;}
.progress-panel .weight-evolution-card .note,
.progress-panel .activity-validations-card .note{color:#d6e8f6!important;}

/* Mental space: compact overview with the e-book and three coloured focus cards. */
.mental-page{max-width:1000px;margin:0 auto;}
.mental-intro{max-width:780px;margin-top:0;}
.mental-ebook-offer{margin:18px 0 20px;}
.mental-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;align-items:stretch;}
.mental-feature-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:18px;border-radius:20px;box-shadow:0 8px 22px rgba(31,83,117,.06);}
.mental-feature-card h2{margin:0;font-size:20px;line-height:1.18;}
.mental-feature-card>p{margin:0;font-size:14px;line-height:1.4;}
.mental-card-head{display:flex;align-items:center;gap:11px;min-height:50px;}
.mental-card-kicker{color:#628097;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.mental-card-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:16px;}
.mental-card-icon svg{width:27px;height:27px;}
.mental-card-icon-calm{background:#dcf6f4;color:#079896;}
.mental-card-icon-intention{background:#e9edff;color:#5b63d6;}
.mental-card-icon-progress{background:#e2f7eb;color:#26945e;}
.mental-calm-card .breath{width:76px;height:76px;margin:4px auto 0;font-size:12px;background:#dcf6f4;color:#078b89;}
.mental-calm-card .calm-time{font-size:27px;line-height:1.1;}
.mental-calm-card .timer-actions{margin-top:auto;gap:8px;}
.mental-calm-card .timer-actions .primary{flex:1;min-width:105px;padding:11px 12px;min-height:44px;}
.mental-calm-card .timer-actions .reset-timer{flex:1;min-width:120px;padding:11px 10px;min-height:44px;font-size:12px;}
.mental-status{min-height:20px;margin:0!important;color:#21804a!important;font-size:13px!important;}
.mental-intention-card{gap:9px;}
.mental-intention-card label{font-size:13px;margin:0;}
.mental-intention-card textarea{min-height:62px;padding:10px 11px;}
.mental-intention-card input[type=range]{margin:0 0 3px;}
.mental-intention-card .primary{margin-top:auto;min-height:44px;padding:11px 14px;}
.mental-intention-card p[role=status]{min-height:18px;margin:0;font-size:13px;}
.mental-progress-card{gap:13px;}
.mental-progress-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:2px;}
.mental-progress-stats>div{padding:11px 9px;border-radius:14px;background:#f1f8ff;text-align:center;}
.mental-progress-stats strong{display:block;color:#176fa8;font-size:22px;line-height:1.1;}
.mental-progress-stats span{display:block;margin-top:3px;color:#5f7890;font-size:11px;line-height:1.25;}
.mental-latest{margin-top:auto;padding:11px 12px;border-left:4px solid #2fa568;border-radius:0 12px 12px 0;background:#f3fbf5;}
.mental-latest small{display:block;color:#4f7961;font-size:11px;font-weight:700;}
.mental-latest strong{display:block;margin:3px 0;color:#21804a;font-size:20px;}
.mental-latest p{margin:0;color:#4c6555;font-size:13px;line-height:1.35;overflow-wrap:anywhere;}
.mental-empty{margin-top:auto;padding:14px;border-radius:12px;background:#f5f9fc;color:#607789;font-size:13px;}
.mental-journal-card{margin-top:18px;padding:20px;}
.mental-journal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.mental-journal-heading h2{margin:3px 0 0;}
.mental-journal-count{padding:6px 10px;border-radius:999px;background:#eaf4fc;color:#176fa8;font-size:12px;font-weight:800;white-space:nowrap;}
@media(max-width:900px){.mental-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.mental-progress-card{grid-column:1 / -1;}}
@media(max-width:650px){.mental-page{max-width:none;}.mental-card-grid{grid-template-columns:1fr;gap:13px;}.mental-progress-card{grid-column:auto;}.mental-feature-card{padding:17px;}.mental-ebook-offer{margin-top:16px;}.mental-journal-heading{align-items:flex-start;flex-direction:column;gap:6px;}}
/* Mental desktop/tablette : un peu plus d'espace latéral sans toucher au téléphone. */
@media(min-width:700px){.mental-page{max-width:1040px;}}
.progress-panel .weight-evolution-card .range-tabs{
  display:flex;
  gap:5px;
  padding:4px;
  margin:14px 0;
  background:#0d2f4a;
  border:1px solid #367fa8;
  border-radius:12px;
}
.progress-panel .weight-evolution-card .range-tabs button{
  flex:1;
  min-height:40px;
  padding:8px 5px;
  border:1px solid transparent;
  border-radius:9px;
  background:#eaf6ff;
  color:#145d96;
  font-weight:750;
  font-size:14px;
}
.progress-panel .weight-evolution-card .range-tabs button[aria-pressed=true]{
  background:#1685df;
  color:#fff;
  border-color:#75c1ec;
}

/* Avatar : choix restaurés, badge aligné au centre du libellé. */
.profile-summary-label{display:flex!important;align-items:center!important;gap:10px;min-height:32px;line-height:1.1;}
.profile-summary-avatar-badge{align-self:center!important;margin:0!important;transform:none!important;}
.profile-avatar-quick{margin-top:14px!important;}
@media(min-width:700px){
  .profile-heading{min-height:232px!important;padding:24px 28px!important;grid-template-columns:minmax(0,1fr) minmax(132px,154px)!important;gap:22px!important;}
  .profile-summary-label{font-size:18px!important;}
  .profile-summary strong{font-size:clamp(25px,3vw,34px)!important;margin-bottom:10px!important;}
  .profile-image-pick{width:132px!important;height:132px!important;}
}
@media(max-width:699px){.profile-avatar-quick{margin-top:12px!important;}.profile-summary-label{min-height:28px;}}

/* Corrections finales : avatar ouvrable au clic, icône plein corps lisible et affichage réduit sur grands écrans. */
.profile-summary-avatar-badge{
  appearance:none!important;
  cursor:pointer!important;
  padding:0!important;
  border:1px solid #b9ddf4!important;
  background:#fff!important;
  color:#173a55!important;
}
.profile-summary-avatar-badge:hover{box-shadow:0 4px 12px rgba(22,133,223,.2)!important;}
.profile-summary-avatar-badge:focus-visible{outline:3px solid #1685df!important;outline-offset:3px;}
.profile-avatar-quick[hidden]{display:none!important;}
.category-picker button .category-picker-icon{width:40px!important;height:40px!important;object-fit:contain;flex:0 0 40px;}
.category-picker button[data-category="global"] .category-picker-icon{transform:scale(1.45);}

@media(min-width:700px){
  .planner-page>h1{font-size:clamp(25px,2.4vw,34px)!important;line-height:1.08!important;margin:6px 0 14px!important;}
  .planner-page>.eyebrow{font-size:13px!important;}
}
@media(max-width:650px){
  .category-picker button .category-picker-icon{width:34px!important;height:34px!important;flex-basis:34px;}
  .category-picker button[data-category="global"] .category-picker-icon{transform:scale(1.35);}
}


/* La page abonnement/e-book reste complète sans occuper tout l'écran ordinateur/tablette. */
@media(min-width:1100px){
  .shell:has(.welcome-poster-page){max-width:1100px!important;min-height:auto!important;margin:16px auto!important;}
  .welcome-poster-page{grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr)!important;}
  .welcome-logo-heading{padding:16px 22px 6px!important;}
  .welcome-logo-heading img{width:min(68%,620px)!important;margin:0 auto!important;}
  .welcome-poster{max-width:650px!important;justify-self:center!important;}
  .ebook-welcome-offer{padding:28px 24px!important;}
  .ebook-welcome-cover{width:min(100%,220px)!important;height:285px!important;margin-bottom:22px!important;}
  .ebook-welcome-copy h2{font-size:clamp(26px,2.5vw,36px)!important;}
  .ebook-welcome-copy p{font-size:14px!important;}
}
@media(min-width:700px) and (max-width:1099px){
  .shell:has(.welcome-poster-page){max-width:900px!important;min-height:auto!important;margin:12px auto!important;padding:10px!important;}
  .welcome-poster-page{max-width:900px!important;margin:0 auto!important;}
  .welcome-logo-heading{padding:8px 16px 3px!important;}
  .welcome-logo-heading img{width:min(66%,540px)!important;margin:0 auto!important;}
  .welcome-poster{max-width:760px!important;margin-left:auto!important;margin-right:auto!important;}
  .ebook-welcome-offer{padding:24px!important;grid-template-columns:125px minmax(0,1fr)!important;gap:18px!important;}
  .ebook-welcome-cover{width:125px!important;height:205px!important;}
  .ebook-welcome-copy h2{font-size:clamp(24px,3vw,32px)!important;}
  .ebook-welcome-copy p{font-size:14px!important;}
}

/* Tarif permanent : la promotion de lancement est définitivement masquée. */
.welcome-standard-offer{position:absolute;z-index:1;pointer-events:none;box-sizing:border-box;left:4.4%;top:53.1%;width:91.2%;height:30.8%;padding:5.5% 4.1% 3.8%;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-rows:1fr auto;gap:3.5% 4.3%;align-items:center;border:2px solid #1685df;border-radius:clamp(14px,2.3vw,30px);background:linear-gradient(135deg,#fbfdff 0%,#f1faff 57%,#e1f4ff 100%);box-shadow:0 10px 26px rgba(18,100,167,.13);line-height:1.15;color:#12304a;}
.welcome-standard-offer-copy{display:grid;gap:10px;align-self:start;}
.welcome-standard-offer-copy strong{font-size:clamp(20px,4.1vw,42px);letter-spacing:.01em;color:#0a5798;}
.welcome-standard-offer-copy span{max-width:38ch;font-size:clamp(11px,2.05vw,22px);line-height:1.42;color:#334f64;}
.welcome-standard-offer-price{display:grid;justify-items:start;gap:7px;padding-left:8%;border-left:1px solid #bdddf1;}
.welcome-standard-offer-price strong{font-size:clamp(30px,5.7vw,60px);line-height:1;color:#0876df;white-space:nowrap;letter-spacing:-.04em;}
.welcome-standard-offer-price span{padding:5px 10px;border-radius:999px;background:#e5f4ff;color:#176fa9;font-size:clamp(9px,1.45vw,15px);font-weight:700;white-space:nowrap;}
.welcome-standard-offer-cta{grid-column:1/-1;min-height:17%;display:flex;align-items:center;justify-content:center;gap:10px;padding:3.5% 6%;border-radius:clamp(10px,1.8vw,20px);background:linear-gradient(90deg,#0874df,#14a7ed);box-shadow:0 7px 16px rgba(0,116,218,.25);color:#fff;font-size:clamp(15px,2.65vw,28px);font-weight:800;text-align:center;}
.welcome-standard-offer-cta span{font-size:1.25em;line-height:1;}

/* Seulement le titre du planning devient plus léger. */
.planner-page>h1{font-weight:400!important;letter-spacing:-.025em!important;}

/* Sur ordinateur et tablette, la page d’entrée montre les deux offres sans zoom excessif. */
@media(min-width:700px){
  .shell:has(.welcome-poster-page){max-width:980px!important;min-height:auto!important;margin:10px auto!important;padding:8px!important;border-radius:22px!important;}
  .welcome-poster-page{grid-template-columns:minmax(0,1fr) minmax(270px,.72fr)!important;gap:10px!important;padding:8px!important;}
  .welcome-logo-heading{padding:6px 10px 2px!important;}
  .welcome-logo-heading img{width:min(58%,460px)!important;margin:0 auto!important;}
  .welcome-poster{max-width:500px!important;justify-self:center!important;}
  .welcome-poster>img{height:clamp(480px,calc(100vh - 120px),680px)!important;width:auto!important;max-width:100%!important;object-fit:contain!important;object-position:top center!important;}
  .ebook-welcome-offer{padding:18px 16px!important;min-height:0!important;align-self:start!important;position:relative!important;top:auto!important;justify-content:flex-start!important;}
  .ebook-welcome-cover{width:min(100%,180px)!important;height:225px!important;margin-bottom:14px!important;}
  .ebook-welcome-copy h2{font-size:clamp(22px,2.4vw,31px)!important;}
  .ebook-welcome-copy p{font-size:13px!important;line-height:1.35!important;}
  .ebook-welcome-price strong{font-size:30px!important;}
  .ebook-welcome-button{min-height:48px!important;font-size:14px!important;}
}
@media(min-width:1100px){
  .shell:has(.welcome-poster-page){max-width:960px!important;}
  .welcome-poster{max-width:470px!important;}
  .ebook-welcome-offer{padding:16px 14px!important;}
  .ebook-welcome-cover{width:160px!important;height:205px!important;}
}

/* Carte d’accès à vie : elle recouvre proprement l’ancien visuel intégré à l’affiche. */
@media(min-width:700px){
  .welcome-standard-offer{
    left:4%!important;top:52%!important;width:92%!important;height:44%!important;
    padding:18px 16px 14px!important;gap:10px 14px!important;
    grid-template-columns:minmax(0,1fr) minmax(116px,.82fr)!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    overflow:hidden!important;background:#f7fbff!important;
  }
  .welcome-standard-offer-copy{gap:7px!important;min-width:0!important;}
  .welcome-standard-offer-copy strong{font-size:clamp(22px,3.2vw,32px)!important;line-height:1.05!important;}
  .welcome-standard-offer-copy span{font-size:clamp(12px,1.45vw,16px)!important;line-height:1.3!important;}
  .welcome-standard-offer-price{gap:5px!important;padding-left:12px!important;min-width:0!important;}
  .welcome-standard-offer-price strong{font-size:clamp(28px,3.8vw,42px)!important;letter-spacing:-.05em!important;}
  .welcome-standard-offer-price span{font-size:clamp(9px,1.1vw,12px)!important;padding:4px 7px!important;}
  .welcome-standard-offer-cta{min-height:46px!important;padding:10px 12px!important;font-size:clamp(13px,1.65vw,18px)!important;}
}
@media(min-width:700px) and (max-width:1099px){
  .welcome-standard-offer{padding:14px 12px 11px!important;gap:7px 10px!important;grid-template-columns:minmax(0,1fr) minmax(105px,.78fr)!important;}
  .welcome-standard-offer-copy strong{font-size:24px!important;}
  .welcome-standard-offer-copy span{font-size:11px!important;}
  .welcome-standard-offer-price strong{font-size:29px!important;}
  .welcome-standard-offer-cta{font-size:13px!important;min-height:40px!important;}
}

/* L’affiche remplit maintenant son propre bloc, sans grande zone blanche autour. */
@media(min-width:700px){
  .welcome-poster{width:100%!important;max-width:none!important;height:clamp(520px,42vw,620px)!important;overflow:hidden!important;border-radius:22px!important;}
  .welcome-poster>img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center top!important;}
}

/* Accueil ordinateur/tablette : les deux affiches restent entières, compactes et équilibrées. */
@media(min-width:1100px){
  .shell:has(.welcome-poster-page){max-width:830px!important;padding:10px!important;overflow:visible!important;}
  .welcome-poster-page{grid-template-columns:340px 360px!important;justify-content:center!important;align-items:start!important;gap:24px!important;padding:10px!important;}
  .welcome-logo-heading{grid-column:1/-1!important;padding:6px 10px 2px!important;}
  .welcome-poster{grid-column:1!important;width:340px!important;max-width:340px!important;height:auto!important;overflow:visible!important;justify-self:center!important;align-self:start!important;}
  .welcome-poster>img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:initial!important;border-radius:20px!important;}
  .ebook-welcome-offer{grid-column:2!important;grid-row:2!important;align-self:start!important;}
}
@media(min-width:700px) and (max-width:1099px){
  .shell:has(.welcome-poster-page){max-width:730px!important;padding:8px!important;overflow:visible!important;}
  .welcome-poster-page{grid-template-columns:285px 320px!important;justify-content:center!important;align-items:start!important;gap:16px!important;padding:8px!important;}
  .welcome-logo-heading{grid-column:1/-1!important;padding:5px 8px 2px!important;}
  .welcome-poster{grid-column:1!important;width:285px!important;max-width:285px!important;height:auto!important;overflow:visible!important;justify-self:center!important;align-self:start!important;}
  .welcome-poster>img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:initial!important;border-radius:18px!important;}
  .ebook-welcome-offer{grid-column:2!important;grid-row:2!important;align-self:start!important;}
}

/* Même hiérarchie typographique que les titres principaux de l’application. */
.planner-page>h1{font-family:Arial,sans-serif!important;font-size:34px!important;font-weight:800!important;line-height:1.12!important;letter-spacing:-1px!important;margin:9px 0 15px!important;text-transform:none!important;}
@media(max-width:650px){.planner-page>h1{font-size:31px!important;}}

/* Le bandeau objectif reprend le bleu profond des graphiques du bilan. */
.bilan-objective{background:linear-gradient(145deg,#123b5a 0%,#1f6793 100%)!important;border:1px solid #2f82b5!important;color:#fff!important;box-shadow:0 12px 28px rgba(18,59,90,.18)!important;}
.bilan-objective .eyebrow,.bilan-objective h2,.bilan-objective p,.bilan-objective summary,.bilan-objective label,.bilan-objective small{color:#fff!important;}
.bilan-objective details summary{color:#fff!important;}
.bilan-objective details summary::marker{color:#fff!important;}
.bilan-objective button.primary{background:#fff!important;color:#145d96!important;border-color:#fff!important;}

/* Affiche de l’accès à vie : une offre permanente, sans promotion de lancement. */
.welcome-standard-offer{position:absolute!important;z-index:5!important;pointer-events:none!important;box-sizing:border-box!important;left:4.4%!important;top:53.1%!important;width:91.2%!important;height:30.8%!important;padding:4.6% 4.3% 3.7%!important;display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;grid-template-rows:minmax(0,1fr) auto!important;gap:4% 4%!important;align-items:center!important;border:2px solid #237fb5!important;border-radius:clamp(15px,2.3vw,30px)!important;background:linear-gradient(135deg,#ffffff 0%,#f3faff 58%,#dff2ff 100%)!important;box-shadow:0 10px 26px rgba(18,100,167,.15)!important;color:#12354e!important;line-height:1.12!important;}
.welcome-standard-offer-copy{display:grid!important;align-content:start!important;gap:6%!important;min-width:0!important;}
.welcome-standard-offer-copy>span{font-size:clamp(10px,1.05vw,14px)!important;letter-spacing:.09em!important;font-weight:800!important;color:#176fa9!important;}
.welcome-standard-offer-copy strong{font-size:clamp(18px,2.15vw,28px)!important;line-height:1.02!important;letter-spacing:-.035em!important;color:#103d60!important;}
.welcome-standard-offer-copy p{margin:0!important;font-size:clamp(10px,1.05vw,14px)!important;line-height:1.28!important;color:#496a7f!important;}
.welcome-standard-offer-price{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:3%!important;min-width:0!important;padding-left:12%!important;border-left:1px solid #b8dceb!important;}
.welcome-standard-offer-price>span{font-size:clamp(10px,1.05vw,14px)!important;font-weight:800!important;letter-spacing:.08em!important;color:#176fa9!important;}
.welcome-standard-offer-price strong{font-size:clamp(25px,3vw,35px)!important;line-height:.93!important;letter-spacing:-.06em!important;color:#0876df!important;white-space:nowrap!important;}
.welcome-standard-offer-price em{font-size:clamp(9px,.92vw,12px)!important;font-style:normal!important;font-weight:700!important;color:#3d6f8f!important;white-space:nowrap!important;}
.welcome-standard-offer-cta{grid-column:1/-1!important;min-height:clamp(34px,4vw,54px)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding:3.4% 6%!important;border-radius:clamp(10px,1.8vw,20px)!important;background:linear-gradient(90deg,#0874df,#16a7ee)!important;box-shadow:0 7px 16px rgba(0,116,218,.24)!important;color:#fff!important;font-size:clamp(12px,1.45vw,18px)!important;font-weight:800!important;text-align:center!important;}
.welcome-standard-offer-cta b{font-size:1.3em!important;line-height:1!important;}

/* Version compacte de l'offre : proche de l'affiche validée, sans promotion de lancement. */
.welcome-standard-offer{padding:5.3% 4.1% 3.7%!important;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr)!important;grid-template-rows:minmax(0,1fr) auto!important;gap:3.6% 4.5%!important;background:linear-gradient(135deg,#ffffff 0%,#f4fbff 62%,#e5f5ff 100%)!important;border-color:#1685df!important;box-shadow:0 8px 20px rgba(18,100,167,.12)!important;}
.welcome-standard-offer-copy{gap:8px!important;align-content:center!important;}
.welcome-standard-offer-copy strong{font-size:clamp(18px,2.8vw,34px)!important;line-height:1.02!important;letter-spacing:.015em!important;color:#0a5798!important;}
.welcome-standard-offer-copy span{max-width:30ch!important;font-size:clamp(10px,1.25vw,16px)!important;line-height:1.28!important;color:#334f64!important;}
.welcome-standard-offer-price{gap:6px!important;padding-left:10%!important;align-content:center!important;}
.welcome-standard-offer-price strong{font-size:clamp(25px,3.7vw,45px)!important;line-height:.96!important;letter-spacing:-.045em!important;color:#0876df!important;white-space:nowrap!important;}
.welcome-standard-offer-price span{padding:0!important;background:none!important;color:#496a7f!important;font-size:clamp(9px,1.05vw,13px)!important;font-weight:700!important;white-space:nowrap!important;}
.welcome-standard-offer-cta{min-height:clamp(34px,4vw,52px)!important;padding:2.8% 5%!important;border-radius:clamp(10px,1.8vw,20px)!important;font-size:clamp(12px,1.45vw,18px)!important;}

/* Ajustement final : petite carte autonome, qui recouvre entièrement l'ancien encart. */
.welcome-standard-offer{left:10%!important;top:60.5%!important;width:80%!important;height:22.5%!important;padding:4.5% 4.5% 3.5%!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;gap:3% 4%!important;border-width:1.5px!important;border-radius:clamp(10px,1.7vw,20px)!important;box-shadow:0 5px 14px rgba(18,100,167,.14)!important;}
.welcome-standard-offer-copy{gap:5px!important;}
.welcome-standard-offer-copy strong{font-size:clamp(14px,2.15vw,26px)!important;}
.welcome-standard-offer-copy span{font-size:clamp(8px,.95vw,12px)!important;line-height:1.2!important;}
.welcome-standard-offer-price{padding-left:8%!important;gap:3px!important;}
.welcome-standard-offer-price strong{font-size:clamp(17px,2.65vw,31px)!important;letter-spacing:-.035em!important;}
.welcome-standard-offer-price span{font-size:clamp(7px,.8vw,10px)!important;}
.welcome-standard-offer-cta{min-height:clamp(24px,3vw,38px)!important;padding:2% 4%!important;border-radius:clamp(7px,1.2vw,14px)!important;font-size:clamp(9px,1.05vw,13px)!important;}

/* Carte unique : elle masque totalement l'ancienne promotion imprimée dans l'affiche. */
.welcome-standard-offer{left:3.4%!important;top:52.3%!important;width:93.2%!important;height:32.7%!important;padding:5.2% 5.1% 4.4%!important;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;grid-template-rows:minmax(0,1fr) auto!important;gap:5% 5%!important;isolation:isolate!important;border:2px solid #1685df!important;border-radius:clamp(14px,2vw,26px)!important;background:#f8fcff!important;box-shadow:0 9px 22px rgba(12,92,158,.13)!important;}
.welcome-standard-offer-copy{gap:8px!important;align-content:center!important;}
.welcome-standard-offer-copy strong{font-size:clamp(17px,2.7vw,34px)!important;line-height:1!important;letter-spacing:.02em!important;color:#0c5b9b!important;}
.welcome-standard-offer-copy span{max-width:28ch!important;font-size:clamp(9px,1.1vw,14px)!important;line-height:1.32!important;color:#3d5f74!important;}
.welcome-standard-offer-price{align-content:center!important;padding-left:13%!important;gap:5px!important;border-left:1px solid #c5e0f2!important;}
.welcome-standard-offer-price strong{font-size:clamp(23px,3.6vw,46px)!important;line-height:1!important;letter-spacing:-.05em!important;color:#0876df!important;}
.welcome-standard-offer-price span{font-size:clamp(8px,.95vw,12px)!important;color:#47718e!important;}
.welcome-standard-offer-cta{min-height:clamp(32px,3.8vw,48px)!important;padding:3.2% 6%!important;border-radius:clamp(9px,1.5vw,17px)!important;font-size:clamp(11px,1.35vw,17px)!important;}

/* Typographie compacte : tout le contenu reste lisible dans la carte sur ordinateur et tablette. */
.welcome-standard-offer-copy strong{font-size:clamp(13px,1.7vw,20px)!important;line-height:1.06!important;}
.welcome-standard-offer-copy span{font-size:clamp(8px,.85vw,11px)!important;line-height:1.28!important;}
.welcome-standard-offer-price{padding-left:10%!important;gap:3px!important;}
.welcome-standard-offer-price strong{font-size:clamp(18px,2.1vw,26px)!important;letter-spacing:-.03em!important;}
.welcome-standard-offer-price span{font-size:clamp(7px,.76vw,10px)!important;}
.welcome-standard-offer-cta{min-height:clamp(28px,3.2vw,40px)!important;padding:2.7% 5%!important;font-size:clamp(9px,1.05vw,13px)!important;white-space:nowrap!important;}

/* Alignement de la carte avec la typographie de l'affiche et plus d'espace pour le prix. */
.welcome-standard-offer{padding:4.7% 4.3% 4%!important;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)!important;gap:4% 3%!important;font-family:Arial,Helvetica,sans-serif!important;}
.welcome-standard-offer-copy strong{font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(14px,1.8vw,22px)!important;font-weight:900!important;letter-spacing:-.02em!important;}
.welcome-standard-offer-copy span{font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(8px,.9vw,12px)!important;line-height:1.3!important;}
.welcome-standard-offer-price{padding-left:7%!important;gap:4px!important;}
.welcome-standard-offer-price strong{font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(19px,2.25vw,28px)!important;font-weight:900!important;letter-spacing:-.045em!important;}
.welcome-standard-offer-price span{font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(8px,.82vw,11px)!important;}
.welcome-standard-offer-cta{font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(9px,1.1vw,14px)!important;font-weight:800!important;}

/* Libellés de l'offre : titre sur une ligne et trois avantages clairement séparés. */
.welcome-standard-offer-copy strong{white-space:nowrap!important;}
.welcome-standard-offer-benefits{display:grid!important;gap:2px!important;font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(8px,.9vw,12px)!important;font-weight:700!important;line-height:1.18!important;color:#3d5f74!important;}
.welcome-standard-offer-benefits span{display:block!important;white-space:nowrap!important;}


/* Accueil : fond bleu profond du bilan, avec le logo conservé sur son panneau blanc. */
body:has(.welcome-poster-page){background:#123b5a!important;}
.shell:has(.welcome-poster-page){background:linear-gradient(145deg,#123b5a 0%,#1f6793 100%)!important;border:1px solid #2f82b5!important;box-shadow:0 18px 55px rgba(8,34,54,.24)!important;}
.welcome-poster-page{background:transparent!important;}
.welcome-logo-heading{width:max-content;max-width:100%;justify-self:center;padding:10px 22px!important;border-radius:16px;background:#fff!important;box-shadow:0 8px 24px rgba(7,28,44,.18);}
.welcome-logo-heading img{display:block;}
.ebook-welcome-copy h2{font-size:clamp(20px,2.25vw,30px)!important;line-height:1.08!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;}

/* Motifs sportifs discrets sur le fond bleu de l'accueil. */
.shell:has(.welcome-poster-page){
 background-image:radial-gradient(circle,rgba(157,222,255,.2) 1.5px,transparent 2px),repeating-linear-gradient(135deg,transparent 0 42px,rgba(157,222,255,.055) 43px 44px,transparent 45px 88px),linear-gradient(145deg,#123b5a 0%,#1f6793 100%)!important;
 background-size:30px 30px,auto,auto!important;
}
.shell:has(.welcome-poster-page) .pwa-tools a:not(.social-link),
.shell:has(.welcome-poster-page) .pwa-tools .note{color:#fff!important;}

/* La photo choisie reste visible tout en gardant le texte du profil lisible. */
.profile-heading{background-image:linear-gradient(100deg,rgba(248,252,255,.9) 0%,rgba(235,246,255,.58) 58%,rgba(221,239,250,.28) 100%),var(--profile-backdrop,none)!important;}
.profile-heading[data-profile-background="custom"]{background-size:100% 100%,contain!important;background-position:center,center!important;background-repeat:no-repeat,no-repeat!important;background-color:#e8f6ff!important;}
.profile-background-controls{grid-column:1/-1;position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:0;padding:0 2px 2px;border:0;background:transparent;}
.profile-background-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;}
.profile-background-controls .profile-background-upload{min-height:32px;padding:5px 8px;border:0;border-radius:8px;background:rgba(255,255,255,.76);font-size:11px;line-height:1.2;}
.profile-background-controls .profile-background-clear{color:#9b4b4b;}
@media(max-width:699px){.profile-background-controls{padding:0 1px 1px}.profile-background-actions{width:auto;gap:4px}.profile-background-controls .profile-background-upload{flex:0 0 auto;min-height:30px;padding:4px 7px;font-size:10px;}}

/* Recadrage mobile de la photo de profil : aperçu circulaire, glisser-déposer et zoom. */
.profile-crop-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;background:rgba(8,25,39,.72);}
.profile-crop-dialog{width:min(100%,420px);max-height:min(92dvh,760px);overflow:auto;padding:20px;border:1px solid #c9deed;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.3);color:#172c3b;}
.profile-crop-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.profile-crop-dialog>header strong{font-size:19px;}
.profile-crop-close{width:38px;height:38px;min-height:38px;padding:0;border-radius:50%;background:#edf5fb;color:#244a63;font-size:25px;}
.profile-crop-dialog>p{margin:8px 0 16px;color:#536875;font-size:14px;line-height:1.45;}
.profile-crop-viewport{position:relative;width:min(72vw,280px);aspect-ratio:1;margin:0 auto 18px;overflow:hidden;border:3px solid #1685df;border-radius:50%;background:#e8f3fa;touch-action:none;cursor:grab;}
.profile-crop-viewport:active{cursor:grabbing;}
.profile-crop-viewport:focus-visible{outline:3px solid #145d96;outline-offset:4px;}
.profile-crop-viewport img{position:absolute;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none;}
.profile-crop-zoom-label{display:flex;align-items:center;gap:12px;font-weight:700;color:#244a63;}
.profile-crop-zoom-label input{flex:1;accent-color:#1685df;}
.profile-crop-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:9px;margin-top:18px;}
.profile-crop-actions button{min-height:46px;padding:9px 12px;border-radius:11px;font-size:13px;}
@media(max-width:380px){.profile-crop-dialog{padding:16px}.profile-crop-actions{grid-template-columns:1fr}.profile-crop-viewport{width:min(68vw,250px);}}

/* Sur téléphone, l'offre garde sa place dans l'affiche mais resserre ses éléments. */
@media(max-width:699px){
 .welcome-standard-offer{grid-template-rows:minmax(0,1fr) auto!important;align-content:stretch!important;gap:3% 3%!important;padding:4.2% 4.5%!important;}
 .welcome-standard-offer{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;}
 .welcome-standard-offer-copy{height:100%!important;align-content:center!important;gap:clamp(7px,2vw,12px)!important;transform:translateY(-4px);}
 .welcome-standard-offer-copy strong{font-size:clamp(18px,5.5vw,26px)!important;}
 .welcome-standard-offer-copy span{font-size:clamp(12px,3.8vw,16px)!important;line-height:1.25!important;}
 .welcome-standard-offer-price{height:100%!important;justify-content:center!important;padding-left:4%!important;gap:clamp(5px,1.5vw,9px)!important;transform:translateY(5px);}
 .welcome-standard-offer-price strong{font-size:clamp(26px,7vw,34px)!important;}
 .welcome-standard-offer-price span{font-size:clamp(11px,3vw,13px)!important;}
 .welcome-standard-offer-cta{min-height:clamp(36px,9vw,48px)!important;padding:0 10px!important;font-size:clamp(11px,3.2vw,15px)!important;}
}
.profile-edit-toggle{width:100%;min-height:34px!important;margin-top:2px;padding:5px 4px!important;border-radius:9px!important;font-size:11px!important;line-height:1.1!important;white-space:nowrap!important;box-shadow:none!important;}

/* Le détail sélectionné du graphique reprend le bleu de la période active. */
.progress-panel .weight-evolution-card .weigh-point-value{display:flex;align-items:center;min-height:58px;margin:14px 0 0;padding:15px 18px;border:1px solid #75c1ec;border-radius:14px;background:#1685df!important;color:#fff!important;font-size:16px;font-weight:750;line-height:1.35;box-shadow:0 7px 16px rgba(4,57,94,.2);}

/* Profil : commandes photo regroupées et édition des données repliée par défaut. */
#profile-image-control{display:flex!important;flex-direction:column;align-items:center;gap:7px;}
.profile-image-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;}
.profile-image-actions .profile-image-label{min-height:38px;padding:7px 10px;border:1px solid #c5e0f2;border-radius:10px;background:#f3faff;text-decoration:none;cursor:pointer;}
.profile-image-actions .profile-image-label:hover{background:#e4f3ff;}
.profile-edit-toggle{min-height:42px;margin-top:2px;padding:9px 14px;border:1px solid #1685df;border-radius:11px;background:#1685df;color:#fff;font-size:13px;font-weight:800;cursor:pointer;}
.profile-edit-toggle:hover{background:#0d6fbe;}
#profileform[hidden]{display:none!important;}
@media(max-width:699px){.welcome-logo-heading{padding:8px 14px!important;border-radius:12px;}.ebook-welcome-copy h2{font-size:clamp(20px,5.5vw,26px)!important;}.progress-panel .weight-evolution-card .weigh-point-value{font-size:14px;min-height:54px;padding:13px 14px;}#profile-image-control{gap:6px;}.profile-image-actions{gap:5px;}.profile-image-actions .profile-image-label{padding:6px 8px;font-size:12px;}}
.ebook-scroll-cue{transition:opacity .22s ease,visibility .22s ease,transform .22s ease;}
.ebook-scroll-cue.is-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate(-50%,16px)!important;animation:none!important;}

/* Calendrier : violet clair pour les exercices prévus, plus compact sur tablette et ordinateur. */
.calendar-card .calendar-day.planned{background:#eee9ff!important;color:#563a8d!important;border-color:#cbbdff!important;box-shadow:inset 0 -4px 0 #8a6be8,0 3px 8px rgba(6,37,58,.14)!important;}
.calendar-card .calendar-day.planned b{color:#7652d3!important;}
.calendar-card .calendar-planned-key{display:inline-flex;align-items:center;gap:5px;color:#e7deff!important;font-weight:700;}
.calendar-card .calendar-planned-key::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:#a48af0;}

/* Légende compacte : la présentation d'origine, avec l'état « pas fini » à droite. */
.calendar-card .calendar-legend{display:grid!important;grid-template-columns:max-content minmax(0,1fr);grid-template-areas:"completed completed" "planned unfinished";align-items:center;column-gap:16px;row-gap:10px;margin-top:18px;}
.calendar-card .calendar-legend-item{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:15px;font-weight:700;line-height:1.25;white-space:nowrap;}
.calendar-card .calendar-legend-item i{display:inline-block;width:11px;height:11px;flex:0 0 11px;border-radius:3px;font-style:normal;box-shadow:0 2px 5px rgba(6,37,58,.18);}
.calendar-card .calendar-legend-item em{font-style:normal;font-size:18px;line-height:1;font-weight:900;}
.calendar-card .calendar-completed-key{grid-area:completed;color:#a9f1c7!important;}
.calendar-card .calendar-completed-key i{background:#50c987;}
.calendar-card .calendar-completed-key em{color:#a9f1c7;}
.calendar-card .calendar-planned-key{grid-area:planned;color:#e7deff!important;}
.calendar-card .calendar-planned-key::before{content:none!important;}
.calendar-card .calendar-planned-key i{background:#a48af0;}
.calendar-card .calendar-planned-key em{color:#c9bafc;}
.calendar-card .calendar-unfinished-key{grid-area:unfinished;justify-self:start;color:#eee8ff!important;}
.calendar-card .calendar-unfinished-key i{background:#a48af0;}
.calendar-card .calendar-unfinished-key em{color:#7ce3a5;}
@media(max-width:430px){.calendar-card .calendar-legend{column-gap:9px;row-gap:8px;}.calendar-card .calendar-legend-item{gap:5px;font-size:12px;}.calendar-card .calendar-legend-item em{font-size:15px;}.calendar-card .calendar-legend-item i{width:10px;height:10px;flex-basis:10px;}}
@media(min-width:700px){
  .shell:not(:has(.welcome-poster-page)) .home-calendar-layout>.calendar-card{max-width:500px;justify-self:end;padding:20px!important;}
  .shell:not(:has(.welcome-poster-page)) .home-calendar-layout .calendar-grid{gap:6px!important;margin-top:14px!important;}
  .shell:not(:has(.welcome-poster-page)) .home-calendar-layout .calendar-day{min-height:42px!important;font-size:13px!important;border-radius:10px!important;}
  .shell:not(:has(.welcome-poster-page)) .home-calendar-layout .calendar-label{font-size:11px!important;}
}

/* Coche de validation : plus visible dans chaque jour réalisé, sans agrandir les cases. */
.calendar-card .calendar-day.active i{
  right:3px;
  top:-6px;
  font-size:13px;
  line-height:1;
  text-shadow:0 1px 1px rgba(18,59,90,.16);
}
@media(min-width:700px){
  .shell:not(:has(.welcome-poster-page)) .home-calendar-layout .calendar-day.active i{
    right:3px;
    top:-8px;
    font-size:17px;
  }
}

/* Téléphone : le bandeau bleu occupe vraiment toute la partie supérieure. */
@media(max-width:650px){
  .shell:not(:has(.welcome-poster-page))>.top{
    margin-top:-23px!important;
    margin-left:-16px!important;
    margin-right:-16px!important;
    width:calc(100% + 32px)!important;
    padding-top:20px!important;
  }
}

/* Le titre du planning reprend exactement la typographie de la bibliothèque d’exercices. */
.planner-page>h1{
  font-family:Arial,sans-serif!important;
  font-size:34px!important;
  font-weight:700!important;
  line-height:1.12!important;
  letter-spacing:-1px!important;
  margin:9px 0 15px!important;
  text-transform:none!important;
}
@media(max-width:650px){
  .planner-page>h1{font-size:31px!important;}
}

/* Planning responsive : une journée devient verte uniquement lorsque tous ses exercices sont réalisés. */
.planner-page .planner-day.has-session:not(.is-completed):not(.is-today){
  background:#f3f5f8!important;
  border-color:transparent!important;
}
.planner-page .planner-day.is-completed{
  background:#dff5e7!important;
  border-color:#b7e2c6!important;
  box-shadow:inset 0 -3px 0 #9ed5b0!important;
}
.planner-page .planner-day.is-completed .planner-day-head span,
.planner-page .planner-day.is-completed .planner-day-head strong{
  color:#176b3b!important;
}
.planner-page .planner-day.is-completed .planner-day-check{
  background:#1f7a45!important;
  color:#fff!important;
}
.planner-page .planner-session-icon[data-category="bras"]{
  background:#eaf4ff!important;
}
.planner-page .planner-session-icon[data-category="bras"] img{
  content:url("assets/icon-category-arms.png");
}

.legal-links{display:flex;justify-content:center;gap:8px 14px;flex-wrap:wrap;margin-top:10px}.legal-links button{border:0;background:transparent;color:#087fae;text-decoration:underline;cursor:pointer;font:inherit;padding:3px 0}.pwa-tools .legal-links button{color:#fff!important;text-shadow:0 1px 3px #06243dcc}.shell:not(:has(.welcome-poster-page)) .pwa-tools .legal-links button{color:#000!important;text-shadow:none}.legal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;background:rgba(8,22,35,.68);overflow:auto}.legal-dialog{position:relative;width:min(720px,100%);max-height:min(86vh,760px);overflow:auto;padding:28px;border-radius:22px;background:#fff;color:#172b38;box-shadow:0 20px 60px #06111c66}.legal-dialog h2{margin:0 34px 18px 0;color:#123b5a}.legal-copy{line-height:1.6;color:#30434d}.legal-copy p{margin:0 0 14px}.legal-copy a{color:#087fae}.legal-close{position:absolute;top:10px;right:12px;width:38px;height:38px;min-height:38px;padding:0;border:0;border-radius:50%;background:#eaf7ff;color:#123b5a;font-size:28px;line-height:1;cursor:pointer}.legal-open{overflow:hidden}@media(max-width:560px){.legal-dialog{padding:22px 18px;border-radius:18px}.legal-links{gap:6px 10px;font-size:12px}}

/* En-tête FM Performance unifié : même fond bleu texturé sur toutes les pages. */
.shell:has(.home-dashboard)>.top{
  position:relative;
  margin-top:-38px;
  margin-right:-62px;
  margin-left:-62px;
  margin-bottom:34px;
  padding:20px 62px 20px;
  border-bottom:0!important;
  background-image:
    radial-gradient(circle,rgba(157,222,255,.2) 1.5px,transparent 2px),
    repeating-linear-gradient(135deg,transparent 0 42px,rgba(157,222,255,.055) 43px 44px,transparent 45px 88px),
    linear-gradient(145deg,#123b5a 0%,#1f6793 100%);
  background-size:30px 30px,auto,auto;
  box-shadow:0 10px 28px rgba(8,34,54,.18);
}
.shell:not(:has(.welcome-poster-page))>.top .desktop-top-logo{
  display:block;
  width:min(420px,52vw);
  height:auto;
  padding:10px 22px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(7,28,44,.18);
}
.shell:not(:has(.welcome-poster-page))>.top .admin-entry{
  background:#142536!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  box-shadow:0 7px 16px rgba(7,28,44,.2);
}
@media(max-width:1099px){
  .shell:not(:has(.welcome-poster-page))>.top{
    margin-top:-28px;
    margin-right:-32px;
    margin-left:-32px;
    padding:18px 32px;
  }
}
@media(max-width:699px){
  .shell:not(:has(.welcome-poster-page))>.top{
    margin-top:-23px;
    margin-right:-20px;
    margin-left:-20px;
    margin-bottom:24px;
    padding:15px 20px;
    row-gap:12px;
  }
  .shell:not(:has(.welcome-poster-page))>.top .desktop-top-logo{
    width:min(330px,100%);
    padding:8px 14px;
    border-radius:12px;
  }
}

/* Version fidèle à la capture validée : panneau bleu arrondi + grand encart blanc. */
.shell:not(:has(.welcome-poster-page))>.top{
  width:100%!important;
  box-sizing:border-box!important;
  justify-content:center!important;
  margin-top:-18px!important;
  margin-right:0!important;
  margin-left:0!important;
  margin-bottom:28px!important;
  padding:16px 24px!important;
  border:1px solid rgba(157,222,255,.55)!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background-image:
    radial-gradient(circle,rgba(157,222,255,.22) 1.5px,transparent 2px),
    repeating-linear-gradient(135deg,transparent 0 42px,rgba(157,222,255,.07) 43px 44px,transparent 45px 88px),
    linear-gradient(145deg,#123b5a 0%,#1f6793 100%)!important;
  background-size:30px 30px,auto,auto!important;
  box-shadow:0 12px 30px rgba(8,34,54,.2)!important;
}
.shell:has(.home-dashboard)>.top .brand{
  flex:0 0 auto!important;
  width:min(62%,720px)!important;
  max-width:720px!important;
  margin:0 auto!important;
  border-radius:28px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  clip-path:inset(0 round 28px)!important;
  line-height:0!important;
}
.shell:has(.home-dashboard)>.top .desktop-top-logo{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  padding:10px 24px!important;
  border:1px solid rgba(20,37,54,.08)!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(7,28,44,.2)!important;
  overflow:hidden!important;
  clip-path:inset(0 round 28px)!important;
}
@media(min-width:700px){
  .shell:not(:has(.welcome-poster-page))>.top .admin-entry{
    right:24px!important;
  }
}
@media(max-width:699px){
  .shell:has(.home-dashboard)>.top{
    width:calc(100% + 32px)!important;
    margin-left:-16px!important;
    margin-right:-16px!important;
    margin-top:-8px!important;
    margin-bottom:24px!important;
    padding:12px 14px!important;
    border-radius:16px!important;
  }
  .shell:has(.home-dashboard)>.top .brand{
    width:min(94%,520px)!important;
    border-radius:24px!important;
    clip-path:inset(0 round 24px)!important;
  }
  .shell:has(.home-dashboard)>.top .desktop-top-logo{
    width:100%!important;
    height:auto!important;
    padding:8px 16px!important;
    border-radius:24px!important;
    clip-path:inset(0 round 24px)!important;
  }
}

/* Le fond bleu rejoint le haut de l’écran sur téléphone, sans bande blanche. */
@media(max-width:650px){
  .shell:not(:has(.welcome-poster-page))>.top{
    margin-top:-23px!important;
    padding-top:20px!important;
  }
}

/* Téléphone : le bleu clair visible au-dessus continue dans les deux coins du bandeau. */
@media(max-width:650px){
  .shell:not(:has(.welcome-poster-page)){
    background:linear-gradient(to bottom,#2188df 0 52px,#fff 52px)!important;
  }
  .shell:not(:has(.welcome-poster-page))>.top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    justify-items:center!important;
    row-gap:12px!important;
  }
  .shell:not(:has(.welcome-poster-page))>.top .brand{
    grid-column:1!important;
    grid-row:1!important;
    margin:0 auto!important;
  }
  .shell:not(:has(.welcome-poster-page))>.top .admin-entry{
    grid-column:1!important;
    grid-row:2!important;
    justify-self:end!important;
    margin:0 4px 0 0!important;
  }
}

/* Nouvelle hiérarchie de l'accueil : mêmes composants, présentation plus lisible. */
.home-dashboard{width:100%;}
.home-sun{color:#d8921c;}
.home-intro{max-width:850px;margin-top:8px;}
.home-dashboard-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:24px;align-items:stretch;}
.home-session-card{position:relative;min-height:330px;overflow:hidden;padding:30px!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;}
.home-session-card h2{max-width:62%;margin:12px 0 10px!important;font-size:clamp(30px,3.2vw,46px)!important;}
.home-session-description{max-width:62%;margin:0 0 14px!important;font-size:17px;line-height:1.45;}
.home-session-card>img{position:absolute;right:4%;bottom:18px;width:min(40%,250px);max-height:190px;object-fit:contain;object-position:center bottom;}
.home-session-level{display:flex;align-items:center;gap:9px;margin:2px 0 9px;color:#145d96;font-size:16px;}
.home-level-bars{display:inline-flex;align-items:flex-end;gap:3px;height:24px;}
.home-level-bars i{display:block;width:5px;border-radius:3px;background:#1685df;}
.home-level-bars i:nth-child(1){height:9px}.home-level-bars i:nth-child(2){height:16px}.home-level-bars i:nth-child(3){height:23px}
.home-session-progress{width:min(62%,340px);height:9px;border-radius:999px;background:#c8dce9;overflow:hidden;margin-bottom:20px;}
.home-session-progress span{display:block;height:100%;border-radius:inherit;background:#1685df;}
.home-session-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;position:relative;z-index:1;}
.home-session-actions .secondary{background:#1685df!important;color:#fff!important;min-height:50px;padding:12px 20px;}
.home-session-actions .linkbtn{color:#145d96;}
.home-calendar-slot{min-width:0;display:flex;}
.home-calendar-slot>.calendar-card{width:100%;margin:0!important;}
.home-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.home-summary-card{display:flex;align-items:center;gap:14px;min-width:0;padding:18px 20px;border:1px solid #dce8f0;border-radius:18px;background:#fff;color:#162536;text-align:left;box-shadow:0 8px 22px rgba(31,83,117,.06);font:inherit;cursor:pointer;}
.home-summary-card:hover{border-color:#8ec9ee;transform:translateY(-1px);}

/* Exercise details: compact workspace on tablets and desktops so the image,
   instructions, timer, and actions stay visible together. The phone layout
   below 700px keeps its existing spacing and behavior. */
@media (min-width: 700px) {
  .exercise-detail-layout {
    grid-template-columns: minmax(0, .92fr) minmax(340px, 1.08fr);
    gap: 16px;
    align-items: start;
  }
  .exercise-detail-layout > :first-child h1 {
    font-size: clamp(27px, 3vw, 38px);
    line-height: 1.08;
    margin: 6px 0 10px;
  }
  .exercise-detail-layout > :first-child .card.detail-image-card { padding: 8px; }
  .exercise-detail-layout .detail-img { height: 235px; margin: 0; }
  .exercise-detail-layout > .stack { gap: 10px; }
  .exercise-detail-layout .metrics { padding: 10px 12px; gap: 4px; }
  .exercise-detail-layout .card.detail-cue-card { padding: 12px 15px; }
  .exercise-detail-layout .detail-cue-card h3 { font-size: 16px; margin: 0 0 5px; }
  .exercise-detail-layout .detail-cue-card p { font-size: 13px; line-height: 1.35; margin: 5px 0; }
  .exercise-detail-layout .detail-cue-card .note { font-size: 11px; }
  .exercise-detail-layout .card.detail-timer-card { padding: 12px 15px; }
  .exercise-detail-layout .detail-timer-card .series-tracker .row { gap: 8px; }
  .exercise-detail-layout .detail-timer-card .series-tracker p { margin: 4px 0; font-size: 11px; }
  .exercise-detail-layout .detail-timer-card .series-steps { gap: 4px; }
  .exercise-detail-layout .detail-timer-card .series-steps i {
    width: 25px;
    height: 25px;
    flex-basis: 25px;
    font-size: 12px;
  }
  .exercise-detail-layout .detail-timer-card label { font-size: 12px; margin-bottom: 3px; }
  .exercise-detail-layout .detail-timer-card select { padding: 8px 10px; min-height: 40px; }
  .exercise-detail-layout .detail-timer-card .timer { font-size: 42px; line-height: 1.1; margin: 4px 0; }
  .exercise-detail-layout .timer-actions {
    display: grid;
    grid-template-columns: minmax(130px, .65fr) minmax(190px, 1fr) !important;
    gap: 8px !important;
    align-items: stretch;
  }
  .exercise-detail-layout .timer-actions > button {
    width: 100%;
    min-width: 0;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
  }
  .exercise-detail-layout > .stack > .primary.full {
    min-height: 44px;
    padding: 10px 14px;
    font-size: 14px;
  }
  .exercise-detail-layout > .stack > .linkbtn { padding: 5px 8px; font-size: 12px; }
}
.home-summary-card>span:last-child{display:grid;gap:6px;min-width:0;flex:1;}
.home-summary-card small{color:#557080;font-weight:700;font-size:13px;}
.home-summary-card strong{font-size:17px;line-height:1.25;overflow-wrap:anywhere;}
.home-summary-card i{display:block;height:7px;border-radius:999px;background:#e2edf4;overflow:hidden;}
.home-summary-card i b{display:block;height:100%;border-radius:inherit;background:#1685df;}
.home-summary-card:nth-child(2) i b{background:#2fa568;}
.home-summary-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:50%;font-size:24px;background:#e4f2fc;}
.home-summary-dumbbell{background:#e3f7eb;}.home-summary-target{background:#e4f2fc;}
@media(max-width:1099px){
  .home-dashboard-layout{grid-template-columns:minmax(0,1fr) minmax(310px,.86fr);gap:18px;}
  .home-session-card{padding:24px!important;}
  .home-session-card h2{font-size:clamp(28px,4vw,38px)!important;}
  .home-session-card>img{width:36%;right:2%;}
}
@media(max-width:699px){
  .home-dashboard-layout{grid-template-columns:1fr;gap:18px;}
  .home-session-card{min-height:310px;padding:22px!important;}
  .home-session-card h2,.home-session-description{max-width:64%;}
  .home-session-card>img{width:36%;right:2%;bottom:78px;max-height:150px;}
  .home-session-progress{width:64%;}
  .home-session-actions{gap:8px;}
  .home-session-actions .secondary{width:100%;}
  .home-session-actions .linkbtn{margin:0 auto;}
  .home-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .home-summary-card{padding:14px 12px;gap:9px;border-radius:15px;}
  .home-summary-card strong{font-size:14px;}
  .home-summary-card small{font-size:11px;}
  .home-summary-icon{width:38px;height:38px;flex-basis:38px;font-size:19px;}
  .home-summary-card:last-child{grid-column:1 / -1;}
  .home-calendar-slot .calendar-card{padding:20px!important;}
  .home-calendar-slot .calendar-grid{gap:6px;margin-top:16px;}
  .home-calendar-slot .calendar-day{min-height:43px;font-size:14px;border-radius:10px;}
  .home-calendar-slot .calendar-label{font-size:11px;}
  .home-calendar-slot .calendar-card>.secondary.full{width:calc(100% - 18px)!important;min-height:64px!important;margin:10px auto 0!important;padding:8px 14px!important;border-radius:18px!important;font-size:15px!important;line-height:1.18!important;}
}
@media(max-width:430px){
  .home-session-card h2{font-size:28px!important;}
  .home-session-description{font-size:15px;}
  .home-session-card>img{width:34%;bottom:78px;}
  .home-calendar-slot .calendar-card{padding:16px!important;}
  .home-calendar-slot .calendar-grid{gap:4px;margin-top:13px;}
  .home-calendar-slot .calendar-day{min-height:38px;font-size:13px;}
  .home-calendar-slot .calendar-label{font-size:10px;}
}

/* Ordinateur : carte de prochaine séance plus légère et calendrier légèrement réduit. */
@media(min-width:700px){
  .home-session-card{min-height:270px;padding:24px!important;}
  .home-session-card h2{font-size:clamp(24px,2.4vw,34px)!important;line-height:1.08!important;margin:10px 0 8px!important;}
  .home-session-description{font-size:15px;line-height:1.35;}
  .home-session-card>img{width:min(34%,210px);max-height:160px;bottom:12px;}
  .shell:not(:has(.welcome-poster-page)) .home-calendar-layout .home-calendar-slot>.calendar-card{max-width:470px;padding:18px!important;}
  .shell:not(:has(.welcome-poster-page)) .home-calendar-layout .home-calendar-slot .calendar-grid{gap:5px!important;margin-top:12px!important;}
  .shell:not(:has(.welcome-poster-page)) .home-calendar-layout .home-calendar-slot .calendar-day{min-height:40px!important;font-size:12.5px!important;border-radius:9px!important;}
}

/* Accueil final : bande de prochaine séance, séances du jour séparées et calendrier lisible. */
.home-dashboard-layout{display:block!important;}
.home-session-card{min-height:190px!important;padding:20px 28px!important;justify-content:center!important;}
.home-session-card h2{max-width:58%!important;font-size:clamp(26px,3vw,38px)!important;line-height:1.06!important;margin:7px 0 6px!important;}
.home-session-description{max-width:58%!important;font-size:14px!important;line-height:1.25!important;margin:0 0 8px!important;}
.home-session-level{font-size:14px!important;margin:0 0 6px!important;}
.home-session-progress{width:min(58%,300px)!important;height:7px!important;margin-bottom:10px!important;}
.home-session-actions{gap:12px!important;}
.home-session-actions .secondary{min-height:42px!important;padding:9px 16px!important;font-size:14px!important;}
.home-session-card>img{right:5%!important;bottom:0!important;width:min(25%,180px)!important;max-height:170px!important;}
.home-home-row{display:grid;grid-template-columns:minmax(250px,1fr) minmax(380px,470px);gap:18px;align-items:start;margin-top:18px;}
.home-today-slot{min-width:0;min-height:0;}
.home-today-slot .plan-notice{height:100%;box-sizing:border-box;margin:0!important;padding:18px!important;border-radius:18px!important;display:grid!important;grid-template-columns:1fr auto;align-content:center;gap:9px 14px;background:#eaf4fb;color:#1d4f6e;border:1px solid #c9dfec;}
.home-today-slot .plan-notice strong{font-size:20px;line-height:1.12;}
.home-today-slot .plan-notice span{grid-column:1;}
.home-today-slot .plan-notice .linkbtn{grid-column:2;grid-row:1 / span 2;align-self:center;}
.home-calendar-slot{min-width:0;display:flex;}
.home-calendar-slot>.calendar-card{width:100%;max-width:470px;margin:0!important;padding:18px!important;}
.home-calendar-slot .calendar-grid{gap:5px!important;margin-top:12px!important;}
.home-calendar-slot .calendar-day{min-height:40px!important;font-size:12.5px!important;border-radius:9px!important;}
@media(max-width:699px){
 .home-session-card{min-height:205px!important;padding:18px!important;}
 .home-session-card h2{max-width:60%!important;font-size:25px!important;}
 .home-session-description{max-width:60%!important;font-size:13px!important;}
 .home-session-level{font-size:13px!important;}
 .home-session-progress{width:60%!important;}
 .home-session-card>img{right:2%!important;width:32%!important;max-height:145px!important;}
 .home-session-actions{gap:7px!important;}
 .home-session-actions .secondary{width:auto!important;min-height:40px!important;padding:8px 12px!important;font-size:13px!important;}
 .home-session-actions .linkbtn{font-size:13px!important;}
 .home-home-row{grid-template-columns:1fr;gap:14px;margin-top:14px;}
 .home-today-slot .plan-notice{min-height:92px;grid-template-columns:1fr auto;padding:14px!important;}
 .home-today-slot .plan-notice strong{font-size:17px;}
 .home-calendar-slot>.calendar-card{max-width:none;padding:16px!important;}
 .home-calendar-slot .calendar-grid{gap:4px!important;margin-top:13px!important;}
 .home-calendar-slot .calendar-day{min-height:38px!important;font-size:13px!important;}
}

/* Planning : panneau bleu du bilan, cartes blanches et contraste conservé. */
.planner-page .planner-week-controls{
  margin:18px 0 0!important;
  padding:18px 18px 12px!important;
  border-radius:22px 22px 0 0!important;
  background:linear-gradient(145deg,#123b5a 0%,#1f6793 100%)!important;
}
.planner-page .planner-week-controls>strong{color:#fff!important;}
.planner-page .planner-week-arrow{
  background:#fff!important;
  color:#1685df!important;
  box-shadow:0 4px 14px rgba(6,37,58,.18)!important;
}
.planner-page .planner-week-arrow:hover{background:#f5fbff!important;color:#1685df!important;}
.planner-page .planner-week-strip{
  padding:2px 18px 18px!important;
  border-bottom:0!important;
  border-radius:0 0 22px 22px!important;
  background:linear-gradient(145deg,#123b5a 0%,#1f6793 100%)!important;
}
.planner-page .planner-day:not(.is-completed),
.planner-page .planner-day.has-session:not(.is-completed),
.planner-page .planner-day.is-today:not(.is-completed){
  background:#fff!important;
  border-color:#e0ebf2!important;
}
.planner-page .planner-day:not(.is-completed) .planner-day-head,
.planner-page .planner-day:not(.is-completed) .planner-day-head span,
.planner-page .planner-day:not(.is-completed) .planner-day-head strong{
  color:#16202b!important;
}

/* Sélecteur du niveau : même bleu de marque que le panneau du planning. */
.planner-page #training-level{
  background:linear-gradient(145deg,#123b5a 0%,#1f6793 100%)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 4px 14px rgba(6,37,58,.18)!important;
}
.planner-page #training-level option{background:#fff;color:#16202b;}
.planner-page .planner-week-arrow{
  font-size:28px!important;
  font-weight:900!important;
  line-height:1!important;
}

@media(max-width:699px){
  .planner-page .planner-week-controls{padding:12px 10px 8px!important;border-radius:18px 18px 0 0!important;}
  .planner-page .planner-week-strip{padding:1px 10px 12px!important;border-radius:0 0 18px 18px!important;}
}

/* Fiche exercice : réduire aussi l’en-tête de marque sur écran large afin
   que la photo, les consignes et le chrono restent visibles ensemble. */
@media(min-width:700px){
  .shell:has(.exercise-detail-layout)>header.top{
    min-height:0!important;
    margin-bottom:8px!important;
    padding:6px 16px!important;
  }
  .shell:has(.exercise-detail-layout)>header.top .brand{
    width:min(360px,32vw)!important;
    max-width:360px!important;
    margin:0 auto!important;
  }
  .shell:has(.exercise-detail-layout)>header.top .desktop-top-logo{
    width:100%!important;
    height:auto!important;
    max-height:118px!important;
    object-fit:contain!important;
  }
  .shell:has(.exercise-detail-layout)>.app-back{margin-bottom:8px!important;}
  .exercise-detail-layout .metrics{min-height:56px;padding:8px 10px!important;}
  .exercise-detail-layout .card.detail-cue-card{padding:10px 13px!important;}
  .exercise-detail-layout .detail-cue-card h3{font-size:15px;margin-bottom:3px;}
  .exercise-detail-layout .detail-cue-card p{font-size:12px;line-height:1.25;margin:4px 0;}
  .exercise-detail-layout .detail-cue-card .note{font-size:10px;}
  .exercise-detail-layout .card.detail-timer-card{padding:10px 12px!important;}
  .exercise-detail-layout .detail-timer-card .series-choice{margin:4px 0 8px;padding:8px 10px;}
  .exercise-detail-layout .detail-timer-card .series-choice label{font-size:11px;margin-bottom:2px;}
  .exercise-detail-layout .detail-timer-card .series-choice select{min-height:34px;padding:6px 8px;}
  .exercise-detail-layout .detail-timer-card .series-choice .note{font-size:10px;margin:4px 0 0;line-height:1.2;}
  .exercise-detail-layout .detail-timer-card .series-tracker .row.spread{gap:5px;}
  .exercise-detail-layout .detail-timer-card .series-tracker p.note{font-size:10px;margin:3px 0;line-height:1.2;}
  .exercise-detail-layout .detail-timer-card .series-tracker>small{font-size:10px;line-height:1.2;}
  .exercise-detail-layout .detail-timer-card .series-steps{gap:3px;}
  .exercise-detail-layout .detail-timer-card .series-steps i{width:22px;height:22px;flex-basis:22px;font-size:11px;}
  .exercise-detail-layout .detail-timer-card>label{font-size:11px;margin:6px 0 2px;}
  .exercise-detail-layout .detail-timer-card>select{min-height:34px;padding:6px 8px;}
  .exercise-detail-layout .detail-timer-card .timer{font-size:36px;line-height:1.05;margin:3px 0;}
  .exercise-detail-layout .timer-actions>button{min-height:38px!important;padding:6px 8px!important;font-size:12px!important;}
  .exercise-detail-layout>.stack>.primary.full{min-height:38px;padding:7px 12px;font-size:13px;}
}

/* Mental : vue d'ensemble compacte sur ordinateur et tablette.
   Les commandes du minuteur restent toujours contenues dans leur carte. */
@media (min-width:651px){
  .mental-page h1{font-size:30px;margin:6px 0 10px;}
  .mental-intro{font-size:14px;}
  .mental-ebook-offer{grid-template-columns:94px minmax(0,1fr);gap:13px;padding:11px;margin:14px 0 16px;}
  .mental-ebook-offer>img{width:94px;height:132px;}
  .mental-ebook-offer h2{font-size:21px;}
  .mental-ebook-offer p{font-size:13px;margin-bottom:7px;}
  .mental-ebook-price{margin-bottom:8px;}
  .mental-ebook-price strong{font-size:23px;}
  .mental-ebook-offer button{min-height:37px;font-size:12px;}
  .mental-card-grid{gap:12px;margin-top:14px;}
  .mental-feature-card{padding:14px;gap:9px;}
  .mental-feature-card h2{font-size:18px;}
  .mental-feature-card>p{font-size:13px;}
  .mental-card-head{gap:9px;min-height:42px;}
  .mental-card-icon{width:42px;height:42px;flex-basis:42px;border-radius:13px;}
  .mental-card-icon svg{width:23px;height:23px;}
  .mental-card-kicker{font-size:10px;}
  .mental-calm-card .breath{width:64px;height:64px;font-size:11px;}
  .mental-calm-card .calm-time{font-size:24px;}
  .mental-calm-card .timer-actions{display:grid!important;grid-template-columns:1fr!important;gap:7px;width:100%;margin-top:auto;}
  .mental-calm-card .timer-actions .primary,
  .mental-calm-card .timer-actions .reset-timer{width:100%;min-width:0;flex:none;min-height:40px;padding:9px 10px;font-size:12px;white-space:nowrap;}
  .mental-intention-card textarea{min-height:52px;padding:8px 10px;}
  .mental-intention-card label{font-size:12px;}
  .mental-intention-card .primary{min-height:40px;padding:9px 12px;font-size:12px;}
  .mental-progress-stats{gap:6px;}
  .mental-progress-stats>div{padding:9px 7px;}
  .mental-progress-stats strong{font-size:19px;}
  .mental-latest{padding:9px 10px;}
  .mental-journal-card{padding:16px;margin-top:14px;}
}

/* Page « Votre accès à vie » : vue d'ensemble plus compacte sur
   ordinateur et tablette, sans modifier la présentation mobile. */
@media (min-width:700px){
  .shell:has(.purchase-page){
    padding-top:24px!important;
  }
  .shell:has(.purchase-page)>header.top{
    margin-bottom:12px!important;
    padding-bottom:10px!important;
  }
  .shell:has(.purchase-page)>header.top .brand{
    width:min(340px,38vw)!important;
    max-width:340px!important;
  }
  .shell:has(.purchase-page)>header.top .desktop-top-logo{
    max-height:118px!important;
    object-fit:contain!important;
  }
  .shell:has(.purchase-page)>.app-back{
    margin-bottom:8px!important;
  }
  .purchase-page{
    max-width:900px!important;
  }
  .purchase-page>.back{
    margin-bottom:8px!important;
  }
  .purchase-page h1{
    font-size:clamp(28px,3vw,38px)!important;
    margin:4px 0 10px!important;
  }
  .purchase-card{
    padding:18px 22px!important;
    border-radius:18px!important;
  }
  .purchase-price{
    font-size:38px!important;
    margin-bottom:10px!important;
  }
  .purchase-card p{
    font-size:14px!important;
    margin:6px 0!important;
  }
  .purchase-card ul{
    font-size:14px!important;
    line-height:1.55!important;
    margin:8px 0!important;
  }
  .purchase-page .purchase-link{
    min-height:46px!important;
    margin-top:12px!important;
    padding:11px 16px!important;
    font-size:15px!important;
  }
  .purchase-page>.note{
    margin:6px 0!important;
  }
  .purchase-page>.secondary{
    min-height:46px!important;
    margin-top:14px!important;
    padding:11px 16px!important;
  }
}

/* Corrections demandées sur téléphone : bilan et bibliothèque d’exercices plus compacts. */
@media (max-width:699px){
  /* Bilan : le point de poids sélectionné doit rester lisible sur fond blanc. */
  .shell .progress-panel .weight-evolution-card .weigh-point-value{
    background:#fff!important;
    color:#142536!important;
    border:1px solid #cfe3ef!important;
    box-shadow:0 5px 14px rgba(20,61,88,.12)!important;
  }
  .shell .progress-panel .weight-evolution-card .weigh-point-value *{color:#142536!important;}

  /* Dossiers : cartes plus fines pour voir davantage de contenu sans défilement inutile. */
  .shell:has(.folder-list) .folder-list{gap:8px!important;margin-top:12px!important;}
  .shell:has(.folder-list) .exercise-folder{
    gap:8px!important;
    padding:9px 10px!important;
    border-left-width:4px!important;
    border-radius:12px!important;
  }
  .shell:has(.folder-list) .folder-icon{
    width:34px!important;
    height:34px!important;
    border-radius:9px!important;
    font-size:18px!important;
  }
  .shell:has(.folder-list) .exercise-folder span:nth-child(2){gap:2px!important;}
  .shell:has(.folder-list) .exercise-folder strong{font-size:15px!important;line-height:1.15!important;}
  .shell:has(.folder-list) .exercise-folder small{font-size:11px!important;line-height:1.22!important;}
  .shell:has(.folder-list) .exercise-folder em{font-size:10px!important;line-height:1.15!important;}
  .shell:has(.folder-list) .mental-entry{min-height:34px!important;padding:7px 10px!important;font-size:12px!important;}

  /* Tous les exercices, karting, sélection du jour et programme personnel. */
  .shell:has(.exercise-item) .grid.section{gap:8px!important;margin-top:12px!important;}
  .shell:has(.exercise-item) .exercise-item{margin-bottom:5px!important;}
  .shell:has(.exercise-item) .exercise{
    gap:8px!important;
    padding:7px 8px!important;
    border-radius:11px!important;
    border-left-width:3px!important;
    margin-bottom:0!important;
  }
  .shell:has(.exercise-item) .exercise img{width:48px!important;height:50px!important;border-radius:8px!important;}
  .shell:has(.exercise-item) .exercise .category-tag{font-size:10px!important;padding:2px 6px!important;margin-bottom:2px!important;}
  .shell:has(.exercise-item) .exercise h3{font-size:15px!important;line-height:1.15!important;margin:2px 0!important;}
  .shell:has(.exercise-item) .exercise small{font-size:11px!important;line-height:1.2!important;}
  .shell:has(.exercise-item) .exercise .arrow{font-size:18px!important;}
  .shell:has(.exercise-item) .exercise-add{margin:3px 0 0 7px!important;padding:4px 7px!important;font-size:10px!important;line-height:1.1!important;}

  /* Échauffement et étirements : un encart horizontal beaucoup moins haut. */
  .warmup-entry{
    flex-direction:row!important;
    align-items:center!important;
    gap:8px!important;
    padding:10px 11px!important;
    margin-top:12px!important;
    border-radius:13px!important;
  }
  .warmup-entry>div{min-width:0!important;flex:1 1 auto!important;}
  .warmup-entry strong{display:block!important;font-size:14px!important;line-height:1.15!important;}
  .warmup-entry p{font-size:11px!important;line-height:1.2!important;margin:3px 0 0!important;}
  .warmup-entry button{
    flex:0 0 auto!important;
    width:auto!important;
    min-height:34px!important;
    padding:7px 9px!important;
    border-radius:9px!important;
    font-size:11px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }

  /* Pages détaillées d’échauffement/étirements : cartes et visuels allégés. */
  .shell:has(.warmup-grid) .warmup-grid{gap:8px!important;margin-top:12px!important;}
  .shell:has(.warmup-grid) .warmup-card{padding:10px!important;border-radius:13px!important;}
  .shell:has(.warmup-grid) .warmup-card img{height:105px!important;margin-bottom:7px!important;}
  .shell:has(.warmup-grid) .warmup-card h3{font-size:15px!important;line-height:1.15!important;margin:4px 0!important;}
  .shell:has(.warmup-grid) .warmup-card>span{font-size:11px!important;line-height:1.25!important;}

  /* Programme pour moi et favoris : même densité visuelle que les autres listes. */
  .shell:has(.workout-list) .workout-breakdown{gap:6px!important;margin:10px 0!important;}
  .shell:has(.workout-list) .workout-breakdown span{padding:8px 9px!important;font-size:12px!important;}
  .shell:has(.workout-list) .workout-breakdown b{font-size:14px!important;}
  .shell:has(.workout-list) .workout-list{gap:8px!important;}
  .shell:has(.workout-list) .workout-list~button.secondary.full,
  .shell:has(.workout-list) button.secondary.full[onclick*="openWorkoutPhase"]{
    min-height:36px!important;
    padding:7px 10px!important;
    border-radius:10px!important;
    font-size:12px!important;
  }
  .shell:has(.daily-workout) .daily-workout{padding:12px!important;margin:12px 0 4px!important;border-radius:14px!important;}
  .shell:has(.daily-workout) .daily-workout-heading h2{font-size:18px!important;}
  .shell:has(.daily-workout) .daily-workout-list{gap:5px!important;margin:8px 0!important;}
  .shell:has(.daily-workout) .daily-workout-list>div{padding:7px 32px 7px 8px!important;font-size:12px!important;}
  .shell:has(.daily-workout) .daily-workout-actions{gap:6px!important;}
  .shell:has(.daily-workout) .daily-workout-actions button{min-height:34px!important;padding:6px 8px!important;font-size:11px!important;}

  /* Sélecteurs d’exercices dans l’édition des favoris et le planning. */
  .shell:has(.favorite-edit-grid) .favorite-edit-grid{gap:7px!important;}
  .shell:has(.favorite-edit-grid) .favorite-edit-option{gap:7px!important;padding:7px!important;border-radius:11px!important;}
  .shell:has(.favorite-edit-grid) .favorite-edit-option img{width:40px!important;height:42px!important;flex-basis:40px!important;border-radius:7px!important;}
  .shell:has(.favorite-edit-grid) .favorite-edit-option strong{font-size:12px!important;line-height:1.15!important;}
  .shell:has(.favorite-edit-grid) .favorite-edit-option small{font-size:10px!important;line-height:1.15!important;}
  .shell:has(.favorite-edit-grid) .favorite-edit-option>b{font-size:10px!important;}
  .shell:has(.picker-list) .picker-exercise{min-height:58px!important;padding:7px!important;gap:7px!important;}
  .shell:has(.picker-list) .picker-exercise img{width:36px!important;height:40px!important;}
  .shell:has(.picker-list) .picker-exercise strong{font-size:12px!important;line-height:1.15!important;}
  .shell:has(.picker-list) .picker-exercise small{font-size:10px!important;line-height:1.15!important;}
}


@media (max-width:650px){
  .mental-calm-card .timer-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px;width:100%;}
  .mental-calm-card .timer-actions .primary,
  .mental-calm-card .timer-actions .reset-timer{width:100%;min-width:0;flex:none;}
}

/* Mental : réduire aussi la hauteur globale de la vue desktop/tablette. */
@media (min-width:651px){
  .shell:has(.mental-page)>header.top{min-height:0!important;margin-bottom:8px!important;padding:6px 16px!important;}
  .shell:has(.mental-page)>header.top .brand{width:min(330px,38vw)!important;max-width:330px!important;margin:0 auto!important;}
  .shell:has(.mental-page)>header.top .desktop-top-logo{max-height:108px!important;object-fit:contain;}
  .shell:has(.mental-page)>.app-back{margin-bottom:8px!important;}
  .shell:has(.mental-page) .mental-feature-card{padding:14px!important;gap:5px;}
  .shell:has(.mental-page) .mental-intention-card{gap:5px;}
  .shell:has(.mental-page) .mental-intention-card textarea{min-height:0;height:42px;padding:6px 8px;line-height:1.2;}
  .shell:has(.mental-page) .mental-intention-card input[type=range]{height:26px;padding:4px 0;}
}

/* Accueil : retour à la taille précédente validée du bandeau et du logo. */
.shell:has(.home-dashboard)>.top{
  margin-bottom:28px!important;
  padding:16px 24px!important;
}
.shell:has(.home-dashboard)>.top .brand{
  width:min(62%,720px)!important;
  max-width:720px!important;
  border-radius:28px!important;
  clip-path:inset(0 round 28px)!important;
}
.shell:has(.home-dashboard)>.top .desktop-top-logo{
  padding:10px 24px!important;
  border-radius:28px!important;
  clip-path:inset(0 round 28px)!important;
}
@media(max-width:699px){
  .shell:has(.home-dashboard)>.top{
    margin-bottom:24px!important;
    padding:12px 14px!important;
    row-gap:12px!important;
  }
  .shell:has(.home-dashboard)>.top .brand{
    width:min(94%,520px)!important;
    border-radius:24px!important;
    clip-path:inset(0 round 24px)!important;
  }
  .shell:has(.home-dashboard)>.top .desktop-top-logo{
    padding:8px 16px!important;
    border-radius:24px!important;
    clip-path:inset(0 round 24px)!important;
  }
}

/* Ordinateur et tablette : échelle cohérente, sans toucher au natel.
   Mental et Planning gardent leur rendu actuel. */
@media (min-width:700px){
  .shell:has(.home-dashboard),
  .shell:has(.folder-list),
  .shell:has(.exercise-item),
  .shell:has(.exercise-detail-layout),
  .shell:has(.progress-panel),
  .shell:has(.bilan-objective),
  .shell:has(.profile-heading),
  .shell:has(#profileform){
    zoom:.94;
  }
}

/* Ordinateur et tablette : reprendre le bandeau-logo réduit validé
   sur toutes les pages de l’application, sans modifier le natel. */
@media (min-width:700px){
  .shell:not(:has(.welcome-poster-page))>.top{
    margin-bottom:22px!important;
    padding:11px 18px!important;
  }
  .shell:not(:has(.welcome-poster-page))>.top .brand{
    width:min(56%,650px)!important;
    max-width:650px!important;
    border-radius:24px!important;
    clip-path:inset(0 round 24px)!important;
  }
  .shell:not(:has(.welcome-poster-page))>.top .desktop-top-logo{
    padding:7px 18px!important;
    border-radius:24px!important;
    clip-path:inset(0 round 24px)!important;
  }
}

/* Le bandeau bleu doit couvrir toute la colonne sur ordinateur et tablette,
   sans laisser les marges blanches du contenu de la shell sur les côtés. */
@media (min-width:700px){
  .shell:not(:has(.welcome-poster-page))>.top{
    width:calc(100% + 80px)!important;
    margin-left:-40px!important;
    margin-right:-40px!important;
  }
}
@media (min-width:1100px){
  .shell:not(:has(.welcome-poster-page))>.top{
    width:calc(100% + 124px)!important;
    margin-left:-62px!important;
    margin-right:-62px!important;
  }
}

/* Accès à vie : dézoom supplémentaire et boutons à largeur naturelle
   sur ordinateur/tablette. Le natel conserve son rendu actuel. */
@media (min-width:700px){
  .shell:has(.purchase-page){
    zoom:.94;
  }
  .purchase-page h1{
    font-size:clamp(26px,2.7vw,34px)!important;
    margin:2px 0 8px!important;
  }
  .purchase-page{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .purchase-card{
    padding:14px 20px!important;
  }
  .purchase-price{
    font-size:34px!important;
    margin-bottom:8px!important;
  }
  .purchase-card p,
  .purchase-card ul{
    font-size:13px!important;
  }
  .purchase-card ul{
    line-height:1.42!important;
    margin:6px 0!important;
  }
  .purchase-page .purchase-link,
  .purchase-page>.secondary,
  .purchase-page .lifetime-status .primary{
    width:min(100%,540px)!important;
    min-height:38px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:8px 14px!important;
    font-size:13.5px!important;
  }
  .purchase-page .purchase-link{
    margin-top:9px!important;
  }
  .purchase-page .lifetime-status{
    padding:10px 14px!important;
    margin:8px 0!important;
  }
  .purchase-page .lifetime-status p{
    font-size:12.5px!important;
  }
  .purchase-page>.note{
    font-size:12px!important;
    margin:4px 0!important;
  }
  .purchase-page>.secondary{
    margin-top:10px!important;
  }
}

/* Bandeau pleine largeur sur toutes les pages de l’application.
   Les coins extérieurs ne doivent plus laisser apparaître de bandes blanches;
   seul l’encart blanc du logo garde ses coins arrondis. Le téléphone reste
   volontairement inchangé. */
@media (min-width:700px){
  .shell:not(:has(.welcome-poster-page))>header.top{
    width:calc(100% + 80px)!important;
    margin-left:-40px!important;
    margin-right:-40px!important;
    margin-top:-46px!important;
    border-radius:14px 14px 0 0!important;
    border-left:0!important;
    border-right:0!important;
  }
  .shell:has(.home-dashboard)>header.top{
    border-radius:14px 14px 0 0!important;
  }
}
@media (min-width:1100px){
  .shell:not(:has(.welcome-poster-page))>header.top{
    width:calc(100% + 102px)!important;
    margin-left:-40px!important;
    margin-right:-62px!important;
  }
}

/* Même hauteur compacte que le bandeau de « Votre accès à vie » sur
   toutes les pages de l’application. Le natel reste inchangé. */
@media (min-width:700px){
  .shell:not(:has(.welcome-poster-page))>header.top{
    padding-top:10.3px!important;
    padding-bottom:9.3px!important;
    margin-bottom:12px!important;
  }
  .shell:not(:has(.welcome-poster-page)):not(:has(.purchase-page))>header.top .brand{
    width:min(320px,35.75vw)!important;
    max-width:320px!important;
  }
  .shell:not(:has(.welcome-poster-page))>header.top .desktop-top-logo{
    max-height:118px!important;
    object-fit:contain!important;
  }
}

/* Ajustement final de la carte « Votre prochaine séance ». */
.home-session-level,.home-session-progress{display:none!important;}
.home-session-card>img{right:8%!important;width:min(31%,230px)!important;max-height:185px!important;}
@media(max-width:699px){
  .home-session-card>img{right:6%!important;width:34%!important;max-height:145px!important;}
}

/* Petit message avec coupe placé immédiatement sous le statut de séance validée. */
.session-completion-reward{position:relative;z-index:1;display:flex;align-items:center;gap:10px;max-width:min(470px,72%);margin:8px 0 4px;padding:10px 13px;border:1px solid #a9d9bd;border-radius:16px;background:linear-gradient(110deg,#f0fff6,#e1f6e9);box-shadow:0 5px 14px rgba(43,132,83,.1);text-align:left;color:#215c3d;}
.session-completion-trophy{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#fff5d5;}
.session-completion-trophy svg{display:block;width:30px;height:30px;}
.preset-completion-trophy{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:#fff0c7;}
.preset-completion-trophy svg{display:block;width:32px;height:32px;}
.session-completion-reward>span:last-child{display:grid;gap:2px;}
.session-completion-reward strong{font-size:14px;line-height:1.2;color:#205c3b;}
.session-completion-reward small{font-size:12px;line-height:1.3;color:#456754;}
.objective-phase{max-width:900px!important;}
.objective-phase-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 18px;}
.objective-phase-example{display:flex;align-items:center;gap:10px;min-width:0;padding:9px;border:1px solid #d8e6ed;border-radius:15px;background:linear-gradient(145deg,#fff,#f4faff);box-shadow:0 4px 12px rgba(30,87,122,.06);}
.objective-phase-example img{display:block;flex:0 0 76px;width:76px;height:62px;object-fit:contain;border-radius:10px;background:#f3f8fb;}
.objective-phase-example span{display:grid;gap:4px;min-width:0;}
.objective-phase-example strong{font-size:13px;line-height:1.2;color:#1d3445;}
.objective-phase-example small{font-size:11px;line-height:1.2;color:#587080;}
@media(max-width:699px){
 .objective-phase-examples{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 16px;}
 .objective-phase-example{display:grid;grid-template-columns:62px minmax(0,1fr);gap:7px;padding:7px;border-radius:12px;}
 .objective-phase-example img{width:62px;height:54px;flex-basis:62px;}
 .objective-phase-example strong{font-size:12px;}
 .objective-phase-example small{font-size:10px;}
 .session-completion-reward{max-width:100%;padding:8px 10px;gap:8px;margin:5px 0;}
 .session-completion-reward small{font-size:11px;}
}

/* Boutons d’action compacts : la classe « full » ne doit pas les étirer
   sur toute la colonne. Ils restent centrés et s’adaptent à leur texte. */
button.primary.full,
button.secondary.full,
a.primary.full,
a.secondary.full,
.purchase-link,
.ebook-buy,
.lifetime-offer .primary,
.lifetime-status .primary{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:fit-content!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  white-space:normal!important;
  padding-left:24px!important;
  padding-right:24px!important;
}

@media (max-width:650px){
  button.primary.full,
  button.secondary.full,
  a.primary.full,
  a.secondary.full,
  .purchase-link,
  .ebook-buy,
  .lifetime-offer .primary,
  .lifetime-status .primary{
    max-width:calc(100vw - 32px)!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

/* Barre de navigation : centrage exact par rapport à la fenêtre,
   indépendamment des marges internes et de la barre de défilement. */
@media (max-width:650px){
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock{
    left:50vw!important;
    right:auto!important;
    transform:translateX(-50%)!important;
  }
}
@media (min-width:651px){
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock{
    left:50vw!important;
    right:auto!important;
    transform:translateX(-50%)!important;
  }
}

/* Navigation : la barre et ses six boutons gardent exactement la même
   hauteur lorsque Planning ou Mental devient l’onglet actif. */
@media (min-width:700px){
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock{
    height:78px!important;
    min-height:78px!important;
    max-height:78px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock button{
    height:60px!important;
    min-height:60px!important;
    max-height:60px!important;
    flex:1 1 0!important;
    box-sizing:border-box!important;
    transform:none!important;
    line-height:1!important;
  }
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock .dock-emoji{
    height:26px!important;
    min-height:26px!important;
    max-height:26px!important;
    line-height:26px!important;
  }
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock .dock-label{
    height:14px!important;
    min-height:14px!important;
    max-height:14px!important;
    line-height:14px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
}
@media (max-width:699px){
  .nav.compact-dock{
    height:54px!important;
    min-height:54px!important;
    max-height:54px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .nav.compact-dock button{
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    box-sizing:border-box!important;
    transform:none!important;
    line-height:1!important;
  }
  .nav.compact-dock .dock-emoji{
    height:20px!important;
    min-height:20px!important;
    max-height:20px!important;
    line-height:20px!important;
  }
  .nav.compact-dock .dock-label{
    height:12px!important;
    min-height:12px!important;
    max-height:12px!important;
    line-height:12px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
}

/* Dézoom renforcé ordinateur/tablette : le téléphone reste inchangé. */
@media (min-width:700px){
  .shell:not(:has(.welcome-poster-page)){
    zoom:.90!important;
  }

  /* Barre noire compacte et strictement identique sur les six onglets. */
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock{
    height:54px!important;
    min-height:54px!important;
    max-height:54px!important;
    padding:3px 10px!important;
  }
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock button{
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
  }
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock .dock-emoji{
    height:20px!important;
    min-height:20px!important;
    max-height:20px!important;
    line-height:20px!important;
    font-size:21px!important;
  }
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock .dock-label{
    height:12px!important;
    min-height:12px!important;
    max-height:12px!important;
    line-height:12px!important;
  }
}

/* Profil : centrer le grand espace et le réduire légèrement sur
   ordinateur/tablette, sans modifier le rendu du téléphone. */
@media (min-width:700px){
  .shell:not(:has(.welcome-poster-page)):has(.profile-heading) .formwrap{
    width:100%!important;
    max-width:1000px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .shell:not(:has(.welcome-poster-page)):has(.profile-heading) .profile-heading{
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* Dernier ajustement mobile : le natel reprend exactement le bandeau de
   l'accueil sur toutes les pages, avec une mise en page plus compacte. */
@media (max-width:699px){
  .shell:not(:has(.welcome-poster-page))>header.top{
    width:calc(100% + 32px)!important;
    margin-left:-16px!important;
    margin-right:-16px!important;
    margin-top:-8px!important;
    margin-bottom:24px!important;
    padding:12px 14px!important;
    border-radius:16px!important;
  }
  .shell:not(:has(.welcome-poster-page))>header.top .brand{
    width:min(94%,520px)!important;
    max-width:520px!important;
    margin:0 auto!important;
    border-radius:24px!important;
    clip-path:inset(0 round 24px)!important;
  }
  .shell:not(:has(.welcome-poster-page))>header.top .desktop-top-logo{
    width:100%!important;
    height:auto!important;
    padding:8px 16px!important;
    border-radius:24px!important;
    clip-path:inset(0 round 24px)!important;
  }

  /* Accueil : un dézoom léger pour voir davantage de contenu sans toucher
     à la barre de navigation fixe. */
  .shell:has(.home-dashboard) .home-dashboard>.eyebrow{font-size:11px!important;letter-spacing:1.7px;}
  .shell:has(.home-dashboard) .home-dashboard>h1{font-size:27px!important;line-height:1.08!important;margin:5px 0 8px!important;}
  .shell:has(.home-dashboard) .home-intro{font-size:14px!important;line-height:1.35!important;margin:0!important;}
  .shell:has(.home-dashboard) .home-dashboard-layout{margin-top:16px!important;}
  .shell:has(.home-dashboard) .home-session-card{min-height:184px!important;padding:14px!important;}
  .shell:has(.home-dashboard) .home-session-card h2{font-size:23px!important;line-height:1.04!important;margin:5px 0!important;}
  .shell:has(.home-dashboard) .home-session-description{font-size:12px!important;line-height:1.25!important;margin-bottom:6px!important;}
  .shell:has(.home-dashboard) .home-session-actions{gap:5px!important;}
  .shell:has(.home-dashboard) .home-session-actions .secondary{min-height:36px!important;padding:7px 10px!important;font-size:12px!important;}
  .shell:has(.home-dashboard) .home-session-actions .linkbtn{font-size:12px!important;padding:7px 5px!important;}
  .shell:has(.home-dashboard) .home-session-card>img{width:31%!important;max-height:128px!important;}
  .shell:has(.home-dashboard) .home-home-row{gap:10px!important;margin-top:10px!important;}
  .shell:has(.home-dashboard) .home-summary-grid{gap:9px!important;margin-top:10px!important;}
  .shell:has(.home-dashboard) .home-summary-card{padding:11px 12px!important;gap:10px!important;}
}

/* Accueil : les deux actions du rappel quotidien ne doivent jamais se
   superposer dans la même cellule. */
.home-today-slot .plan-notice{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}
.home-today-slot .plan-notice>strong,
.home-today-slot .plan-notice>span{
  grid-column:1 / -1!important;
}
.home-today-slot .plan-notice>.linkbtn{
  grid-row:auto!important;
  align-self:center!important;
  justify-self:stretch!important;
  min-width:0!important;
  padding:4px 2px!important;
  font-size:12px!important;
  line-height:1.2!important;
  white-space:normal!important;
}
.home-today-slot .plan-notice>.linkbtn:first-of-type{grid-column:1!important;}
.home-today-slot .plan-notice>.linkbtn:nth-of-type(2){grid-column:2!important;}

/* Bibliothèque d'exercices : réduire légèrement les cartes sur téléphone. */
@media (max-width:650px){
  .shell:has(.folder-list) h1{font-size:27px!important;line-height:1.08!important;margin:7px 0 10px!important;}
  .shell:has(.folder-list)>p{font-size:14px!important;line-height:1.4!important;margin:0!important;}
  .shell:has(.folder-list) .folder-list{gap:10px!important;margin-top:16px!important;}
  .shell:has(.folder-list) .exercise-folder{gap:11px!important;padding:12px!important;border-radius:16px!important;}
  .shell:has(.folder-list) .folder-icon{width:42px!important;height:42px!important;border-radius:12px!important;font-size:23px!important;}
  .shell:has(.folder-list) .exercise-folder strong{font-size:17px!important;line-height:1.15!important;}
  .shell:has(.folder-list) .exercise-folder small{font-size:13px!important;line-height:1.3!important;}
  .shell:has(.folder-list) .exercise-folder em{font-size:12px!important;line-height:1.2!important;}
  .shell:has(.folder-list) .mental-entry{min-height:40px!important;padding:9px 14px!important;font-size:13px!important;}
}

/* Planning mobile : cases plus courtes et légèrement plus larges, afin de
   retrouver des proportions proches de la vue ordinateur. */
@media (max-width:650px){
  .planner-page{margin-left:-2px!important;margin-right:-2px!important;}
  .planner-page .planner-week-strip{
    margin-left:-6px!important;
    margin-right:-6px!important;
    padding-left:6px!important;
    padding-right:6px!important;
    gap:4px!important;
  }
  .planner-page .planner-day{
    min-height:104px!important;
    padding:5px 2px!important;
    border-radius:10px!important;
  }
  .planner-page .planner-day-head{padding-bottom:2px!important;}
  .planner-page .planner-day-head span{font-size:9px!important;}
  .planner-page .planner-day-head strong{font-size:16px!important;}
  .planner-page .planner-day-sessions{gap:2px!important;}
  .planner-page .planner-day-session{padding:3px 1px!important;font-size:8px!important;line-height:1.05!important;}
  .planner-page .planner-day-session span:last-child{padding:1px 0!important;}
  .planner-page .planner-day-add{width:27px!important;height:27px!important;font-size:20px!important;margin:3px auto!important;}
  .planner-page .planner-day-check{bottom:4px!important;width:20px!important;height:20px!important;font-size:11px!important;}
}

/* Mental mobile : aperçu et cartes plus compacts, sans retirer de fonction. */
@media (max-width:650px){
  .shell:has(.mental-page) .mental-page h1{font-size:27px!important;line-height:1.08!important;margin:5px 0 8px!important;}
  .shell:has(.mental-page) .mental-intro{font-size:13px!important;line-height:1.35!important;margin:0!important;}
  .shell:has(.mental-page) .mental-ebook-offer{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:10px!important;
    margin:12px 0 14px!important;
    padding:10px!important;
    border-radius:16px!important;
  }
  .shell:has(.mental-page) .mental-ebook-offer>img{width:82px!important;height:115px!important;border-radius:9px!important;}
  .shell:has(.mental-page) .mental-ebook-offer h2{font-size:18px!important;line-height:1.05!important;margin-bottom:5px!important;}
  .shell:has(.mental-page) .mental-ebook-offer p{font-size:12px!important;line-height:1.25!important;margin-bottom:6px!important;}
  .shell:has(.mental-page) .mental-ebook-price{gap:5px!important;margin-bottom:6px!important;}
  .shell:has(.mental-page) .mental-ebook-price strong{font-size:21px!important;}
  .shell:has(.mental-page) .mental-ebook-offer button{min-height:35px!important;font-size:11px!important;}
  .shell:has(.mental-page) .mental-card-grid{gap:10px!important;margin-top:12px!important;}
  .shell:has(.mental-page) .mental-feature-card{padding:13px!important;gap:6px!important;}
  .shell:has(.mental-page) .mental-feature-card h2{font-size:18px!important;}
  .shell:has(.mental-page) .mental-feature-card>p{font-size:12px!important;line-height:1.3!important;}
  .shell:has(.mental-page) .mental-card-icon{width:42px!important;height:42px!important;flex-basis:42px!important;}
  .shell:has(.mental-page) .mental-calm-card .breath{width:64px!important;height:64px!important;}
  .shell:has(.mental-page) .mental-calm-card .calm-time{font-size:22px!important;}
  .shell:has(.mental-page) .mental-calm-card .timer-actions .primary,
  .shell:has(.mental-page) .mental-calm-card .timer-actions .reset-timer{min-height:38px!important;padding:8px 9px!important;font-size:12px!important;}
  .shell:has(.mental-page) .mental-journal-card{padding:14px!important;margin-top:12px!important;}
}

/* Dernières finitions demandées sur téléphone uniquement. */
@media (max-width:699px){
  /* Profil : commandes alignées sur le gabarit compact de « Ajouter une photo ». */
  #profile-image-control{flex-basis:100px!important;gap:4px!important;}
  .profile-image-actions{gap:4px!important;width:100%!important;}
  .profile-image-actions .profile-image-label{
    min-height:30px!important;
    padding:5px 7px!important;
    border-radius:8px!important;
    font-size:11px!important;
    line-height:1.1!important;
  }
  .profile-edit-toggle{
    min-height:30px!important;
    margin-top:0!important;
    padding:5px 7px!important;
    border-radius:8px!important;
    font-size:11px!important;
    line-height:1.1!important;
  }
  #profile-image-control small{font-size:10px!important;line-height:1.1!important;}

  /* Bilan : un peu plus de hauteur utile pour les deux graphiques importants. */
  .progress-panel .weight-evolution-card .progress-chart,
  .progress-panel .activity-validations-card .progress-chart{
    height:190px!important;
    min-height:190px!important;
    padding:9px!important;
  }

  /* Planning : cartes de jours plus courtes, plus proches du carré et sans bordure latérale parasite. */
  .planner-page .planner-week-strip{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:3px!important;
    padding:1px 6px 9px!important;
    margin-left:-6px!important;
    margin-right:-6px!important;
    border:0!important;
  }
  .planner-page .planner-day{
    min-height:0!important;
    height:74px!important;
    padding:4px 1px!important;
    border:1px solid rgba(210,225,235,.9)!important;
    border-radius:9px!important;
    box-shadow:none!important;
  }
  .planner-page .planner-day-head{gap:0!important;padding:0 0 1px!important;}
  .planner-page .planner-day-head span{font-size:8px!important;line-height:1!important;}
  .planner-page .planner-day-head strong{font-size:15px!important;line-height:1.05!important;}
  .planner-page .planner-day-sessions{gap:1px!important;min-height:0!important;}
  .planner-page .planner-day-session{
    gap:0!important;
    padding:2px 0!important;
    border-radius:5px!important;
    font-size:7px!important;
    line-height:1!important;
  }
  .planner-page .planner-day-session span:last-child{padding:1px 0!important;}
  .planner-page .planner-day-add{
    width:23px!important;height:23px!important;margin:2px auto!important;
    font-size:17px!important;
  }
  .planner-page .planner-day-check{bottom:2px!important;width:18px!important;height:18px!important;font-size:10px!important;}

  /* Calendrier : bouton hebdomadaire affiné. */
  .calendar-card>.secondary.full{
    width:calc(100% - 24px)!important;
    min-height:48px!important;
    margin:9px auto 0!important;
    padding:8px 12px!important;
    border-radius:14px!important;
    font-size:14px!important;
    line-height:1.15!important;
  }

  /* Accueil : « Voir les détails » passe clairement sous le bouton principal. */
  .shell:has(.home-dashboard) .home-session-actions{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:3px!important;
    width:62%!important;
    max-width:62%!important;
  }
  .shell:has(.home-dashboard) .home-session-actions .secondary{
    width:auto!important;
    max-width:100%!important;
  }
  .shell:has(.home-dashboard) .home-session-actions .linkbtn{
    margin:0!important;
    padding:2px 0!important;
    max-width:100%!important;
    font-size:12px!important;
    line-height:1.15!important;
    text-align:left!important;
  }
  .shell:has(.home-dashboard) .home-session-card>img{
    right:2%!important;
    bottom:8px!important;
    width:31%!important;
    max-height:125px!important;
  }
}

/* Ajustements complémentaires demandés après contrôle sur téléphone. */
@media (max-width:699px){
  /* Profil : même gabarit compact que « Ajouter une photo ». */
  #profile-image-control .profile-image-label,
  #profile-image-control .profile-edit-toggle{
    box-sizing:border-box!important;
    width:100%!important;
    min-height:30px!important;
    padding:4px 7px!important;
    border-radius:8px!important;
    font-size:10px!important;
    line-height:1.2!important;
  }
  #profile-image-control .profile-image-actions{width:100%!important;gap:4px!important;}
  #profile-image-control .profile-edit-toggle{margin-top:0!important;}

  /* Planning : rectangle bleu net, sans débordement latéral, légèrement plus grand. */
  .planner-page{margin-left:0!important;margin-right:0!important;}
  .planner-page .planner-week-controls{overflow:hidden!important;}
  .planner-page .planner-week-strip{
    width:100%!important;
    box-sizing:border-box!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:1px 8px 10px!important;
    gap:3px!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0 0 18px 18px!important;
  }
  .planner-page .planner-day{
    height:86px!important;
    min-height:86px!important;
    box-sizing:border-box!important;
  }
  .planner-page .planner-day-add{width:25px!important;height:25px!important;font-size:18px!important;}
  .planner-page .planner-day-check{width:19px!important;height:19px!important;}

  /* Accès à vie : dézoom marqué du contenu de la page, téléphone uniquement. */
  .shell:has(.purchase-page) .purchase-page{max-width:100%!important;margin:0 auto!important;}
  .shell:has(.purchase-page) .purchase-page>.back{
    min-height:38px!important;
    margin-bottom:6px!important;
    padding:7px 13px!important;
    font-size:14px!important;
  }
  .shell:has(.purchase-page) .purchase-page h1{
    font-size:28px!important;
    line-height:1.08!important;
    margin:3px 0 8px!important;
  }
  .shell:has(.purchase-page) .purchase-card{
    margin:8px 0!important;
    padding:12px 14px!important;
    border-radius:14px!important;
  }
  .shell:has(.purchase-page) .purchase-price{
    font-size:36px!important;
    line-height:1!important;
    margin-bottom:6px!important;
  }
  .shell:has(.purchase-page) .purchase-price span{font-size:13px!important;}
  .shell:has(.purchase-page) .purchase-card p{
    font-size:13px!important;
    line-height:1.35!important;
    margin:5px 0!important;
  }
  .shell:has(.purchase-page) .purchase-card ul{
    font-size:12px!important;
    line-height:1.32!important;
    margin:6px 0!important;
    padding-left:18px!important;
  }
  .shell:has(.purchase-page) .purchase-page .purchase-link,
  .shell:has(.purchase-page) .purchase-page>.secondary,
  .shell:has(.purchase-page) .purchase-page .lifetime-status .primary{
    min-height:38px!important;
    margin-top:8px!important;
    padding:8px 12px!important;
    font-size:12px!important;
    line-height:1.15!important;
  }
  .shell:has(.purchase-page) .purchase-page>.note{font-size:11px!important;margin:4px 0!important;}

  /* Bilan : cadre revenu à sa hauteur précédente; contenu interne légèrement renforcé. */
  .progress-panel .weight-evolution-card .progress-chart,
  .progress-panel .activity-validations-card .progress-chart{
    height:auto!important;
    min-height:0!important;
    padding:12px!important;
  }
  .progress-panel .weight-evolution-card .progress-chart text,
  .progress-panel .activity-validations-card .progress-chart text{
    font-size:15px!important;
  }
  .progress-panel .weight-evolution-card .progress-chart line,
  .progress-panel .activity-validations-card .progress-chart line{
    stroke-width:1.2!important;
  }
  .progress-panel .weight-evolution-card .progress-chart polyline{stroke-width:3.2!important;}
  .progress-panel .weight-evolution-card .progress-chart .weigh-dot{r:5.5px!important;}
  .progress-panel .activity-validations-card .progress-chart rect{transform-box:fill-box;transform-origin:center bottom;transform:scaleY(1.04);}
}

/* Corrections finales desktop/tablette, après les règles générales du thème. */
@media (min-width:700px){
  .shell:not(:has(.welcome-poster-page)) .nav.compact-dock{left:55.5556vw!important;right:auto!important;}
  .shell:has(.purchase-page) .purchase-link,
  .shell:has(.purchase-page) #lifetime-status .primary,
  .shell:has(.purchase-page) .purchase-page>button.secondary.section{
    width:fit-content!important;max-width:100%!important;min-width:0!important;min-height:44px!important;
    padding:10px 22px!important;margin-left:auto!important;margin-right:auto!important;white-space:nowrap!important;
  }
  .progress-panel .weight-evolution-card .weigh-point-value{
    background:#fff!important;color:#142536!important;border-color:#cfe3ef!important;
    box-shadow:0 5px 14px rgba(20,61,88,.12)!important;
  }
  .shell .progress-panel .weight-evolution-card .weigh-point-value{color:#142536!important;}
  .shell:has(.home-dashboard) .pwa-tools,
  .shell:has(.profile-heading) .pwa-tools{
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    width:100%!important;text-align:center!important;
  }
  .shell:has(.home-dashboard) .pwa-tools>a,
  .shell:has(.home-dashboard) .pwa-tools>button,
  .shell:has(.profile-heading) .pwa-tools>a,
  .shell:has(.profile-heading) .pwa-tools>button{margin-left:auto!important;margin-right:auto!important;}
  .shell:has(.home-dashboard) .pwa-tools .pwa-socials,
  .shell:has(.home-dashboard) .pwa-tools .legal-links,
  .shell:has(.profile-heading) .pwa-tools .pwa-socials,
  .shell:has(.profile-heading) .pwa-tools .legal-links{
    display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;
    margin-left:auto!important;margin-right:auto!important;
  }
  .shell:has(.home-dashboard) .pwa-tools .note,
  .shell:has(.profile-heading) .pwa-tools .note{width:100%!important;text-align:center!important;}
}

/* Pied de page FM Performance : même fond bleu foncé texturé que le bandeau
   supérieur, sur ordinateur, tablette et téléphone. */
.pwa-tools{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  margin:30px 0 0!important;
  padding:26px 16px calc(38px + env(safe-area-inset-bottom))!important;
  gap:12px!important;
  border:0!important;
  border-radius:20px!important;
  overflow:hidden!important;
  text-align:center!important;
  color:#fff!important;
  background-image:
    radial-gradient(circle,rgba(157,222,255,.2) 1.5px,transparent 2px),
    repeating-linear-gradient(135deg,transparent 0 42px,rgba(157,222,255,.055) 43px 44px,transparent 45px 88px),
    linear-gradient(145deg,#123b5a 0%,#1f6793 100%)!important;
  background-size:30px 30px,auto,auto!important;
  box-shadow:0 12px 30px rgba(8,34,54,.2)!important;
}
.pwa-tools>button.secondary{
  width:fit-content!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  margin:0!important;
  padding:10px 20px!important;
  border:1px solid rgba(255,255,255,.65)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.94)!important;
  color:#145d96!important;
  white-space:nowrap!important;
}
.pwa-tools>a:not(.social-link){
  margin:0!important;
  color:#fff!important;
  text-decoration:underline;
  text-underline-offset:3px;
}
.pwa-tools .pwa-socials{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  width:100%!important;
  gap:10px!important;
  margin:0!important;
}
.pwa-tools .social-link{
  border-color:rgba(255,255,255,.55)!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
}
.pwa-tools .note{
  width:100%!important;
  margin:0!important;
  color:rgba(255,255,255,.92)!important;
}
.pwa-tools .legal-links{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  width:100%!important;
  gap:8px 14px!important;
  margin:0!important;
}
.shell:not(:has(.welcome-poster-page)) .pwa-tools .legal-links button{
  color:#fff!important;
  text-shadow:0 1px 3px #06243dcc!important;
}
.pwa-tools .language-footer{
  display:flex!important;
  justify-content:center!important;
  width:100%!important;
  margin:4px 0 0!important;
  padding:12px 0 0!important;
  border-top:1px solid rgba(255,255,255,.22)!important;
}
.pwa-tools .language-switch{
  background:rgba(20,37,54,.94)!important;
  color:#fff!important;
}

/* Compact direct language controls: no full-width dropdown. */
.language-footer-controls{display:flex!important;justify-content:center!important;width:100%!important}
.language-switch{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;width:auto!important;min-width:0!important;padding:4px!important;border-radius:999px!important;background:rgba(7,31,57,.95)!important;border:1px solid rgba(132,198,255,.8)!important;box-shadow:0 5px 14px rgba(11,34,52,.18)!important}
.language-switch button{appearance:none!important;min-width:34px!important;min-height:30px!important;padding:6px 8px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#cae6ff!important;font:800 11px/1 Arial,sans-serif!important;letter-spacing:.04em!important;cursor:pointer!important}
.language-switch button:hover,.language-switch button:focus-visible{background:#176fc6!important;color:#fff!important;outline:0!important}
.language-switch button[aria-pressed="true"]{background:#fff!important;color:#0c4e88!important;box-shadow:0 1px 4px rgba(0,0,0,.2)!important}
@media(max-width:420px){.language-switch{gap:2px!important}.language-switch button{min-width:31px!important;min-height:28px!important;padding:5px 7px!important;font-size:10px!important}}
@media(max-width:699px){
  .pwa-tools{
    margin-top:24px!important;
    padding:22px 12px calc(34px + env(safe-area-inset-bottom))!important;
    border-radius:16px!important;
  }
  .pwa-tools>button.secondary{
    min-height:38px!important;
    padding:8px 16px!important;
    font-size:13px!important;
  }
  .pwa-tools .social-link{padding:8px 11px!important;font-size:13px!important;}
  .pwa-tools .legal-links{gap:6px 10px!important;font-size:12px!important;}
}

/* Pied de page : même traitement que le grand bandeau bleu du logo.
   Il prend toute la largeur et descend jusqu’en bas, avec uniquement les
   deux coins supérieurs arrondis. */
.pwa-tools{
  width:auto!important;
  max-width:none!important;
  margin-left:-40px!important;
  margin-right:-40px!important;
  border-radius:30px 30px 0 0!important;
}
@media(max-width:699px){
  .pwa-tools{
    margin-left:-20px!important;
    width:auto!important;
    margin-right:-20px!important;
    margin-bottom:calc(-1 * (120px + env(safe-area-inset-bottom)))!important;
    padding-bottom:calc(150px + env(safe-area-inset-bottom))!important;
    border-radius:26px 26px 0 0!important;
  }
}
@media(min-width:700px) and (max-width:1079px){
  .pwa-tools{
    margin-bottom:-132px!important;
    padding-bottom:110px!important;
    border-radius:32px 32px 0 0!important;
  }
}
@media(min-width:1080px){
  .pwa-tools{
    width:calc(100% + 102px)!important;
    margin-right:0!important;
    margin-bottom:-52px!important;
    padding-bottom:100px!important;
    border-radius:32px 32px 0 0!important;
  }
}

/* Fiches d’exercice : dézoom mobile pour garder la photo, les infos,
   le mouvement et le chrono visibles avec moins de défilement. */
@media (max-width:699px){
  .shell:has(.exercise-detail-layout)>header.top{
    margin-bottom:10px!important;
    padding:7px 10px!important;
    row-gap:6px!important;
  }
  .shell:has(.exercise-detail-layout)>header.top .brand{
    width:min(78%,420px)!important;
    max-width:420px!important;
  }
  .shell:has(.exercise-detail-layout)>header.top .desktop-top-logo{
    padding:5px 10px!important;
    border-radius:18px!important;
    clip-path:inset(0 round 18px)!important;
  }
  .shell:has(.exercise-detail-layout)>.app-back{
    margin-bottom:6px!important;
    padding:7px 12px!important;
    min-height:38px!important;
    font-size:14px!important;
  }
  .exercise-detail-layout{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .exercise-detail-layout > :first-child h1{
    font-size:25px!important;
    line-height:1.08!important;
    margin:4px 0 7px!important;
  }
  .exercise-detail-layout > :first-child .eyebrow{
    font-size:10px!important;
    letter-spacing:1.5px!important;
  }
  .exercise-detail-layout > :first-child > .card,
  .exercise-detail-layout > :first-child .card.detail-image-card{
    padding:6px!important;
    border-radius:15px!important;
  }
  .exercise-detail-layout .detail-img{
    height:150px!important;
    max-height:150px!important;
    margin:0!important;
  }
  .exercise-detail-layout > .stack{gap:8px!important;}
  .exercise-detail-layout .metrics{
    min-height:0!important;
    padding:7px 7px!important;
    gap:3px!important;
    border-radius:13px!important;
  }
  .exercise-detail-layout .metrics small{
    font-size:9px!important;
    line-height:1.1!important;
  }
  .exercise-detail-layout .metrics strong{
    font-size:14px!important;
    line-height:1.15!important;
  }
  .exercise-detail-layout .card.detail-cue-card,
  .exercise-detail-layout > .stack > .card:not(.detail-timer-card){
    padding:9px 10px!important;
    border-radius:14px!important;
  }
  .exercise-detail-layout .detail-cue-card h3,
  .exercise-detail-layout .detail-timer-card h3{
    font-size:14px!important;
    line-height:1.15!important;
    margin:0 0 3px!important;
  }
  .exercise-detail-layout .detail-cue-card p,
  .exercise-detail-layout .detail-timer-card p{
    font-size:11px!important;
    line-height:1.25!important;
    margin:3px 0!important;
  }
  .exercise-detail-layout .detail-cue-card .note,
  .exercise-detail-layout .detail-timer-card .note{
    font-size:9px!important;
    line-height:1.2!important;
  }
  .exercise-detail-layout .card.detail-timer-card{
    padding:9px 10px!important;
    border-radius:14px!important;
  }
  .exercise-detail-layout .detail-timer-card .series-tracker .row{
    gap:5px!important;
  }
  .exercise-detail-layout .detail-timer-card .series-tracker p{
    font-size:9px!important;
    margin:3px 0!important;
  }
  .exercise-detail-layout .detail-timer-card .series-tracker>small{
    font-size:9px!important;
  }
  .exercise-detail-layout .detail-timer-card .series-steps{
    gap:3px!important;
  }
  .exercise-detail-layout .detail-timer-card .series-steps i{
    width:21px!important;
    height:21px!important;
    flex-basis:21px!important;
    font-size:10px!important;
  }
  .exercise-detail-layout .detail-timer-card label{
    font-size:10px!important;
    margin:5px 0 2px!important;
  }
  .exercise-detail-layout .detail-timer-card select{
    min-height:32px!important;
    padding:5px 7px!important;
    font-size:12px!important;
  }
  .exercise-detail-layout .detail-timer-card .timer{
    font-size:34px!important;
    line-height:1!important;
    margin:3px 0!important;
  }
  .exercise-detail-layout .timer-actions{
    gap:5px!important;
  }
  .exercise-detail-layout .timer-actions>button,
  .exercise-detail-layout>.stack>.primary.full{
    min-height:35px!important;
    padding:6px 7px!important;
    font-size:11px!important;
    border-radius:10px!important;
  }
  .exercise-detail-layout>.stack>.linkbtn{
    padding:4px 7px!important;
    font-size:10px!important;
  }

  /* Échauffement/étirements ouverts depuis le programme personnalisé. */
  .warmup-detail .detail-img{
    height:150px!important;
    max-height:150px!important;
    margin:0!important;
  }
  .warmup-detail .card{
    padding:9px 10px!important;
    border-radius:14px!important;
  }
  .warmup-detail .metrics{
    min-height:0!important;
    padding:7px!important;
  }
  .warmup-detail .timer{
    font-size:34px!important;
    line-height:1!important;
    margin:3px 0!important;
  }
  .warmup-detail .timer-actions>button{
    min-height:35px!important;
    padding:6px 7px!important;
    font-size:11px!important;
  }
}
/* Ajustements demandés pour ordinateur et tablette uniquement. */
@media (min-width:700px){
  .shell .nav.compact-dock{left:50%!important;right:auto!important;transform:translateX(-50%)!important;}

  /* Bibliothèque : cartes plus fines et moins hautes, sans modifier le téléphone. */
  .shell:has(.folder-list) .folder-list{gap:10px!important;}
  .shell:has(.folder-list) .exercise-folder{
    gap:12px!important;
    padding:13px 15px!important;
    border-left-width:5px!important;
    border-radius:15px!important;
  }
  .shell:has(.folder-list) .folder-icon{
    width:40px!important;
    height:40px!important;
    border-radius:11px!important;
    font-size:22px!important;
  }
  .shell:has(.folder-list) .exercise-folder strong{font-size:17px!important;line-height:1.15!important;}
  .shell:has(.folder-list) .exercise-folder small{font-size:12px!important;line-height:1.25!important;}
  .shell:has(.folder-list) .exercise-folder em{font-size:11px!important;line-height:1.15!important;}

  .shell:has(.exercise-item) .grid.section{gap:10px!important;margin-top:12px!important;}
  .shell:has(.exercise-item) .exercise-item{margin-bottom:6px!important;}
  .shell:has(.exercise-item) .exercise{
    gap:11px!important;
    padding:9px 11px!important;
    border-radius:14px!important;
    border-left-width:4px!important;
    min-height:0!important;
  }
  .shell:has(.exercise-item) .exercise img{width:60px!important;height:62px!important;border-radius:9px!important;}
  .shell:has(.exercise-item) .exercise .category-tag{font-size:11px!important;padding:3px 7px!important;margin-bottom:2px!important;}
  .shell:has(.exercise-item) .exercise h3{font-size:15px!important;line-height:1.15!important;margin:2px 0!important;}
  .shell:has(.exercise-item) .exercise small{font-size:11px!important;line-height:1.2!important;}
  .shell:has(.exercise-item) .exercise .arrow{font-size:19px!important;}
  .shell:has(.exercise-item) .exercise-add{margin:3px 0 0 7px!important;padding:5px 8px!important;font-size:11px!important;}

  /* La liste du programme personnalisé utilise .workout-list. */
  .shell:has(.workout-list) .workout-list{gap:10px!important;}
  .shell:has(.workout-list) .exercise{
    gap:11px!important;
    padding:9px 11px!important;
    border-radius:14px!important;
    min-height:0!important;
  }
  .shell:has(.workout-list) .exercise img{width:60px!important;height:62px!important;border-radius:9px!important;}
  .shell:has(.workout-list) .exercise .category-tag{font-size:11px!important;padding:3px 7px!important;margin-bottom:2px!important;}
  .shell:has(.workout-list) .exercise h3{font-size:15px!important;line-height:1.15!important;margin:2px 0!important;}
  .shell:has(.workout-list) .exercise small{font-size:11px!important;line-height:1.2!important;}
  .shell:has(.workout-list) .exercise .arrow{font-size:19px!important;}

  /* Bilan : dézoom léger pour mieux voir le tableau et le résumé. */
  .shell:has(.progress-panel),
  .shell:has(.bilan-objective){zoom:.91!important;}

  /* Accès à vie : boutons courts et centrés, y compris le statut actif. */
  .shell:has(.purchase-page) #lifetime-status{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    text-align:center!important;
  }
  .shell:has(.purchase-page) #lifetime-status .primary,
  .shell:has(.purchase-page) .purchase-page .purchase-link,
  .shell:has(.purchase-page) .purchase-page>.secondary.section{
    display:inline-flex!important;
    width:max-content!important;
    max-width:calc(100% - 20px)!important;
    min-width:0!important;
    padding:9px 18px!important;
    font-size:13px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  .shell:has(.purchase-page) .purchase-page>.secondary.section{font-size:0!important;}
  .shell:has(.purchase-page) .purchase-page>.secondary.section::after{
    content:'Changer de compte';
    font-size:13px;
  }

  /* Icônes mentales plus explicites sans changer les icônes du téléphone. */
  .shell:has(.mental-page) .mental-card-icon svg{display:none!important;}
  .shell:has(.mental-page) .mental-card-icon::after{
    display:block;
    font-family:Arial,sans-serif;
    font-size:28px;
    line-height:1;
    font-weight:700;
  }
  .shell:has(.mental-page) .mental-card-icon-calm::after{content:'☾';}
  .shell:has(.mental-page) .mental-card-icon-intention::after{content:'◎';}
  .shell:has(.mental-page) .mental-card-icon-progress::after{content:'↗';}
}

/* Priorité finale téléphone pour les corrections demandées. */
@media (max-width:699px){
  .calendar-card>.secondary.full,
  .home-calendar-slot .calendar-card>.secondary.full{
    width:calc(100% - 36px)!important;
    max-width:calc(100% - 36px)!important;
    min-height:44px!important;
    margin:9px auto 0!important;
    padding:7px 16px!important;
    border-radius:13px!important;
    font-size:13px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  .shell:has(.home-dashboard) .pwa-tools,
  .shell:has(.profile-heading) .pwa-tools{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    text-align:center!important;
  }
  .shell:has(.home-dashboard) .pwa-tools>a,
  .shell:has(.home-dashboard) .pwa-tools>button,
  .shell:has(.profile-heading) .pwa-tools>a,
  .shell:has(.profile-heading) .pwa-tools>button{
    width:auto!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .shell:has(.home-dashboard) .pwa-tools .pwa-socials,
  .shell:has(.home-dashboard) .pwa-tools .legal-links,
  .shell:has(.profile-heading) .pwa-tools .pwa-socials,
  .shell:has(.profile-heading) .pwa-tools .legal-links{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .shell:has(.home-dashboard) .pwa-tools .note,
  .shell:has(.profile-heading) .pwa-tools .note{
    width:100%!important;
    text-align:center!important;
  }
  .exercise-detail-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .exercise-detail-actions>.primary.full,
  .exercise-detail-actions>.linkbtn{
    width:100%!important;
    min-width:0!important;
    min-height:35px!important;
    margin:0!important;
    padding:6px!important;
    border-radius:10px!important;
    font-size:10px!important;
    line-height:1.15!important;
    text-align:center!important;
  }
}

/* Priorité absolue desktop/tablette : retrouver les proportions de la bibliothèque. */
@media (min-width:700px){
  .shell:has(.folder-list) .folder-list{gap:16px!important;}
  .shell:has(.folder-list) .exercise-folder{
    gap:16px!important;
    padding:20px!important;
    border-left-width:6px!important;
    border-radius:18px!important;
  }
  .shell:has(.folder-list) .folder-icon{
    width:48px!important;
    height:48px!important;
    border-radius:14px!important;
    font-size:27px!important;
  }
  .shell:has(.folder-list) .exercise-folder strong{font-size:20px!important;line-height:1.2!important;}
  .shell:has(.folder-list) .exercise-folder small{font-size:15px!important;line-height:1.4!important;}
  .shell:has(.folder-list) .exercise-folder em{font-size:14px!important;line-height:1.2!important;}

  .shell:has(.exercise-item) .grid.section{gap:24px!important;margin-top:28px!important;}
  .shell:has(.exercise-item) .exercise-item{margin-bottom:10px!important;}
  .shell:has(.exercise-item) .exercise{
    gap:17px!important;
    padding:13px!important;
    border-radius:18px!important;
    border-left-width:5px!important;
    min-height:0!important;
  }
  .shell:has(.exercise-item) .exercise img{width:76px!important;height:78px!important;border-radius:12px!important;}
  .shell:has(.exercise-item) .exercise .category-tag{font-size:14px!important;padding:5px 10px!important;margin-bottom:8px!important;}
  .shell:has(.exercise-item) .exercise h3{font-size:18px!important;line-height:1.2!important;margin:6px 0!important;}
  .shell:has(.exercise-item) .exercise small{font-size:14px!important;line-height:1.5!important;}
  .shell:has(.exercise-item) .exercise .arrow{font-size:22px!important;}
  .shell:has(.exercise-item) .exercise-add{margin:6px 0 0 12px!important;padding:6px 10px!important;font-size:12px!important;line-height:1.2!important;}

  .shell:has(.workout-list) .workout-list{gap:14px!important;}
  .shell:has(.workout-list) .exercise{gap:17px!important;padding:13px!important;border-radius:18px!important;min-height:0!important;}
  .shell:has(.workout-list) .exercise img{width:76px!important;height:78px!important;border-radius:12px!important;}
  .shell:has(.workout-list) .exercise .category-tag{font-size:14px!important;padding:5px 10px!important;margin-bottom:8px!important;}
  .shell:has(.workout-list) .exercise h3{font-size:18px!important;line-height:1.2!important;margin:6px 0!important;}
  .shell:has(.workout-list) .exercise small{font-size:14px!important;line-height:1.5!important;}
  .shell:has(.workout-list) .exercise .arrow{font-size:22px!important;}

  .shell:has(.purchase-page) .purchase-page .purchase-link,
  .shell:has(.purchase-page) .purchase-page>.secondary.section,
  .shell:has(.purchase-page) #lifetime-status .primary{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* Agrandissement très léger demandé pour le Planning et le Mental.
   Ordinateur/tablette uniquement : le téléphone conserve exactement son rendu. */
@media (min-width:700px){
  .shell:has(.planner-page) .planner-page,
  .shell:has(.planner-page) .formwrap:has(.planner-page){
    max-width:1000px!important;
  }

  .shell:has(.mental-page) .mental-page{
    max-width:1060px!important;
  }
}

/* Contraste du pied de page : les liens légaux restent blancs sur le fond bleu
   dans l’Accueil et le Profil, sur téléphone, tablette et ordinateur. */
.shell:has(.home-dashboard) .pwa-tools .legal-links button,
.shell:has(.profile-heading) .pwa-tools .legal-links button{
  color:#fff!important;
  text-shadow:0 1px 3px #06243dcc!important;
}

/* Priorité finale : l’accueil et le profil gardent la même largeur que le
   bandeau supérieur, malgré les règles de centrage précédentes. */
@media (min-width:700px) and (max-width:1079px){
  .shell:has(.home-dashboard) .pwa-tools,
  .shell:has(.profile-heading) .pwa-tools{
    width:calc(100% + 80px)!important;
    margin-left:-40px!important;
    margin-right:0!important;
  }
}
@media (min-width:1080px){
  .shell:has(.home-dashboard) .pwa-tools,
  .shell:has(.profile-heading) .pwa-tools{
    width:calc(100% + 102px)!important;
    margin-left:-40px!important;
    margin-right:0!important;
  }
}

/* Le fond texturé doit aussi remplir la zone réservée à la barre fixe :
   aucune bande blanche ne doit rester sous le pied de page. */
.pwa-tools{
  margin-bottom:calc(-1 * (150px + env(safe-area-inset-bottom)))!important;
}

/* Sur téléphone, les règles centrées de l’accueil et du profil ne doivent
   pas raccourcir le fond bleu : il doit rejoindre les deux bords de l’écran. */
@media(max-width:699px){
  .shell:has(.home-dashboard) .pwa-tools,
  .shell:has(.profile-heading) .pwa-tools,
  .shell:has(.purchase-page) .pwa-tools,
  .shell:has(.ebook-page) .pwa-tools,
  .shell:has(.welcome-poster-page) .pwa-tools{
    width:calc(100% + 40px)!important;
    margin-left:-20px!important;
    margin-right:0!important;
  }
}

/* Le pied de page est bleu sur chaque écran : les liens restent donc lisibles
   en blanc, y compris dans Exercices, Planning, Mental et Bilan. */
.pwa-tools .legal-links button{
  color:#fff!important;
  text-shadow:0 1px 3px #06243dcc!important;
}

/* Accueil responsive : deux offres utiles, sans carte « site internet ». */
.welcome-offer-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px!important;align-items:stretch!important;margin:0!important;padding:0!important;background:transparent!important;color:#142536!important;}
.welcome-product-card{display:grid;grid-template-columns:128px minmax(0,1fr);gap:17px;align-items:center;min-width:0;padding:17px;border:1px solid rgba(119,185,223,.42);border-radius:22px;background:#fff;box-shadow:0 14px 30px rgba(7,28,44,.16);}
.welcome-product-media{width:100%;height:205px;overflow:hidden;border-radius:15px;background:#eaf5fb;box-shadow:0 8px 18px rgba(17,58,84,.16);}
.welcome-product-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.welcome-product-app .welcome-product-media img{object-position:center 38%;}
.welcome-product-ebook .welcome-product-media img{object-position:center 31%;}
.welcome-product-copy{min-width:0;align-self:center;}
.welcome-product-kicker{margin-bottom:8px;color:#1479bb;font-size:10px;font-weight:900;letter-spacing:.16em;line-height:1.25;}
.welcome-product-copy h2{margin:0 0 9px;color:#142536;font-size:clamp(20px,2.2vw,30px);line-height:1.08;overflow-wrap:anywhere;}
.welcome-product-copy p{margin:0 0 13px;color:#4b6473;font-size:14px;line-height:1.45;}
.welcome-product-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:2px 0 14px;}
.welcome-product-price strong{color:#086dcc;font-size:clamp(23px,2.35vw,34px);line-height:1;}
.welcome-product-price span{color:#527084;font-size:11px;font-weight:800;}
.welcome-product-card button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:47px;padding:10px 12px;border:0;border-radius:12px;background:linear-gradient(100deg,#0875df,#19a7ee);color:#fff;font:inherit;font-size:13px;font-weight:900;line-height:1.2;cursor:pointer;box-shadow:0 7px 16px rgba(8,117,223,.28);}
.welcome-product-card button:hover{filter:brightness(1.06);}
.welcome-product-card button:focus-visible{outline:3px solid #ffd166;outline-offset:3px;}
.welcome-product-card button b{font-size:18px;line-height:1;}
@media(min-width:1100px){
  .welcome-poster-page{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr)!important;grid-template-rows:auto auto!important;}
  .welcome-poster{grid-column:1!important;grid-row:2!important;}
  .welcome-offer-cards{grid-column:2!important;grid-row:2!important;grid-template-columns:1fr!important;align-self:start!important;}
  .welcome-product-card{grid-template-columns:132px minmax(0,1fr);}
}
@media(min-width:700px) and (max-width:1099px){
  .welcome-poster-page{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important;}
  .welcome-poster{grid-column:1!important;grid-row:2!important;max-width:760px!important;justify-self:center!important;}
  .welcome-offer-cards{grid-column:1!important;grid-row:3!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .welcome-product-card{grid-template-columns:112px minmax(0,1fr);gap:14px;padding:15px;}
  .welcome-product-media{height:190px;}
}
@media(max-width:699px){
  .welcome-poster-page{display:block!important;padding:10px!important;}
  .welcome-logo-heading{margin-bottom:10px;}
  .welcome-poster{width:100%!important;max-width:none!important;border-radius:18px!important;overflow:hidden!important;}
  .welcome-offer-cards{grid-template-columns:1fr!important;gap:14px!important;margin-top:14px!important;}
  .welcome-product-card{grid-template-columns:112px minmax(0,1fr);gap:14px;padding:14px;border-radius:18px;}
  .welcome-product-media{height:188px;border-radius:12px;}
  .welcome-product-copy h2{font-size:clamp(20px,6.6vw,28px);}
  .welcome-product-copy p{font-size:13px;line-height:1.38;}
  .welcome-product-card button{min-height:45px;padding:9px 8px;font-size:12px;}
}
@media(max-width:430px){
  .welcome-product-card{grid-template-columns:94px minmax(0,1fr);gap:11px;padding:11px;}
  .welcome-product-media{height:160px;}
  .welcome-product-kicker{font-size:8px;letter-spacing:.12em;}
  .welcome-product-copy h2{font-size:20px;}
  .welcome-product-copy p{font-size:12px;}
  .welcome-product-price{gap:5px;margin-bottom:10px;}
  .welcome-product-price strong{font-size:23px;}
  .welcome-product-price span{font-size:9px;}
  .welcome-product-card button{font-size:11px;}
}

/* Dans Exercices, Planning, Mental et Bilan, garder le fond bleu et EN,
   mais retirer le bloc de contact entouré par l'utilisateur. */
.pwa-tools[data-screen="exercises"] > :not(.language-footer-controls),
.pwa-tools[data-screen="planner"] > :not(.language-footer-controls),
.pwa-tools[data-screen="mental"] > :not(.language-footer-controls),
.pwa-tools[data-screen="bilan"] > :not(.language-footer-controls){
  display:none!important;
}

/* Keep the marketing landing page outside the app's desktop side-rail shell. */
body .shell:has(.fm-home){width:min(100% - 32px,1600px);max-width:1600px;min-height:100vh;margin:0 auto;padding:16px 0 22px;border:0;border-radius:0;background:transparent!important;overflow:visible;box-shadow:none}
@media(max-width:1100px){body .shell:has(.fm-home){width:min(100% - 28px,1000px);max-width:1000px;margin:0 auto;padding:14px 0 20px}}
@media(max-width:700px){body .shell:has(.fm-home){width:100%;max-width:none;margin:0;padding:10px 12px 18px}}
.fm-home-book-art img,.fm-home-product-cover img{width:200%;max-width:none;height:200%;transform:translate(-25%,-12%);object-fit:cover}

/* Accueil fidèle à la maquette approuvée. Les recadrages CSS conservent les pixels de la référence. */
body:has(.fm-ref){background:#021b3b;background-image:radial-gradient(circle,#098fff 1.6px,transparent 2px),linear-gradient(130deg,transparent 0 38%,#06478555 38% 40%,transparent 40% 71%,#0754a855 71% 73%,transparent 73%);background-size:21px 21px,100% 100%;}
body .shell:has(.fm-ref){width:min(calc(100% - 5vw),1588px);max-width:1588px;min-height:100vh;margin:0 auto;padding:16px 0 20px;border:0;border-radius:0;background:transparent!important;box-shadow:none;overflow:visible}
.shell:has(.fm-ref)>.top{display:none}
.fm-ref{display:grid;gap:12px;color:#0b1730;font-family:Arial,Helvetica,sans-serif}
.fm-ref *{box-sizing:border-box}
.fm-ref button,.fm-ref a{font:inherit;cursor:pointer}
.fm-ref-desktop{display:grid}
.fm-ref-fluid{display:none}
.fm-ref-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fm-ref-header{position:relative;display:block;width:88.3%;aspect-ratio:1402/99;margin:0 auto}
.fm-ref-header nav{position:absolute;inset:0}
.fm-ref-art,.fm-ref-panel,.fm-ref-photo,.fm-ref-cover,.fm-ref-app-shot{background-image:url('/assets/home-approved-reference.webp');background-repeat:no-repeat}
.fm-ref-header-art{width:100%;height:100%;background-size:119.26% auto;background-position:50% 1.9%;border-radius:16px}
.fm-ref-hotspot{position:absolute;display:block;padding:0;border:0;background:transparent;color:transparent;text-decoration:none}
.fm-ref-hotspot:focus-visible{outline:3px solid #ffba2a;outline-offset:2px;border-radius:8px}
.fm-ref-nav-home{left:31%;top:27%;width:6%;height:55%}
.fm-ref-nav-app{left:39%;top:27%;width:8%;height:55%}
.fm-ref-nav-book{left:49%;top:27%;width:6%;height:55%}
.fm-ref-nav-coach{left:56.5%;top:27%;width:7%;height:55%}
.fm-ref-nav-contact{left:65%;top:27%;width:7%;height:55%}
.fm-ref-nav-cta{left:74.3%;top:18%;width:23.4%;height:61%}
.fm-ref-feature{grid-template-columns:873fr 703fr;gap:12px}
.fm-ref-panel{position:relative;min-width:0;overflow:hidden;border-radius:15px}
.fm-ref-hero-art{aspect-ratio:873/431;background-size:191.52% auto;background-position:5.26% 25.34%}
.fm-ref-book-art{aspect-ratio:703/431;background-size:237.84% auto;background-position:95.67% 25.34%}
.fm-ref-hero-cta{left:4.8%;top:81%;width:43.3%;height:14%}
.fm-ref-book-cta{left:48.7%;top:75%;width:45.3%;height:14%}
.fm-ref-products{grid-template-columns:683fr 375fr 514fr;gap:10px}
.fm-ref-app-art{aspect-ratio:683/254;background-size:244.8% auto;background-position:4.25% 83.09%}
.fm-ref-smallbook-art{aspect-ratio:375/254;background-size:464.44% auto;background-position:56% 81.8%;border:1px solid #d5e9ff}
.fm-ref-app-cta{left:3.7%;top:70.5%;width:33.3%;height:17%}
.fm-ref-smallbook-cta{left:5.3%;top:70.5%;width:49%;height:17%}
.fm-ref-footer{display:grid;justify-items:center;gap:10px;color:white}
.fm-ref-site{display:flex;align-items:center;justify-content:center;min-width:min(420px,100%);min-height:56px;padding:8px 24px;border:1px solid #28bbff;border-radius:999px;background:linear-gradient(115deg,#0579ff,#0352ee);box-shadow:0 7px 21px #0068ff66;color:#fff;text-decoration:none;font-size:22px!important;font-weight:800!important}
.fm-ref-socials{display:flex;justify-content:center;gap:42px;width:88%;padding:11px 0 0;border-top:1px solid #cee8ff}
.fm-ref-socials a,.fm-ref-email{color:#fff;text-decoration:none;font-size:14px}
.fm-ref-email{padding:5px 12px;text-decoration:underline;text-underline-offset:3px}
.fm-ref-contact{display:grid;justify-items:center;gap:5px;text-align:center;color:#fff;font-size:14px}
.fm-ref-contact strong{font-size:16px}
.fm-ref-contact span{color:#d9e8fa}
.fm-ref-coaching-page{min-height:calc(100vh - 40px);padding:20px;background:#fff}
.fm-ref-coaching-page button{border:0;background:transparent;color:#075eea;font-size:15px;font-weight:700;cursor:pointer}
@media(max-width:1199px){
 body .shell:has(.fm-ref){width:min(calc(100% - 28px),1000px);padding-top:14px}
 .fm-ref{gap:12px}
 .fm-ref-desktop{display:none}
 .fm-ref-fluid{display:grid}
 .fm-ref-header-fluid{grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px 18px;border-radius:16px;background:#fff}
 .fm-ref-header-fluid>a{display:block;width:min(240px,100%);line-height:0}
 .fm-ref-header-fluid img{width:100%;height:auto}
 .fm-ref-header-fluid nav{grid-column:1/-1;display:flex;justify-content:center;gap:clamp(12px,4vw,48px);align-items:center}
 .fm-ref-header-fluid nav button,.fm-ref-header-fluid nav a{padding:9px 0;border:0;background:transparent;color:#101932;text-decoration:none;font-size:15px}
 .fm-ref-header-fluid nav a:first-child{color:#005bfc;font-weight:700;border-bottom:2px solid #005bfc}
 .fm-ref-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:10px 24px;border:1px solid #23bcff;border-radius:999px;background:linear-gradient(110deg,#007bff,#0555ed);box-shadow:0 8px 18px #066aff55;color:#fff;font-size:16px;font-weight:800;line-height:1.2}
 .fm-ref-fluid-body{gap:12px}
 .fm-ref-fluid-hero{display:grid;grid-template-columns:1fr .95fr;min-height:400px;overflow:hidden;border-radius:16px;background:linear-gradient(122deg,#fff 0 56%,#d5efff 56% 64%,#1488ed 64% 66%,#fff 66%)}
 .fm-ref-fluid-copy{z-index:1;align-self:center;padding:26px 14px 26px 38px}
 .fm-ref-eyebrow{color:#045bff;font-size:13px;font-weight:800;letter-spacing:.32em}
 .fm-ref-fluid-copy h1{margin:16px 0 12px;font-size:clamp(44px,6vw,72px);line-height:.95;letter-spacing:-.055em;color:#080d29}
 .fm-ref-fluid-copy h1 em{font-style:normal;color:#0964f4}
 .fm-ref-fluid-copy p{max-width:430px;margin:0 0 20px;font-size:clamp(16px,1.8vw,20px);line-height:1.3}
 .fm-ref-photo{min-height:400px;background-size:385.25% auto;background-position:38.77% 25.44%}
 .fm-ref-fluid-book{display:grid;grid-template-columns:minmax(180px,.75fr) 1fr;align-items:center;gap:24px;padding:28px;border:1px solid #079bff;border-radius:16px;background:radial-gradient(ellipse at 20% 30%,#12385e,#00152d 75%);color:white}
 .fm-ref-cover{width:min(100%,250px);aspect-ratio:250/390;background-size:668.8% auto;background-position:68.21% 27.27%;filter:drop-shadow(8px 10px 10px #0007)}
 .fm-ref-fluid-book .fm-ref-cover{justify-self:center}
 .fm-ref-pill{display:inline-block;padding:7px 18px;border:1px solid #0867a5;border-radius:999px;background:#063258;color:#39b6ff;font-size:12px;font-weight:800;letter-spacing:.25em}
 .fm-ref-fluid-book h2{margin:16px 0 10px;font-size:clamp(27px,3.8vw,38px);line-height:1.05}
 .fm-ref-fluid-book p{max-width:360px;margin:0 0 15px;font-size:18px;line-height:1.34}
 .fm-ref-fluid-book strong{display:block;margin:0 0 18px;color:#1697ff;font-size:32px}
 .fm-ref-fluid-products{display:grid;grid-template-columns:1.6fr 1fr;gap:10px}
 .fm-ref-fluid-product{display:grid;min-width:0;overflow:hidden;border:1px solid #c2e4ff;border-radius:15px;background:linear-gradient(115deg,#fff,#f5faff);box-shadow:0 8px 18px #031c3a22}
 .fm-ref-fluid-app{grid-template-columns:.9fr 1.1fr;gap:10px;align-items:center;padding:16px}
 .fm-ref-fluid-smallbook{grid-template-columns:1fr .7fr;gap:8px;align-items:center;padding:16px}
 .fm-ref-fluid-product h2{display:flex;align-items:center;gap:9px;margin:0 0 13px;color:#07122d;font-size:clamp(19px,2.2vw,25px)}
 .fm-ref-fluid-product h2 b{display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:50%;background:#0769fa;color:#fff;font-size:17px}
 .fm-ref-fluid-product p{margin:0 0 16px;font-size:clamp(13px,1.4vw,17px);line-height:1.35}
 .fm-ref-outline{min-height:43px;padding:8px 14px;border:1px solid #9bd6ff;border-radius:999px;background:#ecf8ff;color:#0066ee;font-weight:800;font-size:13px!important;white-space:nowrap}
 .fm-ref-app-shot{width:100%;aspect-ratio:390/236;border-radius:9px;background-size:428.7% auto;background-position:24.57% 82.95%;box-shadow:0 4px 10px #001b3c33}
 .fm-ref-fluid-smallbook .fm-ref-cover{width:min(100%,140px)}
}
@media(max-width:700px){
 body .shell:has(.fm-ref){width:100%;padding:10px 12px 18px}
 .fm-ref-header-fluid{padding:9px 12px;gap:7px}
 .fm-ref-header-fluid>a{width:min(175px,100%)}
 .fm-ref-header-fluid>.fm-ref-button{min-height:41px;padding:7px 10px;font-size:11px}
 .fm-ref-header-fluid nav{justify-content:space-between;gap:10px;overflow-x:auto;scrollbar-width:none}
 .fm-ref-header-fluid nav button,.fm-ref-header-fluid nav a{flex:none;font-size:13px;white-space:nowrap}
 .fm-ref-fluid-hero{grid-template-columns:1fr;background:#fff}
 .fm-ref-fluid-copy{padding:25px 23px 19px}
 .fm-ref-fluid-copy h1{font-size:clamp(43px,11vw,62px)}
 .fm-ref-fluid-copy p{font-size:16px}
 .fm-ref-fluid-copy .fm-ref-button{font-size:14px;min-height:49px}
 .fm-ref-photo{height:clamp(270px,85vw,410px);min-height:0;background-size:auto 218%;background-position:39% 25%}
 .fm-ref-fluid-book{grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);gap:14px;padding:16px 13px}
 .fm-ref-fluid-book .fm-ref-cover{width:100%}
 .fm-ref-fluid-book h2{font-size:clamp(20px,5vw,27px);margin:11px 0 8px}
 .fm-ref-fluid-book p{font-size:13px;margin-bottom:8px}
 .fm-ref-fluid-book strong{font-size:24px;margin-bottom:9px}
 .fm-ref-pill{font-size:10px;padding:5px 10px}
 .fm-ref-fluid-book .fm-ref-button{min-height:42px;padding:7px 11px;font-size:12px}
 .fm-ref-fluid-products{grid-template-columns:1fr}
 .fm-ref-fluid-app{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);padding:15px 12px}
 .fm-ref-fluid-smallbook{grid-template-columns:minmax(0,1fr) minmax(105px,.7fr);padding:15px 12px}
 .fm-ref-fluid-product h2{font-size:19px}
 .fm-ref-fluid-product h2 b{width:36px;height:36px;font-size:15px}
 .fm-ref-fluid-product p{font-size:14px}
 .fm-ref-fluid-smallbook .fm-ref-cover{width:min(100%,125px);justify-self:center}
 .fm-ref-site{min-width:0;width:min(100%,420px);min-height:47px;font-size:18px!important}
 .fm-ref-socials{width:100%;gap:12px;flex-wrap:wrap;text-align:center}
 .fm-ref-socials a{font-size:12px}
}
@media(max-width:390px){
 .fm-ref-header-fluid>a{width:min(150px,100%)}
 .fm-ref-header-fluid>.fm-ref-button{font-size:10px}
 .fm-ref-fluid-book{grid-template-columns:100px minmax(0,1fr);gap:10px}
 .fm-ref-fluid-book h2{font-size:19px}
 .fm-ref-fluid-book p{font-size:12px}
 .fm-ref-fluid-product{grid-template-columns:1fr;gap:12px}
 .fm-ref-app-shot{max-width:390px}
 .fm-ref-fluid-smallbook{grid-template-columns:minmax(0,1fr) 105px}
 .fm-ref-outline{font-size:12px!important;white-space:normal}
}

/* Sur natel, la barre blanche et les deux cartes restent compactes et lisibles. */
@media(max-width:1199px){
 .fm-ref-header-fluid{padding:8px 14px;gap:5px 10px}
 .fm-ref-header-fluid>a{width:min(205px,100%)}
 .fm-ref-header-fluid nav button,.fm-ref-header-fluid nav a{padding:6px 0;font-size:14px}
 .fm-ref-header-fluid>.fm-ref-button{min-height:44px;padding:8px 17px;font-size:14px}
}
@media(max-width:700px){
 body .shell:has(.fm-ref){padding:8px 10px 18px}
 .fm-ref{gap:9px}
 .fm-ref-fluid-body{gap:9px}
 .fm-ref-header-fluid{padding:6px 10px;gap:3px 8px;border-radius:14px}
 .fm-ref-header-fluid>a{width:min(128px,100%)}
 .fm-ref-header-fluid>.fm-ref-button{min-height:36px;padding:5px 9px;font-size:11px}
 .fm-ref-header-fluid nav{gap:7px}
 .fm-ref-header-fluid nav button,.fm-ref-header-fluid nav a{padding:5px 0;font-size:12px}
 .fm-ref-fluid-copy{padding:18px 18px 16px}
 .fm-ref-eyebrow{font-size:11px;letter-spacing:.25em}
 .fm-ref-fluid-copy h1{margin:10px 0 10px;font-size:clamp(36px,9.3vw,48px)}
 .fm-ref-fluid-copy p{margin-bottom:14px;font-size:14px;line-height:1.28}
 .fm-ref-fluid-copy .fm-ref-button{min-height:42px;padding:7px 15px;font-size:13px}
 .fm-ref-photo{height:clamp(220px,66vw,320px)}
 .fm-ref-fluid-book{gap:10px;padding:12px}
 .fm-ref-fluid-book h2{font-size:clamp(19px,4.7vw,25px)}
 .fm-ref-fluid-book p{font-size:12px;line-height:1.28}
 .fm-ref-fluid-book strong{font-size:21px}
 .fm-ref-fluid-book .fm-ref-button{min-height:38px;font-size:11px}
 .fm-ref-fluid-product{padding:11px;gap:8px}
 .fm-ref-fluid-product h2{margin-bottom:8px;font-size:17px}
 .fm-ref-fluid-product h2 b{width:34px;height:34px;font-size:14px}
 .fm-ref-fluid-product p{margin-bottom:10px;font-size:12px;line-height:1.3}
 .fm-ref-outline{min-height:37px;padding:6px 9px;font-size:11px!important;white-space:normal}
 .fm-ref-fluid-smallbook .fm-ref-cover{width:min(100%,105px)}
 .fm-ref-site{min-height:43px;font-size:16px!important}
 .fm-ref-contact{font-size:12px}
 .fm-ref-contact strong{font-size:14px}
}
@media(max-width:390px){
 .fm-ref-header-fluid>a{width:min(120px,100%)}
 .fm-ref-header-fluid>.fm-ref-button{font-size:10px}
 .fm-ref-fluid-app{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
 .fm-ref-fluid-smallbook{grid-template-columns:minmax(0,1fr) 95px}
 .fm-ref-fluid-book{grid-template-columns:95px minmax(0,1fr)}
}

/* Présentation des produits et carrousel de la page d’accueil. */
.fm-ref-main-offers{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(360px,1fr);gap:12px}
.fm-ref-product-showcase{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);min-width:0;overflow:hidden;border:1px solid #d5ebff;border-radius:16px;background:#fff}
.fm-ref-product-showcase .fm-ref-fluid-copy{align-self:center;padding:34px 22px 34px 40px}
.fm-ref-product-showcase .fm-ref-eyebrow{color:#0866f5;font-size:14px;font-weight:800;letter-spacing:.3em}
.fm-ref-product-showcase h1{margin:15px 0 14px;color:#080f28;font-size:clamp(42px,4vw,66px);line-height:.95;letter-spacing:-.055em}
.fm-ref-product-showcase h1 em{color:#0868f5;font-style:normal}
.fm-ref-product-showcase p{margin:0 0 18px;color:#263650;font-size:clamp(15px,1.25vw,19px);line-height:1.38}
.fm-ref-showcase-actions{display:flex;flex-wrap:wrap;gap:10px}
.fm-ref-showcase-actions .fm-ref-button{min-height:48px;padding:8px 18px;font-size:14px}
.fm-ref-showcase-actions .fm-ref-outline{min-height:48px;padding:8px 18px}
.fm-ref-carousel{min-width:0;overflow:hidden;background:linear-gradient(145deg,#eaf6ff,#073466);border-left:1px solid #d5eaff}
.fm-ref-carousel-track{display:flex;width:300%;height:100%;animation:fmRefCarousel 15s infinite ease-in-out}
.fm-ref-carousel figure{position:relative;display:grid;place-items:center;width:33.3333%;min-width:0;min-height:420px;margin:0;padding:24px;overflow:hidden}
.fm-ref-carousel figure>img{display:block;width:100%;height:100%;max-height:380px;object-fit:contain}
.fm-ref-carousel .fm-ref-slide-coach{max-height:none;object-fit:cover;object-position:center 20%}
.fm-ref-carousel figcaption{position:absolute;right:18px;bottom:16px;left:18px;padding:9px 12px;border-radius:999px;background:#001a3dcc;color:#fff;text-align:center;font-size:13px;font-weight:700;backdrop-filter:blur(5px)}
.fm-ref-slide-app{display:block;width:100%;aspect-ratio:390/236;border-radius:10px;object-fit:cover;box-shadow:0 10px 24px #001a3d55}
.fm-coaching-collage{display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:1fr 1fr;gap:7px;width:100%;height:100%;max-height:380px;overflow:hidden;border-radius:12px;box-shadow:0 10px 24px #001a3d55}
.fm-coaching-collage img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.fm-coaching-collage img:first-child{grid-row:1/3;object-position:center 35%}
.fm-coaching-collage img:nth-child(2){object-position:center 48%}
.fm-coaching-collage img:nth-child(3){object-position:center 28%}
@keyframes fmRefCarousel{0%,27%{transform:translateX(0)}33%,60%{transform:translateX(-33.3333%)}66%,93%{transform:translateX(-66.6667%)}100%{transform:translateX(0)}}
.fm-ref-book-card{display:grid;grid-template-columns:minmax(180px,.78fr) minmax(0,1.22fr);align-items:center;gap:20px;min-width:0;padding:24px;border:1px solid #098fff;border-radius:16px;background:radial-gradient(ellipse at 20% 25%,#153e67,#00152f 75%);color:#fff}
.fm-ref-cover{width:min(100%,250px);aspect-ratio:250/390;background-image:url('/assets/home-approved-reference.webp');background-repeat:no-repeat;background-size:668.8% auto;background-position:68.21% 27.27%;filter:drop-shadow(8px 10px 10px #0007)}
.fm-ref-book-card .fm-ref-cover{justify-self:center}
.fm-ref-book-card .fm-ref-pill{display:inline-block;padding:7px 18px;border:1px solid #0867a5;border-radius:999px;background:#063258;color:#39b6ff;font-size:12px;font-weight:800;letter-spacing:.25em}
.fm-ref-book-card h2{margin:16px 0 10px;font-size:clamp(25px,2.25vw,38px);line-height:1.05}
.fm-ref-book-card p{margin:0 0 15px;font-size:clamp(14px,1.2vw,18px);line-height:1.35}
.fm-ref-book-card strong{display:block;margin:0 0 18px;color:#1697ff;font-size:32px}
.fm-ref-book-card .fm-ref-button{min-height:48px;padding:8px 16px;font-size:14px}
.fm-ref-fluid-app h2 span{white-space:nowrap}
.fm-ref-footer{padding-top:8px}
.fm-ref-contact{gap:4px}
.fm-ref-contact strong{font-size:18px}
.fm-ref-socials a{display:flex;align-items:center;gap:9px}
.fm-ref-socials svg{width:23px;height:23px;fill:currentColor;flex:none}
.fm-ref-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;width:88%;padding-top:11px;border-top:1px solid #cee8ff}
.fm-ref-legal button{padding:5px;border:0;background:transparent;color:#dbeaff;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.fm-nav-disabled{cursor:default!important;opacity:.58}

/* Les pages Application et E-book reprennent la même identité que l’accueil. */
body:has(.fm-market-page){background:#021b3b;background-image:radial-gradient(circle,#098fff 1.6px,transparent 2px),linear-gradient(130deg,transparent 0 38%,#06478555 38% 40%,transparent 40% 71%,#0754a855 71% 73%,transparent 73%);background-size:21px 21px,100% 100%}
body .shell:has(.fm-market-page){width:min(calc(100% - 5vw),1400px);max-width:1400px;min-height:100vh;margin:0 auto;padding:16px 0 28px;border:0;border-radius:0;background:transparent!important;box-shadow:none;overflow:visible}
.fm-market-page{display:grid;gap:14px}
.fm-market-page-header{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(420px,1.5fr) minmax(230px,.8fr);align-items:center;gap:18px;padding:10px 24px;border:1px solid #dceafb;border-radius:17px;background:linear-gradient(100deg,#fff,#f5faff);box-shadow:0 9px 28px #0002}
.fm-market-page-header>a{display:block;width:min(100%,235px);line-height:0}
.fm-market-page-header img{display:block;width:100%;height:auto}
.fm-market-page-header>nav{display:flex;justify-content:center;align-items:center;gap:clamp(14px,2.5vw,38px);white-space:nowrap}
.fm-market-page-header nav button{position:relative;padding:9px 0;border:0;background:transparent;color:#111a2e;font-size:15px}
.fm-market-page-header nav .is-active{color:#075fee;font-weight:800}
.fm-market-page-header nav .is-active:after{position:absolute;right:0;bottom:2px;left:0;height:2px;background:#0876f9;content:""}
.fm-market-page-header>.fm-ref-button{justify-self:end;min-height:48px;padding:8px 18px;font-size:14px}
.fm-market-page>.purchase-page,.fm-market-page>.ebook-page{width:min(100%,900px);max-width:900px;margin:0 auto;padding:28px;border:1px solid #d5eaff;border-radius:18px;background:#fff;box-shadow:0 12px 30px #0003}
.fm-market-page .back{color:#0876e8!important}

@media(max-width:1199px){
 .fm-ref-main-offers{grid-template-columns:1fr}
 .fm-ref-product-showcase{grid-template-columns:1fr 1fr}
 .fm-ref-carousel figure{min-height:360px}
 .fm-ref-book-card{grid-template-columns:minmax(170px,.58fr) minmax(0,1fr)}
 body .shell:has(.fm-market-page){width:min(calc(100% - 28px),1000px)}
 .fm-market-page-header{grid-template-columns:minmax(170px,.7fr) minmax(0,1.3fr);gap:8px 12px;padding:9px 16px}
 .fm-market-page-header>a{width:min(100%,210px)}
 .fm-market-page-header>nav{grid-column:1/-1;grid-row:2}
 .fm-market-page-header>.fm-ref-button{grid-column:2;grid-row:1}
}
@media(max-width:700px){
 .fm-ref-main-offers{gap:9px}
 .fm-ref-product-showcase{grid-template-columns:1fr}
 .fm-ref-product-showcase .fm-ref-fluid-copy{padding:18px}
 .fm-ref-product-showcase h1{margin:10px 0;font-size:clamp(34px,9vw,46px)}
 .fm-ref-product-showcase p{font-size:14px}
 .fm-ref-showcase-actions{display:grid;grid-template-columns:1fr 1fr}
 .fm-ref-showcase-actions .fm-ref-button,.fm-ref-showcase-actions .fm-ref-outline{min-height:40px;padding:7px 9px;font-size:11px!important;white-space:normal}
 .fm-ref-carousel{border-top:1px solid #d5eaff;border-left:0}
 .fm-ref-carousel figure{min-height:250px;padding:18px}
 .fm-ref-carousel figure>img{max-height:235px}
 .fm-ref-carousel figcaption{right:12px;bottom:10px;left:12px;font-size:11px}
 .fm-ref-book-card{grid-template-columns:100px minmax(0,1fr);gap:10px;padding:12px}
 .fm-ref-book-card h2{margin:10px 0 7px;font-size:19px}
 .fm-ref-book-card p{margin-bottom:8px;font-size:12px}
 .fm-ref-book-card strong{margin-bottom:8px;font-size:21px}
 .fm-ref-book-card .fm-ref-pill{padding:5px 10px;font-size:9px}
 .fm-ref-book-card .fm-ref-button{min-height:38px;padding:6px 9px;font-size:11px}
 .fm-ref-fluid-app h2{font-size:16px}
 .fm-ref-socials{display:grid;grid-template-columns:1fr 1fr}
 .fm-ref-socials a{justify-content:center;font-size:11px}
 .fm-ref-socials svg{width:21px;height:21px}
 .fm-ref-legal{width:100%;gap:5px 12px}
 body .shell:has(.fm-market-page){width:100%;padding:8px 10px 20px}
 .fm-market-page{gap:9px}
 .fm-market-page-header{grid-template-columns:minmax(0,1fr) auto;padding:6px 10px;border-radius:14px}
 .fm-market-page-header>a{width:min(128px,100%)}
 .fm-market-page-header>.fm-ref-button{min-height:36px;padding:5px 9px;font-size:11px}
 .fm-market-page-header>nav{justify-content:space-between;gap:7px;overflow-x:auto;scrollbar-width:none}
 .fm-market-page-header nav button{flex:none;padding:5px 0;font-size:12px}
 .fm-market-page>.purchase-page,.fm-market-page>.ebook-page{padding:18px 14px;border-radius:14px}
 .fm-market-page .purchase-page h1{font-size:34px!important}
 .fm-market-page .ebook-page-hero{border-radius:14px}
}
@media(prefers-reduced-motion:reduce){.fm-ref-carousel-track{animation:none}}

/* Ajustements compacts demandés pour l’affichage sur natel. */
@media(max-width:700px){
 .fm-ref-product-showcase .fm-ref-fluid-copy{padding:14px 16px 15px}
 .fm-ref-product-showcase .fm-ref-eyebrow{font-size:10px;letter-spacing:.25em}
 .fm-ref-product-showcase h1{margin:8px 0 9px;font-size:clamp(30px,8.1vw,38px);line-height:.98}
 .fm-ref-product-showcase p{margin-bottom:12px;font-size:13px;line-height:1.32}
 .fm-ref-showcase-actions{gap:8px}
 .fm-ref-showcase-actions .fm-ref-button,.fm-ref-showcase-actions .fm-ref-outline{min-height:37px;padding:6px 8px;font-size:10.5px!important}
 .fm-ref-carousel-track{height:auto}
 .fm-ref-carousel figure{height:218px;min-height:218px;padding:12px}
 .fm-ref-carousel figure>img{max-height:190px}
 .fm-coaching-collage{height:190px;max-height:190px;gap:5px;border-radius:9px}
 .fm-ref-carousel figcaption{right:10px;bottom:8px;left:10px;padding:7px 9px;font-size:10px}
 .fm-ref-fluid-app{grid-template-columns:minmax(0,1.12fr) minmax(120px,.88fr);gap:8px;align-items:center}
 .fm-ref-fluid-app h2{gap:7px;font-size:15px}
 .fm-ref-fluid-app h2 b{width:32px;height:32px;font-size:13px}
 .fm-ref-fluid-app p{margin-bottom:8px;font-size:11.5px;line-height:1.28}
 .fm-ref-fluid-app .fm-ref-outline{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:34px;padding:5px 9px;font-size:10.5px!important;white-space:nowrap}
 .fm-ref-app-shot{display:block;width:100%;max-width:none;aspect-ratio:390/236;border-radius:8px;object-fit:cover;background:none;box-shadow:0 5px 12px #001b3c33}
 .fm-market-page .ebook-page-card{padding:15px 14px}
 .fm-market-page .ebook-page-price{gap:7px;margin-bottom:10px}
 .fm-market-page .ebook-page-price strong{font-size:32px}
 .fm-market-page .ebook-page-price span{font-size:11px}
 .fm-market-page .ebook-page-card>p{margin:0 0 9px;font-size:13.5px;line-height:1.42}
 .fm-market-page .ebook-page-card ul{margin:7px 0 0;padding-left:19px;font-size:13px;line-height:1.42}
 .fm-market-page .ebook-page-card li+li{margin-top:5px}
 .fm-market-page .ebook-page-card .public-ebook-note{margin-top:10px;font-size:11px}
 .fm-market-page .ebook-page-hero{grid-template-columns:96px minmax(0,1fr);gap:11px;padding:11px}
 .fm-market-page .ebook-page-hero>img{width:96px;height:140px}
 .fm-market-page .ebook-page-hero h1{font-size:22px}
 .fm-market-page .ebook-page-hero p{margin-top:7px;font-size:13px}
}

/* Bloc d’introduction plus visuel et plus professionnel. */
.fm-ref-product-showcase .fm-ref-fluid-copy{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#f2f8ff 62%,#dceeff 100%)}
.fm-ref-product-showcase .fm-ref-fluid-copy:before{position:absolute;z-index:-1;right:-90px;bottom:-105px;width:245px;height:245px;border-radius:50%;background:radial-gradient(circle,#1697ff55 0 28%,#0873f522 29% 52%,transparent 53%);content:""}
.fm-ref-offer-label{display:inline-flex;align-items:center;min-height:30px;padding:6px 13px;border:1px solid #87c7ff;border-radius:999px;background:#eaf6ff;color:#0564d9;font-size:11px;font-weight:900;letter-spacing:.16em}
.fm-ref-offer-points{display:grid;gap:6px;margin:0 0 20px;padding:0;list-style:none;color:#14243f;font-size:14px;font-weight:700}
.fm-ref-offer-points li{display:flex;align-items:center;gap:8px}
.fm-ref-offer-points b{display:grid;place-items:center;width:21px;height:21px;flex:none;border-radius:50%;background:#0674f6;color:#fff;font-size:12px}

/* Page Coaching FM Performance et passerelle de réservation Kartel. */
.fm-coaching-page{gap:14px}
.fm-coaching-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr);align-items:center;gap:34px;padding:38px 44px;border:1px solid #b6dcff;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f1f8ff 58%,#dceeff 100%);box-shadow:0 15px 40px #00152f44;overflow:hidden}
.fm-coaching-copy{position:relative;z-index:2}
.fm-coaching-kicker{display:inline-block;padding:7px 14px;border-radius:999px;background:#dff1ff;color:#0769e8;font-size:12px;font-weight:900;letter-spacing:.2em}
.fm-coaching-copy h1{margin:18px 0 16px;color:#07132d;font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.05em}
.fm-coaching-copy h1 em{color:#0877f9;font-style:normal}
.fm-coaching-copy>p{max-width:650px;margin:0 0 23px;color:#31425d;font-size:18px;line-height:1.5}
.fm-coaching-actions{display:flex;flex-wrap:wrap;gap:11px}
.fm-coaching-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.fm-coaching-actions .fm-ref-button{min-height:49px;padding:8px 20px;font-size:14px}
.fm-coaching-actions .fm-ref-outline{min-height:49px;padding:8px 20px;background:#fff;font-size:14px}
.fm-coaching-photo-ring{position:relative;justify-self:center;width:min(100%,410px);aspect-ratio:1;border:9px solid #fff;border-radius:50%;background:#092b57;box-shadow:0 0 0 2px #1b9bff,0 20px 42px #001d4266;overflow:hidden}
.fm-coaching-photo-ring:after{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 45px #00132955;content:""}
.fm-coaching-photo-ring img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:fmCoachPhotos 32s infinite}
.fm-coaching-photo-ring img:nth-child(2){animation-delay:4s}.fm-coaching-photo-ring img:nth-child(3){animation-delay:8s}.fm-coaching-photo-ring img:nth-child(4){animation-delay:12s}.fm-coaching-photo-ring img:nth-child(5){animation-delay:16s}.fm-coaching-photo-ring img:nth-child(6){animation-delay:20s;object-position:center 35%}.fm-coaching-photo-ring img:nth-child(7){animation-delay:24s;object-position:center 25%}.fm-coaching-photo-ring img:nth-child(8){animation-delay:28s;object-position:center 45%}
@keyframes fmCoachPhotos{0%,12%{opacity:1;transform:scale(1)}15%,100%{opacity:0;transform:scale(1.045)}}
.fm-coaching-services{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fm-coaching-services article{display:flex;gap:15px;min-width:0;padding:24px;border:1px solid #c2e3ff;border-radius:18px;background:linear-gradient(145deg,#fff,#edf7ff);box-shadow:0 9px 24px #001c3d22}
.fm-coaching-services article>span{display:grid;place-items:center;width:45px;height:45px;flex:none;border-radius:50%;background:linear-gradient(145deg,#0594ff,#0757ed);box-shadow:0 7px 17px #0874f955;color:#fff;font-weight:900}
.fm-coaching-services h2{margin:2px 0 9px;color:#07162f;font-size:21px;line-height:1.12}
.fm-coaching-services p{margin:0;color:#40516a;font-size:14px;line-height:1.48}
.fm-kartel-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;padding:27px 34px;border:1px solid #178cff;border-radius:20px;background:radial-gradient(circle at 10% 10%,#174d82,#00182f 72%);color:#fff;box-shadow:0 12px 30px #00152f66}
.fm-kartel-heading{display:flex;align-items:center;gap:13px}
.fm-kartel-heading>span:last-child{color:#40b3ff;font-size:11px;font-weight:900;letter-spacing:.2em}
.fm-kartel-logo{display:grid;width:106px;padding:6px 9px;border-radius:8px;background:#fff;color:#07111e;line-height:1;text-align:center;transform:skew(-5deg);box-shadow:0 5px 14px #0005}
.fm-kartel-logo b{font-size:18px;font-weight:1000;letter-spacing:-.08em}
.fm-kartel-logo small{margin-top:3px;padding-top:3px;border-top:2px solid #0874f6;font-size:6px;font-weight:900;letter-spacing:.13em}
.fm-kartel-card h2{margin:8px 0 8px;font-size:30px;line-height:1.08}
.fm-kartel-card p{max-width:760px;margin:0;color:#d7e8fa;font-size:15px;line-height:1.5}
.fm-kartel-actions{display:grid;justify-items:stretch;gap:9px;min-width:235px}
.fm-kartel-actions a{display:flex;align-items:center;justify-content:center;min-height:43px;text-align:center;text-decoration:none}
.fm-kartel-actions>a:last-child{border:1px solid #68bdff;border-radius:999px;color:#fff;font-size:13px;font-weight:800}

@media(max-width:900px){
 .fm-coaching-hero{grid-template-columns:1fr;gap:26px;padding:30px}
 .fm-coaching-photo-ring{width:min(100%,360px)}
 .fm-coaching-services{grid-template-columns:1fr}
 .fm-kartel-card{grid-template-columns:1fr}
 .fm-kartel-actions{grid-template-columns:1fr 1fr;min-width:0}
}
@media(max-width:700px){
 .fm-ref-product-showcase .fm-ref-fluid-copy{padding:15px 16px 16px}
 .fm-ref-offer-label{min-height:25px;padding:4px 9px;font-size:8px;letter-spacing:.12em}
 .fm-ref-product-showcase h1{font-size:clamp(29px,8vw,37px)}
 .fm-ref-product-showcase p{font-size:12.5px}
 .fm-ref-offer-points{gap:4px;margin-bottom:13px;font-size:11.5px}
 .fm-ref-offer-points b{width:17px;height:17px;font-size:10px}
 .fm-ref-showcase-actions .fm-ref-button,.fm-ref-showcase-actions .fm-ref-outline{font-size:9.5px!important}
 .fm-ref-fluid-app{grid-template-columns:minmax(0,.82fr) minmax(156px,1.18fr)}
 .fm-coaching-page{gap:9px}
 .fm-coaching-hero{gap:18px;padding:20px 16px;border-radius:17px}
 .fm-coaching-kicker{padding:5px 9px;font-size:8px;letter-spacing:.15em}
 .fm-coaching-copy h1{margin:12px 0 10px;font-size:clamp(34px,10vw,46px)}
 .fm-coaching-copy>p{margin-bottom:15px;font-size:13px;line-height:1.42}
 .fm-coaching-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .fm-coaching-actions .fm-ref-button,.fm-coaching-actions .fm-ref-outline{min-height:39px;padding:6px 8px;font-size:10px!important;text-align:center}
 .fm-coaching-photo-ring{width:min(100%,270px);border-width:6px}
 .fm-coaching-services{gap:8px}
 .fm-coaching-services article{gap:11px;padding:15px;border-radius:14px}
 .fm-coaching-services article>span{width:36px;height:36px;font-size:13px}
 .fm-coaching-services h2{margin-bottom:5px;font-size:16px}
 .fm-coaching-services p{font-size:12px;line-height:1.4}
 .fm-kartel-card{gap:17px;padding:19px 16px;border-radius:16px}
 .fm-kartel-card>div>span{font-size:8px}
 .fm-kartel-card h2{font-size:23px}
 .fm-kartel-card p{font-size:12px;line-height:1.42}
 .fm-kartel-actions{grid-template-columns:1fr;gap:7px}
 .fm-kartel-actions a{min-height:39px;font-size:11px!important}
}
@media(prefers-reduced-motion:reduce){
 .fm-coaching-photo-ring img{display:none;animation:none}
 .fm-coaching-photo-ring img:first-child{display:block;opacity:1}
}

/* Aucun déplacement latéral : la navigation de la page reste uniquement verticale. */
html,body{max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
.fm-ref,.fm-market-page{width:100%;max-width:100%;overflow-x:clip}
.fm-ref-main-offers,.fm-ref-product-showcase,.fm-ref-carousel,.fm-ref-fluid-body,.fm-ref-fluid-products,.fm-ref-fluid-product,.fm-ref-footer,.fm-coaching-page>*{min-width:0;max-width:100%}
@supports not (overflow:clip){.fm-ref,.fm-market-page{overflow-x:hidden}}

@media(max-width:700px){
 .fm-ref-showcase-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}
 .fm-ref-showcase-actions button{min-width:0;width:100%}
 .fm-ref-fluid-app{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
 .fm-ref-fluid-app .fm-ref-outline{padding-right:6px;padding-left:6px;font-size:9.2px!important}
 .fm-ref-socials{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:100%}
 .fm-ref-socials a,.fm-ref-socials span{min-width:0;overflow-wrap:anywhere}
 .fm-ref-header-fluid,.fm-ref-header-fluid nav{min-width:0;max-width:100%}
 .fm-kartel-heading{gap:8px}
 .fm-kartel-heading>span:last-child{font-size:7px;letter-spacing:.13em}
 .fm-kartel-logo{width:86px;padding:5px 7px}
 .fm-kartel-logo b{font-size:15px}
 .fm-kartel-logo small{font-size:5px}
}

/* Barre de navigation centrée, sans bouton d'appel redondant. */
.fm-clean-header{position:relative;display:grid;justify-items:center;gap:5px;padding:9px 24px 8px;border:1px solid #dceafb;border-radius:17px;background:linear-gradient(105deg,#fff,#f4f9ff);box-shadow:0 9px 28px #0002}
.fm-clean-login-button{position:absolute;top:14px;right:18px;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 14px;border:0;border-radius:999px;background:linear-gradient(100deg,#075cff,#0577ff);color:#fff;font-size:13px;font-weight:800;box-shadow:0 7px 18px #0876f944;cursor:pointer;white-space:nowrap}
.fm-clean-login-button span:last-child{font-size:18px;line-height:1}
.fm-clean-login-short{display:none}
.fm-clean-header>a{display:block;width:min(100%,225px);line-height:0}
.fm-clean-header img{display:block;width:100%;height:auto}
.fm-clean-header nav{display:flex;justify-content:center;align-items:center;gap:clamp(18px,3.4vw,50px);width:100%}
.fm-clean-header nav button,.fm-clean-header nav a{position:relative;padding:5px 0;border:0;background:transparent;color:#101932;font-size:15px;text-decoration:none;white-space:nowrap}
.fm-clean-header nav .is-active,.fm-clean-header nav a:first-child{color:#075fee;font-weight:800}
.fm-clean-header nav .is-active:after,.fm-clean-header nav a:first-child:after{position:absolute;right:0;bottom:0;left:0;height:2px;background:#0876f9;content:""}

/* Bloc d'entrée : plus graphique, sans cercle bleu. */
.fm-ref-product-showcase .fm-ref-fluid-copy{background:linear-gradient(145deg,#fff 0%,#f9fcff 56%,#e1f1ff 100%)}
.fm-ref-product-showcase .fm-ref-fluid-copy:before{inset:0;right:auto;bottom:auto;width:100%;height:100%;border-radius:0;background:linear-gradient(132deg,transparent 0 62%,#0b8df51a 62.1% 63%,transparent 63.1% 100%),repeating-linear-gradient(135deg,transparent 0 20px,#0b7af40a 21px 22px);clip-path:polygon(49% 0,100% 0,100% 100%,74% 100%);content:""}
.fm-ref-product-showcase .fm-ref-fluid-copy:after{position:absolute;z-index:-1;top:0;left:0;width:190px;height:4px;background:linear-gradient(90deg,#075bed,#11b7ff);content:""}
.fm-ref-product-showcase h1 em{background:linear-gradient(100deg,#075de9,#16a8ff);background-clip:text;-webkit-background-clip:text;color:transparent}
.fm-ref-offer-label{border-color:#a9d9ff;background:#f7fbff;box-shadow:0 6px 14px #1d8cf018}
.fm-ref-showcase-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px}
.fm-ref-showcase-actions .fm-ref-button,.fm-ref-showcase-actions .fm-ref-outline{display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0;text-align:center}
.fm-ref-showcase-actions .fm-ref-coaching-action{background:#f5fbff}

/* La page Coaching reste dense et confortable, particulièrement sur natel. */
.fm-coaching-hero{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:25px;padding:30px 34px}
.fm-coaching-copy h1{margin:14px 0 12px;font-size:clamp(38px,4.3vw,60px)}
.fm-coaching-copy>p{margin-bottom:17px;font-size:16px}
.fm-coaching-photo-ring{width:min(100%,360px)}
img.fm-kartel-logo{display:block;width:128px;height:auto;padding:0;border-radius:0;background:transparent;box-shadow:none;transform:none}

@media(max-width:900px){
 .fm-coaching-hero{grid-template-columns:1fr;gap:17px;padding:24px}
 .fm-coaching-photo-ring{width:min(100%,320px)}
}
@media(max-width:700px){
 .fm-clean-header{gap:3px;padding:7px 10px 6px;border-radius:14px}
 .fm-clean-header>a{width:min(132px,100%)}
 .fm-clean-header nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}
 .fm-clean-header nav button,.fm-clean-header nav a{min-width:0;padding:4px 0;font-size:10.6px;letter-spacing:-.02em}
 .fm-clean-login-button{top:8px;right:10px;min-height:36px;padding:0 9px;font-size:11px;gap:4px}
 .fm-clean-login-full{display:none}
 .fm-clean-login-short{display:inline}
 .fm-clean-login-button span:last-child{font-size:15px}
 .fm-ref-showcase-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .fm-ref-showcase-actions .fm-ref-button,.fm-ref-showcase-actions .fm-ref-outline{min-height:37px;padding:5px 4px;font-size:8.8px!important;line-height:1.12}
 .fm-coaching-hero{gap:11px;padding:15px 14px;border-radius:16px}
 .fm-coaching-copy h1{margin:9px 0 8px;font-size:clamp(31px,8.7vw,38px);line-height:1}
 .fm-coaching-copy>p{margin-bottom:11px;font-size:12px;line-height:1.36}
 .fm-coaching-actions .fm-ref-button,.fm-coaching-actions .fm-ref-outline{min-height:35px;padding:5px 6px;font-size:9px!important}
 .fm-coaching-photo-ring{width:min(100%,226px);border-width:5px}
 img.fm-kartel-logo{width:105px}
}

/* L'application reprend le même bloc premium sombre que le e-book. */
.fm-ref-app-card{grid-template-columns:minmax(120px,.72fr) minmax(0,1.28fr);align-items:center;gap:20px;padding:24px;border:1px solid #1597ff;border-radius:16px;background:radial-gradient(ellipse at 15% 20%,#153e67,#00152f 76%);color:#fff;box-shadow:0 12px 28px #00152f55}
.fm-ref-app-card>div{min-width:0}
.fm-ref-app-card .fm-ref-app-shot{order:-1;width:100%;aspect-ratio:390/236;object-fit:cover;background:none;box-shadow:0 10px 22px #0007}
.fm-ref-app-card h2{display:block;margin:14px 0 10px;color:#fff;font-size:clamp(25px,2.8vw,38px);line-height:1.05}
.fm-ref-app-card p{margin:0 0 14px;color:#d5e8fa;font-size:clamp(13px,1.2vw,17px);line-height:1.38}
.fm-ref-app-card strong{display:block;margin:0 0 16px;color:#1697ff;font-size:30px;line-height:1}
.fm-ref-app-card .fm-ref-button{min-height:45px;padding:8px 14px;font-size:13px}

@media(max-width:700px){
 .fm-ref-app-card{grid-template-columns:minmax(100px,.72fr) minmax(0,1.28fr);gap:10px;padding:16px 13px}
 .fm-ref-app-card h2{margin:9px 0 7px;font-size:clamp(20px,5vw,27px)}
 .fm-ref-app-card p{margin-bottom:8px;font-size:12px;line-height:1.3}
 .fm-ref-app-card strong{margin-bottom:9px;font-size:23px}
 .fm-ref-app-card .fm-ref-pill{padding:5px 10px;font-size:9px}
 .fm-ref-app-card .fm-ref-button{min-height:38px;padding:7px 9px;font-size:10.5px}
}
@media(max-width:390px){
 .fm-ref-app-card{grid-template-columns:95px minmax(0,1fr);gap:9px;padding:14px 11px}
 .fm-ref-app-card h2{font-size:19px}
 .fm-ref-app-card p{font-size:11.5px}
 .fm-ref-app-card strong{font-size:21px}
 .fm-ref-app-card .fm-ref-button{font-size:10px}
}

/* Corrections finales FM Performance : appliquer après toutes les règles
   historiques afin de garantir le même rendu sur chaque écran. */
body:not(:has(.fm-ref)):not(:has(.fm-market-page)){
  background-color:#031a36!important;
  background-image:
    radial-gradient(circle,#078cff 1.5px,transparent 2px),
    linear-gradient(130deg,transparent 0 78%,rgba(0,112,220,.22) 78% 81%,transparent 81%)!important;
  background-size:24px 24px,100% 100%!important;
}
.shell:not(:has(.fm-ref)):not(:has(.fm-market-page))>.top,
.shell:not(:has(.fm-ref)):not(:has(.fm-market-page)) .pwa-tools{
  background-image:
    radial-gradient(circle,#078cff 1.5px,transparent 2px),
    linear-gradient(130deg,transparent 0 78%,rgba(0,112,220,.22) 78% 81%,transparent 81%),
    linear-gradient(145deg,#031a36 0%,#062d59 100%)!important;
  background-size:24px 24px,100% 100%,100% 100%!important;
  box-shadow:0 12px 30px rgba(0,18,48,.34)!important;
}
.shell:not(:has(.fm-ref)):not(:has(.fm-market-page))>.top{
  border-color:rgba(87,192,255,.58)!important;
}
.shell:not(:has(.fm-ref)):not(:has(.fm-market-page))>.top .desktop-top-logo{
  image-rendering:auto!important;
  filter:contrast(1.04) saturate(1.03)!important;
}

/* Navigation publique nette et sans bouton « Découvrir FM Performance »
   redondant dans les pages Application, E-book et Coaching. */
.fm-clean-header{
  padding:14px 32px 12px!important;
  gap:9px!important;
  border-color:#b9ddf7!important;
}
.fm-clean-header>a{width:min(100%,290px)!important;}
.fm-clean-header nav{gap:clamp(22px,3.2vw,48px)!important;min-width:0;}
.fm-clean-header nav button,.fm-clean-header nav a{
  padding:7px 0!important;
  font-size:16px!important;
  flex:none;
}
.fm-market-page .fm-clean-header nav{overflow-x:auto;scrollbar-width:none;}
.fm-market-page .fm-clean-header nav::-webkit-scrollbar{display:none;}

/* Réduction légère de la grande zone centrale sur ordinateur. */
@media (min-width:1101px){
  .fm-ref-main-offers{grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr)!important;}
  .fm-ref-product-showcase{grid-template-columns:minmax(0,.92fr) minmax(280px,1.08fr)!important;}
  .fm-ref-carousel figure{min-height:350px!important;padding:18px!important;}
  .fm-ref-book-card{padding:20px!important;}
  .fm-ref-cover{max-width:205px!important;}
}

/* Cartes Application et E-book du bas : même taille et même présence. */
.fm-ref-fluid-products{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.fm-ref-fluid-product{
  min-height:248px!important;
  height:100%!important;
  border-radius:16px!important;
  align-items:center!important;
}
.fm-ref-fluid-smallbook{grid-template-columns:minmax(0,1fr) minmax(120px,.72fr)!important;}
.fm-ref-fluid-smallbook .fm-ref-cover{
  width:min(100%,150px)!important;
  max-width:150px!important;
  justify-self:center!important;
}

@media(max-width:700px){
  .fm-clean-header{padding:10px 12px 8px!important;gap:5px!important;}
  .fm-clean-header>a{width:min(100%,175px)!important;}
  .fm-clean-header nav{
    display:flex!important;
    justify-content:flex-start!important;
    gap:14px!important;
    width:100%!important;
    overflow-x:auto!important;
    padding:2px 4px 3px!important;
  }
  .fm-clean-header nav button,.fm-clean-header nav a{font-size:12px!important;}
  .fm-clean-header-page{min-height:0;}
  .fm-ref-fluid-products{grid-template-columns:1fr!important;}
  .fm-ref-fluid-product{min-height:0!important;height:auto!important;}
}

/* Bienvenue : même contenu sur natel, tablette et ordinateur.
   Les écrans larges reprennent les cartes fluides de la version mobile,
   avec deux colonnes seulement lorsque l’espace le permet. */
@media (min-width:701px){
  .fm-ref-main-offers{grid-template-columns:1fr!important;}
  .fm-ref-main-offers>.fm-ref-book-card{display:none!important;}
  .fm-ref-desktop{display:none!important;}
  .fm-ref-fluid{display:grid!important;}
  .fm-ref-fluid-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;}
  .fm-ref-mobile-book-card{display:grid!important;}
  .fm-ref-fluid-product{height:100%!important;min-height:248px!important;}
  .fm-ref-fluid-app{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;}
  .fm-ref-fluid-smallbook{grid-template-columns:minmax(0,1fr) minmax(140px,.72fr)!important;}
  .fm-ref-fluid-smallbook .fm-ref-cover{width:min(100%,170px)!important;max-width:170px!important;justify-self:center!important;}
}
@media (min-width:701px) and (max-width:879px){
  .fm-ref-fluid-products{grid-template-columns:1fr!important;}
  .fm-ref-fluid-product{min-height:248px!important;}
}

/* Keep the application logo centered independently from the owner-only admin action. */
.shell:not(:has(.welcome-poster-page))>header.top{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.shell:not(:has(.welcome-poster-page))>header.top .brand{
  flex:0 0 auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.shell:not(:has(.welcome-poster-page))>header.top .admin-entry{
  position:absolute!important;
  right:18px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
}
@media(max-width:699px){
  .shell:not(:has(.welcome-poster-page))>header.top{
    display:grid!important;
    grid-template-columns:1fr!important;
    row-gap:12px!important;
  }
  .shell:not(:has(.welcome-poster-page))>header.top .brand{
    grid-column:1!important;
    grid-row:1!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .shell:not(:has(.welcome-poster-page))>header.top .admin-entry{
    position:static!important;
    grid-column:1!important;
    grid-row:2!important;
    justify-self:end!important;
    transform:none!important;
    margin:0!important;
  }
}
@media (min-width:1200px){
  .fm-ref-product-showcase{grid-template-columns:minmax(0,1fr) minmax(360px,1fr)!important;}
  .fm-ref-product-showcase .fm-ref-fluid-copy{padding:28px 28px 28px 38px!important;}
  .fm-ref-product-showcase h1{font-size:clamp(38px,3.6vw,56px)!important;}
}

/* Corrections demandées sur la page d’accueil mobile : navigation plus lisible,
   application avant l’e-book et descriptif e-book contrasté. */
.fm-ref-book-card p{color:#fff!important;}
.fm-ref-mobile-book-card{display:none;}
@media(max-width:1199px){
  .fm-ref-main-offers>.fm-ref-book-card{display:none!important;}
  .fm-ref-fluid-products{grid-template-columns:1fr!important;}
  .fm-ref-mobile-book-card{display:grid!important;}
}
@media(max-width:700px){
  .fm-clean-header nav{gap:6px!important;}
  .fm-clean-header nav button,.fm-clean-header nav a{font-size:13px!important;letter-spacing:-.025em;}
  .fm-clean-header{padding:8px 12px 6px!important;border-radius:13px!important;}
  .fm-ref-product-showcase h1{white-space:normal;font-size:clamp(31px,8.1vw,38px)!important;transform:none;width:auto;}
  .fm-ref-product-showcase h1 br{display:block;}
  .fm-ref-app-card{grid-template-columns:minmax(105px,.82fr) minmax(0,1.18fr)!important;gap:12px!important;padding:15px 13px!important;}
  .fm-ref-app-card .fm-ref-app-shot{order:-1;width:100%;height:auto;max-height:none;object-fit:cover;background:none;padding:0;border-radius:10px;box-shadow:0 8px 18px #0008;}
  .fm-ref-app-card>div{text-align:left;}
  .fm-ref-app-card h2{font-size:clamp(22px,6vw,29px)!important;}
  .fm-ref-app-card p{font-size:13px!important;line-height:1.35!important;}
  .fm-ref-app-card .fm-ref-button{min-height:40px!important;font-size:11px!important;padding:7px 12px!important;}
  .fm-ref-mobile-book-card{grid-template-columns:96px minmax(0,1fr)!important;gap:12px!important;padding:15px 13px!important;}
  .fm-ref-mobile-book-card .fm-ref-cover{width:96px!important;max-width:96px!important;}
  .fm-ref-mobile-book-card h2{font-size:clamp(20px,5.7vw,27px)!important;line-height:1.05!important;}
  .fm-ref-mobile-book-card p{font-size:12px!important;line-height:1.35!important;color:#fff!important;}
}

/* Derniers ajustements mobiles : navigation centrée, statut premium compact
   et page Application alignée sur la présentation E-book. */
.purchase-page-hero{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);align-items:center;gap:20px;margin:0 0 16px;padding:14px;border:1px solid #1597ff;border-radius:16px;background:radial-gradient(ellipse at 15% 20%,#153e67,#00152f 76%);color:#fff;overflow:hidden}
.purchase-page-hero>img{display:block;width:100%;aspect-ratio:390/236;object-fit:contain;border-radius:10px;box-shadow:0 10px 22px #0007;background:#082747}
.purchase-page-hero h1{margin:12px 0 8px!important;color:#fff!important;font-size:clamp(30px,3.2vw,46px)!important;line-height:1.02!important}
.purchase-page-hero p{margin:0;color:#d5e8fa;font-size:clamp(14px,1.3vw,18px);line-height:1.4}
.purchase-page-hero .ebook-kicker{color:#39b6ff}
.purchase-page .lifetime-status p{font-size:clamp(12.5px,1.2vw,15px);font-weight:500;letter-spacing:-.01em}

@media(max-width:700px){
  .fm-clean-header nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));justify-content:initial!important;gap:0!important;overflow:visible!important;padding:2px 0 3px!important;}
  .fm-clean-header nav button,.fm-clean-header nav a{width:100%;font-size:clamp(12px,3.45vw,14px)!important;letter-spacing:-.025em;text-align:center;}
  .purchase-page-hero{grid-template-columns:minmax(120px,.85fr) minmax(0,1.35fr);gap:11px;margin-bottom:12px;padding:11px;border-radius:14px}
  .purchase-page-hero>img{width:100%;height:auto;aspect-ratio:390/236;object-fit:contain}
  .purchase-page-hero h1{margin:6px 0 6px!important;font-size:22px!important;}
  .purchase-page-hero p{font-size:13px;line-height:1.35}
  .purchase-page-hero .ebook-kicker{font-size:10px;letter-spacing:.16em}
  .purchase-page .lifetime-status{padding:12px 10px!important;text-align:center}
  .purchase-page .lifetime-status p{font-size:clamp(12px,3.45vw,14px)!important;line-height:1.2!important;white-space:nowrap;letter-spacing:-.025em}
}

/* Harmonisation mobile : la page E-book reprend la même échelle compacte
   que la page Application pour rester cohérente sur le natel. */
@media(max-width:700px){
  .fm-market-page .ebook-page-card{
    padding:12px 14px!important;
    border-radius:14px!important;
  }
  .fm-market-page .ebook-page-price{
    gap:6px!important;
    margin-bottom:6px!important;
  }
  .fm-market-page .ebook-page-price strong{
    font-size:34px!important;
    line-height:1!important;
  }
  .fm-market-page .ebook-page-price span{
    font-size:13px!important;
  }
  .fm-market-page .ebook-page-card>p{
    margin:5px 0!important;
    font-size:13px!important;
    line-height:1.35!important;
  }
  .fm-market-page .ebook-page-card ul{
    margin:6px 0!important;
    padding-left:18px!important;
    font-size:12px!important;
    line-height:1.32!important;
  }
  .fm-market-page .ebook-page-card li+li{margin-top:4px!important}
  .fm-market-page .ebook-buy{
    min-height:38px!important;
    margin-top:8px!important;
    padding:8px 12px!important;
    font-size:12px!important;
    line-height:1.15!important;
  }
  .fm-market-page .ebook-page>.note{
    margin:4px 0!important;
    font-size:11px!important;
  }
}

/* Dernière adaptation ordinateur/tablette basée sur la référence natel.
   Ces règles commencent à 701px afin de laisser le téléphone inchangé. */
@media (min-width:701px){
  .fm-ref-showcase-actions .fm-ref-button,
  .fm-ref-showcase-actions .fm-ref-outline{
    min-height:46px!important;
    padding:10px 13px!important;
    border:1px solid #22baff!important;
    border-radius:999px!important;
    background:linear-gradient(110deg,#078dff,#0758ef)!important;
    box-shadow:0 8px 18px #0569ff55!important;
    color:#fff!important;
    font-weight:800!important;
  }
  .fm-ref-fluid-products{gap:14px!important;align-items:stretch!important;}
  .fm-ref-fluid-product{
    height:auto!important;
    min-height:330px!important;
    align-content:center!important;
    overflow:hidden!important;
  }
  .fm-ref-app-card{
    grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr)!important;
    gap:22px!important;
    padding:24px 28px!important;
  }
  .fm-ref-app-card .fm-ref-app-shot{
    order:0!important;
    display:block!important;
    width:min(100%,260px)!important;
    height:auto!important;
    max-height:170px!important;
    aspect-ratio:390/236!important;
    object-fit:contain!important;
    justify-self:center!important;
    align-self:center!important;
    padding:5px!important;
    border-radius:12px!important;
    background:#0b2747!important;
    box-shadow:0 8px 18px #0008!important;
  }
  .fm-ref-app-card>div{align-self:center!important;min-width:0!important;}
  .fm-ref-app-card .fm-ref-button,
  .fm-ref-mobile-book-card .fm-ref-button{
    min-height:46px!important;
    padding:9px 20px!important;
    border:1px solid #22baff!important;
    border-radius:999px!important;
    background:linear-gradient(110deg,#078dff,#0758ef)!important;
    box-shadow:0 8px 18px #0569ff55!important;
    color:#fff!important;
    font-size:14px!important;
  }
  .fm-ref-mobile-book-card{
    grid-template-columns:minmax(150px,.65fr) minmax(0,1.35fr)!important;
    gap:22px!important;
    min-height:330px!important;
    padding:24px 28px!important;
    align-items:center!important;
  }
  .fm-ref-mobile-book-card .fm-ref-cover{
    width:min(100%,190px)!important;
    max-width:190px!important;
    justify-self:center!important;
  }
  .fm-ref-mobile-book-card>div:last-child{align-self:center!important;min-width:0!important;}
  .fm-ref-fluid-body{overflow:visible!important;}
  .fm-ref-footer{position:relative!important;clear:both!important;margin-top:16px!important;z-index:2!important;}
}
@media (min-width:701px) and (max-width:879px){
  .fm-ref-fluid-product{min-height:290px!important;}
  .fm-ref-app-card,
  .fm-ref-mobile-book-card{grid-template-columns:150px minmax(0,1fr)!important;gap:14px!important;padding:20px!important;}
  .fm-ref-app-card .fm-ref-app-shot{max-width:150px!important;max-height:110px!important;}
  .fm-ref-mobile-book-card .fm-ref-cover{max-width:135px!important;}
  .fm-ref-fluid-product h2{font-size:24px!important;}
  .fm-ref-fluid-product p{font-size:14px!important;}
}

/* Harmonisation ordinateur/tablette : les pages publiques partagent la même
   largeur de référence et l'E-book reprend les proportions de l'Application. */
@media (min-width:701px){
  body .shell:has(.fm-market-page){
    width:min(calc(100% - 56px),900px)!important;
    max-width:900px!important;
    padding:16px 0 28px!important;
  }
  .fm-market-page{
    width:100%!important;
    max-width:900px!important;
    margin:0 auto!important;
    gap:14px!important;
  }
  .fm-market-page>.fm-clean-header{
    width:100%!important;
    box-sizing:border-box!important;
    margin:0 auto!important;
    padding:12px 24px 10px!important;
    gap:7px!important;
  }
  .fm-market-page>.fm-clean-header>a{
    width:min(100%,250px)!important;
    margin:0 auto!important;
  }
  .fm-market-page>.fm-clean-header nav{
    width:100%!important;
    justify-content:center!important;
    gap:clamp(20px,3.2vw,40px)!important;
    overflow:visible!important;
  }
  .fm-market-page>.fm-clean-header nav button,
  .fm-market-page>.fm-clean-header nav a{
    padding:6px 0!important;
    font-size:15px!important;
  }
  .fm-market-page>.purchase-page,
  .fm-market-page>.ebook-page{
    width:100%!important;
    max-width:900px!important;
    box-sizing:border-box!important;
    margin:0 auto!important;
  }

  /* Même langage visuel que les boutons de l'accueil du téléphone. */
  .fm-ref-showcase-actions .fm-ref-button,
  .fm-ref-showcase-actions .fm-ref-outline,
  .fm-coaching-actions .fm-ref-button,
  .fm-coaching-actions .fm-ref-outline{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:46px!important;
    padding:9px 17px!important;
    border:1px solid #22baff!important;
    border-radius:999px!important;
    background:linear-gradient(110deg,#078dff,#0758ef)!important;
    box-shadow:0 8px 18px #0569ff55!important;
    color:#fff!important;
    font-size:13.5px!important;
    font-weight:800!important;
    text-decoration:none!important;
  }
  .fm-coaching-actions{gap:10px!important;}

  /* E-book aligné sur la carte Application : titre, corps et actions plus
     compacts, sans modifier le contenu ni les liens de paiement. */
  .fm-market-page>.ebook-page{padding:18px 22px!important;}
  .fm-market-page>.ebook-page .ebook-page-hero{
    grid-template-columns:150px minmax(0,1fr)!important;
    gap:18px!important;
    margin:6px 0 14px!important;
    padding:14px!important;
    border-radius:16px!important;
  }
  .fm-market-page>.ebook-page .ebook-page-hero>img{
    width:150px!important;
    height:190px!important;
    object-fit:cover!important;
    border-radius:10px!important;
  }
  .fm-market-page>.ebook-page .ebook-page-hero h1{
    margin:0!important;
    font-size:30px!important;
    line-height:1.04!important;
  }
  .fm-market-page>.ebook-page .ebook-page-hero p{
    margin:10px 0 0!important;
    font-size:15px!important;
    line-height:1.35!important;
  }
  .fm-market-page>.ebook-page .ebook-page-card{
    padding:14px 20px!important;
    border-top-width:4px!important;
  }
  .fm-market-page>.ebook-page .ebook-page-price{
    gap:8px!important;
    margin-bottom:8px!important;
  }
  .fm-market-page>.ebook-page .ebook-page-price del{font-size:17px!important;}
  .fm-market-page>.ebook-page .ebook-page-price strong{
    font-size:34px!important;
    line-height:1!important;
  }
  .fm-market-page>.ebook-page .ebook-page-price span{font-size:12px!important;}
  .fm-market-page>.ebook-page .ebook-page-card>p,
  .fm-market-page>.ebook-page .ebook-page-card ul{
    font-size:13px!important;
    line-height:1.42!important;
  }
  .fm-market-page>.ebook-page .ebook-page-card>p{margin:5px 0!important;}
  .fm-market-page>.ebook-page .ebook-page-card ul{margin:6px 0 0!important;}
  .fm-market-page>.ebook-page .ebook-page-card li+li{margin-top:4px!important;}
  .fm-market-page>.ebook-page .ebook-page-card .public-ebook-note{
    margin-top:8px!important;
    font-size:11px!important;
  }
  .fm-market-page>.ebook-page .ebook-buy,
  .fm-market-page>.ebook-page>.secondary.full.section{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:min(100%,540px)!important;
    min-height:38px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:8px 14px!important;
    border-radius:999px!important;
    font-size:13.5px!important;
    text-align:center!important;
  }
}

@media (min-width:701px) and (max-width:879px){
  .fm-market-page>.fm-clean-header{padding:10px 16px 9px!important;}
  .fm-market-page>.fm-clean-header>a{width:min(100%,220px)!important;}
  .fm-market-page>.fm-clean-header nav{gap:14px!important;}
  .fm-market-page>.fm-clean-header nav button,
  .fm-market-page>.fm-clean-header nav a{font-size:13px!important;}
  .fm-market-page>.ebook-page .ebook-page-hero{
    grid-template-columns:120px minmax(0,1fr)!important;
    gap:14px!important;
  }
  .fm-market-page>.ebook-page .ebook-page-hero>img{
    width:120px!important;
    height:155px!important;
  }
  .fm-market-page>.ebook-page .ebook-page-hero h1{font-size:26px!important;}
}

/* Référence natel appliquée à l’ordinateur et à la tablette : un bouton
   principal bleu, les actions secondaires claires et bordées de bleu. */
@media (min-width:701px){
  body .shell:has(.fm-ref){
    width:min(calc(100% - 56px),1180px)!important;
    max-width:1180px!important;
    padding:16px 0 28px!important;
  }
  .fm-ref{gap:14px!important;}
  .fm-ref-showcase-actions .fm-ref-button,
  .fm-coaching-actions .fm-ref-button,
  .fm-kartel-actions .fm-ref-button,
  .fm-ref-app-card .fm-ref-button,
  .fm-ref-mobile-book-card .fm-ref-button{
    background:linear-gradient(110deg,#078dff,#0758ef)!important;
    border:1px solid #22baff!important;
    color:#fff!important;
    box-shadow:0 8px 18px #0569ff55!important;
  }
  .fm-ref-showcase-actions .fm-ref-outline,
  .fm-coaching-actions .fm-ref-outline,
  .fm-kartel-actions>a:last-child{
    background:#ecf8ff!important;
    border:1px solid #9bd6ff!important;
    color:#0869d9!important;
    box-shadow:none!important;
  }
  .fm-ref-showcase-actions .fm-ref-button,
  .fm-ref-showcase-actions .fm-ref-outline,
  .fm-coaching-actions .fm-ref-button,
  .fm-coaching-actions .fm-ref-outline,
  .fm-kartel-actions .fm-ref-button,
  .fm-kartel-actions>a:last-child{
    min-height:46px!important;
    padding:9px 17px!important;
    border-radius:999px!important;
    font-size:13.5px!important;
    font-weight:800!important;
    text-decoration:none!important;
  }
  .fm-ref-showcase-actions,
  .fm-coaching-actions{gap:10px!important;}
  .fm-kartel-actions{gap:9px!important;}
  .fm-kartel-actions>a:last-child{color:#fff!important;background:transparent!important;border-color:#68bdff!important;}
}

@media (min-width:701px) and (max-width:879px){
  body .shell:has(.fm-ref){width:min(calc(100% - 28px),900px)!important;}
  .fm-ref-showcase-actions .fm-ref-button,
  .fm-ref-showcase-actions .fm-ref-outline,
  .fm-coaching-actions .fm-ref-button,
  .fm-coaching-actions .fm-ref-outline,
  .fm-kartel-actions .fm-ref-button,
  .fm-kartel-actions>a:last-child{
    min-height:42px!important;
    padding:8px 12px!important;
    font-size:12px!important;
  }
}

/* Corrections finales ordinateur/tablette demandées : le natel reste inchangé. */
@media (min-width:701px){
  body .shell:has(.fm-market-page){
    width:min(calc(100% - 56px),1180px)!important;
    max-width:1180px!important;
    padding:16px 0 28px!important;
  }
  .fm-market-page{
    width:100%!important;
    max-width:1180px!important;
    margin:0 auto!important;
  }
  .fm-market-page>.fm-clean-header{
    width:100%!important;
    padding:11px 28px 9px!important;
    gap:7px!important;
  }
  .fm-market-page>.fm-clean-header>a{width:min(100%,270px)!important;}
  .fm-market-page>.fm-clean-header nav{gap:clamp(22px,3.1vw,48px)!important;}

  /* L'application reprend exactement la structure du bloc e-book : image à
     gauche, texte et action à droite. */
  .fm-ref-app-card{
    display:grid!important;
    grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr)!important;
    gap:28px!important;
    padding:26px 34px!important;
    align-items:center!important;
  }
  .fm-ref-app-card .fm-ref-app-shot{
    order:0!important;
    justify-self:start!important;
    width:min(100%,290px)!important;
    max-width:290px!important;
    max-height:178px!important;
  }
  .fm-ref-app-card>div:last-child{align-self:center!important;}

  /* Le bouton de l'accueil reste compact mais son libellé ne descend plus. */
  .fm-ref-showcase-actions .fm-ref-button,
  .fm-ref-showcase-actions .fm-ref-outline{
    white-space:nowrap!important;
    font-size:clamp(10.5px,1.05vw,13.5px)!important;
    letter-spacing:-.015em!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }

  /* Le libellé coaching reste bien contenu dans sa pastille sur ordinateur. */
  .fm-ref-showcase-actions{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.18fr)!important;
  }
  .fm-ref-showcase-actions .fm-ref-coaching-action{
    box-sizing:border-box!important;
    width:100%!important;
    justify-self:stretch!important;
    padding-left:8px!important;
    padding-right:8px!important;
    font-size:clamp(10.5px,1.05vw,13.5px)!important;
    letter-spacing:-.015em!important;
  }

  /* Les pages Application, E-book et Coaching ont la même largeur extérieure
     que l'accueil et le coaching respire davantage horizontalement. */
  .fm-market-page>.purchase-page,
  .fm-market-page>.ebook-page{
    width:100%!important;
    max-width:1180px!important;
  }
  .fm-coaching-hero{
    width:100%!important;
    min-height:390px!important;
    grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr)!important;
    padding:34px 50px!important;
  }
  .fm-coaching-photo-ring{width:min(100%,430px)!important;}

  /* Bande de navigation supérieure légèrement affinée, sans modifier le natel. */
  .fm-clean-header{padding:11px 28px 9px!important;}
}

@media (min-width:701px) and (max-width:879px){
  body .shell:has(.fm-market-page){
    width:min(calc(100% - 28px),1000px)!important;
    max-width:1000px!important;
  }
  .fm-market-page>.fm-clean-header{padding:9px 18px 8px!important;}
  .fm-market-page>.fm-clean-header>a{width:min(100%,220px)!important;}
  .fm-market-page>.fm-clean-header nav{gap:14px!important;}
  .fm-ref-app-card{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:16px!important;padding:22px!important;}
  .fm-ref-app-card .fm-ref-app-shot{width:150px!important;max-width:150px!important;max-height:112px!important;}
  .fm-coaching-hero{min-height:350px!important;padding:26px 28px!important;}
}

/* Harmonisation finale des pages publiques : même bandeau et même badge
   sur ordinateur/tablette uniquement. Le natel conserve ses propres règles. */
@media (min-width:701px){
  .fm-clean-header,
  .fm-market-page>.fm-clean-header{
    box-sizing:border-box!important;
    height:116px!important;
    min-height:116px!important;
    grid-template-rows:58px 32px!important;
    gap:5px!important;
    padding:9px 24px 8px!important;
  }
  .fm-clean-header>a,
  .fm-market-page>.fm-clean-header>a{
    width:min(100%,240px)!important;
    height:58px!important;
    display:grid!important;
    place-items:center!important;
  }
  .fm-clean-header img,
  .fm-market-page>.fm-clean-header img{
    width:100%!important;
    max-height:58px!important;
    object-fit:contain!important;
  }
  .fm-clean-header nav,
  .fm-market-page>.fm-clean-header nav{
    height:32px!important;
    align-items:center!important;
    gap:clamp(18px,2.6vw,38px)!important;
  }
  .fm-clean-header nav button,
  .fm-clean-header nav a,
  .fm-market-page>.fm-clean-header nav button,
  .fm-market-page>.fm-clean-header nav a{
    padding:5px 0!important;
    font-size:15px!important;
    line-height:22px!important;
  }
  /* Réduction de l'aperçu pour éviter d'agrandir artificiellement la capture. */
  .fm-ref-carousel .fm-ref-slide-app{
    width:min(78%,420px)!important;
    height:auto!important;
    max-height:300px!important;
    object-fit:contain!important;
  }
  .fm-ref-app-card .fm-ref-app-shot{
    width:min(100%,230px)!important;
    max-width:230px!important;
    max-height:140px!important;
    object-fit:contain!important;
  }
  .fm-ref-app-card .fm-ref-pill{
    display:inline-block!important;
    width:max-content!important;
    margin:0 0 8px!important;
    padding:7px 18px!important;
    border:1px solid #0867a5!important;
    border-radius:999px!important;
    background:#063258!important;
    color:#39b6ff!important;
    font-size:12px!important;
    font-weight:800!important;
    letter-spacing:.25em!important;
    line-height:1.1!important;
  }
  .fm-ref-app-card>div:last-child,
  .fm-ref-mobile-book-card>div:last-child{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }
}

@media (min-width:701px) and (max-width:879px){
  .fm-clean-header,
  .fm-market-page>.fm-clean-header{
    height:96px!important;
    min-height:96px!important;
    grid-template-rows:44px 28px!important;
    padding:8px 18px 7px!important;
  }
  .fm-clean-header>a,
  .fm-market-page>.fm-clean-header>a{
    width:min(100%,195px)!important;
    height:44px!important;
  }
  .fm-clean-header img,
  .fm-market-page>.fm-clean-header img{max-height:44px!important;}
  .fm-clean-header nav,
  .fm-market-page>.fm-clean-header nav{height:28px!important;gap:12px!important;}
  .fm-clean-header nav button,
  .fm-clean-header nav a,
  .fm-market-page>.fm-clean-header nav button,
  .fm-market-page>.fm-clean-header nav a{font-size:13.5px!important;line-height:20px!important;}
  .fm-ref-app-card .fm-ref-app-shot{width:150px!important;max-width:150px!important;max-height:112px!important;}
  .fm-ref-app-card .fm-ref-pill{font-size:10px!important;padding:5px 10px!important;}
}

/* Bandeau public : le logo doit être réellement lisible sur ordinateur et
   tablette. Les règles téléphone restent volontairement inchangées. */
@media (min-width:880px){
  .fm-clean-header,
  .fm-market-page>.fm-clean-header{
    height:160px!important;
    min-height:160px!important;
    grid-template-rows:106px 34px!important;
    padding:10px 24px!important;
  }
  .fm-clean-header>a,
  .fm-market-page>.fm-clean-header>a{
    width:min(100%,330px)!important;
    height:106px!important;
  }
  .fm-clean-header img,
  .fm-market-page>.fm-clean-header img{
    max-height:104px!important;
  }
  .fm-clean-header nav,
  .fm-market-page>.fm-clean-header nav{height:34px!important;}
}
@media (min-width:701px) and (max-width:879px){
  .fm-clean-header,
  .fm-market-page>.fm-clean-header{
    height:142px!important;
    min-height:142px!important;
    grid-template-rows:86px 30px!important;
    padding:10px 18px!important;
  }
  .fm-clean-header>a,
  .fm-market-page>.fm-clean-header>a{
    width:min(100%,260px)!important;
    height:86px!important;
  }
  .fm-clean-header img,
  .fm-market-page>.fm-clean-header img{max-height:84px!important;}
  .fm-clean-header nav,
  .fm-market-page>.fm-clean-header nav{height:30px!important;}
}



/* Présentation : portrait authentique et lecture confortable sur chaque écran. */
.fm-presentation-page .fm-presentation-story{min-width:0;overflow:hidden;border:1px solid #d8e8f7;border-radius:22px;background:#fff;color:#142941;box-shadow:0 18px 48px #0002;}
.fm-presentation-page .fm-presentation-intro{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(28px,4vw,64px);padding:clamp(26px,4vw,60px);background:linear-gradient(120deg,#f0f8ff,#fff);}
.fm-presentation-page .fm-presentation-portrait{position:relative;margin:0;align-self:center;aspect-ratio:4/5;overflow:hidden;border-radius:18px;background:#d2e8f5;}
.fm-presentation-page .fm-presentation-portrait img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:49% 70%;transform:scale(1.18);transform-origin:49% 70%;}
.fm-presentation-page .fm-presentation-portrait figcaption{position:absolute;inset:auto 0 0;padding:40px 20px 18px;background:linear-gradient(transparent,#041c3bec);color:#fff;}
.fm-presentation-page .fm-presentation-portrait figcaption strong{display:block;font-size:20px;}
.fm-presentation-page .fm-presentation-portrait figcaption span{display:block;margin-top:5px;font-size:13px;}
.fm-presentation-page .fm-presentation-kicker{display:block;color:#0969c2;font-size:12px;font-weight:800;letter-spacing:.14em;line-height:1.6;}
.fm-presentation-page h1{margin:14px 0 20px;color:#092849;font-size:clamp(30px,3.5vw,48px);line-height:1.12;letter-spacing:-.035em;text-transform:none;overflow-wrap:break-word;}
.fm-presentation-page h1 em{display:block;color:#087be0;font-style:normal;}
.fm-presentation-page p{margin:0 0 18px;color:#344d64;font-size:17px;line-height:1.8;}
.fm-presentation-page .fm-presentation-lead{color:#075fb0;font-size:clamp(19px,2vw,24px);font-weight:700;line-height:1.5;}
.fm-presentation-page .fm-presentation-opening>p:last-child{margin-bottom:0;}
.fm-presentation-page .fm-presentation-body{width:min(100%,850px);margin:0 auto;padding:16px clamp(24px,5vw,60px) 48px;box-sizing:border-box;}
.fm-presentation-page .fm-presentation-body>section{position:relative;padding:34px 0 22px;border-bottom:1px solid #dce9f3;}
.fm-presentation-page .fm-presentation-number{display:block;margin-bottom:12px;color:#087be0;font-size:13px;font-weight:800;letter-spacing:.1em;}
.fm-presentation-page h2{margin:0 0 20px;color:#092849;font-size:clamp(23px,2.3vw,30px);line-height:1.3;letter-spacing:-.02em;text-transform:none;}
.fm-presentation-page .fm-presentation-signature{margin:30px 0;padding:26px;border-left:3px solid #128bec;border-radius:0 14px 14px 0;background:#eff7ff;}
.fm-presentation-page .fm-presentation-signature p{color:#075fb0;font-size:23px;font-weight:700;line-height:1.5;}
.fm-presentation-page .fm-presentation-signature strong,.fm-presentation-page .fm-presentation-signature span{display:block;}
.fm-presentation-page .fm-presentation-signature span{margin-top:5px;font-size:14px;}
.fm-presentation-page .fm-presentation-actions{display:flex;flex-wrap:wrap;gap:12px;}
.fm-presentation-page .fm-presentation-actions button{max-width:100%;min-height:44px;padding:12px 18px;font-size:14px;white-space:normal;}
.fm-presentation-page .fm-presentation-actions .fm-ref-outline{background:#fff;color:#075fb0;border:1px solid #a9cdec;}
.fm-clean-header nav button:focus-visible,.fm-clean-header nav a:focus-visible,.fm-presentation-actions button:focus-visible{outline:3px solid #087be0;outline-offset:3px;}
@media(min-width:701px){
 .fm-presentation-page .fm-presentation-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;border-radius:999px;font-weight:800;line-height:1.2;cursor:pointer;}
 .fm-presentation-page .fm-presentation-actions .fm-ref-button{border:1px solid #23bcff;background:linear-gradient(110deg,#007bff,#0555ed);box-shadow:0 8px 18px #066aff55;color:#fff;}
 .fm-presentation-page .fm-presentation-actions .fm-ref-outline{border:1px solid #a9cdec;background:#fff;color:#075fb0;}
}
@media(max-width:1000px){
 .fm-presentation-page .fm-presentation-intro{grid-template-columns:minmax(0,1fr);gap:28px;}
 .fm-presentation-page .fm-presentation-portrait{width:min(100%,310px);justify-self:center;}
 .fm-presentation-page .fm-presentation-opening{max-width:680px;margin:0 auto;}
}
@media(max-width:700px){
 .fm-clean-header nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0 8px!important;width:100%!important;height:auto!important;overflow:visible!important;}
 .fm-clean-header nav button,.fm-clean-header nav a{display:grid;place-items:center;min-height:44px;padding:8px 0!important;font-size:13px!important;line-height:1.3!important;}
 .fm-presentation-page .fm-presentation-story{border-radius:16px;}
 .fm-presentation-page .fm-presentation-intro{padding:24px 20px;gap:26px;}
 .fm-presentation-page .fm-presentation-portrait{width:min(100%,270px);}
 .fm-presentation-page h1{font-size:32px;}
 .fm-presentation-page p{font-size:16px;line-height:1.75;}
 .fm-presentation-page .fm-presentation-lead{font-size:20px;}
 .fm-presentation-page .fm-presentation-body{padding:0 20px 28px;}
 .fm-presentation-page .fm-presentation-body>section{padding-top:28px;}
 .fm-presentation-page .fm-presentation-signature{padding:22px 18px;}
 .fm-presentation-page .fm-presentation-signature p{font-size:21px;}
}

/* Correctif mobile : le statut Stripe ne doit jamais élargir la page.
   Le message d’erreur se renvoie à la ligne dans la carte, sans zoom ni
   décalage horizontal de la page Application. */
html,body{max-width:100%;overflow-x:hidden;}
.fm-market-page{width:100%;max-width:100%;overflow-x:clip;}
.fm-market-page>.purchase-page,
.fm-market-page .lifetime-status{box-sizing:border-box;min-width:0;max-width:100%;}
.fm-market-page .lifetime-status p{
  max-width:100%;
  min-width:0;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
@media(max-width:700px){
  .fm-market-page .lifetime-status{width:100%;margin-left:0;margin-right:0;}
  .fm-market-page .lifetime-status p{
    font-size:13px!important;
    line-height:1.35!important;
    letter-spacing:0!important;
    text-align:center;
  }
}


/* FM marketing home styles */
.new-home{--blue:#0876f9;--navy:#021b3b;--ink:#0b1d37;--muted:#56667d;--line:#dbe6f2}.new-home *{box-sizing:border-box}.new-home{scroll-behavior:smooth;scroll-padding-top:115px}.new-home{margin:0;font-family:Arial,Helvetica,sans-serif;color:#fff;line-height:1.55;background-color:var(--navy);background-image:radial-gradient(circle,#137cd252 1.2px,transparent 1.7px),linear-gradient(130deg,transparent 0 38%,#06478530 38% 40%,transparent 40% 71%,#0754a822 71% 73%,transparent 73%);background-size:22px 22px,100% 100%;background-attachment:fixed}.new-home a{color:inherit;text-decoration:none}.new-home button{border:0;font:inherit;cursor:pointer}.new-home button,.new-home a{-webkit-tap-highlight-color:transparent}.new-home img{display:block;max-width:100%}.new-home h1,.new-home h2,.new-home h3,.new-home p{margin:0}.new-home h1,.new-home h2,.new-home h3{line-height:1.1;letter-spacing:-.045em}.new-home em{font-style:normal;color:var(--blue)}.new-home svg{stroke:currentColor;stroke-width:1.7}.new-home button:focus-visible,.new-home a:focus-visible,.new-home summary:focus-visible{outline:3px solid #56baff;outline-offset:5px}.new-home .wrap{width:min(1150px,calc(100% - 80px));margin:auto}.new-home .prototype{font-size:9px;letter-spacing:1.2px;text-align:center;padding:6px 15px;color:#c3d9f3;background:#00132b}.new-home .prototype span{font-weight:normal;letter-spacing:.2px}.new-home .header{position:sticky;top:0;z-index:40;background:#fff;box-shadow:0 4px 20px #0002;color:var(--ink)}.new-home .header-inner{width:min(1230px,calc(100% - 64px));height:93px;margin:auto;display:flex;align-items:center;gap:27px}.new-home .brand{width:185px;flex-shrink:0}.new-home .brand img{width:100%;height:73px;object-fit:contain}.new-home .header nav{display:flex;gap:27px;margin:auto}.new-home .header nav a{font-size:13px;font-weight:600}.new-home .header nav a:hover{color:var(--blue)}.new-home .login{display:flex;align-items:center;gap:10px;color:#fff;background:var(--blue);padding:13px 18px;border-radius:8px;font-size:12px;font-weight:700;min-height:47px}.new-home .login:hover,.new-home .btn:hover{background:#0563d5}.new-home .login svg{width:17px;height:19px;flex-shrink:0}.new-home .menu{display:none}.new-home .intro{text-align:center;padding:53px 0 31px}.new-home .eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--blue);margin-bottom:16px}.new-home .intro .eyebrow{color:#75baff;font-size:9px}.new-home .intro h1{font-size:clamp(36px,3.8vw,54px);font-weight:750;letter-spacing:-.04em}.new-home .intro h1 em{color:#6eb8ff}.new-home .intro>p:last-of-type{font-size:15px;color:#c5d7eb;margin-top:17px}.new-home .quick-links{display:flex;justify-content:center;gap:10px;margin-top:26px}.new-home .quick-links a{display:flex;align-items:center;gap:25px;padding:9px 16px;background:#0d345a;border:1px solid #25619a;border-radius:6px;font-size:11px;color:#e0eeff}.new-home .quick-links a:hover{background:#145087}.new-home .quick-links a span{color:#71baff}.new-home .products{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:9px}.new-home .product{padding:32px;border-radius:17px;min-width:0;scroll-margin-top:115px;display:flex;flex-direction:column}.new-home .app-product{background:linear-gradient(150deg,#fff 60%,#e7f4ff);color:var(--ink);border:1px solid #b8e0ff;box-shadow:0 14px 55px #00122950}.new-home .product-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:22px}.new-home .product-label{display:flex;align-items:center;gap:7px;color:var(--blue);font-size:10px;letter-spacing:1.6px;font-weight:750}.new-home .product-label svg{width:20px;height:20px}.new-home .badge{font-size:7px;font-weight:700;letter-spacing:.8px;padding:6px 8px;border-radius:20px;background:#e8f2ff;color:#1767be;white-space:nowrap}.new-home .product h2{font-size:39px;letter-spacing:-.04em}.new-home .product-description{font-size:13px;color:var(--muted);margin-top:13px}.new-home .app-art{height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;margin:20px -5px 10px;background:radial-gradient(ellipse,#bcddff 0%,#eaf5ff80 50%,transparent 72%)}.new-home .app-window{width:90%;max-width:380px;background:#fff;border:1px solid #c8dbea;border-radius:12px;box-shadow:0 16px 30px #005aa51a;transform:perspective(1200px) rotateY(-5deg) rotateZ(-2deg);overflow:hidden}.new-home .app-window-top{display:flex;align-items:center;justify-content:space-between;padding:13px 17px;border-bottom:1px solid #e8eff6;font-size:16px;color:var(--blue)}.new-home .app-window-top b span{font-size:8px;color:var(--ink);font-weight:400;letter-spacing:.8px}.new-home .sample-label{font-size:6px;letter-spacing:1px;color:#667d94}.new-home .sample-content{padding:16px 17px}.new-home .sample-kicker{font-size:6px;color:#76859b;letter-spacing:1px;display:block}.new-home .sample-greeting{display:block;font-size:19px;letter-spacing:-.5px;line-height:1.1;margin:5px 0 13px}.new-home .session{display:flex;align-items:center;justify-content:space-between;padding:16px;background:linear-gradient(110deg,#047afe,#0957d2);border-radius:8px;color:#fff}.new-home .session>div>span{font-size:6px;letter-spacing:.8px;display:block}.new-home .session strong{font-size:22px;line-height:1.1;display:block;margin:8px 0 9px;letter-spacing:-.5px}.new-home .session small{font-size:8px;color:#dbedff}.new-home .session svg{width:75px;height:75px;stroke-width:7;opacity:.8}.new-home .mini-stats{display:flex;gap:8px;margin-top:12px}.new-home .mini-stats>span{font-size:13px;background:#eff5fc;flex:1;padding:9px 3px;text-align:center;border-radius:5px;color:var(--blue)}.new-home .mini-stats b{display:block;font-size:7px;color:#446281;font-weight:500}.new-home .sample-nav{display:flex;justify-content:space-around;padding:10px 8px;border-top:1px solid #e5edf5;color:#73879d;font-size:7px}.new-home .sample-nav>span:first-child{color:var(--blue)}.new-home .art-label{font-size:7px;letter-spacing:1.3px;color:#5f80a5;margin-top:17px}.new-home .benefits{display:flex;justify-content:center;gap:22px;font-size:10px;color:#3872af;border-bottom:1px solid #cfdfef;padding:10px 0 19px;min-height:44px}.new-home .purchase-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0}.new-home .price{font-size:39px;font-weight:750;letter-spacing:-1.8px;white-space:nowrap}.new-home .price small{font-size:13px;letter-spacing:0}.new-home .purchase-row>span{font-size:10px;color:var(--muted);text-align:right;line-height:1.7}.new-home .purchase-row b{font-weight:700}.new-home .btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 20px;min-height:53px;background:var(--blue);color:#fff;border-radius:8px;font-weight:700;font-size:13px;transition:background .15s}.new-home .btn>span{font-size:21px;line-height:1}.new-home .card-login{display:block;align-self:center;color:#526b84;font-size:10px;background:transparent;padding:16px 8px 0;min-height:38px}.new-home .card-login strong{color:#0b70dd;font-weight:600}.new-home .card-login:hover{text-decoration:underline}.new-home .ebook-product{border:1px solid #2686d3;background:linear-gradient(140deg,#103d66,#052245 70%);box-shadow:0 14px 55px #00122950}.new-home .ebook-product .product-label{color:#8acbff}.new-home .ebook-product .badge{background:#1b4b73;color:#cde9ff}.new-home .ebook-product h2 em{color:#80c7ff}.new-home .ebook-product .product-description{color:#c0d5e9}.new-home .book-art{height:320px;position:relative;display:flex;align-items:center;justify-content:center;margin:20px -5px 10px;isolation:isolate}.new-home .book-halo{position:absolute;width:275px;height:275px;border-radius:50%;border:1px solid #2b6492;background:radial-gradient(circle,#2d70a980,transparent 70%);z-index:-1}.new-home .book-halo:after{content:'';position:absolute;inset:21px;border:1px solid #2b649280;border-radius:50%}.new-home .book-cover{width:180px;aspect-ratio:491/770;display:block;object-fit:cover;transform:perspective(1200px) rotateY(-10deg) rotateZ(-6deg);box-shadow:18px 18px 25px #0006;border-radius:8px}.new-home .book-stamp{position:absolute;right:14%;bottom:25px;border:1px solid #7cbffa;background:#0c4779;display:flex;flex-direction:column;align-items:center;justify-content:center;width:65px;height:65px;border-radius:50%;line-height:1.2}.new-home .book-stamp strong{font-size:25px}.new-home .book-stamp span{font-size:6px;letter-spacing:1px;margin-top:4px}.new-home .ebook-product .benefits{color:#c1ddf7;border-color:#2c5276}.new-home .ebook-product .purchase-row>span{color:#b8d2e9}.new-home .book-btn{background:#fff;color:#12569b}.new-home .book-btn:hover{background:#d7edff}.new-home .ebook-product .card-login,.new-home .ebook-product .card-login strong{color:#a9d6ff}.new-home .coaching{display:grid;grid-template-columns:.95fr 1.05fr;background:#edf7ff;border:1px solid #c4e6ff;border-radius:16px;overflow:hidden;margin-top:26px;color:var(--ink)}.new-home .coaching-image{min-height:350px;position:relative}.new-home .coaching-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}.new-home .coaching-copy{padding:40px 44px}.new-home .coaching-copy h2{font-size:35px}.new-home .coaching-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:340px;margin-top:15px}.new-home .coaching-tags{display:flex;gap:8px;margin:21px 0}.new-home .coaching-tags span{font-size:9px;border:1px solid #bfd9ee;color:#4276a4;padding:5px 12px;border-radius:20px}.new-home .coaching-copy .btn{max-width:285px}.new-home .about{display:flex;align-items:center;gap:25px;padding:28px 33px;background:#092d50;border:1px solid #275477;border-radius:15px;margin-top:26px}.new-home .about img{width:80px;height:80px;border-radius:50%;object-fit:cover;object-position:50% 45%;flex-shrink:0}.new-home .about .eyebrow{color:#8ac6ff;font-size:8px;margin-bottom:8px}.new-home .about h2{font-size:25px;letter-spacing:-.5px}.new-home .about p:not(.eyebrow){font-size:12px;color:#bfd2e7;margin-top:6px}.new-home .outline-button{margin-left:auto;display:flex;align-items:center;gap:30px;padding:13px 18px;background:transparent;border:1px solid #5281ab;border-radius:7px;font-size:11px;color:#d5eaff;flex-shrink:0}.new-home .outline-button:hover{background:#124574}.new-home .questions{max-width:750px;margin:57px auto}.new-home .questions h2{text-align:center;font-size:25px;margin-bottom:23px}.new-home .questions details{background:#092849;border:1px solid #285175;border-radius:8px;margin:9px 0}.new-home .questions summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-size:12px;padding:17px 22px;color:#e0eeff}.new-home .questions summary::-webkit-details-marker{display:none}.new-home .questions summary span{font-size:22px;color:#81c0ff;line-height:1}.new-home .questions details[open] summary span{transform:rotate(45deg)}.new-home .questions details p{padding:0 22px 20px;font-size:12px;color:#b5cde4;line-height:1.7}.new-home footer{margin-top:38px;border-top:1px solid #32508f}.new-home .footer-main{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 0}.new-home .footer-main strong{font-size:13px;letter-spacing:1px}.new-home .footer-main p{font-size:10px;color:#9bb7d2;margin-top:7px}.new-home .contact-link{display:flex;align-items:center;gap:22px;background:transparent;color:#aed7ff;font-size:12px;padding:12px 0}.new-home .contact-link:hover{text-decoration:underline}.new-home .footer-bottom{padding:18px 0 23px;border-top:1px solid #274766;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:8px;color:#93b1ce}.new-home .footer-bottom>div{display:flex;gap:20px}.new-home .footer-bottom a{color:#c5e0fa}.new-home dialog{width:calc(100% - 34px);max-width:520px;max-height:85vh;border:0;border-radius:15px;padding:36px;box-shadow:0 20px 80px #0004;color:var(--ink)}.new-home dialog::backdrop{background:#00122bda;backdrop-filter:blur(6px)}.new-home dialog h2{font-size:28px;margin-bottom:20px}.new-home dialog p{font-size:14px;color:var(--muted);margin:13px 0}.new-home dialog .eyebrow{font-size:9px;margin:0 0 22px;color:var(--blue)}.new-home dialog ul,.new-home dialog ol{font-size:14px;color:var(--muted);padding-left:22px}.new-home dialog li{margin:7px 0}.new-home .close-modal{position:absolute;top:8px;right:11px;background:transparent;color:#66788c;font-size:28px;padding:4px 10px}.new-home .modal-done{margin-top:24px}.new-home .modal-price{font-size:22px!important;font-weight:700;color:var(--blue)!important}.new-home .modal-note{font-size:11px!important;padding:12px;background:#edf5ff;border-radius:6px}@media(max-width:1020px){.new-home .header-inner{gap:20px;width:calc(100% - 40px)}.new-home .brand{width:160px}.new-home .header nav{gap:18px}.new-home .header nav a{font-size:12px}.new-home .login{font-size:11px;padding:12px 14px}.new-home .wrap{width:calc(100% - 56px)}.new-home .product{padding:27px}.new-home .product h2{font-size:33px}.new-home .products{gap:20px}.new-home .product-heading{gap:7px}.new-home .product-label{font-size:9px;letter-spacing:1px}.new-home .badge{font-size:6px}.new-home .benefits{gap:15px;font-size:9px}.new-home .coaching-copy{padding:33px}.new-home .coaching-copy h2{font-size:31px}.new-home .coaching-copy .eyebrow{font-size:8px}.new-home .price{font-size:34px}.new-home .book-stamp{right:7%}}@media(max-width:780px){.new-home .header-inner{height:79px;gap:20px}.new-home .brand{width:157px}.new-home .header nav{display:none;position:absolute;left:0;right:0;top:79px;margin:0;background:white;padding:12px 23px;box-shadow:0 20px 30px #00142b30;flex-direction:column;gap:0}.new-home .header nav.open{display:flex}.new-home .header nav a{padding:14px 0;font-size:14px}.new-home .login{margin-left:auto;font-size:11px;min-height:44px}.new-home .menu{display:flex;flex-direction:column;gap:6px;background:transparent;padding:8px 0;width:22px;flex-shrink:0}.new-home .menu span{width:22px;height:2px;background:var(--ink)}.new-home .product{padding:23px}.new-home .product h2{font-size:29px}.new-home .product-heading{flex-wrap:wrap;gap:10px;min-height:20px}.new-home .badge{font-size:6px;padding:5px 7px}.new-home .product-description{font-size:11px}.new-home .app-art,.new-home .book-art{height:290px}.new-home .app-window{width:100%}.new-home .session{padding:12px}.new-home .session strong{font-size:19px}.new-home .session svg{width:50px;height:50px}.new-home .sample-content{padding:14px 13px}.new-home .app-window-top{padding:12px 13px}.new-home .sample-greeting{font-size:17px}.new-home .mini-stats>span{padding:8px 2px}.new-home .mini-stats b{font-size:6px}.new-home .sample-nav{font-size:6px}.new-home .art-label{font-size:6px;letter-spacing:.7px}.new-home .book-cover{width:161px}.new-home .book-halo{width:230px;height:230px}.new-home .book-stamp{right:0;bottom:22px;width:55px;height:55px}.new-home .benefits{font-size:8px;gap:11px}.new-home .purchase-row{gap:8px}.new-home .price{font-size:31px}.new-home .price small{font-size:10px}.new-home .purchase-row>span{font-size:8px}.new-home .btn{font-size:11px;padding:14px 16px}.new-home .card-login{font-size:9px}.new-home .coaching-copy{padding:28px}.new-home .coaching-copy h2{font-size:29px}.new-home .coaching-copy>p:not(.eyebrow){font-size:12px}.new-home .coaching-image{min-height:330px}.new-home .about{padding:24px;gap:19px}.new-home .about img{width:66px;height:66px}.new-home .about h2{font-size:23px}.new-home .about p:not(.eyebrow){font-size:11px}.new-home .outline-button{padding:11px 14px;gap:15px;font-size:10px}}@media(max-width:600px){.new-home{scroll-padding-top:88px}.new-home .wrap{width:calc(100% - 28px)}.new-home .prototype{font-size:7px;padding:5px 10px}.new-home .header-inner{width:calc(100% - 28px);height:74px;gap:12px}.new-home .brand{width:114px}.new-home .brand img{height:55px}.new-home .login{padding:10px 12px;font-size:10px;gap:7px;min-height:42px;line-height:1.3}.new-home .login svg{width:14px;height:17px}.new-home .menu{width:19px}.new-home .menu span{width:19px}.new-home .header nav{top:74px}.new-home .intro{padding:31px 8px 23px}.new-home .intro .eyebrow{font-size:7px;letter-spacing:1.5px;margin-bottom:13px}.new-home .intro h1{font-size:32px;line-height:1.12}.new-home .intro>p:last-of-type{font-size:12px;margin-top:14px}.new-home .quick-links{gap:7px;margin-top:21px}.new-home .quick-links a{font-size:9px;gap:12px;padding:9px 11px}.new-home .products{grid-template-columns:1fr;gap:20px;margin-top:0}.new-home .product{padding:25px;border-radius:14px;scroll-margin-top:88px}.new-home .product-heading{margin-bottom:18px}.new-home .product-label{font-size:10px;letter-spacing:1.3px}.new-home .product-label svg{width:18px;height:18px}.new-home .badge{font-size:6px;padding:6px 8px}.new-home .product h2{font-size:37px}.new-home .product-description{font-size:12px;margin-top:11px}.new-home .app-art,.new-home .book-art{height:300px;margin-top:17px;margin-bottom:8px}.new-home .app-window{width:97%;max-width:335px}.new-home .app-window-top{padding:13px 16px}.new-home .sample-content{padding:14px 16px}.new-home .sample-greeting{font-size:19px}.new-home .session{padding:16px}.new-home .session strong{font-size:23px}.new-home .session svg{width:69px;height:69px}.new-home .session small{font-size:8px}.new-home .mini-stats b{font-size:7px}.new-home .sample-nav{font-size:7px}.new-home .art-label{font-size:6px;letter-spacing:1.1px;margin-top:16px}.new-home .benefits{font-size:10px;gap:18px;padding:10px 0 17px}.new-home .purchase-row{margin:18px 0;gap:12px}.new-home .price{font-size:38px}.new-home .price small{font-size:12px}.new-home .purchase-row>span{font-size:9px}.new-home .btn{font-size:12px;min-height:52px;padding:15px 18px}.new-home .card-login{font-size:10px;padding-top:15px;min-height:38px}.new-home .book-cover{width:175px}.new-home .book-halo{width:270px;height:270px}.new-home .book-stamp{right:7%;bottom:18px;width:63px;height:63px}.new-home .coaching{grid-template-columns:1fr;margin-top:20px;border-radius:14px}.new-home .coaching-image{min-height:220px}.new-home .coaching-image img{object-position:50% 38%}.new-home .coaching-copy{padding:27px 25px 29px}.new-home .coaching-copy .eyebrow{font-size:8px;margin-bottom:14px}.new-home .coaching-copy h2{font-size:33px}.new-home .coaching-copy>p:not(.eyebrow){font-size:12px;max-width:290px}.new-home .coaching-tags{margin:19px 0}.new-home .coaching-copy .btn{max-width:none}.new-home .about{display:grid;grid-template-columns:62px 1fr;padding:22px;gap:17px;margin-top:20px}.new-home .about img{width:62px;height:62px}.new-home .about .eyebrow{font-size:6px;letter-spacing:1.1px}.new-home .about h2{font-size:24px}.new-home .about p:not(.eyebrow){font-size:10px}.new-home .outline-button{grid-column:2;justify-self:start;margin:0;padding:10px 14px;font-size:10px}.new-home .questions{margin:38px 0}.new-home .questions h2{font-size:22px;text-align:left;margin:0 9px 20px}.new-home .questions summary{font-size:11px;padding:16px 18px}.new-home .questions details p{font-size:11px;padding:0 18px 17px}.new-home .footer-main{padding:26px 8px;flex-direction:column;align-items:flex-start;gap:12px}.new-home .footer-main strong{font-size:12px}.new-home .footer-main p{font-size:10px}.new-home .contact-link{font-size:11px}.new-home .footer-bottom{padding:20px 8px;display:grid;grid-template-columns:1fr auto;gap:14px;font-size:7px}.new-home .footer-bottom>span:last-child{grid-column:1/-1}.new-home .footer-bottom>div{gap:14px}.new-home dialog{padding:34px 25px}.new-home dialog h2{font-size:26px}}@media(max-width:370px){.new-home .header-inner{gap:9px;width:calc(100% - 24px)}.new-home .brand{width:95px}.new-home .login{font-size:9px;padding:9px 10px;gap:6px}.new-home .login svg{width:12px}.new-home .intro h1{font-size:28px}.new-home .quick-links a{gap:9px;padding:9px}.new-home .product{padding:21px}.new-home .product h2{font-size:33px}.new-home .product-label{font-size:9px}.new-home .badge{font-size:5px}.new-home .benefits{font-size:9px;gap:13px}.new-home .price{font-size:34px}.new-home .purchase-row>span{font-size:8px}.new-home .coaching-copy{padding:24px 21px}.new-home .coaching-copy h2{font-size:30px}}@media(prefers-reduced-motion:reduce){.new-home{scroll-behavior:auto}.new-home *{transition:none!important}.new-home .app-window,.new-home .book-cover{transform:none}}.new-home .app-window-top{min-height:61px;gap:10px}.new-home .app-brand{width:178px;height:auto;max-height:none;object-fit:contain;object-position:left center}.new-home .sample-label{text-align:right}.new-home .app-screenshot{display:block;width:100%;aspect-ratio:390/236;object-fit:cover;object-position:center top;background:#eef5ff}.new-home .image-fallback{aspect-ratio:390/236;display:grid;place-items:center;color:#1767be;font-weight:700;background:linear-gradient(135deg,#eaf4ff,#d5eaff);font-size:14px}.new-home .coaching-image{overflow:hidden}.new-home .coaching-slide{transition:opacity .28s ease;opacity:1}.new-home .coaching-slide.is-changing{opacity:.25}.new-home .gallery-controls{position:absolute;z-index:3;left:16px;right:16px;bottom:17px;display:flex;align-items:center;justify-content:space-between;color:#fff}.new-home .gallery-controls button{width:40px;height:40px;border:1px solid #ffffffa6;border-radius:50%;color:#fff;background:#021b3ba8;font-size:27px;line-height:1}.new-home .gallery-controls button:hover{background:var(--blue)}.new-home .gallery-controls span{font-size:11px;font-weight:700;text-shadow:0 1px 4px #000}.new-home .gallery-dots{position:absolute;z-index:3;bottom:65px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.new-home .gallery-dots button{width:9px;height:9px;border-radius:50%;padding:0;background:#ffffffa3;border:1px solid #fff;transition:transform .2s,background .2s}.new-home .gallery-dots button[aria-current=true]{background:#fff;transform:scale(1.35)}.new-home .outline-button{font-size:12px;padding:14px 19px;gap:24px}.new-home .footer-socials{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:2px 0 23px;border-bottom:1px solid #274766}.new-home .social-link{min-height:88px;display:flex;align-items:center;gap:16px;padding:15px 20px;border-radius:10px;background:#0b3157;border:1px solid #27547a;transition:background .2s,transform .2s}.new-home .social-link:hover{background:#114371;transform:translateY(-2px)}.new-home .social-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#1765b6;color:#fff;font-size:27px;flex-shrink:0}.new-home .tiktok-icon{font-size:28px}.new-home .social-link>span:nth-child(2){display:grid;gap:1px}.new-home .social-link small{font-size:7px;color:#9cc9f0;letter-spacing:1.15px}.new-home .social-link strong{font-size:16px;color:#fff;line-height:1.2}.new-home .social-link b{font-size:10px;color:#bddbfa;font-weight:500}.new-home .social-arrow{margin-left:auto;font-size:21px;color:#86c5ff}.new-home .footer-bottom{border:0;padding-top:17px}.new-home #modal{max-width:680px;overflow:auto}.new-home #modal-content{max-height:56vh;overflow:auto;padding-right:7px}.new-home .story-copy .story-intro{font-size:15px;color:var(--ink);line-height:1.8}.new-home .story-copy h3{font-size:18px;color:var(--ink);margin:23px 0 8px;letter-spacing:-.3px}.new-home .story-copy p{font-size:13px;line-height:1.8;margin:9px 0}.new-home .story-copy .story-signature{padding-top:13px;border-top:1px solid #dce8f5;margin-top:22px;color:#1767be;font-weight:700}@media(max-width:600px){.new-home .app-window-top{min-height:55px;padding:9px 12px}.new-home .app-brand{width:134px;height:auto;max-height:none}.new-home .sample-label{font-size:5px;letter-spacing:.55px}.new-home .social-link{min-height:83px;gap:10px;padding:12px 10px}.new-home .social-icon{width:35px;height:35px;font-size:22px}.new-home .social-link small{font-size:6px;letter-spacing:.55px}.new-home .social-link strong{font-size:14px}.new-home .social-link b{font-size:8px}.new-home .social-arrow{font-size:17px}.new-home .gallery-controls{left:12px;right:12px;bottom:13px}.new-home .gallery-controls button{width:36px;height:36px}.new-home .gallery-dots{bottom:58px;gap:7px}.new-home .gallery-dots button{width:8px;height:8px}.new-home .about{cursor:pointer}.new-home .outline-button{font-size:10px;padding:11px 12px;gap:12px}}@media(max-width:370px){.new-home .footer-socials{gap:8px}.new-home .social-link{padding:10px 7px;gap:7px}.new-home .social-icon{width:30px;height:30px}.new-home .social-link small{font-size:5px}.new-home .social-link strong{font-size:13px}.new-home .social-link b{font-size:7px}.new-home .social-arrow{font-size:15px}.new-home .gallery-dots{gap:5px}.new-home .gallery-dots button{width:7px;height:7px}}@media(prefers-reduced-motion:reduce){.new-home .coaching-slide,.new-home .social-link,.new-home .gallery-dots button{transition:none!important}}.new-home .social-icon svg{width:23px;height:23px;stroke:#fff;stroke-width:1.8}.new-home .social-icon svg circle:last-child{stroke:none}

.shell.new-home-shell{max-width:none;padding:0;background:#021b3b;min-height:100vh}
.new-home{min-height:100vh;background-color:#021b3b;background-image:radial-gradient(circle,#137cd252 1.2px,transparent 1.7px);background-size:22px 22px;color:#fff;font:16px/1.55 Arial,Helvetica,sans-serif}
.new-home .header nav button{background:transparent;color:inherit;font-size:13px;font-weight:600;padding:0}.new-home .header nav button:hover{color:var(--blue)}.new-home .coaching-identity{display:flex;align-items:center;gap:13px;margin-bottom:14px}.new-home .coaching-identity .eyebrow{margin:0}.new-home .kartel-logo-wrap{display:grid;place-items:center;background:#092849;padding:9px 11px;border-radius:7px;flex-shrink:0}.new-home .kartel-logo-wrap img{width:83px;height:auto}
@media(max-width:1020px){.new-home .header nav button{font-size:12px}}@media(max-width:780px){.new-home .header nav button{text-align:left;padding:14px 0;font-size:14px}.new-home .coaching-identity{gap:9px}.new-home .kartel-logo-wrap img{width:68px}}

/* Dedicated offer pages from the approved prototype. */
.new-home .detail-page{padding-top:28px}.new-home .detail-back{display:inline-block;color:#a9d3ff;font-size:12px;margin:0 0 25px}.new-home .detail-back:hover{text-decoration:underline}.new-home .detail-hero{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:35px;border-radius:18px;background:linear-gradient(130deg,#fff,#e4f3ff);color:var(--ink);padding:42px;min-height:440px}.new-home .detail-hero h1{font-size:clamp(34px,4.3vw,55px);margin:15px 0 19px}.new-home .detail-hero p:not(.eyebrow){font-size:15px;color:#52677e;max-width:490px}.new-home .detail-hero small{display:block;font-size:11px;color:#59728b;margin-top:15px}.new-home .detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:29px}.new-home .detail-actions .btn{max-width:325px}.new-home .detail-secondary{font-size:12px;font-weight:700;color:#1464b8}.new-home .detail-secondary:hover{text-decoration:underline}.new-home .detail-visual{display:grid;place-items:center;min-width:0}.new-home .detail-visual img{max-width:100%;max-height:395px;border-radius:10px;object-fit:contain;box-shadow:0 20px 40px #001b4030}.new-home .detail-ebook,.new-home .detail-coaching{background:linear-gradient(135deg,#103d66,#062345);color:#fff;border:1px solid #27679e}.new-home .detail-ebook h1 em,.new-home .detail-coaching h1 em{color:#82c7ff}.new-home .detail-ebook p:not(.eyebrow),.new-home .detail-coaching p:not(.eyebrow){color:#c5d8eb}.new-home .detail-ebook small,.new-home .detail-coaching small{color:#a7c5df}.new-home .detail-ebook .detail-secondary,.new-home .detail-coaching .detail-secondary{color:#a8d5ff}.new-home .detail-ebook .detail-visual img{max-height:390px}.new-home .detail-kartel{display:flex;align-items:center;gap:13px;color:#a8d5ff;font-size:10px;font-weight:700;letter-spacing:1.2px}.new-home .detail-kartel img{width:118px;height:auto}.new-home .detail-coaching .detail-visual img{width:100%;height:340px;object-fit:cover}.new-home .detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:24px 0 45px}.new-home .detail-grid article,.new-home .detail-chapters{background:#0b3157;border:1px solid #28577e;border-radius:12px;padding:24px}.new-home .detail-grid strong{font-size:11px;color:#79beff}.new-home .detail-grid h2{font-size:19px;margin:16px 0 11px}.new-home .detail-grid p{font-size:12px;color:#bad1e6}.new-home .detail-three{grid-template-columns:repeat(3,1fr)}.new-home .detail-chapters{margin:24px 0 45px}.new-home .detail-chapters h2{font-size:27px}.new-home .detail-chapters ol{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 35px;margin-top:25px;padding-left:24px;color:#d8eaff;font-size:13px}
@media(max-width:780px){.new-home .coaching-identity{gap:9px}.new-home .kartel-logo-wrap img{width:68px}.new-home .detail-hero{grid-template-columns:1fr;padding:30px}.new-home .detail-visual img{max-height:330px}.new-home .detail-grid{grid-template-columns:repeat(2,1fr)}.new-home .detail-three{grid-template-columns:1fr}}
@media(max-width:600px){.new-home .detail-ebook{display:flex;flex-direction:column}.new-home .detail-ebook{gap:12px;align-items:stretch}.new-home .detail-ebook .eyebrow{margin:0}.new-home .detail-ebook h1{margin:0 0 4px}.new-home .detail-ebook>div:first-child{display:contents}.new-home .detail-ebook .eyebrow{order:0}.new-home .detail-ebook h1{order:1}.new-home .detail-ebook p:not(.eyebrow){order:2}.new-home .detail-ebook .detail-visual{order:3}.new-home .detail-ebook .detail-actions{order:4}.new-home .detail-ebook small{order:5}.new-home .detail-page{padding-top:17px}.new-home .detail-back{margin-bottom:17px}.new-home .detail-hero{padding:26px;gap:25px;min-height:0}.new-home .detail-hero h1{font-size:36px}.new-home .detail-hero p:not(.eyebrow){font-size:13px}.new-home .detail-actions{margin-top:23px}.new-home .detail-actions .btn{max-width:none}.new-home .detail-visual img{max-height:270px}.new-home .detail-coaching .detail-visual img{height:235px}.new-home .detail-grid{grid-template-columns:1fr}.new-home .detail-grid article{padding:21px}.new-home .detail-chapters ol{grid-template-columns:1fr}}

/* Final approved prototype logo and TikTok icon sizes. */
.new-home .brand{width:220px}.new-home .brand img{height:83px}.new-home .social-icon.tiktok-icon img{width:24px;height:24px;object-fit:contain}
@media(max-width:1020px){.new-home .brand{width:190px}}
@media(max-width:780px){.new-home .brand{width:185px}}
@media(max-width:600px){.new-home .brand{width:150px}.new-home .brand img{height:67px}.new-home .social-icon.tiktok-icon img{width:21px;height:21px}}
@media(max-width:370px){.new-home .brand{width:118px}.new-home .social-icon.tiktok-icon img{width:18px;height:18px}}


.new-home .header .brand{border:0;padding:0;background:transparent;cursor:pointer}.new-home .marketing-legal{display:flex;flex-wrap:wrap;gap:9px 22px;padding:15px 0;border-bottom:1px solid #274766}.new-home .marketing-legal button{color:#c5e0fa;background:transparent;font-size:11px;padding:5px 0}.new-home .marketing-legal button:hover{text-decoration:underline}.new-home .detail-secondary{border:0;background:transparent;cursor:pointer}.new-home .header nav [aria-current=page]{color:#0876f9}

.new-home .detail-back{border:0;background:transparent;cursor:pointer}.new-home .detail-ebook .detail-secondary,.new-home .detail-coaching .detail-secondary{color:#a8d5ff}

.new-home .fm-presentation-story{background:linear-gradient(145deg,#fff,#e7f4ff);border:1px solid #b8e0ff;border-radius:17px;color:#0b1d37;overflow:hidden;margin:0 0 40px}.new-home .fm-presentation-story .fm-presentation-intro,.new-home .fm-presentation-story .fm-presentation-body{padding:32px}.new-home .fm-presentation-story .fm-presentation-intro{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:32px}.new-home .fm-presentation-portrait{margin:0}.new-home .fm-presentation-portrait img{width:100%;height:330px;object-fit:cover;border-radius:11px}.new-home .fm-presentation-story h1{font-size:clamp(34px,4vw,52px)}.new-home .fm-presentation-story h2{font-size:24px}.new-home .fm-presentation-body section{border-top:1px solid #d5e6f5;padding:24px 0}.new-home .fm-presentation-body p{line-height:1.7;margin:13px 0}.new-home .fm-presentation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.new-home .fm-presentation-actions button{padding:13px 17px;border-radius:7px;cursor:pointer}.new-home .fm-presentation-actions .fm-ref-button{background:#0876f9;color:white}.new-home .fm-presentation-actions .fm-ref-outline{background:#e6f2ff;color:#12569b;border:1px solid #a7c9ea}@media(max-width:780px){.new-home .fm-presentation-story .fm-presentation-intro{grid-template-columns:1fr}.new-home .fm-presentation-story .fm-presentation-intro,.new-home .fm-presentation-story .fm-presentation-body{padding:23px}.new-home .fm-presentation-portrait img{height:auto;max-height:330px}}

/* Public marketing pages override the application shell on every screen size. */
#app>.shell.new-home-shell{width:100%!important;max-width:none!important;min-height:100vh!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#021b3b!important;overflow:visible!important}
#app>.shell.new-home-shell>.new-home{width:100%;min-height:100vh}
.new-home .header{width:100%}
.new-home .social-icon{line-height:0}
.new-home .social-icon svg,.new-home .social-icon img{display:block;margin:auto}
@media(max-width:600px){
  #app>.shell.new-home-shell{min-width:0!important}
  .new-home .header-inner{display:grid!important;grid-template-columns:minmax(108px,128px) minmax(126px,170px) 26px!important;justify-content:space-between!important;gap:10px!important;width:100%!important;height:74px!important;padding:0 14px!important}
  .new-home .brand{grid-column:1!important;width:100%!important;min-width:0!important}
  .new-home .brand img{width:100%!important;height:58px!important}
  .new-home .login{grid-column:2!important;width:min(100%,170px)!important;justify-self:end!important;min-width:0!important;min-height:46px!important;padding:8px 10px!important;gap:7px!important;font-size:10px!important;line-height:1.2!important;text-align:center!important;justify-content:center!important;white-space:normal!important}
  .new-home .login span{min-width:0!important}
  .new-home .menu{display:grid!important;grid-column:3!important;place-items:center!important;width:26px!important;min-width:26px!important;height:42px!important;margin:0!important}
  .new-home .menu span{width:24px!important}
  .new-home .header nav{display:none!important}
  .new-home .header nav.open{position:absolute!important;top:74px!important;right:0!important;left:0!important;z-index:50!important;display:grid!important;gap:0!important;padding:10px 22px 16px!important;background:#fff!important;box-shadow:0 12px 20px #001b3b24!important}
  .new-home .header nav.open a,.new-home .header nav.open button{padding:13px 0!important;text-align:left!important;color:#0b1d37!important}
  .new-home .wrap{width:calc(100% - 28px)!important}
  .new-home .footer-socials{gap:10px!important}
  .new-home .social-link{min-width:0!important;gap:8px!important;padding:12px 9px!important}
  .new-home .social-icon{width:36px!important;height:36px!important;min-width:36px!important}
  .new-home .social-icon svg{width:21px!important;height:21px!important}
  .new-home .social-link>span:nth-child(2){min-width:0!important}
  .new-home .social-link small{font-size:5.5px!important;letter-spacing:.42px!important}
  .new-home .social-link strong{font-size:13px!important}
  .new-home .social-link b{font-size:7.5px!important;overflow-wrap:anywhere!important}
  .new-home .social-arrow{display:none!important}
}
@media(max-width:360px){
  .new-home .header-inner{grid-template-columns:minmax(100px,112px) minmax(118px,150px) 24px!important;gap:8px!important;padding:0 10px!important}
  .new-home .login{width:min(100%,150px)!important;font-size:9px!important;padding:8px 7px!important}
}

/* Finishes for the public marketing pages: compact portrait card and reliable icons. */
.new-home .fm-presentation-portrait{overflow:hidden;border-radius:11px;background:#0b3157}
.new-home .fm-presentation-portrait img{display:block;width:100%;height:330px;object-fit:cover;object-position:center 36%;border-radius:0}
.new-home .fm-presentation-portrait figcaption{position:static!important;display:grid!important;gap:3px!important;min-height:0!important;margin:0!important;padding:15px 17px 17px!important;background:#0b3157!important;color:#fff!important}
.new-home .fm-presentation-portrait figcaption strong{font-size:19px;line-height:1.2}
.new-home .fm-presentation-portrait figcaption span{font-size:12px;color:#c7e2fb}
.new-home .fm-presentation-page .fm-presentation-portrait{aspect-ratio:auto!important;align-self:start!important}
.new-home .fm-presentation-page .fm-presentation-portrait img{height:330px!important;max-height:none!important;transform:none!important;transform-origin:center!important;object-position:center 36%!important}
.new-home .coaching-kartel-link{display:inline-flex;align-items:center;gap:8px;margin-top:15px;color:#125fa9;font-size:12px;font-weight:700}
.new-home .coaching-kartel-link:hover{text-decoration:underline}
.new-home .detail-gallery{position:relative;display:block;overflow:hidden;border-radius:10px;min-height:340px}
.new-home .detail-coaching .detail-gallery img.coaching-slide{display:block;width:100%;height:340px;max-height:none;border-radius:0;object-fit:cover;box-shadow:none}
.new-home [data-gallery]{background:#0b3157;touch-action:pan-y}.new-home [data-gallery] .coaching-slide.gallery-slide-overlay{position:absolute!important;inset:0;z-index:1;display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;opacity:0;pointer-events:none;will-change:opacity;transition:opacity .42s cubic-bezier(.22,.61,.36,1)}.new-home [data-gallery] .coaching-slide.gallery-slide-overlay.is-active{opacity:1}.new-home [data-gallery] .coaching-slide:not(.gallery-slide-overlay){will-change:opacity}.new-home [data-gallery] img{user-select:none;-webkit-user-drag:none}
@media(max-width:600px){.new-home .detail-gallery{min-height:235px}.new-home .detail-coaching .detail-gallery img.coaching-slide{height:235px}}
.new-home .social-icon svg{fill:none!important;stroke:#fff!important}
.new-home .social-icon svg rect,.new-home .social-icon svg circle{fill:none!important;stroke:#fff!important}
.new-home .social-icon svg circle:last-child{fill:#fff!important;stroke:none!important}
@media(max-width:600px){
  .new-home .menu{grid-template-rows:repeat(3,2px)!important;align-content:center!important;gap:5px!important}
  .new-home .menu span{display:block!important;height:2px!important;background:#0b1d37!important}
  .new-home .fm-presentation-portrait img{height:250px!important;object-position:center 34%}
  .new-home .fm-presentation-page .fm-presentation-portrait img{height:250px!important;object-position:center 34%!important}
  .new-home .fm-presentation-portrait figcaption{padding:13px 15px 15px!important}
  .new-home .fm-presentation-portrait figcaption strong{font-size:17px}
  .new-home .fm-presentation-portrait figcaption span{font-size:11px}
  .new-home .coaching-kartel-link{font-size:11px;margin-top:14px}
}

/* Contact panel shared by phone, tablet and computer. */
.new-home .contact-link{border:0;background:transparent;cursor:pointer;text-align:left}
.new-home .contact-modal{width:min(520px,calc(100% - 30px));padding:34px;border:1px solid #4b93ca;border-radius:18px;color:#08203d;background:linear-gradient(145deg,#fff,#e5f3ff);box-shadow:0 24px 70px #001b3b80}
.new-home .contact-modal::backdrop{background:#001a38b8;backdrop-filter:blur(3px)}
.new-home .contact-modal .close-modal{position:absolute;top:14px;right:15px;width:32px;height:32px;border:0;border-radius:50%;background:#dceefe;color:#0b477d;font-size:23px;line-height:1;cursor:pointer}
.new-home .contact-modal .eyebrow{margin:0 0 8px;color:#1974c7}.new-home .contact-modal h2{margin:0;font-size:36px;letter-spacing:-1.2px}.new-home .contact-modal-intro{margin:10px 0 23px;color:#55718b;font-size:14px}
.new-home .contact-options{display:grid;gap:10px}.new-home .contact-options a{display:grid;gap:2px;padding:15px 17px;border:1px solid #b8d9f1;border-radius:11px;background:#fff;color:#0b3157;text-decoration:none}.new-home .contact-options a:hover,.new-home .contact-options a:focus-visible{border-color:#0876f9;box-shadow:0 4px 16px #0876f926;outline:0}.new-home .contact-options small{color:#3975aa;font-size:9px;font-weight:800;letter-spacing:1.2px}.new-home .contact-options strong{font-size:16px}.new-home .contact-options span{color:#1469b6;font-size:12px;font-weight:700;margin-top:4px}
@media(max-width:600px){.new-home .contact-modal{width:calc(100% - 24px);padding:28px 22px;border-radius:15px}.new-home .contact-modal h2{font-size:30px}.new-home .contact-modal-intro{font-size:13px}.new-home .contact-options a{padding:14px}.new-home .contact-options strong{font-size:14px}}

/* Final alignment: share one centered content axis on tablet and desktop. */
@media (min-width:601px){
  .new-home .wrap{margin-inline:auto}
  .new-home .header-inner{margin-inline:auto}
  .new-home .login{min-height:44px;padding:11px 15px;font-size:11px}
}
@media (min-width:781px){
  .new-home .header-inner{width:min(1150px,calc(100% - 64px))}
}
@media (min-width:1021px){
  .new-home .header-inner{width:min(1150px,calc(100% - 80px))}
}
@media (max-width:600px){
  .new-home .login{min-height:44px!important;padding:7px 9px!important}
}

/* App header: full shell width; keep the content's existing horizontal insets.
   admin.js replaces desktop-top-logo with brand-logo, so style both images. */
#app>.shell:not(.new-home-shell):not(:has(.welcome-poster-page)){
  --app-header-left:42px;
  --app-header-right:42px;
  padding-top:0!important;
  background:#fff!important;
}
#app>.shell:not(.new-home-shell):not(:has(.welcome-poster-page))>header.top{
  position:relative!important;
  isolation:isolate!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:calc(100% + var(--app-header-left) + var(--app-header-right))!important;
  max-width:none!important;
  min-height:82px!important;
  height:auto!important;
  margin:0 calc(-1 * var(--app-header-right)) 16px calc(-1 * var(--app-header-left))!important;
  padding:6px 20px!important;
  overflow:hidden!important;
  border:0!important;
  border-top:3px solid #1685df!important;
  border-radius:0!important;
  background-color:#fff!important;
  background-image:radial-gradient(circle,rgba(22,133,223,.38) 1px,transparent 1.5px)!important;
  background-size:18px 18px!important;
  box-shadow:none!important;
}
#app>.shell:not(.new-home-shell):not(:has(.welcome-poster-page))>header.top .brand{
  display:block!important;
  flex:0 1 210px!important;
  width:210px!important;
  max-width:46%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  line-height:0!important;
  overflow:visible!important;
  clip-path:none!important;
  isolation:auto!important;
  /* Blend the exact original logo with the dots; white pixels become invisible. */
  mix-blend-mode:multiply!important;
}
#app>.shell:not(.new-home-shell):not(:has(.welcome-poster-page))>header.top .brand>img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:72px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:contain!important;
  object-position:left center!important;
  image-rendering:auto!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}
#app>.shell:not(.new-home-shell):not(:has(.welcome-poster-page))>header.top .admin-entry{
  position:static!important;
  flex:0 0 auto!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  min-height:44px!important;
  margin:0!important;
  padding:7px 12px!important;
  border:1px solid #b9d9f3!important;
  border-radius:999px!important;
  background:#edf7ff!important;
  color:#123b5a!important;
  box-shadow:none!important;
  font-size:13px!important;
  line-height:1.3!important;
  white-space:nowrap!important;
}
@media(max-width:650px){
  #app>.shell:not(.new-home-shell):not(:has(.welcome-poster-page)){
    --app-header-left:16px;
    --app-header-right:16px;
  }
}
@media(max-width:699px){
  #app>.shell:not(.new-home-shell):not(:has(.welcome-poster-page))>header.top{
    min-height:74px!important;
    padding:5px 16px!important;
    gap:8px!important;
  }
  #app>.shell:not(.new-home-shell):not(:has(.welcome-poster-page))>header.top .brand{
    flex-basis:170px!important;
    width:170px!important;
  }
  #app>.shell:not(.new-home-shell):not(:has(.welcome-poster-page))>header.top .admin-entry{
    padding:6px 10px!important;
    font-size:12px!important;
  }
}
@media(min-width:700px) and (max-width:1099px){
  #app>.shell:not(.new-home-shell):not(:has(.welcome-poster-page)){
    --app-header-left:32px;
    --app-header-right:32px;
  }
  #app>.shell:not(.new-home-shell):not(:has(.welcome-poster-page))>header.top .brand{
    flex-basis:190px!important;
    width:190px!important;
  }
}
@media(min-width:1100px){
  #app>.shell:not(.new-home-shell):not(:has(.welcome-poster-page)){
    --app-header-left:40px;
    --app-header-right:62px;
  }
}
/* Keep the six-tool navigation intact; only hide the large coaching footer. */
#app>.shell:not(.new-home-shell) .pwa-tools{display:none!important;}

/* Real desktop home capture: keep the entire interface visible at all sizes. */
.new-home .app-art{height:auto;min-height:0;padding:8px 0;margin:20px 0 10px}
.new-home .app-window{width:100%;max-width:none;transform:none}
.new-home .app-screenshot{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.new-home .app-product .app-video-art{display:flex!important;flex-direction:column;align-items:center;justify-content:center;height:auto!important;min-height:0!important;margin:18px 0 8px!important;padding:0!important}
.new-home .app-product .app-video-frame{width:min(205px,52vw);max-width:100%;aspect-ratio:9/16;overflow:hidden;border:2px solid #2870a7;border-radius:19px;background:#061c3c;box-shadow:0 12px 32px #001a3433}
.new-home .app-product .app-video-frame video{display:block;width:100%;height:100%;object-fit:cover;background:#061c3c}
.new-home .app-product .app-video-art .art-label{display:block;margin:11px 0 0;text-align:center;color:#657b92;font-size:8px;font-weight:800;letter-spacing:1px;line-height:1.45}
@media(max-width:600px){.new-home .app-product .app-video-frame{width:min(175px,52vw);border-radius:17px}.new-home .app-product .app-video-art .art-label{max-width:190px;font-size:8px}}
.new-home .hero-video-card{width:min(220px,58vw);aspect-ratio:9/16;margin:28px auto 0;overflow:hidden;border:1px solid #2976bd;border-radius:20px;background:#061c3c;box-shadow:0 0 0 1px #3281cb33,0 14px 35px #0005}
.new-home .hero-video-card video{display:block;width:100%;height:100%;object-fit:cover;background:#061c3c}
.new-home .hero-video-caption{margin:14px 0 0!important;color:#86c4ff!important;font-size:9px!important;font-weight:700;letter-spacing:1.7px}
@media(max-width:600px){.new-home .hero-video-card{width:min(190px,54vw);margin-top:24px;border-radius:18px}.new-home .hero-video-caption{font-size:8px!important;letter-spacing:1.35px}}

/* Blue folder for the dedicated fitness machine library. */
.exercise-folder.folder-fitness{background:linear-gradient(135deg,#edf6ff,#fbfdff)!important;border-left-color:#1685df!important}
.exercise-folder.folder-fitness .folder-icon{background:#dcedff!important;color:#1685df!important}
.exercise-folder.folder-fitness em{color:#1685df!important}

/* FM Performance application preview gallery */
.new-home .app-detail-page{padding-top:28px}
.new-home .app-detail-intro{padding:20px 4px 34px;color:#fff}
.new-home .app-detail-intro h1{font-size:clamp(34px,4.2vw,58px);margin:12px 0 17px;white-space:nowrap}
.new-home .app-detail-intro h1 em{color:#0876f9}
.new-home .app-detail-intro p:not(.eyebrow){max-width:760px;color:#c5d8eb;font-size:15px;line-height:1.65}
.new-home .app-preview-section{background:linear-gradient(135deg,#fff,#eef8ff);border:1px solid #c3e5ff;border-radius:20px;padding:28px;box-shadow:0 16px 48px #00122950;color:var(--ink)}
.new-home .app-preview-header{margin-bottom:22px}
.new-home .app-preview-header h2{font-size:clamp(25px,3vw,36px);margin:7px 0 8px;color:#0b1d37}
.new-home .app-preview-header>p:last-child{font-size:14px;color:#5b6f86;margin:0}
.new-home .app-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.new-home .app-preview-card{min-width:0;background:#fff;border:1px solid #c8e1f3;border-radius:16px;overflow:hidden;box-shadow:0 8px 20px #14507112}
.new-home .app-preview-image-link{display:block;background:#f4f9fe;cursor:zoom-in}
.new-home .app-preview-image-link:focus-visible{outline:3px solid #1689e8;outline-offset:-3px}
.new-home .app-preview-card img{display:block;width:100%;height:auto;aspect-ratio:1536/1024;object-fit:cover}
.new-home .app-preview-card-copy{padding:14px 16px 16px}
.new-home .app-preview-card-copy h3{font-size:20px;margin:0 0 5px;color:#10233e}
.new-home .app-preview-card-copy p{font-size:13px;line-height:1.45;color:#607086;margin:0}
.new-home .app-preview-purchase{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:22px;padding:20px 22px;background:#eaf6ff;border:1px solid #b9def7;border-radius:16px}
.new-home .app-preview-purchase>div:first-child>p{margin:0;color:#50667d;font-size:14px}
.new-home .app-preview-purchase>div:first-child>strong{display:block;margin:3px 0;color:#0b1d37;font-size:39px;line-height:1;letter-spacing:-1.3px}
.new-home .app-preview-purchase>div:first-child>strong small{font-size:16px;letter-spacing:0}
.new-home .app-preview-purchase>div:first-child>span{display:block;color:#1767be;font-weight:700;font-size:12px}
.new-home .app-preview-purchase-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:310px}
.new-home .app-preview-purchase-actions .btn{width:100%;font-size:13px}
.new-home .app-preview-purchase-actions .detail-secondary{text-align:center;background:transparent;border:0;padding:3px;color:#1464b8;font-size:11px;font-weight:700;cursor:pointer}
.new-home .app-preview-purchase-actions>small{text-align:center;color:#607086;font-size:10px}
.new-home .app-feature-grid{margin-top:24px}
@media(max-width:780px){
  .new-home .app-detail-intro{padding:17px 1px 24px}
  .new-home .app-detail-intro h1{font-size:36px;white-space:normal}
  .new-home .app-detail-intro p:not(.eyebrow){font-size:13px}
  .new-home .app-preview-section{padding:16px;border-radius:17px}
  .new-home .app-preview-header h2{font-size:27px}
  .new-home .app-preview-grid{grid-template-columns:1fr;gap:14px}
  .new-home .app-preview-card-copy{padding:12px 14px 14px}
  .new-home .app-preview-card-copy h3{font-size:19px}
  .new-home .app-preview-purchase{display:block;padding:18px 15px;text-align:center}
  .new-home .app-preview-purchase>div:first-child>strong{font-size:36px}
  .new-home .app-preview-purchase-actions{min-width:0;margin-top:14px}
  .new-home .app-preview-purchase-actions .btn{font-size:12px}
}
@media(min-width:781px) and (max-width:1100px){
  .new-home .app-detail-intro h1{font-size:42px}
  .new-home .app-preview-section{padding:22px}
  .new-home .app-preview-purchase-actions{min-width:270px}
}

/* Keep the lifetime purchase label on one line on narrow screens. */
@media(max-width:780px){
  .new-home .app-preview-purchase-actions .btn{
    white-space:nowrap;
    gap:8px;
    padding-inline:clamp(10px,3vw,18px);
    font-size:clamp(10px,3.15vw,12px);
    letter-spacing:-.02em;
  }
  .new-home .app-preview-purchase-actions .btn>span{flex:0 0 auto}
}

/* Homepage hero: feature the presentation video across phone, tablet and desktop. */
.new-home .intro{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(270px,.82fr);grid-template-areas:"copy video" "links video";align-items:center;column-gap:clamp(34px,6vw,78px);row-gap:25px;max-width:1040px;margin:0 auto;text-align:left;padding:58px 0 48px}
.new-home .intro-copy{grid-area:copy;min-width:0}
.new-home .intro .eyebrow{margin-bottom:17px;max-width:100%;font-size:10px;letter-spacing:1.8px}
.new-home .intro h1{font-size:clamp(38px,4.2vw,56px);line-height:1.08;letter-spacing:-.045em}
.new-home .intro-copy>p:not(.eyebrow){font-size:16px;color:#c5d7eb;margin-top:17px;line-height:1.6}
.new-home .hero-video-panel{grid-area:video;width:min(100%,330px);justify-self:center;text-align:center}
.new-home .hero-video-card{position:relative;width:100%;aspect-ratio:9/16;margin:0 auto;overflow:hidden;border:1px solid #2976bd;border-radius:22px;background:#061c3c;box-shadow:0 0 0 1px #3281cb44,0 18px 42px #0006}
.new-home .hero-video-card video{display:block;width:100%;height:100%;object-fit:cover;background:#061c3c}




.new-home .hero-video-caption{margin:0 0 14px!important;color:#86c4ff!important;font-size:10px!important;font-weight:700;letter-spacing:1.8px}
.new-home .quick-links{grid-area:links;justify-content:flex-start;flex-wrap:wrap;gap:10px;margin:0}
.new-home .quick-links a{font-size:12px;padding:11px 15px}
@media(min-width:700px) and (max-width:1099px){
 .new-home .intro{grid-template-columns:minmax(0,1fr) minmax(235px,.78fr);column-gap:34px;padding:46px 0 38px}
 .new-home .intro h1{font-size:clamp(36px,4.7vw,47px)}
 .new-home .intro-copy>p:not(.eyebrow){font-size:15px}
 .new-home .hero-video-panel{width:min(100%,280px)}

}
@media(max-width:699px){
 .new-home .intro{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "video" "links";gap:0;text-align:center;padding:34px 0 30px}
 .new-home .intro-copy{width:100%}
 .new-home .intro .eyebrow{font-size:9px;letter-spacing:1.45px;margin-bottom:13px}
 .new-home .intro h1{font-size:clamp(31px,8.3vw,37px);line-height:1.11}
 .new-home .intro-copy>p:not(.eyebrow){font-size:15px;margin-top:12px}
 .new-home .hero-video-panel{width:min(280px,78vw);margin:20px auto 0}
 .new-home .hero-video-card{border-radius:19px}


 .new-home .hero-video-caption{font-size:9px!important;letter-spacing:1.45px;margin-bottom:12px!important}
 .new-home .quick-links{justify-content:center;gap:7px;margin-top:23px}
 .new-home .quick-links a{gap:12px;font-size:10px;padding:9px 11px}
}
@media(max-width:370px){
 .new-home .intro h1{font-size:29px}
 .new-home .hero-video-panel{width:min(250px,78vw)}
 .new-home .quick-links a{gap:8px;padding:8px 9px;font-size:9px}
}

/* Phone refinement: compact the tall video and keep its control clear of video content. */
@media(max-width:699px){
  .new-home .hero-video-panel{width:min(230px,70vw);margin-top:18px}



}
@media(max-width:370px){
  .new-home .hero-video-panel{width:min(210px,70vw)}
}


/* Objectif hebdomadaire atteint : célébration discrète et accès direct à la modification du but. */
.home-week-summary-wrap{display:grid;align-content:start;gap:10px;min-width:0;}
.home-week-summary-wrap>.home-summary-card{width:100%;box-sizing:border-box;}
.home-weekly-reward{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;border:1px solid #b8e5c8;border-radius:14px;background:#eaf8ef;color:#236344;box-shadow:0 5px 14px rgba(31,83,117,.06);}
.home-weekly-reward-icon{font-size:21px;line-height:1;}
.home-weekly-reward>span:nth-child(2){display:grid;gap:4px;min-width:0;}
.home-weekly-reward strong{font-size:13px;line-height:1.25;}
.home-weekly-reward small{font-size:11px;line-height:1.35;color:#476a57;}
.home-weekly-reward-close{width:26px;height:26px;border:0;border-radius:50%;background:transparent;color:#528267;font-size:20px;line-height:1;cursor:pointer;}
.home-weekly-reward-close:hover{background:#d7f0df;}
.home-objective-edit{display:block;margin-top:4px;color:#1685df!important;font-size:10px!important;font-weight:700;}
@media(max-width:699px){.home-weekly-reward{gap:8px;padding:11px 12px;}.home-weekly-reward strong{font-size:12px;}.home-weekly-reward small{font-size:10px;}}

/* Landing-page refinements: keep the new application promise readable on phones. */
.new-home .app-product h2{max-width:18ch;font-size:clamp(30px,3.2vw,38px);line-height:1.08;}
.new-home .app-product .product-description{max-width:39ch;line-height:1.55;}
.new-home .questions{scroll-margin-top:110px;}
.new-home .questions-intro{margin:-8px 9px 20px;color:#526b84;font-size:14px;line-height:1.6;}
@media(max-width:600px){.new-home .app-product h2{font-size:clamp(30px,8vw,36px);max-width:17ch;}.new-home .questions-intro{font-size:13px;margin:-9px 9px 17px;}}


/* Bilan : objectif compact, bleu FM Performance, avec le réglage existant conservé. */
.bilan-objective{display:grid!important;grid-template-columns:54px minmax(0,1fr) auto;align-items:center!important;gap:14px!important;padding:16px 20px!important;min-height:0!important;border-radius:20px!important;background:linear-gradient(145deg,#123b5a 0%,#1f6793 100%)!important;box-shadow:0 10px 24px rgba(18,59,90,.16)!important;}
.bilan-objective-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:rgba(255,255,255,.16);font-size:29px;line-height:1;}
.bilan-objective-copy{min-width:0;}
.bilan-objective-copy .eyebrow{margin:0 0 4px!important;font-size:11px;letter-spacing:.12em;}
.bilan-objective-copy h2{margin:0!important;font-size:clamp(20px,4vw,26px)!important;line-height:1.15;}
.bilan-objective details{min-width:0!important;margin:0!important;}
.bilan-objective details>summary{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 13px;border:1px solid rgba(255,255,255,.72);border-radius:12px;color:#fff!important;font-size:14px;font-weight:700;cursor:pointer;list-style:none;white-space:nowrap;}
.bilan-objective details>summary::-webkit-details-marker{display:none;}
.bilan-objective details>summary::after{content:"⌄";font-size:18px;line-height:1;}
.bilan-objective details[open]>summary::after{content:"⌃";}
.bilan-objective details[open]{grid-column:1/-1;width:100%;padding-top:2px;}
.bilan-objective details form{max-width:560px;padding-top:12px!important;}
.bilan-objective .primary{background:#fff!important;color:#145d96!important;border-color:#fff!important;}
@media(max-width:600px){.bilan-objective{grid-template-columns:44px minmax(0,1fr) auto;gap:10px!important;padding:13px 14px!important;border-radius:17px!important;}.bilan-objective-icon{width:42px;height:42px;border-radius:13px;font-size:25px;}.bilan-objective-copy .eyebrow{font-size:10px;}.bilan-objective-copy h2{font-size:clamp(17px,4.8vw,22px)!important;}.bilan-objective details>summary{min-height:40px;padding:7px 9px;font-size:12px;}}
@media(max-width:370px){.bilan-objective{grid-template-columns:40px minmax(0,1fr);}.bilan-objective details{grid-column:2;}.bilan-objective details>summary{justify-content:flex-start;width:max-content;max-width:100%;}}
.exercise-folder.folder-preset-hub{background:linear-gradient(135deg,#fbf3e5,#fffdfa)!important;border-left-color:#b98a4b!important}
.folder-preset-hub .folder-icon{background:#f3e5cc!important;color:#a97835!important}
.folder-preset-hub em{color:#9b6b2d!important}
.exercise-folder.folder-preset-fitness{background:linear-gradient(135deg,#edf6ff,#fbfdff)!important;border-left-color:#1685df!important}
.folder-preset-fitness .folder-icon{background:#dcedff!important;color:#1685df!important}
.folder-preset-fitness em{color:#1685df!important}
.preset-workout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.preset-workout-card{overflow:hidden;border:1px solid #d9e8f4;border-radius:20px;background:#fff;box-shadow:0 5px 18px #1b4c6c0d}
.preset-workout-photos{display:grid;grid-template-columns:repeat(3,1fr);height:120px;background:#f2f8fd}
.preset-workout-photos img{width:100%;height:120px;object-fit:contain;background:#f5f9fc;border-right:1px solid #e4edf5}
.preset-workout-copy{padding:18px}
.preset-workout-meta{display:flex;gap:8px;flex-wrap:wrap}
.preset-workout-meta span{border-radius:999px;padding:5px 10px;background:#eaf4ff;color:#176ea8;font-size:12px;font-weight:700}
.preset-workout-copy h2{margin:12px 0 2px;font-size:21px;color:#172b3c}
.preset-workout-copy p{margin:0 0 15px;color:#597186;font-size:14px}
.preset-focus{font-weight:700;color:#1678ba}
.preset-duration-card{display:grid;gap:4px;margin-top:20px;padding:19px 22px;border-radius:18px;background:linear-gradient(120deg,#166fae,#1685df);color:#fff}
.preset-duration-card strong{font-size:30px;line-height:1.1}
.preset-duration-card span{font-weight:700}
.preset-duration-card small{margin-top:7px;color:#e7f4ff;line-height:1.7}
.preset-exercise-list{display:grid;gap:10px}
.preset-exercise-row{display:grid;grid-template-columns:34px 84px minmax(0,1fr);gap:12px;align-items:center;padding:11px;border:1px solid #e1ebf3;border-radius:16px;background:#fff}
.preset-exercise-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#1685df;color:#fff;font-size:12px;font-weight:800}
.preset-exercise-row img{width:84px;height:78px;object-fit:contain;border-radius:12px;background:#f2f7fb}
.preset-exercise-row h3{margin:0 0 4px;color:#1a2c3b;font-size:16px}
.preset-exercise-row p{margin:0;color:#617487;font-size:13px;line-height:1.4}
.preset-coach-note{display:grid;gap:4px;margin-top:18px;padding:16px;border-left:4px solid #b98a4b;border-radius:12px;background:#faf4e9;color:#5d492d}
.preset-coach-note strong{color:#765525}
.preset-coach-note span{font-size:14px;line-height:1.5}
.preset-actions{display:grid;gap:10px}
.preset-plan-panel{margin-top:18px;border-color:#b9d9f1;background:#f7fbff}
.preset-plan-panel h2{margin-bottom:6px}
.preset-plan-buttons{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap}
.preset-completion-reward{display:flex;align-items:center;gap:13px;margin:-4px 0 20px;padding:14px 16px;border-radius:16px;background:linear-gradient(120deg,#fff5dc,#fffaf0);border:1px solid #f1d99d;color:#765525}
.preset-completion-reward>span{font-size:30px}
.preset-completion-reward div{display:grid;gap:2px}
.preset-completion-reward small{color:#806b48}
@media(max-width:650px){.preset-workout-grid{grid-template-columns:1fr;gap:13px}.preset-workout-photos,.preset-workout-photos img{height:112px}.preset-workout-copy{padding:15px}.preset-exercise-row{grid-template-columns:30px 68px minmax(0,1fr);gap:9px;padding:9px}.preset-exercise-number{width:28px;height:28px}.preset-exercise-row img{width:68px;height:68px}.preset-exercise-row h3{font-size:15px}.preset-exercise-row p{font-size:12px}.preset-plan-buttons>*{flex:1}}
.objective-folder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.objective-home-note{display:flex;align-items:center;gap:10px;max-width:860px;margin:16px 0;padding:13px 16px;border:1px solid #b9d8ea;border-left:5px solid #1685df;border-radius:14px;background:linear-gradient(115deg,#edf8ff,#f9fcff);color:#31556d;text-align:left;}
.objective-home-note strong{flex:0 0 auto;color:#176b9f;font-size:14px;}
.objective-home-note span{font-size:13px;line-height:1.45;}
.objective-folder-grid .exercise-folder{min-height:112px}
.objective-folder-grid .folder-icon{font-size:23px}
.objective-gear{display:block;margin-top:3px;color:#687b8a;font-size:11px;line-height:1.3}
.objective-duration-card{background:linear-gradient(120deg,#755a19,#b98a22)!important}
.objective-duration-card small{color:#fff8df!important}
.preset-exercise-row:has(.objective-gear){grid-template-columns:34px 84px minmax(0,1fr)}
@media(max-width:650px){.objective-folder-grid{grid-template-columns:1fr;gap:10px}.objective-folder-grid .exercise-folder{min-height:unset}.objective-gear{font-size:10px}.preset-exercise-row:has(.objective-gear){grid-template-columns:30px 68px minmax(0,1fr)}}
@media(max-width:650px){.objective-home-note{display:grid;gap:3px;margin:12px 0;padding:12px}.objective-home-note span{font-size:12px}}

.exercise-plan-entry-detail{width:fit-content;max-width:100%;justify-self:center;padding:11px 18px;min-height:46px;font-size:16px}
@media(max-width:540px){.exercise-plan-entry-detail{padding:10px 15px;font-size:15px}}

.objective-phase-example.is-current{border:2px solid #1685df;background:#eef8ff;box-shadow:0 0 0 3px #1685df22}
.objective-current-badge{margin-left:auto;flex:0 0 auto;padding:4px 8px;border-radius:12px;background:#1685df;color:#fff;font-size:11px}
.objective-current-move{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:center;margin:16px 0;padding:16px;border:1px solid #b7dcf2;border-radius:18px;background:#f3faff}
.objective-current-move img{width:100%;height:110px;object-fit:contain;border-radius:12px;background:#fff}
.objective-current-move small{color:#17699c;font-weight:700}
.objective-current-move h2{margin:4px 0 6px}
.objective-current-move p{margin:0}
@media(max-width:540px){.objective-phase-example.is-current{border-width:2px}.objective-current-move{grid-template-columns:84px minmax(0,1fr);gap:10px;padding:10px}.objective-current-move img{height:90px}.objective-current-move h2{font-size:18px}}
/* Objectif et phases guidées : cartes compactes et chrono lisible sur téléphone. */
.objective-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:14px!important;}
.objective-folder-grid .exercise-folder.folder-objective{min-height:88px!important;gap:10px!important;padding:10px 12px!important;border-left-width:4px!important;border-radius:15px!important;background:linear-gradient(135deg,#fffdf7,#fff)!important;box-shadow:0 4px 12px rgba(27,65,86,.06)!important;}
.objective-folder-grid .folder-icon.objective-folder-icon{width:42px!important;height:42px!important;flex-basis:42px!important;padding:7px!important;border-radius:13px!important;}
.objective-folder-grid .exercise-folder>span:nth-child(2){gap:3px!important;}
.objective-folder-grid .exercise-folder strong{font-size:15px!important;line-height:1.15!important;}
.objective-folder-grid .exercise-folder small{font-size:11px!important;line-height:1.25!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;}
.objective-folder-grid .exercise-folder em{font-size:10px!important;line-height:1.1!important;}
.objective-folder-grid .exercise-folder:nth-child(2n) .objective-folder-icon{background:linear-gradient(145deg,#e8f3ff,#d9eaff)!important;}
.objective-folder-grid .exercise-folder:nth-child(3n) .objective-folder-icon{background:linear-gradient(145deg,#e8f7ed,#d5f0df)!important;}
.objective-folder-grid .exercise-folder:nth-child(4n) .objective-folder-icon{background:linear-gradient(145deg,#fff0e5,#ffdfc9)!important;}
.objective-phase .objective-current-move{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:12px;margin:12px 0;padding:12px;border:2px solid #1685df;border-radius:16px;background:linear-gradient(120deg,#edf7ff,#fff);box-shadow:0 4px 14px rgba(22,133,223,.09);}
.objective-current-move img{width:100px;height:78px;object-fit:contain;border-radius:10px;background:#fff;}
.objective-current-move small{font-size:11px;font-weight:800;color:#176b9f;}
.objective-current-move h2{margin:3px 0!important;font-size:18px!important;line-height:1.15!important;}
.objective-current-move p{margin:0!important;font-size:13px!important;line-height:1.35!important;}
.objective-phase-examples{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin:10px 0 12px!important;}
.objective-phase-example{position:relative;min-height:67px;padding:7px!important;border-radius:12px!important;}
.objective-phase-example img{flex-basis:58px!important;width:58px!important;height:50px!important;}
.objective-phase-example strong{font-size:12px!important;line-height:1.15!important;}
.objective-phase-example small{font-size:10px!important;}
.objective-phase-example.is-current{border:2px solid #1685df!important;background:linear-gradient(135deg,#e8f4ff,#fff)!important;box-shadow:0 0 0 2px rgba(22,133,223,.09),0 5px 14px rgba(22,133,223,.12)!important;}
.objective-current-badge{grid-column:1/-1;justify-self:start;padding:3px 7px;border-radius:99px;background:#1685df;color:#fff;font-size:9px;line-height:1.2;}
.objective-timer-card{padding:12px 14px!important;border-radius:16px!important;}
.objective-phase .objective-timer-card .timer{font-size:54px!important;line-height:1!important;margin:0 0 7px!important;}
.objective-phase .timer-actions{gap:8px!important;}
.objective-phase .timer-actions>button{flex:1;min-width:0;min-height:44px!important;padding:8px 10px!important;border-radius:12px!important;font-size:13px!important;}
.objective-timer-hint{margin:7px 0 0!important;text-align:center;font-size:11px!important;line-height:1.25!important;color:#5b7080!important;}
.objective-phase .objective-next-step{min-height:46px!important;padding:9px 12px!important;border-radius:12px!important;font-size:14px!important;}
.warmup-detail .timer{font-size:46px!important;line-height:1!important;margin:2px 0 7px!important;}
.warmup-detail .timer-actions>button{min-height:44px!important;padding:8px 10px!important;border-radius:11px!important;font-size:13px!important;}
.warmup-detail .stack>.primary.full{min-height:46px!important;padding:9px 12px!important;border-radius:12px!important;font-size:14px!important;}
@media(max-width:650px){
 .objective-folder-grid{grid-template-columns:1fr!important;gap:8px!important;}
 .objective-folder-grid .exercise-folder.folder-objective{min-height:76px!important;}
 .objective-folder-grid .folder-icon.objective-folder-icon{width:38px!important;height:38px!important;flex-basis:38px!important;padding:6px!important;}
 .objective-folder-grid .exercise-folder strong{font-size:14px!important;}
 .objective-folder-grid .exercise-folder small{font-size:10px!important;}
 .objective-folder-grid .exercise-folder em{font-size:9px!important;}
 .objective-phase-examples{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 .objective-phase-example{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:6px!important;}
 .objective-phase-example img{width:48px!important;height:44px!important;flex-basis:48px!important;}
 .objective-current-move{grid-template-columns:76px minmax(0,1fr)!important;padding:9px!important;gap:9px!important;}
 .objective-current-move img{width:76px!important;height:64px!important;}
 .objective-current-move h2{font-size:16px!important;}
 .objective-current-move p{font-size:11px!important;}
 .objective-phase .objective-timer-card .timer{font-size:48px!important;}
 .objective-phase .timer-actions>button{min-height:42px!important;padding:7px!important;font-size:12px!important;}
 .objective-phase .objective-next-step{min-height:44px!important;font-size:13px!important;}
 .warmup-detail .timer{font-size:40px!important;}
 .warmup-detail .timer-actions>button{min-height:40px!important;padding:7px!important;font-size:12px!important;}
 .warmup-detail .stack>.primary.full{min-height:42px!important;font-size:13px!important;}
}
/* Progression visuelle des mouvements et commandes de chrono plus compactes. */
.guided-move-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:2px 0 8px;}
.guided-move-card{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:6px;min-width:0;min-height:52px;padding:5px 7px;border:1px solid #d8e4eb;border-radius:11px;background:#f8fafb;color:#405563;transition:background-color .2s,border-color .2s,opacity .2s;}
.guided-move-card img{width:40px;height:36px;object-fit:contain;border-radius:7px;background:#fff;}
.guided-move-card span{display:grid;gap:2px;min-width:0;}
.guided-move-card strong{font-size:10px;line-height:1.15;}
.guided-move-card small{font-size:9px;line-height:1.1;color:#627681;}
.guided-move-card>b{grid-column:2;font-size:9px;line-height:1.1;color:#647580;}
.guided-move-card.is-current{border:2px solid #1685df;background:#eef7ff;}
.guided-move-card.is-running,.objective-phase-example.is-running{border-color:#299767!important;background:linear-gradient(135deg,#e0f6e9,#f4fcf6)!important;box-shadow:0 0 0 2px rgba(41,151,103,.12)!important;}
.guided-move-card.is-running>b,.objective-phase-example.is-running .objective-current-badge{color:#fff!important;background:#278653!important;}
.guided-move-card.is-complete,.objective-phase-example.is-complete{border-color:#d4dadd!important;background:#eef0f1!important;color:#7a858b!important;opacity:.78;box-shadow:none!important;}
.guided-move-card.is-complete img,.objective-phase-example.is-complete img{filter:grayscale(1);opacity:.58;}
.guided-move-card.is-complete strong,.objective-phase-example.is-complete strong{color:#778188!important;text-decoration:line-through;text-decoration-thickness:1px;}
.guided-move-card.is-complete>b,.objective-phase-example .is-done-badge{color:#5e6b72!important;background:#e0e4e6!important;}
.objective-phase .objective-timer-card,.warmup-detail .guided-timer-card{padding:8px 10px!important;border-radius:13px!important;}
.objective-phase .objective-timer-card .timer,.warmup-detail .guided-timer-card .timer{font-size:38px!important;line-height:1!important;margin:0 0 5px!important;}
.objective-phase .timer-actions>button,.warmup-detail .guided-timer-card .timer-actions>button{min-height:38px!important;padding:6px 8px!important;font-size:12px!important;}
.objective-phase .objective-next-step,.warmup-detail .stack>.primary.full{min-height:40px!important;padding:7px 10px!important;font-size:12px!important;}
@media(max-width:650px){
 .guided-move-list{gap:5px;}
 .guided-move-card{grid-template-columns:34px minmax(0,1fr);min-height:46px;gap:5px;padding:4px 5px;}
 .guided-move-card img{width:34px;height:31px;}
 .guided-move-card strong{font-size:9px;}
 .guided-move-card small,.guided-move-card>b{font-size:8px;}
 .objective-phase .objective-timer-card .timer,.warmup-detail .guided-timer-card .timer{font-size:34px!important;}
 .objective-phase .timer-actions>button,.warmup-detail .guided-timer-card .timer-actions>button{min-height:36px!important;padding:5px 6px!important;font-size:11px!important;}
 .objective-phase .objective-next-step,.warmup-detail .stack>.primary.full{min-height:38px!important;padding:6px 8px!important;font-size:11px!important;}
}
.warmup-card.is-complete{border-color:#d2d8dc!important;background:#eef0f1!important;color:#748087!important;opacity:.8;}
.warmup-card.is-complete img{filter:grayscale(1);opacity:.6;}
.warmup-card.is-complete h3{text-decoration:line-through;text-decoration-thickness:1px;color:#778188!important;}
/* Même déroulé guidé dans Programme pour moi et dans les séances par objectif. */
.guided-phase{max-width:760px!important;margin:0 auto;}
.guided-phase .objective-current-move{grid-template-columns:120px minmax(0,1fr);}
.guided-phase .objective-current-move img{width:120px;height:104px;}
.guided-phase .objective-phase-example{cursor:default;}
.guided-phase .objective-timer-card .timer{font-size:42px!important;}
.guided-phase .objective-next-step{width:auto;min-width:min(100%,360px);display:block;margin:10px auto 0;}
@media(max-width:650px){
 .guided-phase{max-width:none!important;}
 .guided-phase .objective-current-move{grid-template-columns:76px minmax(0,1fr)!important;}
 .guided-phase .objective-current-move img{width:76px!important;height:64px!important;}
 .guided-phase .objective-timer-card .timer{font-size:34px!important;}
 .guided-phase .objective-next-step{width:100%;min-height:40px!important;margin-top:8px;font-size:12px!important;}
}


/* Deux vidéos de présentation côte à côte dans le hero. */
.new-home .hero-video-panel{grid-area:video;width:min(100%,460px);justify-self:center;text-align:center}
.new-home .hero-video-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.new-home .hero-video-item{margin:0;min-width:0}
.new-home .hero-video-item figcaption{margin-top:9px;color:#bdd7ef;font-size:10px;font-weight:700;line-height:1.35;letter-spacing:.06em}
.new-home .hero-video-card{position:relative;width:100%;aspect-ratio:9/16;margin:0 auto;overflow:hidden;border:1px solid #2976bd;border-radius:20px;background:#061c3c;box-shadow:0 0 0 1px #3281cb44,0 18px 42px #0006}
.new-home .hero-video-card video{display:block;width:100%;height:100%;object-fit:cover;background:#061c3c}
@media(min-width:700px) and (max-width:1099px){.new-home .hero-video-panel{width:min(100%,420px)}}
@media(min-width:700px) and (max-width:899px){.new-home .intro{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "video" "links";text-align:center;row-gap:20px}.new-home .quick-links{justify-content:center}.new-home .hero-video-panel{width:min(100%,460px)}}
@media(max-width:699px){.new-home .hero-video-panel{width:min(100%,460px);margin:18px auto 0}.new-home .hero-video-pair{gap:9px}.new-home .hero-video-item figcaption{font-size:9px}.new-home .hero-video-card{border-radius:17px}}

/* Keep the original hero video centered alone; the new silent video lives in the Application card. */
.new-home .hero-video-pair.hero-video-single{grid-template-columns:1fr;justify-items:center}
.new-home .hero-video-pair.hero-video-single .hero-video-item{width:min(220px,58vw)}
@media(max-width:600px){.new-home .hero-video-pair.hero-video-single .hero-video-item{width:min(190px,54vw)}}
/* Compact three-column exercise prescription: duration/repetitions, sets, rest. */
.metrics{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:center;
  gap:4px!important;
  min-height:54px!important;
  padding:7px 9px!important;
  border-radius:12px!important;
}
.metrics>div{
  display:flex;
  min-width:0;
  min-height:36px;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:0 3px;
}
.metrics>div+div{border-left:1px solid rgba(32,38,36,.13)}
.metrics small{
  font-size:9px!important;
  line-height:1.1;
  letter-spacing:.25px;
}
.metrics strong{
  font-size:clamp(12px,3vw,15px)!important;
  line-height:1.15;
  overflow-wrap:anywhere;
}
@media(max-width:650px){
  .metrics{padding:6px 7px!important;gap:2px!important;min-height:50px!important}
  .metrics>div{min-height:34px;padding:0 2px}
  .metrics small{font-size:8px!important}
  .metrics strong{font-size:clamp(11px,3.1vw,14px)!important}
}

.training-place-field{display:grid;gap:8px;min-width:0}.training-place-field select{width:100%;max-width:100%;min-width:0}.training-place-field small{line-height:1.5;opacity:.85}

.preset-planner-options:has(.ready-workout-group){display:block}.ready-workout-group{margin:10px 0;border:1px solid #bed8ef;border-radius:12px;padding:12px}.ready-workout-group summary{cursor:pointer;font-weight:700;padding:6px;min-height:32px}.ready-workout-group .preset-planner-option{margin-top:10px}.preset-planner-picker input[type=time]{max-width:100%}
