/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

.header-top .leo-blockcart.inactive {
  height: inherit;
  background-color: transparent;
}

.box-cateh2 .ApImage .image_description {
  text-transform: none !important;
}

label[for="delivery_message"] {
  text-align: left;
}

.grecaptcha-badge {
  bottom: 100px !important;
}

#back-top {
  right: 100px !important;
}
.enlac-cart {
  background: #d1902b;
  padding-left: 3%;
  font-family: muli;
  color: #fff;
  text-align: center;
  width: 100%;
  /* text-align: center; */
  margin-top: 1.25rem;
  padding: 1rem 0rem;
  margin-bottom: 5%;
}

.colorstich {
  background: #d1902b;
  font-family: muli;
  color: #fff;
  text-align: center;
  text-decoration: revert;
  padding: 2% 2% 0% 2%;
}

.colorstich:hover {
  color: #888;
}
.waterpick-font18 {
  font-size: 18px;
  padding: 0 10% 0 13%;
}

.waterpick-font20 {
  font-size: 20px;
  margin-top: -3% !important;
  font-weight: 700;
}

@media (min-width: 400px) and (max-width: 768px) {
  .waterpick-font18 {
    padding: 0 8% 0 10%;
  }
}

@media (min-width: 380px) and (max-width: 399px) {
  .waterpick-font18 {
    padding: 0 4% 0 4%;
  }
}

@media (max-width: 379px) {
  .waterpick-font18 {
    padding: 0 2% 0 2%;
  }
}


@media (min-width: 992px){
  body#checkout section.checkout-step#checkout-delivery-step #clickncollectModal .modal-dialog {
      width: 80%!important;
  }
}
/* Borde de las imagenes en producto al hacer zoom */
.zoomWindowContainer div {
  border-radius: 15px;
}


.product-thumb-images .thumb {
  background-color: #fff;
}

.icon-disabled{
  display: none;
}
#customer-form .pass-grid-4{
  grid-row-end: 4;
  grid-column-start: 1;
  grid-column-end: 3;
  padding: 0;
  margin: 0;
}
#customer-form .pass-grid-5{
  grid-row-end: 5;
}
#warranty .btn.btn-outline{
  color: white;

}
.ApImage img{
  height:auto!important;
}
#checkout .cart-grid-body.col-md-4 #js-checkout-summary #checkoutModal .modal-content, #checkout .cart-grid-body.col-md-4 #js-checkout-summary #checkoutModal .modal-dialog .modal-header, #js-checkout-summary .box-total{
  background: #f5f5f5!important;
}
#js-checkout-summary #checkoutModal .modal-content .modal-header button:before{
  content:""!important;
}
.cart-grid-body.col-md-4 #js-checkout-summary .box-total .btn .material-icons{
  animation: arrowupdown 2s linear infinite;
  position: relative;
}
@keyframes arrowupdown {
  0%, 100% {
    bottom: 0;
  }
  50% {
    bottom: 4px;
  }
}
.cart-grid-right .block-promo{
  display:block;

}
#cart .cart-grid .cart-grid-right .cart-summary .cart-detailed-totals .block-promo .promo-code .input-wrapper button .icon path, .cart-grid-body.col-md-4 #js-checkout-summary .block-promo .promo-code form .input-with-arrow .btn .icon path{
  stroke: white;
}
.input-wrapper.input-with-arrow{
  grid-template-columns: 80% 20%;
}
.cart-grid-body.col-md-4 #js-checkout-summary .block-promo .promo-code form .input-with-arrow .btn svg{
  opacity: 1;
}
#cart .cart-grid .cart-grid-right .cart-summary .cart-detailed-totals .block-promo .promo-code .input-wrapper button, .cart-grid-body.col-md-4 #js-checkout-summary .block-promo .promo-code form .input-with-arrow .btn{
  height: 100%;
  padding: 0;
  border-radius: 80px;
  background: #091f49;
}

.ApProductList.no-p .ajax_block_product .product-image{
  padding: 0!important;
  overflow: hidden;
}
.nxtal-compare-icon {
  display: none;
}

body .compare-table-container .table-responsive::-webkit-scrollbar {
  width: 10px;
}

