/* ============================================================
   R21 — javni kalkulator usluga (/kalkulator/ + /kalkulator/odrzavanje/)
   Poreklo: R19 lab (base.css + styles.css), scoped pod .r21-calc.
   Tokeni, dugmad, .wrap, .eyebrow, .h2, .lead dolaze iz site.css.
   ============================================================ */

.r21-calc .btn-sm{padding:.55rem .9rem;font-size:.74rem}
.r21-calc .small{font-size:.82rem;color:var(--muted)}
.r21-calc fieldset{border:0;min-width:0;margin:0;padding:0}
.r21-calc legend{padding:0}

/* ---- tabovi ---- */
.r21-calc .tabs-nav{display:flex;gap:.45rem;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:.9rem;margin-bottom:1.4rem}
.r21-calc .tabs-nav [role="tab"],.r21-calc .tabs-nav .tab-link{font-family:var(--font-mono);font-size:.74rem;font-weight:400;
  text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);background:var(--panel);border:1px solid var(--line);
  border-radius:99px;padding:.55rem 1.1rem;cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s var(--ease)}
.r21-calc .tabs-nav [role="tab"]:hover,.r21-calc .tabs-nav .tab-link:hover{color:var(--text);border-color:var(--line-2)}
.r21-calc .tabs-nav [role="tab"][aria-selected="true"],.r21-calc .tabs-nav .tab-link[aria-current="page"]{
  background:var(--accent);border-color:var(--accent);color:var(--accent-deep);font-weight:700}
.r21-calc .tabs-nav [role="tab"]:focus-visible,.r21-calc .tabs-nav .tab-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ---- layout ---- */
.r21-calc .calc-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(1.2rem,2.5vw,2rem);align-items:start;padding-bottom:3rem}
@media (max-width:1023px){.r21-calc .calc-grid{grid-template-columns:1fr;padding-bottom:7.5rem}}

/* ---- kartice izbora ---- */
.r21-calc .choice-grid{display:grid;gap:.8rem;margin-top:1rem}
.r21-calc .choice-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.r21-calc .choice-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.r21-calc .choice-grid.cols-2,.r21-calc .choice-grid.cols-3{grid-template-columns:1fr}}
.r21-calc .choice-card{position:relative}
.r21-calc .choice-card>input{position:absolute;width:1px;height:1px;opacity:0}
.r21-calc .choice-card>label{display:flex;flex-direction:column;gap:.3rem;height:100%;background:var(--panel);
  border:1px solid var(--line);border-radius:14px;padding:1.05rem 1.1rem;cursor:pointer;
  transition:border-color .2s var(--ease),background .2s var(--ease)}
.r21-calc .choice-card>label:hover{border-color:var(--line-2);background:var(--panel-2)}
.r21-calc .choice-card>input:focus-visible+label{outline:2px solid var(--accent);outline-offset:3px}
.r21-calc .choice-card>input:checked+label{border-color:var(--accent);background:var(--panel-2);
  box-shadow:0 0 0 1px var(--accent),0 18px 40px -22px rgba(247,168,27,.35)}
.r21-calc .choice-card .check{position:absolute;top:.85rem;right:.9rem;width:20px;height:20px;border-radius:50%;
  border:1.5px solid var(--line-2);display:grid;place-items:center;color:transparent;font-size:.7rem;font-weight:700;transition:all .2s var(--ease)}
