/* StayWhere Studio v2 visual bridge for KTO WebApp v5.3.38.
   Cosmetic only: URLs, IDs, meta, partner link anchors & plugin events untouched. */
:root {--swv2-ink:#15233d;--swv2-muted:#77849a;--swv2-brand:#2672ff;--swv2-bg:#f4f8ff;--swv2-edge:#e7eef8;--swv2-pink:#f62963;}
body.swkto-local-body,body.swkto-app-page,body:has(.swkto-local-home) {background:var(--swv2-bg)!important;color:var(--swv2-ink)!important;}
/* KTO plugin owns its own header and content shell. Do not duplicate theme UI. */
body:has(.swkto-app-shell) .sw-studio-header,body:has(.swkto-app-shell) .sw-studio-footer{display:none!important;}
body:has(.swkto-app-shell) .sw-studio-main,body:has(.swkto-app-shell) .sw-studio-main--plugin,
body:has(.swkto-app-shell) .sw-studio-main--front{padding:0!important;margin:0 auto!important;max-width:none!important;background:transparent!important;box-shadow:none!important;}
body:has(.swkto-app-shell) .sw-studio-main > .elementor,body:has(.swkto-app-shell) .sw-studio-main .elementor-widget-shortcode{max-width:none!important;}
/* App wrapper */
body .swkto-local.swkto-app-shell {max-width:470px!important;width:min(470px,100vw)!important;margin:0 auto!important;background:#fff!important;box-shadow:0 12px 54px rgba(30,64,124,.065)!important;border:0!important;border-radius:0!important;overflow:visible!important;}
body .swkto-local.swkto-app-shell .swapp-header{border-bottom:1px solid var(--swv2-edge)!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(16px)!important;z-index:140!important;}
body .swkto-local.swkto-app-shell .swapp-logo{color:var(--swv2-ink)!important;font-weight:950!important;letter-spacing:-.05em!important;}
body .swkto-local.swkto-app-shell .swapp-content{background:#fff!important;}
/* Home hero is plugin setting-owned image; copy is visual overlay, not a new SEO heading. */
body .swkto-local.swkto-local-home .swm-home-hero{
  position:relative!important;height:248px!important;min-height:248px!important;overflow:hidden!important;
  background-color:#bfdcf4!important;border-radius:0 0 30px 30px!important;
}
body .swkto-local.swkto-local-home .swm-home-hero:before{content:'어디로 떠나세요?';position:absolute;z-index:2;left:22px;bottom:62px;color:#fff;font-size:29px;font-weight:950;letter-spacing:-.06em;text-shadow:0 2px 14px rgba(0,0,0,.28);}
body .swkto-local.swkto-local-home .swm-home-hero:after{content:'머물 곳을 더 쉽고, 빠르게 찾아보세요';position:absolute;z-index:2;left:23px;bottom:38px;color:#fff;font-size:13px;font-weight:650;text-shadow:0 2px 12px rgba(0,0,0,.28);}
body .swkto-local.swkto-local-home .swm-home-search-wrap{position:relative!important;z-index:5!important;margin-top:-18px!important;}
body .swkto-local.swkto-local-home .swm-home-search{min-height:54px!important;border:1px solid var(--swv2-edge)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 28px rgba(27,73,137,.13)!important;}
body .swkto-local.swkto-local-home .swm-home-search button{background:var(--swv2-brand)!important;border-radius:13px!important;font-weight:850!important;}
body .swkto-local.swkto-local-home .swm-home-region-wrap {padding-top:17px!important;}
body .swkto-local.swkto-local-home .swm-home-quick{gap:8px!important;scrollbar-width:none!important;}
body .swkto-local.swkto-local-home .swm-home-quick a{border:1px solid #e6edf8!important;border-radius:14px!important;background:#f6f9ff!important;color:#445571!important;font-weight:800!important;}
body .swkto-local.swkto-local-home .swm-home-quick a.is-active{color:#fff!important;background:var(--swv2-brand)!important;border-color:var(--swv2-brand)!important;}
body .swkto-local.swkto-local-home .swm-home-content{padding-bottom:100px!important;}
body .swkto-local.swkto-local-home .swm-home-section-head h2, body .swkto-local.swkto-local-home .swkto-section-head h2{font-size:21px!important;font-weight:950!important;letter-spacing:-.055em!important;color:var(--swv2-ink)!important;}
body .swkto-local.swkto-local-home .swkto-stay-grid{gap:12px!important;}
body .swkto-local.swkto-local-home .swkto-stay-card{border:1px solid var(--swv2-edge)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 10px 24px rgba(28,59,105,.055)!important;overflow:hidden!important;}
body .swkto-local.swkto-local-home .swkto-stay-card img{object-fit:cover!important;}
body .swkto-local.swkto-local-home .swkto-stay-card-body{padding:12px!important;}
body .swkto-local.swkto-local-home .swkto-stay-card-body h3{font-size:15px!important;font-weight:920!important;color:var(--swv2-ink)!important;line-height:1.35!important;}
body .swkto-local.swkto-local-home .swkto-card-tags{flex-wrap:wrap!important;}
body .swkto-local.swkto-local-home .swkto-card-tags span{color:#395e96!important;background:#eef5ff!important;border:0!important;border-radius:11px!important;}
body .swkto-local.swkto-local-home .swkto-card-link{color:var(--swv2-brand)!important;}
body .swkto-local.swkto-local-home .swm-home-benefit{border-radius:19px!important;box-shadow:0 8px 22px rgba(28,59,105,.06)!important;}
/* The KTO detail template bypasses the WordPress theme template and writes its own document.
   Deliberately target only its classes; do not change #stay URL or re-render affiliate links. */
html body.swkto-local-body .swm-page{background:#fff!important;color:var(--swv2-ink)!important;max-width:470px!important;width:min(470px,100vw)!important;padding-bottom:calc(122px + env(safe-area-inset-bottom))!important;box-shadow:0 10px 50px rgba(30,64,124,.08)!important;}
html body.swkto-local-body .swm-hero{height:306px!important;}
html body.swkto-local-body .swm-head{padding:22px 20px 12px!important;}
html body.swkto-local-body .swm-head h1{font-size:27px!important;font-weight:950!important;line-height:1.25!important;color:var(--swv2-ink)!important;}
html body.swkto-local-body .swm-chip{background:#edf5ff!important;color:#3066af!important;border-radius:999px!important;padding:4px 9px!important;}
html body.swkto-local-body .swm-ai{border:1px solid #e4ebff!important;background:linear-gradient(125deg,#f8fbff,#f3f7ff)!important;box-shadow:none!important;border-radius:20px!important;}
html body.swkto-local-body .swm-ai strong{color:#2771eb!important;}
html body.swkto-local-body .swm-badges{border:1px solid var(--swv2-edge)!important;border-radius:19px!important;box-shadow:none!important;}
html body.swkto-local-body .swm-section{padding:2px 16px 16px!important;}
html body.swkto-local-body .swm-card{border-radius:22px!important;border:1px solid var(--swv2-edge)!important;box-shadow:0 8px 24px rgba(40,70,114,.05)!important;}
html body.swkto-local-body .swm-card-head h2{font-size:19px!important;line-height:1.35!important;font-weight:950!important;color:var(--swv2-ink)!important;}
html body.swkto-local-body .swm-review-item,html body.swkto-local-body .swm-precheck-grid{border-color:var(--swv2-edge)!important;}
html body.swkto-local-body .swm-precheck-item{border-bottom:1px solid var(--swv2-edge)!important;}
html body.swkto-local-body .swm-precheck-item:last-child{border-bottom:0!important;}
html body.swkto-local-body .swm-precheck-item strong{font-size:14px!important;}
html body.swkto-local-body .swm-cta-box{background:#f7faff!important;border-color:#e7efff!important;border-radius:20px!important;box-shadow:none!important;}
/* Keep the original affiliate <a href> tags, rel="sponsored", and plugin click handler. */
html body.swkto-local-body .swm-cta-list{display:grid!important;gap:9px!important;grid-template-columns:repeat(auto-fit,minmax(125px,1fr))!important;}
html body.swkto-local-body .swm-cta{min-width:0!important;height:53px!important;border-radius:15px!important;color:#fff!important;font-size:13.5px!important;font-weight:900!important;letter-spacing:-.04em!important;padding:5px 8px!important;text-align:center!important;line-height:1.25!important;box-shadow:0 9px 20px rgba(45,78,126,.12)!important;}
html body.swkto-local-body .swm-cta.is-yanolja{background:#ff246a!important;border-color:#ff246a!important;}
html body.swkto-local-body .swm-cta.is-yeogi{background:#226dfa!important;border-color:#226dfa!important;}
html body.swkto-local-body .swm-cta-list .swm-cta:only-child{font-size:15px!important;}
html body.swkto-local-body .swm-sticky{max-width:470px!important;width:min(470px,100vw)!important;background:rgba(255,255,255,.97)!important;border-top:1px solid var(--swv2-edge)!important;box-shadow:0 -10px 36px rgba(25,56,108,.095)!important;z-index:1000!important;padding:11px 12px calc(11px + env(safe-area-inset-bottom))!important;backdrop-filter:blur(16px)!important;}
html body.swkto-local-body .swm-sticky .swm-cta-list{gap:9px!important;}
/* New strictly evidence-based feature highlights. Only photo tagged by operator to matching
   feature gets an <img>. Without photo, card uses a geometric icon background. */
html body.swkto-local-body .swv2-feature-section{margin:17px 0 13px;padding:18px 0 0;background:#fff;color:var(--swv2-ink);}
html body.swkto-local-body .swv2-feature-heading{padding:0 3px 12px;}
html body.swkto-local-body .swv2-feature-heading span{font-size:10px;letter-spacing:.14em;color:#3e7ced;font-weight:950;}
html body.swkto-local-body .swv2-feature-heading h2{margin:5px 0 3px;font-size:21px;letter-spacing:-.055em;font-weight:950;line-height:1.25;color:#15233d;}
html body.swkto-local-body .swv2-feature-heading p{margin:0;font-size:12px;color:#8290a4;font-weight:650;}
html body.swkto-local-body .swv2-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
html body.swkto-local-body .swv2-feature-card{height:148px;min-width:0;position:relative;display:flex;align-items:flex-end;overflow:hidden;border-radius:20px;border:1px solid #e1ebfd;background:linear-gradient(150deg,#e2f3ff,#f0f5ff 60%,#e8eeff);}
html body.swkto-local-body .swv2-feature-card:nth-child(2n){background:linear-gradient(160deg,#e7f8f5,#edf5ff 70%,#e4edff);}
html body.swkto-local-body .swv2-feature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
html body.swkto-local-body .swv2-feature-card.has-photo:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(11,27,51,.76));}
html body.swkto-local-body .swv2-feature-symbol{position:absolute;left:13px;top:12px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:15px;color:#2672ff;background:rgba(255,255,255,.79);box-shadow:0 4px 12px rgba(25,50,105,.07);}
html body.swkto-local-body .swv2-feature-copy{position:relative;z-index:2;padding:13px;display:grid;gap:4px;}
html body.swkto-local-body .swv2-feature-copy strong{font-size:17px;font-weight:950;color:#14304f;}
html body.swkto-local-body .swv2-feature-copy small{color:#617795;font-size:11px;line-height:1.4;font-weight:650;word-break:keep-all;}
html body.swkto-local-body .swv2-feature-card.has-photo .swv2-feature-copy strong,html body.swkto-local-body .swv2-feature-card.has-photo .swv2-feature-copy small{color:#fff;}
html body.swkto-local-body .swv2-feature-disclaimer{padding:10px 2px 0;margin:0;font-size:11px;line-height:1.55;color:#8894a5;}
/* Affiliated external links remain distinguishable as providers, never as a fake best-price claim. */
html body.swkto-local-body .swm-notice{font-size:11px!important;}
/* This bottom navigation is reserved for app pages: detail keeps its booking bar instead. */
.swv2-bottom-dock{position:fixed;z-index:10000;left:50%;bottom:0;transform:translateX(-50%);width:min(470px,100vw);min-height:69px;display:flex;align-items:stretch;justify-content:space-around;gap:2px;padding:7px 7px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--swv2-edge);box-shadow:0 -10px 30px rgba(25,56,108,.09);backdrop-filter:blur(16px);}
.swv2-bottom-dock a{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border-radius:12px;text-decoration:none!important;font-size:10px;font-weight:850;color:#9da7b7!important;}
.swv2-bottom-dock a svg{width:21px;height:21px;flex-shrink:0;}
.swv2-bottom-dock a.is-active{color:#2672ff!important;background:#edf5ff!important;}
body:has(.swv2-bottom-dock) .swkto-app-shell {padding-bottom:90px!important;}
body:has(.swv2-bottom-dock) .swm-home-content{padding-bottom:100px!important;}
@media(max-width:640px){
  html body.swkto-local-body .swm-page{max-width:100vw!important;width:100vw!important;margin:0!important;box-shadow:none!important;left:0!important;}
  html body.swkto-local-body .swm-sticky{max-width:100vw!important;width:100vw!important;left:0!important;right:0!important;transform:none!important;}
  body .swkto-local.swkto-app-shell{max-width:100vw!important;width:100vw!important;box-shadow:none!important;}
  html body.swkto-local-body .swm-hero{height:280px!important;}
  body .swkto-local.swkto-local-home .swm-home-hero{height:236px!important;min-height:236px!important;}
  html body.swkto-local-body .swv2-feature-card{height:139px;}
}
@media(max-width:355px){html body.swkto-local-body .swm-cta{font-size:11.5px!important;}html body.swkto-local-body .swv2-feature-copy strong{font-size:15px;}}

html body.swkto-local-body .swm-cta.swv2-generic-booking{background:#37455f!important;}
