/* Dopune za WordPress/WooCommerce markup koji se razlikuje od HTML prototipa. */

.woocommerce-breadcrumb .sep { margin: 0 2px; }
.woocommerce-breadcrumb > a:first-child::before { content: ""; display: inline-block; width: 15px; height: 15px; margin-right: 6px; vertical-align: -2px; background: currentColor; -webkit-mask: url("../icons/house.svg") center / contain no-repeat; mask: url("../icons/house.svg") center / contain no-repeat; }
.page-plain { max-width: 860px; margin: 0 auto; padding: 32px 40px; }
.page-404 { max-width: 640px; margin: 20px auto; padding: 48px 32px; text-align: center; }
.page-404__code { margin: 0; font: 800 5rem/1 var(--display); color: var(--coral); }
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { margin-bottom: 18px; }
.woocommerce-message a.button, .woocommerce-info a.button { order: 2; }
.woocommerce-error { display: block; }
.woocommerce-error li { list-style: none; }

/* Loop: Woo ubacuje dugme sa added_to_cart vezom */
ul.products li.product .added_to_cart { display: none; }
ul.products li.product .add_to_cart_button.loading { opacity: 0.6; }
.products--grid .add_to_cart_button { display: inline-flex; }
.product-image img { width: 100%; height: 100%; }