.r21-calc .choice-card>input:checked+label .check{background:var(--accent);border-color:var(--accent);color:var(--accent-deep)}
.r21-calc .choice-card .name{color:var(--text);font-weight:700;font-size:1.02rem;padding-right:1.8rem}
.r21-calc .choice-card .price{font-family:var(--font-display);font-size:1.7rem;color:var(--text);line-height:1.1}
.r21-calc .choice-card .price .cur{color:var(--accent);font-size:1.05rem}
.r21-calc .choice-card .price .per{font-family:var(--font-mono);font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-left:.3rem}
.r21-calc .choice-card .for-who{font-size:.85rem;color:var(--text-2)}
.r21-calc .choice-card .meta{font-family:var(--font-mono);font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.r21-calc .choice-card .delta{font-family:var(--font-mono);font-size:.78rem;color:var(--accent)}
.r21-calc .badge{position:absolute;top:-.62rem;left:1rem;z-index:1;background:var(--accent);color:var(--accent-deep);
  font-family:var(--font-mono);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;padding:.18rem .55rem;border-radius:99px}
.r21-calc .choice-card details{margin-top:.45rem;border-top:1px dashed var(--line);padding-top:.45rem}
.r21-calc .choice-card summary{cursor:pointer;list-style:none;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.r21-calc .choice-card summary::-webkit-details-marker{display:none}
.r21-calc .choice-card summary:hover{color:var(--accent)}
.r21-calc .choice-card summary::before{content:'+ ';color:var(--accent)}
.r21-calc .choice-card details[open] summary::before{content:'− '}
.r21-calc .scope-cols{display:grid;gap:.6rem;margin-top:.5rem}
.r21-calc .scope-cols h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-2);margin-bottom:.2rem}
.r21-calc .scope-cols ul{list-style:none;margin:0;padding:0}
.r21-calc .scope-cols li{font-size:.8rem;padding-left:1rem;position:relative;color:var(--text-2)}
.r21-calc .scope-cols li::before{content:'✓';position:absolute;left:0;color:var(--ok);font-size:.72rem}
.r21-calc .scope-cols .not li::before{content:'—';color:var(--muted)}

/* ---- sekcije ---- */
.r21-calc .calc-section{background:var(--bg-2);border:1px solid var(--line);border-radius:16px;padding:clamp(1.2rem,2.5vw,1.8rem);margin-bottom:1.2rem}
.r21-calc .calc-section>.eyebrow{display:block}
.r21-calc .calc-section .sec-title{color:var(--text);font-size:1.15rem;font-weight:700;margin:.3rem 0 .2rem}
.r21-calc .calc-section .sec-desc{font-size:.88rem;color:var(--text-2);max-width:60ch}

/* ---- rekapitulacija ---- */
.r21-calc .recap{position:sticky;top:82px;background:var(--panel);border:1px solid var(--line-2);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.r21-calc .recap-head{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.15rem;
  border-bottom:1px dashed var(--line-2);background:linear-gradient(180deg,var(--panel-2),var(--panel))}
.r21-calc .recap-date{font-family:var(--font-mono);font-size:.64rem;color:var(--muted)}
.r21-calc .recap-body{padding:1rem 1.15rem .4rem}
.r21-calc .recap-items{list-style:none;min-height:2rem;margin:0;padding:0}
.r21-calc .recap-items li{display:flex;align-items:baseline;gap:.5rem;font-family:var(--font-mono);font-size:.78rem;color:var(--text-2);padding:.28rem 0}
.r21-calc .recap-items li .lbl{flex-shrink:1;min-width:0}
.r21-calc .recap-items li .dots{flex:1;border-bottom:1px dotted var(--line-2);transform:translateY(-3px)}
.r21-calc .recap-items li .val{color:var(--text);white-space:nowrap}
.r21-calc .recap-items li.note-line{color:var(--muted);font-size:.7rem}
.r21-calc .recap-empty{font-family:var(--font-mono);font-size:.74rem;color:var(--muted);padding:.3rem 0 .6rem}
.r21-calc .recap-total{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-top:1px solid var(--line-2);margin-top:.6rem;padding:.8rem 0 .2rem}
.r21-calc .recap-total .k{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-2)}
.r21-calc .recap-total .v{font-family:var(--font-display);font-size:1.9rem;color:var(--accent);line-height:1;white-space:nowrap}
.r21-calc .recap-total .v.quote-mode{font-size:1.05rem;font-family:var(--font-body);font-weight:700;color:var(--text);white-space:normal;text-align:right}
.r21-calc .recap-sub{font-family:var(--font-mono);font-size:.68rem;color:var(--muted);padding-bottom:.5rem}
.r21-calc .recap-legal{font-size:.72rem;color:var(--muted);line-height:1.5;border-top:1px dashed var(--line);padding:.7rem 0}
.r21-calc .recap-legal strong{color:var(--text-2);font-weight:600}
.r21-calc .recap-actions{display:grid;gap:.5rem;padding:.2rem 1.15rem 1.15rem}
.r21-calc .copy-ok{color:var(--ok);font-family:var(--font-mono);font-size:.68rem;opacity:0;transition:opacity .3s}
.r21-calc .copy-ok.show{opacity:1}

