.availability-page{background:#f6f1e8}
.availability-page .header{background:linear-gradient(180deg,rgba(4,25,22,.5),transparent)}
.availability-hero{min-height:560px;padding:150px 0 64px;align-items:end;background-position:center 48%}
.availability-hero:before{background:linear-gradient(90deg,rgba(6,31,27,.91) 0%,rgba(6,31,27,.68) 42%,rgba(6,31,27,.2) 76%),linear-gradient(0deg,rgba(5,25,22,.68),transparent 60%)}
.availability-hero .wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}
.availability-hero h1{max-width:690px;font-size:clamp(3.7rem,6.2vw,6.3rem);line-height:.94}
.availability-hero .wrap>p:not(.kicker){max-width:590px;margin-top:23px;color:rgba(255,255,255,.78);font-size:1rem;line-height:1.75}
.availability-hero__trust{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.availability-hero__trust span{padding:10px 14px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.09);color:#fff;backdrop-filter:blur(9px);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}
.availability-hero__trust strong{margin-right:5px;font:600 1rem var(--serif)}
.availability-intro{position:relative;padding:65px 0 28px;overflow:hidden}
.availability-intro:after{content:"RÉSERVER";position:absolute;right:-20px;top:5px;color:rgba(16,50,44,.035);font:600 clamp(5rem,12vw,10rem) var(--serif);pointer-events:none}
.availability-intro__inner{position:relative;z-index:1;display:grid;grid-template-columns:.85fr 1fr;gap:70px;align-items:end}
.availability-intro h2{font-size:clamp(2.5rem,4.5vw,4rem)}
.availability-intro__inner>p{max-width:610px;color:#66736f;line-height:1.8}
.availability-page .availability-shell{padding:35px 0 105px}
.availability-page .availability-layout{grid-template-columns:330px minmax(0,1fr);gap:28px}
.availability-page .property-switcher{padding:0;overflow:hidden;background:#123b34;box-shadow:0 24px 55px rgba(11,34,30,.16)}
.property-switcher__eyebrow{margin:28px 26px 5px;color:#d7a06b;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.availability-page .property-switcher h2{padding:0 26px 25px;font-size:1.7rem;line-height:1.18}
.availability-page .property-option{display:grid;grid-template-columns:78px 1fr 20px;gap:13px;align-items:center;padding:13px;border-top:1px solid rgba(255,255,255,.12);transition:background .25s}
.availability-page .property-option:hover,.availability-page .property-option.is-active{background:#1e5045;color:#fff}
.property-option__visual{height:72px;overflow:hidden}
.property-option__visual img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.property-option:hover img{transform:scale(1.05)}
.property-option__content{display:flex;flex-direction:column;line-height:1.45}
.property-option__content small{color:#d8a777;font-size:.52rem;letter-spacing:.06em;text-transform:uppercase}
.property-option__content strong{color:#fff;font:600 1.15rem var(--serif)}
.property-option__content>span{color:rgba(255,255,255,.56);font-size:.63rem}
.property-option__arrow{color:#d8a777;font-size:1rem}
.property-reassurance{display:flex;gap:11px;margin:12px;padding:16px;background:rgba(255,255,255,.07)}
.property-reassurance>span{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:#d8a777;color:#123b34;font-weight:700}
.property-reassurance p{margin:0;color:rgba(255,255,255,.6);font-size:.64rem;line-height:1.55}
.property-reassurance strong{display:block;color:#fff}
.availability-page .calendar-panel{min-width:0;padding:38px;background:#fff;border:0;box-shadow:0 24px 60px rgba(11,34,30,.09)}
.availability-page .calendar-head{margin-bottom:20px}
.availability-page .calendar-head h2{font-size:clamp(1.8rem,3vw,2.45rem)}
.calendar-guide{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:23px;padding:14px 16px;background:#f7f5ef}
.calendar-guide span{display:flex;align-items:center;gap:7px;color:#74817d;font-size:.62rem}
.calendar-guide i{width:11px;height:11px;border:1px solid #dfe4df;background:#fff}
.calendar-guide i.selected{border-color:#5e8c6d;background:#dcebdd}
.calendar-guide i.busy{border-color:#ebcec7;background:#f7e9e5}
.availability-page .calendar-toolbar{margin-bottom:12px;padding:3px 0}
.availability-page .calendar-toolbar button{transition:.2s}
.availability-page .calendar-toolbar button:hover{border-color:#c7864e;background:#c7864e;color:#fff}
.availability-page .calendar-day{min-height:76px;transition:background .18s,transform .18s}
.availability-page .calendar-day:hover:not(:disabled){z-index:1;transform:translateY(-2px);box-shadow:0 7px 16px rgba(12,45,38,.09)}
.calendar-tip{display:flex;align-items:center;gap:9px;margin-top:17px;padding:13px 15px;background:#f1eee6;color:#64716d;font-size:.65rem}
.calendar-tip span{color:#c7864e;font-size:1rem}.calendar-tip strong{color:#173c35}
.selection-card__eyebrow{margin:0 0 17px;color:#c1753d;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.availability-page .selection-card{border-left-width:4px}
.booking-benefits{padding:95px 0;background:#0e332d;color:#fff}
.booking-benefits__heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}
.booking-benefits__heading h2{max-width:660px;color:#fff;font-size:clamp(2.4rem,4.5vw,3.8rem)}
.booking-benefits__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.14)}
.booking-benefits article{padding:30px 35px 4px 0;border-right:1px solid rgba(255,255,255,.14)}
.booking-benefits article+article{padding-left:35px}.booking-benefits article:last-child{border-right:0}
.booking-benefits article>span{color:#d59b63;font:600 1rem var(--serif)}
.booking-benefits h3{margin:17px 0 10px;color:#fff;font-size:1.55rem}
.booking-benefits p{color:rgba(255,255,255,.62);line-height:1.7}
.availability-contact{padding:80px 0;background:linear-gradient(105deg,#eee3d2,#faf7f1)}
.availability-contact__inner{display:flex;justify-content:space-between;gap:45px;align-items:center}
.availability-contact h2{font-size:clamp(2.3rem,4vw,3.5rem)}
.availability-contact p:not(.kicker){max-width:650px;color:#6d7773}
@media(max-width:980px){
  .availability-intro__inner{grid-template-columns:1fr;gap:22px}
  .availability-page .availability-layout{grid-template-columns:1fr}
  .availability-page .property-switcher{position:static;display:grid;grid-template-columns:1fr 1fr}
  .property-switcher__eyebrow,.availability-page .property-switcher h2,.property-reassurance{grid-column:1/-1}
}
@media(max-width:680px){
  .availability-hero{min-height:520px;padding:125px 0 48px}
  .availability-hero .wrap{width:min(100% - 28px,560px)}
  .availability-hero h1{font-size:clamp(3.25rem,15vw,4.6rem)}
  .availability-hero__trust span{padding:8px 9px;font-size:.54rem}
  .availability-intro{padding:52px 0 20px}
  .availability-page .availability-shell{padding:28px 0 75px}
  .availability-page .property-switcher{display:block}
  .availability-page .calendar-panel{padding:20px 13px}
  .calendar-guide{gap:10px;padding:11px}
  .availability-page .calendar-day{min-height:56px}
  .calendar-tip{align-items:flex-start}
  .booking-benefits{padding:70px 0}
  .booking-benefits__heading,.availability-contact__inner{display:block}
  .booking-benefits__grid{grid-template-columns:1fr}
  .booking-benefits article,.booking-benefits article+article{padding:23px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .availability-contact .button{margin-top:24px}
}
