/* HotelPilot — système UI public unifié */
.public-body{--public-ink:#0b1830;--public-muted:#667085;--public-line:#e4e9f1;--public-soft:#f5f7fb;--public-radius:22px;--public-shadow:0 22px 65px rgba(16,38,79,.12);background:#fff;color:var(--public-ink);overflow-x:hidden}
.public-body a{text-decoration:none}.public-body .container{width:min(100% - 32px,1320px);max-width:1320px}.public-body .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border-radius:12px;padding:.7rem 1.15rem;font-weight:750;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.public-body .btn:hover{transform:translateY(-2px)}.public-body .btn:focus-visible,.public-body a:focus-visible,.public-body button:focus-visible,.public-body input:focus-visible,.public-body select:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-accent,#f47b20) 45%,transparent);outline-offset:3px}.public-body .btn-accent{border-color:var(--brand-accent,#f47b20);background:var(--brand-accent,#f47b20);color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--brand-accent,#f47b20) 28%,transparent)}.public-body .btn-accent:hover,.public-body .btn-accent:focus{border-color:color-mix(in srgb,var(--brand-accent,#f47b20) 82%,#000);background:color-mix(in srgb,var(--brand-accent,#f47b20) 90%,#000);color:#fff}.public-body .btn-outline-primary{border-color:color-mix(in srgb,var(--brand-primary,#10264f) 30%,#fff);color:var(--brand-primary,#10264f)}.public-body .btn-outline-primary:hover{border-color:var(--brand-primary,#10264f);background:var(--brand-primary,#10264f);color:#fff}

/* Navigation */
.public-skip-link{position:fixed;z-index:4000;top:10px;left:10px;padding:10px 16px;border-radius:9px;background:#fff;color:#10264f;box-shadow:0 8px 25px #0003;transform:translateY(-160%)}.public-skip-link:focus{transform:none}.premium-nav{position:sticky;z-index:1100;top:0;padding:14px 0;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(228,233,241,.92);backdrop-filter:blur(16px);transition:padding .2s ease,box-shadow .2s ease}.premium-nav.is-scrolled{padding:9px 0;box-shadow:0 10px 30px rgba(16,38,79,.09)}.public-nav-inner{display:flex;align-items:center;gap:30px;min-height:58px}.premium-brand{display:flex;flex:0 1 auto;align-items:center;gap:11px;min-width:0;color:var(--brand-primary,#10264f);font-size:1.08rem;font-weight:850}.premium-brand img{display:block;width:auto;max-width:210px;height:54px;object-fit:contain}.premium-brand>span{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:var(--brand-accent,#f47b20);color:#fff;font-size:1.35rem}.premium-brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-nav-cluster{display:flex;align-items:center;gap:28px;margin-left:auto}.premium-links{display:flex;align-items:center;gap:28px}.premium-links a{position:relative;padding:13px 0;color:#344054;font-size:.94rem;font-weight:700}.premium-links a::after{content:"";position:absolute;right:50%;bottom:4px;left:50%;height:2px;border-radius:2px;background:var(--brand-accent,#f47b20);transition:left .2s,right .2s}.premium-links a:hover,.premium-links a.active{color:var(--brand-primary,#10264f)}.premium-links a:hover::after,.premium-links a.active::after{right:0;left:0}.public-nav-actions{display:flex;align-items:center;gap:9px}.public-nav-actions .admin-link{border:1px solid var(--public-line);background:#fff;color:#344054}.public-nav-actions .admin-link:hover{border-color:#bfc8d6;background:#f8fafc}.public-menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--public-line);border-radius:12px;background:#fff}.public-menu-toggle span{display:block;width:20px;height:2px;margin:4px auto;border-radius:2px;background:#10264f;transition:.2s}.public-menu-overlay{position:fixed;z-index:1050;inset:0;background:rgba(2,8,23,.52);backdrop-filter:blur(2px)}body.public-menu-open{overflow:hidden}

/* Hero d’accueil */
.premium-hero{position:relative;isolation:isolate;display:flex;min-height:620px;align-items:center;overflow:hidden;background:linear-gradient(118deg,#06162f,#0b2855 58%,#23385f);color:#fff}.premium-hero-background{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.premium-hero.has-custom-image::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(100deg,rgba(4,19,42,.96) 0%,rgba(7,28,58,.87) 47%,rgba(16,38,79,.38) 100%)}.premium-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(2,11,27,.28)),radial-gradient(circle at 82% 18%,rgba(244,123,32,.2),transparent 28%);pointer-events:none}.premium-hero-content{padding-top:75px;padding-bottom:80px}.premium-kicker,.eyebrow{display:block;color:var(--brand-accent,#f47b20);font-size:.77rem;font-weight:850;letter-spacing:.15em}.premium-hero h1{max-width:930px;margin:22px 0 0;font-size:clamp(3.5rem,5.6vw,6rem);font-weight:870;line-height:.96;letter-spacing:-.055em;text-wrap:balance}.premium-hero p{max-width:680px;margin:27px 0 0;color:#e0e8f4;font-size:clamp(1rem,1.3vw,1.16rem);line-height:1.7}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:32px}.hero-contact{display:flex;flex-direction:column;padding:5px 0;color:#fff;border-bottom:1px solid rgba(255,255,255,.42)}.hero-contact span{color:#bdcadc;font-size:.72rem}.hero-contact strong{font-size:.95rem}.hero-trust{display:flex;align-items:center;gap:11px;width:max-content;max-width:100%;margin-top:32px;padding:10px 14px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}.hero-trust>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:#16824b;font-weight:900}.hero-trust div{display:grid}.hero-trust strong{font-size:.84rem}.hero-trust small{color:#d8e2ef;font-size:.72rem}.hero-note{display:none!important}

/* Recherche de disponibilité */
.availability-wrap{position:relative;z-index:4;margin:0;padding:30px 0;background:#fff}.premium-booking-bar{display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) minmax(180px,.85fr) auto;gap:0;align-items:center;padding:11px;border:1px solid var(--public-line);border-radius:18px;background:#fff;box-shadow:var(--public-shadow)}.premium-booking-bar>div{min-width:0;padding:7px 20px;border-right:1px solid var(--public-line)}.premium-booking-bar label,.premium-booking-bar small{display:block;margin:0 0 3px;color:var(--public-muted);font-size:.7rem;font-weight:650}.premium-booking-bar input{width:100%;min-height:30px;padding:0;border:0;background:transparent;color:var(--public-ink);font-weight:800;outline:0}.booking-promise strong{display:block;color:var(--public-ink);font-size:.94rem}.premium-booking-bar .btn{min-height:58px;margin-left:10px;padding:14px 24px;white-space:nowrap}

/* Sections et chambres */
.premium-section{padding:88px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:38px}.section-heading h2,.experience-section h2,.review-section h2{max-width:760px;margin:.22em 0 0;color:var(--public-ink);font-size:clamp(2.2rem,4vw,3.8rem);font-weight:860;line-height:1.04;letter-spacing:-.045em;text-wrap:balance}.section-heading>p{max-width:480px;margin:0;color:var(--public-muted);line-height:1.7}.premium-room-card{display:flex;height:100%;flex-direction:column;overflow:hidden;border:1px solid var(--public-line);border-radius:var(--public-radius);background:#fff;box-shadow:0 14px 42px rgba(16,38,79,.09);transition:transform .25s ease,box-shadow .25s ease}.premium-room-card:hover{transform:translateY(-6px);box-shadow:0 24px 65px rgba(16,38,79,.16)}.premium-room-media{position:relative;display:block;height:265px;overflow:hidden;background:linear-gradient(135deg,#10264f,#244f91)}.premium-room-media::after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(transparent,rgba(3,15,36,.4));pointer-events:none}.premium-room-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.premium-room-card:hover .premium-room-media img{transform:scale(1.045)}.premium-room-media em{position:absolute;z-index:2;top:15px;right:15px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.94);color:#137245;font-size:.73rem;font-weight:800;font-style:normal;box-shadow:0 5px 18px #10264f1c}.premium-room-body{display:flex;flex:1;flex-direction:column;padding:24px}.premium-room-body>small{color:var(--brand-accent,#f47b20);font-size:.72rem;font-weight:850;letter-spacing:.12em}.premium-room-body h2,.premium-room-body h3{margin:7px 0 11px;color:var(--public-ink);font-size:1.5rem;font-weight:820}.premium-room-body p{height:auto;min-height:50px;margin-bottom:17px;color:var(--public-muted);line-height:1.55}.premium-room-meta{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto;padding:16px 0;border-top:1px solid var(--public-line)}.premium-room-meta span,.premium-room-meta strong small{color:var(--public-muted);font-size:.76rem}.premium-room-meta strong{color:var(--brand-primary,#10264f);text-align:right}.premium-room-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stay-total{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-3px 0 16px;padding:10px 12px;border-radius:10px;background:var(--public-soft);font-size:.8rem}.stay-total strong{color:var(--brand-primary,#10264f)}.premium-empty,.public-empty-state{padding:55px 25px;border:1px dashed #cdd5e1;border-radius:20px;background:var(--public-soft);color:var(--public-muted);text-align:center}

/* Expérience, avis et appel final */
.experience-section{padding:95px 0;background:linear-gradient(135deg,#06152d,#102d5d);color:#fff}.experience-section h2{color:#fff}.experience-section p{color:#c8d5e6;line-height:1.7}.experience-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.experience-list article{display:grid;grid-template-columns:46px 1fr;gap:18px;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.13)}.experience-list b{color:#ff9b50}.experience-list h3{margin:0 0 5px;font-size:1.08rem}.experience-list p{margin:0}.review-section{background:var(--public-soft)}.review-card{height:100%;margin:0;padding:28px;border:1px solid var(--public-line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(16,38,79,.06)}.review-stars{color:#f3a51c}.review-card p{margin:16px 0;font-size:1.02rem;line-height:1.7}.review-card footer{padding:0;background:none;color:var(--public-muted)}.premium-cta{padding:58px 0;background:linear-gradient(105deg,#fff1e6,#fff8f2)}.premium-cta .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.premium-cta span{color:#a94908;font-size:.73rem;font-weight:850;letter-spacing:.14em}.premium-cta h2{margin:.25em 0 0;color:var(--brand-primary,#10264f);font-size:clamp(1.8rem,3vw,2.8rem);font-weight:850}

/* Héros des pages internes */
.page-hero{position:relative;isolation:isolate;min-height:400px;display:flex;align-items:center;overflow:hidden;padding:78px 0;background:linear-gradient(135deg,#06162f,#123467);color:#fff}.page-hero-background{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.page-hero.has-custom-image::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(100deg,rgba(4,19,42,.96),rgba(10,36,73,.76) 58%,rgba(16,38,79,.42))}.page-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 85% 18%,rgba(244,123,32,.22),transparent 28%)}.page-hero h1{max-width:920px;margin:.25em 0 0;color:#fff;font-size:clamp(2.8rem,5vw,5rem);font-weight:860;line-height:1;letter-spacing:-.05em;text-wrap:balance}.page-hero p{max-width:720px;margin:18px 0 0;color:#dce5f1;font-size:1.08rem;line-height:1.7}.standalone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.standalone-card{position:relative;padding:29px;border:1px solid var(--public-line);border-radius:18px;background:#fff;box-shadow:0 12px 36px rgba(16,38,79,.07);transition:transform .2s,box-shadow .2s}.standalone-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(16,38,79,.12)}.standalone-card>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#fff0e5;color:#df5d05;font-weight:900}.standalone-card h2{margin:18px 0 9px;font-size:1.22rem;font-weight:800}.standalone-card p{margin:0;color:var(--public-muted);line-height:1.65}.standalone-cta{margin-top:45px;padding:42px;border-radius:22px;background:linear-gradient(135deg,#f3f6fb,#eef3fa);text-align:center}.standalone-cta h2{font-size:2rem;font-weight:850}.standalone-cta p{max-width:650px;margin:10px auto 20px;color:var(--public-muted)}.experience-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.experience-values article{padding:31px;border:1px solid var(--public-line);border-top:4px solid var(--brand-accent,#f47b20);border-radius:0 0 18px 18px;background:var(--public-soft)}.experience-values b{color:var(--brand-accent,#f47b20)}.experience-values h2{margin:14px 0 7px;font-size:1.35rem}.experience-values p{margin:0;color:var(--public-muted);line-height:1.65}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}.contact-panel,.contact-action{padding:clamp(27px,4vw,44px);border:1px solid var(--public-line);border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(16,38,79,.09)}.contact-panel small{display:block;margin-top:25px;color:var(--public-muted)}.contact-panel small:first-child{margin-top:0}.contact-panel>a{display:block;margin-top:5px;color:var(--brand-primary,#10264f);font-size:clamp(1.05rem,2vw,1.35rem);font-weight:820;overflow-wrap:anywhere}.contact-panel address{margin-top:7px;color:#475467;font-style:normal;line-height:1.7}.contact-action{background:linear-gradient(145deg,#071831,#123a78);color:#fff}.contact-action h2{margin-top:10px;color:#fff;font-size:clamp(1.8rem,3.2vw,2.5rem);font-weight:850}.contact-action p{color:#d7e1ef;line-height:1.7}.contact-action .btn{width:100%;margin-top:11px}

/* Résultats de disponibilité */
.availability-page{background:var(--public-soft)}.results-hero{padding:62px 0 35px;background:#fff}.results-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.results-heading h1{margin:.2em 0 0;font-size:clamp(2.4rem,4.5vw,4.4rem);font-weight:860;letter-spacing:-.045em}.results-heading p{margin:8px 0 0;color:var(--public-muted)}.results-count{padding:8px 13px;border-radius:999px;background:#edf7f1;color:#147245;font-size:.8rem;font-weight:800}.availability-refine{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-top:28px;padding:16px;border:1px solid var(--public-line);border-radius:17px;background:#fff;box-shadow:0 14px 40px rgba(16,38,79,.08)}.availability-refine label{display:block;margin-bottom:5px;color:var(--public-muted);font-size:.75rem;font-weight:700}.availability-refine input{width:100%;min-height:48px;padding:8px 12px;border:1px solid #dce2eb;border-radius:10px;background:#fff;color:var(--public-ink)}.availability-refine .btn{min-height:48px}.results-section{padding-top:45px}.public-empty-state{max-width:720px;margin:0 auto}.public-empty-state>span{display:grid;width:60px;height:60px;margin:0 auto 16px;place-items:center;border-radius:50%;background:#fff;color:var(--brand-primary,#10264f);font-size:2rem}.public-empty-state h2{color:var(--public-ink)}.public-empty-state p{margin-bottom:20px}.public-empty-state>div{display:flex;justify-content:center;gap:10px}

/* Fiche chambre */
.room-detail{padding:32px 0 85px;background:var(--public-soft)}.room-breadcrumb{margin-bottom:21px}.room-gallery{border-radius:20px;box-shadow:0 15px 45px rgba(16,38,79,.1)}.room-detail-layout{gap:46px;margin-top:38px}.room-copy h1{font-size:clamp(2.6rem,4.5vw,4.4rem)}.room-detail-features span{border-color:var(--public-line);border-radius:10px;box-shadow:0 5px 16px rgba(16,38,79,.04)}.room-booking-card{top:102px;padding:27px;border-radius:19px;box-shadow:0 20px 55px rgba(16,38,79,.13)}.room-booking-card .btn{min-height:56px}.room-direct-benefits span{border:1px solid #dcefe3}.room-mobile-cta{z-index:1090}

/* Checkout */
.booking-page,.payment-page{min-height:70vh;padding:52px 0 85px;background:radial-gradient(circle at 100% 0,rgba(244,123,32,.1),transparent 28%),var(--public-soft)}.checkout-breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:28px;color:var(--public-muted);font-size:.9rem}.checkout-breadcrumb a{color:var(--brand-primary,#10264f)}.checkout-heading{max-width:820px;margin-bottom:30px}.checkout-heading h1{margin:.18em 0 0;font-size:clamp(2.5rem,4.5vw,4.3rem);font-weight:860;letter-spacing:-.05em}.checkout-heading p{margin:10px 0 0;color:var(--public-muted);font-size:1.04rem}.booking-form-card,.booking-summary,.payment-shell{border:1px solid var(--public-line);border-radius:22px;background:#fff;box-shadow:0 18px 55px rgba(16,38,79,.1)}.booking-form-card{padding:clamp(20px,3vw,32px)}.checkout-section{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid var(--public-line)}.checkout-section-title{display:flex;align-items:flex-start;gap:13px;margin-bottom:19px}.checkout-section-title>span{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--brand-primary,#10264f);color:#fff;font-weight:850}.checkout-section-title h2{margin:1px 0 3px;font-size:1.17rem;font-weight:830}.checkout-section-title p{margin:0;color:var(--public-muted);font-size:.84rem}.booking-form-card .form-label{font-size:.85rem;font-weight:720}.booking-form-card .form-control{min-height:50px;border-color:#d8e0ea;border-radius:10px}.booking-form-card .form-control:focus{border-color:var(--brand-accent,#f47b20);box-shadow:0 0 0 3px rgba(244,123,32,.12)}.optional-label{color:var(--public-muted);font-size:.73rem;font-weight:500}.payment-choice{margin:0}.payment-option{border-radius:13px;padding:16px}.checkout-submit{min-height:58px}.checkout-privacy{margin:13px 0 0;color:var(--public-muted);font-size:.76rem;text-align:center}.booking-summary{position:sticky;top:105px;padding:30px}.booking-summary .summary-label{color:var(--brand-accent,#f47b20);font-size:.72rem;font-weight:850;letter-spacing:.13em}.booking-summary h2{margin:8px 0 3px;font-size:1.55rem;font-weight:850}.booking-summary>p{margin:0;color:var(--public-muted)}.summary-total{margin-top:24px;padding:20px;border-radius:15px;background:var(--brand-primary,#10264f);color:#fff}.summary-total small,.summary-total strong{display:block}.summary-total small{color:#cbd7e7}.summary-total strong{margin-top:5px;font-size:2rem}.summary-dates{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 0;border-bottom:1px solid var(--public-line);color:var(--public-muted);font-size:.85rem}.summary-dates strong{color:var(--public-ink)}.booking-summary ul{display:grid;gap:10px;margin:20px 0 0;padding:0;list-style:none}.booking-summary li{color:#475467;font-size:.88rem}.booking-summary li::before{content:"✓";margin-right:8px;color:#16824b;font-weight:900}

/* Paiement et confirmations */
.payment-shell{max-width:780px;margin:auto;padding:clamp(24px,5vw,50px)}.payment-heading{padding-bottom:25px;border-bottom:1px solid var(--public-line);text-align:center}.payment-heading h1{margin:13px 0 5px;font-size:clamp(2.6rem,5vw,4.4rem);font-weight:870;letter-spacing:-.045em}.payment-heading p{margin:0;color:var(--public-muted)}.payment-steps{margin:28px 0;padding:0;list-style:none}.payment-steps li{display:grid;grid-template-columns:40px 1fr;gap:15px;padding:22px 0;border-bottom:1px solid var(--public-line)}.payment-steps li>b{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:#fff0e6;color:#d95800}.payment-steps li>div>strong,.payment-steps li>div>span{display:block}.payment-steps li>div>span{margin:5px 0 13px;color:var(--public-muted);line-height:1.55}.proof-form{padding:19px;border:1px solid var(--public-line);background:var(--public-soft)}.upload-help{display:block;margin:-2px 0 10px!important;font-size:.76rem}.payment-security{display:flex;align-items:center;justify-content:center;padding:14px;text-align:center}.status-panel{display:flex;gap:14px;margin:28px 0;padding:18px;border-radius:14px}.status-panel>span{display:grid;flex:0 0 35px;width:35px;height:35px;place-items:center;border-radius:50%;font-size:1.3rem;font-weight:900}.status-panel h2{margin:0 0 5px;font-size:1.15rem}.status-panel p{margin:0;line-height:1.55}.status-panel-danger{background:#fff0f0;color:#842029}.status-panel-danger>span{background:#fff;color:#c72f3a}.public-status-page{min-height:70vh;display:grid;place-items:center;padding:70px 0 90px;background:radial-gradient(circle at 100% 0,rgba(244,123,32,.1),transparent 30%),var(--public-soft)}.public-status-card{max-width:780px;margin:auto;padding:clamp(27px,5vw,52px);border:1px solid var(--public-line);border-radius:24px;background:#fff;box-shadow:var(--public-shadow);text-align:center}.status-icon{display:grid;width:72px;height:72px;margin:0 auto 22px;place-items:center;border-radius:50%;background:#dcfce7;color:#15803d;font-size:2rem;font-weight:900}.status-icon-wait{background:#fff3d8;color:#a46400}.public-status-card h1{margin:.22em auto;font-size:clamp(2rem,4vw,3.5rem);font-weight:860;letter-spacing:-.04em;text-wrap:balance}.status-lead{color:var(--public-muted);font-size:1.05rem}.status-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:27px 0;padding:18px;border-radius:15px;background:var(--public-soft)}.status-summary div{padding:4px 12px;border-right:1px solid #dfe5ed}.status-summary div:last-child{border-right:0}.status-summary dt{color:var(--public-muted);font-size:.72rem}.status-summary dd{margin:5px 0 0;color:var(--public-ink);font-weight:800}.status-notice{display:grid;gap:4px;margin:24px 0;padding:16px;border-radius:13px;background:#fff8e8;color:#714b00}.status-notice span{font-size:.87rem;line-height:1.5}.status-notice-success{background:#edf9f2;color:#17613d}.status-actions{display:flex;justify-content:center;gap:10px}

/* Pied de page */
.premium-footer{padding:65px 0 0;background:#06152c;color:#cbd6e6}.footer-grid{display:grid;grid-template-columns:1.25fr .8fr 1fr;gap:70px}.premium-footer .premium-brand{display:flex;color:#fff}.premium-footer .premium-brand img{height:58px;max-width:210px;padding:5px;border-radius:8px;background:#fff;filter:none!important}.footer-brand-column p{max-width:380px;margin:18px 0 12px;line-height:1.65}.footer-brand-column address{max-width:390px;color:#8fa0b7;font-size:.86rem;font-style:normal;line-height:1.6}.premium-footer h2{margin:0 0 17px;color:#fff;font-size:.78rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.premium-footer a{display:block;width:max-content;max-width:100%;margin:8px 0;color:#e5ebf4}.premium-footer a:hover{color:#fff}.footer-booking>a:not(.btn){overflow-wrap:anywhere}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:48px;padding:20px 0;border-top:1px solid rgba(255,255,255,.11);color:#8293aa;font-size:.78rem}

/* WhatsApp */
.whatsapp-float{right:22px;bottom:22px;width:58px;height:58px;border:3px solid #fff;box-shadow:0 14px 38px rgba(7,24,49,.3)}.whatsapp-float svg{width:39px;height:39px}

@media(max-width:1199.98px){.premium-links{gap:20px}.public-nav-cluster{gap:20px}.premium-hero h1{max-width:820px}.experience-grid{gap:55px}.premium-booking-bar>div{padding-inline:15px}}
@media(max-width:991.98px){.public-nav-inner{min-height:52px}.premium-brand img{height:48px;max-width:180px}.public-menu-toggle{display:block;margin-left:auto}.public-nav-cluster{position:absolute;z-index:1110;top:calc(100% + 8px);right:16px;left:16px;display:none;max-height:calc(100dvh - 95px);overflow-y:auto;margin:0;padding:14px;border:1px solid var(--public-line);border-radius:17px;background:#fff;box-shadow:0 24px 70px rgba(2,8,23,.25)}.premium-nav.menu-open .public-nav-cluster{display:block}.premium-nav.menu-open .public-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.premium-nav.menu-open .public-menu-toggle span:nth-child(2){opacity:0}.premium-nav.menu-open .public-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.premium-links{display:grid;gap:2px}.premium-links a{padding:13px 12px;border-radius:9px}.premium-links a::after{display:none}.premium-links a:hover,.premium-links a.active{background:var(--public-soft)}.public-nav-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px;padding-top:12px;border-top:1px solid var(--public-line)}.public-nav-actions .btn{width:100%}.premium-hero{min-height:560px}.premium-hero-content{padding-block:65px}.premium-hero h1{max-width:760px;font-size:clamp(3.2rem,8vw,5rem)}.premium-booking-bar{grid-template-columns:1fr 1fr}.premium-booking-bar .booking-promise{border-right:0}.premium-booking-bar .btn{margin:8px 0 0;min-height:52px}.section-heading{display:block}.section-heading>p{margin-top:16px}.experience-grid{grid-template-columns:1fr;gap:38px}.standalone-grid{grid-template-columns:repeat(2,1fr)}.experience-values{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr}.booking-summary{position:static}.footer-grid{grid-template-columns:1.2fr 1fr;gap:45px}.footer-booking{grid-column:1/-1}.room-detail-layout{gap:30px}.results-hero{padding-top:45px}}
@media(max-width:767.98px){.public-body .container{width:min(100% - 24px,1320px)}.premium-hero{min-height:auto}.premium-hero-content{padding-block:58px}.premium-hero h1{font-size:clamp(2.8rem,12vw,4.2rem);line-height:.98}.premium-hero p{line-height:1.6}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.hero-actions .btn{width:100%}.hero-contact{width:100%}.hero-trust{margin-top:24px}.availability-wrap{padding:20px 0}.premium-booking-bar{grid-template-columns:1fr}.premium-booking-bar>div{padding:10px 12px;border-right:0;border-bottom:1px solid var(--public-line)}.premium-booking-bar .booking-promise{border-bottom:0}.premium-booking-bar .btn{width:100%;margin:6px 0 0}.premium-section{padding:65px 0}.section-heading h2,.experience-section h2,.review-section h2{font-size:clamp(2.1rem,9vw,3rem)}.premium-room-media{height:245px}.experience-section{padding:68px 0}.premium-cta .container{align-items:flex-start;flex-direction:column}.premium-cta .btn{width:100%}.page-hero{min-height:330px;padding:58px 0}.page-hero h1{font-size:clamp(2.5rem,11vw,3.6rem)}.standalone-grid{grid-template-columns:1fr}.standalone-cta{padding:30px 20px}.availability-refine{grid-template-columns:1fr}.results-heading{align-items:flex-start;flex-direction:column}.results-count{order:-1}.booking-page,.payment-page{padding:35px 0 65px}.checkout-heading h1{font-size:clamp(2.35rem,10vw,3.3rem)}.summary-total strong{font-size:1.8rem}.status-summary{grid-template-columns:1fr}.status-summary div{padding:10px;border-right:0;border-bottom:1px solid #dfe5ed}.status-summary div:last-child{border-bottom:0}.status-actions{flex-direction:column}.status-actions .btn{width:100%}.payment-steps li{grid-template-columns:34px 1fr;gap:11px}.payment-steps li>b{width:32px;height:32px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-booking{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column;margin-top:35px}.whatsapp-float{right:14px;bottom:14px;width:56px;height:56px}.room-detail-page .whatsapp-float{bottom:92px}.public-empty-state>div{flex-direction:column}.public-empty-state .btn{width:100%}}
@media(max-width:575.98px){.premium-nav{padding:8px 0}.premium-brand img{height:44px;max-width:155px}.premium-brand>span{flex-basis:40px;width:40px;height:40px}.public-menu-toggle{width:43px;height:43px}.public-nav-actions{grid-template-columns:1fr}.premium-hero-content{padding-top:50px;padding-bottom:54px}.premium-hero h1{font-size:clamp(2.65rem,13vw,3.55rem)}.premium-kicker{font-size:.7rem}.hero-trust{width:100%}.premium-room-actions{grid-template-columns:1fr}.contact-panel,.contact-action{padding:25px 21px}.room-copy h1{font-size:2.45rem}.room-mobile-cta{padding-inline:12px}.booking-form-card{padding:20px 16px}.checkout-section-title>span{flex-basis:31px;width:31px;height:31px}.payment-shell{padding:24px 17px}.payment-heading h1{font-size:2.7rem}.wave-button{font-size:.94rem}.public-status-page{padding:38px 0 60px}.public-status-card{padding:28px 18px}.footer-bottom{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.public-body *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.premium-room-card:hover,.public-body .btn:hover,.whatsapp-float:hover{transform:none}}

/* Compatibilité avec les règles historiques chargées avant cette feuille. */
.premium-footer>.footer-grid{display:grid;grid-template-columns:1.25fr .8fr 1fr;gap:70px}
@media(max-width:991.98px){.premium-nav .public-nav-actions .btn,.room-detail-page .premium-nav .public-nav-actions .admin-link,.room-detail-page .premium-nav .public-nav-actions .reserve-link{display:inline-flex!important;width:100%}.premium-footer>.footer-grid{grid-template-columns:1.2fr 1fr;gap:45px}}
@media(max-width:767.98px){.premium-footer>.footer-grid{grid-template-columns:1fr;gap:32px}}
.rooms-section-footer{display:flex;justify-content:center;margin-top:38px}.rooms-section-footer .btn{min-width:min(100%,260px)}

/* Disponibilités visibles et suivi public */
.room-period-note{display:grid;gap:2px;margin:0 0 15px;padding:10px 12px;border:1px solid #fee0bd;border-radius:11px;background:#fff8ed;color:#82430c}.room-period-note span{font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.room-period-note strong{font-size:.82rem}.room-period-note.is-clear{border-color:#d4ecdf;background:#f0faf4;color:#17613d}.room-unavailability{margin:17px 0;padding:15px;border:1px solid var(--public-line);border-radius:13px;background:var(--public-soft)}.room-unavailability h3{margin:0 0 10px;font-size:.9rem;font-weight:800}.room-unavailability ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.room-unavailability li{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding:7px 9px;border-radius:8px;background:#fff;color:#344054;font-size:.8rem;text-align:center}.room-unavailability>small{display:block;margin-top:9px;color:var(--public-muted);font-size:.7rem;line-height:1.4}.room-calendar-clear{margin:0!important;color:#17613d!important;font-size:.8rem}.room-date-summary.is-conflict{display:block;padding:9px 10px;border-radius:8px;background:#fff0f0;color:#a32832;font-weight:700}.room-booking-card button:disabled,.checkout-submit:disabled{cursor:not-allowed;filter:grayscale(.25);opacity:.55;transform:none!important}.checkout-availability-message{padding:11px 13px;border-radius:10px;background:#edf9f2;color:#17613d;font-size:.86rem;font-weight:700}.checkout-availability-message.is-conflict{background:#fff0f0;color:#9b2932}.checkout-unavailable-periods{margin-top:10px;padding:9px 12px;border:1px solid var(--public-line);border-radius:10px}.checkout-unavailable-periods summary{cursor:pointer;color:#344054;font-size:.82rem;font-weight:750}.checkout-unavailable-periods ul{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none}.checkout-unavailable-periods li{padding:6px 8px;border-radius:7px;background:var(--public-soft);font-size:.75rem}.tracking-save-note{display:block;margin-top:18px;color:var(--public-muted);line-height:1.5}
.booking-conflict-page{background:var(--public-soft)}.conflict-hero{padding:75px 0;background:radial-gradient(circle at 85% 15%,rgba(244,123,32,.16),transparent 30%),#fff;text-align:center}.conflict-icon{display:grid;width:70px;height:70px;margin:0 auto 20px;place-items:center;border-radius:50%;background:#fff0e6;color:#d95800;font-size:2rem;font-weight:900}.conflict-hero h1{max-width:900px;margin:.25em auto;color:var(--public-ink);font-size:clamp(2.5rem,5vw,4.8rem);font-weight:870;line-height:1;letter-spacing:-.05em}.conflict-hero p{max-width:760px;margin:22px auto;color:var(--public-muted);font-size:1.05rem;line-height:1.7}.conflict-actions{display:flex;justify-content:center;gap:10px;margin-top:27px}.conflict-alternatives{background:var(--public-soft)}.conflict-calendar{padding:0 0 85px;background:var(--public-soft)}.conflict-calendar .container{display:grid;grid-template-columns:1fr 1.2fr;gap:45px;padding:32px;border:1px solid var(--public-line);border-radius:20px;background:#fff}.conflict-calendar h2{font-size:1.6rem;font-weight:830}.conflict-calendar p{color:var(--public-muted);line-height:1.6}.conflict-calendar ul{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0;padding:0;list-style:none}.conflict-calendar li{display:grid;gap:2px;padding:12px;border-radius:11px;background:#fff7ec}.conflict-calendar li span{color:#a8540d;font-size:.67rem;font-weight:750;text-transform:uppercase}.conflict-calendar li strong{font-size:.85rem}
.reservation-lookup-page,.reservation-status-page{min-height:72vh;padding:70px 0 90px;background:radial-gradient(circle at 100% 0,rgba(244,123,32,.12),transparent 32%),var(--public-soft)}.reservation-lookup-card{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;max-width:1050px;margin:auto;padding:clamp(25px,5vw,55px);border:1px solid var(--public-line);border-radius:25px;background:#fff;box-shadow:var(--public-shadow)}.lookup-copy h1{margin:.3em 0;font-size:clamp(2.5rem,5vw,4.2rem);font-weight:870;line-height:1;letter-spacing:-.05em}.lookup-copy p{color:var(--public-muted);line-height:1.7}.lookup-copy ul{display:grid;gap:10px;margin:25px 0 0;padding:0;list-style:none}.lookup-copy li::before{content:'✓';margin-right:9px;color:#16824b;font-weight:900}.lookup-form{align-self:center;padding:26px;border-radius:18px;background:var(--public-soft)}.lookup-form .form-control{min-height:52px;margin-bottom:17px}.lookup-form small{display:block;margin-top:13px;color:var(--public-muted);font-size:.72rem;line-height:1.5;text-align:center}.reservation-status-card{max-width:980px;margin:auto;padding:clamp(24px,5vw,50px);border:1px solid var(--public-line);border-radius:25px;background:#fff;box-shadow:var(--public-shadow)}.reservation-status-card>header{display:flex;align-items:center;gap:20px}.reservation-status-card h1{margin:.2em 0 0;font-size:clamp(2.3rem,5vw,4rem);font-weight:870;letter-spacing:-.045em}.reservation-status-card header p{margin:7px 0 0;color:var(--public-muted)}.reservation-status-icon{display:grid;flex:0 0 72px;width:72px;height:72px;place-items:center;border-radius:50%;background:#fff3d8;color:#9a5c00;font-size:2rem;font-weight:900}.status-visual-confirmee,.status-visual-checkin,.status-visual-checkout{background:#dcfce7;color:#15803d}.status-visual-annulee,.status-visual-noshow{background:#fee2e2;color:#b4232f}.reservation-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:35px 0 28px}.reservation-progress span{padding:14px 8px;border-radius:8px;background:#eef1f5;color:#7a8798;font-size:.74rem;font-weight:750;text-align:center}.reservation-progress span.is-done{background:#e6f7ed;color:#17613d}.reservation-progress[data-status="annulee"] span,.reservation-progress[data-status="noshow"] span{background:#f4f5f7;color:#8a94a3}.reservation-progress[data-status="annulee"] span:first-child,.reservation-progress[data-status="noshow"] span:first-child{background:#feeaea;color:#9b2932}.status-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:18px;border:1px solid var(--public-line);border-radius:15px}.status-detail-grid div{padding:4px 14px;border-right:1px solid var(--public-line)}.status-detail-grid div:last-child{border:0}.status-detail-grid dt{color:var(--public-muted);font-size:.7rem}.status-detail-grid dd{margin:5px 0 0;font-weight:800}.status-explanation{display:grid;gap:4px;margin:25px 0;padding:17px;border-radius:13px}.status-explanation span{font-size:.85rem}.status-explanation.is-pending{background:#fff8e8;color:#714b00}.status-explanation.is-success{background:#edf9f2;color:#17613d}.status-explanation.is-cancelled{background:#fff0f0;color:#842029}.status-updated{margin:22px 0 0;color:var(--public-muted);font-size:.72rem;text-align:center}
@media(max-width:767.98px){.conflict-actions{flex-direction:column}.conflict-actions .btn{width:100%}.conflict-calendar .container,.reservation-lookup-card{grid-template-columns:1fr}.conflict-calendar ul{grid-template-columns:1fr}.reservation-status-card>header{align-items:flex-start;flex-direction:column}.reservation-progress{grid-template-columns:1fr 1fr}.status-detail-grid{grid-template-columns:1fr 1fr}.status-detail-grid div{padding:12px;border-right:0;border-bottom:1px solid var(--public-line)}.status-detail-grid div:nth-last-child(-n+2){border-bottom:0}.reservation-lookup-page,.reservation-status-page{padding:35px 0 60px}}
@media(max-width:480px){.status-detail-grid{grid-template-columns:1fr}.status-detail-grid div,.status-detail-grid div:nth-last-child(-n+2){border-bottom:1px solid var(--public-line)}.status-detail-grid div:last-child{border-bottom:0}.reservation-progress{grid-template-columns:1fr}.conflict-calendar .container{padding:22px 17px}.lookup-form{padding:20px 16px}}

/* HotelPilot — expérience publique premium v3 */
.public-body{
 --public-ink:#08162d;
 --public-muted:#657286;
 --public-soft:#f5f7fa;
 --public-gold:#d9a45a;
 --public-shadow:0 24px 70px rgba(6,22,47,.13);
 text-rendering:optimizeLegibility;
}
.public-nav-meta{overflow:hidden;border-bottom:1px solid rgba(228,233,241,.75);background:color-mix(in srgb,var(--brand-primary,#10264f) 96%,#000);color:#dce5f1;transition:max-height .25s ease,opacity .2s ease}
.public-nav-meta>.container{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:24px;font-size:.7rem;font-weight:620;letter-spacing:.015em}
.public-nav-meta>.container>span,.public-nav-meta>.container>div,.public-nav-meta a{display:flex;align-items:center;gap:9px}
.public-nav-meta>.container>div{gap:24px}.public-nav-meta a{color:#eef4fb}.public-nav-meta b{color:var(--brand-accent,#f47b20);font-size:.88rem}
.premium-nav.is-scrolled .public-nav-meta{max-height:0;border-color:transparent;opacity:0}
.premium-nav{padding:0;background:rgba(255,255,255,.96)}.premium-nav.is-scrolled{padding:0}.public-nav-inner{min-height:78px}.premium-brand img{height:50px}.premium-links{gap:25px}.premium-links a{font-size:.89rem}.public-nav-actions .admin-link{min-height:42px;padding-inline:.85rem;font-size:.8rem}.public-nav-actions .reserve-link{min-height:46px;padding-inline:1.2rem}

.luxury-hero{min-height:720px}.luxury-hero::after{background:linear-gradient(180deg,rgba(2,11,27,.03) 45%,rgba(2,11,27,.48)),radial-gradient(circle at 76% 14%,rgba(244,123,32,.2),transparent 29%)}
.luxury-hero.has-custom-image::before{background:linear-gradient(94deg,rgba(3,14,33,.97) 0%,rgba(5,24,51,.91) 44%,rgba(7,27,57,.52) 72%,rgba(4,16,35,.42) 100%)}
.luxury-hero-noise{position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(115deg,transparent 0 68%,rgba(255,255,255,.08) 68% 68.15%,transparent 68.15%),radial-gradient(circle at 85% 76%,transparent 0 16%,rgba(255,255,255,.12) 16.1% 16.25%,transparent 16.35% 100%)}
.luxury-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.48fr);gap:clamp(45px,8vw,120px);align-items:end}
.luxury-hero-copy{max-width:900px}.luxury-hero .premium-kicker{display:flex;align-items:center;gap:13px}.luxury-hero .premium-kicker::before{content:"";width:42px;height:1px;background:currentColor}.luxury-hero h1{max-width:860px;font-size:clamp(3.6rem,6.15vw,6.8rem)}.luxury-hero p{max-width:650px}
.hero-assurances{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:34px}.hero-assurances>span{display:flex;align-items:center;gap:8px;color:#e4ebf5}.hero-assurances b{display:grid;width:23px;height:23px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#9be7b9;font-size:.68rem}.hero-assurances small{font-size:.76rem;font-weight:650}
.hero-property-card{align-self:end;margin-bottom:5px;padding:26px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(8,25,51,.6);box-shadow:0 24px 70px rgba(0,0,0,.2);backdrop-filter:blur(16px)}
.property-card-kicker{display:block;margin-bottom:12px;color:#ffad70;font-size:.68rem;font-weight:820;letter-spacing:.12em;text-transform:uppercase}.hero-property-card>strong{display:block;color:#fff;font-size:1.28rem}.hero-property-card>p{margin:7px 0 21px;color:#cbd7e7;font-size:.83rem;line-height:1.55}.property-card-line{display:grid;grid-template-columns:25px 1fr;gap:9px;padding:16px 0;border-block:1px solid rgba(255,255,255,.13)}.property-card-line>span{color:#ffad70}.property-card-line address{margin:0;color:#fff;font-size:.8rem;font-style:normal;line-height:1.55}.hero-property-card>a{display:flex;align-items:center;justify-content:space-between;margin-top:17px;color:#fff;font-size:.79rem;font-weight:780}

.luxury-availability{z-index:8;margin-top:-48px;padding:0 0 28px;background:transparent}.luxury-availability .premium-booking-bar{padding:12px;border:0;border-radius:20px;box-shadow:0 27px 80px rgba(5,22,48,.18)}.booking-field{display:grid!important;grid-template-columns:36px 1fr;gap:11px;align-items:center}.booking-field>div{min-width:0}.booking-field-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--brand-primary,#10264f) 7%,#fff);color:var(--brand-primary,#10264f);font-weight:850}.booking-promise>span{display:block;margin-top:2px;color:#8a94a4;font-size:.64rem}.luxury-availability .premium-booking-bar .btn{border-radius:13px}
.direct-value-strip{padding:25px 0 12px;background:#fff}.direct-value-strip>.container{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--public-line)}.direct-value-strip article{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center;padding:24px 28px;border-right:1px solid var(--public-line)}.direct-value-strip article:last-child{border-right:0}.direct-value-strip article>span{color:var(--brand-accent,#f47b20);font-size:.69rem;font-weight:850;letter-spacing:.1em}.direct-value-strip article div{display:grid;gap:4px}.direct-value-strip strong{font-size:.9rem}.direct-value-strip small{color:var(--public-muted);font-size:.72rem;line-height:1.45}

.luxury-rooms-section{padding-top:82px;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}.luxury-room-card{border-radius:20px;box-shadow:0 12px 35px rgba(6,22,47,.08)}.luxury-room-card .premium-room-media{height:290px}.room-media-arrow{position:absolute;z-index:2;right:17px;bottom:17px;display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(8,24,48,.5);color:#fff;font-size:1.05rem;backdrop-filter:blur(8px);transition:transform .25s ease,background .25s ease}.luxury-room-card:hover .room-media-arrow{transform:rotate(8deg);background:var(--brand-accent,#f47b20)}
.room-card-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.room-card-heading>div>small{color:var(--brand-accent,#f47b20);font-size:.7rem;font-weight:850;letter-spacing:.12em}.room-card-heading h3{margin-top:6px}.room-card-heading>strong{white-space:nowrap;color:var(--brand-primary,#10264f);font-size:1.02rem;text-align:right}.room-card-heading>strong small{display:block;margin-top:2px;color:var(--public-muted);font-size:.63rem;font-weight:620}.room-capacity{display:flex;align-items:center;gap:7px;margin:-3px 0 15px;color:#526074;font-size:.76rem}.room-capacity>span{color:var(--brand-accent,#f47b20)}.luxury-room-card .premium-room-actions{margin-top:auto}

.luxury-experience{position:relative;overflow:hidden;background:linear-gradient(128deg,#041226,#0c2b59 62%,#143c75)}.luxury-experience::after{content:"";position:absolute;right:-190px;bottom:-300px;width:620px;height:620px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}.luxury-experience .container{position:relative;z-index:1}.experience-intro{align-self:center}.experience-intro .btn{margin-top:18px}.luxury-experience .experience-list article{transition:padding-left .22s ease,background .22s ease}.luxury-experience .experience-list article:hover{padding-left:14px;background:linear-gradient(90deg,rgba(255,255,255,.045),transparent)}
.review-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:22px}.review-score{display:flex;align-items:center;gap:14px;padding:13px 17px;border:1px solid var(--public-line);border-radius:14px;background:#fff}.review-score>strong{font-size:1.9rem;line-height:1}.review-score>span{display:grid}.review-score b{color:#f3a51c;font-size:.75rem;letter-spacing:.06em}.review-score small{color:var(--public-muted);font-size:.66rem}.luxury-reviews .review-card{position:relative;overflow:hidden;padding-top:35px}.quote-mark{position:absolute;top:-25px;right:17px;color:color-mix(in srgb,var(--brand-primary,#10264f) 7%,transparent);font-family:Georgia,serif;font-size:8rem;line-height:1}.luxury-cta{padding:68px 0;background:linear-gradient(110deg,#fff0e4,#fff9f4 56%,#fff)}.luxury-cta p{margin:9px 0 0;color:#8c552d;font-size:.86rem}

.luxury-footer{padding-top:0}.footer-reassurance{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:0!important;padding-block:22px!important;border-bottom:1px solid rgba(255,255,255,.1)}.footer-reassurance>span{display:flex;align-items:center;justify-content:center;gap:9px;padding:6px 18px;border-right:1px solid rgba(255,255,255,.1)}.footer-reassurance>span:last-child{border-right:0}.footer-reassurance b{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:rgba(255,255,255,.09);color:#8fe5b4;font-size:.67rem}.footer-reassurance small{color:#e7edf6;font-size:.76rem;font-weight:680}.luxury-footer>.footer-grid{padding-top:64px}.luxury-footer .footer-booking>p{max-width:330px;margin:0 0 14px;color:#9fb0c7;font-size:.82rem;line-height:1.55}.luxury-footer .footer-bottom{display:flex;grid-template-columns:none!important;padding-top:24px!important;padding-bottom:24px!important;border-top:1px solid rgba(255,255,255,.1);color:#8fa0b8;font-size:.7rem}.luxury-footer .footer-bottom span:last-child{margin-left:auto}

.mobile-booking-dock{display:none}.js-reveal-ready .reveal-on-scroll{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.js-reveal-ready .reveal-on-scroll.is-visible{opacity:1;transform:none}

@media(max-width:1199.98px){.luxury-hero-grid{grid-template-columns:minmax(0,1fr) 300px;gap:45px}.premium-links{gap:18px}.premium-links a{font-size:.84rem}.public-nav-actions .admin-link{display:none}.direct-value-strip article{padding-inline:18px}}
@media(max-width:991.98px){.public-nav-meta{display:none}.public-nav-inner{min-height:70px}.luxury-hero{min-height:690px}.luxury-hero-grid{grid-template-columns:1fr}.hero-property-card{display:none}.luxury-hero-copy{max-width:760px}.luxury-availability{margin-top:-35px}.direct-value-strip>.container{grid-template-columns:1fr 1fr}.direct-value-strip article:nth-child(2){border-right:0}.direct-value-strip article:last-child{grid-column:1/-1;border-top:1px solid var(--public-line)}.review-heading{align-items:flex-start;flex-direction:column}.footer-reassurance{grid-template-columns:1fr!important}.footer-reassurance>span{justify-content:flex-start;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.footer-reassurance>span:last-child{border-bottom:0}}
@media(max-width:767.98px){.luxury-hero{min-height:650px}.luxury-hero .premium-hero-content{padding-top:62px;padding-bottom:92px}.luxury-hero h1{font-size:clamp(3.1rem,13vw,4.55rem)}.hero-assurances{gap:10px 16px}.luxury-availability{margin-top:-26px}.luxury-availability .premium-booking-bar{grid-template-columns:1fr}.luxury-availability .premium-booking-bar>div{border-right:0;border-bottom:1px solid var(--public-line)}.luxury-availability .premium-booking-bar>div.booking-promise{display:none}.luxury-availability .premium-booking-bar .btn{width:100%;margin:4px 0 0}.direct-value-strip>.container{grid-template-columns:1fr}.direct-value-strip article,.direct-value-strip article:nth-child(2),.direct-value-strip article:last-child{grid-column:auto;border-right:0;border-bottom:1px solid var(--public-line);border-top:0}.direct-value-strip article:last-child{border-bottom:0}.luxury-room-card .premium-room-media{height:260px}.room-card-heading{gap:9px}.experience-grid{gap:45px}.luxury-cta .container{align-items:flex-start;flex-direction:column}.luxury-footer .footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.luxury-footer .footer-bottom span:last-child{margin-left:0}.mobile-booking-dock{position:fixed;z-index:1075;right:12px;bottom:max(10px,env(safe-area-inset-bottom));left:12px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 13px 11px 17px;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(7,24,50,.96);color:#fff!important;box-shadow:0 18px 45px rgba(3,13,31,.34);backdrop-filter:blur(14px)}.mobile-booking-dock>span{display:grid}.mobile-booking-dock small{color:#b8c7db;font-size:.63rem}.mobile-booking-dock strong{font-size:.84rem}.mobile-booking-dock>b{display:grid;width:39px;height:39px;place-items:center;border-radius:11px;background:var(--brand-accent,#f47b20);font-size:1.15rem}.public-body:has(.mobile-booking-dock) .whatsapp-float{bottom:88px}.luxury-footer{padding-bottom:78px}}
@media(max-width:575.98px){.hero-assurances>span:last-child{display:none}.luxury-hero h1{font-size:clamp(2.85rem,13vw,3.85rem)}.luxury-hero p{font-size:.96rem}.luxury-rooms-section{padding-top:62px}.direct-value-strip article{padding:18px 8px}.room-card-heading{align-items:flex-start;flex-direction:column}.room-card-heading>strong{text-align:left}.room-card-heading>strong small{display:inline;margin-left:3px}.review-score{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.js-reveal-ready .reveal-on-scroll{opacity:1;transform:none;transition:none}}
.mobile-booking-dock~.whatsapp-float{bottom:88px}