/* Stranica proizvoda: Woo forma za korpu */
.summary form.cart { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0 0; }
.summary form.cart .quantity { height: 58px; }
.summary form.cart .single_add_to_cart_button { flex: 1; min-height: 58px; font-size: 1.1rem; background: var(--coral); color: #fff; box-shadow: var(--shadow-cta); }
.summary form.cart .single_add_to_cart_button:hover { background: var(--coral-dk); }
.summary .stock.out-of-stock { color: var(--coral-dk); font-weight: 800; }
.summary .price del { font-size: 1.1rem; color: var(--muted); margin-left: 6px; }
.summary .price ins { text-decoration: none; }
.quantity .screen-reader-text { position: absolute !important; }
.product-tabs-panel { margin-top: 24px; }
.product-tabs-panel .woocommerce-tabs { margin: 0; }
.woocommerce-Tabs-panel { padding-top: 20px; line-height: 1.7; }
.woocommerce-Tabs-panel ul { padding-left: 1.2em; }
.related.products { margin-top: 32px; }
.related.products > h2 { font-size: 1.75rem; margin-bottom: 18px; }

/* Poklon kartica (PW): forma sa iznosom kao padajuća lista + polja */
.product-type-pw-gift-card .summary form.cart { display: block; }
.product-type-pw-gift-card table.variations { width: 100%; margin-bottom: 14px; border-collapse: collapse; }
.product-type-pw-gift-card table.variations th, .product-type-pw-gift-card table.variations td { display: block; padding: 0; text-align: left; }
.product-type-pw-gift-card table.variations label { display: block; margin-bottom: 8px; font-weight: 800; color: var(--navy); }
.product-type-pw-gift-card table.variations select { width: 100%; max-width: 280px; height: 48px; padding: 0 40px 0 14px; border: 2px solid var(--teal); border-radius: 14px; background: var(--teal-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231d2a5c' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center; appearance: none; font-weight: 800; color: var(--navy); }
.product-type-pw-gift-card .reset_variations { display: none !important; }
.product-type-pw-gift-card .woocommerce-variation-add-to-cart { display: flex; gap: 12px; margin-top: 14px; }
.product-type-pw-gift-card .single_variation_wrap .woocommerce-variation-price { margin-bottom: 8px; font-size: 1.6rem; font-weight: 900; color: var(--navy); }
.pwgc-field-container label { display: block; margin-bottom: 6px; }
.pwgc-input-text, #pwgc-message { width: 100% !important; min-height: 48px; padding: 11px 14px; border: 1px solid var(--line-2); border-radius: 12px; background: #fbfbfd; }
#pwgc-message { height: 100px !important; }
/* Kad JS napravi dugmad za iznos, padajuća lista ostaje skrivena (i dalje šalje vrednost) */
.gc-product form.has-amount-buttons table.variations { display: none; }
.gc-product .gc-amounts { margin-top: 4px; }
.gc-product .single_add_to_cart_button { flex: 1; }

/* Korpa: Woo markup u rasporedu iz prototipa */
.woocommerce-cart .site-main .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.woocommerce-cart .site-main .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .site-main .woocommerce > .cart-empty,
.woocommerce-cart .site-main .woocommerce > .return-to-shop,
.woocommerce-cart .site-main .woocommerce > .woocommerce-info { grid-column: 1 / -1; }
.woocommerce-cart-form { padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow); }
.woocommerce-cart-form table.cart th.product-remove, .woocommerce-cart-form table.cart td.product-remove { width: 32px; padding-right: 0; }
.woocommerce-cart-form a.remove { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; font-size: 1.3rem; color: var(--muted); text-decoration: none; }
.woocommerce-cart-form a.remove:hover { background: var(--coral-soft); color: var(--coral-dk); }
.woocommerce-cart-form td.actions { padding-top: 18px; }
.woocommerce-cart-form .coupon { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.woocommerce-cart-form .coupon label { font-weight: 800; color: var(--navy); }
.woocommerce-cart-form .coupon .input-text { width: 220px; }
.woocommerce-cart-form [name="update_cart"] { display: none; }
.cart-collaterals { position: sticky; top: 140px; }
.cart-collaterals .cart_totals { padding: 22px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow); }
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; text-align: right; }
.cart_totals .woocommerce-shipping-methods li { padding: 2px 0; font-weight: 600; }
.cart_totals .woocommerce-shipping-destination, .cart_totals .woocommerce-shipping-calculator { font-size: 0.8rem; font-weight: 500; color: var(--muted); }
.wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 56px; background: var(--coral); color: #fff; font-size: 1.1rem; box-shadow: var(--shadow-cta); }
.cart-hero h1 span { color: var(--muted); }

/* PW: polje za poklon karticu u korpi i na plaćanju */
#pwgc-redeem-gift-card-form { grid-column: 1; margin-top: 0; padding: 16px 18px; border: 2px dashed var(--line-2); border-radius: 18px; background: #fff; }
#pwgc-redeem-gift-card-container { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
#pwgc-redeem-gift-card-container label { flex-basis: 100%; font-weight: 800; color: var(--navy); }
#pwgc-redeem-gift-card-number { flex: 1; min-width: 180px; min-height: 46px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 12px; font-family: ui-monospace, monospace; text-transform: uppercase; }
#pwgc-redeem-button { min-height: 46px; padding: 0 18px; border: 1px solid var(--line-2); border-radius: 12px; background: #fff; font-weight: 800; cursor: pointer; }
#pwgc-redeem-error:not(:empty) { flex-basis: 100%; color: var(--coral-dk); font-weight: 700; }
.pwgc-gift-card-row th, .pwgc-gift-card-row td, tr[class*="pw-gift-card"] th, tr[class*="pw-gift-card"] td { color: var(--green) !important; }

/* Plaćanje: Woo forma u dve kolone */
form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 0 24px; align-items: start; }
form.checkout > .woocommerce-NoticeGroup, form.checkout > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
#customer_details { grid-column: 1; grid-row: 1 / span 3; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow); }
#customer_details.col2-set .col-1, #customer_details.col2-set .col-2 { width: 100%; float: none; }
#customer_details h3 { font-size: 1.5rem; margin: 0 0 16px; }
#customer_details .col-2 { margin-top: 10px; }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.form-row-wide, #billing_address_1_field, #billing_country_field, #shipping_address_1_field, #shipping_country_field { grid-column: 1 / -1; }
.form-row .woocommerce-input-wrapper { display: block; }
.form-row select, .form-row .select2-selection { width: 100%; min-height: 48px; border: 1px solid var(--line-2); border-radius: 12px; }
#billing_country_field strong, #shipping_country_field strong { display: block; padding: 10px 0; color: var(--navy); }
.form-row.notes textarea { min-height: 96px; }
#order_review_heading { grid-column: 2; margin: 0; padding: 22px 22px 0; background: #fff; border: 1px solid var(--line); border-bottom: 0; border-radius: var(--r-lg) var(--r-lg) 0 0; font-size: 1.5rem; }
#order_review { grid-column: 2; padding: 6px 22px 22px; background: #fff; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 var(--r-lg) var(--r-lg); box-shadow: var(--shadow); }
#order_review .shop_table { width: 100%; border-collapse: collapse; }
#order_review .shop_table th, #order_review .shop_table td { padding: 10px 0; text-align: left; border-bottom: 1px solid var(--line); font-size: 0.92rem; vertical-align: top; }
#order_review .shop_table td:last-child { text-align: right; font-weight: 800; color: var(--navy); }
/* Podaci uz stavku (npr. primalac i poruka poklon kartice): oznaka levo, vrednost desno, sa prelamanjem */
dl.variation { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 8px; margin: 6px 0 0; font-weight: 500; text-align: left; }
dl.variation dt { font-weight: 700; }
dl.variation dd, dl.variation dd p { margin: 0; overflow-wrap: anywhere; }
#order_review .shop_table .product-name { overflow-wrap: anywhere; }
#order_review #shipping_method { margin: 0; padding: 0; list-style: none; }
#order_review #shipping_method li { display: flex; justify-content: flex-end; gap: 6px; align-items: baseline; }
#order_review .order-total th, #order_review .order-total td { border-bottom: 0; padding-top: 14px; font-size: 1.15rem; }
#order_review .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
#order_review .woocommerce-shipping-methods li { display: flex; gap: 8px; justify-content: flex-end; padding: 2px 0; font-weight: 600; }
#payment { margin-top: 16px; }
#payment .wc_payment_methods { list-style: none; margin: 0 0 14px; padding: 0; border: 1px solid var(--line); border-radius: 14px; }
#payment .wc_payment_method { padding: 12px 14px; }
#payment .wc_payment_method + .wc_payment_method { border-top: 1px solid var(--line); }
#payment .wc_payment_method > input { position: static; opacity: 1; margin-right: 8px; accent-color: var(--teal); }
#payment .wc_payment_method > label::before { display: none; }
#payment .wc_payment_method > label { display: inline; padding: 0; font-weight: 800; color: var(--navy); }
#payment .payment_box { margin-top: 8px; padding: 10px 12px; }
#payment .place-order { padding: 0; }
#payment #place_order { width: 100%; min-height: 56px; background: var(--coral); color: #fff; font-size: 1.1rem; box-shadow: var(--shadow-cta); }
.woocommerce-terms-and-conditions-wrapper { margin-bottom: 14px; font-size: 0.85rem; }
.woocommerce-form-coupon-toggle { grid-column: 1 / -1; }
.woocommerce-form-coupon-toggle .woocommerce-info { background: var(--soft); }
form.checkout_coupon { display: flex; gap: 10px; padding: 14px; margin-bottom: 18px; border: 1px dashed var(--line-2); border-radius: 14px; }
form.checkout_coupon p { margin: 0; }

