
/* ELRI Preisrechner – Font mapping to theme families (do not change theme) */
.elri-pr {
  --elri-font-regular: "CenturyGothic", "Montserrat", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --elri-font-bold: "CenturyGothic-Bd", "Montserrat", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.elri-pr, .elri-pr * { font-family: var(--elri-font-regular) !important; }
.elri-pr b, .elri-pr strong, .elri-pr .font-bold,
.elri-pr h1, .elri-pr h2, .elri-pr h3, .elri-pr h4, .elri-pr h5, .elri-pr h6 {
  font-family: var(--elri-font-bold) !important; font-weight:700;
}

/* inherit theme font */
.elri-pr, .elri-pr * { font-family: var(--elri-font, inherit) !important; box-sizing: border-box; }
.elri-pr { max-width: 1100px; margin: 1.1rem auto; font-size: 0.8rem; }
.elri-pr-note { opacity:.9; margin:.4rem 0 .9rem; }

.elri-pr-top { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.elri-pr-top label { display:flex; flex-direction:column; gap:.3rem; font-weight:600; }
.elri-pr-text { width: 240px; padding:.4rem .55rem; border:1px solid rgba(0,0,0,.18); border-radius:10px; background:#fff; font-size:0.8rem; }
.elri-pr-text.small { width: 200px; }

/* stack container: 1 col mobile, 2 cols desktop */
.elri-pr-stack { display:grid; grid-template-columns: 1fr; gap:1.2rem; align-items:start; }
@media (min-width: 980px) { .elri-pr-stack { grid-template-columns: 1fr 1fr; } }

.elri-pr-card { border: 1px solid rgba(0,0,0,.08); border-radius: 12px; padding: 1rem .9rem 1rem; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.04); overflow:hidden; }
.elri-pr-title-row { display:grid; grid-template-columns: auto 1fr; align-items:center; gap:.8rem; margin-bottom:.6rem; min-height: 42px; }
.elri-pr-title { margin: 0; font-size: 1rem; }
.elri-pr-title-extra { display:flex; justify-content:flex-start; }
.elri-pr-title-spacer { height: 34px; } /* keeps same height when no extra input */

.elri-pr-table { width: 100%; border-collapse: separate; border-spacing: 0 .3rem; table-layout: fixed; }
.elri-pr-subhead th { text-align:left; padding:.34rem .28rem; border-bottom: 1px dashed rgba(0,0,0,.15); font-weight:600; }
.elri-pr-label { padding:.26rem .28rem; font-weight:600; word-break: break-word; }
.elri-pr-inputcell { padding:.2rem .22rem; }
.elri-pr-input { width: 63px; padding:.24rem .28rem; border-radius:8px; border:1px solid rgba(0,0,0,.18); font-size:.8rem; font-variant-numeric: tabular-nums; background:#fff; }
.elri-pr-input:focus { outline:none; box-shadow:0 0 0 2px rgba(0,120,255,.15); border-color:rgba(0,120,255,.5); }
.elri-pr-run { text-align:right; padding:.22rem .2rem; font-variant-numeric: tabular-nums; }

.inline-pair { display:inline-block; min-width: auto; margin-bottom: 0.5rem; }

.elri-pr-summary-row td { padding-top:.6rem; border-top:1px dashed rgba(0,0,0,.12); }

.elri-pr-actions { display:flex; gap:.7rem; margin-top:1rem; }

/* Vergleich */
.elri-pr-compare .elri-pr-compare-grid { display:grid; grid-template-columns: 1fr; gap: .9rem; }
.elri-pr-compare h4 { margin:.25rem 0 .3rem; font-size:.9rem; }
.elri-pr-compare .cmp-row { line-height: 1.7; }
@media (min-width: 600px) {
  .elri-pr-compare .elri-pr-compare-grid { grid-template-columns: 1fr 1fr; }
}

/* Mobile tweaks */
@media (max-width: 680px) {
  .elri-pr { font-size: 0.8rem; margin: .8rem auto; }
  .elri-pr-text { width: 170px; padding:.35rem .45rem; }
}

/* Print: always two columns + condensed layout */
@media print {
  .elri-pr-actions, .site-header, .site-footer, nav, .widget-area { display:none !important; }
  body { background: #fff !important; }
  .elri-pr { max-width: 100%; font-size: 0.8rem; margin: 0; }
  .elri-pr-stack { grid-template-columns: 1fr 1fr !important; gap: 12mm; }
  .elri-pr-card { box-shadow:none; border-color:#bbb; padding: 6mm; page-break-inside: avoid; }
  .elri-pr-compare .elri-pr-compare-grid { grid-template-columns: 1fr 1fr; }
}


/* Two-column layout for the calculator (screen) */
.elri-pr .elri-pr-stack{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (max-width: 900px){
  .elri-pr .elri-pr-stack{ grid-template-columns: 1fr; }
}
