
  /* Indiciul de destinatie dupa tap pe cardul EXEMPLU: scroll + focus nu produc
     nicio mutatie DOM, deci omul nu vede unde a fost dus (iar Clarity numara
     pana si tap-ul reusit ca dead click). Respecta prefers-reduced-motion. */
  .pf-ping{animation:pfPing .7s ease}
  @keyframes pfPing{
    0%{box-shadow:0 0 0 0 rgba(99,91,255,.35)}
    70%{box-shadow:0 0 0 8px rgba(99,91,255,0)}
    100%{box-shadow:0 0 0 0 rgba(99,91,255,0)}
  }
  @media (prefers-reduced-motion: reduce){.pf-ping{animation:none;outline:2px solid var(--ro-blue);outline-offset:2px}}
  .calc-wrap{max-width:1100px;margin:0 auto;padding:24px 20px 48px}
  .calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
  @media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; gap: 20px; }
    /* On mobile, swap order: result first (sticky-top) then form below.
       User sees the price update live as they tap form fields below. */
    .calc-result { order: 1; position: sticky; top: 8px; z-index: 5; }
    .calc-form { order: 2; }
  }

  /* Glossary tooltips: hover/tap reveals definition. Mobile uses focus
     (tabindex=0 on .gloss span) to support tap interaction. */
  .gloss { position: relative; cursor: help; border-bottom: 1px dotted var(--ink-3); text-decoration: none; outline: none; }
  .gloss:hover, .gloss:focus { border-bottom-color: var(--ink); }
  .gloss::after {
    content: attr(data-tip); position: absolute; bottom: calc(100% + 8px); left: 50%;
    transform: translateX(-50%); background: var(--ink); color: var(--paper);
    padding: 10px 14px; border-radius: 8px; font-size: 12px; line-height: 1.5;
    width: 260px; max-width: 80vw; z-index: 100; font-weight: 400;
    text-transform: none; letter-spacing: 0; font-family: var(--font-sans);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    opacity: 0; visibility: hidden; transition: opacity 0.15s, visibility 0.15s;
    pointer-events: none;
  }
  .gloss::before {
    content: ""; position: absolute; bottom: 100%; left: 50%;
    transform: translateX(-50%); border: 5px solid transparent;
    border-top-color: var(--ink); margin-bottom: -2px;
    opacity: 0; visibility: hidden; transition: opacity 0.15s, visibility 0.15s;
    pointer-events: none;
  }
  .gloss:hover::after, .gloss:focus::after,
  .gloss:hover::before, .gloss:focus::before { opacity: 1; visibility: visible; }
  /* Right-edge tooltips flip left to stay on-screen */
  .gloss.gloss-right::after { left: auto; right: 0; transform: none; }
  .gloss.gloss-right::before { left: auto; right: 12px; transform: none; }
  .calc-form{background:var(--paper);border:1px solid var(--rule);border-radius:16px;padding:28px}
  .calc-form h2{font-family:var(--font-sans);font-weight:600;font-size:20px;letter-spacing:-0.01em;margin:0 0 18px;color:var(--ink)}
  .calc-form .row{margin-bottom:18px}
  .calc-form .row label{display:block;font-size:13px;font-weight:500;color:var(--ink-2);margin-bottom:8px}
  .calc-form .row label .num{font-family:var(--font-mono);font-size:11px;color:var(--ink-4);letter-spacing:0.06em;margin-right:8px}
  .calc-form .row-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .calc-form select,.calc-form textarea,.calc-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]){width:100%;padding:12px 14px;border:1px solid var(--rule-2);border-radius:10px;background:var(--paper);color:var(--ink);font-size:15px;font-family:var(--font-sans);outline:none;transition:border-color 0.15s ease}
  .calc-form textarea{min-height:96px;resize:vertical}
  .calc-form select:focus,.calc-form textarea:focus,.calc-form input:focus{border-color:var(--ro-blue);box-shadow:0 0 0 3px rgba(99,91,255,0.14)}
  .calc-form .seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
  .calc-form .seg-2{grid-template-columns:repeat(2,1fr)}
  .calc-form .seg label{margin-bottom:0}
  .calc-form .seg input[type="radio"]{position:absolute;opacity:0;pointer-events:none}
  .calc-form .seg .seg-btn{display:block;text-align:center;padding:10px;border:1px solid var(--rule-2);border-radius:10px;font-size:13px;color:var(--ink-2);cursor:pointer;background:var(--paper);transition:all 0.15s ease}
  .calc-form .seg input[type="radio"]:checked + .seg-btn{background:var(--ro-blue-soft);border-color:var(--ro-blue);color:var(--ink);font-weight:500}
  .calc-form .toggle-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--rule-2);border-radius:10px;background:var(--paper);cursor:pointer;transition:all 0.15s ease}
  .calc-form .toggle-row input{margin:0;width:18px;height:18px;cursor:pointer;accent-color:var(--ro-blue)}
  .calc-form .toggle-row span{font-size:14px;color:var(--ink);font-weight:500}
  .calc-form .toggle-row small{display:block;font-size:12px;color:var(--ink-3);font-weight:400;margin-top:2px}
  .calc-result{background:var(--paper-2);border:1px solid var(--rule);border-radius:16px;padding:28px;position:sticky;top:88px}
  .calc-result .eyebrow{margin-bottom:10px}
  .calc-result .label{font-family:var(--font-display);font-style:italic;font-size:22px;color:var(--ink-2);margin-bottom:6px}
  .calc-result .price{font-family:var(--font-display);font-size:64px;line-height:1;color:var(--ink);letter-spacing:-0.025em;margin-bottom:6px}
  .calc-result .price .unit{font-family:var(--font-mono);font-style:normal;font-size:22px;color:var(--ink-3);margin-left:6px;vertical-align:top}
  .calc-result .price-eur{font-family:var(--font-mono);font-size:14px;color:var(--ink-3);margin:0 0 14px;letter-spacing:0.01em}
  .calc-result .summary-row{display:flex;justify-content:space-between;gap:8px;margin:14px 0 10px;font-size:13px;color:var(--ink-3)}
  .calc-result .summary-row .v{font-family:var(--font-mono);color:var(--ink);font-weight:500}
  .calc-result .breakdown{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--rule)}
  .calc-result .breakdown .h{font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-4);margin-bottom:10px}
  .calc-result .br-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px}
  .calc-result .br-row .name{color:var(--ink-2)}
  .calc-result .br-row .amt{font-family:var(--font-mono);color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}
  .calc-result .cta-row{margin-top:18px;padding-top:18px;border-top:1px solid var(--rule)}
  .calc-result .cta-row .btn{width:100%;justify-content:center;font-size:14px;padding:14px}
  .calc-disclaimer{margin:24px 0 0;padding:16px 20px;background:var(--ro-yellow-soft);border:1px solid var(--ro-yellow);border-radius:12px;font-size:13px;color:var(--ink);line-height:1.5}
  .calc-disclaimer strong{font-weight:500}
  .calc-disclaimer a{color:var(--ink);text-decoration:underline;font-weight:500}
  .calc-edu{max-width:1100px;margin:32px auto 0;padding:32px 20px}
  .calc-edu h2{font-family:var(--font-sans);font-weight:600;font-size:26px;letter-spacing:-0.02em;margin:32px 0 14px}
  .calc-edu p{font-size:15px;line-height:1.6;color:var(--ink-2);max-width:740px}

  .calc-with-preview{max-width:1060px !important;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:0 36px;align-items:start}
  .calc-with-preview>.calc-form{grid-column:1;grid-row:1;margin-top:0;scroll-margin-top:84px}
  .calc-with-preview>.estimate-demo-wrap{grid-column:2;grid-row:1;position:sticky;top:88px;margin-bottom:0}
  @media (max-width:900px){
    .calc-with-preview{display:flex;flex-direction:column;align-items:stretch;gap:22px;max-width:640px !important}
    .calc-with-preview>.calc-form{order:-1}
    .calc-with-preview>.estimate-demo-wrap{position:static}
  }
  .calc-sticky,.calc-sticky-cta{display:none}
  @media (max-width:900px){
    .calc-sticky{display:block;position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:1px;height:0;z-index:92}
    .calc-sticky-cta{position:absolute;bottom:0;left:0;width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));box-sizing:border-box;transform:translateX(-50%);text-align:center;background:var(--ro-blue);color:#fff;font-weight:600;font-size:15px;padding:14px 16px;border-radius:999px;text-decoration:none}
    .calc-sticky-cta.on{display:block;animation:ve-sticky-in .25s ease}
    @keyframes ve-sticky-in{from{transform:translate(-50%,calc(100% + 24px))}to{transform:translateX(-50%)}}
    .calc-sticky-cta:hover{color:#fff;text-decoration:none}
    body.calc-sticky-on .ve-proof{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  }
  @media (prefers-reduced-motion: reduce){.calc-sticky-cta.on{animation:none}}
  .result-preview{background:var(--paper-2);border:1px solid var(--rule);border-radius:12px;padding:18px 22px;margin-bottom:24px}
  .result-preview .preview-body{display:grid;grid-template-columns:1fr;gap:18px;align-items:center}
  @media (min-width: 640px){.result-preview .preview-body{grid-template-columns:1fr auto;gap:24px}}
  @media (max-width: 639px){.preview-mock{border-left:0 !important;border-top:1px dashed var(--rule-2);padding-left:0 !important;padding-top:14px !important}}
  /* Estimate demo card (Faza C 2026-05-20) - same design as homepage demo card
     but reusable across calculator pages. */
  .estimate-demo-wrap{margin-bottom:28px}
  .estimate-demo-wrap .demo-eyebrow{font-family:var(--font-mono);font-size:11px;color:var(--ink-4);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:12px;text-align:center}
  .estimate-demo-card{background:var(--paper);border:1px solid var(--rule);border-radius:16px;padding:28px;position:relative;cursor:pointer}
  .estimate-demo-card .demo-desc{font-size:13px;color:var(--ink-2);margin-bottom:4px;line-height:1.45}
  .estimate-demo-card .demo-loc{font-size:13px;color:var(--ink-3);margin-bottom:0}
  .estimate-demo-card .demo-price-wrap{position:relative;padding:28px 0 36px}
  .estimate-demo-card .demo-price-label{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--ink-4);margin-bottom:6px;letter-spacing:0.06em;text-transform:uppercase}
  .estimate-demo-card .demo-price{font-family:var(--font-mono);font-weight:500;font-size:44px;line-height:1;color:var(--ink);letter-spacing:-0.02em}
  .estimate-demo-card .demo-price-unit{font-size:20px;color:var(--ink-3);font-family:var(--font-mono);font-weight:400}
  .estimate-demo-card .demo-price-eur{font-family:var(--font-mono);font-size:13px;color:var(--ink-4);margin-top:4px}
  .estimate-demo-card .demo-slider{margin-top:20px;position:relative;height:6px;background:var(--paper-3,#E9EEF5);border-radius:3px}
  .estimate-demo-card .demo-slider-fill{position:absolute;left:20%;right:15%;height:100%;background:var(--ro-blue);border-radius:3px}
  /* Flat dot, not a slider knob: Clarity 2026-07 showed users tapping/dragging
     this static card thinking the range was live. */
  .estimate-demo-card .demo-slider-dot{position:absolute;top:-1px;width:8px;height:8px;border-radius:4px;background:var(--ink-4)}
  .estimate-demo-card .demo-range{font-family:var(--font-mono);display:flex;justify-content:space-between;margin-top:8px;font-size:11px;color:var(--ink-3)}
  .estimate-demo-card .demo-range .min-lbl,.estimate-demo-card .demo-range .max-lbl{color:var(--ink-4);font-size:11px;display:block;margin-top:1px}
  .estimate-demo-card .demo-breakdown{border-top:1px solid var(--rule);padding-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .estimate-demo-card .demo-bd-label{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:var(--ink-4);margin-bottom:2px;letter-spacing:0.06em;text-transform:uppercase}
  .estimate-demo-card .demo-bd-value{font-size:14px;font-weight:500}
  .estimate-demo-wrap .demo-asa-arata{margin-top:10px;text-align:center;font-size:13px;color:var(--ro-blue);font-weight:500}
  @media (max-width: 600px){.estimate-demo-card .demo-price{font-size:36px}}
  /* Aggregate social-proof block (2026-06-12) - SEO zone, below the form.
     Renders only via _social_proof_block_html when a (calculator, city)
     combo clears the >=5 real-price gate in content/real-prices.json. */
  .social-proof{max-width:640px;margin:28px auto 0;background:var(--paper-2);border:1px solid var(--rule);border-radius:14px;padding:18px 20px}
  .social-proof .sp-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-4);margin-bottom:10px}
  .social-proof .sp-lead{font-size:14px;color:var(--ink-2);line-height:1.5;margin:0 0 12px}
  .social-proof .sp-lead strong{color:var(--ink);font-weight:600}
  .social-proof .sp-figure{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
  .social-proof .sp-ron{font-family:var(--font-mono);font-size:21px;font-weight:500;color:var(--ink);letter-spacing:-0.01em}
  .social-proof .sp-eur{font-family:var(--font-mono);font-size:12px;color:var(--ink-4)}
  .social-proof .sp-bar{position:relative;height:16px}
  .social-proof .sp-bar .sp-fill{position:absolute;top:6px;left:12%;width:76%;height:4px;background:var(--ro-blue);border-radius:99px}
  .social-proof .sp-bar::before{content:"";position:absolute;top:6px;left:0;right:0;height:4px;background:var(--rule);border-radius:99px}
  .social-proof .sp-bar .sp-marker{position:absolute;top:0;width:2px;height:16px;background:var(--ink)}
  .social-proof .sp-minmax{display:flex;justify-content:space-between;font-size:10px;color:var(--ink-4);margin:2px 0 12px}
  .social-proof .sp-minmax .sp-median{color:var(--ink-2);font-weight:500}
  .social-proof .sp-sources{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:10px;font-size:11px;color:var(--ink-4)}
  .social-proof .sp-sources .sp-updated{font-family:var(--font-mono)}
  .social-proof .sp-note{font-size:10px;color:var(--ink-4);opacity:0.8;margin-top:8px}

.direct-answer{background:var(--paper-2);border-left:3px solid var(--ro-blue);padding:18px 22px;margin:0 auto 32px;max-width:880px;border-radius:8px}
.direct-answer .da-q{font-family:var(--font-sans);font-weight:600;font-size:22px;line-height:1.3;margin:0 0 8px;color:var(--ink)}
.direct-answer .da-a{margin:0;color:var(--ink-2);line-height:1.55;font-size:15px}
@media (max-width:640px){.direct-answer{padding:14px 16px}.direct-answer .da-q{font-size:18px}}

  .calc-form select,.calc-form textarea,.calc-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]){width:100%;padding:12px 14px;border:1px solid var(--rule-2);border-radius:10px;background:#fff;color:var(--ink);font-size:15px;font-family:var(--font-sans);outline:none;transition:border-color 0.15s ease,box-shadow 0.15s ease;margin:0}
  .calc-form textarea{min-height:96px;resize:vertical}
  .calc-form select:focus,.calc-form textarea:focus,.calc-form input:focus{border-color:var(--ro-blue);box-shadow:0 0 0 3px rgba(99,91,255,0.14)}
  .calc-form ::placeholder{color:var(--ink-4);opacity:1}
  .calc-form button[type="submit"]{width:100%;padding:15px 24px;background:var(--ro-blue);color:#fff;border:none;border-radius:999px;font-size:15px;font-weight:500;font-family:var(--font-sans);cursor:pointer;margin-top:16px;transition:background 0.2s ease,transform 0.15s ease}
  .calc-form button[type="submit"]:hover{background:#5147E5;transform:translateY(-1px)}
  .calc-form button[type="submit"]:disabled{cursor:wait;background:var(--ink-4);transform:none}
  @media (max-width:768px){
    .calc-form select,.calc-form textarea,.calc-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]){font-size:16px}
    .calc-form button[type="submit"]{font-size:16px}
  }

  /* Un SINGUR chenar pentru tot blocul (owner 2026-09-21, review S2:
     "baga tot in acelasi chenar") - bordura sta pe .sp-wrap. Review #2:
     promo-ul e MINIMALIST, cat un rand de listare (titlu + o linie +
     butonul pe randul titlului, flex) si are fundal tent mai inchis, ca
     sa se citeasca a promovare fata de cardurile albe de sub el. */
  .sp-wrap{background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:16px 18px}
  /* Promo-only (nisa nemapata / 0 firme fara buton): fara chenarul alb
     exterior, ca sa nu iasa dublu-cadru peste stripul promo tentat. */
  .sp-wrap.sp-wrap-bare{background:transparent;border:0;border-radius:0;padding:0}
  .pl-promo.pl-promo-lite{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;background:transparent;border:1px dashed var(--rule-2);border-radius:12px;padding:12px 16px;text-align:left;color:var(--ink-2)}
  .sp-wrap>.pl-promo-lite:not(:first-child){margin-top:16px}
  .pl-promo.pl-promo-lite .pl-promo-title{color:var(--ink-2);font-size:14px;font-weight:400;margin:0;flex:1 1 280px;line-height:1.45}
  .pl-promo.pl-promo-lite .pl-promo-title strong{color:var(--ink);font-weight:600}
  .pl-promo.pl-promo-lite .pl-promo-btn{padding:10px 18px;font-size:13.5px;flex:0 0 auto}
  .sp-heading{font-size:17px;margin:16px 0 0;color:var(--ink)}
  .sp-cards{list-style:none;padding:0;margin:0}
  .sp-cards .listing-item{padding:1rem 0;border-bottom:1px solid var(--rule)}
  .sp-cards .listing-item:last-child{border-bottom:0;padding-bottom:6px}
  .sp-cards .listing-item h3{margin:0 0 4px;font-size:1.05em}
  .sp-cards .listing-item h3 a{color:var(--ink);text-decoration:none}
  .sp-cards .listing-item h3 a:hover{text-decoration:underline}
  .sp-cards .listing-contact{font-size:.88em;color:var(--ink-2);margin-top:6px;display:flex;flex-wrap:wrap;gap:8px 16px}
  .sp-cards .listing-phone-masked{color:var(--ink-2)}
  .sp-cards .badge-rating{font-size:.82em;color:#b8860b;display:block;margin-top:4px;font-weight:600}
  .sp-cards .badge-entity{font-size:.72em;font-weight:600;color:var(--ink-3);border:1px solid var(--rule);border-radius:6px;padding:1px 6px;margin-left:8px;vertical-align:2px}
  .sp-cards .sp-paid{display:inline-block;font-size:.74em;font-weight:600;color:#085041;background:#e1f5ee;border-radius:6px;padding:2px 8px;margin:0 0 4px}
  .sp-all-btn{display:block;text-align:center;margin-top:14px;font-size:14px;font-weight:600;color:var(--ro-blue);text-decoration:none;border:1px solid var(--rule-2);border-radius:999px;padding:11px 20px;background:var(--paper)}
  .sp-all-btn:hover{border-color:var(--ro-blue)}
