:root{--hd-ink:#101828;--hd-muted:#667085;--hd-line:#e5e7eb;--hd-soft:#f7f8fa;--hd-red:#d8202f;--hd-red-dark:#b81020;--hd-blue:#063b82;--hd-orange:#f47b20;--hd-green:#13795b;--hd-radius:22px;--hd-shadow:0 18px 55px rgba(16,24,40,.08)}
.hotel-detail-page{background:#fff;color:var(--hd-ink)}
.hotel-detail-main{padding:28px 0 80px}
.hotel-detail-wrap{max-width:1240px;margin:0 auto;padding:0 22px}
.hotel-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#7a8494;font-size:13px;margin:8px 0 24px}.hotel-breadcrumb a{color:#596477;text-decoration:none}.hotel-breadcrumb a:hover{color:var(--hd-blue)}.hotel-breadcrumb strong{color:#1e293b;font-weight:700}
.hotel-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.72fr);grid-template-areas:"intro ." "cover map" "thumbs .";column-gap:26px;row-gap:12px;align-items:start}.hotel-cover,.hotel-map-card{align-self:stretch}.hotel-hero-intro{grid-area:intro;min-width:0;margin-bottom:10px}.hotel-cover{grid-area:cover}.hotel-map-card{grid-area:map}.hotel-cover-thumbs{grid-area:thumbs}.hotel-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--hd-red);font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.hotel-eyebrow .gv-icon{width:18px;height:18px}.hotel-hero h1{font-size:clamp(36px,4.4vw,58px);line-height:1.03;letter-spacing:-.045em;margin:13px 0 13px;color:#111827}.hotel-location-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#475467;margin:0 0 16px;font-size:15px}.hotel-location-line .gv-icon{width:18px;height:18px;color:var(--hd-red)}.hotel-location-line strong{color:#1d2939}.hotel-lead{font-size:18px;line-height:1.75;color:#596579;max-width:830px;margin:0 0 22px}
.hotel-cover{position:relative;border-radius:26px;overflow:hidden;margin:0;background:#eef1f5;box-shadow:var(--hd-shadow);aspect-ratio:auto;min-height:0;height:100%}.hotel-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.hotel-cover:after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,rgba(0,0,0,.58));pointer-events:none}.hotel-cover figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;font-size:13px;font-weight:700}.hotel-gallery-trigger{appearance:none;border:1px solid rgba(255,255,255,.58);background:rgba(17,24,39,.55);color:#fff;border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer;backdrop-filter:blur(8px)}.hotel-cover img[data-hotel-cover-image]{z-index:1;will-change:transform;backface-visibility:hidden}.hotel-cover .hotel-film-next{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;display:block;will-change:transform;backface-visibility:hidden;pointer-events:none}.hotel-cover.is-film-forward img[data-hotel-cover-image]{animation:hotelFilmOutLeft .72s cubic-bezier(.55,.02,.28,1) both}.hotel-cover.is-film-forward .hotel-film-next{animation:hotelFilmInRight .72s cubic-bezier(.55,.02,.28,1) both}.hotel-cover.is-film-backward img[data-hotel-cover-image]{animation:hotelFilmOutRight .72s cubic-bezier(.55,.02,.28,1) both}.hotel-cover.is-film-backward .hotel-film-next{animation:hotelFilmInLeft .72s cubic-bezier(.55,.02,.28,1) both}.hotel-cover.is-film-forward:before,.hotel-cover.is-film-backward:before{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) 48%,rgba(255,255,255,.36) 50%,rgba(255,255,255,.10) 52%,transparent 100%);animation:hotelFilmShutter .72s ease both}.hotel-cover figcaption{z-index:5}.hotel-cover:after{z-index:4}.hotel-cover-thumbs{position:relative;display:flex;gap:10px;width:100%;overflow-x:auto;overflow-y:hidden;padding:18px 14px;background:#141820;border:1px solid #2b313d;border-radius:14px;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#596170 #141820;scroll-snap-type:x mandatory;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 20px rgba(16,24,40,.08);background-image:repeating-linear-gradient(90deg,transparent 0 18px,rgba(255,255,255,.12) 18px 28px,transparent 28px 46px),repeating-linear-gradient(90deg,transparent 0 18px,rgba(255,255,255,.12) 18px 28px,transparent 28px 46px);background-size:auto 7px,auto 7px;background-position:0 5px,0 calc(100% - 5px);background-repeat:repeat-x}.hotel-cover-thumbs::-webkit-scrollbar{height:6px}.hotel-cover-thumbs::-webkit-scrollbar-track{background:#141820}.hotel-cover-thumbs::-webkit-scrollbar-thumb{background:#596170;border-radius:999px}.hotel-cover-thumb{position:relative;flex:0 0 102px;height:66px;padding:0;border:0!important;border-radius:0;overflow:hidden;background:transparent!important;cursor:pointer;opacity:.72;transition:opacity .22s ease,transform .22s ease,filter .22s ease;scroll-snap-align:center;box-shadow:none!important;outline:0}.hotel-cover-thumb:before{content:none}.hotel-cover-thumb:after{content:"";position:absolute;z-index:3;left:20%;right:20%;bottom:0;height:3px;border-radius:999px;background:transparent;pointer-events:none;transition:background-color .22s ease,left .22s ease,right .22s ease}.hotel-cover-thumb img{width:100%;height:100%;display:block;object-fit:cover;border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important}.hotel-cover-thumb:hover{opacity:1;transform:translateY(-1px);filter:brightness(1.03);border:0!important;box-shadow:none!important}.hotel-cover-thumb.is-active{opacity:1;border:0!important;box-shadow:none!important;outline:0!important;transform:translateY(-1px);filter:brightness(1.04)}.hotel-cover-thumb.is-active:after{left:10%;right:10%;background:var(--hd-orange);height:3px}.hotel-cover-thumb:focus-visible{outline:0!important;box-shadow:none!important}@keyframes hotelFilmOutLeft{from{transform:translate3d(0,0,0)}to{transform:translate3d(-100%,0,0)}}@keyframes hotelFilmInRight{from{transform:translate3d(100%,0,0)}to{transform:translate3d(0,0,0)}}@keyframes hotelFilmOutRight{from{transform:translate3d(0,0,0)}to{transform:translate3d(100%,0,0)}}@keyframes hotelFilmInLeft{from{transform:translate3d(-100%,0,0)}to{transform:translate3d(0,0,0)}}@keyframes hotelFilmShutter{0%,100%{opacity:0}40%{opacity:.25}52%{opacity:.55}65%{opacity:.16}}
.hotel-map-card{position:relative;top:auto;height:100%;box-sizing:border-box;border:1px solid #dbe4f0;border-radius:24px;background:radial-gradient(circle at top right,rgba(244,123,32,.11),transparent 30%),linear-gradient(180deg,#ffffff 0%,#f6faff 100%);padding:16px;box-shadow:0 18px 48px rgba(6,59,130,.08)}.hotel-map-card-themed{overflow:hidden}.hotel-map-card-themed:before{content:"";display:block;height:5px;margin:-16px -16px 14px;border-radius:24px 24px 0 0;background:linear-gradient(90deg,var(--hd-blue),var(--hd-orange))}.hotel-map-card-head{display:flex;justify-content:space-between;align-items:flex-start;padding:2px 2px 12px;gap:12px}.hotel-map-head-themed h2{font-size:22px;line-height:1.12;margin:0;color:#0f2240}.hotel-map-head-themed p{margin:6px 0 0;color:#667085;font-size:12px;line-height:1.45}.hotel-map-kicker{display:block;font-size:10px;letter-spacing:.14em;color:var(--hd-red);font-weight:900;margin-bottom:2px}.hotel-map-pin{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:15px;background:linear-gradient(180deg,#fff4f2,#fff);color:var(--hd-orange);box-shadow:0 10px 22px rgba(244,123,32,.14)}.hotel-map-pin .gv-icon{width:20px;height:20px}.hotel-map-topline{display:flex;flex-wrap:wrap;gap:8px;margin:0 2px 12px}.hotel-map-chip{display:inline-flex;align-items:center;min-height:32px;padding:6px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.01em}.hotel-map-chip-primary{background:rgba(6,59,130,.08);color:var(--hd-blue);border:1px solid rgba(6,59,130,.12)}.hotel-map-chip-muted{background:rgba(244,123,32,.08);color:#b45309;border:1px solid rgba(244,123,32,.12)}.hotel-mini-map-shell{position:relative;padding:10px;border-radius:20px;background:linear-gradient(135deg,rgba(6,59,130,.09),rgba(244,123,32,.12));border:1px solid rgba(6,59,130,.10)}.hotel-mini-map-shell:before{content:"";position:absolute;inset:10px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 24%);pointer-events:none;z-index:2}.hotel-mini-map{position:relative;height:258px;border-radius:16px;overflow:hidden;background:#eef1f5;border:1px solid #d8e2f1}.hotel-mini-map-themed{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.hotel-mini-map iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.92) contrast(1.02)}.hotel-mini-map-overlay{position:absolute;left:18px;right:18px;bottom:18px;z-index:4;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding:14px 15px;border-radius:14px;background:linear-gradient(180deg,rgba(7,18,38,.08),rgba(7,18,38,.82));color:#fff;backdrop-filter:blur(6px)}.hotel-mini-map-overlay-copy{min-width:0}.hotel-mini-map-overlay strong{display:block;font-size:14px;line-height:1.3}.hotel-mini-map-overlay span{display:block;font-size:11px;line-height:1.35;color:rgba(255,255,255,.84)}.hotel-mini-map-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.hotel-mini-map-tags em{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-style:normal;font-size:10px;font-weight:800;letter-spacing:.04em;color:#fff;white-space:nowrap}.hotel-address{font-size:13px;line-height:1.6;color:#475467;margin:14px 4px 12px}.hotel-map-highlights{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}.hotel-map-highlights>div{background:#fff;border:1px solid #e7edf7;border-radius:14px;padding:12px 12px 11px;box-shadow:0 8px 18px rgba(15,23,42,.04)}.hotel-map-highlights b{display:block;color:var(--hd-blue);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.hotel-map-highlights strong{display:block;color:#0f2240;font-size:13px;line-height:1.35}.hotel-map-highlights span{display:block;color:#667085;font-size:11px;line-height:1.4;margin-top:3px}.hotel-map-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hotel-map-meta span{background:#fff;border:1px solid #ebeff5;border-radius:13px;padding:10px 11px;color:#475467;font-size:11px;line-height:1.35;box-shadow:0 6px 18px rgba(15,23,42,.03)}.hotel-map-meta b{display:block;color:#0f2240;font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.hotel-map-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.hotel-map-button{display:flex;align-items:center;justify-content:center;gap:6px;border-radius:14px;background:linear-gradient(90deg,var(--hd-blue),#0b4a9b);color:#fff;text-decoration:none;padding:13px 14px;font-size:13px;font-weight:900;box-shadow:0 14px 28px rgba(6,59,130,.18);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.hotel-map-button:hover{background:linear-gradient(90deg,#052f68,#0a428b);transform:translateY(-1px);box-shadow:0 16px 30px rgba(6,59,130,.22)}.hotel-map-button .gv-icon{width:16px;height:16px}.hotel-map-button-secondary{background:#fff;color:#0f2240;border:1px solid #d7e2f1;box-shadow:0 10px 24px rgba(15,23,42,.05)}.hotel-map-button-secondary:hover{background:#f8fbff;color:#0a3572;box-shadow:0 12px 26px rgba(15,23,42,.08)}.hotel-map-note{margin:10px 2px 0;color:#667085;font-size:11px;line-height:1.5}
.hotel-quick-facts{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:26px 0 18px}.hotel-quick-facts>div{padding:16px 17px;background:var(--hd-soft);border:1px solid #edf0f3;border-radius:16px}.hotel-quick-facts span{display:block;color:#7b8493;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;margin-bottom:5px}.hotel-quick-facts strong{font-size:14px;line-height:1.35;color:#182230}
.hotel-section-nav{position:sticky;top:72px;z-index:20;display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;background:rgba(255,255,255,.96);border:1px solid var(--hd-line);box-shadow:0 8px 26px rgba(15,23,42,.05);padding:8px;border-radius:16px;margin:0 0 28px;backdrop-filter:blur(10px)}.hotel-section-nav::-webkit-scrollbar{display:none}.hotel-section-nav a{white-space:nowrap;padding:10px 12px;border-radius:10px;color:#475467;text-decoration:none;font-size:12px;font-weight:800}.hotel-section-nav a:hover{background:#f2f4f7;color:#111827}
.hotel-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:30px;align-items:start}.hotel-detail-content{min-width:0}.hotel-section{padding:34px 0;border-bottom:1px solid #edf0f3;scroll-margin-top:150px}.hotel-section:first-child{padding-top:6px}.hotel-section-heading{margin-bottom:20px}.hotel-section-heading>span,.hotel-price-kicker{display:block;color:var(--hd-red);font-size:11px;letter-spacing:.12em;font-weight:900;margin-bottom:7px}.hotel-section-heading h2,.hotel-price-card h2{font-size:30px;line-height:1.15;letter-spacing:-.025em;margin:0;color:#111827}.hotel-section-heading p{margin:9px 0 0;color:#667085;line-height:1.65;font-size:14px}.hotel-section>p{color:#475467;font-size:16px;line-height:1.82;margin:0}
.hotel-info-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.hotel-info-panels>div{border:1px solid var(--hd-line);border-radius:18px;padding:17px;background:#fff}.hotel-info-panels span{display:block;color:#8a94a3;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hotel-info-panels strong{display:block;margin:6px 0 8px;font-size:15px}.hotel-info-panels p{margin:0;color:#667085;line-height:1.55;font-size:12px}
.hotel-room-grid{display:grid;gap:16px}.hotel-room-card{display:grid;grid-template-columns:260px 1fr;border:1px solid var(--hd-line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 8px 25px rgba(16,24,40,.035)}.hotel-room-card>img{width:100%;height:100%;min-height:260px;object-fit:cover}.hotel-room-body{padding:20px}.hotel-room-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hotel-room-top h3{font-size:21px;margin:0}.hotel-room-top>span{white-space:nowrap;background:#fff4f4;color:#b81020;padding:7px 9px;border-radius:999px;font-size:11px;font-weight:900}.hotel-room-capacity{display:flex;align-items:center;gap:6px;color:#4b5565;font-size:12px;margin:10px 0}.hotel-room-capacity .gv-icon{width:16px;height:16px}.hotel-room-body p{color:#667085;line-height:1.65;font-size:13px;margin:0 0 13px}.hotel-room-body ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;list-style:none;padding:0;margin:0}.hotel-room-body li{display:flex;align-items:center;gap:6px;font-size:12px;color:#344054}.hotel-room-body li .gv-icon{width:14px;height:14px;color:var(--hd-green);flex:none}
.hotel-amenity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.hotel-amenity-card{border:1px solid var(--hd-line);border-radius:18px;padding:20px}.hotel-amenity-icon{display:grid;place-items:center;width:42px;height:42px;background:#eef5ff;color:var(--hd-blue);border-radius:13px}.hotel-amenity-card h3{font-size:17px;margin:12px 0}.hotel-amenity-card ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.hotel-amenity-card li{display:flex;align-items:center;gap:7px;color:#475467;font-size:13px}.hotel-amenity-card li .gv-icon{width:14px;height:14px;color:var(--hd-green);flex:none}
.hotel-distance-list{border:1px solid var(--hd-line);border-radius:19px;overflow:hidden}.hotel-distance-list>div{display:grid;grid-template-columns:34px 1.35fr .75fr 1fr;align-items:center;gap:11px;padding:13px 16px;border-bottom:1px solid #edf0f3}.hotel-distance-list>div:last-child{border-bottom:0}.hotel-distance-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fff2f3;color:var(--hd-red)}.hotel-distance-icon .gv-icon{width:15px;height:15px}.hotel-distance-list strong{font-size:13px}.hotel-distance-list b{font-size:13px;color:#111827}.hotel-distance-list small{color:#7c8798;font-size:11px}.hotel-route-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.hotel-route-links a{border:1px solid var(--hd-line);border-radius:15px;padding:14px;text-decoration:none;color:#1d2939}.hotel-route-links a:hover{border-color:#cdd5df;background:#fafbfc}.hotel-route-links strong{display:block;font-size:13px;margin-bottom:5px}.hotel-route-links span{display:block;color:#667085;font-size:11px;line-height:1.45}
.hotel-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:8px}.hotel-gallery-item{position:relative;border:0;padding:0;margin:0;border-radius:14px;overflow:hidden;background:#e9edf2;cursor:pointer}.hotel-gallery-item-wide{grid-column:span 2;grid-row:span 2}.hotel-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.hotel-gallery-item:hover img{transform:scale(1.035)}.hotel-gallery-item:after{content:"";position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(transparent,rgba(0,0,0,.72))}.hotel-gallery-item span{position:absolute;z-index:2;left:12px;right:12px;bottom:10px;text-align:left;color:#fff;font-size:11px;font-weight:800;line-height:1.3}
.hotel-highlight-box{display:flex;gap:15px;align-items:flex-start;padding:21px;border-radius:18px;background:linear-gradient(135deg,#fff8f2,#fff);border:1px solid #ffe5cf}.hotel-highlight-box>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff;color:var(--hd-orange);box-shadow:0 5px 15px rgba(244,123,32,.11);flex:none}.hotel-highlight-box h3{margin:0 0 7px;font-size:18px}.hotel-highlight-box p{margin:0;color:#667085;line-height:1.7;font-size:13px}
.hotel-activity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.hotel-activity-grid article{border-radius:17px;border:1px solid var(--hd-line);padding:18px;background:#fff}.hotel-activity-grid article>span{color:var(--hd-blue)}.hotel-activity-grid h3{margin:10px 0 6px;font-size:16px}.hotel-activity-grid p{margin:0;color:#667085;line-height:1.6;font-size:12px}.hotel-inline-link{display:inline-flex;align-items:center;gap:5px;margin-top:15px;color:var(--hd-blue);font-size:13px;font-weight:800;text-decoration:none}.hotel-inline-link .gv-icon{width:15px;height:15px}
.hotel-policy-list{display:grid;gap:9px}.hotel-policy-list>div{display:flex;gap:12px;padding:15px;border:1px solid var(--hd-line);border-radius:15px}.hotel-policy-list>div>span{color:#667085;flex:none}.hotel-policy-list h3{font-size:14px;margin:0 0 5px}.hotel-policy-list p{font-size:12px;color:#667085;line-height:1.6;margin:0}
.hotel-price-card{display:flex;align-items:center;justify-content:space-between;gap:26px;background:#0d274b;border-radius:22px;padding:28px;color:#fff}.hotel-price-card>div{max-width:650px}.hotel-price-kicker{color:#ff8d8d}.hotel-price-card h2{color:#fff;font-size:28px}.hotel-price-card p{color:#d7e1ed;line-height:1.65;font-size:13px;margin:11px 0 0}.hotel-reservation-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--hd-red);color:#fff;text-decoration:none;border-radius:14px;padding:14px 18px;font-weight:900;font-size:13px;white-space:nowrap;box-shadow:0 8px 20px rgba(216,32,47,.18)}.hotel-reservation-button:hover{background:var(--hd-red-dark)}.hotel-reservation-button .gv-icon{width:16px;height:16px}
.hotel-faq-list{border-top:1px solid var(--hd-line)}.hotel-faq-list details{border-bottom:1px solid var(--hd-line)}.hotel-faq-list summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 2px;font-size:14px;font-weight:800;list-style:none}.hotel-faq-list summary::-webkit-details-marker{display:none}.hotel-faq-list summary span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#f2f4f7;color:#475467;font-size:19px;font-weight:400}.hotel-faq-list details[open] summary span{transform:rotate(45deg)}.hotel-faq-list details p{margin:-3px 0 17px;max-width:830px;color:#667085;line-height:1.7;font-size:13px}
.hotel-sticky-booking{position:sticky;top:147px;border:1px solid var(--hd-line);border-radius:20px;padding:20px;background:#fff;box-shadow:0 12px 40px rgba(15,23,42,.07)}.hotel-sticky-label{display:block;color:var(--hd-red);font-size:10px;letter-spacing:.1em;font-weight:900;text-transform:uppercase}.hotel-sticky-booking h2{margin:7px 0 6px;font-size:22px}.hotel-sticky-booking>p{margin:0 0 16px;color:#667085;font-size:12px;line-height:1.55}.hotel-sticky-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:13px}.hotel-sticky-meta span{display:grid;grid-template-columns:20px 1fr;align-items:center;border-radius:12px;background:var(--hd-soft);padding:10px;font-size:11px;color:#475467}.hotel-sticky-meta .gv-icon{grid-row:span 2;width:15px;height:15px;color:var(--hd-blue)}.hotel-sticky-meta b{font-size:9px;text-transform:uppercase;color:#8a94a3}.hotel-sticky-booking .hotel-reservation-button{width:100%}.hotel-sticky-secondary{margin-top:9px;display:flex;align-items:center;justify-content:center;gap:5px;color:#475467;text-decoration:none;font-size:11px;font-weight:800;padding:10px}.hotel-sticky-secondary .gv-icon{width:14px;height:14px}
.hotel-lightbox{position:fixed;z-index:9999;inset:0;background:rgba(4,10,22,.93);display:grid;place-items:center;padding:58px 80px 36px}.hotel-lightbox[hidden]{display:none}.hotel-lightbox figure{margin:0;max-width:min(1100px,88vw);max-height:86vh;display:flex;flex-direction:column;align-items:center;gap:10px}.hotel-lightbox figure img{max-width:100%;max-height:76vh;object-fit:contain;border-radius:12px}.hotel-lightbox figcaption{color:#fff;font-size:13px}.hotel-lightbox-close{position:absolute;right:22px;top:20px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;cursor:pointer}.hotel-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:58px;border:0;border-radius:14px;background:rgba(255,255,255,.12);color:#fff;font-size:34px;cursor:pointer}.hotel-lightbox-prev{left:20px}.hotel-lightbox-next{right:20px}body.hotel-gallery-open{overflow:hidden}
@media(max-width:1050px){.hotel-hero{grid-template-columns:minmax(0,1fr) 320px}.hotel-quick-facts{grid-template-columns:repeat(3,1fr)}.hotel-detail-layout{grid-template-columns:1fr}.hotel-sticky-booking{position:static;display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center}.hotel-sticky-booking .hotel-sticky-label,.hotel-sticky-booking h2,.hotel-sticky-booking>p{grid-column:1}.hotel-sticky-meta{grid-column:2;grid-row:1/4;margin:0}.hotel-sticky-booking .hotel-reservation-button{grid-column:1/3;width:auto}.hotel-sticky-secondary{grid-column:1/3}.hotel-gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.hotel-detail-main{padding-top:12px}.hotel-detail-wrap{padding:0 14px}.hotel-hero{grid-template-columns:1fr;grid-template-areas:"intro" "cover" "thumbs" "map";row-gap:12px}.hotel-map-card{position:relative;top:auto;order:2}.hotel-hero h1{font-size:38px}.hotel-lead{font-size:16px}.hotel-cover{border-radius:19px;aspect-ratio:1.34;height:auto;min-height:0}.hotel-cover img{position:absolute;inset:0}.hotel-map-card{height:auto}.hotel-mini-map{height:220px}.hotel-quick-facts{grid-template-columns:repeat(2,1fr);margin-top:18px}.hotel-section-nav{top:64px;border-radius:12px;margin-inline:-2px}.hotel-section{padding:28px 0}.hotel-section-heading h2,.hotel-price-card h2{font-size:25px}.hotel-info-panels{grid-template-columns:1fr}.hotel-room-card{grid-template-columns:1fr}.hotel-room-card>img{height:230px;min-height:0}.hotel-amenity-grid{grid-template-columns:1fr}.hotel-distance-list>div{grid-template-columns:32px 1fr auto}.hotel-distance-list small{grid-column:2/4}.hotel-route-links{grid-template-columns:1fr}.hotel-gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px}.hotel-gallery-item-wide{grid-column:span 2}.hotel-activity-grid{grid-template-columns:1fr}.hotel-price-card{display:block}.hotel-price-card .hotel-reservation-button{margin-top:18px;width:100%;box-sizing:border-box}.hotel-sticky-booking{display:block}.hotel-sticky-meta{margin:13px 0}.hotel-sticky-booking .hotel-reservation-button{width:100%;box-sizing:border-box}.hotel-lightbox{padding:70px 16px 30px}.hotel-lightbox-nav{top:auto;bottom:20px;width:45px;height:45px}.hotel-lightbox-prev{left:calc(50% - 54px)}.hotel-lightbox-next{right:calc(50% - 54px)}}
@media(max-width:460px){.hotel-hero h1{font-size:33px}.hotel-quick-facts{grid-template-columns:1fr 1fr}.hotel-quick-facts>div{padding:13px}.hotel-map-meta{grid-template-columns:1fr}.hotel-room-body ul{grid-template-columns:1fr}.hotel-room-top{display:block}.hotel-room-top>span{display:inline-block;margin-top:8px}.hotel-gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px}.hotel-gallery-item-wide{grid-column:auto;grid-row:auto}.hotel-cover figcaption>span{display:none}.hotel-gallery-trigger{margin-left:auto}.hotel-distance-list>div{grid-template-columns:30px 1fr}.hotel-distance-list b,.hotel-distance-list small{grid-column:2}.hotel-section-heading h2{font-size:23px}}

/* 2026-08-15: Otel detay sayfası + rezervasyon formu birleşik yapı */
.hotel-detail-layout{grid-template-columns:minmax(0,1fr) 360px}
.hotel-sticky-booking{scroll-margin-top:150px;padding:20px}
.hotel-sticky-booking>p{margin-bottom:14px}
.hotel-reservation-form{display:grid;gap:11px;margin-top:14px}
.hotel-reservation-form label{display:grid;gap:6px;color:#27364a;font-size:11px;font-weight:800}
.hotel-reservation-form input,.hotel-reservation-form textarea{width:100%;box-sizing:border-box;border:1px solid #d9dee7;background:#fff;color:#101828;border-radius:11px;padding:11px 12px;font:inherit;font-size:12px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.hotel-reservation-form input:focus,.hotel-reservation-form textarea:focus{border-color:#7894b8;box-shadow:0 0 0 3px rgba(6,59,130,.08)}
.hotel-reservation-form textarea{resize:vertical;min-height:86px;line-height:1.5}
.hotel-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hotel-reservation-preferred{padding:11px 12px;border-radius:12px;background:#f5f7fa;border:1px solid #eaedf2}
.hotel-reservation-preferred small{display:block;color:#7b8493;font-size:10px;margin-bottom:3px}
.hotel-reservation-preferred strong{display:block;color:#162235;font-size:13px;line-height:1.35}
.hotel-reservation-submit{appearance:none;border:0;width:100%;display:flex;align-items:center;justify-content:center;gap:7px;background:var(--hd-red);color:#fff;border-radius:13px;padding:13px 15px;font-weight:900;font-size:12px;cursor:pointer;box-shadow:0 8px 20px rgba(216,32,47,.18)}
.hotel-reservation-submit:hover{background:var(--hd-red-dark)}
.hotel-reservation-submit .gv-icon{width:15px;height:15px}
.hotel-reservation-alert{margin-top:13px;border:1px solid #ffd5d9;background:#fff5f6;color:#9d1c29;border-radius:12px;padding:12px;font-size:12px;line-height:1.55}
.hotel-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.hotel-sticky-secondary{margin-top:10px}

@media(max-width:1050px){
  .hotel-detail-layout{grid-template-columns:1fr}
  .hotel-sticky-booking{position:static;display:block;order:-1;margin-bottom:8px;max-width:none}
  .hotel-sticky-booking .hotel-sticky-label,.hotel-sticky-booking h2,.hotel-sticky-booking>p{grid-column:auto}
  .hotel-sticky-booking .hotel-sticky-secondary{grid-column:auto}
  .hotel-reservation-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .hotel-reservation-form>.hotel-reservation-preferred,.hotel-reservation-form>.hotel-form-row,.hotel-reservation-form>label,.hotel-reservation-form>.hotel-reservation-submit{grid-column:span 1}
  .hotel-reservation-form>.hotel-reservation-preferred,.hotel-reservation-form>.hotel-form-row-dates,.hotel-reservation-form>.hotel-form-row-contact,.hotel-reservation-form>label:nth-of-type(2),.hotel-reservation-form>.hotel-reservation-submit{grid-column:1/-1}
}
@media(max-width:780px){
  .hotel-sticky-booking{display:block;margin-top:0}
  .hotel-reservation-form{grid-template-columns:1fr}
  .hotel-reservation-form>.hotel-reservation-preferred,.hotel-reservation-form>.hotel-form-row,.hotel-reservation-form>label,.hotel-reservation-form>.hotel-reservation-submit{grid-column:1}
}
@media(max-width:460px){
  .hotel-form-row{grid-template-columns:1fr}
  .hotel-sticky-booking{padding:17px}
}

@media (max-width: 991px){.hotel-map-card-themed:before{margin:-16px -16px 12px}.hotel-mini-map-overlay{left:16px;right:16px;bottom:16px;padding:12px 13px}.hotel-map-actions{grid-template-columns:1fr}.hotel-map-button-secondary{order:2}}
@media (max-width: 640px){.hotel-mini-map{height:220px}.hotel-mini-map-overlay{flex-direction:column;align-items:flex-start}.hotel-mini-map-overlay span{text-align:left}.hotel-mini-map-tags{justify-content:flex-start}.hotel-map-topline,.hotel-map-highlights,.hotel-map-actions{grid-template-columns:1fr}.hotel-map-highlights{grid-template-columns:1fr}}

/* 2026-08-15: Masaüstünde rezervasyon paneli sayfa kaydırılırken sabit kalır. */
@media (min-width:1051px){
  .hotel-detail-layout{align-items:start}
  .hotel-sticky-booking{
    position:sticky!important;
    top:146px;
    align-self:start;
    max-height:calc(100vh - 166px);
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-gutter:stable;
  }
  .hotel-sticky-booking::-webkit-scrollbar{width:6px}
  .hotel-sticky-booking::-webkit-scrollbar-thumb{background:#d5dbe4;border-radius:999px}
  .hotel-sticky-booking::-webkit-scrollbar-track{background:transparent}
}

@media(max-width:780px){.hotel-cover-thumbs{margin-top:-2px;padding:16px 11px;gap:8px}.hotel-cover-thumb{flex-basis:88px;height:58px}}
@media(max-width:460px){.hotel-cover-thumb{flex-basis:78px;height:52px;border-radius:0}}
@media(prefers-reduced-motion:reduce){.hotel-cover img[data-hotel-cover-image],.hotel-cover .hotel-film-next,.hotel-cover-thumb{animation:none!important;transition:none!important}}

/* Kapak fotoğrafı manuel gezinme okları */
.hotel-cover-nav{position:absolute;z-index:6;top:50%;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.56);border-radius:50%;background:rgba(6,59,130,.82);color:#fff;cursor:pointer;transform:translateY(-50%);backdrop-filter:blur(8px);box-shadow:0 12px 28px rgba(6,59,130,.22);transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.hotel-cover-chevron{display:block;width:12px;height:12px;border-top:3px solid currentColor;border-right:3px solid currentColor;box-sizing:border-box;transform-origin:center}.hotel-cover-nav-prev .hotel-cover-chevron{transform:rotate(-135deg)}.hotel-cover-nav-next .hotel-cover-chevron{transform:rotate(45deg)}.hotel-cover-nav:hover{background:rgba(244,123,32,.94);transform:translateY(-50%) scale(1.06);box-shadow:0 14px 30px rgba(244,123,32,.24)}.hotel-cover-nav:focus-visible{outline:3px solid rgba(255,255,255,.92);outline-offset:3px}.hotel-cover-nav-prev{left:18px}.hotel-cover-nav-next{right:18px}.hotel-cover-nav[disabled]{opacity:.45;cursor:default}.hotel-cover-nav[disabled]:hover{transform:translateY(-50%);background:rgba(6,59,130,.82)}
@media(max-width:780px){.hotel-cover-nav{width:42px;height:42px;font-size:32px}.hotel-cover-nav-prev{left:12px}.hotel-cover-nav-next{right:12px}}
@media(max-width:460px){.hotel-cover-nav{width:38px;height:38px;font-size:29px}.hotel-cover-nav-prev{left:9px}.hotel-cover-nav-next{right:9px}}
@media(prefers-reduced-motion:reduce){.hotel-cover-nav{transition:none!important}}

@media(max-width:780px){.hotel-cover-chevron{width:11px;height:11px;border-width:3px}}
@media(max-width:460px){.hotel-cover-chevron{width:10px;height:10px;border-width:2.5px}}

/* 2026-08-15: Mobil taşma koruması ve küçük ekran optimizasyonu */
.hotel-detail-page{overflow-x:clip}
.wrap.hotel-detail-wrap{width:100%;max-width:1240px;flex:1 1 auto;min-width:0;box-sizing:border-box}
.hotel-detail-page .hotel-detail-main,.hotel-detail-page .hotel-hero,.hotel-detail-page .hotel-hero-intro,.hotel-detail-page .hotel-cover,.hotel-detail-page .hotel-cover-thumbs,.hotel-detail-page .hotel-map-card,.hotel-detail-page .hotel-detail-layout,.hotel-detail-page .hotel-detail-content,.hotel-detail-page .hotel-section,.hotel-detail-page .hotel-sticky-booking{max-width:100%;min-width:0;box-sizing:border-box}
.hotel-detail-page img,.hotel-detail-page iframe,.hotel-detail-page video{max-width:100%}
.hotel-reservation-form,.hotel-form-row,.hotel-reservation-form label{min-width:0;max-width:100%}
.hotel-reservation-form input,.hotel-reservation-form textarea,.hotel-reservation-form select{min-width:0;max-width:100%}

@media(max-width:780px){
 .hotel-detail-main{padding:10px 0 48px}
 .wrap.hotel-detail-wrap{width:100%;max-width:100%;padding:0 14px;margin:0}
 .hotel-breadcrumb{font-size:12px;line-height:1.45;gap:6px;margin:4px 0 18px;overflow-wrap:anywhere}
 .hotel-hero{width:100%;grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "cover" "thumbs" "map";column-gap:0;row-gap:12px}
 .hotel-hero-intro{width:100%;margin-bottom:2px}
 .hotel-hero h1{font-size:clamp(30px,9vw,38px);line-height:1.06;margin:10px 0 11px;overflow-wrap:anywhere}
 .hotel-location-line{font-size:13px;gap:5px;line-height:1.45;margin-bottom:12px}
 .hotel-lead{font-size:15px;line-height:1.65;margin-bottom:16px}
 .hotel-cover{width:100%;aspect-ratio:4/3;height:auto;min-height:0;border-radius:18px}
 .hotel-cover figcaption{left:12px;right:12px;bottom:12px;gap:8px;font-size:11px}
 .hotel-gallery-trigger{padding:8px 11px;font-size:11px;white-space:nowrap}
 .hotel-cover-nav{width:40px;height:40px}.hotel-cover-nav-prev{left:10px}.hotel-cover-nav-next{right:10px}
 .hotel-cover-thumbs{width:100%;max-width:100%;padding:14px 10px;gap:7px;border-radius:12px;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .hotel-cover-thumbs::-webkit-scrollbar{display:none}.hotel-cover-thumb{flex:0 0 82px;height:54px}
 .hotel-map-card{width:100%;height:auto;padding:13px;border-radius:18px}.hotel-map-card-themed:before{margin:-13px -13px 12px}
 .hotel-map-head-themed h2{font-size:20px}.hotel-mini-map-shell{padding:8px;border-radius:16px}.hotel-mini-map{height:210px;border-radius:13px}
 .hotel-mini-map-overlay{left:14px;right:14px;bottom:14px;padding:11px 12px;gap:6px}
 .hotel-mini-map-overlay strong{font-size:12px}.hotel-mini-map-overlay span{font-size:10px}.hotel-address{font-size:12px;margin:12px 2px 10px}
 .hotel-map-topline{gap:6px}.hotel-map-chip{min-height:28px;padding:5px 10px;font-size:10px}.hotel-map-highlights{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hotel-map-highlights>div{padding:10px}.hotel-map-highlights strong{font-size:12px}.hotel-map-highlights span{font-size:10px}.hotel-map-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hotel-map-meta span{min-width:0;padding:9px;font-size:10px;overflow-wrap:anywhere}.hotel-map-actions{grid-template-columns:minmax(0,1fr)}.hotel-map-button{padding:12px;font-size:12px}
 .hotel-quick-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.hotel-quick-facts>div{min-width:0;padding:12px}.hotel-quick-facts strong{font-size:12px;overflow-wrap:anywhere}
 .hotel-section-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;overflow:visible;margin:0 0 18px;padding:7px}
 .hotel-section-nav a{min-width:0;white-space:normal;text-align:center;padding:9px 7px;font-size:11px;line-height:1.25;overflow-wrap:anywhere}
 .hotel-detail-layout{display:block;width:100%}.hotel-detail-content{width:100%}.hotel-section{width:100%;padding:25px 0;scroll-margin-top:82px}
 .hotel-section-heading h2{font-size:24px;line-height:1.18;overflow-wrap:anywhere}.hotel-section-heading p{font-size:13px;line-height:1.6}.hotel-section>p{font-size:14px;line-height:1.7}
 .hotel-info-panels{grid-template-columns:minmax(0,1fr);gap:9px}.hotel-info-panels>div{min-width:0;padding:15px}
 .hotel-room-card{display:block;width:100%;border-radius:16px}.hotel-room-card>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.hotel-room-body{padding:15px;min-width:0}.hotel-room-top h3{font-size:19px}.hotel-room-body ul{grid-template-columns:minmax(0,1fr)}
 .hotel-amenity-grid{grid-template-columns:minmax(0,1fr)}.hotel-amenity-card{min-width:0;padding:16px}
 .hotel-distance-list>div{grid-template-columns:30px minmax(0,1fr);gap:7px 9px;padding:12px}.hotel-distance-list b,.hotel-distance-list small{grid-column:2}.hotel-distance-list small{line-height:1.4}
 .hotel-route-links{grid-template-columns:minmax(0,1fr)}.hotel-route-links a{min-width:0}
 .hotel-activity-grid{grid-template-columns:minmax(0,1fr)}
 .hotel-sticky-booking{position:static!important;width:100%;max-height:none!important;overflow:visible!important;margin:18px 0 0;padding:16px}
 .hotel-reservation-form{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:10px}.hotel-form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}
 .hotel-reservation-form input,.hotel-reservation-form textarea{font-size:16px}
 .hotel-lightbox{width:100vw;height:100dvh;box-sizing:border-box;padding:58px 12px 76px;overflow:hidden}.hotel-lightbox figure{max-width:100%;min-width:0}.hotel-lightbox figure img{max-width:100%;max-height:72dvh}
}
@media(max-width:480px){
 .wrap.hotel-detail-wrap{padding-left:10px;padding-right:10px}
 .hotel-hero h1{font-size:clamp(28px,9.5vw,34px)}.hotel-cover{aspect-ratio:1.18/1}.hotel-cover figcaption{left:9px;right:9px;bottom:9px}.hotel-gallery-trigger{padding:7px 9px;font-size:10px}
 .hotel-cover-nav{width:36px;height:36px}.hotel-cover-nav-prev{left:7px}.hotel-cover-nav-next{right:7px}.hotel-cover-thumb{flex-basis:72px;height:48px}
 .hotel-map-highlights,.hotel-map-meta,.hotel-map-actions{grid-template-columns:minmax(0,1fr)}.hotel-quick-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-form-row{grid-template-columns:minmax(0,1fr)}.hotel-mini-map{height:195px}
 .hotel-mini-map-overlay{flex-direction:column;align-items:flex-start}.hotel-mini-map-overlay span{text-align:left}.hotel-mini-map-tags{justify-content:flex-start}
}
@media(max-width:360px){
 .wrap.hotel-detail-wrap{padding-left:8px;padding-right:8px}.hotel-quick-facts{grid-template-columns:minmax(0,1fr)}.hotel-section-nav{grid-template-columns:minmax(0,1fr)}.hotel-gallery-trigger{max-width:62%;white-space:normal;text-align:center;line-height:1.2}.hotel-cover-thumb{flex-basis:66px;height:45px}
}
