/* KRITIČNO: Sakrij Woo cenu SAMO kada je aktivna logika popusta */
/* Ne primenjuj globalno - samo na formama sa klasom enerset-active-form */
.woocommerce div.product form.cart.enerset-active-form .single_variation .price,
.woocommerce div.product form.cart.enerset-active-form .woocommerce-variation-price {
  display: none !important;
}

/* Raspored proizvoda - samo za forme sa aktivnom logikom */
.woocommerce div.product form.cart.enerset-active-form .single_variation_wrap {
  display: grid !important;
  grid-template-columns: 1fr;
  grid-auto-rows: auto;
  row-gap: 14px;
}

/* ENERSET PRICE BOX - uvek vidljiv, uvek iznad ATC kontrola */
#enerset-price-container.enerset-price-wrapper {
  position: relative;
  display: block !important;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  
  padding: 16px 18px;
  margin: 0 0 14px 0; /* Dodan margin umesto oslanjanja na grid */
  
  background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
  border: 1px solid #ececec;
  border-radius: 14px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.06);

  text-align: left;
  color: #222;
  min-height: 88px;
  
  /* Zaštita od preklapanja */
  z-index: 1;
  isolation: isolate;
  
  /* KRITIČNO: Osiguraj da box prelomi u novi red (ne ostaje inline sa dugmetom) */
  clear: both;
  float: none;
  flex-basis: 100%;
  order: -1; /* Ako je parent flexbox, postavi ga na početak */
}

/* Ako je parent forma flex kontejner (za simple proizvode) */
.woocommerce div.product form.cart {
  /* display: flex; -- OBRISANO, koristimo prirodan block flow */
  /* flex-direction: column; -- OBRISANO */
  /* gap: 14px; -- OBRISANO */
}

/* Zaštita ako tema koristi grid umesto flexa */
.woocommerce div.product form.cart:not(.variations_form) {
  /* display: flex !important; -- OBRISANO */
  /* flex-direction: column !important; -- OBRISANO */
  /* gap: 14px; -- OBRISANO */
}

/* Override tema koja postavlja display: grid */
.woocommerce div.product form.cart.cart {
  /* display: flex !important; -- OBRISANO */
  /* flex-direction: column !important; -- OBRISANO */
}

/* Osiguraj da quantity i ATC budu u istom redu */
.woocommerce div.product form.cart .quantity,
.woocommerce div.product form.cart .single_add_to_cart_button {
  /* flex: 0 0 auto; -- OBRISANO */
  /* width: auto; -- OBRISANO */
}

/* ZAŠTITA: Quantity kontrole - očuvaj internu strukturu */
.woocommerce div.product form.cart .quantity {
  /* Ako tema koristi flex za quantity */
  display: inline-flex !important; /* VRAĆENO - ali sada sa !important */
  flex-direction: row !important; /* KRITIČNO: horizontalno */
  align-items: center !important;
  gap: 0; /* Reset gap koji može pokvariti izgled */
  flex-wrap: nowrap !important; /* Spreči prelom */
}

/* Specifična zaštita za .buttons_added klasu (tvoja tema) */
.woocommerce div.product form.cart .quantity.buttons_added {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: auto !important;
  max-width: none !important;
  vertical-align: middle !important;
}

/* Ako buttons_added ima position:relative ili float */
.woocommerce div.product form.cart:not(.variations_form) .quantity.buttons_added {
  position: relative !important;
  float: none !important;
  clear: none !important;
}

/* Specifične zaštite za različite quantity stilove */
.woocommerce div.product form.cart .quantity .screen-reader-text {
  /* Sakrij accessibility labels */
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px;
  width: 1px;
}

/* Standard WooCommerce quantity input */
.woocommerce div.product form.cart .quantity input[type="number"].qty,
.woocommerce div.product form.cart .quantity input.qty {
  width: 60px !important;
  min-width: 60px !important;
  max-width: 80px !important;
  text-align: center;
  padding: 8px 4px !important; /* Smanjen horizontal padding */
  margin: 0 !important; /* Uklonjeno spacing - buttons će se nasloniti */
  float: none !important;
  flex: 0 0 auto !important;
  order: 2 !important; /* Input u sredini */
  display: inline-block !important;
  vertical-align: middle !important;
  height: auto !important;
  min-height: 36px !important; /* Match button height */
  
  /* Styling da se spoji sa buttonima */
  border: 1px solid #ddd !important;
  border-radius: 0 !important; /* Bez zaobljenja u sredini */
  border-left: none !important; /* Minus button ima levi border */
  border-right: none !important; /* Plus button ima desni border */
  background: #fff !important;
  font-size: 14px !important;
  color: #333 !important;
}