/* Track */
body .compare-table-container .table-responsive::-webkit-scrollbar-track {
  background: #e8e8e8;
}

/* Handle */
body .compare-table-container .table-responsive::-webkit-scrollbar-thumb {
  background: #9f9e9e;
}

/* Handle on hover */
body .compare-table-container .table-responsive::-webkit-scrollbar-thumb:hover {
  background: #868585;
}
.cart-darique .card-block .h1 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #091f49;
}
#dariqueWrapper .dariqueRuleContainer .page-heading{
  text-align: left;
}
.cart-darique.card-block, .product-additional-info .card{
  border-radius: 20px!important;
}
ul.dariqueWrapper{
  margin: 0;
}
#cart #dariqueWrapper .dariqueRuleContainer .page-heading{
  display: none;
}
#div_accordion{
  border: 1px solid #dddddd;
}
.idTabHrefShort.page-product-heading{
  display: none;
}
#idTab95.page-product-box{
    margin-top: 20px;
}
#idTab95 div h4{
  margin-top: 24px;
  font-size: 22px;
}
.compare-head-text{
   font-size: 22px;
}
@media (min-width: 1200px){
  .header-top {
    padding-left: 0;
  }
}

.vaciacaja {
  float: right;
  margin-right: 15px;
  font-size: 25px;
}

.ets-ttn-home-reviews{
  padding: 0;
}
.ets-ttn-home-reviews .review-item{
  font-size: 14px;
  background: #ffffff;
  border-radius: 30px;
  padding: 20px;
}
.ets-ttn-review-item{
  height: 100%;
}
.review-item-info .license{
  text-transform: uppercase;
  font-size: 14px;
}
.ets-ttn-home-reviews .review-item-info{
  color: #091F49;
}
.ets-ttn-home-reviews .review-item-info .rate-review{
  display: none;
}
.ets-ttn-home-reviews .review_avatar{
  height: 120px;
  width: 120px;
  background-size: cover;
  border-radius: 100%;

}
.review-item-info{
    text-align: center;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    height: 100%;
}
#ets-ttn-page_home_reviews{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-evenly;
  align-items: stretch;
  gap: 20px;
  margin-top: 40px;
}
.ets-ttn-home-reviews .review-item{
  flex: 1 1 0px;
}
@media (max-width:768px){
  #ets-ttn-page_home_reviews{
    flex-direction: column;
  }
  .ets-ttn-home-reviews{
    margin-top: 20px;
  }
}

#footer .footer-center a[href*="https://www.pinterest"]{
  background-image: url('data:image/svg+xml,<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17 9.23438C17 13.7832 13.4194 17.4688 9 17.4688C8.17419 17.4688 7.38065 17.3393 6.63226 17.1002C6.95806 16.5523 7.44516 15.6559 7.62581 14.942C7.72258 14.5568 8.12258 12.983 8.12258 12.983C8.38387 13.4943 9.14516 13.9293 9.95484 13.9293C12.3677 13.9293 14.1065 11.6449 14.1065 8.80605C14.1065 6.08672 11.9484 4.05137 9.17419 4.05137C5.72258 4.05137 3.8871 6.43535 3.8871 9.03516C3.8871 10.2438 4.5129 11.7479 5.50968 12.226C5.66129 12.299 5.74194 12.2658 5.77742 12.1164C5.80323 12.0035 5.93871 11.4424 6 11.1834C6.01935 11.1004 6.00968 11.0273 5.94516 10.9477C5.61935 10.5326 5.35484 9.77559 5.35484 9.06836C5.35484 7.25215 6.69032 5.4957 8.96774 5.4957C10.9323 5.4957 12.3097 6.87363 12.3097 8.8459C12.3097 11.0738 11.2161 12.6178 9.79355 12.6178C9.00968 12.6178 8.41935 11.9504 8.60968 11.1303C8.83548 10.1508 9.27097 9.09492 9.27097 8.3877C9.27097 7.75684 8.94194 7.22891 8.25806 7.22891C7.45484 7.22891 6.80968 8.08223 6.80968 9.22773C6.80968 9.9582 7.04839 10.4496 7.04839 10.4496C7.04839 10.4496 6.25806 13.8961 6.1129 14.5402C5.95161 15.2508 6.01613 16.2535 6.08387 16.9043C3.10968 15.7057 1 12.724 1 9.23438C1 4.68555 4.58065 1 9 1C13.4194 1 17 4.68555 17 9.23438Z" fill="%23091F49"/></svg>');
  background-repeat: no-repeat;
  background-position: 0;
  padding-left: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.open-review-form{
  color: #091f49 !important;
}
#product_reviews_block_tab{
    margin: 20px 0px;
    background: #fff;
    padding: 13px;
    padding-right: 0px;
    border: 1px solid #f1f1f1;
    color: #091f49;
}
#custom-reviews{
  padding: 0;
}
#leo_product_reviews_block_extra .reviews_advices li {
    line-height: 0;
    display: inline-block;
}
#leo_product_reviews_block_extra .reviews_advices li.last {
    margin-left: 10px;
}

