/* Additional guest offers; namespaced so existing design is unchanged */
.kr-promo{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px 18px;padding:13px 22px;background:#f3e6d2;color:#392819;font:500 15px/1.4 Onest,Arial,sans-serif;text-align:center}
.kr-promo-label{font-size:10px;letter-spacing:.12em;color:#76512e}.kr-promo strong{font-size:16px}.kr-promo code{font:700 16px Onest,Arial,sans-serif;padding:4px 9px;border:1px dashed #916b45;border-radius:6px;user-select:all}.kr-promo a{color:#5a3824;font-weight:700;text-decoration:underline;text-underline-offset:3px}.kr-copy-code{border:1px solid #927053;color:#51341e;background:transparent;padding:7px 11px;border-radius:8px;cursor:pointer}
.kr-transfer{padding:85px 0;background:#f8f4ec;color:#3a2a20}.kr-transfer-inner{display:grid;grid-template-columns: minmax(0,1fr) minmax(0,1.15fr);gap:55px;align-items:start}.kr-transfer h2{font-size:clamp(36px,4.2vw,64px);line-height:1.09;margin:15px 0 20px}.kr-transfer-intro>p:last-child{font-size:17px;line-height:1.65;max-width:480px}.kr-transfer-form{display:grid;gap:14px;padding:27px;background:white;border:1px solid #e6dacc;border-radius:20px;box-shadow:0 15px 40px #412b1410}.kr-transfer-form label{display:grid;gap:7px;font:600 13px/1.3 Onest,Arial,sans-serif}.kr-transfer-form input:not([type=checkbox]),.kr-transfer-form select,.kr-transfer-form textarea{width:100%;min-width:0;border:1px solid #cdbfb0;border-radius:9px;padding:12px 11px;background:#fff;color:#35291f;font:400 15px Onest,Arial,sans-serif}.kr-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kr-transfer-form .kr-agree{display:flex;align-items:start;gap:10px;font-size:12px;font-weight:400;line-height:1.5}.kr-agree input{margin-top:3px;accent-color:#5a3824}.kr-agree a{color:#5a3824;text-decoration:underline}.kr-transfer-submit{padding:15px;border:0;border-radius:9px;background:#5a3824;color:white;font:700 15px Onest,Arial,sans-serif;cursor:pointer}.kr-transfer-submit:hover{background:#774f34}.kr-transfer-note{margin:0;font:400 12px/1.5 Onest,Arial,sans-serif;color:#655e56}@media(max-width:790px){.kr-transfer{padding:55px 0}.kr-transfer-inner{grid-template-columns:1fr;gap:20px}.kr-transfer-form{padding:18px}.kr-promo{gap:7px 12px}.kr-promo-label{width:100%}}@media(max-width:390px){.kr-form-row{grid-template-columns:1fr}}

/* HomeReserve search replaces the contact button in the first screen. */
.kr-hero-search{width:min(100%,730px);margin-top:20px;color:#392819;position:relative;z-index:2}
.kr-hero-search #hr-widget{width:100%;min-height:96px;box-sizing:border-box;background:#ead0a8;border-radius:8px;padding:8px;box-shadow:0 8px 26px #160d0855}
.kr-search-fallback{font-size:12px;color:#fff4df;margin-top:8px}
.kr-search-fallback a{color:#fff4df;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){
 .hero{height:auto;min-height:960px;max-height:none;overflow:hidden}
 .hero .hero-copy{position:relative;top:auto;bottom:auto;transform:none;padding-top:clamp(180px,31svh,300px);padding-bottom:185px}
 .kr-hero-search{width:100%;margin-top:19px}
 .kr-hero-search #hr-widget{min-height:100px;padding:6px}
 .hero-foot{bottom:25px}
}
@media(max-width:390px){.hero .hero-copy{padding-top:190px;padding-bottom:190px}}

/* Restrained attention cue for the 5% direct-booking offer. */
.kr-promo{position:relative;isolation:isolate;overflow:hidden;animation:kr-promo-breathe 8s ease-in-out infinite}
.kr-promo code{display:inline-block;animation:kr-code-glow 8s ease-in-out infinite}
@keyframes kr-promo-breathe{
  0%,55%,100%{background-color:#f3e6d2}
  70%,85%{background-color:#f9edd9}
}
@keyframes kr-code-glow{
  0%,55%,100%{box-shadow:0 0 0 0 rgba(145,107,69,0);border-color:#916b45}
  70%{box-shadow:0 0 0 5px rgba(145,107,69,.12);border-color:#6f462e}
  85%{box-shadow:0 0 0 1px rgba(145,107,69,.06);border-color:#916b45}
}
@media(prefers-reduced-motion:reduce){
 .kr-promo,.kr-promo code{animation:none!important}
}

/* FIX 2026-10-22: keep the promo BELOW the fixed header (not behind it).
   Desktop header is 86px; mobile uses --mobile-header:76px + safe area. */
.site-header:not(.scrolled){background-color:#5a3824}
.kr-promo{margin-top:calc(86px + env(safe-area-inset-top, 0px));scroll-margin-top:110px}
@media(max-width:700px), (max-width:950px) and (orientation:landscape){
  .kr-promo{margin-top:calc(var(--mobile-header, 76px) + env(safe-area-inset-top, 0px));scroll-margin-top:calc(var(--mobile-header, 76px) + 12px)}
}


/* Sticky, collapsible promo: always sits immediately below the fixed navigation. */
.kr-promo{
  position:sticky;
  top:var(--kr-header-offset,86px);
  z-index:25; /* Header and mobile menu have priority */
  min-height:56px;
  transition:padding .28s ease, min-height .28s ease, box-shadow .28s ease;
}
.kr-promo.is-compact{
  padding:6px 16px;
  min-height:39px;
  gap:6px 12px;
  box-shadow:0 5px 18px rgba(49,30,16,.14);
}
.kr-promo.is-compact .kr-promo-label,
.kr-promo.is-compact .kr-copy-code,
.kr-promo.is-compact > a{display:none}
.kr-promo.is-compact strong{font-size:13px}
.kr-promo.is-compact code{font-size:13px;padding:2px 7px}
@media(max-width:700px){
  .kr-promo.is-compact{flex-wrap:nowrap;justify-content:center;gap:6px 10px;padding:6px 8px;min-height:42px}
  .kr-promo.is-compact strong{font-size:12px}
  .kr-promo.is-compact > span:not(.kr-promo-label){font-size:12px;white-space:nowrap}
  .kr-promo.is-compact code{font-size:12px;padding:2px 5px}
}
@media(max-width:370px){
  .kr-promo.is-compact{gap:3px 7px}
  .kr-promo.is-compact strong,.kr-promo.is-compact > span:not(.kr-promo-label){font-size:11px}
  .kr-promo.is-compact code{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.kr-promo{transition:none}}
