/* montfalcon.ch — « La maison vous accueille ». Une page qui se déroule, le prix qui se construit à droite. */

.entete-accueil{background:var(--blanc);border-bottom:1px solid var(--trait);padding:34px 0 30px}
.entete-accueil h1{font-size:34px;font-weight:600;margin:0 0 4px;line-height:1.15}
.entete-accueil .sous{margin:0 0 14px;font-size:15px;color:var(--bois);text-transform:uppercase;letter-spacing:1.2px;font-weight:700}
.entete-accueil .phrase{margin:0 0 22px;font-size:18px;line-height:1.6;color:#3B362E;max-width:640px}
.trois-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.trois-photos figure{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--trait);background:var(--creme)}
.trois-photos img{width:100%;height:180px;object-fit:cover}
.trois-photos figcaption{padding:8px 12px;font-size:13px;color:var(--gris)}
@media(max-width:720px){.trois-photos{grid-template-columns:1fr}.trois-photos img{height:200px}.entete-accueil h1{font-size:27px}}

.compo{padding-bottom:80px}
.colonnes{display:grid;grid-template-columns:1fr 340px;gap:34px;align-items:start}
@media(max-width:940px){.colonnes{grid-template-columns:1fr}}
.gauche section{padding:26px 0;border-bottom:1px solid var(--trait)}
.gauche section:last-child{border-bottom:none}
.gauche h2{font-size:20px;text-transform:none;letter-spacing:0;color:var(--encre);font-weight:600;
           border:none;padding:0;margin:0 0 12px;display:flex;align-items:center;gap:10px}