.page-product-heading{
  font-size: 1.75rem;
  margin-top: 40px;
}

.compare-head-text{
  font-size: 1.75rem;
}

.ets-ttn-follow-title{
  font-size: 2.25rem!important;
  line-height: 43px!important;
  font-weight: 500!important;
}

@media (max-width: 768px){
  .ets-ttn-follow-title{
    font-size: 2.25rem!important;
    font-weight: 600!important;
  }
}
#my-account #order-slips-link,#my-account #returns-link{
  display: none;
}
.why-wp-needs .ApRow .block-carousel-image-container .descript{
  text-align: left;
}

.thumbnail-container .product-title a {
  text-overflow: initial;
  overflow: initial;
  display: block;
}

/* Barra flotante del producto */
.floating-product-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #f8f9fa;
  border-top: 1px solid #dee2e6;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  transform: translateY(100%);
  transition: transform 0.3s ease-in-out;
  padding: 15px 20px;
  display: none;
}

.floating-product-bar.show {
  transform: translateY(0);
  display: block;
}

.floating-bar-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  gap: 20px;
}

.floating-product-name {
  font-size: 18px;
  font-weight: 600;
  color: #091f49;
  /* white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; */
  flex: 1;
  min-width: 0;
  text-align:right;
}

.floating-product-prices {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.floating-price-original {
  font-size: 16px;
  color: #dc3545;
  text-decoration: line-through;
}

.floating-price-current {
  font-size: 22px;
  font-weight: 700;
  color: #091f49;
}

.floating-add-to-cart {
  flex-shrink: 0;
}

.floating-add-cart-btn {
  background: #000000;
  border: none;
  color: white;
  padding: 12px 24px;
  border-radius: 25px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  white-space: nowrap;
}

.floating-add-cart-btn:hover {
  background: #222222;
  color: white;
}

/* Responsive para desktop - tamaños más grandes */
@media (min-width: 992px) {
  .floating-product-name {
    font-size: 20px;
  }

  .floating-price-original {
    font-size: 18px;
  }

  .floating-price-current {
    font-size: 26px;
  }

  .floating-add-cart-btn {
    padding: 14px 28px;
    font-size: 16px;
  }
}

/* Responsive para tablets */
@media (max-width: 991px) and (min-width: 769px) {
  .floating-product-name {
    font-size: 17px;
  }

  .floating-price-current {
    font-size: 20px;
  }
}

/* Responsive para móviles */
@media (max-width: 768px) {
  .floating-product-bar {
    padding: 12px 16px;
  }

  .floating-bar-content {
    gap: 15px;
  }

  .floating-product-name {
    font-size: 15px;
  }

  .floating-price-original {
    font-size: 14px;
  }

  .floating-price-current {
    font-size: 18px;
  }

  .floating-add-cart-btn {
    padding: 10px 20px;
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .floating-product-name {
    font-size: 14px;
  }

  .floating-price-original {
    font-size: 13px;
  }

  .floating-price-current {
    font-size: 16px;
  }

  .floating-add-cart-btn {
    padding: 8px 16px;
    font-size: 12px;
  }
}

.header-nav{
  position: relative;
  top: 0;
  z-index: 1000;
}

.category-cover{
  margin-bottom: 25px!important;
}

.block-category .category-cover img {
  width: 100%;
  max-height: 400px;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Row container */
.lp-row {
  display: flex;
  flex-wrap: wrap; /* permite que las columnas bajen en pantallas pequeñas */
  gap: 20px; /* espacio entre columnas */
  margin: 0 -10px; /* opcional para compensar padding si quieres alinear */
  margin-bottom: 50px;
}
.bg-dentaid{
  background-color:#091f49!important;
}

.ta-start{
  text-align:start;
}
.warranty-fz-18{
  font-size:18px;
}

.color-white{
  color:white!important;
}

/* First column: con padding */
.first-warranty-column {
  flex: 1 1 100%; /* por defecto ocupa 100% en móviles */
  border-radius: 20px;
  padding: 30px;
  background-color: #fff;
  display: flex;
  text-align:center;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box; /* importante para padding y ancho */
}

/* Second column: sin padding */
.second-warranty-column {
  flex: 1 1 100%; /* por defecto ocupa 100% en móviles */
  border-radius: 20px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}

/* Responsive styles */
@media (min-width: 768px) {
  .first-warranty-column,
  .second-warranty-column {
    flex: 1 1 48%; /* dos columnas casi iguales con espacio entre ellas */
    height: 400px;
  }
  .first-warranty-column {
    padding: 40px;
  }
}

@media (min-width: 992px) {
  .first-warranty-column,
  .second-warranty-column {
    height: 560px;
  }
  .first-warranty-column {
    padding: 60px;
  }
}

@media (min-width: 1200px) {
  .first-warranty-column,
  .second-warranty-column {
    height: auto;
  }
}

/* ========================================
   BASE STYLES
   ======================================== */
.full-column-img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.left-section {
  background-color: #1a2847;
  color: #fff;
  padding: 60px 50px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.left-section h1 {
  font-size: 32px;
  margin-bottom: 20px;
  font-weight: bold;
}
.left-section p {
  line-height: 1.7;
  font-size: 15px;
  color: #c5d0e6;
}
.left-section strong {
  color: #fff;
  font-weight: bold;
}

.right-section {
  background-color: #f5f5f5;
  padding: 40px 50px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.instruction-item {
  display: flex;
  gap: 25px;
  margin-bottom: 28px;
  align-items: flex-start;
}
.instruction-item:last-child {
  margin-bottom: 0;
}
.instruction-number {
  font-size: 50px;
  font-weight: bold;
  color: #d4dce8;
  line-height: 1;
  min-width: 75px;
}
.instruction-text {
  padding-top: 8px;
}
.instruction-text p {
  font-size: 14px;
  line-height: 1.6;
  color: #333;
}
.instruction-text strong {
  color: #1a2847;
  font-weight: bold;
}

/* ========================================
   WARRANTY SECTION
   ======================================== */
.warranty-father {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
  padding: 0;
}
.warranty-section {
  background: #fff;
  border-radius: 20px;
  max-width: 1000px;
  width: 100%;
  display: flex;
  justify-content: center;
  flex-direction: row;
}
.warranty-left {
  flex: 0 0 auto;
  max-width: 500px;
  width: 100%;
}
.warranty-left img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px 0 0 20px; /* top-left, top-right, bottom-right, bottom-left */
}
.warranty-right {
  flex: 1;
  padding: 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center; /* centra verticalmente */
  align-items: center;     /* centra horizontalmente */
}

.warranty-right h3 {
  color: #1e3a5f;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 20px;
}
.warranty-right p {
  font-size: 14px;
  color: #333;
  line-height: 1.5;
  margin-top: 1rem;
}

/* ========================================
   SERVICES SECTION
   ======================================== */
.services-section {
  text-align: center;
  margin-bottom: 50px;
  padding: 0 15px;
}
.services-section h2 {
  font-size: 32px;
  margin-bottom: 40px;
}
.services-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.5rem;
  flex-direction: column;
  align-items: center;
}
.service-item {
  text-align: center;
  flex: 1;
  width: 100%;
  max-width: 280px;
  min-height: 180px;
  background: #fff;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.service-icon {
  font-size: 80px;
  color: #1e3a5f;
  margin-bottom: 10px;
}
.service-item h4 {
  color: #1e3a5f;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
}

/* ========================================
   COVERAGE SECTION
   ======================================== */
.coverage-section {
  background-color: #e8e8e8;
  padding: 60px 40px;
}
.coverage-title {
  text-align: center;
  color: #091f49;
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 50px;
  text-transform: uppercase;
}
.coverage-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  gap: 40px;
  flex-direction: row;
  align-items: stretch;
}

.coverage-left {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
}

.coverage-card {
  background-color: #1e3a5f;
  border-radius: 20px;
  padding: 40px;
  display: flex;
  gap: 25px;
  align-items: flex-start;
  color: #fff;
}

.coverage-card.excluded {
  margin-top: 20px;
}
.coverage-icon {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 35px;
}
.coverage-icon svg {
  width: 40px;
  height: 40px;
}
.check-icon,
.x-icon {
  color: #1e3a5f;
}
.coverage-content h3 {
  font-size: 24px;
  margin-bottom: 15px;
  font-weight: bold;
}
.coverage-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.coverage-list li {
  padding-left: 25px;
  font-size: 15px;
  line-height: 1.4;
  text-align: left;
}

.coverage-list li::before {
  content: "•";
  display: inline-block;
  width: 20px;
  font-weight: bold;
  font-size: 15px;
  margin-left: -25px;
}

.coverage-right {
  flex: 1;
  background-color: #fff;
  border-radius: 20px;
  padding: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.parts-icon {
  width: 80px;
  height: 80px;
  background-color: #1e3a5f;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
}
.parts-icon svg {
  width: 45px;
  height: 45px;
  color: #fff;
}
.coverage-right h3 {
  color: #1e3a5f;
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 25px;
  line-height: 1.3;
}
.coverage-right p {
  color: #333;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 15px;
}
.coverage-right strong {
  font-weight: bold;
}
.btn-contact {
  background-color: #ff5722;
  color: #fff;
  padding: 12px 40px;
  border-radius: 25px;
  border: none;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  margin-top: 20px;
  text-transform: uppercase;
  width: 100%;
  max-width: 250px;
}

/* ========================================
   MOBILE RESPONSIVE
   ======================================== */
@media (max-width: 768px) {
  .coverage-section {
    padding: 30px 15px;
  }
  .coverage-title {
    font-size: 22px;
    margin-bottom: 30px;
  }
  .coverage-container {
    flex-direction: column;
    gap: 20px;
  }
  .coverage-card {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 25px;
  }
  .coverage-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 20px;
  }
  .coverage-icon svg {
    width: 35px;
    height: 35px;
  }
  .coverage-content h3 {
    font-size: 20px;
    margin-bottom: 15px;
  }
  .coverage-list li {
    font-size: 14px;
  }
  .coverage-right {
    padding: 30px 20px;
  }
  .coverage-right h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .coverage-right p {
    font-size: 14px;
    margin-bottom: 15px;
  }

  .services-grid {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }

  .service-item {
    width: 200px; /* o el que vulguis */
    flex: 1 1 200px; /* flexible, però mínim 200px */
  }

  .warranty-section {
    flex-direction: column;
  }
  .warranty-left img {
    border-radius: 20px 0 0 20px; /* top-left, top-right, bottom-right, bottom-left */
  }
  .warranty-right h3 {
    font-size: 18px;
    margin-bottom: 20px;
  }
  .warranty-right p {
    font-size: 12px;
    margin-top: 1rem;
  }
  .warranty-right .btn {
    width: 100%;
    max-width: 280px;
  }
}

.coverage-card .coverage-grid {
  display: grid;
  grid-template-columns: 50px 1fr 2fr; /* Ajusta el ancho de cada columna */
  gap: 15px;
  align-items: center;
  color: #ffffff;
}

.services-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.5rem;
  flex-direction: row; /* mostrar en fila */
  align-items: flex-start;
}

.service-item {
    text-align: center;
    background: white;
    width: 200px;
    height: 200px;
    max-width: 200px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1 1 200px;
}

.destacado-naranja span{
  color: #f0460f;
}

.off-canvas-nav-megamenu{
  z-index: 1000 !important;
}

.saved_amount{
  font-size: 13px;
  color: red!important;
  display:inline-flex; 
  align-items:center; 
  gap:6px;
}

.product-detail .product-prices{
  margin: 10px 0!important;

}
.cms-id-18 #wrapper .container {
    max-width: 100% !important;
    padding: 0 !important;
}

