/* Geography additions share native controls; scene and chapter layout stay native. */
.ypa-geo-panel .ypa-geo-controls {
  display: none;
}

/* The US design is navigation, not an additional published map point. */
html[data-ypa-country-site="true"] .ypa-country-concept {
  box-sizing:border-box;display:flex;align-items:center;gap:10px;
  min-height:42px;padding:0 14px;width:100%;text-align:left;text-decoration:none;
  font-family:inherit;font-size:.92rem;font-weight:600;line-height:inherit;color:var(--ypa-control-ink);
  border:1px solid var(--ypa-control-edge);border-radius:var(--ypa-control-radius);
  background:color-mix(in srgb,var(--ypa-control-surface) 66%,transparent);
  box-shadow:none;cursor:pointer;
  transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease;
}
html[data-ypa-country-site="true"] .ypa-country-concept > i {
  width:7px;height:7px;flex:none;border-radius:50%;background:var(--ypa-control-subtle);
}
html[data-ypa-country-site="true"] .ypa-country-concept:hover {
  border-color:var(--ypa-control-accent);
}
html[data-ypa-country-site="true"] .ypa-country-concept[aria-current="page"] {
  background:color-mix(in srgb,var(--ypa-control-accent) 12%,var(--ypa-control-surface));
  border-color:var(--ypa-control-accent);box-shadow:inset 0 0 0 1px var(--ypa-control-accent);
}
html[data-ypa-country-site="true"] .ypa-country-concept:focus-visible {
  outline:2px solid var(--ypa-control-accent);outline-offset:3px;
}
html[data-ypa-variant="glass-v2"] .ypa-country-concept {min-height:0;height:clamp(40px,6vh,48px);font:700 clamp(12.5px,1.05vw,14px) var(--sans)}
html[data-ypa-variant="cutaway"] .ypa-country-concept {padding:14px 16px;gap:14px;border-width:1.5px}
html[data-ypa-variant="thread"] .ypa-country-concept {width:auto;min-height:40px;padding:8px 16px;font-size:1rem;font-weight:500}
html[data-ypa-variant="shift"] .ypa-country-concept {min-height:0;padding:.6rem .9rem;gap:.7rem;font-size:.82rem}
html[data-ypa-variant="globe"] .ypa-country-concept {height:44px;min-height:0;gap:12px}
html[data-ypa-variant="globe"] .ypa-country-concept > b {font:700 14px var(--ui);flex:1}
html[data-ypa-variant="globe"] .ypa-country-concept > i {width:9px;height:9px;background:transparent;border:2px solid var(--mint)}
@media(max-width:1099px){
  html[data-ypa-variant="globe"] .ypa-country-concept {width:auto;flex:1 1 calc(50% - 6px);min-width:140px;height:40px}
}
@media(max-width:899px){html[data-ypa-variant="holo"] .ypa-country-concept {min-height:38px}}
@media(max-width:420px){html[data-ypa-variant="globe"] .ypa-country-concept {flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html[data-ypa-country-site="true"] .ypa-country-concept {transition:none}}

/* Shift's country map has no separate Batumi control; expose its existing city choice. */
html[data-ypa-country-site="true"][data-ypa-variant="shift"] .ypa-geo-panel .ypa-geo-destinations:not(:empty) {
  display: flex;
}

/* Keep Holo's marker paint and front/back visibility; make all front labels legible. */
html[data-ypa-variant="holo"] .tags .tag.btn-tag {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .01em;
  text-transform: none;
}

html[data-ypa-variant="holo"] .tags .tag.btn-tag:not(.sel):not(:hover) {
  color: #f5faf7;
  text-shadow: 0 1px 2px #020604, 0 0 3px #020604;
}

/* A short-height rule in native Holo expands this panel over the globe.
   Reserve the upper half for the existing interactive map on portrait phones. */
@media(max-width:899px) and (orientation:portrait){
  html[data-ypa-variant="holo"].gl-ready #geography .geo-panel {max-height:50svh}
}

html[data-ypa-variant="core"] #geography .geo-panel {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: var(--ypa-accent) transparent;
  scroll-padding-block: 16px;
  grid-auto-rows: max-content;
  align-content: start;
}