/* Focus state */
.woocommerce div.product form.cart .quantity input[type="number"].qty:focus,
.woocommerce div.product form.cart .quantity input.qty:focus {
  outline: none !important;
  border-top-color: #999 !important;
  border-bottom-color: #999 !important;
}

/* Sakrij browser spin buttons ako tema koristi custom +/- */
.woocommerce div.product form.cart .quantity input[type="number"]::-webkit-inner-spin-button,
.woocommerce div.product form.cart .quantity input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.woocommerce div.product form.cart .quantity input[type="number"] {
  -moz-appearance: textfield;
}

/* Ako tema koristi custom +/- buttons */
.woocommerce div.product form.cart .quantity button.minus,
.woocommerce div.product form.cart .quantity button.plus,
.woocommerce div.product form.cart .quantity .minus,
.woocommerce div.product form.cart .quantity .plus,
.woocommerce div.product form.cart .quantity a.minus,
.woocommerce div.product form.cart .quantity a.plus {
  float: none !important;
  margin: 0 !important;
  position: relative !important;
  flex: 0 0 auto !important;
  
  /* POVEĆAJ VELIČINU - ključna promena */
  min-width: 36px !important;
  width: 36px !important;
  min-height: 36px !important;
  height: 36px !important;
  
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  
  /* Osiguraj da su vidljivi */
  opacity: 1 !important;
  visibility: visible !important;
  font-size: 18px !important; /* Povećano sa 16px */
  line-height: 1 !important;
  
  /* Poboljšaj klikabilnost */
  cursor: pointer !important;
  user-select: none !important;
  
  /* Reset tema stilova */
  border-radius: 4px !important;
  background: transparent !important;
  border: 1px solid #ddd !important;
  color: #333 !important;
  transition: all 0.2s ease !important;
  
  /* Ako je <a> tag */
  text-decoration: none !important;
}

/* Hover efekti */
.woocommerce div.product form.cart .quantity button.minus:hover,
.woocommerce div.product form.cart .quantity button.plus:hover,
.woocommerce div.product form.cart .quantity .minus:hover,
.woocommerce div.product form.cart .quantity .plus:hover,
.woocommerce div.product form.cart .quantity a.minus:hover,
.woocommerce div.product form.cart .quantity a.plus:hover {
  background: #f5f5f5 !important;
  border-color: #999 !important;
}

/* Minus button levo */
.woocommerce div.product form.cart .quantity button.minus,
.woocommerce div.product form.cart .quantity .minus,
.woocommerce div.product form.cart .quantity a.minus {
  order: 1 !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* Plus button desno */
.woocommerce div.product form.cart .quantity button.plus,
.woocommerce div.product form.cart .quantity .plus,
.woocommerce div.product form.cart .quantity a.plus {
  order: 3 !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

/* Wrapper za quantity + dugme (ako postoji) */
.woocommerce div.product form.cart .variations_button,
.woocommerce div.product form.cart > div:has(.quantity, .single_add_to_cart_button) {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  order: 99; /* Stavi na kraj ako je flex */
}

/* Ako postoji wrapper specifično za quantity (npr. .quantity-wrapper, .qty-wrapper) */
.woocommerce div.product form.cart [class*="quantity-"],
.woocommerce div.product form.cart [class*="qty-"] {
  display: inline-flex;
  align-items: center;
}

/* Ako tema koristi direktan red (quantity + button bez wrapper-a) */
.woocommerce div.product form.cart:not(.variations_form) > .quantity,
.woocommerce div.product form.cart:not(.variations_form) > .single_add_to_cart_button {
  display: inline-flex !important;
  vertical-align: middle;
  align-items: center;
}

/* Horizontal layout za quantity i dugme (samo za simple) */
.woocommerce div.product form.cart:not(.variations_form)::after {
  content: '';
  display: block;
  clear: both;
}

.enerset-price-wrapper.loading { 
  opacity: .92;
  pointer-events: none; /* Blokira klikove tokom učitavanja */
}

/* Skeleton loader */
.enerset-price-wrapper .enerset-loading-message {
  position: relative;
  height: 18px;
  border-radius: 6px;
  overflow: hidden;
  background: #eee;
}
.enerset-price-wrapper .enerset-loading-message::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.04) 40%, rgba(0,0,0,0.06) 50%, rgba(0,0,0,0.04) 60%, transparent 100%);
  animation: enersetShimmer 1.2s infinite;
  will-change: transform; /* GPU acceleration */
}
@keyframes enersetShimmer { 
  100% { transform: translateX(100%); } 
}

