/* === GENERAL FIXES === */
.tv-category-block-wrapper .tv-category-cover {
  display: none;
}
.ttvcmscart-show-dropdown-right .ttvcart-scroll-container {
  height: calc(100vh - 395px);
}
.ttvcart-price-shipping-text {
  min-height: 340px;
}
.ttvcart-product-label-value.tax {
  display: none;
}
.tv-header-logo img {
  width: 250px;
}
.form-control-label {
  font-weight: bold;
  font-size: 18px;
}
.nav-item .nav-link.active {
  font-size: 20px;
  padding: 10px;
  background-color: #ccc;
}
.form-control-comment {
  font-size: 0.7rem;
}
.product-customization {
  display: none;
}
.tvfooter-logo-block .tvfooter-img-block img {
  width: 200px;
}
body .tv-main-div .half-wrapper-backdrop {
  top: 0;
}
.tvcms-main-title .tvmain-desc,
.tvservices-content-box .tvservice-dec,
#product #block-reassurance span,
.tvmain-slider-contant .tvmain-slider-info p {
  text-transform: none;
}
.tv-product-page-image {
  width: 60%;
}
.tv-product-page-content {
  width: 40%;
}
a.tv-continue-shopping-btn.tvall-inner-btn {
  background-color: #666;
}
.tvcmsdesktop-top-header-wrapper {
  padding: 20px 0;
}
#cart-summary-product-list > ul.media-list > li.media {
padding-bottom: 20px;
}
.product-line-info.product-line-info-secondary.text-muted > span.label,
.product-line-info.product-line-info-secondary.text-muted > span.value {
font-size: 13px;
}
.product-line-info.product-line-info-secondary.text-muted > span.label {
font-weight: normal;
padding-right: 5px;
}
.tvproduct-name .product-title h6 {
  font-weight: normal;
}
.product-line-info > span.label {
font-weight:bold;
font-size: 13px;
}
.product-line-info > span.value {
font-size: 13px;
white-space: pre-line;
word-break: break-word;
}
#blockcart-modal .modal-body .divide-right span {
  white-space: pre-line;
  word-break: break-word;
}
.order-confirmation-table .order-line .details > span {
  white-space: pre-line; /* păstrează rândurile */
  display: block;        /* ca să poți controla mai ușor spațierea */
  word-break: break-word;
}
.an-pf-field-red {
  padding-right: 3px;
}
.an-pf-field {
  padding: 0 0 20px;
}
.an-pf-fields-wrap {
  padding: 0;
}
.tvfooter-product-sticky-bottom.sticky {
  display: none !important;
}
.tv-product-page-content .product-variants {
  margin-bottom: 0;
}
#product .tv-product-page-content .alert {
  padding: 15px;
}
.tv-product-page-content h1 {
  font-weight: bold;
  padding-right: 0;
  text-transform: none;
  margin-bottom: 10px;
  color: #491928;
}
.tvproduct-description-tab {
  padding: 15px;
  margin-bottom: 50px;
}
.an-pf-field-type-textarea-wrap textarea {
  height: 100px;
}
.tvcustom-review-box label {
  text-transform: none;
}
.open-comment-form .tvcustom-icons {
  margin-right: 5px;
}
.open-comment-form span {
  text-decoration: none;
}
.tvproduct-wrapper .tvproduct-hover-btn .tvproduct-cart-btn {
  display: none;
}
.form-control {
  border: 1px solid rgba(0, 0, 0, 0.3);
}
.tvall-inner-btn:hover::before {
  background-color: #ccc !important;
}
.payment-option img {
  padding-left:5px;
}

/* Stiluri pentru checkbox personalizat */
.custom-checkbox {
}
.custom-checkbox input[type="checkbox"] {
  opacity: 1;
  position: absolute;
  cursor: pointer;
  border: 1px solid #333;
  border-radius: 4px;
}
.custom-checkbox input[type="checkbox"]:checked + span {
  background-color: #5cb85c;
}
.custom-checkbox:hover {
  border-color: #999;
}
.custom-checkbox input[type="checkbox"]:disabled + span {
  background-color: #f0f0f0;
  border-color: #ccc;
  cursor: not-allowed;
}
/* END stiluri pentru checkbox personalizat */