.cms-id-18 .wrapper .container {
    max-width: 100% !important;
    padding: 0 !important;
    display: flex;
    justify-content: center;
}

.cms-id-18 .page-header {
    display: none;
}

.saved_amount{
  font-size: 13px;
  color: red!important;
  display:inline-flex; 
  align-items:center; 
  gap:6px;
}

.product-detail .product-prices{
  margin: 10px 0!important;
}

.cta-buttons{
  display: flex;
  max-width: 350px;
  margin: 0 auto 0px auto;
}

.margin-bottom-2{
  margin-bottom: 2px;
}

.position-absolute .dropdown-menu{
  position: absolute !important;
}


.banner-serv.no-mobile{
	display: block;
}
.banner-serv.yes-mobile{
	display: none;
}

@media (max-width: 768px){
	#cms.cms-id-17{
		& .first-warranty-column{
			padding: 20px;
			& .warranty-fz-18{
					font-size: 16px;
			}
			& .btn{
				padding: 10px 15px;
			}
		}
		.coverage-card .coverage-grid {
        		grid-template-columns: 50px 1fr;
        		grid-template-areas:
            		"icon title"
            		"list list";
			align-items: start; /* 🔑 clave */
        		row-gap: 10px;
        		column-gap: 10px;
    		}

	    .coverage-icon {
    	    		grid-area: icon;
        		display: flex;
        		align-items: flex-start; /* alinea con el texto */
        		justify-content: center;
    		}

	    .coverage-title-col {
    		    grid-area: title;
    		}

    		.coverage-title-col h3 {
        		line-height: 1.2;
	        font-size: 18px;
    		    text-align:left;
       		margin-left: 16px;
	        margin-top:8px;
    		}

	    .coverage-list-col {
    		    grid-area: list;
    		}

	    .coverage-list {
    		    margin: 0;
        		padding-left: 20px;
	    }

    		.coverage-list li {
        		margin-bottom: 6px;
	        line-height: 1.4;
    		}
		.banner-serv.no-mobile{
			display: none;
		}
		.banner-serv.yes-mobile{
			display: block;
			border-radius: 20px;
			margin: 0 auto;
			overflow: hidden;
		}
	}
	#cms.cms-id-16{
		& .first-warranty-column{
			padding: 20px;
			& .warranty-fz-18{
					font-size: 16px;
			}
			& .btn{
				padding: 10px 15px;
			}
		}
	}
}

