/*
 * KarunaPura Sutta App — contrato único del viewport del mapa integrado.
 *
 * Responsabilidad:
 * - La shell determina el rectángulo disponible.
 * - El host, viewer, stage y canvas ocupan exactamente ese rectángulo.
 * - El renderer solo adapta su backing store al rectángulo computado.
 *
 * Este archivo se carga después de frontend.css, sutta-app.css y radial-v2.css.
 * No define geometría, zoom, tarjetas, rail ni contenido editorial.
 */

body.ks-reader-map-open .ks-sutta-app.is-map-open .ks-sutta-app-reader {
  overflow: hidden !important;
  scrollbar-gutter: auto !important;
}

body.ks-reader-map-open .ks-sutta-app.is-map-open .ks-sutta-app-native-reader,
body.ks-reader-map-open .ks-sutta-app.is-map-open .kp-sutta-page,
body.ks-reader-map-open .ks-sutta-app.is-map-open .ks-reader-map-host {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  scrollbar-gutter: auto !important;
}

body.ks-reader-map-open .ks-sutta-app.is-map-open .ks-reader-map-host {
  position: relative !important;
  display: block !important;
  background: #fff !important;
}

body.ks-reader-map-open .ks-sutta-app.is-map-open .ks-reader-map-host > .kp-d3-v2-canvas-viewer,
body.ks-reader-map-open .ks-sutta-app.is-map-open .ks-reader-map-host .kp-d3-v2-canvas-stage,
body.ks-reader-map-open .ks-sutta-app.is-map-open .ks-reader-map-host .kp-d3-v2-canvas {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

/* La regla histórica body.admin-bar restaba 32px dentro de una shell que ya
   ocupa el viewport. En la app integrada la altura procede siempre del host. */
body.admin-bar.ks-reader-map-open .ks-sutta-app.is-map-open .ks-reader-map-host,
body.admin-bar.ks-reader-map-open .ks-sutta-app.is-map-open .ks-reader-map-host > .kp-d3-v2-canvas-viewer,
body.admin-bar.ks-reader-map-open .ks-sutta-app.is-map-open .ks-reader-map-host .kp-d3-v2-canvas-stage,
body.admin-bar.ks-reader-map-open .ks-sutta-app.is-map-open .ks-reader-map-host .kp-d3-v2-canvas {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
}

/* El canvas no debe crear baseline, gutter ni scroll propio. */
body.ks-reader-map-open .ks-sutta-app.is-map-open canvas.kp-d3-v2-canvas {
  vertical-align: top !important;
  scrollbar-gutter: auto !important;
}
