.elementor-11100 .elementor-element.elementor-element-7b03dd1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-11100 .elementor-element.elementor-element-ee74748{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11100 .elementor-element.elementor-element-b66032b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:32px;--padding-right:32px;}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-11100 .elementor-element.elementor-element-d28405c .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:600;color:var( --e-global-color-24da09b );}.elementor-11100 .elementor-element.elementor-element-7a5c506 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 8px 0px 8px;border-style:none;}.woocommerce .elementor-11100 .elementor-element.elementor-element-7a5c506 .woocommerce-product-gallery__trigger + .woocommerce-product-gallery__wrapper,
				.woocommerce .elementor-11100 .elementor-element.elementor-element-7a5c506 .flex-viewport, .woocommerce .elementor-11100 .elementor-element.elementor-element-7a5c506 .flex-control-thumbs img{border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-33037a7 );}.woocommerce .elementor-11100 .elementor-element.elementor-element-7a5c506 .woocommerce-product-gallery__trigger + .woocommerce-product-gallery__wrapper,
					.woocommerce .elementor-11100 .elementor-element.elementor-element-7a5c506 .flex-viewport{border-radius:4px 4px 4px 4px;}.woocommerce .elementor-11100 .elementor-element.elementor-element-7a5c506 .flex-viewport:not(:last-child){margin-bottom:12px;}.woocommerce .elementor-11100 .elementor-element.elementor-element-7a5c506 .flex-control-thumbs img{border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-33037a7 );border-radius:4px 4px 4px 4px;}.woocommerce .elementor-11100 .elementor-element.elementor-element-7a5c506 .flex-control-thumbs li{padding-right:calc(12px / 2);padding-left:calc(12px / 2);padding-bottom:12px;}.woocommerce .elementor-11100 .elementor-element.elementor-element-7a5c506 .flex-control-thumbs{margin-right:calc(-12px / 2);margin-left:calc(-12px / 2);}.elementor-11100 .elementor-element.elementor-element-99575d8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;border-style:none;--border-style:none;--border-radius:4px 4px 4px 4px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;}.elementor-11100 .elementor-element.elementor-element-99575d8:not(.elementor-motion-effects-element-type-background), .elementor-11100 .elementor-element.elementor-element-99575d8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EFEFEFA3;}.elementor-11100 .elementor-element.elementor-element-2222561{--display:flex;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11100 .elementor-element.elementor-element-d377076 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11100 .elementor-element.elementor-element-d377076 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:2em;font-weight:600;color:var( --e-global-color-24da09b );}.elementor-11100 .elementor-element.elementor-element-e6f75dd > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11100 .elementor-element.elementor-element-78d2487 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11100 .elementor-element.elementor-element-b294b56{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-11100 .elementor-element.elementor-element-34862a7 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:8px 8px 8px 8px;}.elementor-11100 .elementor-element.elementor-element-34862a7 .cart button, .elementor-11100 .elementor-element.elementor-element-34862a7 .cart .button{transition:all 0.2s;}.elementor-11100 .elementor-element.elementor-element-34862a7 .quantity .qty{transition:all 0.2s;}.woocommerce .elementor-11100 .elementor-element.elementor-element-34862a7 form.cart table.variations label{color:var( --e-global-color-24da09b );text-transform:uppercase;}.elementor-widget-woocommerce-product-meta .product_meta .detail-container:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-11100 .elementor-element.elementor-element-21ff72f .elementor-button{background-color:var( --e-global-color-24da09b );font-family:"Montserrat", Sans-serif;font-weight:800;}.elementor-11100 .elementor-element.elementor-element-b6aff3b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-woocommerce-product-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-11100 .elementor-element.elementor-element-0634c83 > .elementor-widget-container{margin:24px 0px 0px 0px;}.elementor-11100 .elementor-element.elementor-element-0634c83{font-family:"Montserrat", Sans-serif;font-weight:400;}.elementor-11100 .elementor-element.elementor-element-e6a6280 > .elementor-widget-container{margin:24px 0px 0px 0px;}@media(min-width:768px){.elementor-11100 .elementor-element.elementor-element-b66032b{--width:50%;}.elementor-11100 .elementor-element.elementor-element-99575d8{--width:50%;}}@media(max-width:1024px){.elementor-11100 .elementor-element.elementor-element-7b03dd1{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}}@media(max-width:767px){.elementor-11100 .elementor-element.elementor-element-7b03dd1{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:24px;--padding-bottom:24px;--padding-left:23px;--padding-right:24px;}.elementor-11100 .elementor-element.elementor-element-d28405c{text-align:center;}.elementor-11100 .elementor-element.elementor-element-d28405c .elementor-heading-title{font-size:1.8em;}.elementor-11100 .elementor-element.elementor-element-99575d8{--border-radius:8px 8px 8px 8px;}}/* Start custom CSS for woocommerce-product-short-description, class: .elementor-element-78d2487 */.product-support {
  display: grid;
  grid-template-columns: 1fr; /* Mobile */
  gap: 10px;
}

