/* Potencial sončne elektrarne (/potencial-elektrarne).
   Gradniki so isti kot pri Poročilu iz meritev: oštevilčene kartice, javni
   obrazec, ena tema. Tu je le razporeditev in nekaj gradnikov, ki jih druge
   strani nimajo (zemljevid, vrstice strešin, mesečni graf). */

.pt { display: grid; gap: var(--ge-gap, 18px); max-width: 1040px; }
.pt [hidden] { display: none !important; }
.pt-card .ge-card__body { display: grid; gap: 14px; }
.pt-note { margin: 0; font-size: 14px; line-height: 1.55; color: var(--ge-text-2); }
.pt-status { margin: 0; min-height: 20px; font-size: 15px; line-height: 1.5; color: var(--ge-text-2); }
.pt-status:empty { min-height: 0; }
.pt-status.is-error { color: var(--ge-danger); }
.pt-status.is-ok { color: var(--ge-text); }
.pt-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.pt-row--end { justify-content: flex-start; }

/* Segmentni izbirnik v merilu javnih obrazcev. */
body.ge-public .pt-seg { padding: 3px; }
body.ge-public .pt-seg button { min-height: 38px; padding: 0 16px; font-size: 15px; font-weight: 500; color: var(--ge-text-2); }
body.ge-public .pt-seg--sm button { min-height: 40px; padding: 0 14px; font-size: 14.5px; }
body.ge-public .pt-seg button[aria-pressed="true"] { box-shadow: none; }
.pt-seg button:focus-visible { outline: 2px solid var(--ge-text); outline-offset: 1px; }

/* 1. Lokacija in posnetek: iskanje zgoraj, posnetek čez celo širino (na njem se riše). */
.pt-lok { gap: 14px !important; }
.pt-lok__find { display: grid; gap: 10px; align-content: start; max-width: 720px; }
.pt-lok__foot { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 12px 22px; align-items: start; }
.pt-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; }
.pt-search .ge-btn { min-height: 46px; }
.pt-hits { list-style: none; margin: 0; padding: 0; border: 1px solid var(--ge-line); border-radius: var(--ge-r-sm); background: var(--ge-surface); }
.pt-hits li + li { border-top: 1px solid var(--ge-line-soft); }
.pt-hits button { display: block; width: 100%; padding: 10px 12px; border: 0; background: transparent; color: var(--ge-text);
  font: inherit; font-size: 15px; line-height: 1.4; text-align: left; cursor: pointer; }
.pt-hits button:hover, .pt-hits button:focus-visible { background: var(--ge-surface-2); outline: none; }
.pt-coord { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 14px; margin: 0; padding: 10px 12px;
  border: 1px solid var(--ge-line-soft); border-radius: var(--ge-r-sm); background: var(--ge-surface-2); font-size: 15px; }