/* mobile traka */
.r21-calc .recap-bar{display:none}
@media (max-width:1023px){
  .r21-calc .recap{position:static}
  .r21-calc .recap-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;align-items:center;justify-content:space-between;gap:1rem;
    background:rgba(21,25,32,.95);backdrop-filter:blur(12px);border-top:1px solid var(--line-2);padding:.7rem clamp(1.15rem,4vw,2.4rem)}
  .r21-calc .recap-bar .t{font-family:var(--font-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
  .r21-calc .recap-bar .v{font-family:var(--font-display);font-size:1.3rem;color:var(--accent)}
}

/* ---- wizard ---- */
.r21-calc .steps-nav{display:flex;gap:.4rem;flex-wrap:wrap;margin:1.1rem 0 1.3rem}
.r21-calc .steps-nav .step-pill{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.68rem;
  text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:.38rem .8rem}
.r21-calc .steps-nav .step-pill .n{color:var(--text-2)}
.r21-calc .steps-nav .step-pill.active{color:var(--accent);border-color:var(--accent)}
.r21-calc .steps-nav .step-pill.done{color:var(--ok)}
.r21-calc .wiz-nav{display:flex;gap:.6rem;justify-content:space-between;margin-top:1.2rem;flex-wrap:wrap}
.r21-calc .wiz-nav .right{display:flex;gap:.6rem;margin-left:auto}

/* ---- slajder / stepper / pill / seg ---- */
.r21-calc .qty-row{display:flex;align-items:center;gap:1rem;margin-top:.8rem;flex-wrap:wrap}
.r21-calc .qty-row label{color:var(--text);font-weight:600;font-size:.92rem}
.r21-calc input[type="range"]{flex:1;min-width:180px;accent-color:var(--accent);height:28px}
.r21-calc .qty-val{font-family:var(--font-mono);font-size:.86rem;color:var(--accent);background:var(--panel);
  border:1px solid var(--line-2);border-radius:7px;padding:.3rem .65rem;min-width:5.5rem;text-align:center}
.r21-calc .stepper{display:inline-flex;align-items:center;gap:.4rem}
.r21-calc .stepper button{width:34px;height:34px;border-radius:7px;background:var(--panel-2);color:var(--text);
  border:1px solid var(--line-2);font-size:1rem;cursor:pointer;transition:all .18s var(--ease)}
.r21-calc .stepper button:hover{border-color:var(--accent);color:var(--accent)}
.r21-calc .stepper button:disabled{opacity:.35;cursor:not-allowed}
.r21-calc .stepper .sv{font-family:var(--font-mono);font-size:.9rem;color:var(--text);min-width:2.2rem;text-align:center}
.r21-calc .pill-row{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.9rem}
.r21-calc .pill-row .pill{position:relative}
.r21-calc .pill-row input{position:absolute;width:1px;height:1px;opacity:0}
.r21-calc .pill-row label{display:inline-block;cursor:pointer;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--text-2);background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:.45rem .95rem;transition:all .18s var(--ease)}
.r21-calc .pill-row label:hover{border-color:var(--line-2);color:var(--text)}
.r21-calc .pill-row input:checked+label{background:var(--accent);border-color:var(--accent);color:var(--accent-deep);font-weight:700}
.r21-calc .pill-row input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}
.r21-calc .seg{display:inline-flex;background:var(--panel);border:1px solid var(--line-2);border-radius:99px;padding:3px}
.r21-calc .seg .opt{position:relative}
.r21-calc .seg input{position:absolute;width:1px;height:1px;opacity:0}
.r21-calc .seg label{display:inline-block;cursor:pointer;border-radius:99px;font-family:var(--font-mono);font-size:.68rem;
  text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);padding:.35rem .8rem;transition:all .18s var(--ease)}
