/* Existing chrome geometry and typography remain the reference contract. */
/* Template-part flow spacing is not part of the original full-bleed layout. */
.wp-theme-sanbo .wp-site-blocks > :is(#wrapper, .wp-block-template-part) { margin-block: 0; }
/* The Korean display font maps Cyrillic to blank glyphs. Reuse the original MN
   Cyrillic-only serif subsets, keeping Cafe24 for Latin and the Korean geometry. */
@font-face { font-family: 'SanboFullMnSerif'; font-weight: 400; font-display: swap; src: url("/wp-content/themes/sanbo/assets/international/mn/font/noto-serif-cyrillic-400.woff2") format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'SanboFullMnSerif'; font-weight: 400; font-display: swap; src: url("/wp-content/themes/sanbo/assets/international/mn/font/noto-serif-cyrillic-ext-400.woff2") format('woff2'); unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family: 'SanboFullMnSerif'; font-weight: 600; font-display: swap; src: url("/wp-content/themes/sanbo/assets/international/mn/font/noto-serif-cyrillic-600.woff2") format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'SanboFullMnSerif'; font-weight: 600; font-display: swap; src: url("/wp-content/themes/sanbo/assets/international/mn/font/noto-serif-cyrillic-ext-600.woff2") format('woff2'); unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family: 'SanboFullMnSerif'; font-weight: 700; font-display: swap; src: url("/wp-content/themes/sanbo/assets/international/mn/font/noto-serif-cyrillic-700.woff2") format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'SanboFullMnSerif'; font-weight: 700; font-display: swap; src: url("/wp-content/themes/sanbo/assets/international/mn/font/noto-serif-cyrillic-ext-700.woff2") format('woff2'); unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
.sanbo-full-mn .ff01 { font-family: 'SanboFullMnSerif', 'Cafe24Danjeonghae', serif; }
.sanbo-full-languages { position: fixed; left: 12px; bottom: 12px; z-index: 99990; display: flex; gap: 6px; padding: 6px; background: white; color: inherit; font-size: 12px; }
.sanbo-full-languages a, .sanbo-full-languages span { display: block; padding: 6px; text-align: center; }
.sanbo-full-languages [aria-current] { font-weight: bold; text-decoration: underline; text-underline-offset: 3px; }
.sanbo-full-languages [aria-disabled], #hd .r1 [aria-disabled] { opacity: .5; }
#hd .r1 span[aria-disabled] { display: inline-block; margin-left: 5px; }
#hd .r1 span[aria-disabled] img { height: 25px; }
.sanbo-full-languages a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
#hd .r1 .sanbo-header-ko { display: none; }
.sanbo-full-localized :is(.gnb_1da, .gnb_2da, .gnb2_1da, .gnb2_2da, .menu-box, .quick, .quickm, .ft_info, .ft_wr, .ft_mapBox) { overflow-wrap: anywhere; word-break: normal; }
.sanbo-full-localized :is(.gnb_1da, .gnb_2da, .quickm span) { white-space: normal; }
.sanbo-full-localized, .sanbo-full-localized #container { overflow-wrap: anywhere; word-break: normal; }
.sanbo-full-localized #gnb_1dul { display: flex; justify-content: center; }
.sanbo-full-localized #gnb_1dul > .gnb_1dli { flex: 1; min-width: 0; }
/* Keep the source's 83px desktop navigation row when translated labels wrap. */
.sanbo-full-localized #gnb .gnb_1da { display: flex; align-items: center; justify-content: center; min-height: 83px; line-height: 1.4; padding-inline: 6px; }
.sanbo-full-localized .ft_info dl { display: grid; grid-template-columns: 180px minmax(0, 1fr); padding-left: 0; }
.sanbo-full-localized .ft_info dl span { position: static; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.sanbo-full-localized .ft_mapBox dl:not(.l0) { display: grid; grid-template-columns: 160px minmax(0, 1fr); padding-left: 0; }
.sanbo-full-localized .ft_mapBox dl span { position: static; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
@media (max-width: 1000px) { .sanbo-full-languages { bottom: 82px; gap: 3px; font-size: 10px; } }
@media (max-width: 1000px) {
  .sanbo-full-localized .ft_info dl { grid-template-columns: 150px minmax(0, 1fr); }
  .sanbo-full-localized .ft_mapBox dl:not(.l0) { grid-template-columns: 130px minmax(0, 1fr); }
  /* Keep the flag controls separate from the logo and hamburger, with real tap targets. */
  #hd .r1 { left: auto; right: 60px; top: 3px; margin-left: 0; display: flex; gap: 8px; }
  /* mobile.css puts the hamburger at left:85%, which lands under the flags on tablets. */
  #hd #gnb_open { left: auto; right: 5px; margin-left: 0; }
  #hd #logo { width: clamp(100px, calc(100vw - 220px), 150px); height: auto; aspect-ratio: 177 / 45; }
  #hd .r1 .sanbo-header-ko { display: flex; font-size: 12px; font-weight: 700; color: white; }
  #hd.fixed .r1 .sanbo-header-ko, #hd:hover .r1 .sanbo-header-ko { color: #333; }
  #hd .r1 a { display: flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; margin-left: 0; }
  #hd .r1 a img { max-width: 100%; height: 25px; }
  #hd .all-menu-btn { display: none; }
  /* The source's absolute bracket extended beyond longer translated headlines,
     widening Android's layout viewport and leaving a white strip on the right. */
  .sanbo-full-localized .brandBox01 dl { display: block; max-width: calc(100% - 72px); margin-inline: auto; font-size: clamp(28px, 8vw, 34px); }
  .sanbo-full-localized .brandBox01 dl .l1 { left: -30px; font-size: 1.8em; }
  .sanbo-full-localized .brandBox01 dl .r1 { left: auto; right: -30px; margin-left: 0; font-size: 1.8em; }
  .sanbo-full-localized .subTopImg dt { font-size: clamp(28px, 8vw, 36px); line-height: 1.25; }
  .sanbo-full-localized .subTitle01 dt { font-size: clamp(24px, 6.8vw, 30px); line-height: 1.35; }
  .sanbo-full-localized .subTitle01 .fs28 { font-size: 18px; line-height: 1.6; }
  .sanbo-full-localized .subTitle01 dd { line-height: 1.65; }
  .sanbo-full-localized .quickm { background: #f4ede0; padding-bottom: env(safe-area-inset-bottom, 0px); }
  .sanbo-full-localized .quickm a { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; height: auto; min-height: 78px; padding: 6px 2px; gap: 4px; }
  .sanbo-full-localized .quickm a img { width: 32px; height: 32px; margin: 0; }
  .sanbo-full-localized .quickm a span { font-size: 11px; line-height: 1.25; }
  /* All three languages are available in the header. Keep the secondary links
     in document flow rather than covering paragraphs above the contact bar. */
  .sanbo-full-languages { position: static; justify-content: center; margin: 0; padding: 12px 0 calc(90px + env(safe-area-inset-bottom, 0px)); }
  .sanbo-full-languages a { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; font-size: 12px; }
}
@media (max-width: 360px) {
  #container .brandBox01 dl { display: block; max-width: calc(100% - 72px); margin-inline: auto; font-size: clamp(28px, 8vw, 34px); }
  #container .brandBox01 dl .l1 { left: -30px; font-size: 1.8em; }
  #container .brandBox01 dl .r1 { left: auto; right: -30px; margin-left: 0; font-size: 1.8em; }
}
/* Tablets get mobile.css (max-width:1000px), whose 180vw hero height only suits tall
   phone screens. Between 701-1000px size the hero to the visible screen instead. */
@media (min-width: 701px) and (max-width: 1000px) {
  #container .slider-wrap { height: 100vh; height: 100svh; min-height: 600px; }
}