/* Add-to-cart CTAs: negro */
button.add-to-cart,
a.add-to-cart {
  background: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}
button.add-to-cart:hover,
a.add-to-cart:hover {
  background: #222222 !important;
  border-color: #222222 !important;
  color: #ffffff !important;
}

/* Hero home - centrar texto, disclaimer compacto y botón */
.section-home-1 .ApHtml .block_content {
  text-align: center;
}
.section-home-1 .ApHtml .block_content p span {
  font-size: 10px !important;
  line-height: 1.3 !important;
  display: block;
  margin-top: 12px;
}
.section-home-1 .ApColumn:last-child {
  text-align: center;
}

/* Categorías home: heading full width, 3 imágenes en misma línea con gap */
.block-7-home .ApColumn:has(.ApHtml) {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}
.block-7-home .ApColumn:has(.ApImage) {
  flex: 0 0 calc(33.333% - 10px) !important;
  max-width: calc(33.333% - 10px) !important;
  width: calc(33.333% - 10px) !important;
  margin-left: 0 !important;
  margin-right: 15px !important;
  height: 240px !important;
}
.block-7-home .ApColumn:has(.ApImage):last-child {
  margin-right: 0 !important;
}
@media (max-width: 767px) {
  .page-home > .block-7-home .ApColumn:nth-child(2),
  .page-home > .block-7-home .ApColumn:nth-child(3),
  .page-home > .block-7-home .ApColumn:nth-child(4) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 15px;
    height: 140px !important;
    background: #ffffff !important;
    border-radius: 30px !important;
    padding: 20px 24px !important;
    overflow: hidden !important;
  }
  .page-home > .block-7-home .ApColumn:nth-child(2) .ApImage,
  .page-home > .block-7-home .ApColumn:nth-child(3) .ApImage,
  .page-home > .block-7-home .ApColumn:nth-child(4) .ApImage {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 100%;
  }
  .page-home > .block-7-home .ApColumn:nth-child(2) h4.title_block,
  .page-home > .block-7-home .ApColumn:nth-child(3) h4.title_block,
  .page-home > .block-7-home .ApColumn:nth-child(4) h4.title_block {
    font-size: 16px !important;
    text-align: left !important;
    flex: 0 0 50%;
    margin: 0;
    position: static !important;
    z-index: 2;
  }
  .page-home > .block-7-home .ApColumn:nth-child(2) .ApImage > a,
  .page-home > .block-7-home .ApColumn:nth-child(3) .ApImage > a,
  .page-home > .block-7-home .ApColumn:nth-child(4) .ApImage > a {
    position: static !important;
    flex: 0 0 auto;
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
  }
  .page-home > .block-7-home .ApColumn:nth-child(2) .ApImage img,
  .page-home > .block-7-home .ApColumn:nth-child(3) .ApImage img,
  .page-home > .block-7-home .ApColumn:nth-child(4) .ApImage img {
    position: static !important;
    height: 100px !important;
    width: auto !important;
    transform: none !important;
  }
}
.block-7-home .ApColumn:has(.ApImage) .ApImage {
  display: flex;
  align-items: center;
}
.block-7-home .ApColumn:has(.ApImage) .ApImage h4.title_block {
  position: relative;
  z-index: 2;
  font-size: 22px !important;
  width: 48%;
  margin: 0;
}
.block-7-home .ApColumn:has(.ApImage) .ApImage img {
  max-width: 50% !important;
  height: 180px !important;
  bottom: 50% !important;
  transform: translateY(50%);
}