a:focus, a:hover {
  color: #bd0b0b !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout:hover a, .ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart:hover a {
  color: #fff !important;
}
.forgotten-password .form-fields .center-email-fields button {
 margin-top: 25px;
}
.alert-info {
  background-color: #eaeff6;
}
.tv-main-div {
  background-color: #fafafa;
}
.tvshoping-cart-dropdown-title span.product-name {
  font-size: 14px !important;
  text-transform: none;
  font-weight: normal;
}
.ttvcmscart-show-dropdown-right .tvcart-product-list-box .tvshopping-cart-qty {
  font-size: 13px !important;
}
.ttvcmscart-show-dropdown-right .tvcart-product-content .product-price {
  font-size: 14px !important;
  text-transform: none;
  font-weight: normal;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value .ttvshoping-cart-label {
  font-weight: normal;
}
.tvproduct-wrapper.grid .product-title h6 {
  display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* Forțează afișarea a 2 rânduri */
    overflow: hidden; /* Ascunde textul care depășește */
    text-overflow: ellipsis; /* Adaugă elipsă dacă textul e mai lung */
    min-height: 3em; /* Înălțime minimă pentru 2 rânduri (presupunând 1.5em pe rând) */
    box-sizing: border-box; /* Include padding/border în înălțime */
    text-transform: none;
}
.tv-category-block-wrapper p, .tv-category-block-wrapper p span {
  font-size: 12px;
  line-height: 16px;
}
#category-description.text-muted h3 {
  font-size: 20px;
}
#product-availability i {
  display: inline;
  padding-right: 5px;
}
#product-availability .product-unavailable {
 color: #d02828;
}
#product-availability {
  background-color: #ddd;
  color: #000;
  margin-bottom: 25px;
}

/* Stiluri modul puncte loialitate */
#lrp-widget {
  margin-top: 35px;
  background: none;
  padding: 0;
}
.lrp-value-text {
  display: none;
}
.lrp-value {
      background: linear-gradient(105deg, #491928 10.54%, #9e3e3e 83.12%);
      padding: 10px;
      color: #fff;
}
.card.js-cart .card-block #lrp-widget {
  margin-bottom: 25px;
}
.lrp-info-wrapper {
  display: inline-block !important;
}
.block-promo .cart-summary-line .label, .block-promo .promo-name {
  color: #329d22;
}
progress {
  width: 100%;
  height: 10px;
  appearance: none;
  -webkit-appearance: none;
  border: none;
  background-color: #eee;
  border-radius: 5px;
  overflow: hidden;
}

progress::-webkit-progress-bar {
  background-color: #eee;
}

