/* QUALITE24 — espace client : nouvelle interface (connexion, 4 rubriques, menu « Autre », Mon compte, Contacter un conseiller).
   Style Apple du site : police système, rouge du site, cartes blanches arrondies, boutons pastille. Chargé après espace.css / espace-ios.css et composants.css. */
/* Variables : un seul jeu, --q24c-* dans /assets/q24-theme/composants.css (chargé avant). */
body.espace{background:var(--q24c-fond)}
body.espace .espace-app{background:transparent}
.espace-deco{display:none}
.app-ancien{display:none!important}

/* ---------- en-tête de page ---------- */
body.espace .page-hero.espace-hero{padding:clamp(22px,4vw,44px) 0 4px}
body.espace .espace-hero #sous-titre{font-size:17px;color:var(--q24c-gris);margin:6px 0 0}
body.app-connecte .espace-hero .eyebrow{display:none}
body.app-connecte .espace-hero h1{font-size:clamp(30px,4.4vw,46px)!important;letter-spacing:-.035em!important}
body.espace .block{padding-top:clamp(14px,2.5vw,26px)}

/* ---------- connexion ---------- */
.app-acces{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:980px;margin:0 auto;align-items:start}
.ae-carte{background:#fff;border-radius:var(--q24c-r-carte);padding:clamp(22px,3vw,32px);box-shadow:none}
.ae-carte h2{font:700 clamp(24px,2.6vw,30px)/1.1 var(--q24c-police);letter-spacing:-.03em;margin:0 0 8px;color:var(--q24c-texte)}
.app-sous{color:var(--q24c-gris);font-size:16px;line-height:1.5;margin:0 0 18px}
.app-points{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px;font-size:15px;color:var(--q24c-texte2)}
.app-points li{display:flex;gap:10px;align-items:center}
.app-points li::before{content:"";width:20px;height:20px;flex:none;border-radius:50%;background:#e3f1e7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f6b3a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5 10 16.5 18 8'/%3E%3C/svg%3E") center/14px no-repeat}
body.espace .q24e-access .q24e-tabs{display:none}
body.espace .q24e-btn{width:100%;min-height:50px;border:0;border-radius:999px;background:var(--q24c-rouge);color:#fff;font:600 16px var(--q24c-police);cursor:pointer}
body.espace .q24e-btn:hover{background:var(--q24c-rouge-fonce)}
body.espace .q24e-link{min-height:44px;background:none;border:0;color:var(--q24c-rouge);font:500 15px var(--q24c-police);cursor:pointer;padding:10px 0}
body.espace .q24e-form label{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--q24c-texte2);margin:0 0 12px}
.app-retour{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 6px;margin:0 0 6px -6px;background:none;border:0;color:var(--q24c-rouge);font:600 16px var(--q24c-police);cursor:pointer}
.app-retour:hover{color:var(--q24c-rouge-fonce)}

/* ---------- champs et boutons communs ---------- */
body.espace input:not([type=checkbox]):not([type=radio]):not([type=file]),body.espace select,body.espace textarea{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #d2d2d7;border-radius:12px;background:#fff;font:400 16px/1.3 var(--q24c-police);color:var(--q24c-texte)}
body.espace input:focus,body.espace select:focus,body.espace textarea:focus{outline:2px solid var(--q24c-rouge);outline-offset:1px;border-color:transparent}
body.espace .btn{border-radius:999px;min-height:46px;padding:0 22px;font:600 15px var(--q24c-police);letter-spacing:0;text-transform:none}
body.espace .btn-red{background:var(--q24c-rouge);border-color:var(--q24c-rouge);color:#fff}
body.espace .btn-red:hover{background:var(--q24c-rouge-fonce);border-color:var(--q24c-rouge-fonce)}
body.espace .btn-outline{background:#fff;border:1px solid var(--q24c-ligne);color:var(--q24c-texte)}
body.espace .btn-outline:hover{background:#fff;border-color:var(--q24c-texte);color:var(--q24c-texte)}
body.espace .btn.danger{color:var(--q24c-rouge)}
body.espace .chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 11px;font:600 12px/1.2 var(--q24c-police);letter-spacing:0;text-transform:none;background:#efebe3;color:var(--q24c-gris)}
body.espace .chip.vert{background:#e3f1e7;color:var(--q24c-vert)}
body.espace .chip.ambre{background:#fbf0d9;color:var(--q24c-ambre)}
body.espace .chip.rouge,body.espace .chip.rouge-clair{background:#f6e3e5;color:var(--q24c-rouge)}
body.espace .badge{border-radius:999px;background:var(--q24c-rouge)}
.cd-ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.cd-ico-blanc{color:#fff}

/* ---------- barre des 4 rubriques ---------- */
.ae-barre{position:sticky;top:calc(var(--header-h,68px) + 8px);z-index:30;display:flex;justify-content:center;padding:4px 0 14px;pointer-events:none}
.app-nav{pointer-events:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;width:min(580px,100%);padding:5px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);border-radius:999px;box-shadow:var(--q24c-ombre)}
.app-onglet{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 8px;border:0;border-radius:999px;background:none;font:600 14px var(--q24c-police);color:var(--q24c-gris);cursor:pointer;transition:background .2s,color .2s}
.app-onglet svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-onglet:hover{color:var(--q24c-texte)}
.app-onglet[aria-current=page]{background:var(--q24c-rouge);color:#fff}
.app-onglet:focus-visible{outline:2px solid var(--q24c-rouge);outline-offset:2px}
.app-pastille{position:absolute;top:2px;right:calc(50% - 34px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--q24c-rouge);color:#fff;font:700 11px/18px var(--q24c-police);text-align:center;font-style:normal;box-shadow:0 0 0 2px #fff}
.app-onglet[aria-current=page] .app-pastille{background:#fff;color:var(--q24c-rouge);box-shadow:none}
@media (max-width:560px){
  .app-nav{border-radius:var(--q24c-r-carte)}
  .app-onglet{flex-direction:column;gap:2px;height:56px;border-radius:var(--q24c-r-liste);font-size:11px}
  .app-pastille{right:calc(50% - 26px)}
}
.app-fil{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.app-fil h2{font:700 24px/1.1 var(--q24c-police);letter-spacing:-.03em;margin:0}
.app-fil[hidden],.app-seg[hidden]{display:none}
.app-seg{display:inline-flex;padding:4px;margin:0 0 18px;background:#ebe7de;border-radius:999px}
.app-seg button{min-height:38px;padding:0 20px;border:0;border-radius:999px;background:none;font:600 14px var(--q24c-police);color:var(--q24c-texte2);cursor:pointer}
.app-seg button[aria-selected=true]{background:#fff;color:var(--q24c-texte);box-shadow:0 1px 3px rgba(0,0,0,.12)}
body.app-connecte .espace-panel{animation:ae-entree .25s ease}
@keyframes ae-entree{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){body.app-connecte .espace-panel{animation:none}}
/* les titres des anciennes rubriques sont portés par la barre et le fil */
body.app-connecte .espace-panel .panel-head h2{display:none}
body.app-connecte .espace-panel .panel-head{margin-bottom:12px}
body.espace .espace-panel h3{font:700 20px/1.2 var(--q24c-police);letter-spacing:-.02em}
body.espace .form-box,body.espace .carte,body.espace .projet,body.espace .vide,body.espace .tchat{border:0;border-radius:var(--q24c-r-carte);background:#fff;box-shadow:none}
body.espace .vide{border:0}
body.espace .espace-tabs button{font-family:var(--q24c-police)}

/* ---------- carte d'état du conseiller (accueil) ---------- */
.app-statut{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 20px;margin:0 0 18px;max-width:none}
.app-statut-texte{display:grid;gap:3px;flex:1 1 220px;min-width:0}
.app-statut-texte strong{font-size:16px;color:var(--q24c-texte)}
.app-statut-texte span{font-size:14px;color:var(--q24c-gris);line-height:1.4}
.app-statut-actions{display:flex;gap:8px;flex-wrap:wrap}
.app-statut.vert{box-shadow:inset 0 0 0 2px #cfe6d6}
.app-statut.ambre{box-shadow:inset 0 0 0 2px #f1dfb6}
.cd-avatar{width:48px;height:48px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--q24c-rouge);color:#fff;font:700 20px var(--q24c-police)}

/* ---------- menu « Autre » et listes ---------- */
#p-autre,#p-assistant,#p-compte{max-width:760px;margin-inline:auto}
.app-profil{display:flex;align-items:center;gap:14px;padding:6px 4px 10px}
.app-profil div{display:grid;gap:2px;min-width:0}
.app-profil strong{font-size:19px;letter-spacing:-.02em}
.app-profil div span{font-size:14px;color:var(--q24c-gris);overflow:hidden;text-overflow:ellipsis}
.app-groupe{margin:0 0 6px}
.app-groupe h3{font:600 13px var(--q24c-police)!important;color:var(--q24c-gris);margin:18px 8px 8px!important;letter-spacing:0!important}
.app-liste{background:#fff;border-radius:var(--q24c-r-liste);overflow:hidden}
.app-ligne{display:flex;align-items:center;gap:14px;width:100%;min-height:62px;padding:12px 18px;background:none;border:0;border-top:1px solid var(--q24c-ligne-claire);text-align:left;font:inherit;color:var(--q24c-texte);cursor:pointer}
.app-liste>.app-ligne:first-child{border-top:0}
.app-ligne:hover{background:#faf8f4}
.app-ligne:focus-visible{outline:2px solid var(--q24c-rouge);outline-offset:-2px}
.app-ico{width:38px;height:38px;border-radius:var(--q24c-r-champ);flex:none;display:grid;place-items:center;background:#f3efe7;color:var(--q24c-rouge)}
.app-ico svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.app-ligne-txt{display:grid;gap:2px;min-width:0;flex:1}
.app-ligne-txt strong{font-size:16px;font-weight:600}
.app-ligne-txt small{font-size:13px;color:var(--q24c-gris);line-height:1.35}
.app-ligne-fin{display:flex;align-items:center;gap:8px;margin-left:auto;color:#b3aea4;flex:none}
.app-fleche{font-size:24px;line-height:1}
.app-ligne.danger .app-ligne-txt strong{color:var(--q24c-rouge)}

/* ---------- Mon compte ---------- */
.compte-grille{display:grid;gap:18px}
#compte-profil>form{max-width:none}
#compte-profil .cd-surtitre,#compte-achats .cd-surtitre{margin:6px 4px 10px}
.compte-reglages{margin-top:14px;padding:18px}
.compte-reglages h3{margin:0 0 12px!important}
.compte-chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 14px}
.compte-chiffres div{display:grid;gap:4px}
.compte-chiffres span{font-size:13px;color:var(--q24c-gris)}
.compte-chiffres strong{font:700 clamp(18px,3vw,24px) var(--q24c-police);letter-spacing:-.02em}
.compte-liste{padding:0;overflow:hidden}
.compte-liste .app-liste{border-radius:0}

/* ---------- Contacter un conseiller ---------- */
#p-tchat .cd-carte{max-width:760px;margin:0 auto 18px}
#conseil-chat{max-width:1080px;margin:0 auto}
.cd-entete{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cd-surtitre{font:600 14px var(--q24c-police);color:var(--q24c-rouge);margin:0 0 6px}
.cd-entete .cd-surtitre{margin:0}
.cd-verrou{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--q24c-fond);margin:10px 0}
.cd-verrou>div{display:grid;gap:2px;flex:1;min-width:0}
.cd-verrou strong{font-size:15px}
.cd-verrou span{font-size:13px;color:var(--q24c-gris)}
.cd-verrou-ico{width:42px;height:42px;border-radius:13px;flex:none;display:grid;place-items:center;background:#fff;color:var(--q24c-gris)}
.cd-verrou-ico svg,.cd-cadenas svg,.cd-grand-ico svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cd-cadenas{color:#a9a399;display:grid}
.app-statut .cd-verrou-ico{background:var(--q24c-fond)}
.cd-carte>.btn{margin-top:8px}
.cd-etapes{list-style:none;margin:20px 0 14px;padding:0}
.cd-etape{display:flex;gap:14px;position:relative;padding-bottom:20px}
.cd-etape:last-child{padding-bottom:0}
.cd-etape:not(:last-child)::before{content:"";position:absolute;left:13px;top:30px;bottom:2px;width:2px;background:var(--q24c-ligne)}
.cd-puce{width:28px;height:28px;flex:none;border-radius:50%;border:2px solid #d2cdc2;background:#fff;display:grid;place-items:center;color:#fff}
.cd-puce svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.cd-etape.fait .cd-puce{background:var(--q24c-vert);border-color:var(--q24c-vert)}
.cd-etape.actif .cd-puce{border-color:var(--q24c-rouge);box-shadow:0 0 0 4px rgba(158,16,34,.12)}
.cd-etape>div{display:grid;gap:2px}
.cd-etape strong{font-size:16px}
.cd-etape span{font-size:14px;color:var(--q24c-gris);line-height:1.4}
.cd-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.cd-appel{display:inline-flex;align-items:center;gap:8px}
.cd-numero{margin:12px 0 0;font-size:14px;color:var(--q24c-gris)}
.cd-numero strong{color:var(--q24c-texte);font-size:15px}
.cd-qui{display:flex;gap:14px;align-items:center;margin:12px 0}
.cd-qui h2{margin:0!important}
.cd-qui .app-sous{margin:2px 0 0}
.cd-details{margin:14px 0 0;font-size:15px}
.cd-details summary{cursor:pointer;font-weight:600;color:var(--q24c-rouge);min-height:32px}
.cd-recap{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:10px 0 0;font-size:14px}
.cd-recap dt{color:var(--q24c-gris)}
.cd-recap dd{margin:0;color:var(--q24c-texte);overflow-wrap:anywhere}
.cd-merci{text-align:center}
.cd-grand-ico{width:64px;height:64px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#e3f1e7;color:var(--q24c-vert)}
.cd-grand-ico svg{width:32px;height:32px}
/* formulaire du dossier */
.cd-intro{margin:0 0 6px}
.cd-bloc{margin:24px 0 0}
.cd-bloc h3{margin:0 0 12px!important}
.cd-grille{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.cd-champ{display:grid;gap:6px;margin:0 0 14px;font-size:14px}
.cd-libelle{font-weight:600;color:var(--q24c-texte2)}
.cd-civ{border:0;padding:0;margin:0 0 12px;display:flex;gap:18px;align-items:center}
.cd-civ legend{font-weight:600;font-size:14px;color:var(--q24c-texte2);padding:0;margin:0 18px 0 0;float:left}
.cd-civ label{display:flex;gap:6px;align-items:center;font-size:15px;margin:0}
.cd-fichiers input{font-size:14px}
.cd-planning{border:0;padding:0;margin:0;min-width:0}
.cd-planning legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cd-modes{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.cd-modes button,.cd-heures button{min-height:42px;padding:0 16px;border:1px solid var(--q24c-ligne);border-radius:999px;background:#fff;font:600 14px var(--q24c-police);color:var(--q24c-texte);cursor:pointer}
.cd-jours{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
.cd-jours button{flex:none;width:68px;display:grid;justify-items:center;gap:1px;padding:10px 0;border:1px solid var(--q24c-ligne);border-radius:18px;background:#fff;color:var(--q24c-texte);cursor:pointer;font-family:var(--q24c-police)}
.cd-jours small{font-size:12px;color:var(--q24c-gris)}
.cd-jours strong{font-size:22px;letter-spacing:-.02em}
.cd-heures{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;margin-top:6px}
.cd-heures button{padding:0 6px}
.cd-planning [aria-pressed=true]{background:var(--q24c-rouge);border-color:var(--q24c-rouge);color:#fff}
.cd-planning [aria-pressed=true] small{color:rgba(255,255,255,.85)}
.cd-planning button:hover{border-color:var(--q24c-texte)}
.cd-planning [aria-pressed=true]:hover{border-color:var(--q24c-rouge)}
.cd-planning button:focus-visible{outline:2px solid var(--q24c-rouge);outline-offset:2px}
.cd-resume{margin:14px 0 0;padding:12px 14px;border-radius:14px;background:var(--q24c-fond);font-weight:500;font-size:15px}
.cd-envoyer{width:100%;min-height:52px;margin-top:10px}
.cd-form .q24e-err{color:var(--q24c-rouge);font-weight:600;margin:10px 0 0}
.cd-form .q24e-ok{color:var(--q24c-vert);margin:6px 0 0}
body.espace .q24e-field-err{color:var(--q24c-rouge);font-size:13px;font-weight:500}
body.espace .q24e-field-err:empty{display:none}
body.espace .q24e-form .q24e-check{font-size:13px}
/* tchat existant (ouvert après validation) */
#conseil-chat .conseiller{background:#fff;border-radius:var(--q24c-r-liste)}
#conseil-chat .tchat{overflow:hidden}
#conseil-chat .bulle{border-radius:var(--q24c-r-liste)}
#conseil-chat .bulle.client{background:var(--q24c-rouge);color:#fff;border-bottom-right-radius:6px}
#conseil-chat .bulle.conseiller{background:#f3efe7;border:0;border-bottom-left-radius:6px}
#conseil-chat .bulle .auteur{text-transform:none;letter-spacing:0;font-size:12px}

/* ---------- messages ---------- */
.app-toast{position:fixed;left:50%;bottom:92px;z-index:90;transform:translate(-50%,20px);max-width:min(92vw,460px);padding:14px 18px;border-radius:16px;background:rgba(35,38,43,.94);color:#fff;font:500 15px/1.4 var(--q24c-police);box-shadow:0 10px 30px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
.app-toast.on{opacity:1;transform:translate(-50%,0)}

@media (max-width:760px){
  .app-acces{grid-template-columns:1fr}
  .cd-grille{grid-template-columns:1fr}
  .compte-chiffres{grid-template-columns:1fr 1fr 1fr;gap:6px}
  body.app-connecte .espace-hero h1{font-size:30px!important}
}

/* les blocs de la page ne sont pas des cartes : seules les cartes .ae-carte sont blanches */
body.espace section.block{background:transparent!important;border-radius:0!important;overflow:visible!important;box-shadow:none!important}
body.espace .espace-hero{background:transparent!important}

/* titres : plus petits que ceux des pages du site (le style commun impose de grands titres en !important) */
body.espace .app-fil h2{font-size:24px!important;line-height:1.1!important;letter-spacing:-.03em!important}
body.espace .ae-carte h2{font-size:clamp(24px,2.6vw,30px)!important;line-height:1.12!important;letter-spacing:-.03em!important;margin:0 0 8px}
body.espace .ae-carte h3,body.espace .ae-groupe h3{letter-spacing:-.02em!important}
body.espace .espace-panel h2:not(.panel-head h2){font-size:clamp(24px,3vw,30px)!important;line-height:1.12!important}
body.app-connecte #p-tchat .cd-surtitre,body.app-connecte #p-compte .cd-surtitre{display:none}
body.app-connecte #p-tchat .cd-entete .cd-surtitre{display:none}

/* cases à cocher et boutons radio : sur une seule ligne avec leur texte */
body.espace .q24e-form label.q24e-check,body.espace .cd-civ label{display:flex!important;align-items:flex-start;gap:8px;font-weight:400}
body.espace .cd-civ label{align-items:center;font-size:15px}
body.espace .cd-civ input[type=radio],body.espace .q24e-check input{width:20px;height:20px;flex:none;margin:0}
body.espace .cd-civ legend{float:none;margin:0 6px 0 0;display:inline}
body.espace .cd-civ{align-items:center}

.cd-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cd-heures button:disabled{opacity:.45;cursor:not-allowed}

/* anciennes cartes de l'accueil (« À faire », tuiles) : même style que les nouvelles cartes */
body.espace .tache,body.espace .tuile{background:#fff;border:0;border-radius:var(--q24c-r-liste);box-shadow:none}
body.espace .tache{border-left:0;padding:16px 20px}
body.espace .tache.rouge{box-shadow:inset 4px 0 0 var(--q24c-rouge)}
body.espace .tuile{padding:18px}
body.espace #accueil h2,body.espace #accueil h3{font-size:24px!important;letter-spacing:-.03em!important;margin:22px 0 12px}
/* une seule largeur de colonne pour toutes les rubriques (ordinateur) */
body.app-connecte .espace-hero .wrap,body.app-connecte #vue-espace>.wrap{width:min(980px,calc(100% - 2*var(--q24-marge)))!important}
body.app-connecte #p-autre,body.app-connecte #p-assistant,body.app-connecte #p-compte,body.app-connecte #p-tchat .cd-carte,body.app-connecte #conseil-chat{max-width:none}
/* le clavier ne doit pas être caché par la barre collante */
html{scroll-padding-top:150px}
@media (max-width:820px){html{scroll-padding-bottom:84px}
  body.espace .q24-compte{display:none!important}   /* le bouton « Compte » est déjà dans la barre du bas */
}
/* contrastes : bord des champs lisible (rapport > 3 : 1) */
body.espace input:not([type=checkbox]):not([type=radio]):not([type=file]),body.espace select,body.espace textarea{border-color:#8d8d93}

/* choix « Un rappel / Un rendez-vous » du tchat : bouton et texte sur la même ligne */
body.espace .q24e-form .choix{display:grid;gap:8px;margin:0 0 12px}
body.espace .q24e-form .choix label{display:flex!important;align-items:center;gap:10px;font-weight:500;margin:0}
body.espace .q24e-form .choix input[type=radio]{width:20px;height:20px;margin:0;flex:none}
body.espace .q24e-form .opt{font-weight:400;font-style:normal;color:var(--q24c-gris)}

/* Message quand le service de connexion est injoignable (le formulaire reste affiché) */
.q24e-info{margin:0 0 14px;padding:12px 14px;border-radius:12px;background:#fff7e6;border:1px solid #f0d9a8;color:#5c4400;font-size:14px;line-height:1.45}

/* Espace client pas encore ouvert : une seule carte, la demande de conseiller (17/10/2026) */
#vue-acces .app-acces--ferme{grid-template-columns:1fr}
#vue-acces .app-acces--ferme .app-invite{width:100%;max-width:660px;margin-inline:auto}
.app-deja{margin-top:14px}
/* Référence de la demande de conseiller */
.cd-reference{margin:4px 0 10px;font-size:17px}
.cd-reference strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}
/* Rendez-vous verrouillés tant que la demande de conseiller n'est pas validée */
.rdv-verrou{max-width:640px}
.rdv-verrou .btn{margin-top:12px}

/* ---------- Lot 1 du 17/10/2026 ---------- */
/* Fil du projet (6 étapes, sans durée) */
.frise-carte{padding:18px 20px}
.frise-titre{margin:0 0 12px;font:700 13px/1.2 var(--q24c-police);letter-spacing:.06em;text-transform:uppercase;color:var(--q24c-gris)}
.frise{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;counter-reset:etape}
.frise-etape{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font:600 12px/1.25 var(--q24c-police);color:var(--q24c-gris)}
.frise-etape::before{content:"";position:absolute;top:9px;left:-50%;width:100%;height:3px;background:#e6e1d8;z-index:0}
.frise-etape:first-child::before{display:none}
.frise-etape.fait::before,.frise-etape.actif::before{background:var(--q24c-rouge)}
.frise-point{position:relative;z-index:1;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid #e6e1d8;box-sizing:border-box}
.frise-etape.fait .frise-point{background:var(--q24c-rouge);border-color:var(--q24c-rouge)}
.frise-etape.actif .frise-point{border-color:var(--q24c-rouge);box-shadow:0 0 0 5px rgba(158,16,34,.15)}
.frise-etape.fait,.frise-etape.actif{color:var(--q24c-texte)}
.frise-etape.actif .frise-nom{color:var(--q24c-rouge)}
.frise-texte{margin:14px 0 0;font:500 15px/1.45 var(--q24c-police);color:var(--q24c-texte)}
/* 4 raccourcis */
body.espace #accueil h2.raccourcis-titre{margin:26px 0 12px}
.tuiles.tuiles-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:760px){
  .tuiles.tuiles-4{grid-template-columns:1fr 1fr}
  .frise-etape{font-size:10.5px;gap:6px}
  .frise-carte{padding:16px 12px}
}

/* Téléphone : une seule barre en bas (les 4 rubriques remplacent la barre du site) et en-tête compact */
@media (max-width:820px){
  body.app-connecte .q24-tabbar{display:none!important}
  body.app-connecte #vue-espace{z-index:auto}   /* sinon .block (z-index 2) enferme la barre : le pied de page passait par-dessus */
  body.app-connecte .ae-barre{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:56;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid rgba(0,0,0,.08);pointer-events:auto}
  body.app-connecte .app-nav{width:100%;max-width:560px;margin:0 auto;padding:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0}
  body.app-connecte .app-onglet{height:54px;border-radius:16px}
  body.app-connecte .app-toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  body.app-connecte .page-hero.espace-hero{padding:10px 0 2px!important;min-height:0!important}
  body.app-connecte .espace-hero h1{margin:0!important;font-size:28px!important}
  body.app-connecte .espace-hero #sous-titre{font-size:15px;margin-top:4px}
  body.app-connecte #vue-espace{padding-top:12px!important}
  html{scroll-padding-top:90px}
}
.frise-nom{hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal}
/* PDF fabriqués par l'espace (17/10/2026) */
.devis-actions-pdf{display:flex;justify-content:flex-end;margin:-4px 0 12px}
.cd-actions-centre{justify-content:center;flex-wrap:wrap}
dialog.pdf-pret{max-width:min(92vw,420px);text-align:center}
dialog.pdf-pret h2{font-size:22px!important;margin:0 0 6px}
.pdf-pret-nom{font:500 14px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--q24c-gris);word-break:break-all;margin:0 0 16px}
.pdf-pret-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.pdf-pret-actions .btn{width:100%;justify-content:center;text-align:center}
.pdf-pret-actions [hidden]{display:none!important}
.pdf-pret-aide{margin:12px 0 0}

/* 18/10/2026 — « Votre maison en 3D » (js/maison-3d.js, chargé à la demande) : emplacement caché tant que la vue n'est pas montée */
.q24-3d[hidden]{display:none!important}

/* 06/11/2026 — connexion au pouce : le champ mot de passe avec « Afficher » est le composant commun (.q24c-mdp / .q24c-oeil, composants.css). */
body.espace .q24c-mdp input{width:100%}
body.espace .q24e-form input::placeholder{color:#a1a1a6}

/* 11/11/2026 — design clair (balta/docs/claude/guide-design-clair.md) : gros chiffres, moins de texte, un seul bloc « À savoir » replié par écran.
   Seul l'habillage change ; les phrases d'explication retirées du haut des écrans sont dans le bloc « À savoir » (espace-client.html). */
.ea-asavoir{margin:20px 0 8px;border-radius:var(--q24c-r-liste);background:#fff;overflow:hidden}
.ea-asavoir summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 18px;font:600 16px var(--q24c-police);color:var(--q24c-texte);cursor:pointer;list-style:none}
.ea-asavoir summary::-webkit-details-marker{display:none}
.ea-asavoir summary::after{content:"›";font-size:24px;line-height:1;color:var(--q24c-gris);transform:rotate(90deg);transition:transform .2s}
.ea-asavoir[open] summary::after{transform:rotate(-90deg)}
.ea-asavoir summary:focus-visible{outline:2px solid var(--q24c-rouge);outline-offset:-2px;border-radius:var(--q24c-r-liste)}
.ea-asavoir p{margin:0;padding:0 18px 14px;font-size:15px;line-height:1.45;color:var(--q24c-gris)}
/* gros chiffres : 34 px gras là où l'écran montre déjà des chiffres en carte */
.chiffres strong,.compte-chiffres strong,.tuile-v{font:800 34px/1.1 var(--q24c-police);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.chiffres span,.compte-chiffres span{font-size:14px}
.chiffres div{border-radius:var(--q24c-r-liste);border-color:transparent;background:#fff;padding:16px 18px}
.tuile-s{font-size:14px}
@media (max-width:520px){
  .chiffres,.compte-chiffres{grid-template-columns:1fr;gap:10px}
  .chiffres div:last-child{grid-column:auto}
  .chiffres div,.compte-chiffres div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .tuile-v{font-size:34px}
}
/* corps de texte et zones tactiles (≥ 12 px, ≥ 44 px) */
.app-onglet{font-size:12px}
.app-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:560px){.app-onglet{min-width:0;padding:0 2px}}
.app-pastille{font-size:12px}
.frise-nom,.frise-etape{font-size:12px}
.plan-fichier-ico{font-size:12px}
.app-retour{min-height:44px}
.app-seg button{min-height:44px}
.espace-panel summary{min-height:44px;display:flex;align-items:center}
.espace-panel .btn-copier,.fichier .actions button,.fichier .actions .btn{min-height:44px}
body.espace .q24e-form .q24e-check{min-height:44px;align-items:center}
.rgpd p a{padding:14px 0}
@media (prefers-reduced-motion:reduce){.ea-asavoir summary::after{transition:none}}

/* 11/11/2026 — simplification du menu, décision d'Omeer : sans « Rendez-vous », le sélecteur du Planning n'a plus qu'un bouton : on le cache (sauf si l'on est sur Rendez-vous par adresse directe). Règles : MENU_REGLES dans espace-app.js. */
.app-seg.app-seg-seul{display:none}
body[data-page-espace=rdv] .app-seg.app-seg-seul{display:inline-flex}
.app-seg button[hidden]{display:none}
.tuiles.tuiles-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.tuiles.tuiles-3{grid-template-columns:1fr 1fr}.tuiles.tuiles-3 .tuile:last-child:nth-child(odd){grid-column:1/-1}}

/* ---------- 11/11/2026 : Nos services, Boutique, Remises et offres, raccourci vers l'assistant, création de compte ---------- */
.q24e-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.vt-intro{color:var(--q24c-gris);font-size:16px;line-height:1.5;margin:0 0 16px}
.vt-titre-groupe{font:600 13px var(--q24c-police);color:var(--q24c-gris);margin:18px 8px 8px;letter-spacing:0}
.vt-service{margin:0 0 14px}
.vt-service h3{font:700 22px/1.15 var(--q24c-police);letter-spacing:-.02em;margin:0 0 4px;color:var(--q24c-texte)}
.vt-accroche{font-weight:600;margin:0 0 8px;color:var(--q24c-texte2)}
.vt-prix{list-style:none;margin:6px 0 14px;padding:0;display:grid;gap:0;border-top:1px solid var(--q24c-ligne-claire)}
.vt-prix li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 0;border-bottom:1px solid var(--q24c-ligne-claire);align-items:baseline}
.vt-prix-nom{font-weight:600;font-size:15px;color:var(--q24c-texte)}
.vt-prix-val{text-align:right;font-size:15px;color:var(--q24c-texte)}
.vt-prix-val small{display:block;font-size:12px;color:var(--q24c-gris)}
.vt-prix-val strong{font-size:19px}
.vt-prix-ht{grid-column:1;font-size:12px;color:var(--q24c-gris)}
.vt-lien-court{grid-column:2;text-align:right;font-size:13px;color:var(--q24c-rouge);min-height:24px}
.vt-actions{display:flex;flex-wrap:wrap;gap:10px}
.vt-mention{margin:14px 4px}
.vt-aide{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:14px 0 4px;padding:12px 16px;background:#fff;border-radius:var(--q24c-r-liste);color:var(--q24c-gris);font-size:15px}
.vt-aide .vt-lien{min-height:44px;background:none;border:0;padding:0 2px;color:var(--q24c-rouge);font:600 15px var(--q24c-police);cursor:pointer;text-align:left}
.vt-aide-globale{margin:0 0 4px}
.vt-aide-globale .vt-aide{margin:0 0 8px;padding:6px 16px}
.vt-rail{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;margin:0 -2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.vt-rail::-webkit-scrollbar{display:none}
.vt-puce{flex:none;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid #d2d2d7;background:#fff;color:var(--q24c-texte);font:600 14px var(--q24c-police);cursor:pointer}
.vt-puce[aria-pressed=true]{background:var(--q24c-texte);border-color:var(--q24c-texte);color:#fff}
.vt-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vt-grille>p,.vt-grille>a.btn{grid-column:1/-1}
.vt-produit{display:flex;flex-direction:column;gap:6px;padding:10px 10px 14px;background:#fff;border-radius:var(--q24c-r-carte);color:var(--q24c-texte);text-decoration:none;min-width:0}
.vt-photo{display:block;aspect-ratio:1/1;border-radius:14px;background:#f2efe9;overflow:hidden}
.vt-photo img{width:100%;height:100%;object-fit:cover;display:block}
.vt-nom{font:600 14px/1.3 var(--q24c-police);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.vt-pr strong{font-size:18px}.vt-pr small{font-size:12px;color:var(--q24c-gris)}
.vt-voir{font-size:13px;color:var(--q24c-rouge)}
.vt-toute{margin:16px 0 0;display:inline-flex;align-items:center;justify-content:center}
.vt-offre{margin:0 0 12px}.vt-offre h3{font:700 19px/1.2 var(--q24c-police);margin:8px 0 4px}
.vt-offre .app-sous{margin-bottom:12px}
.vt-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.vt-tuile{display:flex;flex-direction:column;gap:3px;min-height:76px;padding:14px;background:#fff;border:0;border-radius:var(--q24c-r-liste);text-align:left;font:inherit;color:var(--q24c-texte);cursor:pointer}
.vt-tuile small{color:var(--q24c-gris);font-size:12px}
@media (max-width:520px){.vt-trio{grid-template-columns:1fr}.vt-grille{gap:10px}.vt-actions .btn{flex:1 1 100%}}
@media (min-width:900px){.vt-grille{grid-template-columns:repeat(4,minmax(0,1fr))}}

.vt-code-ligne{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px;color:var(--q24c-gris);font-size:14px}
.vt-code{font:700 20px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;padding:10px 14px;border-radius:12px;background:#f2efe9;color:var(--q24c-texte);user-select:all}
.vt-code-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.vt-conditions{margin:14px 0 0;padding:0 0 0 20px;color:var(--q24c-texte2);font-size:14px;line-height:1.6}

/* Planning : mois et « Aujourd’hui » lisibles (12 px au moins, à toutes les tailles) */
.g-mois span{font-size:12px}
.g-auj em{font-size:12px}

/* Grand écran : lignes de texte courant limitées à environ 75 caractères ; cartes, chiffres et téléphone inchangés */
@media (min-width:1100px){
  .app-sous,.vt-intro,.espace-note,.ea-asavoir p,.app-statut-texte span,.as-sous{max-width:56ch}
}

/* ---------- Mes commandes (11/11/2026) ---------- */
.tuiles.tuiles-5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1000px){.tuiles.tuiles-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.tuiles.tuiles-5{grid-template-columns:1fr 1fr}.tuiles.tuiles-5 .tuile:last-child:nth-child(odd){grid-column:1/-1}}
#commandes-contenu{display:grid;gap:12px}
.cmd-carte{display:grid;gap:6px;width:100%;text-align:left;border:0;cursor:pointer;font:inherit;color:var(--q24c-texte);padding:18px 20px}
.cmd-carte:hover{box-shadow:var(--q24c-ombre)}
.cmd-carte:focus-visible{outline:2px solid var(--q24c-rouge);outline-offset:2px}
.cmd-tete{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cmd-tete h3{margin:0;font:700 22px/1.15 var(--q24c-police);letter-spacing:-.02em}
.cmd-tete strong{font:700 18px/1.2 var(--q24c-police)}
.cmd-sous{color:var(--q24c-gris);font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.cmd-pied{display:flex;justify-content:space-between;align-items:center;margin-top:4px}
.cmd-pied strong{font:700 17px var(--q24c-police);font-variant-numeric:tabular-nums}
.cmd-voir{color:var(--q24c-rouge);font-weight:600;font-size:15px}
.cmd-retour{justify-self:start}
.cmd-frise{grid-template-columns:repeat(4,minmax(0,1fr))}
.cmd-exp h3,#commandes-contenu .ae-carte>h3{margin:0 0 10px;font:700 20px/1.2 var(--q24c-police)}
.cmd-colis{display:grid;gap:10px}
.cmd-colis-sep{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--q24c-ligne)}
.cmd-colis-txt{display:grid;gap:4px;font-size:16px;color:var(--q24c-texte2);overflow-wrap:anywhere}
.cmd-colis .btn{justify-self:start;display:inline-flex;align-items:center}
.cmd-articles{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cmd-articles li{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center}
.cmd-photo{width:64px;height:64px;border-radius:12px;background:#efebe3;overflow:hidden;display:block}
.cmd-photo img{width:64px;height:64px;object-fit:cover;display:block}
.cmd-art-txt{display:grid;gap:2px;font-size:15px;min-width:0;overflow-wrap:anywhere}
.cmd-art-txt small{color:var(--q24c-gris)}
.cmd-qte{font-weight:600;font-variant-numeric:tabular-nums}
.cmd-vide .btn{justify-self:start;margin-top:6px}
.vt-suivi{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0 0 12px;color:var(--q24c-gris);font-size:15px}
.vt-suivi .vt-lien{min-height:44px;background:none;border:0;padding:0 2px;color:var(--q24c-rouge);font:600 15px var(--q24c-police);cursor:pointer}
