/* ESTOF hotel identity: plum, coral, ivory. Scoped to hotel interfaces only. */
:is(.estof-he,.ehg,.esh-search,.estof-booking-panel,.ph-search,.ph-filterbar){--stay-plum:#633b69;--stay-deep:#35213e;--stay-coral:#b94045;--stay-cream:#fff9f1;--stay-line:#e6dbe4;--stay-ink:#302638;--he-blue:#633b69;--he-border:#e6dbe4;color:var(--stay-ink)}
html body :is(.ph-hero,.ehg-hero){background:radial-gradient(ellipse at 90% 10%,#b9404555,transparent 55%),linear-gradient(125deg,#35213e,#633b69 65%,#904755)!important;color:#fff!important}
html body :is(.ph-hero h1,.ehg-hero h1){letter-spacing:-.045em;line-height:1.08;font-weight:850}
html body :is(.ph-hero p,.ehg-hero p){color:#fff1f1!important;line-height:1.7}
html body .ph-search form{background:#fff9f1!important;border:1px solid #e6dbe4;border-radius:24px!important;padding:10px!important;gap:6px;box-shadow:0 18px 50px #35213e1a!important}
html body .ph-search .ph-field{background:#f8f0f5!important;border:0!important;border-radius:16px!important;padding:14px 16px!important}
html body :is(.ph-search label,.ph-filters label,.ehg-form label){color:#633b69!important;font-size:12px;font-weight:800;letter-spacing:.045em}
html body :is(.ph-search button,.ph-btn,.he-start,.he-map-toggle,.he-link,.ehg-btn,.ehg-rates,.ehg-map-toggle){background:#633b69!important;color:#fff!important;border:0!important;border-radius:14px!important;font-weight:800;text-decoration:none!important;box-shadow:0 6px 16px #633b691a;min-height:46px;transition:background .16s,transform .16s}
html body :is(.ph-search button,.ph-btn,.he-start,.he-map-toggle,.he-link,.ehg-btn):hover{background:#4a2851!important;transform:translateY(-1px)}
html body :is(.ph-search button,.ehg-form>.ehg-btn){background:#b94045!important}
html body :is(.ph-filterbar,.he-toolbar,.ehg-filters){background:#fff9f1!important;border:1px solid #e6dbe4!important;border-radius:20px!important;box-shadow:0 8px 24px #35213e08}
html body :is(.ph-card,.he-card,.ehg-card){border:1px solid #e6dbe4!important;border-radius:24px!important;background:#fffdfb!important;box-shadow:0 8px 28px #35213e0a;overflow:hidden}
html body :is(.he-card h3 a,.ph-card h3,.ph-card h3 a,.ehg-card h3 a){color:#35213e!important;text-decoration:none;font-weight:850}
html body :is(.ph-stars,.ehg-stars){display:inline-flex!important;align-items:center;gap:6px;width:auto!important;max-width:100%;background:#fff0cd!important;color:#684500!important;border:1px solid #e7c571!important;border-radius:999px!important;padding:6px 11px!important;font-size:13px!important;font-weight:850!important;line-height:1.2!important;letter-spacing:.02em;margin:0 0 8px!important}
html body .he-card .he-number,html body .he-popup .he-number{display:inline-flex!important;width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;flex:0 0 32px!important;border-radius:10px!important;background:#633b69!important;color:#fff!important;align-items:center;justify-content:center;padding:0!important;margin:0 8px 8px 0!important;vertical-align:middle}
html body :is(.he-locate,.ehg-reset-filters){background:#fff!important;border:1px solid #633b69!important;color:#633b69!important;border-radius:12px!important;font-weight:750}
html body :is(.ph-chip,.ph-region-list a,.ph-quicknav a){border-color:#e6dbe4!important;color:#633b69!important;background:#fff9f1!important}
html body .ehg-form{background:#fff9f1!important;border:1px solid #e6dbe4!important;border-radius:22px!important;padding:20px!important;gap:14px!important;box-shadow:0 14px 40px #35213e0c}
html body :is(.ehg-form input,.ehg-form select,.he-toolbar input,.he-toolbar select,.ph-filters input,.ph-filters select){background:#fff!important;border:1px solid #d9cad8!important;border-radius:12px!important;min-height:46px;color:#302638!important}
html body :is(.ph-search,.ehg-form,.he-toolbar,.esh-search) :is(input,select,button,a):focus-visible{outline:3px solid #b94045!important;outline-offset:3px}
html body .esh-search .esh-shell{border:1px solid #e6dbe4!important;border-radius:24px!important;background:#fffdfb!important;box-shadow:0 12px 36px #35213e0c!important}
html body .esh-search .esh-top{background:linear-gradient(125deg,#35213e,#633b69)!important;color:#fff!important;padding:22px!important;border-radius:22px 22px 0 0}
html body .esh-search .esh-top :is(h2,h3,p,.esh-kicker){color:#fff!important}
html body .esh-search .esh-bar{background:#fff9f1!important;border:1px solid #e6dbe4!important;border-radius:20px!important;padding:16px!important;gap:12px!important;box-shadow:none!important}
html body .esh-search :is(.esh-field,.esh-room-occ){border:1px solid #e6dbe4!important;border-radius:14px!important;background:#fff!important;padding:14px!important}
html body .esh-search :is(input,select){border-radius:10px!important;border-color:#d9cad8!important;min-height:44px;color:#302638!important}
html body .esh-search :is(.esh-searchbtn,.esh-book){background:#b94045!important;color:#fff!important;border-radius:14px!important;border:0!important;font-weight:850;min-height:48px!important;box-shadow:0 6px 18px #b9404520}
html body .estof-booking-panel .estof-panel-toolbar{background:#35213e!important;color:#fff!important;border-radius:18px 18px 0 0}
html body .esh-search .esh-roomlist .esh-room{border:1px solid #e6dbe4!important;border-radius:20px!important;background:#fffdfb!important;padding:20px!important;margin:16px 0!important}
html body .esh-search .esh-roomfilters{display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding:14px!important;background:#fff9f1!important;border-radius:18px!important;align-items:center}
html body .esh-search .esh-roomfilters button{background:#fff!important;color:#633b69!important;border:1px solid #d9cad8!important;border-radius:999px!important;padding:10px 15px!important;min-height:44px!important;font-weight:800}
html body .esh-search .esh-roomfilters button.is-active{background:#633b69!important;color:#fff!important;border-color:#633b69!important}
/* The hidden attribute must win over responsive display:grid/flex !important rules. */
html body .esh-search .esh-roomlist .esh-room[hidden],html body .estof-booking-panel .estof-panel-content .esh-roomlist .esh-room[hidden],html body .esh-search .esh-room-empty[hidden]{display:none!important}
html body .esh-search .esh-facts{background:#fbf5f9!important;border:1px solid #e6dbe4!important;border-radius:16px!important;color:#302638!important}
html body .esh-search .esh-facts :is(h3,dt){color:#633b69!important}
html body .esh-search .esh-room-info .esh-facts dl{display:block!important}
html body .esh-search .esh-facts dl>div{padding:9px 0!important}
html body .esh-room-extras{margin:12px 0 0;border:1px solid #dfd0df;border-radius:12px;padding:12px;background:#fff}
html body .esh-room-extras summary{cursor:pointer;font-weight:800;color:#633b69;min-height:24px}
html body .esh-amenities-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px!important;padding:12px 0 0 20px!important;margin:0!important;list-style:disc!important}
html body .esh-amenities-grid li{font-size:13px;line-height:1.55;overflow-wrap:anywhere;padding:0!important}
html body .esh-room-extras p{font-size:14px;line-height:1.65;margin:12px 0 0}
html body .esh-search .esh-room-info>strong{color:#35213e!important;font-size:20px!important}
html body .esh-search .esh-room-info>span{color:#633b69!important;font-weight:750}
@media(max-width:700px){html body .ph-search form{grid-template-columns:1fr 1fr!important}html body .ph-search .ph-field:first-child,html body .ph-search button{grid-column:1/-1}html body .ph-search button{padding:15px!important}html body .esh-search .esh-roomlist .esh-room{padding:14px!important}html body .esh-amenities-grid{grid-template-columns:1fr}html body .ehg-form{padding:14px!important}html body .esh-search .esh-roomfilters{flex-wrap:wrap!important;overflow:visible!important}html body .esh-search .esh-roomfilters strong{width:100%}}
@media(prefers-reduced-motion:reduce){html body :is(.ph-search button,.ph-btn,.he-start,.he-map-toggle,.ehg-btn){transition:none;transform:none!important}}
html body .ehg-hotel-number,html body .ehg-map-marker{background:#633b69!important;color:#fff!important;border-radius:10px!important}
html body .ehg-card-body>div>small{display:block;margin:4px 0 8px;color:#615568}
html body .ehg-locate{color:#633b69!important;border-color:#633b69!important}
html body .esh-search.esh-embedded-hotel .esh-bar{margin:16px!important;width:auto!important;position:relative!important}
html body .esh-search .esh-room-config{border:1px solid #e6dbe4!important;border-radius:16px!important;background:#fff!important;padding:16px!important;margin:10px 0!important}
html body .esh-search .esh-room-config legend{padding:0 8px;font-weight:800;color:#633b69}
html body .esh-search .esh-room-config[hidden],html body .esh-search [data-child-index][hidden]{display:none!important}
html body .esh-search .esh-room-info .esh-facts h3{cursor:default!important}
html body .he-card .ph-stars,html body .he-popup .ph-stars{align-self:flex-start!important;justify-self:start!important;flex:0 0 auto!important;width:fit-content!important;height:auto!important;min-height:29px!important;padding:6px 11px!important}
html body .esh-search{background:linear-gradient(180deg,#fff9f1,#fffdfb)!important;color:#302638!important;--esh-blue:#633b69;--esh-blue2:#35213e;--esh-accent:#b94045;--esh-line:#e6dbe4}
html body .estof-booking-panel .esh-search{margin:0!important;padding:0!important}
html body .ph-cta{background:linear-gradient(125deg,#35213e,#633b69)!important;color:#fff!important;border-radius:24px!important}
html body .ph-cta a{background:#b94045!important;color:#fff!important;border-radius:14px!important}
html body .ph-logo,html body .ph-logo strong{color:#633b69!important}
html body .ph-pagination a{color:#633b69!important;border-color:#e6dbe4!important}
