/* Casa 56 · composants de conversion ajoutés le 15/10 (barre de dates de l'hôtel, fin commune, preuves près des offres).
   Chargé sur toutes les pages après casa56.css. Écrit par outils/pages.py (cta_livre, barre_dates, cit, mini, ouvert). */

/* ---------- Les preuves : une citation près de ce qu'elle prouve ---------- */
.cit-h.cv-mini{font-size:17px;line-height:1.45;margin:22px 0 0;padding-left:16px}
.cit-h.cv-mini cite{font-size:10px;margin-top:8px}
.offre .cit-h.cv-mini{margin:18px 0 4px;font-size:16px}
.carte-e .cit-h.cv-mini{margin-top:4px}
.cv-cits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 60px;max-width:1100px;margin:70px auto 0}
.cv-cits .cit-h{margin:0}
.cv-preuve-c{max-width:760px;margin:46px auto 0;padding:0 var(--marge)}
.cv-preuve-c .cit-h{margin:0}
.chiffres+.legende+.cv-preuve-c{margin-top:40px;margin-bottom:10px}
@media (max-width:760px){
  .cv-cits{grid-template-columns:1fr;gap:28px;margin-top:50px}
  .cv-preuve-c{padding:0 18px}
  .cit-h.cv-mini{font-size:16px}
}

/* ---------- Horaires près du bouton « Réserver une table » (héros du restaurant et de la carte) ---------- */
.ph .ctas .cv-horaire{flex-basis:100%;margin:2px 0 0;font-size:14px;letter-spacing:.04em;color:rgba(255,255,255,.9)}
.cv-horaire .ac{color:inherit}
.cv-ouvert:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--safran);margin:0 9px 1px 0;vertical-align:middle}
.cv-ouvert[data-etat="ferme"]:before{background:rgba(255,255,255,.5)}

/* ---------- Sommaire collant de la carte : le bouton pour réserver, toujours visible ----------
   Hors de .carte-nav (casa56.js lit chaque « .carte-nav a » comme une ancre de rubrique) : le conteneur colle, le sommaire défile dedans. */