/* Cena (glavni blok) */
.enerset-price-wrapper .enerset-price-output { 
  margin: 0;
  min-height: 24px; /* Sprečava jump tokom učitavanja */
}

.enerset-price-wrapper .enerset-price-calculated {
  display: block;
  margin: 0 0 8px 0;
  line-height: 1.25;
}

.enerset-price-wrapper .enerset-price-calculated > .woocommerce-Price-amount,
.enerset-price-wrapper .enerset-price-calculated > span.amount {
  font-size: 1.75em;
  font-weight: 700;
  color: #111;
}

.enerset-price-wrapper .enerset-price-calculated del,
.enerset-price-wrapper .enerset-price-calculated ins {
  display: inline-block;
  vertical-align: baseline;
}

.enerset-price-wrapper .enerset-price-calculated del {
  font-size: .82em;
  opacity: .65;
  margin-right: 12px;
  font-weight: 500;
}

.enerset-price-wrapper .enerset-price-calculated ins {
  text-decoration: none;
  color: #088a08;
  font-size: 1.75em;
  font-weight: 800;
}

/* Cena po komadu */
.enerset-price-wrapper .enerset-price-per-item {
  display: block !important; /* Override tema stilova */
  margin-top: 6px;
  font-size: .95em !important;
  color: #444;
  font-weight: 500;
}

/* Badge popusta */
.enerset-discount-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #088a08;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .3px;
  box-shadow: 0 4px 10px rgba(8,138,8,0.25);
  z-index: 2;
}

/* Info o pravilima */
.enerset-popusti-info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px dashed #e6e6e6;
  border-radius: 10px;
  background: #fcfcfc;
}

.enerset-popusti-info + .enerset-popusti-info { 
  margin-top: 8px; 
}

.enerset-popusti-info .epi-label { 
  font-weight: 700; 
  color: #222; 
}

.enerset-popusti-info .epi-value { 
  color: #333; 
}

/* Poruke */
.enerset-price-wrapper p {
  margin: 0 0 8px 0;
  font-size: 1.02em;
  color: #333;
}

.enerset-price-wrapper .enerset-initial-message {
  color: #666;
  font-style: italic;
}

.enerset-price-wrapper .enerset-error-message {
  margin-top: 8px;
  color: #b42318;
  background: #ffe9e7;
  border: 1px solid #ffd0cc;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: .95em;
}

/* Red sa količinom i dugmetom - samo za aktivne forme */
.woocommerce div.product form.cart.enerset-active-form .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart.enerset-active-form .variations_button {
  grid-column: 1 / -1;
  display: flex !important;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.woocommerce div.product form.cart.enerset-active-form .quantity { 
  flex: 0 0 auto; 
  margin: 0; /* Reset tema margin */
}

.woocommerce div.product form.cart.enerset-active-form .quantity input.qty {
  width: 86px;
  min-width: 72px;
  text-align: center;
  border-radius: 8px;
}

/* Dugme ATC */
.woocommerce div.product form.cart.enerset-active-form .single_add_to_cart_button {
  flex: 0 0 auto;
  width: auto !important; /* Override tema stilova */
  min-width: auto;
  padding: .62em 1.25em;
  white-space: nowrap;
  border-radius: 10px;
  margin: 0; /* Reset tema margin */
}

/* Zaštita: Ne dozvoli da box "ispadne" iz forme */
.woocommerce div.product form.cart {
  position: relative;
  overflow: visible; /* Osiguraj da box ne bude clip-ovan */
}

/* SIMPLE PROIZVOD: Osiguraj vertikalni raspored */
.woocommerce div.product form.cart:not(.variations_form) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start; /* Kontrole levo */
}

