/* ==========================================================================
   CUSTOM CSS (curățat + organizat) + FIX sticky galerie (desktop)
   + FIX embed-uri video (anti “misca pagina”)
   ========================================================================== */


/* ==========================================================================
   1) Catalog / Listing / Sort
   ========================================================================== */

body .sort-by-row .filter-button { display: none; }

.products-sort-order .dropdown-menu {
  left: auto !important;
  top: auto !important;
  transform: none !important;
}

.products .product-miniature .button-container .icon-button {
  line-height: normal;
}

/* Discount styling */
.discount-percentage,
.on-sale { color: #ff4c24; }

/* Ascunde flag-uri de discount în miniaturi */
.products .product-miniature .product-flags .product-flag .discount-percentage,
.discount { display: none; }

/* Imaginele din listing să ocupe corect containerul */
.products .product-miniature .product-image-container img { width: 100%; }

/* Fundal preț în miniaturi */
.products .product-miniature .product-content .price { background-color: #fff; }

/* Spacing liste produse */
.products { margin-bottom: 2%; }


/* ==========================================================================
   2) Sticky Add to Cart (ATC)
   ========================================================================== */

#sticky-atc .product-title,
#sticky-atc .product-image img,
#sticky-atc .sticky-price,
#sticky-atc .fa-spin.fa-fw.spinner-icon { display: none; }

#sticky-atc .product-variants > .product-variants-item { display: none; }

#sticky-atc {
  padding-right: 35px;
  padding-left: 35px;
  background-color: #000;
}

.product-actions .add-to-cart { margin-bottom: 0; }


/* ==========================================================================
   3) Layout general / Page width
   ========================================================================== */

/* Desktop: ușor mai îngust */
#page { max-width: 96%; }

/* Mobile: revine la full width */
@media (max-width: 767px) {
  #page { max-width: none; }
}


/* ==========================================================================
   4) Galerie / Lightbox / Slider
   ========================================================================== */

.swiper-slide img { display: inline; }

.pswp__button--share,
.pswp--svg .pswp__button--share { display: none; }

body .products .product-miniature .product-thumbnail::before { background-color: transparent; }
body .product-images .thumb-container:before { background-color: transparent; }


/* ==========================================================================
   5) Product page spacing + descriere + embed fix + sticky galerie
   ========================================================================== */

.product-second-content { margin-bottom: 2%; }
#custom-text { margin-bottom: 2%; }

.pb-left-column,
.pb-right-column { margin-bottom: 2%; }

/* IMPORTANT: fix embed-uri video/media în descriere (Vimeo/YouTube) */
body#product .product-description iframe,
body#product .product-description video,
body#product .product-description embed,
body#product .product-description object,
body#product .product-description img {
  max-width: 100% !important;
}

/* iframe-urile să nu “iasă” din container */
body#product .product-description iframe {
  width: 100% !important;
  border: 0;
  display: block;
}

/* Anti scroll lateral DOAR pe pagina produs (fără să rupă sticky) */
body#product { overflow-x: hidden; }
body#product #page { overflow-x: visible; } /* crucial pentru sticky pe unele teme */

/* Sticky galerie pe desktop (comportamentul vechi: poza rămâne pe loc) */
@media (min-width: 992px){
  body#product .pb-left-column{
    position: sticky;
    top: 16px;
    align-self: flex-start;
  }
}


/* ==========================================================================
   6) Modal / Bootstrap tweaks
   ========================================================================== */

.modal-body .col-md-6 {
  flex: 0 0 50%;
  max-width: 50%;
}


/* ==========================================================================
   7) Form / UI
   ========================================================================== */

.form-control { font-size: 16px !important; }

body .form-group .btn-primary { color: #fff; }

.checkout-step .payment-options label { text-align: left; }

body#checkout .custom-checkbox { display: inline; }


/* ==========================================================================
   8) Header / Search
   ========================================================================== */

#header #search_widget { overflow: hidden; }

#search_widget #toggle_search:before {
  margin-right: 6px; /* manual spacing */
}

/* Sticky header shadow fix pe mobile */
@media (max-width: 767px) {
  .sticky-header #header.is-sticky,
  .js-scrolled #header { box-shadow: none !important; }

  .sticky-header #header .header-top { flex-wrap: nowrap; }
}


/* ==========================================================================
   9) Reviews (revws*)
   ========================================================================== */

.revws-product-list .revws-count-text { display: none; }

body .revws-product-list,
body .revws-product-list a,
body .revws-comparison {
  justify-content: flex-start;
}

body .revws-dialog { height: auto; }

body .revws-review-form .revws-review-form-input { margin-top: 1rem; }


/* ==========================================================================
   10) Loyalty icon
   ========================================================================== */

#loyalty_product span.material-icons { font-size: 20px; }


/* ==========================================================================
   11) MagicZoom (mobile-magic) fixes
   ========================================================================== */