.pt-coord dt { color: var(--ge-text-3); }
.pt-coord dd { margin: 0; color: var(--ge-text); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.pt-mapwrap { position: relative; }
.pt-map { position: relative; height: 470px; border: 1px solid var(--ge-line); border-radius: 4px; overflow: hidden; background: var(--ge-surface-2); }
.pt-map.is-drawing .leaflet-container, .pt-map.is-drawing .leaflet-interactive { cursor: crosshair !important; }
/* Pas z navodili med risanjem: nad posnetkom, ne zakrije vrha strehe. */
.pt-draw { position: absolute; z-index: 1001; left: 12px; right: 12px; bottom: 12px; display: flex; flex-wrap: wrap; align-items: center;
  justify-content: space-between; gap: 10px 16px; padding: 10px 12px; background: rgba(15, 21, 28, .92); color: #fff; border-radius: 4px; }
.pt-draw p { margin: 0; font-size: 14.5px; line-height: 1.45; max-width: 60ch; }
.pt-draw__go { display: flex; flex-wrap: wrap; gap: 8px; }
body.ge-public .pt-draw .ge-btn { min-height: 38px; padding: 0 14px; font-size: 14.5px; }
body.ge-public .pt-draw .ge-btn--primary { background: #fff; border-color: #fff; color: var(--ge-text); }
body.ge-public .pt-draw .ge-btn:not(.ge-btn--primary) { background: transparent; border-color: rgba(255, 255, 255, .55); color: #fff; }
body.ge-public .pt-draw .ge-btn:not(.ge-btn--primary):hover { border-color: #fff; }
/* Izbira podlage (ortofoto / zemljevid) v kotu posnetka. */
.pt-base { display: inline-flex; padding: 2px; background: rgba(255, 255, 255, .94); border-radius: 4px; box-shadow: 0 1px 4px rgba(0, 0, 0, .3); }
.pt-base button { min-height: 32px; padding: 0 12px; border: 0; border-radius: 3px; background: transparent; color: var(--ge-text-2);
  font: inherit; font-size: 13.5px; font-weight: 500; cursor: pointer; }
.pt-base button[aria-pressed="true"] { background: var(--ge-text); color: #fff; }
/* Obrisi strešin na posnetku: številka in puščica navzdol po strehi. */
.pt-roofmark { position: relative; width: 36px; height: 36px; pointer-events: none; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .45)); }
/* Leaflet daje vsem svg v zemljevidu z-index 200; številka mora ostati nad krogom. */
.pt-map .pt-roofmark svg { position: absolute; inset: 0; z-index: 0; width: 36px; height: 36px; overflow: visible; }
.pt-roofmark span { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; font: 600 13px/1 var(--ge-sans); color: #141617; }
.pt-vertex { width: 12px; height: 12px; margin: -6px 0 0 -6px; background: #fff; border: 2px solid #141617; border-radius: 2px; }
.pt-vertex--first { width: 16px; height: 16px; margin: -8px 0 0 -8px; border-radius: 50%; background: #FFD34D; }
.pt-map .leaflet-container { position: absolute; inset: 0; font: inherit; background: #ECEAE4; }
.pt-map__msg { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; padding: 20px; font-size: 15px; color: var(--ge-text-2); text-align: center; }
.pt-map .leaflet-control-attribution { font-size: 11.5px; }
.pt-pin { width: 22px; height: 22px; border-radius: 50%; background: var(--ge-text); border: 3px solid #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .35); }

/* 2. Strešine */
.pt-roofs { display: grid; gap: 12px; }
.pt-roof { position: relative; margin: 0; padding: 14px 16px 12px; border: 1px solid var(--ge-line); border-radius: 4px; background: var(--ge-surface); min-width: 0; }
.pt-roof__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; margin: -4px 0 8px; }
.pt-roof__name { font-size: 16px; font-weight: 600; color: var(--ge-text); }
.pt-roof__del { min-height: 32px; padding: 0 2px; border: 0; background: transparent;
  color: var(--ge-text-2); font: inherit; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.pt-roof__del:hover { color: var(--ge-danger); }
.pt-roof__del[hidden] { display: none; }
body.ge-public .pt-roof__grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px 14px; }
.pt-roof__nacin { margin: 0 0 14px; }
.pt-seg button { white-space: nowrap; }
.pt-obris { grid-column: span 2; }
.pt-obris__go { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
body.ge-public .pt-obris__go .ge-btn { min-height: 40px; padding: 0 14px; font-size: 14.5px; }
.pt-obris__info { font-size: 14px; line-height: 1.45; color: var(--ge-text-2); font-variant-numeric: tabular-nums; }
.pt-obris__info:empty { display: none; }
.pt-roof.is-active { border-color: var(--ge-text); box-shadow: inset 3px 0 0 #E5B300; }
.pt-check { display: flex; align-items: center; gap: 10px; margin-top: 10px; font-size: 15px; color: var(--ge-text-2); cursor: pointer; }
.pt-check input { width: 18px; height: 18px; accent-color: var(--ge-text); }
.pt-check[hidden] { display: none; }
.pt-roof__more { margin-top: 10px; border-top: 1px solid var(--ge-line-soft); }
.pt-roof__more summary { display: flex; flex-wrap: wrap; gap: 4px 10px; padding: 10px 0 4px; cursor: pointer; font-size: 15px; font-weight: 500; color: var(--ge-text); list-style-position: outside; }
.pt-roof__more[open] summary { margin-bottom: 8px; }
.pt-roof__sum { font-weight: 400; color: var(--ge-text-2); }
.pt-roof__out { margin: 10px 0 0; padding-top: 10px; border-top: 1px solid var(--ge-line-soft); font-size: 15px; color: var(--ge-text);
  font-variant-numeric: tabular-nums; }
.pt-roof__out:empty { display: none; }
.pt-roof__out .muted { color: var(--ge-text-2); }
.pt-roof__out .warn { color: var(--ge-warn); }
.pt-how { border-top: 1px solid var(--ge-line-soft); padding-top: 4px; }
.pt-how summary { padding: 8px 0; cursor: pointer; font-size: 15px; font-weight: 500; color: var(--ge-text); }
.pt-how ul { margin: 4px 0 6px; padding-left: 20px; display: grid; gap: 6px; font-size: 15px; line-height: 1.55; color: var(--ge-text-2); }
.pt-how b { color: var(--ge-text); font-weight: 600; }

/* 3. Moduli */
body.ge-public .pt-mod { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.pt-go { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px;
  padding-top: 14px; border-top: 1px solid var(--ge-line-soft); }
.pt-live { margin: 0; font-size: 16px; color: var(--ge-text); font-variant-numeric: tabular-nums; }
.pt-live span { color: var(--ge-text-2); }

/* Rezultat */
.pt-result { display: grid; gap: 20px; padding: 24px 26px 22px; background: var(--ge-surface); border: 1px solid var(--ge-line); border-radius: 4px; }
.pt-result[hidden] { display: none; }
.pt-result__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
body.ge-public .pt-result__head h2 { margin: 0; font-size: clamp(22px, 2vw, 27px); }
.pt-stale { margin: 0; padding: 10px 14px; border: 1px solid color-mix(in srgb, var(--ge-warn) 35%, transparent); border-radius: var(--ge-r-sm);
  background: var(--ge-warn-soft); color: var(--ge-text); font-size: 15px; }
.pt-stale[hidden] { display: none; }
.pt-linkish { padding: 0; border: 0; background: none; color: var(--ge-text); font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.pt-result.is-stale .pt-kpis dd, .pt-result.is-stale .pt-chart__plot { opacity: .45; }

.pt-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--ge-line); border-bottom: 1px solid var(--ge-line-soft); }
.pt-kpis > div { padding: 16px 18px 16px 0; }
.pt-kpis > div + div { padding-left: 18px; border-left: 1px solid var(--ge-line-soft); }
.pt-kpis dt { font-size: 14px; color: var(--ge-text-2); }
.pt-kpis dd { margin: 6px 0 2px; font-size: clamp(28px, 3vw, 38px); font-weight: 600; letter-spacing: -.025em; line-height: 1.1; color: var(--ge-text); font-variant-numeric: tabular-nums; }
.pt-kpis small { display: block; font-size: 14px; color: var(--ge-text-2); }

.pt-chart { margin: 0; }
.pt-chart figcaption { font-size: 15px; font-weight: 600; color: var(--ge-text); }
.pt-chart figcaption span { font-weight: 400; color: var(--ge-text-2); }
.pt-chart__plot { position: relative; height: 240px; margin-top: 8px; }
.pt-chart__plot svg { display: block; width: 100%; height: 100%; overflow: visible; }
.pt-chart .ax { font-size: 12.5px; fill: var(--ge-text-3); font-variant-numeric: tabular-nums; }
.pt-chart .gl { stroke: var(--ge-line-soft); stroke-width: 1; }
.pt-chart .base { stroke: var(--ge-line); stroke-width: 1; }
.pt-chart .bar { fill: #C38010; }
.pt-chart .bar.is-hover { fill: #8F5D09; }
.pt-chart .hit { fill: transparent; cursor: default; }
.pt-tip { position: absolute; z-index: 2; top: 0; padding: 8px 10px; background: #1D2124; color: #fff; border-radius: 4px; font-size: 13.5px; line-height: 1.45;
  pointer-events: none; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pt-tip b { font-weight: 600; }
.pt-table summary { margin-top: 6px; padding: 6px 0; cursor: pointer; font-size: 14.5px; color: var(--ge-text-2); }
.pt-table table, .pt-planes table { width: 100%; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
.pt-table th, .pt-table td, .pt-planes th, .pt-planes td { padding: 8px 10px; text-align: right; border-bottom: 1px solid var(--ge-line-soft); white-space: nowrap; }
.pt-table th:first-child, .pt-table td:first-child, .pt-planes th:first-child, .pt-planes td:first-child { text-align: left; }
.pt-table thead th, .pt-planes thead th { font-size: 13.5px; font-weight: 600; color: var(--ge-text-2); border-bottom-color: var(--ge-line); }
.pt-planes { overflow-x: auto; }
.pt-planes[hidden] { display: none; }
.pt-planes h3, .pt-assume h3 { margin: 0 0 8px; font-size: 16.5px; }

.pt-assume dl { display: grid; grid-template-columns: minmax(150px, auto) minmax(0, 1fr); gap: 6px 18px; margin: 0; font-size: 15px; line-height: 1.5; }
.pt-assume dt { color: var(--ge-text-3); }
.pt-assume dd { margin: 0; color: var(--ge-text); overflow-wrap: anywhere; }
.pt-warn { padding: 14px 16px; border: 1px solid var(--ge-line); border-left: 3px solid var(--ge-warn); border-radius: 4px; background: var(--ge-surface-2); }
.pt-warn p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--ge-text-2); }
.pt-warn p + p { margin-top: 8px; }
.pt-warn b { color: var(--ge-text); }
.pt-cta { margin: 0; }
/* Povpraševanje za zahtevnejše objekte na dnu strani. */
.pt-povp form { display: grid; gap: 14px; }
.pt-povp__polja textarea { min-height: 120px; resize: vertical; }
.pt-povp__go { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.pt-povp__go small { font-size: 14px; color: var(--ge-text-2); max-width: 52ch; }
.pt-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 640px) { .pt-povp__go .ge-btn { width: 100%; } }
/* Pika pod miško med risanjem polja: kam gre oglišče ali začetek pravokotnika. */
.pt-kazalec { position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%;
  background: #FFD34D; box-shadow: 0 0 0 2px #141617, 0 0 0 5px rgba(255, 255, 255, .55); pointer-events: none; }
/* Individualna zasnova: poudarjena pri ravni strehi in velikih sistemih. */
.pt-cta--zasnova.is-poudarjeno { border-left: 3px solid var(--ge-text); }
.pt-cta .is-disabled { opacity: .45; }
.pt-src { margin: 0; font-size: 13.5px; color: var(--ge-text-3); }
.pt-src a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 860px) {
  .pt-lok__foot { grid-template-columns: minmax(0, 1fr); }
  .pt-map { height: 400px; }
}
@media (max-width: 640px) {
  .pt-search { grid-template-columns: minmax(0, 1fr); }
  .pt-search .ge-btn { width: 100%; }
  .pt-roof { padding: 12px 12px 10px; }
  body.ge-public .pt-roof__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .pt-obris { grid-column: 1 / -1; }
  .pt-map { height: 360px; }
  /* Na telefonu pas z navodili ne prekrije posnetka, ampak stoji pod njim. */
  .pt-draw { position: static; margin-top: 8px; }
  .pt-draw__go { width: 100%; }
  body.ge-public .pt-draw .ge-btn { flex: 1 1 auto; }
  body.ge-public .pt-mod { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  body.ge-public .pt-mod .ge-field:last-child { grid-column: 1 / -1; }
  .pt-go .ge-btn { width: 100%; }
  .pt-result { padding: 18px 16px; }
  .pt-kpis { grid-template-columns: minmax(0, 1fr); }
  .pt-kpis > div, .pt-kpis > div + div { padding: 12px 0; border-left: 0; }
  .pt-kpis > div + div { border-top: 1px solid var(--ge-line-soft); }
  .pt-assume dl { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .pt-assume dd { margin-bottom: 8px; }
  .pt-chart__plot { height: 210px; }
}

/* Samodejno prepoznavanje strehe (Google Solar API, preizkus) */
.pt-solar { display: grid; gap: 10px; padding: 14px 16px; border: 1px solid var(--ge-line); border-radius: 4px; background: var(--ge-surface); }
.pt-solar__head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px 18px; }
.pt-solar__head > div { flex: 1 1 360px; min-width: 0; }
.pt-solar h3 { margin: 0 0 4px; font-size: 16px; font-weight: 600; color: var(--ge-text); }
.pt-tag { display: inline-block; margin-left: 6px; padding: 1px 7px; border: 1px solid var(--ge-line); border-radius: 999px;
  font-size: 12px; font-weight: 500; color: var(--ge-text-2); vertical-align: 2px; }
.pt-solar__izid { display: block; border-top: 1px solid var(--ge-line-soft); padding-top: 8px; }
.pt-solar__izid[hidden] { display: none; }
.pt-solar__izid > summary { display: list-item; width: max-content; max-width: 100%; padding: 4px 0; font-size: 15px; font-weight: 600;
  color: var(--ge-text); cursor: pointer; }
.pt-solar__izid > summary:focus-visible { outline: 2px solid var(--ge-text); outline-offset: 2px; }
.pt-solar__izid > * + * { margin-top: 10px; }
.pt-solar__sum { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ge-text); }
.pt-solar__sum .warn { color: var(--ge-warn); }
.pt-solar__list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--ge-line-soft); border-radius: 4px; }
.pt-solar__list li + li { border-top: 1px solid var(--ge-line-soft); }
.pt-solar__item { display: grid; grid-template-columns: 18px 26px minmax(0, 1fr) auto; align-items: center; gap: 10px;
  padding: 8px 12px; font-size: 15px; color: var(--ge-text); cursor: pointer; }
.pt-solar__item input { width: 18px; height: 18px; margin: 0; accent-color: var(--ge-text); }
.pt-solar__n { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #FFD34D;
  border: 1px solid #141617; font-size: 12.5px; font-weight: 600; color: #141617; }
.pt-solar__item.is-off .pt-solar__n { background: #d5d7d9; }
.pt-solar__item .muted { color: var(--ge-text-2); font-variant-numeric: tabular-nums; text-align: right; }
.pt-solar__vir { font-size: 13px; }
.pt-roofmark--off .pt-roofmark { opacity: .6; filter: grayscale(1) drop-shadow(0 1px 2px rgba(0, 0, 0, .45)); }
.pt-roofmark--aktivna .pt-roofmark { transform: scale(1.18); filter: drop-shadow(0 0 0 #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 1px 3px rgba(0, 0, 0, .6)); }
@media (max-width: 640px) {
  .pt-solar { padding: 12px; }
  .pt-solar__item { grid-template-columns: 18px 26px minmax(0, 1fr); }
  .pt-solar__item .muted { grid-column: 3; text-align: left; }
  .pt-solar__head .ge-btn { width: 100%; }
}
/* Googlov zemljevid (preizkus): oznake so HTML nad posnetkom, sredinjene na točko. */
.pt-gmark { position: absolute; transform: translate(-50%, -50%); pointer-events: none; }
.pt-map.is-google { background: #1f2326; }
.pt-solar__v2 { margin-top: -4px; padding: 8px 12px; border-left: 3px solid #FFD34D; background: var(--ge-surface); }

/* Razpored modulov na prepoznani strešini: usmerjenost, zamik, vlečenje na posnetku. */
.pt-solar__razpored { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--ge-line-soft); border-radius: 4px; }
.pt-solar__razpored[hidden] { display: none; }
.pt-solar__rhead { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.pt-solar__rhead .ge-label { margin: 0; }
.pt-solar__rhead .ge-field { flex: 1 1 240px; max-width: 380px; margin: 0; }
.pt-solar__rhead .ge-btn { margin-left: auto; }
.pt-solar__rhead select { width: 100%; }
.pt-solar__razpored .pt-note { margin: 0; }
@media (max-width: 640px) {
  .pt-solar__rhead .ge-field { max-width: none; }
}
/* Namig na posnetku (klik na streho: zakaj modula ni mogoče dodati in kaj pomaga). */
.pt-mapnamig { position: absolute; z-index: 1002; left: 50%; bottom: 34px; transform: translateX(-50%); width: max-content;
  max-width: calc(100% - 24px); display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 10px 40px 10px 14px;
  border-radius: 4px; background: rgba(20, 22, 23, .93); color: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .35); }
.pt-mapnamig[hidden] { display: none; }
/* Namig ne zakrije posnetka za poteze (npr. vlečenje polja pod njim); gumba v njem delujeta. */
.pt-mapnamig { pointer-events: none; }
.pt-mapnamig button { pointer-events: auto; }
.pt-mapnamig p { margin: 0; font-size: 14.5px; line-height: 1.45; max-width: 52ch; }
body.ge-public #mapNamigGumb { min-height: 36px; padding: 0 14px; font-size: 14.5px; background: #fff; border-color: #fff; color: var(--ge-text); }
body.ge-public #mapNamigGumb:hover { background: #f1efe9; }
#mapNamigGumb[hidden] { display: none; }
.pt-mapnamig__x { position: absolute; top: 4px; right: 4px; width: 32px; height: 32px; border: 0; border-radius: 4px; background: transparent;
  color: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.pt-mapnamig__x:hover, .pt-mapnamig__x:focus-visible { background: rgba(255, 255, 255, .15); outline: none; }
/* Pas pod posnetkom: sprotni povzetek, gumbi in število modulov. Načinov ni; risanje polja je enkratno. */
.pt-pas { display: grid; gap: 8px; margin-top: 8px; padding: 10px 12px; border: 1px solid var(--ge-line); border-radius: 4px; background: var(--ge-surface); }
.pt-pas[hidden] { display: none; }
.pt-pas__vrh { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.pt-pas__sum { flex: 1 1 260px; margin: 0; font-size: 16px; line-height: 1.4; color: var(--ge-text); font-variant-numeric: tabular-nums; }
.pt-pas__sum strong { font-weight: 600; }
.pt-pas__sum > * { white-space: nowrap; }
.pt-pas__sum .muted { color: var(--ge-text-2); }
.pt-pas__gumbi { display: flex; flex-wrap: wrap; gap: 4px; padding: 3px; border: 1px solid var(--ge-line); border-radius: 8px; background: var(--ge-surface); }
.pt-pas__usm { display: inline-flex; gap: 4px; padding: 0 4px; border-left: 1px solid var(--ge-line-soft); border-right: 1px solid var(--ge-line-soft); }
.pt-pas__gumbi button { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 12px; border: 0; border-radius: 6px;
  background: transparent; color: var(--ge-text-2); font: 500 14.5px/1 var(--ge-sans); cursor: pointer; }
.pt-pas__gumbi button svg { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pt-pas__gumbi button:hover { color: var(--ge-text); background: var(--ge-surface-2); }
.pt-pas__gumbi .pt-pas__risi { color: var(--ge-text); font-weight: 600; }
.pt-pas__gumbi button[aria-pressed="true"] { background: var(--ge-text); color: var(--ge-surface); }
.pt-pas__gumbi button:disabled { opacity: .45; cursor: default; background: transparent; color: var(--ge-text-2); }
.pt-pas__gumbi button:focus-visible { outline: 2px solid var(--ge-text); outline-offset: 1px; }
.pt-pas__gumbi button[hidden] { display: none; }
.pt-pas__n { font-variant-numeric: tabular-nums; font-weight: 500; opacity: .75; }
.pt-pas__n:empty { display: none; }
.pt-pas__drs { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; }
.pt-pas__drs[hidden] { display: none; }
.pt-pas__drs label { font-size: 15px; font-weight: 600; color: var(--ge-text); }
.pt-pas__drs input[type="range"] { width: 100%; margin: 0; accent-color: var(--ge-text); }
.pt-pas__drs output { font-size: 15px; font-variant-numeric: tabular-nums; color: var(--ge-text-2); white-space: nowrap; }
.pt-pas__namig { margin: 0; font-size: 14px; line-height: 1.45; color: var(--ge-text-2); }
.pt-pas__namig:empty { display: none; }
/* Risanje polja: križec, posnetek ne prejme potez. Nad izbranim poljem kazalec pove, kaj naredi vlečenje. */
.pt-map.is-risanje, .pt-map.is-risanje * { touch-action: none; cursor: crosshair !important; }
.pt-map.is-nad-poljem, .pt-map.is-nad-poljem * { cursor: move !important; }
.pt-map.is-nad-ogliscem, .pt-map.is-nad-ogliscem * { cursor: grab !important; }
/* Ročice oglišč izbranega polja in oglišča med risanjem. */
.pt-oglisce { position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; margin: -7px 0 0 -7px; border: 2px solid #141617; border-radius: 3px;
  background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .5); pointer-events: none; }
.pt-oglisce--prvo { width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: #FFD34D; }
/* Sredina roba: vlečenje doda oglišče. */
.pt-oglisce--sredina { width: 10px; height: 10px; margin: -5px 0 0 -5px; border-width: 1.5px; border-radius: 50%; background: rgba(255, 255, 255, .8); }
@media (max-width: 640px) {
  .pt-pas { padding: 10px; }
  .pt-pas__gumbi { width: 100%; justify-content: space-between; gap: 2px; }
  .pt-pas__usm { display: contents; }
  .pt-pas__gumbi button { flex: 1 1 0; min-width: 0; justify-content: center; padding: 4px 2px; flex-direction: column; gap: 3px; min-height: 52px;
    font-size: 12px; line-height: 1.15; text-align: center; white-space: normal; }
  .pt-pas__drs { grid-template-columns: auto minmax(0, 1fr); }
  .pt-pas__drs label { white-space: nowrap; font-size: 14.5px; }
  .pt-pas__drs output { white-space: normal; text-align: right; font-size: 14.5px; }
  .pt-pas__drs input[type="range"] { grid-column: 1 / -1; grid-row: 2; }
}
}