progress::-webkit-progress-value {
  background: linear-gradient(105deg, #491928 10.54%, #9e3e3e 83.12%); /* culoarea ta */
  border-radius: 5px;
  transition: width 0.3s ease;
}

progress::-moz-progress-bar {
  background: linear-gradient(105deg, #491928 10.54%, #9e3e3e 83.12%);
  border-radius: 5px;
}
/* END stiluri modul puncte loialitate */

.tvproduct-size-custom {
  display: none;
}
.tv-product-page-content .tvwishlist-compare-wrapper-page {
  margin-bottom: 35px;
  padding: 0 0 0 0;
}
.breadcrumb li a {
  text-transform: none;
}
.sku_under_product_name {
  margin-bottom: 25px;
}
.sku_under_product_name span {
  font-weight: 500;
}
.asa_main {
  padding: 10px;
}
.asa_main_success {
  width: 100%;
  margin-bottom: 0;
}
.AFSC-remaining-progress {
  height: 10px;
  background-color: #aaa;
  margin-top: 10px;
}
.AFSC-remaining-progress-bar {
  background: linear-gradient(105deg, #491928 10.54%, #9e3e3e 83.12%) !important;
}
body#checkout .additional-information {
  margin-top: 0;
  padding-bottom: 20px;
}
  .product-cover img,
  .js-qv-product-cover,
  .tvproduct-image .product-cover img {
    cursor: pointer !important;
  }
  .zoomImg {
  cursor: pointer !important;
  pointer-events: none; /* astfel încât clickul să treacă la imaginea de dedesubt */
  }
  .zoomWindow {
  cursor: pointer !important;
  }
  button.close {
    background: #ddd;
    padding: 7px;
  }
  .tvmodel-close {
  top: 0;
  right: 0;
  }
  .tvmodel-close:hover {
  opacity: 1;
  color: #999;
  background: #aaa;
  }
  .myglslocker-row {
  margin-bottom: 25px !important;
  }

  #header .tv-menu-horizontal ul li.level-1 > a {
  color: #491928;
  }

  .AFSC_replacecartmodel.free-shipping-info {
      clear: both;
      display: block !important;
      position: relative;
  }

  /* Override doar pentru modulul free shipping */
  .AFSC_replacecartmodel .asa_main ul {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      margin: 0;
      padding: 5px;
      list-style: none;
  }

  .AFSC_replacecartmodel .asa_main ul li {
      display: inline-block;
      width: auto !important; /* Override 22% width */
      text-align: left;
      vertical-align: middle;
      margin-right: 5px;
  }

  /* Specificamente pentru textul principal să ocupe tot spațiul disponibil */
  .AFSC_replacecartmodel .asa_main ul li:last-child {
      flex: 1;
      width: 100% !important;
  }

  /* Pentru imagini să rămână mici */
  .AFSC_replacecartmodel .asa_main ul li.asa_imgli {
      width: auto !important;
      flex: none;
  }

  .AFSC-remaining-progress {
      width: 100%;
      background-color: #f0f0f0;
      border-radius: 4px;
      overflow: hidden;
  }

  .AFSC-remaining-progress-bar {
      transition: width 0.3s ease;
  }

  /* Pentru cazul în care vrei să forțezi toate li-urile să fie pe o singură linie */
  .AFSC_replacecartmodel .asa_main ul {
      white-space: nowrap;
  }

  .AFSC_replacecartmodel .asa_main ul li {
      white-space: normal;
  }
  body#checkout div.checkout-step .payment-options .payment-option {
  height: auto !important;
  }

  .ets-rv-product-comment-modal .ets-rv-modal-header button.close {
  position: absolute;
  right: 10px;
  box-shadow: none;
  top: 10px;
  outline: none;
  padding: 5px;
  background: #aaa;
  color: #333;
  }
  body#checkout a[data-link-action="different-invoice-address"]{
    padding: 10px;
    background: #eee;
  }
  .product-list-reviews.list-in-productlist {
  top: -15px;
  margin-bottom: 0px;
  }
  .ets_rv_grade_stars {
  font-size: 15px;
  }
  .ets-rv-product-comments-additional-info {
  margin: 20px 0 !important;
  }
  .ets_rv_latest_reviews.slick-initialized.slick-slider.slick-dotted > .slick-list {
    height: auto;
  }
  .tv-product-page-content .product-prices {
  margin-bottom: 15px !important;
  }
  .ets_rv_reviews {
    margin-bottom: 50px;
    }
  ul.dropdown-menu.tv-account-dropdown.tv-dropdown > li.ttvcms-wishlist-icon {
    display: flex;            /* fixează alinierea */
  }
  .btn-secondary, .btn-tertiary {
  color: #eee;
  background-color: #5a7e48;
  border-radius: 3px;
  }
  #myglslocker-display::placeholder {
    color: #b81a1a;
    opacity: 1; /* Asigură opacitate completă */
  }
  #payment-option-1-additional-information {
  color: #666;
  }
  .ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout:hover {
    background-color: #555;
  }
  .ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart:hover {
    background-color: #555 !important;
  }
  .close {
  text-shadow: none;
  }
  h4.ets_crosssell_title {
    font-size: 25px;
      color: #333333;
      line-height: 26px;
      position: relative;
      font-weight: 700;
      font-family: 'roboto condensed';
      padding-bottom: 15px;
      letter-spacing: 0.3px;
      margin-bottom: 20px;
      display: block;
      text-align: center;
  border: 0;
  }
  .ets_crosssell_tab_content button.slick-arrow, .ets_crosssell_block .tab_content button.slick-arrow {
  border-radius: 50%;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);
  height: 35px;
  width: 35px;
  border: 1px solid #ededed;
  background: #fff;
  }
  .ets_crosssell_tab_content button.slick-arrow::before, .ets_crosssell_block .tab_content button.slick-arrow::before {
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  }
  .ets_crosssell_tab_content button.slick-prev.slick-arrow, .ets_crosssell_block .tab_content button.slick-prev.slick-arrow {
  right: 55px;
  }
  .ets_crosssell_list_blocks {
  margin: 70px 0 !important;
  }
  .ets_crosssell_tab_content button.slick-next.slick-arrow::before, .ets_crosssell_block .tab_content button.slick-next.slick-arrow::before {
  right: 9px;
  }
  .cms-description p {
  padding-bottom: 15px;
  }
  .tvcms-main-title .tvmain-title h2 {
  font-size: 25px;
  line-height: 26px;
  }
  .tvvertical-slider .slick-slider .tvcmsVerticalSlider img.thumb.active, .tvvertical-slider .slick-slider .tvcmsVerticalSlider img.thumb:hover {
  border: 1px solid #aaa;
  }
  #product-modal .modal-content .modal-body .product-images img:hover {
  border: 1px solid #491928 !important;
  }
  .modal-header .close {
  margin-top: 0;
  width: auto;
  height: auto;
  }
  .tvmodel-close span {
  font-weight: inherit;
  padding: 10px;
  }
  .tvvertical-slider .arrows .tvvertical-slider-next {
  background: #eee;
  }
  .tvvertical-slider .arrows .tvvertical-slider-pre {
  background: #eee;
  }
  .cms-description h3 {
  font-size: 1.8em;
  }
  .cms-description ul {
  margin-bottom: 10px;
  }
  /* Product tags */
  .product-tags .tags-list{display:flex;flex-wrap:wrap;gap:.5rem}
  .product-tags .tag-chip{
    display:inline-block;padding:.38rem .65rem;border:1px solid #e5e5e5;
    border-radius:999px;font-size:.875rem;line-height:1;text-decoration:none;
    background:#f9f9f9;color:#333;transition:.15s ease-in-out
  }
  .product-tags .tag-chip .hash{opacity:.6;margin-right:.15rem}
  .product-tags .tag-chip:hover{
    border-color:#491928;color:#491928;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.06)
  }
  .hbl-content a {
  color: #bd0b0b !important;
  text-decoration: underline;
  }
  .hbl-content strong {
    font-weight: bold;
    color: inherit;
  }
  .tv-category-image{
    aspect-ratio: 1 / 1;
    display: grid;
    place-items: center;   /* centrează imaginea în slot */
    overflow: hidden;
  }

  /* nu mai forța width/height 100% pe imagine */
  .tv-category-image img{
    width: auto;           /* păstrează dimensiunea nativă */
    height: auto;
    max-width: 100%;       /* micșorează doar dacă slotul e mai mic */
    max-height: 100%;
    display: block;
  }

  .tvproduct-image-slider {
    /* rezervă spațiul final înainte ca JS sau imaginea să se încarce */
    aspect-ratio: 1 / 1;
    display: block;
    width: 100%;
    overflow: hidden;
    min-height: 440px;          /* ≈ valoarea medie din raport (Lighthouse) */
    background-color: #f8f8f8;  /* placeholder vizual opțional */
    contain: layout;
  }
  .tvproduct-image-slider img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;         /* sau cover, după cum vrei compoziția */
  }