html[data-ypa-variant="core"] #geography .geo-panel > .ypa-geo-panel {
  min-width: 0;
  margin-block: 12px 0;
}

@media (min-width: 900px) {
  /* The anchored panel starts below the shared header and native pin padding. */
  html[data-ypa-variant="core"] #geography .geo-panel {
    max-height: calc(100svh - 180px);
  }
}

@media (min-width: 901px) {
  /* D1's absolute copy starts below the anchored header and scene inset. */
  html[data-ypa-variant="glass-v1"] #presence > .copy {
    max-height: calc(100svh - 180px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: var(--ypa-accent) transparent;
    scroll-padding-block: 12px;
  }

  /* Keep production partner details reachable inside the native pinned chapters. */
  html[data-ypa-variant="glass-v2"] #geography .zt,
  html[data-ypa-variant="glass-v3"] #geography .zt {
    align-self: start;
    max-height: calc(100svh - 196px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: var(--ypa-accent) transparent;
    scroll-padding-block: 12px;
  }

  html[data-ypa-variant="glass-v2"] #geography .zt > *,
  html[data-ypa-variant="glass-v3"] #geography .zt > * {
    flex-shrink: 0;
  }
}

html[data-ypa-variant="glass-v2"] #glabels .glab,
html[data-ypa-variant="glass-v2"] #glabels .glab.sub {font-size:12px;font-weight:600;line-height:1.3}

/* The map renderer uses CSS-pixel coordinates so labels stay readable without overflow. */
html[data-ypa-country-site="true"][data-ypa-variant="shift"] #pmap .nm {font-size:16px;paint-order:stroke;stroke:rgba(6,18,32,.85);stroke-width:3px;stroke-linejoin:round}
html[data-ypa-country-site="true"][data-ypa-variant="shift"] #pmap .tm {font-size:12px;fill:#d8e5ef;letter-spacing:0;paint-order:stroke;stroke:rgba(6,18,32,.85);stroke-width:2px}
html[data-ypa-country-site="true"][data-ypa-variant="shift"] #presence #pmap {display:block;width:100%;min-width:0}
html[data-ypa-country-site="true"][data-ypa-variant="shift"] #pmap .label-leader {stroke:#b3a57f;stroke-width:1;opacity:.65;pointer-events:none}
html[data-ypa-country-site="true"][data-ypa-variant="shift"] #presence .pdest {position:relative;left:auto;top:auto;width:min(100%,360px);box-sizing:border-box;margin:16px auto 0}

/* The desktop Globe scene uses its original 1280 x 720 coordinate system. */
html[data-ypa-variant="globe"] #presence .panel {
  box-sizing: border-box;
  max-height: min(568px, calc(100svh - 112px));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: var(--ypa-accent) transparent;
  scroll-padding-block: 12px;
  padding-right: 8px;
}

html[data-ypa-variant="globe"] #presence .panel > .ypa-geo-panel {
  min-width: 0;
  max-width: 100%;
  margin-block: 18px 4px;
}

@media (max-width: 1099px) {
  /* Native display:contents keeps phead, globe, dialogue and country order. */
  html[data-ypa-variant="globe"] #presence .panel {
    max-height: none;
    overflow: visible;
    scrollbar-gutter: auto;
    padding-right: 0;
  }

  html[data-ypa-variant="globe"] #presence .panel > .ypa-geo-panel {
    order: 4;
    box-sizing: border-box;
    width: calc(100% - 32px);
    max-width: none;
    max-height: min(320px, 50svh);
    margin: 18px 16px 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: var(--ypa-accent) transparent;
    scroll-padding-block: 12px;
  }
}
