/* Clean Up : style premium commun (bleu nuit, champagne, serif). Chargé après le CSS de chaque page. */
:root{--navy:#0A1F44;--navy-2:#0C2B5E;--champ:#E2BC76;--champ-soft:#F3D9A4;--champ-ink:#86651C;
--text:#0B1B3A;--text-muted:#5B6B8C;--border:#E7ECF6;--grey-bg:#F1F4FA;--sky-light:#E8F4FD;
--shadow:0 1px 2px rgba(10,31,68,.04),0 12px 32px rgba(10,31,68,.06)}
body{letter-spacing:-.005em;-webkit-font-smoothing:antialiased}
/* Barre du haut + navigation */
.announce-bar,.ticker-wrap{background:var(--navy)!important;color:rgba(255,255,255,.82)!important}
.ticker-item strong,.announce-bar strong{color:var(--champ)!important}
nav{background:rgba(255,255,255,.86)!important;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--border)!important;box-shadow:none!important}
.nav-links a{color:var(--text-muted);font-weight:500}
.nav-links a:hover{color:var(--navy)}
/* Boutons d'action : champagne */
.btn-reserve,.btn-primary,.btn-confirm,.mobile-reserve,.nav-cta{background:linear-gradient(180deg,var(--champ-soft),var(--champ))!important;color:var(--navy)!important;border-radius:12px!important;font-weight:700!important;border:none!important;box-shadow:0 10px 26px rgba(226,188,118,.25)!important}
.btn-reserve:hover,.btn-primary:hover,.btn-confirm:hover{filter:brightness(1.03);transform:translateY(-1px)}
.btn-secondary{border:1px solid rgba(255,255,255,.28)!important;background:rgba(255,255,255,.05)!important;border-radius:12px!important}
.btn-submit{background:var(--navy)!important;color:#fff!important;border-radius:12px!important}
.btn-outline{border-radius:12px!important}
/* Titres */
.section-label{color:var(--champ-ink)!important;letter-spacing:.16em!important}
.section-title,.page-header h1,.hero-prest h1,.hero h1{font-family:'Playfair Display',Georgia,serif!important;font-weight:700!important;letter-spacing:-.015em!important;line-height:1.15}
.section-title{color:var(--navy)}
/* Bandeaux de tête (accueil, pages intérieures) : bleu nuit */
.hero,.page-header,.hero-prest{background:radial-gradient(900px 420px at 85% -80px,rgba(91,176,255,.25),transparent 70%),linear-gradient(160deg,#0A1F44 0%,#0C2B5E 60%,#0A3880 100%)!important}
.hero::before{display:none!important}
.hero-badge{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.16)!important}
.hero h1 *,.page-header h1 *,.hero-prest h1 *{text-shadow:none!important}
.hero h1 em,.hero-prest h1 em{color:var(--champ)!important}
.page-header .section-label,.hero-prest .section-label{color:var(--champ)!important}
.hero-photo{border-radius:24px!important;box-shadow:0 30px 70px rgba(2,10,30,.5),0 0 0 1px rgba(255,255,255,.1)!important}
/* Sections et espacement */
section{padding-top:5.5rem;padding-bottom:5.5rem}
.services,.grey,[class*="pourquoi"]{background:var(--grey-bg)}
.trust-bar{background:#fff;border-bottom:1px solid var(--border);padding:1.1rem 3%}
.trust-icon{background:transparent!important;color:#1565C0;width:auto!important;height:auto!important;border-radius:0!important}
.service-card,.testi-card,.price-card,.faq-item{border:1px solid var(--border)!important;border-radius:20px!important;box-shadow:var(--shadow)!important}
.service-card:hover{border-color:#D9C79F!important;box-shadow:0 1px 2px rgba(10,31,68,.05),0 22px 44px rgba(10,31,68,.10)!important}
.service-icon{border-radius:14px!important;background:var(--navy)!important;color:var(--champ)!important}
.service-price{color:var(--navy)!important}
.step-num,.ap-num{background:var(--navy)!important;color:var(--champ)!important;box-shadow:none!important}
.cta-section{background:linear-gradient(160deg,#0A1F44,#0C2B5E)!important}
.cta-section .section-label{color:var(--champ)!important}
footer{background:#071633!important}
footer .logo-title{color:#fff!important}
/* Cartes des espaces client / prestataire / connexion */
.card{border:1px solid var(--border);border-radius:20px!important;box-shadow:var(--shadow)!important}
/* Formulaires */
input,select,textarea{border-radius:12px}
.hero-prest h1 em,.hero-prest h1 em *,.hero h1 em *{color:var(--champ)!important}
#login-btn,a.btn{background:var(--navy)!important;border-radius:12px!important}
#login-btn:hover,a.btn:hover{background:#0C2B5E!important}
.val-icon,.ci-icon,.adv-icon,.prest-icon,.commit-icon,.card-icon,.exit-emoji{color:#0A1F44}
.val-icon svg,.ci-icon svg,.adv-icon svg,.prest-icon svg,.commit-icon svg,.card-icon svg,.exit-emoji svg{display:block;margin:auto}
.card{box-sizing:border-box}

/* ── Compléments : composants restés dans l'ancien bleu vif ── */
/* Maquette téléphone (accueil) */
.mock-header{background:linear-gradient(135deg,#0A1F44,#0C2B5E)!important}
.ms-btn{background:linear-gradient(180deg,var(--champ-soft),var(--champ))!important;color:var(--navy)!important;box-shadow:0 8px 18px rgba(226,188,118,.3)!important}
.ms-prating{color:var(--champ-ink)!important}
.ms-prest-card{border-color:var(--navy)!important;box-shadow:0 6px 18px rgba(10,31,68,.10)!important}
.ms-av{background:linear-gradient(135deg,#0C2B5E,#0A1F44)!important}
.ms-opt.selected .ms-chk{background:var(--navy)!important;border-color:var(--navy)!important}
.ms-opt.selected{border-color:var(--navy)!important}
.ms-slider-fill{background:var(--champ)!important}
.ms-pval,.ms-total,.ms-conf-row span:last-child{color:var(--navy)!important}
/* Simulateur de tarifs + tableaux + engagements */
.sim-box{border:1px solid var(--border);border-radius:24px!important;box-shadow:var(--shadow)!important}
.sim-result{display:grid!important;grid-template-columns:repeat(4,1fr);gap:.7rem!important;padding:.8rem!important;background:var(--grey-bg)!important;border:1px solid var(--border);border-radius:20px!important;align-items:stretch!important}
.sim-result-item{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.15rem .4rem 1rem;display:flex;flex-direction:column;justify-content:center;box-shadow:0 1px 2px rgba(10,31,68,.04)}
.sim-result-num{font-size:1.75rem!important}
.sim-result-label{font-size:.76rem!important;line-height:1.3;margin-top:.45rem!important}
@media (max-width:600px){.sim-result{grid-template-columns:repeat(2,1fr)!important;flex-direction:row!important}}
.sim-result-num{color:var(--navy)!important;font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-.02em}
.sim-divider{display:none!important}
.sim-select-wrap select{border:1px solid var(--border)!important;border-radius:12px!important}
thead tr{background:linear-gradient(135deg,#0A1F44,#0C2B5E)!important}
table{border-radius:18px;overflow:hidden}
.commit-icon{background:var(--navy)!important;color:var(--champ)!important}
.commit-card{border:1px solid var(--border);background:#fff!important;border-radius:20px!important;box-shadow:var(--shadow)}
.prest-icon{background:var(--navy)!important;color:var(--champ)!important}
.price,.prest-price .price{color:var(--navy)!important}
.prest-row,.prest-card{border:1px solid var(--border)!important;border-radius:20px!important;box-shadow:var(--shadow)!important;background:#fff!important}
/* Pages prestataire / à propos */
.remun-col.cleanup{background:linear-gradient(135deg,#0A1F44,#0C2B5E)!important}
.remun-col.cleanup .remun-col-pct{color:var(--champ)!important}
.remun-box,.sim-box{border-radius:24px!important}
.why-check{background:var(--navy)!important;color:var(--champ)!important}
.why-cta-box{background:linear-gradient(160deg,#0A1F44,#0C2B5E)!important;border-radius:24px!important}
.testi-avatar{background:var(--navy)!important}
.adv-icon,.val-icon,.ci-icon{background:var(--navy)!important;color:var(--champ)!important}
/* Réservation : étapes, options, récapitulatif */
.progress-step.active .progress-circle{background:var(--navy)!important;box-shadow:0 6px 16px rgba(10,31,68,.3)!important}
.option-card.selected{border-color:var(--navy)!important}
.option-card.selected .opt-icon{background:var(--navy)!important;color:var(--champ)!important;box-shadow:0 8px 18px rgba(10,31,68,.28)!important}
.option-card.selected::after{background:var(--navy)!important}
.acc-ic{background:var(--navy)!important;color:var(--champ)!important}
.summary-total{background:linear-gradient(135deg,#0A1F44,#0C2B5E)!important;box-shadow:0 14px 32px rgba(10,31,68,.28)!important}
.summary-total .value{color:var(--champ)!important}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy)!important;box-shadow:0 0 0 3px rgba(10,31,68,.10)!important}
.tag{background:var(--grey-bg)!important;color:var(--navy)!important;border:1px solid var(--border)}
.nav-links a[style*="blue"],.mobile-menu a[style*="blue"]{color:var(--navy)!important}
.ms-row .blue{color:var(--navy)!important}

/* Nos engagements */
.eng-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;max-width:1100px;margin:0 auto}
.eng-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:1.9rem 1.5rem;box-shadow:var(--shadow);text-align:left}
.eng-icon{width:50px;height:50px;border-radius:14px;background:var(--navy);color:var(--champ);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
.eng-card h3{font-family:'Inter',sans-serif;font-size:1.02rem;font-weight:700;color:var(--navy);margin-bottom:.5rem}
.eng-card p{font-size:.9rem;color:var(--text-muted);line-height:1.6}
@media (max-width:900px){.eng-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.eng-grid{grid-template-columns:1fr}}
#submit-btn{background:#0A1F44!important}

/* ===== Espaces client / prestataire ===== */
body.esp{background:#F4F6FA}
body.esp .card,body.esp .pf-box,body.esp .resa-card,body.esp .abo-card{border:1px solid #E6EAF2;box-shadow:0 14px 40px rgba(10,31,68,.07)!important;border-radius:20px!important}
body.esp .resa-card,body.esp .abo-card{border-radius:16px!important;box-shadow:0 6px 20px rgba(10,31,68,.05)!important}
body.esp h1,body.esp .section-title,body.esp .header-row h1{font-family:'Playfair Display',Georgia,serif;color:#0A1F44;letter-spacing:-.01em}
body.esp .logo span,body.esp .missions-title,body.esp .resa-service,body.esp .abo-service,body.esp .pf-box h3,body.esp .edform h4{color:#0A1F44}
body.esp .missions-title{font-family:'Playfair Display',Georgia,serif;font-size:1.1rem}
body.esp .ic{vertical-align:-2px;margin-right:7px;color:#86651C}
body.esp button{background:#0A1F44;border-radius:12px}
body.esp input:focus,body.esp textarea:focus{border-color:#E2BC76;box-shadow:0 0 0 3px rgba(226,188,118,.25)}
body.esp .mission-card .m-accept,body.esp .m-btn.green,body.esp .notice .m-accept,body.esp .m-pres .cd-row button,body.esp .m-modif button{background:#0A1F44;color:#fff;font-weight:600;box-shadow:none}
body.esp .m-btn.green .ic,body.esp .m-btn.blue .ic{color:#E2BC76}
body.esp .m-btn.ghost{background:#fff;color:#0A1F44;border:1.5px solid #D9DFEA}
body.esp .m-btn.ghost .ic{color:#B3261E}
body.esp .ns-btn{background:#0A1F44!important;color:#fff}
body.esp .ns-btn .ic{color:#E2BC76}
body.esp .pf-toggle,body.esp .ed-open{background:#fff;color:#0A1F44;border:1.5px solid #D9DFEA}
body.esp .mission-card{border:1px solid #E6EAF2;border-radius:16px;box-shadow:0 4px 14px rgba(10,31,68,.04)}
body.esp .mission-card .m-montant{color:#0A1F44}
body.esp .mission-card.m-highlight{border-color:#0A1F44;box-shadow:0 0 0 3px rgba(10,31,68,.12)}
body.esp .notice{background:#F4F6FA;color:#0A1F44;border:1px solid #E1E6EF}
body.esp #bank-notice-pending{background:#F4F6FA!important;color:#0A1F44!important}
body.esp #bank-notice-active{background:#F4F6FA!important;color:#0A1F44!important;border-color:#E1E6EF}
body.esp .m-access{background:#F4F6FA;border:1px solid #E1E6EF}
body.esp .m-access .m-access-t{color:#86651C}
body.esp .m-access .m-addr,body.esp .m-access .m-code{color:#0A1F44}
body.esp .m-access a{color:#0A1F44}
body.esp .m-pres{background:#F4F6FA;border:1px solid #E1E6EF;color:#0A1F44}
body.esp .m-pres input{border-color:#D9DFEA}
body.esp .m-modif{background:#F4F6FA;border-color:#E1E6EF;color:#0A1F44}
body.esp .m-help a{color:#0A1F44}
body.esp .badge.green,body.esp .badge.termine,body.esp .badge.actif{background:#EAF3EE;color:#1E6B4A}
body.esp .badge.confirme{background:#E8ECF5;color:#0A1F44}
body.esp .badge.orange,body.esp .badge.attente,body.esp .badge.annulation_programmee{background:#F4F6FA;color:#5A6A80}
body.esp .presbox{background:linear-gradient(135deg,#0A1F44,#14336B);border:1px solid rgba(226,188,118,.45);color:#fff}
body.esp .presbox .pt{color:#E2BC76}
body.esp .presbox .pc{color:#F3D9A4}
body.esp .presbox .ph{color:rgba(255,255,255,.78)}
body.esp .presbox.ok{background:#EAF3EE;border-color:#CFE5D9}
body.esp .presbox.ok .pt,body.esp .presbox.ok .pc{color:#1E6B4A}
body.esp .presbox.ok .ph{color:#3F6B57}
body.esp .tmsg{background:#F4F6FA;color:#0A1F44}
body.esp .ts.done i{background:#0A1F44;border-color:#0A1F44}
body.esp .ts.now i{border-color:#E2BC76;box-shadow:0 0 0 4px rgba(226,188,118,.3)}
body.esp .ts.done,body.esp .ts.now{color:#0A1F44}
body.esp .resa-montant{color:#0A1F44}
body.esp .info-row span:last-child{color:#0A1F44}
body.esp a{color:#0A1F44}
body.esp #forgot-link{color:#0A1F44}
body.esp .m-btn.blue{background:#0A1F44;color:#fff}
body.esp .m-btn.blue .ic{color:#E2BC76}
body.esp .m-pres .cd-row button{width:auto;flex:0 0 auto}
body.esp .m-btn.green:disabled,body.esp .m-btn.tm-wait{background:#E4E9F2;color:#6B7A90;box-shadow:none;opacity:1}
body.esp .m-btn.tm-wait .ic{color:#8B98AD}

.nav-links a.active{color:#0A1F44!important;text-decoration:underline;text-decoration-color:#E2BC76;text-decoration-thickness:2px;text-underline-offset:8px}
.section-title,.page-header h1,.hero-prest h1,.hero h1{font-variant-numeric:lining-nums}

/* ===== Tarifs : bandeau simulateur et tableaux (v6) ===== */
.sim-result{background:radial-gradient(90% 140% at 100% 0%,rgba(226,188,118,.20),rgba(226,188,118,0) 55%),linear-gradient(135deg,#0F2756 0%,#1B407D 60%,#2C5698 100%)!important;border:1px solid rgba(226,188,118,.45)!important;box-shadow:0 18px 40px rgba(15,39,86,.22)!important;padding:.8rem!important;gap:.7rem!important}
.sim-result-item{background:rgba(255,255,255,.03)!important;border:1px solid rgba(226,188,118,.34)!important;border-radius:16px!important;padding:1.15rem .2rem!important;box-shadow:none!important;position:relative}
.sim-result-item:before{display:none!important}
.sim-result-num{color:#F3D9A4!important;font-size:2.1rem!important}
.sim-result-label{color:rgba(255,255,255,.82)!important;letter-spacing:0;white-space:nowrap}
@media (max-width:600px){.sim-result-label{white-space:normal}.sim-result-num{font-size:1.8rem!important}}
.comp-table-wrap{border:1px solid var(--border);border-radius:20px!important;box-shadow:0 14px 40px rgba(10,31,68,.08)!important}
.tbl-surface,.tbl-zone{border-collapse:separate;border-spacing:0}
thead th{font-size:.74rem!important;font-weight:600!important;letter-spacing:.09em;text-transform:uppercase;padding-top:1.15rem!important;padding-bottom:1.15rem!important}
tbody td{border-bottom:1px solid #EEF1F6!important;color:#0A1F44}
tbody td:first-child{color:#0A1F44!important}
tbody tr:nth-child(even) td{background:#FAFBFD}
tbody tr:hover td{background:#F4F6FA}
.price-highlight{color:#0A1F44!important;font-weight:800!important;background:rgba(226,188,118,.12)!important;font-family:'Inter',sans-serif}
tbody tr:hover td.price-highlight{background:rgba(226,188,118,.2)!important}
@media (max-width:600px){.trust-item{max-width:100%;white-space:normal;text-align:left}.trust-item span{white-space:normal}}
#price-badge span{white-space:nowrap}
/* Téléphone : champs à 16 px minimum, sinon Safari iPhone zoome la page au toucher */
@media (max-width:768px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]),select,textarea{font-size:16px!important}}