.gauche h2 .num{background:var(--creme);border:1px solid var(--trait);color:var(--bois);font-size:13px;font-weight:700;
                width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.aide-g{margin:-6px 0 14px;font-size:14.5px;color:var(--gris);line-height:1.55}
.principe{margin:-4px 0 14px;font-size:15.5px;color:#3B362E;background:var(--creme);border-left:3px solid var(--olive);
          border-radius:0 10px 10px 0;padding:11px 14px;line-height:1.55}
.masque{display:none}

/* le « i » : une fenêtre par-dessus la page */
button.i{width:22px;height:22px;border-radius:50%;border:1px solid var(--trait);background:var(--blanc);color:var(--gris);
         font-size:12.5px;font-weight:700;cursor:pointer;font-family:Georgia,serif;line-height:1;flex:none;padding:0}
button.i:hover{border-color:var(--bois);color:var(--bois)}
.pop-texte{font-size:15.5px;line-height:1.65;color:#3B362E;max-height:60vh;overflow:auto;margin-bottom:18px}
.pop-texte p{margin:0 0 12px}
.pop-texte ul{margin:0 0 12px;padding-left:20px}
.pop-texte li{margin-bottom:5px}
.pop-texte .loi{background:var(--creme);border-left:3px solid var(--bois);border-radius:0 10px 10px 0;
                padding:11px 13px;font-size:14px;color:#5C5445;margin-top:12px}

/* les choix sont des cartes, jamais des cases administratives */
.cartes{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.cartes.petites{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
@media(max-width:620px){.cartes{grid-template-columns:1fr}}
.carte{position:relative;text-align:left;background:var(--creme);border:1px solid var(--trait);border-radius:14px;
       padding:15px 16px;cursor:pointer;font-family:inherit;color:var(--encre);display:block;transition:background .15s,border-color .15s}
.carte:hover{border-color:#CFC5B0}
.carte b{display:block;font-size:16px;font-weight:600;margin-bottom:3px}
.carte span{display:block;font-size:14px;color:var(--gris);line-height:1.5}
.carte .p{color:var(--bois);font-weight:600}
.carte.on{background:#F0F3EB;border-color:var(--olive)}
.carte.on::after{content:"✓";position:absolute;top:9px;right:12px;color:var(--olive);font-weight:700;font-size:16px}
.carte.eteinte{opacity:.42;pointer-events:none}
.carte.eteinte::before{content:"indisponible pour ce choix";position:absolute;bottom:8px;right:12px;font-size:11px;color:var(--gris)}

.bascule{display:flex;gap:11px;align-items:flex-start;padding:11px 0;font-size:15px;line-height:1.55;color:#3B362E}
.bascule input{width:18px;height:18px;margin-top:2px;flex:none}
.bascule .p{color:var(--bois);font-weight:600}

.champ-g{margin:14px 0 0}
.champ-g label{display:block;font-size:12.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--gris);font-weight:700;margin-bottom:6px}
.champ-g input,.champ-g select,.champ-g textarea{width:100%;border:1px solid var(--trait);border-radius:11px;padding:12px;
       font-size:16px;font-family:inherit;background:#FDFCF9;color:var(--encre)}
.champ-g input:focus,.champ-g select:focus,.champ-g textarea:focus{outline:2px solid var(--bois);outline-offset:-1px;border-color:var(--bois)}
.champ-g.manque input,.champ-g.manque select{border-color:var(--rouge);background:#FDF6F5}
.trois-champs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:620px){.trois-champs{grid-template-columns:1fr}}
.note{font-size:14px;color:var(--gris);margin-top:8px;line-height:1.55}
.alerte{display:none;background:#FBEDEC;border:1px solid #EBD3D0;color:#7E332C;border-radius:11px;padding:11px 13px;font-size:14.5px;margin-top:10px}
.alerte.doux{background:#FFF6E5;border-color:#F0DCB0;color:#7A5A17}
.alerte.on{display:block}

/* la réglette des heures */
.reglette{display:flex;height:38px;border:1px solid var(--trait);border-radius:10px;overflow:hidden;margin-top:14px;background:#FDFCF9}
.reglette .demi{flex:1;border-right:1px solid #F0EBE0}
.reglette .demi:last-child{border-right:none}
.reglette .demi.soir{background-image:repeating-linear-gradient(45deg,#F2EEE4,#F2EEE4 3px,#FDFCF9 3px,#FDFCF9 6px)}
.reglette .demi.pris{background:var(--olive)}
.reglette .demi.pris.soir{background-image:repeating-linear-gradient(45deg,#4A5340,#4A5340 3px,#5D6851 3px,#5D6851 6px)}
.legende-reglette{display:flex;gap:16px;font-size:12.5px;color:var(--gris);margin-top:7px;flex-wrap:wrap}
.legende-reglette i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:5px}
.ex-olive{background:var(--olive)}
.ex-hach{background-image:repeating-linear-gradient(45deg,#D8D2C4,#D8D2C4 3px,#FDFCF9 3px,#FDFCF9 6px);border:1px solid var(--trait)}

.compteur{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.compteur button{width:44px;height:44px;border-radius:12px;border:1px solid var(--trait);background:var(--blanc);
                 font-size:22px;cursor:pointer;color:var(--gris)}
.compteur button:hover{border-color:var(--bois);color:var(--bois)}
.compteur input{width:88px;text-align:center;border:1px solid var(--trait);border-radius:12px;padding:11px;font-size:19px;font-weight:600;background:#FDFCF9}

.cartes-departs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:720px){.cartes-departs{grid-template-columns:1fr}}
.depart{text-align:left;background:var(--blanc);border:1px solid var(--trait);border-radius:16px;padding:16px;cursor:pointer;font-family:inherit}
.depart:hover{border-color:var(--bois)}
.depart b{display:block;font-size:17px;font-weight:600;margin-bottom:4px}
.depart span{display:block;font-size:14px;color:var(--gris);line-height:1.5}
.depart .des{color:var(--bois);font-weight:700;margin-top:8px;font-size:15px}

/* l'estimation, à droite, qui suit la page */
.droite{position:sticky;top:96px}
.estimation{background:var(--blanc);border:1px solid var(--trait);border-radius:18px;padding:20px}
.estimation h2{font-size:12.5px;text-transform:uppercase;letter-spacing:1px;color:var(--bois);font-weight:700;
               margin:0 0 14px;border:none;padding:0}
.tl{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dotted var(--trait);font-size:14.5px;line-height:1.45}
.tl:last-of-type{border-bottom:none}
.tl .n{white-space:nowrap;font-weight:600}
.tl.neuf{animation:eclair 1s ease-out}
@keyframes eclair{0%{background:#FBF2DF}100%{background:transparent}}
.total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px;padding-top:14px;border-top:2px solid var(--trait)}
.total span{font-size:13.5px;color:var(--gris)}
.total b{font-size:27px;font-weight:700;color:var(--encre);transition:transform .25s,opacity .25s}
.total b.monte{transform:translateY(-2px)}
.apres{font-size:13px;color:var(--gris);margin-top:9px;line-height:1.5}
.maison-resp{font-size:13px;color:#5C5445;background:var(--creme);border-radius:10px;padding:10px 12px;margin:14px 0 12px;line-height:1.5}
.estimation .go{width:100%}

.recap-grand{background:var(--creme);border:1px solid var(--trait);border-radius:14px;padding:16px 18px;margin-bottom:14px;font-size:15.5px;line-height:1.7}
.recap-grand .l{display:flex;justify-content:space-between;gap:12px;padding:4px 0}
.recap-grand .gros{font-size:23px;font-weight:700;margin-top:10px;padding-top:10px;border-top:1px solid var(--trait);display:flex;justify-content:space-between}
.rassure{font-size:15.5px;color:#3B362E;line-height:1.6;margin:0 0 16px}
.petit{font-size:13.5px;color:var(--gris);margin:10px 0;line-height:1.55}
.deux-boutons{display:flex;gap:11px;flex-wrap:wrap}
.deux-boutons .go{flex:1;min-width:200px}
.go.creux{background:none;color:var(--bois);border:1px solid var(--bois)}
.go{background:var(--bois);color:#fff;border:none;border-radius:12px;padding:15px 20px;font-size:16.5px;font-weight:600;cursor:pointer;font-family:inherit}
.go[disabled]{opacity:.55;cursor:default}

/* sur téléphone : une barre collée en bas */
.barre-tel{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--blanc);border-top:1px solid var(--trait);
           padding:11px 16px;align-items:center;gap:12px;box-shadow:0 -4px 18px rgba(0,0,0,.07)}
.barre-tel div{flex:1;line-height:1.3}
.barre-tel b{display:block;font-size:19px;font-weight:700}
.barre-tel span{font-size:12.5px;color:var(--gris)}
.barre-tel .go{padding:12px 18px;font-size:15px}
@media(max-width:940px){
  .droite{position:static;margin-top:26px}
  .barre-tel{display:flex}
  .compo{padding-bottom:96px}
}

.sous-compte{font-size:12.5px;text-transform:uppercase;letter-spacing:.9px;color:var(--bois);font-weight:700;
             margin:22px 0 12px;padding-top:16px;border-top:1px solid var(--trait)}
.aide-inline{text-transform:none;letter-spacing:0;font-weight:400;color:var(--gris)}