.woocommerce div.product form.cart:not(.variations_form) #enerset-price-container.enerset-price-wrapper {
  order: -10 !important; /* Prvi element */
  width: 100% !important;
  flex: 0 0 auto;
  align-self: stretch; /* Puna širina */
}

/* KRITIČNO: Quantity kontrole moraju ostati zajedno */
.woocommerce div.product form.cart:not(.variations_form) .quantity {
  order: 10;
  flex: 0 0 auto;
  width: auto !important;
  /* NE POSTAVLJAMO display ovde - neka tema odluči */
  align-items: center;
  margin-right: 10px; /* Spacing između quantity i button */
  margin-bottom: 0 !important;
}

/* Ali ipak osigurajmo da se NE razbije preko više linija */
.woocommerce div.product form.cart:not(.variations_form) .quantity,
.woocommerce div.product form.cart:not(.variations_form) .quantity * {
  flex-shrink: 0; /* Ne smanjuj */
}

/* Zadrži originalnu strukturu quantity-a kakvu tema ima */
.woocommerce div.product form.cart .quantity > * {
  /* Sva deca quantity-a zadržavaju svoje pozicije */
  position: relative;
}

/* Ne diraj unutrašnju strukturu quantity kontrola */
.woocommerce div.product form.cart .quantity input.qty,
.woocommerce div.product form.cart .quantity .qty,
.woocommerce div.product form.cart .quantity button,
.woocommerce div.product form.cart .quantity .plus,
.woocommerce div.product form.cart .quantity .minus {
  /* Reset svih mogućih override-a */
  position: relative;
  flex: initial;
  order: initial;
  width: auto;
  height: auto;
}

/* Dodatni reset za različite quantity implementacije */
.woocommerce div.product form.cart .quantity * {
  box-sizing: border-box;
}

/* KRITIČNO: Osiguraj horizontalni raspored za SVU decu quantity-a */
.woocommerce div.product form.cart .quantity > * {
  display: inline-flex !important;
  vertical-align: middle !important;
  float: none !important;
}

/* Specifično za linkove i spanove koji mogu biti wrapperi */
.woocommerce div.product form.cart .quantity > a,
.woocommerce div.product form.cart .quantity > span:not(.screen-reader-text) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Ako tema koristi icon font za +/- */
.woocommerce div.product form.cart .quantity button i,
.woocommerce div.product form.cart .quantity button svg,
.woocommerce div.product form.cart .quantity .plus i,
.woocommerce div.product form.cart .quantity .minus i,
.woocommerce div.product form.cart .quantity .plus svg,
.woocommerce div.product form.cart .quantity .minus svg {
  font-size: 14px !important;
  width: 14px !important;
  height: 14px !important;
  pointer-events: none;
}

/* Flatsome tema - specijalna quantity struktura */
.woocommerce div.product form.cart .quantity .quantity-button,
.woocommerce div.product form.cart .quantity button[type="button"] {
  position: relative !important;
  float: none !important;
  margin: 0 !important;
}

/* Astra tema */
.woocommerce div.product form.cart .quantity .ast-qty-btn {
  display: inline-block !important;
  float: none !important;
}

/* Woodmart tema */
.woocommerce div.product form.cart .quantity .wd-qty-control {
  display: inline-flex !important;
  align-items: center !important;
}

/* OceanWP tema */
.woocommerce div.product form.cart .quantity input[type=number]::-webkit-inner-spin-button,
.woocommerce div.product form.cart .quantity input[type=number]::-webkit-outer-spin-button {
  opacity: 1;
}

/* Standardizuj raspored unutar .quantity */
.woocommerce div.product form.cart .quantity {
  /* NE DIRAJ display - neka ostane kako tema hoće */
  /* display: inline-flex !important; -- OBRISANO */
  /* flex-direction: row !important; -- OBRISANO */
  /* align-items: center !important; -- OBRISANO */
  /* flex-wrap: nowrap !important; -- OBRISANO */
}

