/* ═══════════════════════════════════════════════════════════════
   La Festibox — les dates sur la fiche d'une pièce (resa.js)
   Le calendrier des week-ends, et le formulaire « Nous écrire ».
   ═══════════════════════════════════════════════════════════════ */

/* ── Le week-end choisi : deux champs qui ouvrent le calendrier ── */
.fbw-champs{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.fbw-champ{
  flex:1 1 140px;max-width:220px;display:grid;gap:2px;text-align:left;cursor:pointer;
  padding:9px 14px;border:1px solid var(--trait,rgba(43,33,29,.14));background:#fff;
  font:inherit;color:var(--encre,#2B211D);transition:border-color .2s;
}
.fbw-champ:hover,.fbw-champ[aria-expanded="true"]{border-color:var(--rose,#9A5A4A)}
.fbw-etiq{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris,#6E6058)}
.fbw-val{font-size:15px;font-weight:500;line-height:1.3}
.fbw-val::first-letter{text-transform:uppercase}
.fbw-fleche{align-self:center;color:var(--gris,#6E6058)}

/* ── Le calendrier ─────────────────────────────────────────── */
.fbw-cal{
  margin-top:12px;max-width:390px;padding:14px 14px 12px;
  border:1px solid var(--trait,rgba(43,33,29,.14));background:#fff;
}
.fbw-tete{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.fbw-mois{font-family:var(--serif,'Instrument Serif',Georgia,serif);font-size:21px;line-height:1.2;color:var(--encre,#2B211D)}
.fbw-nav{
  width:36px;height:36px;flex:none;border-radius:50%;cursor:pointer;
  border:1px solid var(--trait,rgba(43,33,29,.14));background:#fff;color:var(--encre,#2B211D);
  font-size:19px;line-height:1;display:grid;place-items:center;
}
.fbw-nav:hover:not(:disabled){border-color:var(--rose,#9A5A4A);color:var(--rose,#9A5A4A)}
.fbw-nav:disabled{opacity:.3;cursor:default}
.fbw-grille{display:grid;grid-template-columns:repeat(7,1fr);row-gap:5px}
.fbw-jsem{font-size:11px;letter-spacing:.08em;text-align:center;color:var(--gris,#6E6058);padding:2px 0 4px}
.fbw-jour{
  height:40px;min-width:0;border:0;background:transparent;cursor:pointer;
  font:inherit;font-size:14px;color:var(--encre,#2B211D);font-variant-numeric:tabular-nums;
}
/* Les jours de semaine : grisés, pas de location. */
.fbw-jour:disabled{cursor:default;color:rgba(43,33,29,.26)}
/* Les week-ends : une bande, du vendredi au lundi. */
.fbw-jour.est-we{background:var(--blush-pale,#FAEFEB)}
.fbw-jour.est-we.est-hors{background:rgba(43,33,29,.035);color:rgba(43,33,29,.3)}
.fbw-jour.est-g{border-top-left-radius:999px;border-bottom-left-radius:999px}
.fbw-jour.est-d{border-top-right-radius:999px;border-bottom-right-radius:999px}
.fbw-jour.est-we:not(:disabled):hover,.fbw-jour.est-survol{background:var(--blush,#F5E5E0);color:var(--rose-fonce,#7A4238)}
.fbw-jour.est-choisi,.fbw-jour.est-choisi:hover{background:var(--rose,#9A5A4A);color:#FDF6F3}
.fbw-jour.est-auj{text-decoration:underline;text-underline-offset:4px}
.fbw-jour:focus-visible{outline:2px solid var(--or,#B08A2F);outline-offset:-2px}
.fbw-note{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--trait,rgba(43,33,29,.14));font-size:12.5px;line-height:1.5;color:var(--gris,#6E6058)}
/* L'en-tête du site reste collé en haut : on garde de la marge en défilant. */
.fbw-cal,.fbw-champs,.fbe-form,.fbe-merci,.fbe-erreur,.fbe-champ input,.fbe-champ textarea{scroll-margin-top:130px}
.fbw-lien{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:var(--rose,#9A5A4A);text-decoration:underline;text-underline-offset:3px}

/* ── « Nous écrire » : le formulaire, dans l'encart ────────── */
.fbe .fbe-form{display:grid;gap:12px;margin-top:4px}
.fbe-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}
.fbe-champ{display:grid;gap:5px;min-width:0}
.fbe-champ > span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris,#6E6058)}
.fbe-champ > span i{font-style:normal;letter-spacing:0;text-transform:none;opacity:.75}
.fbe-champ input,.fbe-champ textarea{
  width:100%;min-width:0;padding:10px 12px;border:1px solid var(--trait,rgba(43,33,29,.14));
  background:#fff;font:inherit;font-size:15px;color:var(--encre,#2B211D);border-radius:0;
}
.fbe-champ textarea{resize:vertical;min-height:96px;line-height:1.5}
.fbe-champ input:focus,.fbe-champ textarea:focus{outline:none;border-color:var(--rose,#9A5A4A)}
.fbe-piege{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.fbe-erreur{margin:0;padding:10px 12px;background:rgba(193,88,75,.1);color:#9B3B2E;font-size:14px;line-height:1.45}
.fbe .fbe-form .fb-btn{justify-self:start}
.fbe-mention{margin:0;font-size:12.5px;line-height:1.5;color:var(--gris,#6E6058)}
.fbe-mention a{color:var(--rose,#9A5A4A)}
.fbe-merci strong{display:block;font-family:var(--serif,'Instrument Serif',Georgia,serif);font-weight:400;font-size:21px;color:var(--rose,#9A5A4A);margin-bottom:4px}
.fbe-merci p{margin:0 0 6px}
.fbe-ref{font-size:13px;letter-spacing:.06em;color:var(--gris,#6E6058)}

@media (max-width:520px){
  .fbw-fleche{display:none}
  .fbw-champ{max-width:none}
  .fbw-cal{padding:12px 8px 10px}
  .fbw-jour{height:38px}
  .fbe-duo{grid-template-columns:1fr}
}

/* ── 1.76 : le panier (« Votre devis ») prend le même calendrier ── */
.fbw-devis .fbw-cal{max-width:100%}
.fbw-devis-aide{margin:10px 0 0}
