/* SAKURA SEOUL NAV V11 — centered portrait mobile popup */
.sakura-regionnav-lock,.sakura-regionnav-lock body{overflow:hidden!important}
.sakura-regionnav-open{display:inline-flex;align-items:center;gap:6px;padding:10px 4px;border:0;background:none;cursor:pointer;font:800 14px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#30282b}
.sakura-regionnav-open span{color:#c95d7e;font-size:12px}

.sakura-regionnav-modal[hidden]{display:none!important}
body>.sakura-regionnav-modal,
.sakura-regionnav-modal{position:fixed!important;inset:0!important;z-index:2147483640!important;width:100vw!important;height:100vh!important;height:100dvh!important;display:grid!important;place-items:center!important;padding:18px!important;margin:0!important;background:rgba(30,18,22,.52)!important;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.sakura-regionnav-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}

.sakura-regionnav-dialog{position:relative!important;width:min(920px,calc(100vw - 36px))!important;max-height:calc(100dvh - 36px)!important;margin:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border:1px solid #efd5de!important;border-radius:20px!important;background:#fff!important;box-shadow:0 28px 85px rgba(64,31,43,.32)!important;opacity:0;transform:translateY(14px) scale(.97);transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s ease}
.sakura-regionnav-modal.is-open .sakura-regionnav-dialog{opacity:1;transform:translateY(0) scale(1)}

.sakura-regionnav-close{position:absolute!important;top:8px!important;right:8px!important;z-index:50!important;width:38px!important;height:38px!important;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;border:1px solid #e8bdcb!important;border-radius:50%!important;background:#fff!important;color:#a63f62!important;box-shadow:0 3px 12px rgba(87,43,59,.14)!important;font:400 27px/1 Arial,sans-serif!important;cursor:pointer!important}
.sakura-regionnav-close:hover{background:#fff0f5!important}
.sakura-regionnav-close span{display:block;transform:translateY(-1px)}

.sakura-regionnav-head{flex:0 0 auto;min-height:52px;display:flex;align-items:center;gap:9px;padding:9px 54px 8px 14px;border-bottom:1px solid #f1dbe2;background:linear-gradient(135deg,#fff9fb,#ffeff4)}
.sakura-regionnav-back{flex:0 0 auto;padding:6px 9px;border:1px solid #eac9d4;border-radius:999px;background:#fff;color:#a94969;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap}
.sakura-regionnav-titlewrap{min-width:0;display:flex;flex-direction:column}
.sakura-regionnav-titlewrap>small{color:#c45a7a;font-size:7px;font-weight:900;letter-spacing:.16em}
.sakura-regionnav-titlewrap>strong{margin-top:1px;color:#30282b;font-size:16px;line-height:1.2}

.sakura-regionnav-homegate{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:12px;margin:10px 12px 6px;padding:11px 12px;border:1px solid #efc9d6;border-radius:14px;background:linear-gradient(135deg,#fff2f6,#fffafb)}
.sakura-regionnav-homecopy{min-width:0;display:flex;flex-direction:column}
.sakura-regionnav-homecopy strong{color:#35282d;font-size:15px;line-height:1.2}
.sakura-regionnav-homecopy span{margin-top:3px;color:#79666d;font-size:10px;line-height:1.35}
.sakura-regionnav-homebtn{min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border-radius:11px;background:#bd4f73;color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:900;white-space:nowrap;box-shadow:0 8px 18px rgba(189,79,115,.2)}
.sakura-regionnav-homebtn:hover{background:#a94164}
.sakura-regionnav-homebtn b{font-size:16px}

.sakura-regionnav-sectionhead{flex:0 0 auto;padding:3px 14px 5px;color:#735d65;font-size:10px;font-weight:900}
.sakura-regionnav-body{min-height:0;padding:0 12px 12px;background:#fff;overflow:auto;overscroll-behavior:contain}
.sakura-regionnav-dialog.is-root .sakura-regionnav-body{overflow:visible!important}
.sakura-regionnav-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.sakura-regionnav-item{min-width:0;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:4px;padding:6px 9px;border:1px solid #edd6de;border-radius:9px;background:#fff;color:#30282b!important;text-decoration:none!important;transition:background .14s ease,border-color .14s ease,transform .14s ease}
.sakura-regionnav-item:hover{background:#fff3f7;border-color:#e2aabd;transform:translateY(-1px)}
.sakura-regionnav-item strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.1}
.sakura-regionnav-item>span{flex:0 0 auto;color:#c95d7e;font-size:14px;line-height:1}
.sakura-regionnav-overview{grid-column:1/-1;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:9px;background:#342b2e;color:#fff!important;text-decoration:none!important}
.sakura-regionnav-overview strong{font-size:11px}.sakura-regionnav-overview span{color:#ffb8cc;font-size:15px}
.sakura-regionnav-dialog.is-drill .sakura-regionnav-list{grid-template-columns:repeat(4,minmax(0,1fr))}
.sakura-regionnav-dialog.is-drill .sakura-regionnav-body{overflow:auto!important}

@media(max-width:767px){
  body>.sakura-regionnav-modal,.sakura-regionnav-modal{place-items:center!important;padding:12px!important}
  /* Mobile: deliberately narrower and taller than V10 so the popup reads as a portrait rectangle, not a tiny square. */
  .sakura-regionnav-dialog{width:min(410px,calc(100vw - 24px))!important;max-height:calc(100dvh - 24px)!important;border-radius:18px!important}
  .sakura-regionnav-head{min-height:48px;padding:7px 50px 6px 11px}
  .sakura-regionnav-titlewrap>strong{font-size:14.5px}.sakura-regionnav-titlewrap>small{font-size:6.5px}.sakura-regionnav-back{padding:5px 7px;font-size:9px}
  .sakura-regionnav-close{top:6px!important;right:6px!important;width:35px!important;height:35px!important;font-size:25px!important}
  .sakura-regionnav-homegate{display:block;margin:8px 9px 6px;padding:9px 10px;border-radius:12px}
  .sakura-regionnav-homecopy strong{font-size:13.5px}.sakura-regionnav-homecopy span{margin-top:3px;font-size:9.3px;line-height:1.35}
  .sakura-regionnav-homebtn{width:100%;min-height:36px;margin-top:7px;padding:0 9px;border-radius:9px;font-size:10.8px}
  .sakura-regionnav-sectionhead{padding:3px 10px 5px;font-size:9.3px}
  .sakura-regionnav-body{padding:0 9px 9px}
  /* 25 gu => 3 columns / 9 rows. Still fits normal phones without scrolling, while labels stay readable. */
  .sakura-regionnav-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .sakura-regionnav-item{min-height:29px;padding:5px 7px;border-radius:8px}.sakura-regionnav-item strong{font-size:10.4px}.sakura-regionnav-item>span{font-size:12px}
  .sakura-regionnav-overview{min-height:33px;padding:5px 8px;border-radius:8px}.sakura-regionnav-overview strong{font-size:10px}
  .sakura-regionnav-dialog.is-drill .sakura-regionnav-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:360px){
  body>.sakura-regionnav-modal,.sakura-regionnav-modal{padding:8px!important}
  .sakura-regionnav-dialog{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important}
  .sakura-regionnav-list{gap:3px}.sakura-regionnav-item{min-height:27px;padding:4px 5px}.sakura-regionnav-item strong{font-size:9.8px}
  .sakura-regionnav-homecopy strong{font-size:12.5px}.sakura-regionnav-homecopy span{font-size:8.8px}
}
@media(prefers-reduced-motion:reduce){.sakura-regionnav-modal,.sakura-regionnav-dialog,.sakura-regionnav-item{transition:none!important}}
