.piv-single-product__gallery { position:relative !important; top:auto !important; }
.piv-gallery__main { background:#fff !important; }
.piv-gallery__main img { background:#fff !important; }
.piv-gallery__thumb { background:#fff !important; }

.piv-related-grid { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)) !important; gap:16px; padding:16px 0; }
.piv-related-card { display:flex !important; flex-direction:column; background:#fff; border:1px solid #ebebeb; border-radius:10px; padding:14px; transition:box-shadow .2s,transform .2s; }
.piv-related-card:hover { box-shadow:0 8px 24px rgba(0,0,0,.10); transform:translateY(-2px); }
.piv-related-card__link { display:flex; flex-direction:column; gap:8px; text-decoration:none; color:inherit; flex:1; }
.piv-related-card__link img { width:100%; aspect-ratio:1; object-fit:contain; background:#fff; display:block; }
.piv-related-card__name { font-size:13px; font-weight:600; color:#1a1a1a; line-height:1.4; flex:1; }
.piv-related-card__price { font-size:14px; font-weight:700; color:#1a1a1a; }
.piv-related-card__price .woocommerce-Price-amount { color:#1a1a1a !important; font-size:inherit !important; }
.piv-related-card__add { display:block; width:100%; margin:10px 0 0; padding:9px 12px; font-size:12px; font-weight:700; text-align:center; background:#526832; color:#fff; border:none; border-radius:8px; cursor:pointer; text-decoration:none; letter-spacing:.05em; text-transform:uppercase; transition:background .15s; font-family:inherit; }
.piv-related-card__add:hover { background:#41521f; color:#fff; }
.piv-related-card__add.is-loading { opacity:.7; pointer-events:none; }
.piv-related-card__add.is-done { background:#1b5e20; }
.piv-related-card__add--alt { background:#f5f5f5 !important; color:#1a1a1a !important; }
.piv-related-card__add--alt:hover { background:#1a1a1a !important; color:#fff !important; }
/* ── Preporučeni pribor: istaknuti carousel + teaser ─────────── */
.piv-pribor { margin:44px 0 8px; padding-top:36px; border-top:1px solid #ebebeb; scroll-margin-top:90px; }
.piv-pribor__head { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.piv-pribor__heading { display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
.piv-pribor__nav { display:flex; gap:8px; flex-shrink:0; }
.piv-pribor__arrow { width:38px; height:38px; padding:0; border-radius:50%; border:1px solid #dfe3d6; background:#fff; color:#526832; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .15s,border-color .15s,color .15s,opacity .15s; }
.piv-pribor__arrow svg { width:20px; height:20px; }
.piv-pribor__arrow:hover:not(:disabled) { background:#526832; border-color:#526832; color:#fff; }
.piv-pribor__arrow:disabled { opacity:.35; cursor:default; }
.piv-pribor__title { font-size:22px !important; font-weight:900 !important; color:#1a1a1a !important; margin:0 !important; display:flex !important; align-items:center; gap:10px; }
.piv-pribor__count { display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:26px; padding:0 9px; background:#526832; color:#fff; border-radius:999px; font-size:13px; font-weight:800; }
.piv-pribor__sub { font-size:14px; color:#777; margin:0; }
.piv-pribor__scroll { display:flex; gap:16px; overflow-x:auto; padding:6px 2px 18px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#cfcfcf #f2f2f2; }
.piv-pribor__scroll > .piv-related-card { flex:0 0 190px; scroll-snap-align:start; margin:0; }
.piv-pribor__scroll::-webkit-scrollbar { height:8px; }
.piv-pribor__scroll::-webkit-scrollbar-thumb { background:#cfcfcf; border-radius:8px; }
.piv-pribor__scroll::-webkit-scrollbar-track { background:#f2f2f2; border-radius:8px; }
.piv-pribor-teaser { display:inline-flex; align-items:center; gap:9px; margin:14px 0 0; padding:11px 16px; background:#eef3e6; border:1px solid #cddbb8; border-radius:10px; color:#41521f; font-size:14px; font-weight:600; text-decoration:none; transition:background .15s,border-color .15s; }
.piv-pribor-teaser strong { font-weight:900; }
.piv-pribor-teaser:hover { background:#e4eddb; border-color:#8aa564; }
.piv-pribor-teaser__arrow { animation:pivPriborBounce 1.6s ease-in-out infinite; }
@keyframes pivPriborBounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(3px)} }
@media (max-width:600px){ .piv-pribor__scroll > .piv-related-card { flex-basis:150px; } .piv-pribor__title { font-size:19px !important; } }

.piv-tech-specs__table { width:100%; border-collapse:collapse; margin:0 0 22px; }
.piv-tech-specs__table caption { font-size:14px; font-weight:700; color:#1a1a1a; padding:10px 12px; text-align:left; background:#fafafa; border-left:3px solid #526832; }
.piv-tech-specs__table th { text-align:left; padding:9px 14px; background:#fafafa; font-weight:600; color:#1a1a1a; width:42%; border-bottom:1px solid #f0f0f0; font-size:13px; }
.piv-tech-specs__table td { padding:9px 14px; color:#444; border-bottom:1px solid #f0f0f0; font-size:13px; }
.piv-tech-specs__unit { color:#999; font-size:12px; }

.piv-stock { display:inline-flex !important; align-items:center; gap:6px; padding:7px 16px !important; border-radius:20px !important; font-size:13px !important; font-weight:700 !important; margin:0 0 14px !important; line-height:1; }
.piv-stock--in { background:#e8f5e9 !important; color:#1b5e20 !important; box-shadow:inset 0 0 0 1px rgba(46,125,50,.2); }
.piv-stock--out { background:#ffebee !important; color:#b71c1c !important; box-shadow:inset 0 0 0 1px rgba(198,40,40,.2); }
.piv-stock__qty { font-weight:500; opacity:.85; }
/* Hide WC default stock text — we'll merge it into our pill */
.single-product .stock, .single-product p.stock, .single-product .woocommerce-product-details__short-description + .stock { display:none !important; }
.piv-single-product__info .stock, .piv-single-product__info p.stock { display:none !important; }
/* Stock pill polish */
.piv-stock { display:inline-flex !important; align-items:center; gap:8px !important; padding:8px 16px !important; border-radius:24px !important; font-size:13px !important; font-weight:700 !important; margin:6px 0 16px !important; line-height:1; letter-spacing:.02em !important; }
.piv-stock--in { background:#e8f5e9 !important; color:#1b5e20 !important; box-shadow:inset 0 0 0 1px rgba(46,125,50,.25) !important; }
.piv-stock--out { background:#ffebee !important; color:#b71c1c !important; box-shadow:inset 0 0 0 1px rgba(198,40,40,.25) !important; }
.piv-stock__icon { width:18px; height:18px; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,.55); }
.piv-stock__icon svg { width:11px; height:11px; }
.piv-stock__main { font-weight:700 !important; }
.piv-stock__qty { font-weight:500 !important; opacity:.85 !important; margin-left:4px !important; }
.piv-stock__qty::before { content:'·'; margin-right:4px; opacity:.6; }

/* Listing card image: white bg + no zoom */
.piv-product-card__img-wrap { background:#fff !important; }
.piv-product-card__img-wrap::after { display:none !important; }
.piv-product-card__img { object-fit:contain !important; padding:14px; box-sizing:border-box; transform:none !important; transition:none !important; }
.piv-product-card:hover .piv-product-card__img { transform:none !important; }
.piv-product-card .piv-btn--add-cart { background:#526832 !important; color:#fff !important; border:none !important; }
.piv-product-card .piv-btn--add-cart:hover { background:#41521f !important; color:#fff !important; }
.piv-product-card .piv-btn--add-cart.is-loading { opacity:.7; pointer-events:none; }
.piv-product-card .piv-btn--add-cart.is-done { background:#1b5e20 !important; }

/* Toast notification (top-right) */
.piv-toast-stack { position:fixed; top:96px; right:20px; z-index:99998; display:flex; flex-direction:column; gap:10px; pointer-events:none; max-width:340px; }
.piv-toast { background:#fff; border-left:4px solid #526832; border-radius:8px; padding:12px 16px; box-shadow:0 6px 24px rgba(0,0,0,.14); display:flex; align-items:center; gap:12px; font-size:13px; color:#1a1a1a; transform:translateX(120%); opacity:0; transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .25s; pointer-events:auto; min-width:260px; }
.piv-toast.is-visible { transform:translateX(0); opacity:1; }
.piv-toast__icon { width:30px; height:30px; flex-shrink:0; background:#e8f5e9; color:#1b5e20; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; }
.piv-toast__body { flex:1; line-height:1.35; min-width:0; }
.piv-toast__title { font-weight:700; color:#1b5e20; display:block; font-size:11px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:2px; }
.piv-toast__msg { color:#444; font-size:13px; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.piv-toast--error { border-left-color:#c62828; }
.piv-toast--error .piv-toast__icon { background:#ffebee; color:#b71c1c; }
.piv-toast--error .piv-toast__title { color:#b71c1c; }
@media(max-width:600px){ .piv-toast-stack { top:72px; right:10px; left:10px; max-width:none; } .piv-toast { min-width:0; } }

/* === Automatski popust: sakriti unos kupona ================================
   Kupone smo uključili SAMO da bismo mogli programski primijeniti popust (filtar
   woocommerce_coupons_enabled, v8.31) — trgovina ih inače ne koristi. Bez ovoga bi se u
   košarici i na blagajni pojavilo polje "Imate promotivni kod?" koje nikome ne treba.
   Ciljamo imena BLOKOVA (izvedena iz registriranog naziva bloka pa su stabilna kroz nadogradnje),
   a ne interne pomoćne klase. Skrivamo i "žeton" s kodom kupona u retku popusta — kupac nije
   unio kod, a ikonica × pored njega izgleda kao da popust može poništiti.
   Ako trgovina jednom počne koristiti prave kupone, obrisati ovaj odjeljak. */
.wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wp-block-woocommerce-checkout-order-summary-coupon-form-block,
.woocommerce-checkout .checkout_coupon,
.woocommerce-cart .woocommerce-cart-form .coupon { display:none !important; }
.wc-block-components-totals-discount .wc-block-components-totals-discount__coupon-list { display:none !important; }

/* === Cart page (block) styling === */
body.woocommerce-cart .wc-block-components-checkout-button, body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a, body.woocommerce-cart a.wc-block-cart__submit-container, body.woocommerce-cart .wc-block-cart__submit-button { background:#526832 !important; color:#fff !important; border:none !important; font-weight:800 !important; letter-spacing:.05em !important; padding:16px 28px !important; border-radius:10px !important; font-size:15px !important; text-transform:uppercase !important; text-decoration:none !important; }
body.woocommerce-cart .wc-block-components-checkout-button:hover, body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a:hover, body.woocommerce-cart .wc-block-cart__submit-button:hover { background:#41521f !important; color:#fff !important; }
/* Side totals card */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block, body.woocommerce-cart .wc-block-cart__sidebar { border:1px solid #ebebeb !important; border-radius:12px !important; padding:18px 20px !important; background:#fff !important; }
/* Cart item image wrapper */
body.woocommerce-cart .wc-block-cart-item__image, body.woocommerce-cart .wc-block-cart-item__image a, body.woocommerce-cart .wc-block-cart-item__image img { background:#fff !important; }
body.woocommerce-cart .wc-block-cart-item__image img { object-fit:contain !important; padding:6px; box-sizing:border-box; }
/* Cross-sells "Možda vas zanima…" */
body.woocommerce-cart .wc-block-cart__cross-sells { padding:24px 0 8px !important; border-top:1px solid #ebebeb !important; margin-top:24px !important; }
body.woocommerce-cart .wc-block-cart__cross-sells h2 { font-size:16px !important; font-weight:800 !important; color:#1a1a1a !important; margin:0 0 16px !important; text-transform:uppercase !important; letter-spacing:.05em !important; }
body.woocommerce-cart .wc-block-cart__cross-sells .wc-block-grid__products, body.woocommerce-cart .wc-block-cart__cross-sells .wp-block-columns { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)) !important; gap:16px !important; }
body.woocommerce-cart .wc-block-cart__cross-sells .wc-block-grid__product, body.woocommerce-cart .wc-block-cart__cross-sells .wp-block-column { border:1px solid #ebebeb !important; border-radius:10px !important; padding:14px !important; background:#fff !important; margin:0 !important; transition:box-shadow .2s,transform .2s; }
body.woocommerce-cart .wc-block-cart__cross-sells .wc-block-grid__product:hover, body.woocommerce-cart .wc-block-cart__cross-sells .wp-block-column:hover { box-shadow:0 8px 24px rgba(0,0,0,.08); transform:translateY(-2px); }
body.woocommerce-cart .wc-block-cart__cross-sells img { width:100% !important; aspect-ratio:1 !important; object-fit:contain !important; background:#fff !important; display:block !important; padding:8px !important; box-sizing:border-box; }
body.woocommerce-cart .wc-block-cart__cross-sells .wc-block-grid__product-title, body.woocommerce-cart .wc-block-cart__cross-sells .wp-block-post-title { font-size:13px !important; font-weight:600 !important; color:#1a1a1a !important; line-height:1.35 !important; margin:8px 0 4px !important; min-height:36px; }
body.woocommerce-cart .wc-block-cart__cross-sells .price, body.woocommerce-cart .wc-block-cart__cross-sells .wc-block-grid__product-price { font-size:14px !important; font-weight:800 !important; color:#1a1a1a !important; margin-bottom:10px !important; display:block; }
body.woocommerce-cart .wc-block-cart__cross-sells .wp-block-button__link, body.woocommerce-cart .wc-block-cart__cross-sells a.wp-element-button, body.woocommerce-cart .wc-block-cart__cross-sells .add_to_cart_button { background:#526832 !important; color:#fff !important; padding:8px 14px !important; border-radius:8px !important; font-size:12px !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.04em !important; border:none !important; text-decoration:none !important; display:inline-block !important; width:100% !important; text-align:center !important; box-sizing:border-box; }
body.woocommerce-cart .wc-block-cart__cross-sells .wp-block-button__link:hover, body.woocommerce-cart .wc-block-cart__cross-sells a.wp-element-button:hover { background:#41521f !important; color:#fff !important; }

/* === Cancel notice (when ?cancel_order=true) === */
.piv-cancel-notice { display:flex; align-items:flex-start; gap:14px; padding:18px 22px; margin:20px 0 28px; background:linear-gradient(90deg, #fff7ed, #fef3c7); border:1px solid #fcd34d; border-left:4px solid #d97706; border-radius:12px; box-shadow:0 4px 16px rgba(217, 119, 6, 0.08); }
.piv-cancel-notice__icon { color:#d97706; flex-shrink:0; display:flex; align-items:center; justify-content:center; width:36px; height:36px; background:rgba(217,119,6,0.12); border-radius:50%; }
.piv-cancel-notice__body { display:flex; flex-direction:column; gap:4px; }
.piv-cancel-notice__body strong { font-size:15px; font-weight:800; color:#92400e; }
.piv-cancel-notice__body span { font-size:13px; color:#78350f; line-height:1.5; }

/* === Napomena na blagajni (iznad prihvacanja uvjeta) ===
   Napomena je SUSJED #pivBlockTerms-a, ne njegovo dijete: #pivBlockTerms je sam po sebi kutija
   kvacice (display:flex, sivi okvir, zelen kad je oznaceno — vidi nize), pa bi joj dijete zavrsilo
   U ISTOM REDU s kvacicom. Roditelj .wc-block-checkout__actions_row je vec vracen na display:block. */
.piv-checkout-notice { display:flex; align-items:flex-start; gap:11px; padding:13px 15px; margin:0 0 12px; background:#fff7ed; border:1px solid #f6d9a8; border-left:3px solid #d97706; border-radius:10px; }
.piv-checkout-notice__ico { color:#d97706; flex-shrink:0; margin-top:1px; }
.piv-checkout-notice__body { display:flex; flex-direction:column; gap:3px; min-width:0; }
.piv-checkout-notice__eyebrow { font-size:10.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#b45309; }
.piv-checkout-notice__text { font-size:13px; line-height:1.5; color:#78350f; }
.piv-checkout-notice strong { color:#92400e; font-weight:800; }


/* Cross-sells block (wp-block-woocommerce-product-collection on cart) */
body.woocommerce-cart .wp-block-woocommerce-product-collection { padding:24px 0 8px !important; border-top:1px solid #ebebeb !important; margin-top:32px !important; }
body.woocommerce-cart .wp-block-woocommerce-product-collection > .wp-block-heading { font-size:16px !important; font-weight:800 !important; color:#1a1a1a !important; margin:0 0 18px !important; text-transform:uppercase !important; letter-spacing:.05em !important; }
body.woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-post-template { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)) !important; gap:16px !important; list-style:none !important; padding:0 !important; margin:0 !important; }
body.woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-post { border:1px solid #ebebeb !important; border-radius:10px !important; padding:14px !important; background:#fff !important; margin:0 !important; transition:box-shadow .2s,transform .2s; display:flex !important; flex-direction:column !important; }
body.woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-post:hover { box-shadow:0 8px 24px rgba(0,0,0,.08); transform:translateY(-2px); }
body.woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-components-product-image, body.woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-image { margin:0 0 10px !important; background:#fff !important; }
body.woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-components-product-image img, body.woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-image img { width:100% !important; aspect-ratio:1 !important; object-fit:contain !important; background:#fff !important; display:block !important; padding:6px !important; box-sizing:border-box; }
body.woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-components-product-name, body.woocommerce-cart .wp-block-woocommerce-product-collection h3 { font-size:13px !important; font-weight:600 !important; color:#1a1a1a !important; line-height:1.35 !important; margin:0 0 6px !important; min-height:36px; text-decoration:none !important; }
body.woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-components-product-price, body.woocommerce-cart .wp-block-woocommerce-product-collection .price { font-size:14px !important; font-weight:800 !important; color:#1a1a1a !important; margin:0 0 12px !important; display:block; flex:1; }
body.woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-components-product-button, body.woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-button__link, body.woocommerce-cart .wp-block-woocommerce-product-collection a.wp-element-button, body.woocommerce-cart .wp-block-woocommerce-product-collection .add_to_cart_button { background:#526832 !important; color:#fff !important; padding:9px 14px !important; border-radius:8px !important; font-size:12px !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.04em !important; border:none !important; text-decoration:none !important; display:inline-block !important; width:100% !important; text-align:center !important; box-sizing:border-box; transition:background .15s; }
body.woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-components-product-button:hover, body.woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-button__link:hover { background:#41521f !important; color:#fff !important; }

/* Block checkout customizations */
.woocommerce-checkout .wc-block-checkout__payment-method,
.woocommerce-checkout fieldset.wp-block-woocommerce-checkout-payment-block { border:none !important; padding:0 !important; background:transparent !important; }
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__option > input[type="radio"] { position:absolute !important; left:16px !important; top:18px !important; margin:0 !important; }
/* Override WC's default black 1.5px inset shadow on highlighted accordion option */
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__label { font-weight:700 !important; color:#1a1a1a !important; font-size:14px !important; }
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__description { font-size:12px !important; color:#666 !important; margin-top:2px !important; font-weight:400 !important; }
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__option-content { padding-top:8px !important; padding-left:0 !important; margin-top:8px !important; border-top:1px solid rgba(58,122,58,.15) !important; font-size:13px !important; color:#444 !important; }
.woocommerce-checkout .wc-block-checkout__actions_row { display:block !important; width:100% !important; }
.woocommerce-checkout .wc-block-components-checkout-place-order-button { font-size:15px !important; padding:13px 28px !important; border-radius:10px !important; font-weight:800 !important; letter-spacing:.05em !important; text-transform:uppercase !important; background:#526832 !important; width:100% !important; min-width:100% !important; min-height:0 !important; }
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover { background:#41521f !important; }
.woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled,
.woocommerce-checkout .wc-block-components-checkout-place-order-button[disabled] { background:#bdbdbd !important; cursor:not-allowed !important; opacity:.85 !important; }
/* "Naruči" onemogućen dok korisnik ne prihvati uvjete prodaje (body.piv-terms-ok) */
body:not(.piv-terms-ok) .wc-block-components-checkout-place-order-button { pointer-events:none !important; background:#bdbdbd !important; opacity:.7 !important; cursor:not-allowed !important; box-shadow:none !important; }
body:not(.piv-terms-ok) .woocommerce-checkout #place_order { pointer-events:none !important; background:#bdbdbd !important; opacity:.7 !important; cursor:not-allowed !important; }
.woocommerce-checkout .wc-block-checkout__actions a.wc-block-components-button.outlined { display:none !important; }
/* Hide the leftover sidebar 'NAČINI PLAĆANJA' widget if cached */
.woocommerce-checkout #pivCheckoutPayIcons, .woocommerce-checkout .piv-checkout-pay-icons { display:none !important; }
.woocommerce-checkout .wc-block-checkout__sidebar > div:has(> #pivCheckoutPayIcons) { display:none !important; }
/* pivBlockTerms (existing) styling */
.woocommerce-checkout #pivBlockTerms { display:flex !important; align-items:flex-start !important; gap:10px !important; padding:14px 16px !important; margin:8px 0 14px !important; background:#fafafa !important; border:1.5px solid #ebebeb !important; border-radius:10px !important; font-size:13px !important; line-height:1.5 !important; }
.woocommerce-checkout #pivBlockTerms label { display:flex !important; align-items:flex-start !important; gap:10px !important; margin:0 !important; }
.woocommerce-checkout #pivBlockTerms input[type="checkbox"] { width:18px !important; height:18px !important; accent-color:#526832 !important; cursor:pointer; flex-shrink:0; margin-top:1px !important; }
.woocommerce-checkout #pivBlockTerms:has(input:checked) { background:#f5faf5 !important; border-color:#526832 !important; }
.woocommerce-checkout #pivBlockTermsErr { padding-left:14px; }
/* Hide WC's default 'Nastavljanjem s kupnjom...' notice since we have our own checkbox */
.woocommerce-checkout .wc-block-checkout__terms { display:none !important; }
/* Tighter step headings */
.woocommerce-checkout .wc-block-components-checkout-step__heading { padding-bottom:8px !important; margin-bottom:16px !important; }
.woocommerce-checkout .wc-block-components-checkout-step__title { font-size:18px !important; font-weight:800 !important; color:#1a1a1a !important; }
/* Sidebar polish */
.woocommerce-checkout .wc-block-checkout__sidebar { padding:0 !important; }
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block { border:1px solid #ebebeb !important; border-radius:12px !important; padding:18px 20px !important; background:#fff !important; }
/* Order summary item qty badge — visible, dark green pill instead of white-on-white */
.woocommerce-checkout .wc-block-components-order-summary-item__quantity, .wc-block-cart .wc-block-components-order-summary-item__quantity { background:#526832 !important; color:#fff !important; border:2px solid #fff !important; box-shadow:0 1px 4px rgba(0,0,0,.18) !important; font-weight:700 !important; min-width:22px !important; height:22px !important; line-height:22px !important; font-size:11px !important; text-align:center !important; border-radius:22px !important; padding:0 6px !important; }
/* Order summary item — remove (X) button */
.woocommerce-checkout .wc-block-components-order-summary-item { position:relative !important; padding-right:36px !important; }
.piv-remove-item-btn { position:absolute !important; top:8px !important; right:6px !important; width:24px !important; height:24px !important; padding:0 !important; background:transparent !important; border:none !important; border-radius:50% !important; color:#bbb !important; cursor:pointer !important; display:flex !important; align-items:center !important; justify-content:center !important; transition:color .15s,background .15s !important; z-index:5 !important; }
.piv-remove-item-btn:hover { color:#fff !important; background:#c62828 !important; }
.piv-remove-item-btn svg { width:14px; height:14px; pointer-events:none; }
.piv-remove-item-btn.is-loading { opacity:.5; pointer-events:none; }
/* Payment description — pad above so text doesn't crash into top hairline */
/* Flex-order cart items block: items first, then shipping/Dostava */
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block { display:flex !important; flex-direction:column !important; }
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block > .wc-block-components-order-summary { order:1 !important; }
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block > #pivShippingRow { order:2 !important; margin-top:8px !important; padding-top:10px !important; border-top:1px solid #f0f0f0 !important; border-bottom:none !important; }
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block > div:not([id]):not(.wc-block-components-order-summary) { order:2 !important; }
/* Form fields polish */
.woocommerce-checkout .wc-block-components-text-input input, .woocommerce-checkout .wc-block-components-textarea, .woocommerce-checkout .wc-block-components-combobox-control input, .woocommerce-checkout .wc-block-components-form select { border-radius:8px !important; border:1.5px solid #e5e7eb !important; padding:14px 14px 14px 14px !important; font-size:14px !important; background:#fff !important; transition:border-color .15s,box-shadow .15s !important; }
.woocommerce-checkout .wc-block-components-text-input input:focus, .woocommerce-checkout .wc-block-components-textarea:focus, .woocommerce-checkout .wc-block-components-combobox-control input:focus { border-color:#526832 !important; box-shadow:0 0 0 3px rgba(58,122,58,.12) !important; outline:none !important; }
.woocommerce-checkout .wc-block-components-text-input label, .woocommerce-checkout .wc-block-components-combobox-control label { color:#666 !important; font-size:13px !important; font-weight:500 !important; }
/* Neispunjeno obvezno polje — isti crveni jezik kao obrazac za servis (.piv-booking-input.is-invalid).
   ⚠ !important je OBVEZAN: pravilo "Form fields polish" iznad postavlja border s !important, pa
   WooCommerceovo .has-error pravilo (#cc1818, bez !important) inace nikad ne dode do izrazaja. */
.woocommerce-checkout .wc-block-components-text-input.has-error input,
.woocommerce-checkout .wc-block-components-textarea.has-error,
.woocommerce-checkout .wc-block-components-combobox.has-error input,
.woocommerce-checkout .wc-block-components-combobox-control.has-error input,
.woocommerce-checkout .wc-block-components-form select.has-error,
.woocommerce-checkout .has-error .wc-blocks-components-select .wc-blocks-components-select__container,
.woocommerce-checkout .has-error input[type="text"],
.woocommerce-checkout .has-error input[type="email"],
.woocommerce-checkout .has-error input[type="tel"] { border-color:#c0392b !important; background:#fffafa !important; }
.woocommerce-checkout .wc-block-components-text-input.has-error input:focus,
.woocommerce-checkout .wc-block-components-combobox.has-error input:focus,
.woocommerce-checkout .wc-block-components-combobox-control.has-error input:focus,
.woocommerce-checkout .has-error input[type="text"]:focus,
.woocommerce-checkout .has-error input[type="email"]:focus,
.woocommerce-checkout .has-error input[type="tel"]:focus { border-color:#c0392b !important; box-shadow:0 0 0 3px rgba(192,57,43,.12) !important; }
.woocommerce-checkout .wc-block-components-text-input.has-error label,
.woocommerce-checkout .wc-block-components-combobox.has-error label,
.woocommerce-checkout .wc-block-components-combobox-control.has-error label,
.woocommerce-checkout .has-error .wc-blocks-components-select .wc-blocks-components-select__label { color:#c0392b !important; }
.woocommerce-checkout .wc-block-components-validation-error { color:#c0392b !important; font-weight:600 !important; }
/* ⚠ Sam tekst poruke je <p> UNUTAR te kutije, a blagajna je unutar `.piv-page` — pa ga hvata
   `.piv-page p{color:#555}` (0,1,1) iz ovog dodatka i poruka ispadne siva. Ikona nasljeduje
   boju teksta (fill:currentColor), pa se s njom rijesi i ona. Izmjereno u pregledniku. */
.woocommerce-checkout .wc-block-components-validation-error > p { color:#c0392b !important; }
.woocommerce-checkout .wc-block-components-form .wc-block-components-address-card { background:#fafafa !important; border:1.5px solid #ebebeb !important; border-radius:10px !important; padding:16px 18px !important; }
.woocommerce-checkout .wc-block-components-form .wc-block-components-address-card__edit { color:#526832 !important; font-weight:700 !important; }
/* Razmak izmedju polja adrese (ime/prezime se spajalo s Državom) */
.woocommerce-checkout .wc-block-components-address-form > * { margin-bottom:16px !important; }
.woocommerce-checkout .wc-block-components-address-form > *:last-child { margin-bottom:0 !important; }
.woocommerce-checkout .wc-block-components-form fieldset { border:none !important; padding:0 !important; }
.woocommerce-checkout .wc-block-checkout__contact-fields, .woocommerce-checkout .wc-block-checkout__billing-fields, .woocommerce-checkout .wc-block-checkout__shipping-fields { padding-bottom:8px !important; }
.woocommerce-checkout .wc-block-components-checkout-step { padding-top:8px !important; padding-bottom:24px !important; }
.woocommerce-checkout .wc-block-components-checkout-step:not(:last-child) { border-bottom:1px solid #f0f0f0 !important; margin-bottom:24px !important; }
.woocommerce-checkout .wc-block-components-checkout-step__title { color:#1a1a1a !important; }
.woocommerce-checkout .wc-block-components-totals-item { padding:6px 0 !important; }
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size:20px !important; font-weight:800 !important; color:#1a1a1a !important; }
.woocommerce-checkout .wc-block-components-totals-wrapper { padding-top:12px !important; border-top:1px solid #ebebeb !important; margin-top:10px !important; }
.woocommerce-checkout .piv-vat-row { padding:6px 0; font-size:13px; color:#666; display:flex; justify-content:space-between; }
.woocommerce-checkout #pivShippingRow { font-size:14px !important; padding:10px 0 4px !important; }
.woocommerce-checkout #pivShippingRow > span:first-child { color:#1a1a1a !important; font-weight:600 !important; }
/* Back to cart link nicer */
.woocommerce-checkout .wc-block-checkout__actions .wp-block-woocommerce-checkout-actions-block a, .woocommerce-checkout a:has(.wc-block-checkout-back-to-cart) { color:#666 !important; text-decoration:none !important; font-size:13px !important; }
.woocommerce-checkout .wc-block-checkout__actions a:hover { color:#526832 !important; }
/* Add a left-side white card backdrop on the main form */
.woocommerce-checkout .wp-block-woocommerce-checkout > .wc-block-checkout { gap:32px !important; }
.woocommerce-checkout .wc-block-checkout__main { background:#fff !important; border:1px solid #ebebeb !important; border-radius:12px !important; padding:24px 28px !important; }
@media(max-width:782px){ .woocommerce-checkout .wc-block-checkout__main { padding:18px 16px !important; } }

/* ═══ BLAGAJNA: KORACI KAO KARTICE ═══════════════════════════════════════════
   ⚠ Ovaj blok stoji NAMJERNO na kraju checkout CSS-a. Iznad postoje tri starija,
   medusobno suprotstavljena skupa pravila za korake (hairline sekcije + vanjska
   kartica + .wc-block-components-checkout-step iz drugog style bloka), pa bi ranije
   definirana pravila bila pregazena.

   ZASTO KORACI, A NE ACCORDION: UX smjernica #55 (Forms / Error Placement) trazi da
   greska stoji uz svoje polje; sklopljena sekcija sakrila bi i polje i gresku. Blagajna
   je React i sama otvara/zatvara adresu, pa bi nas collapse ulazio u sukob s njenom
   validacijom — na zivoj trgovini to je izgubljena narudzba. Umjesto toga primjenjujemo
   #81 (Feedback / Progress Indicators): jasno obrojcani, uvijek vidljivi koraci.

   Dva registra koja se NE mijesaju:
     • zeton s brojem + traka naslova = OBAVEZAN korak u slijedu
     • bez broja                      = neobavezno (napomena) ili zavrsna zona (potvrda) */

/* Vanjska kartica se gasi — inace bi kartice koraka bile kartice u kartici. */
.woocommerce-checkout .wc-block-checkout__main { background:transparent !important; border:0 !important; border-radius:0 !important; padding:0 !important; }
/* ⚠ min-width:0 je OBAVEZAN. Stupci su flex stavke; bez toga sazetak u zaglavlju koraka
   (white-space:nowrap) rasire stupac preko sirine ekrana i na mobitelu se pojavi vodoravno
   klizanje (mjereno: 690 px sadrzaja u 390 px ekrana). */
.woocommerce-checkout .wc-block-checkout__main,
.woocommerce-checkout .wc-block-checkout__sidebar,
.woocommerce-checkout .wc-block-components-checkout-step,
.woocommerce-checkout .wc-block-components-checkout-step__heading-container,
.woocommerce-checkout .wc-block-components-checkout-step__heading { min-width:0 !important; max-width:100% !important; }
@media(max-width:782px){ .woocommerce-checkout .wc-block-checkout__main { padding:0 !important; } }

/* — Korak = kartica s trakom naslova — */
.woocommerce-checkout .wc-block-checkout__form { counter-reset:piv-step; }
.woocommerce-checkout .wc-block-components-checkout-step {
  counter-increment:piv-step;
  background:#fff !important; border:1px solid #e3e6dd !important; border-radius:14px !important;
  padding:0 !important; margin:0 0 14px !important; overflow:hidden;
  box-shadow:0 1px 2px rgba(32,38,26,.04);
}
/* Staro pravilo za hairline sekcije ima :not(:last-child) (veca specificnost) — mora se
   nadjacati istim selektorom, inace kartici ostane siva crta umjesto vlastitog ruba. */
.woocommerce-checkout .wc-block-components-checkout-step:not(:last-child) { border-bottom:1px solid #e3e6dd !important; margin-bottom:14px !important; }
.woocommerce-checkout .wc-block-components-checkout-step__heading-container {
  background:#f5faf5 !important; border-bottom:1px solid #e3e6dd !important;
  padding:12px 18px !important; margin:0 !important;
}
.woocommerce-checkout .wc-block-components-checkout-step__heading {
  display:flex !important; align-items:center !important; gap:12px !important;
  padding:0 !important; margin:0 !important; border:0 !important;
}
/* ⚠ Zeton ide SAMO na zaglavlja stvarnih koraka (.piv-acc). Na mobitelu WooCommerce dodjeljuje
   klasu ...checkout-step__heading i naslovu SAZETKA NARUDZBE, pa je s nescopanim selektorom
   sazetak dobivao zeleni zeton s brojem prethodnog koraka. */
.woocommerce-checkout .piv-acc .wc-block-components-checkout-step__heading::before {
  content:counter(piv-step); flex:0 0 auto; width:26px; height:26px; border-radius:9px;
  background:#526832; color:#fff; font-size:12.5px; font-weight:800; line-height:1;
  display:flex; align-items:center; justify-content:center; box-shadow:0 1px 0 rgba(0,0,0,.10);
}
.woocommerce-checkout .wc-block-components-checkout-step__title {
  font-size:15px !important; font-weight:700 !important; color:#20261a !important;
  letter-spacing:0 !important; margin:0 !important;
}
.woocommerce-checkout .wc-block-components-checkout-step__content { padding:18px !important; margin:0 !important; }
.woocommerce-checkout .wc-block-checkout__contact-fields,
.woocommerce-checkout .wc-block-checkout__billing-fields,
.woocommerce-checkout .wc-block-checkout__shipping-fields { padding:0 !important; }

/* — Napomena uz narudzbu: nema naslov ni broj jer nije obavezan korak. Tisa kartica. — */
.woocommerce-checkout #order-notes { counter-increment:none; background:#fbfbf9 !important; box-shadow:none !important; }
.woocommerce-checkout #order-notes .wc-block-components-checkout-step__content { padding:14px 18px !important; }
.woocommerce-checkout .wc-block-checkout__add-note { border:0 !important; padding:0 !important; background:transparent !important; }
.woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-checkbox__label { font-weight:600 !important; }

/* — Opcija = kartica koja se bira. Isti jezik kao #pivBlockTerms:has(input:checked). — */
.woocommerce-checkout .wc-block-components-shipping-rates-control__package { border:0 !important; padding:0 !important; }
.woocommerce-checkout .wc-block-components-radio-control__option {
  /* ⚠ Radio je position:absolute (left:16px) — mjesto za njega radi LIJEVI PADDING.
     Flex gap ovdje ne radi nista (apsolutni element nije flex stavka) i tekst zavrsi pod radiom. */
  border:1px solid #e6e6e2 !important; border-radius:10px !important;
  padding:14px 16px 14px 46px !important; margin:0 0 10px !important; background:#fff !important;
  transition:border-color .15s, background .15s, box-shadow .15s;
}
.woocommerce-checkout .wc-block-components-radio-control__option:last-child { margin-bottom:0 !important; }
.woocommerce-checkout .wc-block-components-radio-control__option:hover { border-color:#b9c7a3 !important; background:#fcfdfb !important; }
.woocommerce-checkout .wc-block-components-radio-control__option-checked {
  border-color:#526832 !important; background:#f5faf5 !important; box-shadow:inset 0 0 0 1px #526832 !important;
}
.woocommerce-checkout .wc-block-components-radio-control__input { accent-color:#526832 !important; width:18px !important; height:18px !important; flex-shrink:0; }
.woocommerce-checkout .wc-block-components-radio-control__input:focus-visible { outline:2px solid #526832 !important; outline-offset:2px !important; }
.woocommerce-checkout .wc-block-components-radio-control__label-group { display:flex !important; align-items:baseline !important; justify-content:space-between !important; gap:14px !important; width:100% !important; }
.woocommerce-checkout .wc-block-components-radio-control__label { font-weight:600 !important; font-size:14.5px !important; color:#1a1a1a !important; }
/* Cijene tablicnim brojkama da se desni stup poravna po znamenkama. */
.woocommerce-checkout .wc-block-components-radio-control__secondary-label { font-weight:700 !important; font-size:14px !important; color:#1a1a1a !important; font-variant-numeric:tabular-nums; white-space:nowrap; }

/* — Placanje: kartica je OMOTAC (label + opis), da opis pripadne odabranoj kartici. — */
.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
  border:1px solid #e6e6e2 !important; border-radius:10px !important; margin:0 0 10px !important;
  background:#fff !important; overflow:hidden; transition:border-color .15s, background .15s, box-shadow .15s;
}
.woocommerce-checkout .wc-block-components-radio-control-accordion-option:last-child { margin-bottom:0 !important; }
.woocommerce-checkout .wc-block-components-radio-control-accordion-option:hover { border-color:#b9c7a3 !important; }
.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
  border:0 !important; border-radius:0 !important; margin:0 !important; background:transparent !important; box-shadow:none !important;
}
.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color:#526832 !important; background:#f5faf5 !important; box-shadow:inset 0 0 0 1px #526832 !important;
}
.woocommerce-checkout .wc-block-components-radio-control-accordion-content {
  margin:0 !important; padding:0 16px 14px 46px !important; background:transparent !important; border:0 !important;
  font-size:12.5px !important; line-height:1.5 !important; color:#5f6b52 !important;
}

/* — Zavrsna zona je RAVNOPRAVNA CJELINA s koracima: ista kartica, ista traka naslova.
     Razlika je sto NEMA broj — nije korak u slijedu nego zakljucak. — */
.woocommerce-checkout .wc-block-checkout__actions {
  background:#fff !important; border:1px solid #e3e6dd !important; border-radius:14px !important;
  padding:0 !important; margin:14px 0 0 !important; overflow:hidden;
  box-shadow:0 1px 2px rgba(32,38,26,.04);
}
.woocommerce-checkout .wc-block-checkout__actions_row { padding:18px !important; }
/* Traka se rasteze preko cijele kartice negativnim marginama koje ponistavaju padding retka. */
.woocommerce-checkout #pivConfirmHeading {
  margin:-18px -18px 18px !important; padding:13px 18px !important;
  background:#f5faf5 !important; border-bottom:1px solid #e3e6dd !important;
  font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#20261a;
}
.piv-checkout-eyebrow { font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#8a9280; margin:0 0 12px; }
.woocommerce-checkout #pivBlockTerms { margin:0 0 16px !important; }

/* — NAPOMENA UZ NARUDZBU: treci registar. Obavezni koraci imaju zeleni zeton i traku,
     nebrojane cjeline (potvrda, sazetak) imaju traku bez zetona, a ovo je JEDINO neobavezno —
     zato isprekidani rub, bez trake i bez sjene. Ne smije konkurirati koracima. — */
.woocommerce-checkout #order-notes { background:#fbfbf9 !important; border:1px dashed #d5d9cd !important; box-shadow:none !important; }
.woocommerce-checkout #order-notes .wc-block-components-checkout-step__content { padding:4px 18px !important; }
.woocommerce-checkout #order-notes .wc-block-components-checkbox { display:flex !important; align-items:center !important; min-height:44px; }
.woocommerce-checkout #order-notes .wc-block-components-checkbox__label { font-weight:600 !important; color:#4a5142 !important; font-size:13.5px !important; }
.woocommerce-checkout #order-notes .wc-block-components-textarea { margin:0 0 14px !important; }

/* — SAZETAK NARUDZBE (desni stupac): ista kartica i ista traka kao "Potvrda narudzbe",
     jer je i on nebrojana cjelina, a ne korak. — */
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  background:#fff !important; border:1px solid #e3e6dd !important; border-radius:14px !important;
  padding:0 !important; overflow:hidden; box-shadow:0 1px 2px rgba(32,38,26,.04);
}
.woocommerce-checkout .wc-block-components-checkout-order-summary__title { background:#f5faf5 !important; border-bottom:1px solid #e3e6dd !important; padding:13px 18px !important; margin:0 !important; }
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text { font-size:12px !important; font-weight:800 !important; letter-spacing:.08em !important; text-transform:uppercase !important; color:#20261a !important; margin:0 !important; }
.woocommerce-checkout .wc-block-components-checkout-order-summary__content { padding:2px 18px 18px !important; }
/* ⚠ Na uskim ekranima WooCommerce renderira sazetak DRUGOM granom markupa: naslov je
   div.wc-block-components-checkout-step__heading izravno u bloku (zato je i pokupio zeton dok
   selektor nije bio scopan na .piv-acc), a sadrzaj je .checkout-order-summary-block-fill.
   Omotac k tome ima margine koje karticu izguraju ~2 px izvan ekrana i odrezu znak eura. */
.woocommerce-checkout .checkout-order-summary-block-fill-wrapper { margin-left:0 !important; margin-right:0 !important; max-width:100% !important; box-sizing:border-box; }
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-checkout-step__heading {
  background:#f5faf5 !important; border-bottom:1px solid #e3e6dd !important; padding:13px 18px !important; margin:0 !important;
  font-size:12px !important; font-weight:800 !important; letter-spacing:.08em !important; text-transform:uppercase !important; color:#20261a !important;
}
.woocommerce-checkout .checkout-order-summary-block-fill { padding:2px 18px 18px !important; }
/* Stavke: bez ugnijezdene sive kutije — redci s tankom crtom izmedu.
   ⚠ Kutiju crta WooCommerceov .wc-block-components-order-summary.is-large (#f9fafb, rub,
   radius 12, padding 0 16px). Unutar nase kartice to je kartica u kartici, pa se gasi. */
.woocommerce-checkout .wc-block-components-order-summary { background:transparent !important; border:0 !important; border-radius:0 !important; padding:0 !important; }
.woocommerce-checkout .wc-block-components-order-summary__content { padding:0 !important; background:transparent !important; border:0 !important; }
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block { padding:0 0 4px !important; }
/* Prazni omotaci (popust, naknada, kupon) ne smiju ostavljati prazan razmak. */
.woocommerce-checkout .wc-block-components-totals-wrapper:empty { display:none !important; padding:0 !important; border:0 !important; }
.woocommerce-checkout .wc-block-components-order-summary-item { padding:14px 0 !important; margin:0 !important; background:transparent !important; border-bottom:1px solid #f0f1ec !important; }
.woocommerce-checkout .wc-block-components-order-summary-item:last-child { border-bottom:0 !important; }
.woocommerce-checkout .wc-block-components-order-summary-item__image img { border-radius:8px !important; border:1px solid #eceee7 !important; background:#fff !important; }
.woocommerce-checkout .wc-block-components-order-summary-item__quantity { background:#526832 !important; color:#fff !important; border:0 !important; box-shadow:0 0 0 2px #fff !important; font-weight:800 !important; }
.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name { font-size:13.5px !important; font-weight:600 !important; color:#20261a !important; line-height:1.35 !important; }
.woocommerce-checkout .wc-block-components-order-summary-item__total-price { font-size:14px !important; font-weight:700 !important; color:#1a1a1a !important; font-variant-numeric:tabular-nums; }
/* Zbrojevi: brojke u tablicnim znamenkama da se desni stup poravna. */
.woocommerce-checkout .wc-block-components-totals-item { padding:7px 0 !important; font-size:13.5px !important; }
.woocommerce-checkout .wc-block-components-totals-item__label { color:#4a5142 !important; }
.woocommerce-checkout .wc-block-components-totals-item .wc-block-components-formatted-money-amount { font-variant-numeric:tabular-nums; font-weight:600; color:#20261a; }
.woocommerce-checkout .wc-block-components-totals-wrapper { padding:12px 0 0 !important; margin-top:0 !important; border-top-color:#eceee7 !important; }
.woocommerce-checkout .wc-block-components-totals-footer-item { padding-top:12px !important; border-top:1px solid #e3e6dd !important; margin-top:0 !important; }
/* ⚠⚠ PDV je bio ISPISAN DVAPUT: WooCommerceov "Uključuje 9,52 € PDV" i nas red sa stopom.
   Skriva se WooCommerceov, ali SAMO u desktop grani (.wc-block-components-checkout-order-summary__content),
   jer nas red (#piv-block-vat) postoji SAMO ondje. Na uskim ekranima radi druga grana
   (.checkout-order-summary-block-fill) u kojoj naseg reda NEMA — bezuvjetno skrivanje ostavilo
   je mobilnu blagajnu potpuno BEZ prikaza PDV-a. Ovdje ostaje WooCommerceov red. */
.woocommerce-checkout .wc-block-components-checkout-order-summary__content .wc-block-components-totals-footer-item-tax { display:none !important; }
.woocommerce-checkout .piv-vat-row { padding:8px 0 0 !important; font-size:12.5px !important; color:#6a7060 !important; }
.woocommerce-checkout .piv-vat-row__value { font-variant-numeric:tabular-nums; }

@media (max-width:600px) {
  .woocommerce-checkout .wc-block-components-checkout-step__heading-container { padding:11px 14px !important; }
  .woocommerce-checkout .wc-block-components-checkout-step__content { padding:14px !important; }
  .woocommerce-checkout #order-notes .wc-block-components-checkout-step__content { padding:12px 14px !important; }
  .woocommerce-checkout .wc-block-components-checkout-step__heading::before { width:24px; height:24px; border-radius:8px; font-size:12px; }
  .woocommerce-checkout .wc-block-components-radio-control__option { padding:12px 13px 12px 44px !important; }
  .woocommerce-checkout .wc-block-components-radio-control__label-group { flex-direction:column !important; align-items:flex-start !important; gap:3px !important; }
  .woocommerce-checkout .wc-block-components-radio-control-accordion-content { padding-left:16px !important; }
}
/* — ACCORDION: otvoren je jedan korak, ostali su sklopljeni u traku sa sazetkom. —
   Zatvaranje ide SAMO na eksplicitnu radnju (gumb "Nastavi" ili klik na drugo zaglavlje);
   nikad na blur, jer bi se korak zatvarao dok korisnik samo prelazi tabom. */
.woocommerce-checkout .piv-acc > .wc-block-components-checkout-step__heading-container { cursor:pointer; user-select:none; transition:background .15s; }
.woocommerce-checkout .piv-acc > .wc-block-components-checkout-step__heading-container:hover { background:#eef4e6 !important; }
.woocommerce-checkout .piv-acc > .wc-block-components-checkout-step__heading-container:focus-visible { outline:2px solid #526832 !important; outline-offset:-2px !important; }
.woocommerce-checkout .piv-acc:not(.piv-acc--open) > .wc-block-components-checkout-step__content { display:none !important; }
.woocommerce-checkout .piv-acc:not(.piv-acc--open) > .wc-block-components-checkout-step__heading-container { background:#fff !important; border-bottom-color:transparent !important; }
/* Zavrsen korak: broj ustupa mjesto kvacici — ali SAMO dok je sklopljen. Cim ga otvoris,
   ponovno si u njemu, pa se vraca broj. */
.woocommerce-checkout .piv-acc--done:not(.piv-acc--open) .wc-block-components-checkout-step__heading::before { content:"\2713"; font-size:14px; }
/* ⚠ Naslov nosi visak prostora (flex:1), a NE margin-left:auto na sazetku. S auto marginama
   bi se u istom retku nasla dva auto-elementa (sazetak i strelica, ili prijava i strelica) i
   podijelila prostor — strelica bi zavrsila na sredini. */
.woocommerce-checkout .piv-acc .wc-block-components-checkout-step__title { flex:1 1 auto !important; min-width:0 !important; }
.piv-acc__summary { flex:0 1 auto; font-size:12.5px; color:#6a7060; text-align:right; max-width:52%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.piv-acc--open .piv-acc__summary { display:none; }
.piv-acc__chev { flex:0 0 auto; display:flex; color:#8a9280; transition:transform .18s; }
.piv-acc--open .piv-acc__chev { transform:rotate(180deg); }
/* U taj isti redak WooCommerce gostu ubacuje „Već imate račun? Prijava"
   (.wc-block-components-checkout-step__heading-content). Da se ne preklapa sa sazetkom,
   njih dvoje se izmjenjuju: OTVOREN korak pokazuje prijavu, SKLOPLJEN pokazuje sazetak.
   Prijava je i logicki vezana uz korak koji upravo ispunjavas. */
/* Prijava se NE smije skupljati ni lomiti (flex:0 0 auto + nowrap), inace ispadne iz retka.
   Visak prostora nosi naslov, pa se on krati trotockom. */
.woocommerce-checkout .piv-acc .wc-block-components-checkout-step__heading-content { flex:0 0 auto; display:flex; align-items:center; gap:8px; white-space:nowrap; font-size:12.5px; min-width:0; }
.woocommerce-checkout .piv-acc:not(.piv-acc--open) .wc-block-components-checkout-step__heading-content { display:none !important; }
.woocommerce-checkout .piv-acc .wc-block-components-checkout-step__title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.piv-login__q { color:#6a7060; }
/* margin-top:1px — sitno spustanje da gumb opticki sjedne na liniju naslova koraka. */
.woocommerce-checkout .piv-login__btn { display:inline-flex; align-items:center; min-height:34px; padding:7px 15px; border:1px solid #526832; border-radius:8px; background:#fff; color:#526832 !important; font-weight:700 !important; text-decoration:none !important; line-height:1; transition:background .15s, color .15s; margin-top:1px; }
.woocommerce-checkout .piv-login__btn:hover { background:#526832; color:#fff !important; }
.woocommerce-checkout .piv-login__btn:focus-visible { outline:2px solid #526832 !important; outline-offset:2px !important; }
@media (max-width:600px) { .piv-login__q { display:none; } }
.piv-acc__next { display:inline-flex; align-items:center; justify-content:center; margin-top:18px; min-height:44px; padding:11px 22px; background:#526832; color:#fff; border:0; border-radius:10px; font-size:13px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; transition:background .15s; }
.piv-acc__next:hover { background:#41521f; }
.piv-acc__next:focus-visible { outline:2px solid #20261a; outline-offset:2px; }

@media (max-width:600px) {
  .piv-acc__summary { max-width:38%; font-size:12px; }
  .piv-acc__next { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .woocommerce-checkout .wc-block-components-radio-control__option,
  .woocommerce-checkout .wc-block-components-radio-control-accordion-option,
  .piv-acc__chev,
  .woocommerce-checkout .piv-acc > .wc-block-components-checkout-step__heading-container { transition:none; }
}
/* FOOTER fix — padding inside */
.piv-footer { padding:60px 0 36px !important; margin-top:48px !important; }
.piv-footer .piv-footer__bottom { margin-top:32px !important; padding-top:20px !important; border-top:1px solid rgba(255,255,255,.10) !important; }
/* Page bg stays white. Pad below footer to prevent stray white gap at body bottom */
.woocommerce-checkout { background:#fff; }
.piv-terms-checkbox { display:flex; align-items:flex-start; gap:10px; padding:14px 16px; margin:12px 0 16px; background:#fafafa; border:1.5px solid #ebebeb; border-radius:10px; cursor:pointer; transition:border-color .15s,background .15s; font-size:13px; color:#444; line-height:1.5; }
.piv-terms-checkbox:hover { border-color:#526832; background:#f5faf5; }
.piv-terms-checkbox input[type="checkbox"] { width:18px; height:18px; margin:0; flex-shrink:0; accent-color:#526832; cursor:pointer; margin-top:1px; }
.piv-terms-checkbox.is-required-shake { animation:piv-shake .35s; border-color:#c62828 !important; }
.piv-terms-checkbox a { color:#526832; font-weight:700; }
@keyframes piv-shake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-6px)} 75%{transform:translateX(6px)} }