.cv-somm{position:sticky;top:var(--nav);z-index:40;display:flex;align-items:center;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--ligne)}
.cv-somm .carte-nav{position:static;flex:1;min-width:0;background:none;border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.cv-somm .cv-res{flex:none;margin:0 var(--marge) 0 6px;padding:12px 18px;font-size:10.5px}
@media (max-width:960px){.cv-somm .cv-res{margin:0 10px 0 2px;padding:10px 11px;font-size:9.5px;letter-spacing:.12em}}

/* ---------- En-tête de l'hôtel : prix d'appel, barre de dates, WhatsApp et appel ---------- */
.ph.cv-ph{height:auto;min-height:88vh}
.cv-ph .ecran{height:auto;min-height:calc(88vh - var(--nav) - 14px);display:flex;flex-direction:column;justify-content:flex-end}
.cv-ph .ecran:after{background:linear-gradient(180deg,rgba(10,14,17,.12) 0%,rgba(10,14,17,.45) 38%,rgba(10,14,17,.82) 100%),linear-gradient(90deg,rgba(10,14,17,.35),rgba(10,14,17,0) 60%)}
.cv-ph .h-txt{position:relative;left:auto;right:auto;bottom:auto;max-width:1000px;padding:140px 56px 46px}
.cv-ph .ctas{display:block;margin-top:26px}
.ph .cv-appel{font-family:var(--serif);font-size:clamp(20px,1.7vw,25px);line-height:1.35;color:#fff;margin-top:6px;max-width:none}
.cv-dates{scroll-margin-top:calc(var(--nav) + 24px)}
.cv-appel .ac{color:inherit}
.cv-dates{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,.9fr) auto;align-items:stretch;background:#fff;color:var(--encre);max-width:880px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.cv-ch{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:14px 20px;border-right:1px solid var(--ligne);min-width:0}
.cv-ch label{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);font-weight:500;line-height:1.2}
.cv-ch input,.cv-ch select{font-family:var(--serif);font-size:21px;line-height:1.2;color:var(--encre);border:0;background:none;padding:2px 0;width:100%;min-width:0;-webkit-appearance:none;appearance:none;border-radius:0}
.cv-ch select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23111417' stroke-width='1.2'/%3E%3C/svg%3E") right 2px center no-repeat;padding-right:16px;cursor:pointer}
.cv-ch input:focus,.cv-ch select:focus{outline:none;box-shadow:0 1px 0 var(--safran)}
.cv-ch input::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}
.cv-dates .btn{margin:0;border-radius:0;padding:0 28px;min-height:76px}
.ph .cv-dates p{grid-column:1/-1;max-width:none;margin:0;font-size:13.5px;line-height:1.5;padding:10px 20px;border-top:1px solid var(--ligne);color:var(--gris)}
.ph .cv-dates .cv-note{color:var(--safran-fonce);background:var(--safran-doux);border-top:0}
.ph .cv-dates .cv-note[hidden]{display:none}
.cv-liens{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:20px}
.cv-liens a{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:#fff;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:5px}
.cv-liens a:hover{border-color:var(--safran);color:#fff}
@media (max-width:960px){
  .ph.cv-ph{min-height:0;padding-top:var(--nav)}
  .cv-ph .ecran{min-height:calc(86vh - var(--nav))}
  .cv-ph .h-txt{padding:96px 18px 24px}
  .cv-ph .ctas{margin-top:18px}
  .cv-dates{grid-template-columns:1fr 1fr}
  .cv-ch{padding:11px 14px;border-bottom:1px solid var(--ligne)}
  .cv-ch.cv-arr{grid-column:1/-1;border-right:0}
  .cv-ch:nth-child(4){border-right:0}
  .cv-ch input,.cv-ch select{font-size:19px}
  .cv-dates .btn{grid-column:1/-1;min-height:54px}
  .ph .cv-dates p{padding:9px 14px;font-size:12.5px}
  .cv-liens{gap:10px 20px;margin-top:16px}
  .cv-liens a{font-size:10px;letter-spacing:.16em}
}

/* ---------- La fin commune : « Et vous, vous arrivez quand ? » et trois portes en photo (même fin que la soirée) ---------- */
.cl{background:var(--creme);color:var(--encre);padding:clamp(80px,10vw,130px) var(--marge)}
.cl-in{display:flex;flex-direction:column;align-items:center}
.cl-tete{text-align:center;max-width:900px}
.cl-sur{display:flex;align-items:center;justify-content:center;gap:14px;font:500 11px/1.4 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--safran-fonce)}
.cl-sur:before,.cl-sur:after{content:"";width:34px;height:1px;background:currentColor}
.cl-q{font-family:var(--serif);font-weight:400;font-size:clamp(40px,4.4vw,72px);line-height:1.02;letter-spacing:-.022em;margin-top:16px}
.cl-q em{color:var(--safran-fonce)}
.cl-sous{font-size:clamp(15px,1.15vw,18px);line-height:1.55;color:#4a545b;margin:14px auto 0;max-width:52ch}
.cl-choix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,30px);width:min(1180px,100%);margin-top:clamp(30px,4vw,52px);align-items:start}
.cl-c{display:flex;flex-direction:column;background:#fff;box-shadow:0 1px 0 var(--ligne),0 24px 48px -30px rgba(17,20,23,.35);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
@media (hover:hover){.cl-c:hover{transform:translateY(-4px);box-shadow:0 1px 0 var(--ligne),0 34px 60px -30px rgba(17,20,23,.45)}}
.cl-im{position:relative;display:block;aspect-ratio:4/3.4;overflow:hidden;background:var(--ivoire)}
.cl-im img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform 1.1s var(--ease)}
@media (hover:hover){.cl-c:hover .cl-im img{transform:scale(1.05)}}
.cl-duo img{height:50%}
.cl-duo img+img{top:50%;object-position:50% 40%}
.cl-duo:after{content:"";position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;background:#fff}
.cl-puis{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:62px;height:62px;border-radius:50%;background:var(--safran-fonce);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:20px;line-height:1;box-shadow:0 0 0 5px #fff}
.cl-tx{display:flex;flex-direction:column;align-items:flex-start;padding:20px 24px 24px}
.cl-s{font:500 10px/1.4 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gris)}
.cl-t{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.5vw,40px);line-height:1;letter-spacing:-.015em;margin-top:8px}
.cl-d{font-size:15px;color:#4a545b;margin-top:6px;line-height:1.4}
.cl-go{margin-top:16px;font:500 10.5px/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:5px;transition:color .3s}
.cl-go:after{content:" →"}
.cl-c:hover .cl-go{color:var(--safran-fonce)}
.cl-deux{background:var(--safran-doux);box-shadow:0 0 0 1px var(--safran),0 30px 60px -30px rgba(142,97,20,.55)}
.cl-deux:hover{box-shadow:0 0 0 1px var(--safran),0 40px 70px -30px rgba(142,97,20,.6)}
.cl-deux .cl-s{color:var(--safran-fonce)}
.cl-deux .cl-t{font-style:italic;color:var(--safran-fonce)}
.cl-deux .cl-go{background:var(--safran-fonce);color:#fff;border:0;padding:12px 18px}
@media (hover:hover){.cl-deux:hover .cl-go{background:var(--encre);color:#fff}}
@media (max-width:760px){
  .cl{padding:76px 16px 70px}
  .cl-q{font-size:clamp(32px,9vw,40px);margin-top:12px}
  .cl-sous{font-size:14.5px;margin-top:10px;max-width:34ch}
  .cl-choix{grid-template-columns:1fr;gap:10px;margin-top:26px}
  .cl-c{flex-direction:row;min-height:120px}
  .cl-c:hover{transform:none}
  .cl-im{width:40%;flex:none;aspect-ratio:auto}
  .cl-tx{justify-content:center;padding:12px 16px}
  .cl-s{font-size:9px;letter-spacing:.22em}
  .cl-t{font-size:27px;margin-top:5px}
  .cl-d{font-size:13.5px;margin-top:3px;line-height:1.35}
  .cl-go{margin-top:10px;font-size:9.5px;letter-spacing:.14em}
  .cl-deux .cl-go{padding:9px 12px}
  .cl-puis{width:40px;height:40px;font-size:14px;box-shadow:0 0 0 3px #fff}
}
/* photos sans ventilateur (15/10) : chambre-a recadrée à droite (pied d'éclairage du photographe), escalier-2 cadré haut */
.cl-im img.so-c-ch,.split img[src*="chambre-a"]{object-position:78% 50%}
.cl-duo img[src*="escalier-2"]{object-position:50% 34%}

/* 18/10 (audit mobile) : chaque case du choix de dates est entièrement cliquable, le champ remplit la case */
.cv-ch{position:relative;padding:0;justify-content:flex-end}
.cv-ch label{position:absolute;top:14px;left:20px;right:20px;pointer-events:none}
.cv-ch input,.cv-ch select{height:100%;min-height:76px;padding:32px 20px 13px}
.cv-ch select{background-position:right 18px center;padding-right:36px}
@media (max-width:960px){
  .cv-ch{padding:0}
  .cv-ch label{top:11px;left:14px;right:14px}
  .cv-ch input,.cv-ch select{min-height:64px;padding:28px 14px 10px}
  .cv-ch select{background-position:right 12px center;padding-right:30px}
}
/* carte : sur téléphone, plus de bouton « Réserver » dans le sommaire collant (la barre du bas fait ce travail) */
@media (max-width:760px){.cv-somm .cv-res{display:none}}

/* 9/11 : le parking vélos en avant dans le héros de l'hôtel (WhatsApp de Salvatore du 7/11, « in forma promozionale ») */
.ph .cv-velo{display:inline-flex;align-items:center;gap:12px;margin-top:18px;padding:9px 20px 9px 12px;border-radius:999px;background:var(--safran);color:#fff;font-family:var(--sans);font-size:clamp(14px,1.05vw,16px);line-height:1.35;max-width:100%}
.ph .cv-velo svg{width:30px;height:30px;flex:none;fill:none;stroke:#fff;stroke-width:1.5}
.ph .cv-velo b{font-weight:600}
@media (max-width:760px){.ph .cv-velo{border-radius:18px;align-items:flex-start;padding:10px 14px 10px 10px}}