.mobile-magic .mz-figure > img { opacity: 1 !important; }
.mobile-magic .mz-figure > img + img { transform: scale(1) !important; }

.mobile-magic .mz-figure {
  -webkit-perspective: none !important;
  perspective: none !important;
}

.mobile-magic .mz-figure:not(.mz-ready) > img:last-child {
  -webkit-transform: scale(1) !important;
  transform: scale(1) !important;
}


/* ==========================================================================
   12) Product price label styling
   ========================================================================== */

.product-prices .tax-shipping-delivery-label {
  background-color: #000;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
}


/* ==========================================================================
   13) Mobile submenu toggle (show class)
   ========================================================================== */

/* Base styles for all sub-menus */
.sub-menu { display: none; }

/* Styles for mobile devices */
@media (max-width: 768px) {
  .sub-menu.show { display: block; }
  .sub-menu.show li { display: block; }
}


/* ==========================================================================
   14) Usually bought together
   ========================================================================== */

#abs_usually_bought_together .abs-reviews-recommen { display: none; }


/* ==========================================================================
   15) Product list layout on mobile
   ========================================================================== */

@media (max-width: 767px) {
  .products .product-miniature .product-content { width: 70%; }
}


/* ==========================================================================
   16) 2026 Product Layout (noile clase)
   ========================================================================== */

.product-2026 { padding: 24px 0; }
.product-2026__grid { row-gap: 24px; }

.product-2026__gallery {
  position: sticky;
  top: 16px;
  border-radius: 0px;
  overflow: hidden;
}

.product-2026__buybox {
  position: sticky;
  top: 16px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 0px;
  padding: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

.product-2026__title {
  font-size: 28px;
  line-height: 1.15;
  margin: 0 0 12px;
}

.product-2026__shortdesc {
  margin: 12px 0 16px;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(0,0,0,.78);
}

.product-2026__reassurance { margin-top: 12px; }

.product-2026__below {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,.08);
}

.product-2026__sectionTitle {
  font-size: 20px;
  margin: 24px 0 12px;
}

/* Accordion using <details> */
.pacc {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 0px;
  background: #fff;
  margin: 10px 0;
  overflow: hidden;
}

.pacc__summary {
  cursor: pointer;
  list-style: none;
  padding: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.pacc__summary::-webkit-details-marker { display: none; }

.pacc__summary::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(0,0,0,.55);
  border-bottom: 2px solid rgba(0,0,0,.55);
  transform: rotate(45deg);
  margin-left: 12px;
}

.pacc[open] .pacc__summary::after { transform: rotate(225deg); }

.pacc__content {
  padding: 0 14px 14px;
  color: rgba(0,0,0,.85);
}

/* Mobile: disable sticky for comfort */
@media (max-width: 991.98px) {
  .product-2026__gallery,
  .product-2026__buybox { position: static; }
}


/* ==========================================================================
   17) Global helpers (recomandat)
   ========================================================================== */

/* Recomandat: previne “umflarea” elementelor și overflow-uri ciudate */
*,
*::before,
*::after { box-sizing: border-box; }

/* Debug helper (OFF by default) */
/* Pornește temporar ca să vezi ce element iese din ecran */
/* * { outline: 1px solid rgba(255,0,0,.25); } */

/* FIX: product flag care împinge layout-ul (ex: <li class="product-flag new">Nou</li>) */
body#product .product-flags,
body#product .product-miniature .product-flags {
  max-width: 100%;
  overflow: hidden; /* taie orice iese în lateral */
}

body#product .product-flag {
  max-width: 100%;
  box-sizing: border-box;
}

/* Specific pentru "Nou" */
body#product .product-flag.new {
  position: absolute;       /* păstrează overlay */
  left: 12px !important;    /* forțează în interior */
  right: auto !important;
  transform: none !important; /* dacă tema îl translatează aiurea */
  white-space: nowrap;
}

/* Centrează titlul accordionului, păstrând săgeata în dreapta */
.pacc__summary{
  position: relative;
  justify-content: center;   /* centru pentru text */
}

/* spacer invizibil stânga (echilibrează săgeata din dreapta) */
.pacc__summary::before{
  content: "";
  width: 10px;               /* aceeași lățime ca săgeata */
  height: 10px;
  margin-right: auto;
  visibility: hidden;
}

/* săgeata rămâne în dreapta */
.pacc__summary::after{
  margin-left: auto;
}

/* MODERN ADD TO CART BUTTON – 2026 */
/* MODERN ADD TO CART – DOAR pagina produsului */
/* MODERN ATC – doar butonul, fără să atingă quantity controls */
body#product #add-to-cart-or-refresh .product-add-to-cart .add-to-cart {
  width: 100%;
  min-height: 56px;
  border-radius: 0px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;

  background: linear-gradient(180deg, #111 0%, #000 100%);
  color: #fff;

  border: none;
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);

  /* IMPORTANT: nu flex pe tot ce prinde accidental */
  display: inline-flex;
  align-items: center;
  justify-content: center;

  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}