.hotel-container{max-width:1320px}.breadcrumbs{padding:24px 0;font-size:12px;color:var(--muted)}
.breadcrumbs ol{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.breadcrumbs li+li:before{content:'‹';margin-inline-end:8px}
.hotel-intro{display:grid;grid-template-columns:300px minmax(0,1fr);gap:32px;padding:12px 0 34px;align-items:start}.hotel-identity h1{font-size:34px;margin:10px 0}.hotel-stars{color:var(--accent);font-size:18px}.hotel-identity>[lang=en]{font-size:14px;text-align:right;color:var(--muted)}.hotel-address{display:block;margin:14px 0;font-size:14px;font-style:normal;line-height:1.8}.hotel-highlights{line-height:2}
.hotel-gallery{display:grid;grid-template-columns:2fr 1fr;gap:12px}.hotel-photo{overflow:hidden;border-radius:10px;background:var(--surface);height:140px}.hotel-photo:first-child{grid-row:span 3;height:444px}.hotel-photo img{width:100%;height:100%;object-fit:cover}
.hotel-anchor-nav{display:flex;gap:24px;flex-wrap:wrap;border-block:1px solid var(--border);padding:16px 0}.hotel-anchor-nav a{color:var(--primary)}
.hotel-section{padding:42px 0;scroll-margin-top:100px}.hotel-section>h2{font-size:28px;margin-bottom:24px}.hotel-text{white-space:pre-line;line-height:2}.amenities-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.amenities-grid h3{font-size:18px}.amenities-grid ul{padding-inline-start:20px;font-size:14px;line-height:2.2}
.location-layout{display:grid;grid-template-columns:1fr 1fr;gap:35px;background:var(--surface);border-radius:10px;padding:26px}.location-layout address{font-style:normal;line-height:2}.location-layout iframe{width:100%;height:360px;border:0}.nearby-list{list-style:none;padding:0}.nearby-list li{border-bottom:1px solid var(--border);padding:12px 0;display:flex;justify-content:space-between;gap:15px}.nearby-list span{color:var(--muted);font-size:12px}
.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.policy-grid details{background:var(--surface);padding:20px;border-radius:8px}.policy-grid summary{font-size:16px;font-weight:600;cursor:pointer}.policy-grid dl{font-size:14px;line-height:2}.policy-grid dd{margin-bottom:12px}
.hotel-card-grid,.hotel-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hotel-card,.hotel-photo-grid figure{margin:0;border:1px solid var(--border);border-radius:12px;overflow:hidden}.hotel-card img,.hotel-photo-grid img{width:100%;height:220px;object-fit:cover}.hotel-card h3,.hotel-photo-grid figcaption{padding:18px}.hotel-photo-grid small{display:block}.hotel-section>summary{cursor:pointer;margin-bottom:20px}.hotel-ratings{display:flex;gap:24px;flex-wrap:wrap;background:var(--surface);padding:24px}.hotel-ratings dd{margin:6px 0}
@media(max-width:1100px){.hotel-intro{grid-template-columns:260px minmax(0,1fr);gap:24px}.amenities-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.hotel-intro{grid-template-columns:1fr;gap:22px}.hotel-gallery{grid-row:1}.hotel-photo:first-child{height:294px}.hotel-photo{height:90px}.hotel-identity h1{font-size:29px}.hotel-section{padding-block:30px}.location-layout,.policy-grid{grid-template-columns:1fr}.hotel-card-grid,.hotel-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.hotel-card-grid,.hotel-photo-grid{grid-template-columns:1fr}.nearby-list li{flex-direction:column;gap:4px}.hotel-anchor-nav{gap:14px;font-size:14px}}
.amenities-grid{display:block;columns:3;column-gap:32px}.amenities-grid>div{break-inside:avoid;margin-bottom:24px}.hotel-card>[data-gallery-image]{display:block;width:100%}.hotel-photo-grid [data-gallery-image]{width:100%;border-radius:12px;overflow:hidden}.hotel-photo{width:100%;text-align:start}.hotel-ratings meter{display:block;width:100%;height:12px;margin-top:8px;accent-color:var(--brand)}.hotel-card>p{padding-inline:20px;line-height:1.8;color:var(--muted)}.breadcrumbs ol{flex-wrap:wrap}.hotel-section{min-width:0}
@media(max-width:900px){.amenities-grid{columns:2}}
@media(max-width:600px){.amenities-grid{columns:1}}
.hotel-section{padding-block:28px;border-bottom:1px solid var(--border)}.hotel-section>h2{margin:0 0 20px}.amenities-grid{column-gap:24px}.amenities-grid>div{padding:16px 18px;background:var(--surface);border-radius:12px;margin-bottom:16px}.amenities-grid h3{margin:0 0 10px}.amenities-grid ul{margin:0;line-height:1.9}.policy-grid{align-items:start}.hotel-rating-summary{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.hotel-rating-summary strong{font-size:40px;color:var(--primary)}.hotel-rating-summary span{font-size:14px;color:var(--muted)}.hotel-ratings{border-radius:12px;gap:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.hotel-ratings>div{min-width:0}.hotel-card h3{margin:0;padding:16px 18px 8px}.hotel-card>p{margin:0 0 16px}.hotel-section .rich-content{max-width:82ch}.hotel-section>summary{margin-bottom:12px}
@media(max-width:600px){.hotel-section{padding-block:24px}.hotel-section>h2{font-size:24px}.hotel-ratings{grid-template-columns:1fr 1fr;padding:16px}}
.hotel-gallery:has(>.hotel-photo:only-child){grid-template-columns:1fr}.hotel-gallery>.hotel-photo:only-child{grid-row:auto;height:340px}@media(max-width:760px){.hotel-gallery>.hotel-photo:only-child{height:260px}}
.hotel-intro { grid-template-columns:minmax(290px,.85fr) minmax(0,1.65fr); align-items:start; gap:24px; }
.hotel-intro:has(>.hotel-identity:only-child) { grid-template-columns:1fr; }
.hotel-identity { background:#f2f7f5; border:1px solid #dce8e1; border-radius:14px; padding:26px; min-width:0; }
.hotel-identity h1 { font-size:30px; line-height:1.5; margin:10px 0; }
.hotel-identity .hotel-stars { margin:0; }
.hotel-summary-location { font-size:13px; color:var(--muted); line-height:1.8; }
.hotel-identity>a:not(.hotel-summary-score) { display:inline-flex; align-items:center; margin-block:8px; }
.hotel-summary-score { display:flex; align-items:center; gap:14px; margin-block:18px; font-size:13px; }
.hotel-summary-score strong { padding:10px 14px; border-radius:10px; background:var(--brand); color:white; font-size:28px; white-space:nowrap; }
.hotel-summary-score small { font-size:12px; }
.hotel-summary-facts { margin:14px 0; }
.hotel-summary-facts>div { display:flex; justify-content:space-between; gap:12px; }
.hotel-summary-facts dd { margin:0; }
.hotel-highlights { padding-inline-start:20px; font-size:14px; margin-bottom:0; }
.hotel-gallery { grid-template-columns:minmax(0,2fr) minmax(0,1fr); grid-template-rows:140px 140px 140px; gap:10px; }
.hotel-photo { position:relative; height:100%; }
.hotel-photo:first-child { height:100%; }
.hotel-photo-caption { position:absolute; inset-inline:0; bottom:0; padding:28px 12px 12px; background:linear-gradient(transparent,#000a); color:white; font-size:13px; }
.hotel-gallery-more { position:absolute; inset:0; display:grid; place-content:center; background:#133c4999; color:white; font-size:16px; font-weight:700; padding:12px; text-align:center; }
.hotel-gallery:has(>.hotel-photo:only-child) { grid-template-rows:440px; }
.hotel-gallery>.hotel-photo:only-child { height:100%; }
.hotel-gallery:has(>.hotel-photo:nth-child(2):last-child) { grid-template-columns:1fr 1fr; grid-template-rows:440px; }
.hotel-gallery:has(>.hotel-photo:nth-child(2):last-child)>.hotel-photo:first-child { grid-row:auto; }
.hotel-gallery:has(>.hotel-photo:nth-child(3):last-child) { grid-template-rows:215px 215px; }
.hotel-gallery:has(>.hotel-photo:nth-child(3):last-child)>.hotel-photo:first-child { grid-row:span 2; }
.hotel-amenity-chips { display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0 0 20px; }
.hotel-amenity-chips li { padding:9px 14px; background:#eef7f2; border-radius:8px; font-size:13px; }
.hotel-room-list { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.hotel-room-card { display:grid; grid-template-columns:160px minmax(0,1fr); align-items:center; gap:20px; padding:16px; border:1px solid var(--border); border-radius:12px; min-width:0; background:#fff; }
.hotel-room-card>button { border-radius:8px; overflow:hidden; width:100%; }
.hotel-room-card img { width:100%; height:150px; object-fit:cover; border-radius:8px; }
.hotel-room-content { min-width:0; }
.hotel-room-content h3 { font-size:19px; margin:6px 0; overflow-wrap:anywhere; }
.hotel-room-content .eyebrow { font-size:12px; margin:0; color:var(--primary); }
.hotel-room-content p[lang=en] { font-size:13px; text-align:start; color:var(--muted); }
.hotel-room-photo-hint { font-size:11px; color:var(--muted); margin-top:16px; }
.policy-grid dl { margin-bottom:0; }
.policy-grid dt { color:var(--muted); font-size:13px; }
.policy-grid dd { margin:5px 0 14px; padding-bottom:10px; border-bottom:1px solid var(--border); }
@media(max-width:1000px) {
    .hotel-intro { grid-template-columns:300px minmax(0,1fr); }
    .hotel-room-list { grid-template-columns:1fr; }
}
@media(max-width:760px) {
    .hotel-intro { grid-template-columns:1fr; }
    .hotel-identity { padding:22px; }
    .hotel-gallery { grid-row:1; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:290px 95px; }
    .hotel-photo:first-child { grid-column:1/-1; grid-row:auto; }
    .hotel-gallery:has(>.hotel-photo:only-child) { grid-template-columns:1fr; grid-template-rows:280px; }
    .hotel-gallery:has(>.hotel-photo:nth-child(2):last-child) { grid-template-columns:1fr; grid-template-rows:270px 120px; }
    .hotel-gallery:has(>.hotel-photo:nth-child(3):last-child) { grid-template-columns:1fr 1fr; grid-template-rows:270px 120px; }
    .hotel-gallery:has(>.hotel-photo:nth-child(3):last-child)>.hotel-photo:first-child { grid-row:auto; }
    .hotel-gallery-more,.hotel-photo-caption { font-size:12px; }
}
@media(max-width:440px) {
    .hotel-room-card { grid-template-columns:115px minmax(0,1fr); gap:14px; padding:12px; }
    .hotel-room-card img { height:135px; }
    .hotel-room-content h3 { font-size:17px; }
    .hotel-room-photo-hint { margin-top:8px; }
}
