/* YESBY HOTEL — home.css */
/* Accueil vitrine du mode privatif. */
.hotel-private-hero{padding:0;overflow:hidden}
.hotel-private-cover{display:block;width:100%;height:clamp(220px,35vw,440px);object-fit:cover}
.hotel-private-intro{padding:clamp(24px,4vw,55px)}
.hotel-private-intro h1{margin:12px 0 18px}
.hotel-private-description{white-space:normal;max-width:850px;line-height:1.7}
.hotel-private-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.hotel-private-gallery img{width:100%;height:190px;object-fit:cover;border-radius:9px}
.hotel-private-cta{text-align:center}

.hotel-private-subtitle{font-size:clamp(18px,2.5vw,25px);font-weight:600;color:var(--accent);margin:0 0 18px;line-height:1.4}

/* Accueil privatif : titre et ville alignés, sous-titre affirmé, options lisibles. */
.hotel-private-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.hotel-private-title-row h1{margin:12px 0 10px;min-width:0}
.hotel-private-city{font-size:clamp(32px,4vw,56px);font-weight:800;letter-spacing:-.025em;line-height:1.12;color:var(--accent);margin-left:auto;text-align:right}
.hotel-private-intro .hotel-private-subtitle{font-size:clamp(28px,3.5vw,42px);font-weight:750;line-height:1.2;margin:8px 0 25px;color:var(--text)}
.hotel-private-options{margin:8px 0 22px;justify-content:flex-start}
@media(max-width:600px){.hotel-private-title-row{gap:6px 12px}.hotel-private-city{font-size:clamp(25px,7vw,36px)}}


/* Calendrier de disponibilité mensuel sur la home privative. */
.hotel-private-body{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:28px;padding:clamp(24px,4vw,55px)}
.hotel-private-body .hotel-private-intro{padding:0;min-width:0}
.hotel-private-availability{padding:16px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-2,var(--surface))}
.hotel-private-availability h2{margin:0;font-size:20px}
.hotel-private-month{font-weight:700;text-align:center;margin:10px 0}
.hotel-private-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.hotel-private-weekday{text-align:center;font-size:12px;font-weight:700;color:var(--sub);padding:4px 0}
.hotel-private-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border:1px solid var(--line-strong);border-radius:6px;font-size:13px;font-weight:650}
.hotel-private-day.available{background:var(--hotel-available-green);border-color:var(--hotel-available-green);color:#fff}
.hotel-private-day.full{background:#bd404935;border-color:#bd4049}
.hotel-private-day.past{background:var(--surface);color:var(--sub);opacity:.65}
.hotel-private-day.today{outline:2px solid var(--accent);outline-offset:1px}
.hotel-private-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:13px;font-size:11px}
.hotel-private-calendar-legend span{display:inline-flex;align-items:center;gap:5px}
.hotel-private-calendar-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;border:1px solid var(--line-strong)}
.hotel-private-calendar-legend i.available{background:var(--hotel-available-green);border-color:var(--hotel-available-green)}
.hotel-private-calendar-legend i.full{background:#bd4049;border-color:#bd4049}
.hotel-private-calendar-legend i.past{background:var(--surface)}
@media(max-width:900px){.hotel-private-body{grid-template-columns:1fr}.hotel-private-availability{width:100%;max-width:420px}}

.hotel-private-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0}.hotel-private-calendar-nav>a{color:var(--text);text-decoration:none;font-weight:750}.hotel-private-calendar-nav>a:first-child,.hotel-private-calendar-nav>a:last-child{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line-strong);border-radius:8px;font-size:25px}.hotel-private-calendar-nav>a:hover{color:var(--accent);background:var(--hover)}.hotel-private-calendar-nav .hotel-private-month{margin:0;text-align:center}


/* Ville et calendrier réunis à droite, sous la ville. */
.hotel-private-side{min-width:0;display:flex;flex-direction:column;gap:18px}
.hotel-private-side>.hotel-private-city{display:block;text-align:right;margin:0}
.hotel-private-day.partial{background:#efbd483b;border-color:#d3a22c}
.hotel-private-calendar-legend i.partial{background:#efbd48;border-color:#d3a22c}
a.hotel-private-day{text-decoration:none;color:var(--text);cursor:pointer}
a.hotel-private-day:hover,a.hotel-private-day:focus-visible{outline:2px solid var(--accent);outline-offset:1px;filter:brightness(1.08)}
@media(max-width:900px){.hotel-private-side>.hotel-private-city{text-align:left}}

/* Navigation du calendrier en boutons btnpos et séparation sous la ville. */
.hotel-private-calendar-nav .hotel-private-cal-arrow{display:inline-flex;align-items:center;justify-content:center;align-self:center;min-width:38px;width:38px;height:38px;min-height:38px;padding:0;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--text);font-size:25px;line-height:1;text-decoration:none}
.hotel-private-calendar-nav .hotel-private-cal-arrow:hover{background:var(--hover);color:var(--accent)}
@media(min-width:901px){.hotel-private-side{gap:26px}.hotel-private-side>.hotel-private-city{padding-bottom:22px;border-bottom:1px solid var(--line-strong)}}

/* Badges des options sur la vitrine privative. */
.hotel-private-options{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 22px}
.hotel-private-options .hotel-search-option{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-2);font-size:.88rem;line-height:1.35}

/* Compteur de disponibilités par nuit : libre / total. */
.hotel-private-day{flex-direction:column;line-height:1.2;gap:2px}.hotel-private-day small{font-size:9px;font-weight:600;opacity:.85}

/* Description Markdown de la vitrine privative. */
.hotel-private-description h2,.hotel-private-description h3{margin:16px 0 8px;line-height:1.3}
.hotel-private-description p{margin:0 0 12px}
.hotel-private-description ul,.hotel-private-description ol{margin:0 0 14px;padding-left:25px}
.hotel-private-description li{margin:4px 0}
.hotel-private-description strong{font-weight:700}