/* Category banner */
.category-cover {
  width: 100%;
  height: 300px;
  overflow: hidden;
  border-radius: 0;
}
.category-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 767px) {
  .category-cover {
    height: 160px;
  }
}


.bottomnav {
  display: block !important;
}

/* ============================================================
   Blog listing — imagen arriba (rectángulo apaisado) + contenido debajo.
   Caja con aspect-ratio fijo + object-fit:cover para tolerar cualquier ratio.
   ============================================================ */
#module-leoblog-list .blog-item,
#module-leoblog-category .blog-item {
  padding: 24px !important;
}

@media (min-width: 992px) {
  #module-leoblog-list .blog-item,
  #module-leoblog-category .blog-item {
    padding: 30px !important;
  }
}

/* Stack vertical: imagen arriba, todo el contenido debajo */
#module-leoblog-list .blog-item > a,
#module-leoblog-category .blog-item > a {
  display: grid !important;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto 1fr auto;
  grid-template-areas:
    "image"
    "title"
    "meta"
    "content"
    "readmore";
  row-gap: 14px;
  align-items: start;
  width: 100%;
}

/* El container hace de "contents" para que sus hijos
   participen directamente del grid de <a>. */
#module-leoblog-list .blog-item .blog-image-container,
#module-leoblog-category .blog-item .blog-image-container {
  display: contents !important;
  background-image: none !important;
}