.r21-calc .seg input:checked+label{background:var(--accent);color:var(--accent-deep);font-weight:700}
.r21-calc .seg input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}

/* ---- dialog poređenja ---- */
.r21-calc dialog{background:var(--panel);color:var(--text-2);border:1px solid var(--line-2);border-radius:16px;
  padding:1.4rem;max-width:min(92vw,880px);width:100%;box-shadow:var(--shadow)}
.r21-calc dialog::backdrop{background:rgba(8,9,12,.75)}
.r21-calc .cmp-table{width:100%;border-collapse:collapse;font-size:.8rem;margin-top:.8rem}
.r21-calc .cmp-table th,.r21-calc .cmp-table td{padding:.5rem .6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.r21-calc .cmp-table th{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-2)}
.r21-calc .cmp-table td.num{font-family:var(--font-mono);color:var(--text);white-space:nowrap}
.r21-calc .cmp-scroll{overflow-x:auto}

/* ---- info / rate ---- */
.r21-calc .info-note{display:flex;gap:.7rem;align-items:flex-start;background:var(--panel);border:1px dashed var(--line-2);
  border-radius:12px;padding:.85rem 1rem;margin-top:.8rem;font-size:.84rem;color:var(--text-2)}
.r21-calc .info-note .i{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);
  font-family:var(--font-mono);font-size:.68rem;display:grid;place-items:center}
.r21-calc .rate-strip{display:grid;gap:.6rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.9rem}
@media (max-width:760px){.r21-calc .rate-strip{grid-template-columns:1fr}}
.r21-calc .rate-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.8rem .9rem}
.r21-calc .rate-card .rv{font-family:var(--font-display);font-size:1.25rem;color:var(--text)}
.r21-calc .rate-card .rv .cur{color:var(--accent);font-size:.85rem}
.r21-calc .rate-card .rk{font-size:.8rem;color:var(--text-2);font-weight:600}
.r21-calc .rate-card .rn{font-size:.72rem;color:var(--muted);margin-top:.2rem}

/* ---- redovi dodataka ---- */
.r21-calc .addon-rows{display:grid;gap:.7rem;margin-top:1rem}
.r21-calc .addon-row{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;padding:.95rem 1.05rem;transition:border-color .2s var(--ease)}
.r21-calc .addon-row.active{border-color:var(--accent)}
.r21-calc .addon-row.disabled{opacity:.55}
.r21-calc .addon-row .ar-main{flex:1;min-width:220px}
.r21-calc .addon-row .ar-name{color:var(--text);font-weight:700;font-size:.95rem}
.r21-calc .addon-row .ar-price{font-family:var(--font-mono);font-size:.78rem;color:var(--accent);margin-left:.4rem}
.r21-calc .addon-row .ar-note{font-size:.78rem;color:var(--muted);margin-top:.25rem;max-width:56ch}
.r21-calc .addon-row .ar-ctrl{display:flex;align-items:center;gap:.6rem}
.r21-calc .addon-row .switch{position:relative}
.r21-calc .addon-row .switch input{position:absolute;width:1px;height:1px;opacity:0}
.r21-calc .addon-row .switch label{display:block;width:46px;height:26px;border-radius:99px;background:var(--panel-3);
  border:1px solid var(--line-2);cursor:pointer;position:relative;transition:all .2s var(--ease)}
