/* Mini korpa: panel sa desne strane (modul minikorpa). HTML: template-parts/shop/minikorpa.php + AJAX.
   Boje i razmaci dolaze iz varijabli u glavni.css (:root); ponašanje panela isto kao panel "Rezervišite termin". */

.minikorpa{position:fixed;inset:0 0 0 auto;margin:0;width:min(420px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:0;border:0;background:var(--krem);color:var(--ponoc);box-shadow:-12px 0 40px rgba(28,25,22,.25);overflow:hidden}
.minikorpa[open]{display:flex;animation:minikorpa-ulaz .6s cubic-bezier(.22,.61,.36,1)}
.minikorpa.se-zatvara{animation:minikorpa-izlaz .4s cubic-bezier(.55,.06,.68,.19) forwards}
@keyframes minikorpa-ulaz{from{transform:translateX(56px);opacity:0}to{transform:none;opacity:1}}
@keyframes minikorpa-izlaz{from{transform:none;opacity:1}to{transform:translateX(56px);opacity:0}}
.minikorpa::backdrop{background:rgba(28,25,22,.55)}
.minikorpa[open]::backdrop{animation:minikorpa-pozadina .6s ease}
.minikorpa.se-zatvara::backdrop{animation:minikorpa-pozadina .4s ease reverse forwards}
@keyframes minikorpa-pozadina{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.minikorpa,.minikorpa::backdrop{animation:none!important}}

.minikorpa__unutra{display:flex;flex-direction:column;width:100%;min-height:0}
.minikorpa__vrh{display:flex;align-items:center;justify-content:space-between;padding:var(--r3) var(--r3) var(--r2);border-bottom:1px solid var(--linija)}
.minikorpa__naslov{font:400 24px/1.3 var(--akcent);letter-spacing:.04em;text-transform:uppercase}
.minikorpa__zatvori{width:44px;height:44px;margin-right:-10px;border:0;background:none;color:var(--taupe);font-size:32px;line-height:1;cursor:pointer;transition:color .3s,transform .4s}
.minikorpa__zatvori:hover{color:var(--ponoc);transform:rotate(90deg)}
.minikorpa__zatvori:focus:not(:focus-visible){outline:none}

/* Sadržaj: stavke se skrolaju, zbir i dugmad ostaju pri dnu */
.minikorpa__sadrzaj{display:flex;flex-direction:column;flex:1;min-height:0;transition:opacity .2s}
.minikorpa.ucitava .minikorpa__sadrzaj{opacity:.5;pointer-events:none}
.minikorpa__stavke{flex:1;min-height:0;margin:0;padding:0 var(--r3);list-style:none;overflow-y:auto}
.minikorpa__stavka{position:relative;display:flex;gap:var(--r2);padding:var(--r3) 0;border-bottom:1px solid var(--linija);transition:opacity .25s}
.minikorpa__stavka.uklanja{opacity:.35}
.minikorpa__slika{flex:0 0 72px}
.minikorpa__slika img{display:block;width:72px;height:72px;object-fit:cover;border-radius:2px;background:var(--pijesak)}
.minikorpa__podaci{flex:1;min-width:0;padding-right:28px}
.minikorpa__naziv{margin-bottom:4px;font:400 16px/1.35 var(--akcent);letter-spacing:.03em;text-transform:uppercase}
.minikorpa__naziv a{text-decoration:none}
.minikorpa__naziv a:hover{color:var(--zlato-tekst)}
.minikorpa__podaci dl.variation{display:flex;flex-wrap:wrap;gap:0 6px;margin:0 0 8px;font-size:13px;color:var(--taupe)}
.minikorpa__podaci dl.variation dt,.minikorpa__podaci dl.variation dd{margin:0}
.minikorpa__podaci dl.variation p{margin:0}
.minikorpa__red{display:flex;align-items:center;justify-content:space-between;gap:var(--r2);margin-top:var(--r1)}
.minikorpa__kolicina{display:inline-flex;align-items:center;border:1px solid var(--linija);border-radius:2px;background:var(--bijela)}
.minikorpa__kol-dugme{width:34px;height:34px;border:0;background:none;color:var(--ponoc);font-size:18px;line-height:1;cursor:pointer;transition:background-color .2s}
.minikorpa__kol-dugme:hover{background:var(--pijesak)}
.minikorpa__kol-broj{min-width:28px;text-align:center;font:500 14px/1 var(--sans)}
.minikorpa__cijena{font:500 15px/1.3 var(--sans);color:var(--zlato-tekst)}
.minikorpa__ukloni{position:absolute;top:var(--r2);right:-6px;width:36px;height:36px;border:0;background:none;color:var(--taupe);font-size:24px;line-height:1;cursor:pointer;transition:color .2s}
.minikorpa__ukloni:hover{color:#9B2C2C}

.minikorpa__podnozje{padding:var(--r3);border-top:1px solid var(--linija);background:var(--krem)}
.minikorpa__zbir{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--r2);font:600 12px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--taupe)}
.minikorpa__zbir strong{font:500 20px/1.3 var(--sans);letter-spacing:0;color:var(--ponoc)}
.minikorpa__dugme{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:var(--r1);padding:0 var(--r2);border:1px solid var(--ponoc);border-radius:2px;font:600 12px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:background-color .2s,color .2s}
.minikorpa__dugme--okvir{background:transparent;color:var(--ponoc)}
.minikorpa__dugme--okvir:hover{background:var(--pijesak)}
.minikorpa__dugme--tamno{background:var(--ponoc);color:var(--krem)}
.minikorpa__dugme--tamno:hover{background:var(--espresso);border-color:var(--espresso)}

.minikorpa__prazna{padding:var(--r8) var(--r3);text-align:center;color:var(--taupe)}
.minikorpa__prazna-naslov{margin-bottom:var(--r1);font:400 22px/1.3 var(--akcent);letter-spacing:.03em;color:var(--ponoc)}
.minikorpa__prazna .minikorpa__dugme{margin-top:var(--r3)}
.minikorpa__greska{padding:var(--r4) var(--r3);color:#9B2C2C;text-align:center}
