:root{--ink:#062b63;--deep:#021e46;--line:#dfe5ed;--muted:#6c7a8d;--soft:#f5f7fa;--sans:"DM Sans","Noto Sans JP",sans-serif}*{box-sizing:border-box}.hotel-detail-page{margin:0;background:#fff;color:#172437;font-family:var(--sans)}.hotel-detail-breadcrumb{max-width:1180px;margin:0 auto;padding:40px 0 0;display:flex;gap:10px;align-items:center;color:#8793a2;font-size:9px}.hotel-detail-breadcrumb a{color:#68778b;text-decoration:none}.hotel-detail-breadcrumb b{max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-detail-heading{max-width:1180px;margin:0 auto;padding:50px 0 35px;display:flex;align-items:end;justify-content:space-between}.hotel-detail-heading p{margin:0 0 15px;color:#7d899a;font-size:9px;font-weight:700;letter-spacing:.18em}.hotel-detail-heading p span{letter-spacing:.06em}.hotel-detail-heading h1{max-width:900px;margin:0;color:var(--deep);font-size:clamp(32px,4vw,54px);line-height:1.4;letter-spacing:.02em}.hotel-heading-meta{margin-top:20px;display:flex;align-items:center;gap:13px;color:#6d798a;font-size:10px}.hotel-heading-meta b{color:var(--ink);font-size:13px}.hotel-heading-meta a{padding-left:14px;border-left:1px solid var(--line);color:var(--ink);font-weight:600;text-decoration:none}.heading-favorite{min-width:135px;padding:13px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:600 11px var(--sans);cursor:pointer}.hotel-gallery{position:relative;max-width:1180px;height:610px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr;gap:5px;overflow:hidden}.hotel-gallery-main,.hotel-gallery-side>div{background-position:center;background-size:cover}.hotel-gallery-side{display:grid;grid-template-rows:1fr 1fr;gap:5px}.hotel-gallery>span{position:absolute;right:18px;bottom:18px;padding:10px 14px;background:#fff;color:var(--ink);font-size:9px;font-weight:700;letter-spacing:.12em}.hotel-detail-anchor{position:sticky;z-index:12;top:0;max-width:1180px;margin:0 auto;display:flex;border:1px solid var(--line);border-top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.hotel-detail-anchor a{flex:1;padding:18px 12px;border-right:1px solid var(--line);color:#536176;text-align:center;font-size:10px;font-weight:600;text-decoration:none}.hotel-detail-anchor a:last-child{border-right:0}.hotel-detail-layout{max-width:1180px;margin:0 auto;padding:80px 0 120px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:65px;align-items:start}.hotel-detail-content>section{margin-bottom:90px}.hotel-intro>p,.detail-section-title>p{margin:0 0 14px;color:#7e8b9d;font-size:9px;font-weight:700;letter-spacing:.18em}.hotel-intro h2,.detail-section-title h2{margin:0;color:var(--deep);font-size:32px;line-height:1.55}.hotel-intro>div{margin-top:28px;color:#5e6d81;font-size:13px;line-height:2.2}.hotel-intro>nav{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px}.hotel-intro>nav a{padding:8px 12px;border:1px solid var(--line);color:#526176;font-size:9px;text-decoration:none}.hotel-facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.hotel-facts div{min-height:125px;padding:27px;display:flex;flex-direction:column;justify-content:space-between}.hotel-facts div+div{border-left:1px solid var(--line)}.hotel-facts small{color:#8491a3;font-size:8px;letter-spacing:.14em}.hotel-facts b{color:var(--deep);font-size:13px}.hotel-information dl{margin:35px 0 0;border-top:1px solid var(--line)}.hotel-information dl>div{padding:19px 0;display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--line)}.hotel-information dt{color:#768397;font-size:10px}.hotel-information dd{margin:0;color:#28364a;font-size:11px}.hotel-map-wrap .stay-map{margin-top:35px}.hotel-map-wrap .stay-map-heading{display:none}.hotel-map-wrap .stay-map-layout{border:1px solid var(--line)}.hotel-booking-aside{position:sticky;top:82px;padding:30px;border:1px solid var(--line);background:#fff;box-shadow:0 18px 45px rgba(3,34,76,.09)}.hotel-booking-aside small{color:#7d899a;font-size:8px}.hotel-booking-aside strong{display:block;margin:9px 0 18px;color:var(--deep);font-size:29px}.hotel-booking-aside [data-vacancy-available]>p{color:#68768a;font-size:10px;line-height:1.8}.hotel-booking-aside>a{margin:24px 0;padding:17px 18px;display:flex;justify-content:space-between;background:var(--ink);color:#fff;font-size:12px;font-weight:700;text-decoration:none}.hotel-booking-aside ul{margin:0;padding:19px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none}.hotel-booking-aside li{margin:7px 0;color:#68768a;font-size:9px}.hotel-booking-aside li:before{content:"✓";margin-right:8px;color:var(--ink)}.hotel-booking-aside button{width:100%;margin-top:20px;padding:13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer}.hotel-booking-aside button.detail-favorite{justify-content:center}.hotel-booking-aside em{display:block;margin-top:14px;color:#909aa8;text-align:center;font-size:7px;font-style:normal}.rakuten-booking{padding:45px;background:var(--deep);color:#fff}.detail-section-title.light p,.detail-section-title.light h2{color:#fff}.rakuten-booking-card{margin-top:30px;padding:26px;display:grid;grid-template-columns:1fr 235px;align-items:center;gap:30px;background:#fff;color:#1b283a}.rakuten-booking-card small{color:#788598;font-size:8px}.rakuten-booking-card strong{display:block;margin-top:5px;font-size:29px}.rakuten-booking-card p{color:#6d7b8e;font-size:10px}.rakuten-booking-card>a{padding:17px;display:flex;justify-content:space-between;background:var(--ink);color:#fff;font-size:11px;font-weight:700;text-decoration:none}.rakuten-booking>aside{margin-top:18px;display:flex;gap:12px;color:#b9c6d7}.rakuten-booking>aside b{font-size:9px}.rakuten-booking>aside p{margin:0;font-size:8px;line-height:1.8}.hotel-mobile-booking{display:none}.stay-date-tabs{margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}.stay-date-tabs a{padding:10px 18px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#d7deea;font-size:10px;font-weight:700;text-decoration:none;transition:background .18s ease,color .18s ease,border-color .18s ease}.stay-date-tabs a:hover{border-color:rgba(255,255,255,.55)}.stay-date-tabs a.is-selected{border-color:#fff;background:#fff;color:var(--deep)}.rakuten-booking-card{transition:opacity .15s ease}.rakuten-booking-card[aria-busy="true"]{opacity:.5;pointer-events:none}.rakuten-booking-card.rakuten-booking-empty{background:#f5f7fa}.rakuten-booking-card.rakuten-booking-empty [data-vacancy-message]{color:#5e6d81;font-size:11px;line-height:1.8}.stay-plan-detail{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:8px 0 0}.stay-plan-detail[hidden]{display:none}.stay-plan-detail b{color:#1b283a;font-size:11px;font-weight:700}.stay-plan-detail span{color:#6d7b8e;font-size:10px}.stay-plan-detail small{padding:3px 10px;border-radius:999px;background:#eaf3ea;color:#2f7a3f;font-size:8px;font-weight:700;letter-spacing:.04em}.stay-plan-detail small[hidden]{display:none}.stay-no-vacancy{margin:0;color:#a15b1f;font-size:11px;font-weight:700;line-height:1.7}.stay-no-vacancy[hidden]{display:none}.rakuten-booking-card.rakuten-booking-empty{background:#fdf6ee}.hotel-booking-aside .stay-no-vacancy{margin:9px 0 18px;padding:14px;border-radius:6px;background:#fdf6ee}.hotel-mobile-booking .stay-no-vacancy{color:#a15b1f;font-size:9px;font-weight:700}.stay-guest-options{margin:18px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:22px}.stay-night-tabs{display:flex;align-items:center;gap:10px}.stay-night-tabs>span{color:#b9c6d7;font-size:9px;font-weight:700;letter-spacing:.08em}.stay-night-tabs>div{display:flex;gap:6px}.stay-night-tabs button{padding:8px 14px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:transparent;color:#d7deea;font:700 10px var(--sans);cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.stay-night-tabs button:hover{border-color:rgba(255,255,255,.55)}.stay-night-tabs button.is-selected{border-color:#fff;background:#fff;color:var(--deep)}.stay-counter{display:flex;align-items:center;gap:10px}.stay-counter>span{display:grid;gap:2px}.stay-counter>span>b{color:#fff;font-size:10px;font-weight:700}.stay-counter>span>small{color:#b9c6d7;font-size:8px}.stay-counter>div{display:flex;align-items:center;gap:8px}.stay-counter button{width:26px;height:26px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:transparent;color:#fff;font:500 14px/1 var(--sans);cursor:pointer}.stay-counter button:hover{border-color:#fff}.stay-counter>div>b{min-width:14px;color:#fff;font-size:11px;text-align:center}.stay-date-tabs a[aria-disabled="true"],.stay-night-tabs button[aria-disabled="true"],.stay-counter button[aria-disabled="true"]{opacity:.5;pointer-events:none}
@media(max-width:1220px){.hotel-detail-breadcrumb,.hotel-detail-heading,.hotel-gallery,.hotel-detail-anchor,.hotel-detail-layout{margin-right:40px;margin-left:40px}.hotel-detail-layout{grid-template-columns:minmax(0,1fr) 280px;gap:40px}}
@media(max-width:900px){.hotel-gallery{height:480px}.hotel-detail-layout{display:block}.hotel-booking-aside{display:none}.hotel-detail-content>section{margin-bottom:65px}.hotel-mobile-booking{position:fixed;z-index:40;right:0;bottom:0;left:0;padding:10px 18px max(10px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;background:#fff;border-top:1px solid var(--line);box-shadow:0 -9px 25px rgba(3,34,76,.1)}.hotel-mobile-booking small{display:block;color:#788598;font-size:7px}.hotel-mobile-booking b{font-size:18px}.hotel-mobile-booking a{padding:14px 18px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;text-decoration:none}.hotel-detail-page .konya-site-footer{padding-bottom:76px}}
@media(max-width:650px){.hotel-detail-breadcrumb,.hotel-detail-heading,.hotel-gallery,.hotel-detail-anchor,.hotel-detail-layout{margin-right:20px;margin-left:20px}.hotel-detail-breadcrumb{padding-top:25px}.hotel-detail-heading{padding:35px 0 25px;align-items:start}.hotel-detail-heading h1{font-size:29px}.heading-favorite{min-width:46px;padding:12px}.heading-favorite span:last-child{display:none}.hotel-gallery{height:380px;grid-template-columns:1fr}.hotel-gallery-side{display:none}.hotel-detail-anchor{overflow-x:auto}.hotel-detail-anchor a{min-width:105px}.hotel-detail-layout{padding:55px 0 90px}.hotel-intro h2,.detail-section-title h2{font-size:25px}.hotel-facts{grid-template-columns:1fr 1fr}.hotel-facts div{min-height:105px}.hotel-facts div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.hotel-facts div:nth-child(4){border-top:1px solid var(--line)}.hotel-information dl>div{grid-template-columns:110px 1fr}.rakuten-booking{padding:28px 20px}.rakuten-booking-card{display:block}.rakuten-booking-card>a{margin-top:20px}.hotel-mobile-booking{padding-right:12px;padding-left:12px}}

/* Page guide: compact cards instead of a flat divided bar. */
.hotel-detail-anchor{--detail-anchor-count:4;top:96px;max-width:1180px;margin-top:24px;padding:8px;display:grid;grid-template-columns:repeat(var(--detail-anchor-count),minmax(0,1fr));gap:7px;border:1px solid #dfe5ed;background:rgba(255,255,255,.94);box-shadow:0 12px 32px rgba(3,34,76,.07);backdrop-filter:blur(12px)}
.hotel-detail-anchor.has-airport{--detail-anchor-count:5}
.hotel-detail-anchor a{min-width:0;min-height:66px;padding:10px 11px;display:grid;grid-template-columns:24px minmax(0,1fr) 15px;align-items:center;gap:8px;border:1px solid transparent;background:#f5f7fa;color:#526176;text-align:left;transition:.2s}
.hotel-detail-anchor a:last-child{border-right:1px solid transparent}
.hotel-detail-anchor a:hover{border-color:#062b63;background:#fff;color:#062b63;transform:translateY(-1px)}
.hotel-detail-anchor a>small{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#e5eaf1;color:#062b63;font-size:7px;font-weight:700}
.hotel-detail-anchor a>span{min-width:0;display:grid;gap:3px}
.hotel-detail-anchor a b{overflow:hidden;color:#172437;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.hotel-detail-anchor a em{overflow:hidden;color:#8491a2;font-size:7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.hotel-detail-anchor a>i{color:#7e8c9e;font-size:12px;font-style:normal;text-align:center}
.hotel-detail-anchor a:hover>small{background:#062b63;color:#fff}
.hotel-detail-anchor a:hover b,.hotel-detail-anchor a:hover>i{color:#062b63}
@media(max-width:1220px){.hotel-detail-anchor{grid-template-columns:repeat(var(--detail-anchor-count),minmax(155px,1fr));overflow-x:auto;scrollbar-width:none}.hotel-detail-anchor::-webkit-scrollbar{display:none}}
@media(max-width:650px){
  .hotel-detail-anchor{top:88px;margin:14px 12px 0;padding:5px;grid-template-columns:repeat(var(--detail-anchor-count),minmax(0,1fr));grid-auto-flow:row;gap:4px;overflow:visible;scroll-snap-type:none}
  .hotel-detail-anchor a{min-width:0;min-height:57px;padding:5px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;scroll-snap-align:none}
  .hotel-detail-anchor a>small{width:20px;height:20px;font-size:6px}
  .hotel-detail-anchor a>span{display:block;width:100%}
  .hotel-detail-anchor a b{display:block;font-size:8px;line-height:1.25;white-space:normal}
  .hotel-detail-anchor a em,.hotel-detail-anchor a>i{display:none}
}

/* Minimal in-page navigation. */
.hotel-detail-anchor{margin-top:0;padding:0;gap:0;border:0;border-top:1px solid #dfe5ed;border-bottom:1px solid #dfe5ed;background:#fff;box-shadow:none;backdrop-filter:none}
.hotel-detail-anchor a{min-height:58px;padding:9px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-right:1px solid #e1e7ee;background:transparent;text-align:left;transform:none}
.hotel-detail-anchor a:last-child{border-right:0}
.hotel-detail-anchor a:hover{border-color:#e1e7ee;background:#f5f7fa;color:#062b63;transform:none}
.hotel-detail-anchor a>span{display:grid;gap:3px}
.hotel-detail-anchor a b{font-size:10px}
.hotel-detail-anchor a em{font-size:7px}
.hotel-detail-anchor a>i{font-size:11px}
@media(max-width:650px){
  .hotel-detail-anchor{top:88px;width:100%;max-width:none;margin:0;padding:0;gap:0;border:0;border-bottom:1px solid #dfe5ed;box-shadow:none}
  .hotel-detail-anchor a{min-height:50px;padding:0 3px;display:flex;align-items:center;justify-content:center;border:0;background:#fff;text-align:center}
  .hotel-detail-anchor a:hover{border:0;background:#fff}
  .hotel-detail-anchor a>span{display:block}
  .hotel-detail-anchor a b{font-size:8px;white-space:nowrap}
  .hotel-detail-anchor a em,.hotel-detail-anchor a>i{display:none}
}

/* Desktop booking card: compact hierarchy and a clearer Rakuten hand-off. */
@media(min-width:901px){
  .hotel-detail-layout{grid-template-columns:minmax(0,1fr) 320px;gap:56px}
  .hotel-booking-aside{top:174px;padding:0 26px 22px;border:1px solid #dce3eb;border-top:3px solid var(--ink);box-shadow:0 16px 42px rgba(3,34,76,.08)}
  .hotel-booking-aside-title{margin:0 -26px;padding:20px 26px 17px;border-bottom:1px solid #e6ebf1;display:grid;gap:4px}
  .hotel-booking-aside-title span{color:#778599;font-size:8px;font-weight:700;letter-spacing:.14em}
  .hotel-booking-aside-title b{color:var(--deep);font-size:15px;letter-spacing:.02em}
  .hotel-booking-aside-price{padding:22px 0 0}
  .hotel-booking-aside-price>small{display:block;color:#748196;font-size:8px;line-height:1.65}
  .hotel-booking-aside-price>div{margin-top:7px;display:flex;align-items:baseline;gap:7px}
  .hotel-booking-aside-price strong{margin:0;color:var(--deep);font-size:32px;line-height:1.15;letter-spacing:-.02em}
  .hotel-booking-aside-price>div>span{color:#778599;font-size:9px;font-weight:700}
  .hotel-booking-aside-price>p{margin:14px 0 0;color:#647287;font-size:9px;line-height:1.75}
  .hotel-booking-aside>a{margin:20px 0 0;padding:16px 17px;align-items:center;background:var(--ink);font-size:11px;transition:background .18s ease,transform .18s ease}
  .hotel-booking-aside>a:hover{background:var(--deep);transform:translateY(-1px)}
  .hotel-booking-aside>a i{font-size:13px;font-style:normal}
  .hotel-booking-aside-note{margin-top:17px;padding:15px 0 2px;border-top:1px solid #e6ebf1}
  .hotel-booking-aside-note>span{color:var(--deep);font-size:8px;font-weight:700;letter-spacing:.08em}
  .hotel-booking-aside-note ul{margin:8px 0 0;padding:0;border:0}
  .hotel-booking-aside-note li{margin:5px 0;padding-left:14px;position:relative;color:#6f7c8e;font-size:8px;line-height:1.6}
  .hotel-booking-aside-note li:before{content:"";width:5px;height:5px;margin:0;position:absolute;top:.52em;left:0;border:1px solid #7890ad;border-radius:50%}
  .hotel-booking-aside button{margin-top:17px;padding:12px;border-color:#d8e0e9;border-radius:4px;font:600 10px var(--sans);transition:border-color .18s ease,background .18s ease}
  .hotel-booking-aside button:hover{border-color:#9aabba;background:#f7f9fb}
  .hotel-booking-aside button [data-favorite-icon]{margin-right:7px;font-size:15px;line-height:1}
  .hotel-booking-aside em{margin-top:11px;font-size:6px;letter-spacing:.06em}
}
@media(min-width:901px) and (max-width:1220px){
  .hotel-detail-layout{grid-template-columns:minmax(0,1fr) 288px;gap:34px}
  .hotel-booking-aside{padding-right:22px;padding-left:22px}
  .hotel-booking-aside-title{margin-right:-22px;margin-left:-22px;padding-right:22px;padding-left:22px}
}

/* Mobile page guide: full-width tap targets divided like the desktop guide. */
@media(max-width:650px){
  .hotel-detail-anchor a{min-height:54px;padding:0 6px;display:grid;grid-template-columns:minmax(0,1fr) 10px;gap:2px;border-right:1px solid #dfe5ed;color:#44546a}
  .hotel-detail-anchor a:last-child{border-right:0}
  .hotel-detail-anchor a:hover,.hotel-detail-anchor a:focus-visible{border-right-color:#dfe5ed;background:#f7f9fb}
  .hotel-detail-anchor a:last-child:hover,.hotel-detail-anchor a:last-child:focus-visible{border-right:0}
  .hotel-detail-anchor a>span{min-width:0;text-align:center}
  .hotel-detail-anchor a b{font-size:8px;line-height:1.3}
  .hotel-detail-anchor a em{display:none}
  .hotel-detail-anchor a>i{display:block;color:#6f8095;font-size:9px;line-height:1;text-align:center}
}

/* Tighter section rhythm on hotel detail pages for mobile. */
@media(max-width:650px){
  .hotel-detail-layout{padding-top:34px;padding-bottom:68px}
  .hotel-detail-content>section{margin-bottom:40px}
  .hotel-detail-content>section:last-child{margin-bottom:0}
  .hotel-intro>p,.detail-section-title>p{margin-bottom:9px}
  .hotel-intro h2,.detail-section-title h2{line-height:1.45}
  .hotel-intro>div{margin-top:17px;line-height:1.9}
  .hotel-intro>nav{margin-top:17px}
  .hotel-information dl{margin-top:23px}
  .hotel-information dl>div{padding:15px 0}
  .hotel-map-wrap .stay-map{margin-top:23px}
  .rakuten-booking{padding:24px 18px}
  .rakuten-booking-card{margin-top:21px;padding:20px}
  .rakuten-booking>aside{margin-top:13px}
}

/* Readable supporting type and a denser desktop section rhythm. */
.hotel-detail-layout{padding-top:64px}
.hotel-detail-content>section{margin-bottom:58px}
.hotel-intro>p,.detail-section-title>p{font-size:10px}
.hotel-detail-anchor a b{font-size:11px}
.hotel-detail-anchor a em{font-size:9px}
.hotel-facts div{min-height:105px;padding:22px}
.hotel-facts small{font-size:9px}
.hotel-facts b{font-size:14px}
.hotel-information dl{margin-top:28px}
.hotel-information dt{font-size:11px}
.hotel-information dd{font-size:12px}
.hotel-booking-aside small,.rakuten-booking-card small{font-size:9px}
.hotel-booking-aside li,.rakuten-booking>aside b{font-size:10px}
.hotel-booking-aside em,.rakuten-booking>aside p{font-size:8px}
@media(max-width:650px){
  .hotel-detail-layout{padding-top:30px}
  .hotel-detail-content>section{margin-bottom:36px}
  .hotel-detail-content>section:last-child{margin-bottom:0}
  .hotel-detail-anchor a b{font-size:9px}
  .hotel-detail-anchor a>i{font-size:10px}
  .hotel-facts div{min-height:92px;padding:17px}
  .hotel-facts small{font-size:9px}
}

/* Compact fact cells with clearer values. */
.hotel-facts div{min-height:88px;padding:17px 22px;justify-content:center;gap:12px}
.hotel-facts b{font-size:16px;line-height:1.35}
@media(max-width:650px){
  .hotel-facts div{min-height:80px;padding:14px 16px;gap:9px}
  .hotel-facts b{font-size:16px}
}
