/* Château La Châteline Public UX Pro — v4.10.0003 */
.public-v20-009{--ux-shadow:0 24px 70px rgba(19,45,36,.16);--ux-line:color-mix(in srgb,var(--ink) 12%,transparent);--ux-soft:color-mix(in srgb,var(--brand) 6%,var(--page-bg));}
.public-v20-009 .site-header{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.public-v20-009 .main-nav a{min-height:44px;display:inline-flex;align-items:center}
.public-v20-009 .nav-book{box-shadow:0 8px 24px color-mix(in srgb,var(--brand) 24%,transparent)}
.public-v20-009 .hero-premium .hero-inner{max-width:min(780px,88vw)}
.public-v20-009 .hero-premium h1{text-wrap:balance}
.public-v20-009 .hero-premium p{max-width:62ch}

.ux-trust-strip{position:relative;z-index:5;background:var(--card);border-bottom:1px solid var(--ux-line)}
.ux-trust-strip__inner{width:min(var(--content-width),calc(100% - 36px));margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.ux-trust-item{display:flex;align-items:center;gap:12px;min-width:0;padding:18px 20px;border-right:1px solid var(--ux-line)}
.ux-trust-item:last-child{border-right:0}
.ux-trust-icon{width:36px;height:36px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:var(--ux-soft);color:var(--brand);font-weight:800}
.ux-trust-item strong{display:block;font-size:.94rem;color:var(--ink)}
.ux-trust-item span{display:block;font-size:.78rem;color:color-mix(in srgb,var(--ink) 66%,transparent);margin-top:2px}

.ux-booking-dock{position:fixed;z-index:140;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(1120px,calc(100% - 32px));pointer-events:none}
.ux-booking-dock__bar{pointer-events:auto;background:color-mix(in srgb,var(--card) 96%,transparent);border:1px solid color-mix(in srgb,var(--brand) 14%,transparent);border-radius:22px;box-shadow:var(--ux-shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;align-items:center;gap:16px;padding:10px 12px 10px 18px}
.ux-booking-dock__copy{min-width:0;display:flex;align-items:center;gap:12px;flex:1}
.ux-booking-dock__copy i{width:38px;height:38px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;font-style:normal;font-weight:800}
.ux-booking-dock__copy strong{display:block;color:var(--ink);font-size:.95rem}.ux-booking-dock__copy small{display:block;color:color-mix(in srgb,var(--ink) 64%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52ch}
.ux-booking-dock__actions{display:flex;align-items:center;gap:8px}
.ux-booking-dock__actions .btn{min-height:44px;white-space:nowrap}
.ux-booking-dock__panel{pointer-events:auto;position:absolute;left:0;right:0;bottom:calc(100% + 10px);background:var(--card);border:1px solid var(--ux-line);border-radius:26px;box-shadow:var(--ux-shadow);padding:20px;max-height:min(72vh,680px);overflow:auto;overscroll-behavior:contain}
.ux-booking-dock__panel[hidden]{display:none}
.ux-booking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.ux-booking-head h2{font-size:clamp(1.35rem,2.6vw,2rem);margin:.15rem 0 .3rem;color:var(--ink)}
.ux-booking-head p{margin:0;color:color-mix(in srgb,var(--ink) 70%,transparent);max-width:62ch}
.ux-booking-close{width:44px;height:44px;border:1px solid var(--ux-line);border-radius:50%;background:var(--card);font-size:1.5rem;color:var(--ink);cursor:pointer;flex:0 0 auto}
.ux-booking-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;padding:14px;background:var(--ux-soft);border-radius:18px}
.ux-booking-form label{display:grid;gap:6px;color:var(--ink);font-size:.78rem;font-weight:750}.ux-booking-form input{width:100%;min-height:48px;border:1px solid var(--ux-line);border-radius:12px;background:var(--card);color:var(--ink);padding:0 12px;font:inherit;font-size:16px}.ux-booking-form .btn{min-height:48px}
.ux-booking-status{min-height:24px;padding:12px 2px 0;color:color-mix(in srgb,var(--ink) 72%,transparent);font-size:.9rem}.ux-booking-status.ok{color:#167247}.ux-booking-status.error{color:#a43737}
.ux-booking-results{display:grid;gap:10px;margin-top:6px}.ux-booking-result{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--ux-line);border-radius:16px;padding:10px;background:var(--card)}.ux-booking-result img{width:86px;height:68px;object-fit:cover;border-radius:12px}.ux-booking-result .media-fallback{width:86px;height:68px;border-radius:12px;background:var(--ux-soft)}.ux-booking-result small{display:block;color:color-mix(in srgb,var(--ink) 60%,transparent);text-transform:uppercase;letter-spacing:.08em;font-size:.66rem}.ux-booking-result strong{display:block;color:var(--ink);font-size:1rem;margin:2px 0}.ux-booking-result span{display:block;color:color-mix(in srgb,var(--ink) 70%,transparent);font-size:.82rem}.ux-booking-result .btn{min-height:42px}
.ux-mobile-contact{display:none}
body.ux-booking-open{overflow:hidden}

.public-v20-009 .stay-card,.public-v20-009 .review-card,.public-v20-009 .news-card{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
@media (hover:hover) and (pointer:fine){.public-v20-009 .stay-card:hover,.public-v20-009 .news-card:hover{transform:translateY(-5px);box-shadow:0 22px 56px rgba(20,50,41,.12)}}
.public-v20-009 .booking-panel{box-shadow:0 34px 90px rgba(9,36,28,.18)}
.public-v20-009 .form-row input,.public-v20-009 .form-row select,.public-v20-009 .booking-form input,.public-v20-009 .booking-form select,.public-v20-009 .booking-form textarea{min-height:48px}

@media(max-width:900px){
 .ux-trust-strip__inner{grid-template-columns:repeat(2,minmax(0,1fr))}.ux-trust-item:nth-child(2){border-right:0}.ux-trust-item:nth-child(-n+2){border-bottom:1px solid var(--ux-line)}
 .ux-booking-form{grid-template-columns:1fr 1fr}.ux-booking-form label:nth-child(3){grid-column:1}.ux-booking-form .btn{grid-column:2;grid-row:2}
 .ux-booking-dock__copy small{max-width:30ch}
}
@media(max-width:640px){
 body.public-v20-009{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
 .ux-trust-strip__inner{width:100%;grid-template-columns:1fr 1fr}.ux-trust-item{padding:13px 12px;gap:9px}.ux-trust-icon{width:32px;height:32px}.ux-trust-item strong{font-size:.82rem}.ux-trust-item span{font-size:.69rem}
 .ux-booking-dock{left:0;right:0;bottom:0;transform:none;width:100%}
 .ux-booking-dock__bar{border-radius:18px 18px 0 0;border-left:0;border-right:0;border-bottom:0;padding:9px 10px calc(9px + env(safe-area-inset-bottom));gap:8px;background:color-mix(in srgb,var(--card) 98%,transparent)}
 .ux-booking-dock__copy{display:none}.ux-booking-dock__actions{width:100%;display:grid;grid-template-columns:48px 1fr;gap:8px}.ux-desktop-contact{display:none!important}.ux-booking-dock__actions .btn{width:100%;justify-content:center}.ux-mobile-contact{display:inline-flex;width:48px!important;min-width:48px;padding:0;align-items:center;justify-content:center;border:1px solid var(--ux-line);border-radius:12px;color:var(--ink);background:var(--card);text-decoration:none;font-size:1.1rem}
 .ux-booking-dock__panel{position:fixed;left:8px;right:8px;bottom:calc(68px + env(safe-area-inset-bottom));max-height:calc(100% - 92px - env(safe-area-inset-bottom));border-radius:22px;padding:16px}
 .ux-booking-form{grid-template-columns:1fr;gap:9px}.ux-booking-form label:nth-child(3),.ux-booking-form .btn{grid-column:auto;grid-row:auto}.ux-booking-result{grid-template-columns:68px minmax(0,1fr)}.ux-booking-result img,.ux-booking-result .media-fallback{width:68px;height:58px}.ux-booking-result .btn{grid-column:1/-1;width:100%}
 .hotel-servicebar{display:none!important}
}
@media(prefers-reduced-motion:reduce){.public-v20-009 .stay-card,.public-v20-009 .news-card{transition:none!important}}