/* Imagen apaisada — ratio bien plano (alargado horizontal, baja altura).
   Si el cliente sube cualquier ratio, queda contenido en la caja. */
#module-leoblog-list .blog-item .blog-image,
#module-leoblog-category .blog-item .blog-image {
  grid-area: image;
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 1;
  overflow: hidden;
  border-radius: 12px;
  background: #f5f5f5;
  margin: 0 !important;
  align-self: start;
}

/* Cards pequeñas (.secondary-blog). */
#module-leoblog-list .secondary-blog .blog-item .blog-image,
#module-leoblog-category .secondary-blog .blog-item .blog-image {
  aspect-ratio: 5 / 2;
}

#module-leoblog-list .blog-item .blog-image img,
#module-leoblog-category .blog-item .blog-image img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover;
  object-position: center;
  display: block;
}

#module-leoblog-list .blog-item .title,
#module-leoblog-category .blog-item .title {
  grid-area: title;
  margin: 0 !important;
  max-width: 100% !important;
  font-size: 1.5rem !important;
  line-height: 1.25 !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (min-width: 992px) {
  #module-leoblog-list .leading-blog .blog-item .title,
  #module-leoblog-category .leading-blog .blog-item .title {
    font-size: 2rem !important;
  }
}

#module-leoblog-list .secondary-blog .blog-item .title,
#module-leoblog-category .secondary-blog .blog-item .title {
  font-size: 1.125rem !important;
  -webkit-line-clamp: 3;
}