.r21-calc .addon-row .switch label::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:var(--text-2);transition:all .2s var(--ease)}
.r21-calc .addon-row .switch input:checked+label{background:var(--accent);border-color:var(--accent)}
.r21-calc .addon-row .switch input:checked+label::after{left:23px;background:var(--accent-deep)}
.r21-calc .addon-row .switch input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}
.r21-calc .terms-list{list-style:none;margin:.7rem 0 0;padding:0}
.r21-calc .terms-list li{font-size:.84rem;color:var(--text-2);padding:.3rem 0 .3rem 1.2rem;position:relative}
.r21-calc .terms-list li::before{content:'§';position:absolute;left:0;color:var(--accent);font-family:var(--font-mono);font-size:.72rem}

/* ---- održavanje specifično ---- */
.r21-calc .all-include{display:flex;gap:.5rem 1.2rem;flex-wrap:wrap;align-items:center;background:var(--panel);
  border:1px dashed var(--line-2);border-radius:12px;padding:.75rem 1rem;margin-top:.9rem}
.r21-calc .all-include .ai-k{font-family:var(--font-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.09em;color:var(--accent)}
.r21-calc .all-include .ai-item{font-size:.8rem;color:var(--text-2);position:relative;padding-left:1rem}
.r21-calc .all-include .ai-item::before{content:'✓';position:absolute;left:0;color:var(--ok);font-size:.7rem}
.r21-calc .m-axes{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-top:.35rem}
.r21-calc .m-axes .ax{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:.35rem .45rem}
.r21-calc .m-axes .ax .k{display:block;font-family:var(--font-mono);font-size:.56rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.r21-calc .m-axes .ax .v{font-size:.76rem;color:var(--text);font-weight:600}
.r21-calc .choice-card.recommended>label{border-color:rgba(247,168,27,.45)}
.r21-calc .choice-card.recommended .rec-badge{display:inline-block;font-family:var(--font-mono);font-size:.58rem;
  text-transform:uppercase;letter-spacing:.08em;color:var(--accent);border:1px solid rgba(247,168,27,.5);
  border-radius:99px;padding:.1rem .5rem;margin-top:.4rem;width:fit-content}
.r21-calc .choice-card .rec-badge{display:none}
@media (max-width:1100px){.r21-calc #m-packages.choice-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.r21-calc #m-packages.choice-grid.cols-3{grid-template-columns:1fr}}

/* ---- print: samo rekapitulacija ---- */
.r21-calc .print-only{display:none;font-size:.72rem;color:var(--muted);padding:.6rem 0 0}
@media print{
  body{background:#fff;color:#111}
  .site-header,.mobile-menu,.site-footer,.callbar,.atmos,.skip-link,
  .r21-calc .page-hero,.r21-calc .tabs-nav,.r21-calc .calc-main,
  .r21-calc .recap-bar,.r21-calc .recap-actions,.r21-calc .calc-note{display:none!important}
  .r21-calc .calc-grid{display:block;padding:0}
  .r21-calc .recap{position:static;border:1px solid #bbb;box-shadow:none;background:#fff;border-radius:8px}
  .r21-calc .recap-head{background:#fff;border-bottom:1px dashed #bbb}
  .r21-calc .recap-head .eyebrow{color:#b07500}
  .r21-calc .recap-date{color:#666}
  .r21-calc .recap-items li{color:#222}
  .r21-calc .recap-items li .val,.r21-calc .recap-total .k{color:#111}
  .r21-calc .recap-total .v{color:#b07500}
  .r21-calc .recap-legal{color:#444}
  .r21-calc .print-only{display:block!important}
}

@media (prefers-reduced-motion:reduce){
  .r21-calc *{transition:none!important;animation:none!important}
}