/* Porudžbina primljena */
.woocommerce-order { max-width: 820px; margin: 0 auto; padding: 28px 32px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow); }
.woocommerce-order-overview { list-style: none; }

/* Nalog */
.woocommerce-account .site-main .woocommerce { display: block; }
.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
.woocommerce-orders-table .button { min-height: 36px; padding: 6px 14px; font-size: 0.85rem; border: 1px solid var(--line-2); background: #fff; }
.woocommerce-orders-table__cell-order-status { font-weight: 800; }
#customer_login { margin-top: 10px; }
#customer_login h2 { font-size: 1.5rem; }
.woocommerce-form-login .button, .woocommerce-form-register .button { background: var(--coral); color: #fff; }
.woocommerce-form-login .form-row:last-of-type { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.woocommerce-form-login .input-text, .woocommerce-form-register .input-text, .woocommerce-EditAccountForm .input-text { width: 100%; }
.woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.woocommerce-MyAccount-content .gc-result { margin-bottom: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; }
.woocommerce-MyAccount-content .gc-mini small { font-family: ui-monospace, monospace; font-size: 0.72rem; opacity: 0.85; }

/* Provera stanja poklon kartice (shortcode) */
.gc-balance-form { max-width: 560px; }
.page-plain .gc-result { margin-top: 20px; padding: 0; }
.gc-mini { color: #fff; }

/* Blog i 404 slike iz WordPress-a */
.post-card__img img, .post-tile__img img, .post-single__img img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 1023px) {
  .woocommerce-cart .site-main .woocommerce, form.checkout { grid-template-columns: 1fr; }
  #customer_details, #order_review_heading, #order_review, #pwgc-redeem-gift-card-form { grid-column: 1; grid-row: auto; }
  #order_review_heading { margin-top: 20px; }
  .cart-collaterals { position: static; }
}
@media (max-width: 640px) {
  .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr; }
  .page-plain { padding: 22px; }
  .woocommerce-cart-form { padding: 16px; }
  /* Red korpe: slika levo, naziv, količina i iznos desno, "ukloni" u uglu */
  table.cart tr.cart_item { position: relative; grid-template-columns: 90px minmax(0, 1fr); padding-right: 28px; }
  table.cart tr.cart_item td.product-remove { position: absolute; top: 12px; right: 0; }
  table.cart tr.cart_item td.product-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
  table.cart tr.cart_item td.product-name, table.cart tr.cart_item td.product-quantity, table.cart tr.cart_item td.product-subtotal { grid-column: 2; }
  dl.variation { grid-template-columns: 1fr; gap: 0; }
  dl.variation dd { margin-bottom: 6px; }
}
.cart-contents .count[hidden] { display: none; }

/* Poklon kartica u korpi i porudžbini: mala kartica umesto zamenske slike */
.gc-thumb { display: grid; place-items: center; width: 110px; aspect-ratio: 1; border-radius: 14px; background: linear-gradient(135deg, #289595 0%, #1f7f7f 55%, #1d6f86 100%); color: #fff; font: 800 0.95rem/1.1 var(--display); text-align: center; }
.gc-thumb span { display: block; font: 700 0.62rem/1 var(--body); letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.85; margin-bottom: 4px; }
@media (max-width: 640px) { .gc-thumb { width: 90px; font-size: 0.82rem; } }

/* Woo dugme "prikaži lozinku" (Phosphor eye kao maska) */
.password-input { position: relative; display: block; }
.password-input input { padding-right: 48px; }
.show-password-input { position: absolute; top: 50%; right: 10px; width: 32px; height: 32px; padding: 0; border: 0; background: var(--muted); transform: translateY(-50%); cursor: pointer;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M247.31,124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57,61.26,162.88,48,128,48S61.43,61.26,36.34,86.35C17.51,105.18,9,124,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208s66.57-13.26,91.66-38.34c18.83-18.83,27.3-37.61,27.65-38.4A8,8,0,0,0,247.31,124.76ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.47,133.47,0,0,1,25,128,133.33,133.33,0,0,1,48.07,97.25C70.33,75.19,97.22,64,128,64s57.67,11.19,79.93,33.25A133.46,133.46,0,0,1,231.05,128C223.84,141.46,192.43,192,128,192Zm0-112a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Z'/%3E%3C/svg%3E") center / 20px no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M247.31,124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57,61.26,162.88,48,128,48S61.43,61.26,36.34,86.35C17.51,105.18,9,124,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208s66.57-13.26,91.66-38.34c18.83-18.83,27.3-37.61,27.65-38.4A8,8,0,0,0,247.31,124.76ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.47,133.47,0,0,1,25,128,133.33,133.33,0,0,1,48.07,97.25C70.33,75.19,97.22,64,128,64s57.67,11.19,79.93,33.25A133.46,133.46,0,0,1,231.05,128C223.84,141.46,192.43,192,128,192Zm0-112a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Z'/%3E%3C/svg%3E") center / 20px no-repeat; }
.show-password-input:hover, .show-password-input.display-password { background: var(--teal); }

/* Koraci kupovine na plaćanju: kratak opis ispod naziva koraka */
.checkout-steps { max-width: 500px; }
.checkout-steps li { text-align: center; }
.checkout-steps small { display: block; margin-top: -4px; font-size: 0.78rem; font-weight: 600; color: var(--muted); }
.checkout-steps small a { color: var(--teal-dk); }
@media (max-width: 640px) { .checkout-steps small { display: none; } }

/* Dugmad za kupovinu: tirkizna iz brenda umesto koralne (koralna se čita kao greška).
   Koralna ostaje za ukrase: nalepnice, broj u korpi, tačkice slajdera. */
:root { --cta: #1f7f7f; --cta-dk: #176868; --shadow-cta: 0 10px 22px -12px rgb(31 127 127 / 0.85); }
.button.alt,
.products--compact .add_to_cart_button,
.products--grid .add_to_cart_button,
.summary form.cart .single_add_to_cart_button,
.wc-proceed-to-checkout .checkout-button,
#payment #place_order,
.woocommerce-form-login .button, .woocommerce-form-register .button,
.newsletter-form button, .newsletter-form--wide button { background: var(--cta); color: #fff; }
.button.alt:hover,
.products--compact .add_to_cart_button:hover,
.products--grid .add_to_cart_button:hover,
.summary form.cart .single_add_to_cart_button:hover,
.wc-proceed-to-checkout .checkout-button:hover,
#payment #place_order:hover,
.woocommerce-form-login .button:hover, .woocommerce-form-register .button:hover,
.newsletter-form button:hover, .newsletter-form--wide button:hover { background: var(--cta-dk); }
/* Koraci kupovine u istoj boji kao dugmad */
.checkout-steps li.active + li::before, .checkout-steps li + li.active::before, .checkout-steps li.done + li::before { background: var(--cta); }
.checkout-steps .active span, .checkout-steps .done span { border-color: var(--cta); background: var(--cta); }
.checkout-steps .active span { box-shadow: 0 0 0 5px rgb(31 127 127 / 0.18); }
.qty-btn:hover { color: var(--cta); }

/* Pretraga dok se kuca */
.search-suggest { position: absolute; z-index: 60; top: calc(100% + 8px); left: 0; right: 0; max-height: min(70vh, 560px); overflow-y: auto; padding: 10px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 18px 40px -16px rgb(29 42 92 / 0.35); }
.search-suggest.is-loading { opacity: 0.7; }
.search-suggest mark { background: none; color: var(--teal-dk); font-weight: 800; }
.ss-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 4px 10px; border-bottom: 1px solid var(--line); margin-bottom: 6px; }
.ss-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--teal-soft); color: var(--navy); font-size: 0.85rem; font-weight: 700; text-decoration: none; }
.ss-chip span { color: var(--muted); font-weight: 600; font-size: 0.78rem; }
.ss-chip--brand { background: var(--sun-soft); }
.ss-chip:hover, .ss-chip.is-active { outline: 2px solid var(--teal); }
.ss-item { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px; border-radius: 12px; color: var(--navy); text-decoration: none; }
.ss-item img { width: 52px; height: 52px; object-fit: contain; border-radius: 10px; background: var(--card-img); }
.ss-name { font-size: 0.9rem; font-weight: 700; line-height: 1.3; overflow: hidden; }
.ss-name small { display: block; margin-top: 2px; font-size: 0.76rem; font-weight: 600; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ss-price { font-weight: 800; white-space: nowrap; font-size: 0.92rem; }
.ss-price del { display: block; font-size: 0.75rem; font-weight: 600; color: var(--muted); }
.ss-price ins { text-decoration: none; }
.ss-item:hover, .ss-item.is-active { background: var(--soft); }
.ss-all { display: block; margin-top: 6px; padding: 12px; border-radius: 12px; background: var(--soft); color: var(--teal-dk); font-weight: 800; text-align: center; text-decoration: none; }
.ss-all b { color: var(--navy); }
.ss-all:hover, .ss-all.is-active { background: var(--teal-soft); }
.ss-empty { margin: 0; padding: 14px; color: var(--muted); font-size: 0.9rem; }
@media (max-width: 640px) { .search-suggest { max-height: 65vh; } .ss-item { grid-template-columns: 44px minmax(0, 1fr) auto; } .ss-item img { width: 44px; height: 44px; } }

/* ===== Mini korpa (fioka) ===== */
.mini-cart { position: fixed; inset: 0; z-index: 90; }
.mini-cart[hidden] { display: none; }
.mini-cart__backdrop { position: absolute; inset: 0; background: rgb(29 42 92 / 0.35); opacity: 0; transition: opacity 0.28s ease; }
.mini-cart__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(420px, 100%); display: flex; flex-direction: column; background: #fff; box-shadow: -20px 0 50px -20px rgb(29 42 92 / 0.35); transform: translateX(100%); transition: transform 0.32s cubic-bezier(.2,.8,.2,1); outline: none; }
.mini-cart.is-open .mini-cart__backdrop { opacity: 1; }
.mini-cart.is-open .mini-cart__panel { transform: none; }
.mini-cart__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px 6px; }
.mini-cart__head h2 { margin: 0; font: 800 1.45rem/1.1 var(--display); color: var(--navy); }
.mini-cart__close { width: 40px; height: 40px; display: grid; place-items: center; border: 0; border-radius: 12px; background: var(--soft); color: var(--navy); cursor: pointer; transition: background-color 0.15s, transform 0.15s; }
.mini-cart__close:hover { background: var(--line); transform: rotate(90deg); }
.mini-cart .widget_shopping_cart_content { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.mini-cart .blockUI.blockOverlay { background: rgb(255 255 255 / 0.6) !important; }
.mc-count { margin: 0 20px 12px; color: var(--muted); font-size: 0.88rem; font-weight: 700; }
.mc-ship { display: flex; align-items: center; gap: 12px; margin: 0 20px 8px; padding: 12px 14px; border-radius: 16px; background: var(--teal-soft); }
.mc-ship > div { flex: 1; }
.mc-ship p { margin: 0 0 8px; font-size: 0.88rem; color: var(--navy); }
.mc-ship__bar { display: block; height: 8px; border-radius: 99px; background: #fff; overflow: hidden; }
.mc-ship__bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--teal), #36b3a8); transition: width 0.6s cubic-bezier(.2,.8,.2,1); }
.mc-ship.is-free { background: var(--green-soft); }
.mc-ship.is-free .mc-ship__bar span { background: var(--green); }
.mc-items { flex: 1; min-height: 0; overflow-y: auto; margin: 0; padding: 4px 20px; list-style: none; }
.mc-item { position: relative; display: grid; grid-template-columns: 68px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 14px 30px 14px 0; border-bottom: 1px solid var(--line); animation: mc-in 0.35s ease both; }
.mc-item__img img, .mc-item__img .gc-thumb { width: 68px; height: 68px; object-fit: contain; border-radius: 12px; background: var(--card-img); font-size: 0.7rem; }
.mc-item__name { display: block; color: var(--navy); font-weight: 700; font-size: 0.92rem; line-height: 1.3; text-decoration: none; }
.mc-item__name:hover { color: var(--teal-dk); }
.mc-item__qty { display: block; margin-top: 4px; color: var(--muted); font-size: 0.82rem; }
.mc-item__total { font-weight: 800; color: var(--navy); white-space: nowrap; font-size: 0.92rem; }
.mc-item__remove { position: absolute; top: 12px; right: 0; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; color: var(--muted); }
.mc-item__remove:hover { background: var(--soft); color: var(--navy); }
.mc-item dl.variation { font-size: 0.78rem; margin-top: 4px; }
.mc-foot { padding: 14px 20px 20px; border-top: 1px solid var(--line); background: #fff; }
.mc-total { display: flex; justify-content: space-between; align-items: baseline; margin: 0; color: var(--navy); font-weight: 700; }
.mc-total b { font: 800 1.5rem var(--display); }
.mc-note { margin: 2px 0 14px; color: var(--muted); font-size: 0.8rem; }
.mc-buttons { display: grid; grid-template-columns: 1fr 1.3fr; gap: 10px; }
.mc-buttons .button { min-height: 50px; justify-content: center; }
.mc-buttons .button:not(.alt) { background: var(--soft); color: var(--navy); }
.mc-empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 30px; text-align: center; color: var(--ink); }
.mc-empty__title { margin: 8px 0 0; font: 800 1.3rem var(--display); color: var(--navy); }
.mc-empty .button { margin-top: 12px; }
@keyframes mc-in { from { opacity: 0; transform: translateX(16px); } }

/* ===== Efekti kupovine ===== */
.fly-ghost { position: fixed; z-index: 100; object-fit: contain; border-radius: 16px; background: #fff; box-shadow: 0 12px 30px -10px rgb(29 42 92 / 0.45); pointer-events: none; }
.cart-contents.is-bump svg { animation: cart-bump 0.5s cubic-bezier(.3,1.6,.5,1); }
.cart-contents.is-bump .count { animation: count-pop 0.5s cubic-bezier(.3,1.6,.5,1); }
@keyframes cart-bump { 30% { transform: scale(1.25) rotate(-8deg); } 60% { transform: scale(0.95) rotate(4deg); } }
@keyframes count-pop { 40% { transform: scale(1.5); } }
/* Dugme za dodavanje: učitavanje i potvrda (Woo dodaje klase loading/added) */
.add_to_cart_button, .single_add_to_cart_button { position: relative; transition: background-color 0.15s, transform 0.1s; }
.add_to_cart_button:active, .single_add_to_cart_button:active, .button:active { transform: scale(0.97); }
.add_to_cart_button.loading, .single_add_to_cart_button.loading { pointer-events: none; color: transparent !important; }
.add_to_cart_button.loading::after, .single_add_to_cart_button.loading::after { content: ""; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; border: 2.5px solid rgb(255 255 255 / 0.4); border-top-color: #fff; border-radius: 50%; animation: igr-spin 0.7s linear infinite; }
.add_to_cart_button.added, .single_add_to_cart_button.added { background: var(--green) !important; }
.add_to_cart_button.added svg, .single_add_to_cart_button.added svg { display: none; }
.add_to_cart_button.added::before, .single_add_to_cart_button.added::before { content: ""; width: 18px; height: 18px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E") center / contain no-repeat; animation: count-pop 0.4s ease; }
.products--grid .add_to_cart_button.added::before { margin-right: 6px; }
a.added_to_cart { display: none !important; }
@keyframes igr-spin { to { transform: rotate(360deg); } }
/* Kartice: naziv na hover u boji dugmadi, blago podizanje */
li.product:hover .woocommerce-loop-product__title { color: var(--teal-dk); }
ul.products li.product:not(.product-category):hover { transform: translateY(-3px); box-shadow: 0 16px 34px -18px rgb(29 42 92 / 0.35); }
/* Pojavljivanje pri skrolovanju */
.js-reveal .reveal { opacity: 0; transform: translateY(16px); transition: opacity 0.55s ease var(--d, 0ms), transform 0.55s cubic-bezier(.2,.8,.2,1) var(--d, 0ms); }
.js-reveal .reveal.is-in { opacity: 1; transform: none; }

/* ===== Traka za kupovinu na stranici proizvoda ===== */
.sticky-buy { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; padding: 10px 0; background: rgb(255 255 255 / 0.96); backdrop-filter: blur(8px); border-top: 1px solid var(--line); box-shadow: 0 -10px 30px -18px rgb(29 42 92 / 0.35); transform: translateY(110%); transition: transform 0.3s cubic-bezier(.2,.8,.2,1); }
.sticky-buy.is-visible { transform: none; }
.sticky-buy__inner { display: flex; align-items: center; gap: 14px; }
.sticky-buy__img { width: 52px; height: 52px; object-fit: contain; border-radius: 10px; background: var(--card-img); }
.sticky-buy__text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.sticky-buy__text b { color: var(--navy); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sticky-buy__text .price { margin: 0; font-weight: 800; color: var(--navy); }
.sticky-buy__btn { min-height: 48px; padding: 0 22px; white-space: nowrap; }
@media (max-width: 640px) { .sticky-buy__img { display: none; } .sticky-buy__text b { font-size: 0.85rem; } .sticky-buy__btn { padding: 0 16px; } }

@media (prefers-reduced-motion: reduce) {
  .mini-cart__backdrop, .mini-cart__panel, .sticky-buy, .mc-ship__bar span { transition: none; }
  .mc-item, .cart-contents.is-bump svg, .cart-contents.is-bump .count { animation: none; }
  ul.products li.product:not(.product-category):hover { transform: none; }
}
.mc-buttons .button { white-space: nowrap; padding: 0 14px; }
@media (max-width: 400px) { .mc-buttons { grid-template-columns: 1fr 1fr; } .mc-buttons .button { font-size: 0.95rem; } }

/* Kartice proizvoda: dugačak naziv ne sme da proširi kolonu niti da uđe pod dugme */
ul.products > li { min-width: 0; }
.woocommerce-loop-product__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; min-height: 2.6em; }
.woocommerce-loop-product__link .price { margin-top: auto; padding-top: 6px; }
.products--compact .woocommerce-loop-product__link { padding-bottom: 8px; }
.products--compact .price { min-height: 40px; display: flex; align-items: center; flex-wrap: wrap; column-gap: 4px; }

/* ===== Uzrast ===== */
.age-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.age-tile { position: relative; display: flex; flex-direction: column; height: 100%; padding: 18px 18px 16px; border-radius: var(--r-lg); color: var(--navy); text-decoration: none; overflow: hidden; transition: transform 0.2s, box-shadow 0.2s; }
.age-tile:hover { transform: translateY(-3px); box-shadow: 0 16px 30px -18px rgb(29 42 92 / 0.4); }
.age-tile__num { font: 800 2.6rem/1 var(--display); letter-spacing: -0.02em; }
.age-tile__unit { font-weight: 800; font-size: 0.95rem; margin-top: 2px; }
.age-tile__hint { margin-top: 10px; font-size: 0.82rem; line-height: 1.35; color: var(--ink); }
.age-tile__count { display: inline-flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 12px; font-size: 0.8rem; font-weight: 800; color: var(--teal-dk); }
.age-tile.tone-blush { background: linear-gradient(160deg, #fdeee6, #fbe1dc); }
.age-tile.tone-sun { background: linear-gradient(160deg, #fff3df, #ffe7c2); color: var(--navy); }
.age-tile.tone-mint { background: linear-gradient(160deg, #e3f4f1, #d2eee9); }
.age-tile.tone-sky { background: linear-gradient(160deg, #e6f0fb, #d8e7f8); }
.age-tile.tone-lilac { background: linear-gradient(160deg, #efeefb, #e2e0f8); }
@media (max-width: 1023px) { .age-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .age-tiles { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; } .age-tiles li { flex: 0 0 44%; scroll-snap-align: start; } .age-tile__num { font-size: 2.1rem; } }
.product-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.product-chips .product-chip { margin-top: 0; }
.product-chip--age { background: var(--teal-soft); color: var(--teal-dk); }

/* Dugme na kartici: na telefonu kraći tekst u jednom redu */
.products--grid .add_to_cart_button { white-space: nowrap; gap: 6px; }
.atc-short { display: none; }
@media (max-width: 640px) {
  .products--grid .add_to_cart_button { min-height: 40px; padding: 0 10px; font-size: 0.85rem; }
  .products--grid .add_to_cart_button:has(.atc-short) .atc-full { display: none; }
  .atc-short { display: inline; }
  .products--grid .add_to_cart_button svg { width: 16px; height: 16px; flex: none; }
}

/* Prijava preko Google naloga */
.google-login { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 0 0 18px; padding: 14px 18px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.google-login__btn { min-height: 44px; min-width: 220px; }
.google-login p { flex: 1; min-width: 200px; margin: 0; color: var(--ink); font-size: 0.9rem; }
.google-login p.google-login__error { flex-basis: 100%; color: #c0392b; font-weight: 700; }
.google-login.is-loading { opacity: 0.6; pointer-events: none; }
.google-login--login { margin-bottom: 14px; padding: 12px; flex-direction: column; align-items: stretch; text-align: center; }
.google-login--login .google-login__btn { display: flex; justify-content: center; }