/* === DESKTOP STYLES === */
@media screen and (min-width: 1025px) {
  #tvmain-slider.owl-carousel {
    height: 855px !important;
  }
  #tvmain-slider .owl-item img {
    height: 855px;
  }
  .tvmain-slider-contant .tvmain-slider-info h2 {
    font-size: 80px;
  }
  .tvcms-slider-offerbanner-wrapper {
    margin-bottom: 25px;
  }
  .modal-dialog {
    max-width: 1400px;
  }
  #product-modal .modal-content .modal-body .mask {
    max-height: 1110px;
  }
  .tvvertical-slider .product-images {
  max-height: 850px;
  }
  .slick-slider .slick-list {
  /*  height: 825px !important; */
  }
  .form-group {
  margin-bottom: 0;
  }
  #tvmain-slider.owl-carousel {
      height: 855px !important;
      background-color: #f7f7f7;
    }
  .product-thumbs-mobile {
  display: none !important;
  }
  }


/* === MOBILE STYLES === */
@media screen and (max-width: 800px) {
  .ttvcmscart-show-dropdown-right .ttvcart-scroll-container {
    height: calc(100vh - 500px);
  }
  #product .alert-info {
    margin-bottom: 15px;
  }
  body.page-prices-drop .products .product-miniature,
  body.page-search .products .product-miniature,
  body.page-new-products .products .product-miniature {
    width: 50% !important;
    float: left;
  }
  .tvcms-main-title .tvmain-title {
  padding-top: 25px;
  }
  .tvcms-slider-offerbanner-wrapper {
  margin-bottom: 50px;
  }
  .tvmain-slider-contant .tvmain-slider-info p {
    font-size: 15px;
  }
  .tvmain-slider-contant .tvmain-slider-info h2 {
    font-size: 25px;
    margin-bottom: 5px;
  }
  .tvsame-category-product .owl-item {
  width: 199px !important;
  }
  .tv-sub-category-wrapper {
  flex: 0 0 40%;
  }
  .tvvertical-slider {
  padding: 0;
  }
  .col-md-6.tv-product-page-image {
    padding: 0;
  }
  .tvproduct-wrapper.grid .product-title h6 {
    -webkit-line-clamp: 3; /* Elimină limita de linii */
    min-height: 3.5em;
  }
  body#checkout div.checkout-step .delivery-option label {
  width: 85%;
  }
  .col-md-12.col-lg-4.tvcheckout-process-right {
    padding-top: 25px;
  }
  .tvproduct-description-tab {
  margin-bottom: 10px;
  padding: 0;
  }
  .tvcms-main-title .tvmain-title h2, .tvinstagram-slider-title-wrapper .tvinstagram-title, .tvinstagram-slider-title-wrapper .tvinstagram-user-name {
  font-size: 20px !important;
  padding-bottom: 0;
  font-family: 'Roboto';
  }
  .tvproduct-description-tab #tab-content {
  padding: 20px;
  }
  h4.ets_crosssell_title {
  font-size: 20px;
  margin-bottom: 50px;
  font-family: 'Roboto';
  }


  /* Stiluri pentru miniaturi mobile */
  .product-thumbs-mobile {
    display: block;
    min-height: 102px;
    contain: layout;
    /* CRUCIAL: limitează lățimea la viewport */
    width: 100%;
    max-width: 100%;
    overflow: hidden; /* previne overflow extern */
  }

  .product-thumbs-mobile .product-images {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    padding: 8px 0;
    margin: 0;
    list-style: none;
    touch-action: pan-x;
    overscroll-behavior-x: contain;
    /* CRUCIAL: forțează container să nu depășească */
    width: 100%;
    max-width: 100%;
  }

  .product-thumbs-mobile .thumb-container {
    flex: 0 0 auto;
    min-width: 86px;
    width: 86px; /* ADAUGĂ width explicit */
    scroll-snap-align: start;
  }

  .product-thumbs-mobile .js-thumb {
    width: 86px;
    height: 86px;
    border-radius: 6px;
    display: block;
    object-fit: cover;
    aspect-ratio: 1 / 1;
    background-color: #f0f0f0;
  }

  .product-thumbs-mobile .js-thumb.selected {
    outline: 2px solid #491928;
    outline-offset: -2px;
  }

  #lrp-widget #lrp-points .lrp-icon-wrapper { width:40px; height:40px; }
  #lrp-widget #lrp-points .lrp-icon-wrapper img { display:block; width:100%; height:100%; }

  .comment-author .comment_flag { width:20px; height:14px; display:inline-block; }
  .comment-author .comment_flag img { width:100%; height:100%; display:block; }

  /* overlay-ul de zoom să nu blocheze atingerile */
  .product-cover .layer { pointer-events: none; }
  .tvcms-main-title .tvmain-title {
  padding-top: 5px;
  }
  .ets_crosssell_list_blocks {
  margin: 20px 0 !important;
  }
  .ets_crosssell_list_blocks .tab_content button.slick-arrow {
  top: -50px !important;
  bottom: auto !important;
  }
  .tvspecial-product-wrapper-box, .tvcmsspecial-product, .tvnew-product-wrapper-box, .tvcmsfeatured-product, .tvcmsbest-seller-product, .tvcmsnew-product, .tvcmssame-category-product, .tvcmscross-selling-product, .tvcmslike-product {
  margin-bottom: 20px;
  }
  #products.grid .ets_mp_mobile_2 .product-miniature {
    padding: 0 2px;
  }


  /* —— Categoria: card produs —— */
 .product-miniature .tvproduct-image { aspect-ratio: 308 / 400; } /* home_default 308x400 */
 .product-miniature .tvproduct-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 /* —— Pagină produs: imagine principală + slide-uri —— */
 #product .product-cover,
 #product .tvvertical-slider .slick-slide { aspect-ratio: 1 / 1; } /* pătrat în tema ta */
 #product .product-cover img,
 #product .tvvertical-slider .slick-slide img {
   width: 100%;
   height: 100%;
   object-fit: contain;
 }

 /* Înainte să se inițializeze slider-ul, rezervă înălțimea ca să nu „sară” */
 .tvvertical-slider { min-height: 420px; }
 /* Rezervă spațiu minim, ca să nu împingă layout-ul */
 .product-miniature .product-price-and-shipping { min-height: 28px; }
 .product-miniature .ets-rv-grade-stars { min-height: 18px; }
 .product-miniature .tvproduct-flags { min-height: 18px; }

 /* Evită reflow pe preț (font de sistem, opțional) */
 .product-price, .current-price { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
 /* Fă-le fixed peste conținut; nu modifică flow-ul */
 .cookie-banner, .promo-topbar { position: fixed; left:0; right:0; bottom:0; z-index: 9999; }

 /* Dacă ai header sticky + bar sus, rezervă spațiul de la început */
 .header-placeholder { min-height: 56px; } /* egal cu înălțimea header-ului/bar-ului */

 /* izolează layout-ul, rezervă loc pt. bulinuțe */
 .tvvertical-slider .product-images {
   contain: layout;
   min-height: 440px;        /* rezervă înălțimea finală (≈ în raport: 437px) */
   padding-bottom: 24px;     /* loc pt. .slick-dots, chiar înainte de init */
 }
 .tvvertical-slider .slick-dots { height: 24px; }
 .js-arrowsxx { display:none !important; height:0 !important; padding:0 !important; margin:0 !important; }
 .slick-dotted.slick-slider { padding-bottom: 24px; }
 /* neutralizează complet containerul ascuns pe mobil */
 .product-cover.col-xl-10.col-sm-9 {
   position: fixed !important;   /* îl scoatem din flux */
   top: -100vh !important;       /* în afara viewportului */
   left: -100vw !important;
   width: 0 !important;
   height: 0 !important;
   min-height: 0 !important;
   max-height: 0 !important;
   overflow: hidden !important;
   margin: 0 !important;
   padding: 0 !important;
   pointer-events: none !important;
   visibility: hidden !important;
   contain: layout !important;   /* izolează complet layout-ul */
 }

 /* dacă sliderul intern are proprii parametri de înălțime, îi „taie” complet */
 .product-cover.col-xl-10.col-sm-9 .tvproduct-image-slider {
   position: static !important;
   min-height: 0 !important;
   height: 0 !important;
   width: 0 !important;
   overflow: hidden !important;
 }

 /* și ascunde eventualul layer de zoom care putea cauza shift */
 .product-cover .layer {
   display: none !important;
 }

 

  }