/* Umesto toga, samo osiguraj da quantity kao CELINA radi kao inline element */
.woocommerce div.product form.cart:not(.variations_form) .quantity {
  display: inline-block !important; /* Ključna promena */
  vertical-align: middle;
}

.woocommerce div.product form.cart:not(.variations_form) .single_add_to_cart_button {
  order: 11;
  flex: 0 0 auto;
  width: auto !important;
  max-width: none !important;
  margin-bottom: 0 !important;
}

/* Container za quantity + button na simple proizvodima */
.woocommerce div.product form.cart:not(.variations_form) {
  /* Box će biti prvi element (block) */
  /* Quantity i button će biti inline-block elementi u istom redu */
  /* flex-wrap: wrap; -- OBRISANO, nema flex-a */
}

/* Kreiranje "pseudo-reda" za quantity + button */
/* OBRISANO - ne treba više sa block layoutom
.woocommerce div.product form.cart:not(.variations_form)::after {
  content: '';
  display: block;
  width: 100%;
  order: 9;
  flex-basis: 100%;
  height: 0;
}
*/

/* Grupiši quantity i button u horizontalan red */
/* OBRISANO - flex wrap se brine o tome
.woocommerce div.product form.cart:not(.variations_form) .quantity,
.woocommerce div.product form.cart:not(.variations_form) .single_add_to_cart_button {
  display: inline-block !important;
  vertical-align: middle;
}
*/

/* DEBUG: Proveri da nema skrivenih elemenata između quantity i buttona */
.woocommerce div.product form.cart:not(.variations_form) > br,
.woocommerce div.product form.cart:not(.variations_form) > hr {
  display: none !important; /* Ukloni break tagove */
}

/* Ako postoji wrapper oko quantity ili buttona */
.woocommerce div.product form.cart:not(.variations_form) > div:not(#enerset-price-container) {
  /* display: inline-block !important; -- OBRISANO */
  /* vertical-align: middle !important; -- OBRISANO */
  /* margin-right: 10px !important; -- OBRISANO, koristi gap */
}

/* Poslednji element u redu ne treba desni margin */
.woocommerce div.product form.cart:not(.variations_form) > *:last-child {
  /* margin-right: 0 !important; -- OBRISANO */
}

/* Grupiši quantity i button vizuelno */
.woocommerce div.product form.cart:not(.variations_form) > :not(#enerset-price-container) {
  /* Ne diramo ostatak */
}

/* Mobilni responsive */
@media (max-width: 767px) {
  #enerset-price-container.enerset-price-wrapper { 
    padding: 14px 14px;
    min-height: 80px;
  }
  
  .enerset-price-wrapper .enerset-price-calculated > .woocommerce-Price-amount,
  .enerset-price-wrapper .enerset-price-calculated > span.amount {
    font-size: 1.5em;
  }
  
  .enerset-price-wrapper .enerset-price-calculated ins {
    font-size: 1.5em;
  }
  
  /* Wrapper na mobilnom */
  .woocommerce div.product form.cart .enerset-controls-wrapper {
    gap: 8px !important; /* Smanji gap */
  }
  
  /* Button može da se rasteže */
  .woocommerce div.product form.cart .enerset-controls-wrapper .single_add_to_cart_button {
    flex: 1 1 auto !important;
    min-width: 140px !important;
    text-align: center !important;
  }
}

/* Desktop raspored */
@media (min-width: 768px) {
  .woocommerce div.product form.cart.enerset-active-form .single_variation_wrap {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }
  
  .woocommerce div.product form.cart.enerset-active-form .variations,
  #enerset-price-container.enerset-price-wrapper,
  .woocommerce div.product form.cart.enerset-active-form .woocommerce-variation-add-to-cart,
  .woocommerce div.product form.cart.enerset-active-form .variations_button {
    grid-column: 1 / -1 !important;
  }
}

/* FALLBACK: Ako tema ima konflikte, ova pravila će osigurati da box ostane vidljiv */
.woocommerce #enerset-price-container.enerset-price-wrapper {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Zaštita od tema koje koriste transform/position tricks */
.woocommerce div.product form.cart.enerset-active-form {
  contain: layout style; /* CSS containment - optimizacija */
}

/* Performanse: reducira repaint/reflow */
#enerset-price-container.enerset-price-wrapper * {
  box-sizing: border-box;
}