.support-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.support-item img {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.support-item a {
  line-height: 1.3;
  word-break: break-word;
  text-decoration: none;
}

/* Tablet: 2 columnas */
@media (min-width: 640px) {
  .product-support {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Desktop: 4 columnas */
@media (min-width: 1024px) {
  .product-support {
    grid-template-columns: repeat(4, 1fr);
  }
}/* End custom CSS */
/* Start custom CSS *//************************************************************
 * FIX ROBUSTO: FRAME + FLEX CENTER (SIN RECORTE)
 * - Funciona con imágenes horizontales/verticales
 * - No depende de height:100% en img (evita romper Flexslider)
 * - Evita “slide en blanco” al cambiar thumbnails
 ************************************************************/

.woocommerce div.product div.images {
  --wc_gallery_ratio: 1 / 1; /* Cambia aquí: 4/3, 3/4, 16/9, etc. */
}

/* Frame estable tanto con slider como sin slider */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
  aspect-ratio: var(--wc_gallery_ratio);
  width: 100%;
  overflow: hidden;
  background: transparent !important;
}

/* El wrapper del slide debe tener alto (heredado del frame) */
.woocommerce div.product div.images .woocommerce-product-gallery__image > a,
.woocommerce div.product div.images .woocommerce-product-gallery__image figure {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
  background: transparent !important;
}

/* Imagen: “contain” real sin deformar y sin recortar */
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain;
  object-position: center;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Flexslider: no fuerces height en img; solo aseguras que no colapse */
.woocommerce div.product div.images .flex-viewport {
  overflow: hidden;
}

/* Thumbnails: conservador */
.woocommerce-product-gallery .flex-control-thumbs img {
  max-width: 100%;
  height: auto;
  display: block;
  opacity: 1 !important;
  visibility: visible !important;
}

.woocommerce div.product div.images img.zoomImg { 
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .woocommerce div.product div.images .woocommerce-product-gallery__image:hover img.zoomImg {
    opacity: 1 !important;
  }
}

/* ===========================
   FIX: evitar empalme por zoom
   =========================== */

/* WooCommerce zoom (imagen inyectada encima) */
.woocommerce div.product div.images img.zoomImg,
.woocommerce div.product div.images .woocommerce-product-gallery__image img.zoomImg {
  display: none !important;
}

/* Algunos themes/plugins usan contenedores extra de zoom */
.zoomWindowContainer,
.zoomContainer {
  display: none !important;
}

/************************************************************
 * 1) VARIACIONES: TABLA → BLOQUES (RADIOS / SWATCHES)
 ************************************************************/

/* Table rows como bloques (mejor UX en Elementor) */
.woocommerce div.product form.variations_form table.variations tr {
  display: block;
}

/* Ajuste de padding de celdas */
.woocommerce div.product form.variations_form table td {
  padding: 12px;
}

/* Label + Value en columnas verticales */
.woocommerce div.product form.variations_form table.variations th.label,
.woocommerce div.product form.variations_form table.variations td.value {
  display: block;
  width: 100%;
}

.woocommerce div.product form.variations_form table.variations th.label {
  text-align: left;
  margin: 0 0 8px 0;
  padding: 0 12px !important;
}


/************************************************************
 * 2) VARIACIONES: RADIOS
 ************************************************************/

.wc-variation-radios {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
}

.wc-variation-radio {
  display: flex;
  align-items: center;
  gap: 4px;
  border: 0px solid #e5e7eb;
  border-radius: 10px;
  padding: 4px 4px;
  cursor: pointer;
  user-select: none;
}

.wc-variation-radio input[type="radio"] {
  flex: 0 0 auto;
  transform: scale(1.4);
  margin: 0;
}

.wc-variation-radio span {
  font-weight: normal;
}

.wc-variation-radio .vr-description {
  font-size: 14px;
  color: #666;
  line-height: 1.4;
}

.single_variation_wrap {
    display: none;
}

/************************************************************
 * 3) VARIACIONES: MOSAIC (COLOR SWATCHES)
 ************************************************************/

.wc-color-swatches {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 8px;
  margin-bottom: 12px;
}

.wc-color-swatch {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  cursor: pointer;
  border: 2px solid #ddd;
  box-sizing: border-box;
}

.wc-color-swatch.active {
  border-color: #000;
}

/* Cuando el color es blanco, que se note */
.wc-color-swatch[style*="#ffffff"],
.wc-color-swatch[style*="#fff"] {
  border: 1px solid #999;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1023px) {
  .wc-color-swatches {
    grid-template-columns: repeat(6, 1fr);
  }
}

/* Mobile */
@media (max-width: 767px) {
  .wc-color-swatches {
    grid-template-columns: repeat(4, 1fr);
  }
}

form.variations_form .wc-color-swatches {
  margin-top: 8px;
}


/************************************************************
 * 4) ICONOS EN PRODUCTO (SINGLE)
 ************************************************************/

.wc-product-icons--single {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 14px;
}

.wc-product-icon {
  display: inline-flex;
  align-items: center;
  padding: 4px;
}

.wc-product-icon img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  display: block;
}


/************************************************************
 * 5) DOWNLOADS (PRODUCT SUPPORT DOWNLOADS)
 ************************************************************/

.psd__title {
  font-size: 1.8rem;
  line-height: 1.6;
  margin: 0 0 18px;
  font-weight: 700;
}

.psd__grid {
  display: grid;
  gap: 12px 16px;
  align-items: start;
}

.psd__grid--cols-2 {
  grid-template-columns: repeat(2, minmax(240px, 1fr));
}

.psd__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: underline;
  font-size: 1rem;
  line-height: 1.2;
}

