/* Hotel / Hotel + Restaurant marketing pages */
.hs-hero { position: relative; background: radial-gradient(120% 100% at 50% -10%, #ecfeff 0%, #f5fbff 45%, #fff 100%); padding: 140px 0 60px; overflow: hidden; color: #0f2a35; }
.hs-hero .badge-pill { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #a5f3fc; color: #0e7490; padding: 7px 18px; border-radius: 999px; font-size: .85rem; font-weight: 600; box-shadow: 0 2px 10px rgba(14,116,144,.08); }
.hs-hero h1 { font-size: clamp(2.1rem, 4.2vw, 3.3rem); letter-spacing: -1.1px; line-height: 1.15; font-weight: 800; color: #0f2a35 !important; }
.hs-hero h1 .grad { background: linear-gradient(90deg, #0891b2 0%, #4f46e5 60%, #db2777 100%); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.hs-hero .lead { color: #4b6573 !important; font-size: 1.12rem; }
.hs-chips { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin: 28px 0; }
.hs-chip { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 108px; padding: 14px 8px; border-radius: 14px; background: #fff; border: 1px solid #cffafe; font-size: .76rem; font-weight: 600; color: #234; box-shadow: 0 2px 8px rgba(14,116,144,.05); transition: transform .2s, box-shadow .2s; }
.hs-chip:hover { transform: translateY(-3px); box-shadow: 0 8px 16px rgba(14,116,144,.14); }
.hs-chip i { font-size: 1.35rem; color: #0891b2; }
.hs-trust { color: #4b6573; font-size: .92rem; }
.hs-trust .stars { color: #f5a623; letter-spacing: 2px; }
.hs-frame { border-radius: 16px; overflow: hidden; background: #fff; border: 1px solid #a5f3fc; box-shadow: 0 30px 60px -20px rgba(14,116,144,.25); max-width: 860px; margin: 0 auto; }
.hs-frame .bar { display: flex; align-items: center; gap: 6px; padding: 12px 16px; background: #ecfeff; border-bottom: 1px solid #a5f3fc; }
.hs-frame .bar span { width: 11px; height: 11px; border-radius: 50%; display: inline-block; }
.hs-roomgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 10px; padding: 22px; background: #f8fdff; }
.hs-room { border-radius: 10px; padding: 10px 6px; text-align: center; font-size: .72rem; font-weight: 700; color: #fff; }
.hs-room small { display: block; font-weight: 500; opacity: .9; }
.hs-room.vac { background: #16a34a; } .hs-room.occ { background: #dc2626; } .hs-room.res { background: #4f46e5; } .hs-room.dty { background: #f59e0b; } .hs-room.cln { background: #0891b2; }
.hs-legend { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; padding: 0 16px 18px; font-size: .75rem; background: #f8fdff; color: #345; }
.hs-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 5px; }
.hs-card { background: #fff; border: 1px solid rgba(8,145,178,.14); border-radius: 18px; padding: 30px 24px; height: 100%; transition: transform .2s, box-shadow .2s; }
.hs-card:hover { transform: translateY(-5px); box-shadow: 0 18px 36px rgba(8,145,178,.12); }
.hs-card .ib { width: 52px; height: 52px; border-radius: 14px; background: rgba(8,145,178,.1); color: #0891b2; display: flex; align-items: center; justify-content: center; font-size: 1.35rem; margin-bottom: 16px; }
.hs-light { background: #fbfeff; }
.hs-flow { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; align-items: center; }
.hs-step { background: #fff; border: 1px solid #cffafe; border-radius: 14px; padding: 14px 16px; min-width: 128px; text-align: center; font-size: .82rem; }
.hs-step b { display: block; color: #0e7490; }
.hs-arrow { color: #67e8f9; }
.hs-split { background: linear-gradient(135deg, #0e7490, #4f46e5); color: #fff; border-radius: 22px; padding: 30px; }
.hs-faq .accordion-button { font-weight: 600; }
.hs-cta { background: linear-gradient(135deg, #155e75 0%, #0891b2 55%, #4f46e5 100%); color: #fff; }
.hs-related a { text-decoration: none; }

html[data-bs-theme="dark"] .hs-hero { background: radial-gradient(120% 100% at 50% -10%, #06222b 0%, #0a1820 50%, #060e13 100%) !important; }
html[data-bs-theme="dark"] .hs-hero h1 { color: #eafcff !important; }
html[data-bs-theme="dark"] .hs-hero .lead, html[data-bs-theme="dark"] .hs-trust { color: rgba(255,255,255,.72) !important; }
html[data-bs-theme="dark"] .hs-hero .badge-pill { background: rgba(8,145,178,.18) !important; border-color: rgba(8,145,178,.4) !important; color: #67e8f9 !important; }
html[data-bs-theme="dark"] .hs-chip, html[data-bs-theme="dark"] .hs-step, html[data-bs-theme="dark"] .hs-card { background: rgba(255,255,255,.05) !important; border-color: rgba(8,145,178,.28) !important; color: #e6f7fb !important; }
html[data-bs-theme="dark"] .hs-frame, html[data-bs-theme="dark"] .hs-roomgrid, html[data-bs-theme="dark"] .hs-legend { background: #0c1a21 !important; border-color: rgba(8,145,178,.3) !important; color: #cfe9f0 !important; }
html[data-bs-theme="dark"] .hs-frame .bar { background: #0f2630 !important; border-color: rgba(8,145,178,.3) !important; }
html[data-bs-theme="dark"] .hs-light { background: #070f14 !important; }
html[data-bs-theme="dark"] .hs-light h2, html[data-bs-theme="dark"] .hs-light h3, html[data-bs-theme="dark"] .hs-light h5, html[data-bs-theme="dark"] .hs-light h6, html[data-bs-theme="dark"] .hs-light strong { color: #eafcff !important; }
html[data-bs-theme="dark"] .hs-light p, html[data-bs-theme="dark"] .hs-light .text-body-secondary { color: rgba(255,255,255,.68) !important; }

.hs-photo { position: relative; border-radius: 16px; overflow: hidden; box-shadow: 0 12px 28px rgba(8,145,178,.15); }
.hs-photo img { display: block; width: 100%; height: auto; transition: transform .4s; }
.hs-photo:hover img { transform: scale(1.05); }
.hs-photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 14px 12px; color: #fff; font-size: .78rem; background: linear-gradient(transparent, rgba(0,0,0,.7)); }
.hs-photo figcaption b { display: block; font-size: .95rem; }