#module-leoblog-list .blog-item .blog-info,
#module-leoblog-category .blog-item .blog-info,
#module-leoblog-list .blog-item .blog-shortinfo,
#module-leoblog-category .blog-item .blog-shortinfo {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#module-leoblog-list .blog-item .blog-meta,
#module-leoblog-category .blog-item .blog-meta {
  grid-area: meta;
  margin: 0 !important;
}

#module-leoblog-list .blog-item .blog-info,
#module-leoblog-category .blog-item .blog-info {
  grid-area: content;
  max-width: 100% !important;
  margin: 0;
}

#module-leoblog-list .blog-item .blog-info p,
#module-leoblog-category .blog-item .blog-info p {
  margin: 0;
}

#module-leoblog-list .blog-item .more,
#module-leoblog-category .blog-item .more {
  grid-area: readmore;
  justify-self: start;
  align-self: end;
  margin-top: 8px;
}

/* Fallback aspect-ratio (Safari < 15) — usa padding-bottom del ratio. */
@supports not (aspect-ratio: 3 / 1) {
  #module-leoblog-list .blog-item .blog-image,
  #module-leoblog-category .blog-item .blog-image {
    height: 0;
    padding-bottom: 33.33%; /* 3:1 */
  }
  #module-leoblog-list .secondary-blog .blog-item .blog-image,
  #module-leoblog-category .secondary-blog .blog-item .blog-image {
    padding-bottom: 40%; /* 5:2 */
  }
  #module-leoblog-list .blog-item .blog-image img,
  #module-leoblog-category .blog-item .blog-image img {
    position: absolute;
    inset: 0;
  }
}

/* Hide video section heading so video top aligns with first accordion */
.product-video-col .page-product-heading {
  display: none !important;
}

/* Cart & checkout CTAs: negro */
#cart .btn-primary,
#checkout .btn-primary,
#order .btn-primary,
#order-confirmation .btn-primary {
  background: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}
#cart .btn-primary:hover,
#checkout .btn-primary:hover,
#order .btn-primary:hover,
#order-confirmation .btn-primary:hover {
  background: #222222 !important;
  border-color: #222222 !important;
  color: #ffffff !important;
}

/* Desktop nav dropdown: category cards (name left, image right) */
@media (min-width: 992px) {
  .megamenu .dropdown-menu .nav-item[data-menu-type="category"] .nav-link {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 14px !important;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    margin-bottom: 6px;
    background: #fff;
    min-width: 220px;
    transition: background 0.15s, border-color 0.15s;
  }
  .megamenu .dropdown-menu .nav-item[data-menu-type="category"] .nav-link:hover {
    background: #f5f5f5 !important;
    border-color: #bbb;
  }
  .megamenu .dropdown-menu .nav-item[data-menu-type="category"] .menu-title {
    flex: 1;
    font-weight: 500;
    font-size: 14px;
    white-space: normal;
  }
  .megamenu .dropdown-menu .nav-item[data-menu-type="category"] .menu-img-category {
    width: 80px;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
    flex-shrink: 0;
    display: block !important;
  }
}

/* Home slider CTA: negro */
.ApButton.btn-primary {
  background: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}
.ApButton.btn-primary:hover {
  background: #222222 !important;
  border-color: #222222 !important;
  color: #ffffff !important;
}
