/* Shared Monsoon identity: public pages, accounts, legal pages and management. */
:root,:root:not([data-theme="light"]),[data-theme="light"], [data-theme="dark"]{
 --bg:#f4f5f1;--bg-2:#e8ece5;--surface:#fff;--surface-2:#edf0e9;
 --text:#242923;--muted:#50594c;--faint:#596253;--stroke:#24292324;--stroke-2:#24292340;
 --accent:#345d44;--bleu:#345d44;--bleu-clair:#345d44;--violet:#345d44;--cyan:#345d44;
 --bouton:#345d44;--bouton-texte:#fff;--bouton-survol:#284b35;--surligneur:#dce8d8;
 --police-titre:'Archivo',sans-serif;--police-texte:'Atkinson Hyperlegible Next',sans-serif;
 --r-s:10px;--r-m:16px;--r-l:20px;--r-xl:24px;
 --shadow:0 2px 8px #24292308;--shadow-lg:0 18px 55px #24292312;--glow:none;
 --blob-op:0;--grain-op:0;color-scheme:light
}
body{background:var(--bg);color:var(--text)}
body:before,body:after{display:none}
body.site h1,body.site h2,body.site h3,.page-app h1,.page-app h2,.page-app h3{font-family:var(--police-titre);font-weight:600;letter-spacing:-.045em}
.site .nav,.app-bar{top:16px;margin:0 auto;width:min(1140px,calc(100% - 40px));border:1px solid #ffffffb3;border-radius:999px;background:#ffffffbf;backdrop-filter:blur(18px);box-shadow:0 4px 24px #24292305}
.site .nav__inner{width:100%;padding:0 24px;height:64px}
.site .nav__link{font-size:12px;font-weight:500;border-radius:999px}
.site .nav__link--cta{padding:12px 18px;background:var(--bouton);color:white}
.app-bar{padding:14px 24px}.app-bar__tools{gap:12px}
.site .nav__logo,.app-bar .nav__logo{font-family:var(--police-titre);font-size:23px;font-weight:700;letter-spacing:-1px;color:var(--text)}
.logo-zl__symbole{display:none!important}.logo-zl__mot{font-family:var(--police-titre)!important;font-size:23px!important;font-weight:700!important;letter-spacing:-1px!important;text-transform:lowercase}.logo-zl__labs{color:inherit!important}.logo-zl__mot:after{content:none}
.site .section{padding:clamp(60px,8vw,100px) 0}.site .section--alt{background:var(--bg-2)}
.site .section__title{font-size:clamp(36px,5vw,66px);line-height:1.08;letter-spacing:-.055em}
.site .section__sub{max-width:65ch;line-height:1.7;color:var(--muted);margin-top:24px}
.site .container{width:min(1120px,calc(100% - 48px))}
.site .btn,.page-app .btn{border-radius:12px;box-shadow:none}.btn--primary{background:var(--bouton);color:var(--bouton-texte)}
.glass,.carte-auth,.option-detail,.option-config,.carte-option{background:var(--surface);border:1px solid var(--stroke);box-shadow:var(--shadow);backdrop-filter:none}
.carte-auth{padding:clamp(28px,5vw,48px);box-shadow:var(--shadow-lg)}
.field input,.field textarea,.field select{background:var(--surface);border:1px solid var(--stroke-2);border-radius:12px;color:var(--text)}
.site .footer,.app-pied{background:var(--bg-2);border-top:1px solid var(--stroke);color:var(--muted)}
.site .footer__col h3{font-family:var(--police-texte);font-weight:600;letter-spacing:0}
.site .affiche{background:#fff;border-radius:24px;border:1px solid var(--stroke);padding:24px 32px}
.site .affiche__ligne{border-color:var(--stroke)}.site .affiche__prix{font-family:var(--police-titre);font-weight:500}
.site .tableau-v8{border-radius:16px;overflow:auto;background:#fff;border:1px solid var(--stroke)}
.site .formule-config{border-radius:18px;background:#fff;box-shadow:none}
.site .formule-config:has(input:checked){border-color:var(--accent);background:#e8eee5}
.page-legale{width:min(840px,calc(100% - 48px));margin:60px auto;padding:40px;background:white;border:1px solid var(--stroke);border-radius:24px}
.page-app .table-wrap{border-radius:16px;background:white}.page-app .app-main{padding-top:50px}
.site .realisation,.site .demo-vignette,.site .demo-avance{border-radius:18px;border-color:var(--stroke)}
.site .toast{background:var(--text);color:white}.site .chat-bulle{background:var(--bouton);color:white;border-radius:14px}
#themeToggle{display:none}
@media(max-width:980px){.site .nav__links{background:var(--bg);border-radius:20px;border:1px solid var(--stroke)}.site .nav__link{font-size:15px}.site .nav__inner{padding:0 18px}.site .nav,.app-bar{width:calc(100% - 28px);top:12px}}
@media(max-width:640px){.site .container{width:calc(100% - 36px)}.site .affiche{padding:18px}.page-legale{width:calc(100% - 28px);padding:24px;margin-top:40px}.app-bar{padding:12px 18px}.site .section__title{font-size:38px}.site .section{padding:52px 0}}
@media print{.site .nav,.app-bar{display:none}.page-legale{border:0;box-shadow:none;margin:0;padding:0}}

.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #345d4426}.message--erreur{color:#a02e43}.message--alerte{color:#775017}.message--succes{color:#285c42}

.field input,.field textarea,.field select{border-color:#7f897b}.choix-formule__carte{border-radius:18px!important}.choix-formule input:checked+.choix-formule__carte{background:#e8eee5!important;border-color:#345d44!important}
/* Legal tables must remain inside the reading card on narrow screens. */
.page-legale{min-width:0;overflow-wrap:anywhere}
.page-legale table{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
@media(max-width:700px){
 .field input,.field select,.field textarea,#chatChamp{font-size:16px}
 .monsoon-nav nav a{min-height:44px;display:inline-flex!important;align-items:center}
 .page-monsoon .monsoon .hero-actions .button,.page-monsoon .monsoon #motion{min-height:44px}
 .page-legale th,.page-legale td{overflow-wrap:anywhere}
}
@media(max-height:500px) and (orientation:landscape){
 .page-monsoon .monsoon #hero{height:220vh}
 .page-monsoon .monsoon .hero-copy{top:24%;left:20px;right:20px}
 .page-monsoon .monsoon h1{font-size:clamp(25px,4vw,36px);margin-bottom:10px}
 .page-monsoon .monsoon .hero-copy .label,.page-monsoon .monsoon .services{display:none}
 .page-monsoon .monsoon .hero-copy .lead{font-size:11px;padding:5px 12px;margin-bottom:0}
 .page-monsoon .monsoon .button{margin-top:7px;padding:10px 16px}
 .page-monsoon .monsoon .bottom{bottom:5px}
}

@media(max-width:700px) and (max-height:650px) and (orientation:portrait){.page-monsoon .monsoon .services{display:none}.page-monsoon .monsoon .hero-copy{top:18%}.page-monsoon .monsoon h1{font-size:32px}.page-monsoon .monsoon .hero-copy .label{margin-bottom:14px}.page-monsoon .monsoon .hero-copy .lead{font-size:11px}}

@media(max-width:380px){.site .mensuels-v8>li{grid-template-columns:minmax(0,1fr)}.site .mensuels-v8>li>.prix{text-align:left;white-space:normal}.site .mensuels-v8>li>*{min-width:0;overflow-wrap:anywhere}}
.consentement{position:fixed;z-index:1000;bottom:16px;left:16px;right:16px;max-width:740px;margin:auto;padding:20px;background:#f4f5f1;color:#242923;border:1px solid #7f897b;border-radius:16px;box-shadow:0 8px 40px #0003;max-height:65svh;overflow:auto;font-size:14px}.consentement h2{font-size:22px;letter-spacing:0;margin:0 0 12px}.consentement p{margin:10px 0;line-height:1.5}.consentement-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.consentement-actions button,.consentement-actions>a{padding:12px 16px;min-height:44px;border:1px solid #345d44;border-radius:8px;background:#fff;color:#242923;font:inherit;cursor:pointer;display:inline-flex;align-items:center}.consentement a{text-decoration:underline}.preferences-cookies{padding:18px;border:1px solid #7f897b;border-radius:12px}.preferences-cookies input{width:20px;height:20px;vertical-align:middle}.consentement-actions button:focus-visible,.consentement-actions>a:focus-visible{outline:3px solid #345d44;outline-offset:3px}