.psd__item:hover .psd__label {
  text-decoration: underline;
}

.psd__icon {
  width: 32px;
  height: 32px;
  flex: 0 0 34px;
  display: block;
}

.psd__label {
  word-break: break-word;
}

/* Desktop ≥ 1024px → 4 columnas */
@media (min-width: 1024px) {
  .psd__grid {
    grid-template-columns: repeat(4, minmax(200px, 1fr));
  }
}

/* Tablet 768px – 1023px → 2 columnas */
@media (min-width: 768px) and (max-width: 1023px) {
  .psd__grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

/* Mobile < 768px → 1 columna */
@media (max-width: 767px) {
  .psd__grid {
    grid-template-columns: 1fr;
  }
}


/************************************************************
 * 6) WARNINGS (ALERT)
 ************************************************************/

.wc-alert-warning {
  background: #fff7ed;
  border-left: 4px solid #f59e0b;
  padding: 12px 14px;
  font-size: 14px;
  margin: 10px 0;
}


/************************************************************
 * 7) CROSS SELLS / RELATED CARDS
 ************************************************************/

.pcs {
  margin: 24px 0;
}

.pcs__title {
  text-align: center;
  font-weight: 700;
  margin: 0 0 18px;
}

.pcs__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  height: auto;
  max-height: none;
  overflow: visible;
}

.pcs__grid--cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.pcs__grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pcs__grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pcs__grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pcs__grid--cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pcs__grid--cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.pcs__card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 4px;
  padding: 14px 14px 16px;
  text-align: center;
}

.pcs__media-wrap {
  display: block;
}

.pcs__media {
  width: 100% !important;
  height: 180px !important;
  min-height: 180px !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
}

.pcs__name {
  margin: 10px 0 12px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.pcs__name a {
  color: inherit;
  text-decoration: none;
}

.pcs__btn {
  display: inline-block;
  background: #000;
  color: #fff !important;
  padding: 8px 14px;
  border-radius: 2px;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
}

.pcs__btn:hover {
  opacity: .9;
  color: #fff !important;
}

/* Responsive cross sells */
@media (max-width: 1024px) {
  .pcs__grid--cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pcs__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .pcs__grid--cols-4,
  .pcs__grid--cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .pcs__grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .pcs__grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }
}


/************************************************************
 * 8) GALERÍA DINÁMICA POR VARIANTE: LOADING OVERLAY
 ************************************************************/

.woocommerce-product-gallery.is-loading {
  position: relative;
  pointer-events: none;
}

.woocommerce-product-gallery.is-loading::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, .6);
  z-index: 5;
}

.woocommerce-product-gallery.is-loading::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 32px;
  margin: -16px 0 0 -16px;
  border: 3px solid #ccc;
  border-top-color: #000;
  border-radius: 50%;
  animation: tim-spin .8s linear infinite;
  z-index: 6;
}

@keyframes tim-spin {
  to { transform: rotate(360deg); }
}


/***********************
Sealer Coverage Calculator
***********************/

.btn-leveling-systems-calculator, .btn-sealer-coverage-calculator{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 22px;
    background:#000;
    color:#fff !important;
    font-size: 14px;
    font-family: "Montserrat", Sans-serif;
    font-weight: 800;
    border-radius:4px;
    text-decoration:none;
    border:1px solid #000;
    cursor:pointer;
    user-select:none;
    white-space:nowrap;
    
    /* Importante para responsive */
    white-space:normal;          /* permite saltos de línea */
    text-align:center;
    overflow-wrap:anywhere;      /* evita desbordes por palabras largas */
  }
  .btn-leveling-systems-calculator:hover, .btn-sealer-coverage-calculator:hover{ filter:brightness(1.08); }
  .btn-leveling-systems-calculator:active, .btn-sealer-coverage-calculator:active{ transform:translateY(1px); }
  .btn-leveling-systems-calculator:focus-visible, .btn-sealer-coverage-calculator:focus-visible{
    outline:2px solid #000;
    outline-offset:3px;
  }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://boe-companies.com/wp-content/uploads/2024/03/Montserrat-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: normal;
	font-display: auto;
	src: url('https://boe-companies.com/wp-content/uploads/2024/03/Montserrat-Italic.ttf') format('truetype');
}
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://boe-companies.com/wp-content/uploads/2024/03/Montserrat-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: bold;
	font-display: auto;
	src: url('https://boe-companies.com/wp-content/uploads/2024/03/Montserrat-BoldItalic.ttf') format('truetype');
}
/* End Custom Fonts CSS */