/* ============================================================
   24x7 Seguridad — capa de identidad
   Se carga después de Divi y del tema hijo. No modifica el tema.
   ============================================================ */

:root {
  /* Superficies */
  --x-surface:  #FFFFFF;
  --x-mist:     #F4F6F8;   /* alternancia de secciones, gris frío */
  --x-line:     #DFE3E8;   /* filetes */

  /* Texto */
  --x-ink:      #14181C;   /* negro con matiz azulado, como la carcasa de un equipo */
  --x-slate:    #5A6673;   /* secundario */

  /* Acción */
  --x-orange:   #E14A01;   /* extraído del logo */
  --x-orange-d: #B93B00;   /* hover */

  /* Estado (vocabulario de LED de equipo) */
  --x-live:     #12A150;   /* disponible */
  --x-wait:     #C77700;   /* bajo pedido */
  --x-off:      #98A2AE;   /* agotado */

  /* Tipografía */
  --x-display: 'Archivo Narrow', 'Helvetica Neue', Arial, sans-serif;
  --x-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;

  /* Ritmo */
  --x-r: 2px;              /* radio: casi recto, es ferretería técnica */
}

/* ---------- Base tipográfica ---------- */

body,
body.et_pb_button_helper_class,
.et_pb_module,
input, select, textarea, button {
  font-family: var(--x-body);
  color: var(--x-ink);
  -webkit-font-smoothing: antialiased;
}

body { font-size: 16px; line-height: 1.6; }

h1, h2, h3, h4, h5, h6,
.et_pb_module h1, .et_pb_module h2, .et_pb_module h3,
.et_pb_module h4, .et_pb_module h5, .et_pb_module h6,
.woocommerce-loop-product__title,
.product_title,
.woocommerce-Tabs-panel h2,
.related > h2, .upsells > h2, .cross-sells > h2 {
  font-family: var(--x-display);
  font-weight: 700;
  color: var(--x-ink);
  letter-spacing: .005em;
  line-height: 1.15;
}

h1, .product_title { font-size: clamp(1.85rem, 3.4vw, 2.7rem); }
h2 { font-size: clamp(1.5rem, 2.6vw, 2.05rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.45rem); }

/* Rótulo de sección: encima del título, no decorativo — dice de qué va */
.x-eyebrow {
  font-family: var(--x-body);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--x-orange);
  display: block;
  margin-bottom: .55em;
}

/* ---------- Cifras: siempre tabulares ----------
   Con 7.408 precios en rejilla, las cifras deben alinear en columna. */

.woocommerce-Price-amount,
.price, .amount, .quantity input,
td.product-total, td.product-subtotal,
.order-total .amount, .sku, .x-num {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* ---------- Botones ---------- */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.et_pb_button,
body #page-container .et_pb_button {
  font-family: var(--x-body);
  font-weight: 600;
  font-size: .95rem;
  letter-spacing: .01em;
  text-transform: none;
  background-color: var(--x-orange);
  color: #fff;
  border: 1px solid var(--x-orange);
  border-radius: var(--x-r);
  padding: .78em 1.5em;
  transition: background-color .16s ease, border-color .16s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
body #page-container .et_pb_button:hover {
  background-color: var(--x-orange-d);
  border-color: var(--x-orange-d);
  color: #fff;
}

/* Divi añade una flecha en hover: fuera, aquí estorba */
body #page-container .et_pb_button:after { display: none; }
body #page-container .et_pb_button:hover { padding: .78em 1.5em; }

/* Secundario */
.x-btn-ghost,
.woocommerce a.button.wc-backward {
  background: transparent;
  color: var(--x-ink);
  border: 1px solid var(--x-line);
}
.x-btn-ghost:hover,
.woocommerce a.button.wc-backward:hover {
  background: var(--x-mist);
  border-color: var(--x-ink);
  color: var(--x-ink);
}

/* ---------- Tarjeta de producto ----------
   Sin sombra y con filete: instrumento, no mueble. */

.woocommerce ul.products li.product {
  background: var(--x-surface);
  border: 1px solid var(--x-line);
  border-radius: var(--x-r);
  padding: 14px 14px 18px;
  box-shadow: none;
  transition: border-color .16s ease;
}
.woocommerce ul.products li.product:hover {
  border-color: var(--x-ink);
  box-shadow: none;
}

.woocommerce ul.products li.product a img {
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 12px;
  mix-blend-mode: multiply;   /* las fotos de Visiotech vienen sobre blanco */
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--x-body);
  font-size: .92rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--x-ink);
  padding: 0 0 .4em;
  min-height: 3.9em;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.woocommerce ul.products li.product .price {
  font-family: var(--x-display);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--x-ink);
}
.woocommerce ul.products li.product .price del { opacity: .45; font-size: .78em; font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

/* Sufijo "IVA incl." discreto */
.woocommerce .price small.woocommerce-price-suffix,
.woocommerce .price .woocommerce-price-suffix {
  font-family: var(--x-body);
  font-size: .68rem;
  font-weight: 400;
  color: var(--x-slate);
  letter-spacing: .02em;
  display: block;
  margin-top: .15em;
}

/* ---------- FIRMA: indicador de estado ----------
   Cada equipo de seguridad tiene un LED de estado. El catálogo también. */

.woocommerce .stock,
.woocommerce div.product .stock {
  font-family: var(--x-body);
  font-size: .84rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: .5em;
  padding: 0;
  margin: .6em 0;
}

.woocommerce .stock:before {
  content: "";
  width: 8px; height: 8px;
  border-radius: 50%;
  flex: 0 0 8px;
  background: currentColor;
  box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 18%, transparent);
}

.woocommerce .stock.in-stock              { color: var(--x-live); }
.woocommerce .stock.out-of-stock          { color: var(--x-off);  }
.woocommerce .stock.available-on-backorder{ color: var(--x-wait); }

/* ---------- Ficha de producto ---------- */

.woocommerce div.product .product_title { margin-bottom: .3em; }

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--x-display);
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--x-ink);
  margin: .1em 0 .5em;
}

.woocommerce div.product .woocommerce-product-details__short-description ul {
  list-style: none;
  padding-left: 0;
  margin: 1em 0;
}
.woocommerce div.product .woocommerce-product-details__short-description li {
  position: relative;
  padding-left: 1.15em;
  margin-bottom: .35em;
  color: var(--x-slate);
}
.woocommerce div.product .woocommerce-product-details__short-description li:before {
  content: "";
  position: absolute;
  left: 0; top: .62em;
  width: 5px; height: 1px;
  background: var(--x-orange);
}

.woocommerce div.product .product_meta {
  font-size: .82rem;
  color: var(--x-slate);
  border-top: 1px solid var(--x-line);
  padding-top: 1em;
  margin-top: 1.4em;
}
.woocommerce div.product .product_meta .sku { color: var(--x-ink); font-weight: 500; }

/* Aviso de packs (mu-plugin de múltiplos) */
.x247-multiplo {
  background: var(--x-mist);
  border-left: 3px solid var(--x-wait);
  padding: .7em .9em !important;
  border-radius: var(--x-r);
  color: var(--x-ink);
}

/* Pestañas */
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; border-bottom: 1px solid var(--x-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs:before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0 1.6em 0 0;
  padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li:after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--x-body);
  font-weight: 600;
  font-size: .92rem;
  color: var(--x-slate);
  padding: .8em 0;
  display: block;
  border-bottom: 2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--x-ink);
  border-bottom-color: var(--x-orange);
}

/* Tabla de especificaciones del feed */
.woocommerce-Tabs-panel table,
table.specs {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
}
.woocommerce-Tabs-panel table td,
table.specs td {
  padding: .62em .8em;
  border-bottom: 1px solid var(--x-line);
  vertical-align: top;
}
.woocommerce-Tabs-panel table tr:nth-child(odd) td,
table.specs tr:nth-child(odd) td { background: var(--x-mist); }
.woocommerce-Tabs-panel table td:first-child,
table.specs td:first-child { width: 34%; color: var(--x-slate); }

/* ---------- Navegación y filtros ---------- */

.woocommerce .woocommerce-breadcrumb {
  font-size: .82rem;
  color: var(--x-slate);
  margin-bottom: 1.4em;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--x-slate); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--x-orange); }

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select {
  font-size: .86rem;
  color: var(--x-slate);
}

.widget_layered_nav ul li,
.widget_product_categories ul li {
  border-bottom: 1px solid var(--x-line);
  padding: .55em 0;
  list-style: none;
}
.widget_layered_nav ul li a,
.widget_product_categories ul li a { color: var(--x-ink); font-size: .9rem; }
.widget_layered_nav ul li a:hover,
.widget_product_categories ul li a:hover { color: var(--x-orange); }

.woocommerce .widget_price_filter .ui-slider .ui-slider-range { background: var(--x-orange); }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background: var(--x-ink); border-radius: 50%; }
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content { background: var(--x-line); }

/* ---------- Formularios ---------- */

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity input.qty,
input[type=text], input[type=email], input[type=tel],
input[type=password], input[type=search], select, textarea {
  border: 1px solid var(--x-line);
  border-radius: var(--x-r);
  padding: .68em .8em;
  font-size: .95rem;
  background: var(--x-surface);
  color: var(--x-ink);
}
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--x-ink);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--x-orange) 22%, transparent);
}

/* Foco visible por teclado, en todo */
a:focus-visible, button:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--x-orange);
  outline-offset: 2px;
}

/* ---------- Avisos ---------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top: 0;
  border-left: 3px solid var(--x-orange);
  background: var(--x-mist);
  border-radius: var(--x-r);
  color: var(--x-ink);
  font-size: .92rem;
}
.woocommerce-message:before,
.woocommerce-info:before,
.woocommerce-error:before { color: var(--x-orange); }
.woocommerce-message { border-left-color: var(--x-live); }
.woocommerce-message:before { color: var(--x-live); }
.woocommerce-error { border-left-color: #C0392B; }
.woocommerce-error:before { color: #C0392B; }

/* ---------- Cabecera clara ---------- */

#main-header { box-shadow: none; border-bottom: 1px solid var(--x-line); }
#top-header { background: var(--x-ink); font-size: .82rem; }
#top-header a, #top-header .et-social-icon a { color: #C9D1DA; }
#top-header a:hover { color: #fff; }

#top-menu li a,
.mega-menu .mega-menu-item > a.mega-menu-link {
  font-family: var(--x-body) !important;
  font-weight: 600 !important;
  font-size: .95rem !important;
  color: var(--x-ink) !important;
}
#top-menu li a:hover,
.mega-menu .mega-menu-item > a.mega-menu-link:hover { color: var(--x-orange) !important; }

/* Megamenú: encabezados de columna en la display, enlaces legibles */
.mega-menu .mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
  font-family: var(--x-display) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
  color: var(--x-ink) !important;
  border-bottom: 1px solid var(--x-line);
  padding-bottom: .5em !important;
  margin-bottom: .35em !important;
}
.mega-menu .mega-sub-menu .mega-sub-menu a.mega-menu-link {
  font-family: var(--x-body) !important;
  font-size: .875rem !important;
  font-weight: 400 !important;
  color: var(--x-slate) !important;
  padding: .3em 0 !important;
}
.mega-menu .mega-sub-menu .mega-sub-menu a.mega-menu-link:hover { color: var(--x-orange) !important; }

/* ---------- Pie ---------- */

#main-footer { background: var(--x-ink); }
#footer-widgets .footer-widget,
#footer-widgets .footer-widget li a,
#footer-info, #footer-info a { color: #AEB8C4; }
#footer-widgets h4.title { font-family: var(--x-display); color: #fff; font-weight: 700; }
#footer-widgets .footer-widget li a:hover, #footer-info a:hover { color: #fff; }
#footer-bottom { background: #0D1114; }

/* ---------- Movilidad y accesibilidad ---------- */

@media (max-width: 980px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 0; }
  .woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 1.6rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after {
    animation-duration: .001ms !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* Ocultar el titulo cuando el facet no tiene valores */
.f-titulo:has(+ .facetwp-facet:empty) { display: none; }
.f-titulo:has(+ .facetwp-facet.facetwp-hidden) { display: none; }

.f-titulo:has(+ .facetwp-facet:not(:has(.facetwp-checkbox))) { display: none; }

.f-titulo:has(+ p:empty + .facetwp-facet:not(:has(.facetwp-checkbox))) { display: none; }
.f-titulo + p:empty { display: none; }
@font-face {
  font-family: 'Archivo Narrow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/ArchivoNarrow-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo Narrow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/ArchivoNarrow-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo Narrow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/ArchivoNarrow-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo Narrow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/ArchivoNarrow-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/Inter-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/Inter-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/Inter-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/Inter-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/Inter-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/Inter-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ============================================================
   Inter variable (300-900) — sustituye a los pesos estaticos
   y suplanta a Poppins mediante alias de familia.
   ============================================================ */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(../fonts/Inter-var-latin.woff2) format('woff2-variations');
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(../fonts/Inter-var-latin.woff2) format('woff2-variations');
}

/* Categorias en movil: rejilla 2x5 en vez de 10 pantallazos */
@media (max-width: 980px) {
  .et_pb_row:has(> .et_pb_column_1_5) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
  .et_pb_row:has(> .et_pb_column_1_5) > .et_pb_column {
    display: contents;
  }
  .et_pb_row:has(> .et_pb_column_1_5) .et_pb_blurb {
    margin: 0 !important;
    padding: 14px 8px;
    border: 1px solid var(--x-line);
    border-radius: var(--x-r);
  }
  .et_pb_row:has(> .et_pb_column_1_5) .et_pb_main_blurb_image img {
    max-width: 88px;
    height: auto;
    margin: 0 auto;
  }
  .et_pb_row:has(> .et_pb_column_1_5) .et_pb_module_header {
    font-size: .88rem !important;
    line-height: 1.25;
    margin-top: .5em;
  }
}

/* Slider: mostrar la imagen de producto tambien en movil */
@media (max-width: 980px) {
  .et_pb_slider .et_pb_slide_image,
  .et_pb_fullwidth_slider .et_pb_slide_image {
    display: block !important;
    opacity: 1 !important;
    position: relative !important;
    margin: 0 auto 18px !important;
    max-width: 62%;
    transform: none !important;
    animation: none !important;
  }
  .et_pb_slider .et_pb_slide_image img { width: 100%; height: auto; }
  .et_pb_slide .et_pb_slide_description { padding-top: 0 !important; }
}

/* Slider: mostrar la imagen de producto tambien en movil */
@media (max-width: 980px) {
  .et_pb_slider .et_pb_slide_image,
  .et_pb_fullwidth_slider .et_pb_slide_image {
    display: block !important;
    opacity: 1 !important;
    position: relative !important;
    margin: 0 auto 18px !important;
    max-width: 62%;
    transform: none !important;
    animation: none !important;
  }
  .et_pb_slider .et_pb_slide_image img { width: 100%; height: auto; }
  .et_pb_slide .et_pb_slide_description { padding-top: 0 !important; }
}

/* Categorias: toda la tarjeta pulsable, no solo icono y titulo */
.et_pb_blurb:has(.et_pb_module_header a) { position: relative; }
.et_pb_blurb:has(.et_pb_module_header a) .et_pb_module_header a:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
}
.et_pb_blurb:has(.et_pb_module_header a):hover {
  border-color: var(--x-orange) !important;
}
.et_pb_blurb .et_pb_module_header a { color: var(--x-ink); text-decoration: none; }
/* Cabecera: bloque de telefono sin partir el numero */
.dmm-tooltip,
#main-header .et_pb_blurb,
.et-l--header .et_pb_blurb {
  white-space: nowrap;
}
.et-l--header .et_pb_blurb .et_pb_blurb_description,
.et-l--header .et_pb_blurb .et_pb_module_header {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
}

@media (max-width: 1200px) and (min-width: 981px) {
  .et-l--header .et_pb_blurb .et_pb_module_header { font-size: .88rem !important; }
  .et-l--header .et_pb_blurb .et_pb_blurb_description { font-size: .85rem !important; }
  .et-l--header .et_pb_blurb .et_pb_main_blurb_image { margin-right: .5em !important; }
}

/* Pie: tipografia unificada y texto legible sobre fondo oscuro */
.et-l--footer,
.et-l--footer p,
.et-l--footer li,
.et-l--footer a,
.et-l--footer span,
.et-l--footer .et_pb_blurb_description,
.et-l--footer .et_pb_blurb_description p,
.et-l--footer .et_pb_text_inner,
.et-l--footer .et_pb_menu ul li a {
  font-family: var(--x-body) !important;
  font-size: .92rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: #C9D1DA !important;
  letter-spacing: 0 !important;
}

.et-l--footer a:hover,
.et-l--footer .et_pb_menu ul li a:hover { color: #fff !important; }

/* Titulos de columna */
.et-l--footer h1, .et-l--footer h2, .et-l--footer h3,
.et-l--footer h4, .et-l--footer h5, .et-l--footer h6 {
  font-family: var(--x-display) !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: .02em;
}

/* Bloques de contacto: iconos y texto alineados y visibles */
.et-l--footer .et_pb_blurb .et_pb_module_header,
.et-l--footer .et_pb_blurb .et_pb_module_header a {
  font-family: var(--x-body) !important;
  font-size: .92rem !important;
  font-weight: 400 !important;
  color: #C9D1DA !important;
}
.et-l--footer .et_pb_blurb { margin-bottom: .6em !important; }

/* Pie: todo a 14px y blanco */
.et-l--footer,
.et-l--footer p,
.et-l--footer li,
.et-l--footer a,
.et-l--footer span,
.et-l--footer .et_pb_blurb_description,
.et-l--footer .et_pb_blurb_description p,
.et-l--footer .et_pb_text_inner,
.et-l--footer .et_pb_menu ul li a,
.et-l--footer .et_pb_blurb .et_pb_module_header,
.et-l--footer .et_pb_blurb .et_pb_module_header a,
.et-l--footer h1, .et-l--footer h2, .et-l--footer h3,
.et-l--footer h4, .et-l--footer h5, .et-l--footer h6 {
  font-family: var(--x-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
  color: #FFFFFF !important;
}

.et-l--footer a:hover,
.et-l--footer .et_pb_menu ul li a:hover { color: var(--x-orange) !important; }

/* ============================================================
   Paginas de contenido: enlaces de marca y jerarquia visual
   ============================================================ */

.page .entry-content a:not(.button):not(.et_pb_button),
#main-content .post-content a:not(.button):not(.et_pb_button) {
  color: var(--x-orange);
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--x-orange) 35%, transparent);
  transition: border-color .15s ease, color .15s ease;
}
.page .entry-content a:not(.button):hover,
#main-content .post-content a:not(.button):hover {
  color: var(--x-orange-d);
  border-bottom-color: var(--x-orange-d);
}

/* Los titulos que son enlace NO llevan el subrayado de marca */
.page .entry-content :is(h1,h2,h3,h4,h5,h6) a,
#main-content .post-content :is(h1,h2,h3,h4,h5,h6) a,
#main-content .et_pb_slide_title a,
#main-content .et_pb_slide_title a:hover,
#main-content .et-pb-arrow-prev,
#main-content .et-pb-arrow-next,
#main-content .et-pb-arrow-prev:hover,
#main-content .et-pb-arrow-next:hover,
#main-content .et-pb-controllers a,
#main-content .et_pb_slider a:not(.et_pb_button),
#main-content .et_pb_module .et_pb_image_wrap a {
  border-bottom: 0 !important;
}

/* Ancho de lectura y respiracion */
.page:not(.et_pb_pagebuilder_layout) #main-content .entry-content {
  max-width: 760px;
  margin: 0 auto;
  padding: 2.5em 1.5em 3.5em;
}

/* Titular con filete de marca */
.page #main-content .entry-title,
.page:not(.et_pb_pagebuilder_layout) #main-content .entry-content > h2:first-of-type {
  position: relative;
  padding-bottom: .45em;
  margin-bottom: .8em;
}
.page:not(.et_pb_pagebuilder_layout) #main-content .entry-content > h2:first-of-type:after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 56px; height: 3px;
  background: var(--x-orange);
}

/* Encabezados de seccion con marca lateral */
.page:not(.et_pb_pagebuilder_layout) #main-content .entry-content h3 {
  position: relative;
  padding-left: .75em;
  margin-top: 2em;
  margin-bottom: .5em;
}
.page:not(.et_pb_pagebuilder_layout) #main-content .entry-content h3:before {
  content: "";
  position: absolute;
  left: 0; top: .18em; bottom: .18em;
  width: 3px;
  background: var(--x-orange);
}

/* Listas con vinetas de marca */
.page:not(.et_pb_pagebuilder_layout) #main-content .entry-content ul { list-style: none; padding-left: 0; }
.page:not(.et_pb_pagebuilder_layout) #main-content .entry-content ul li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: .55em;
}
.page:not(.et_pb_pagebuilder_layout) #main-content .entry-content ul li:before {
  content: "";
  position: absolute;
  left: .25em; top: .62em;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--x-orange);
}

/* Bloque de datos identificativos: tarjeta destacada */
.page:not(.et_pb_pagebuilder_layout) #main-content .entry-content h3 + p + ul,
.page:not(.et_pb_pagebuilder_layout) #main-content .entry-content .x-datos {
  background: var(--x-mist);
  border-left: 3px solid var(--x-orange);
  border-radius: var(--x-r);
  padding: 1.2em 1.4em;
}

.page:not(.et_pb_pagebuilder_layout) #main-content .entry-content p { margin-bottom: 1em; }


/* ============================================================
   CATALOGO — bloque unico. No añadir reglas de ul.products fuera de aqui.
   Solo afecta a archivos de producto y al shortcode x7_productos.
   Los modulos et_pb_shop de la home conservan el maquetado de Divi.
   ============================================================ */

body.tax-product_cat ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
  gap: 18px !important;
  margin: 0 0 2em !important;
  padding: 0 !important;
  list-style: none !important;
}

body.tax-product_cat ul.products:before,
body.tax-product_cat ul.products:after,
body.post-type-archive-product ul.products:before,
body.post-type-archive-product ul.products:after { display: none !important; }

body.tax-product_cat ul.products li.product,
body.post-type-archive-product ul.products li.product {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  display: flex !important;
  flex-direction: column;
  box-sizing: border-box;
}

body.tax-product_cat ul.products li.product a img,
body.post-type-archive-product ul.products li.product a img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  width: 100%;
  height: auto;
  margin-bottom: 10px;
}

body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.8em;
  max-height: 2.8em;
  overflow-wrap: break-word;
}

body.tax-product_cat ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price { margin-top: auto; }

body.tax-product_cat ul.products li.product a.button,
body.tax-product_cat ul.products li.product a.added_to_cart,
body.post-type-archive-product ul.products li.product a.button {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-top: .7em;
  padding: .7em .5em;
  font-size: .82rem;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
}

@media (max-width: 767px) {
  body.tax-product_cat ul.products,
  body.post-type-archive-product ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  body.tax-product_cat ul.products li.product { padding: 8px 8px 12px; }
  body.tax-product_cat ul.products li.product .woocommerce-loop-product__title { font-size: .82rem; }
  body.tax-product_cat ul.products li.product .price { font-size: 1.05rem; }
  body.tax-product_cat ul.products li.product a.button { font-size: .76rem; padding: .65em .35em; }
}

/* Categorias: titulos sin partir palabras */
.et_pb_blurb .et_pb_module_header {
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
}

@media (min-width: 981px) {
  .et_pb_row:has(> .et_pb_column_1_5) .et_pb_module_header {
    font-size: .9rem !important;
    line-height: 1.3;
  }
}


/* ============================================================
   MODULOS et_pb_shop (home) — mismo maquetado que el catalogo.
   Bloque unico: no añadir mas reglas de et_pb_shop fuera de aqui.
   ============================================================ */

html body .et_pb_shop ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body .et_pb_shop ul.products:before,
html body .et_pb_shop ul.products:after { display: none !important; }

html body .et_pb_shop ul.products li.product {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 14px 14px 18px !important;
  float: none !important;
  clear: none !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  border: 1px solid var(--x-line);
  border-radius: var(--x-r);
  background: var(--x-surface);
}

html body .et_pb_shop ul.products li.product a img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  margin-bottom: 10px !important;
}

html body .et_pb_shop ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--x-body) !important;
  font-size: .9rem !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em;
  padding: 0 !important;
}

html body .et_pb_shop ul.products li.product .price {
  margin-top: auto !important;
  font-size: 1.15rem !important;
  white-space: nowrap;
}

html body .et_pb_shop ul.products li.product a.button,
html body .et_pb_shop ul.products li.product a.added_to_cart {
  position: static !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-top: .7em !important;
  padding: .7em .5em !important;
  font-size: .82rem !important;
  line-height: 1.25 !important;
  text-align: center !important;
  white-space: normal !important;
  opacity: 1 !important;
  transform: none !important;
}

@media (max-width: 767px) {
  html body .et_pb_shop ul.products {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  html body .et_pb_shop ul.products li.product { padding: 10px 10px 14px !important; }
  html body .et_pb_shop ul.products li.product .woocommerce-loop-product__title { font-size: .8rem !important; }
  html body .et_pb_shop ul.products li.product .price { font-size: 1rem !important; }
  html body .et_pb_shop ul.products li.product a.button { font-size: .75rem !important; padding: .6em .3em !important; }
}

/* ============================================================
   MOVIL: franja de marcas y pie de pagina
   ============================================================ */
@media (max-width: 767px) {

  /* Marcas: 3 columnas en vez de 1 por pantalla */
  .et_pb_row:has(> .et_pb_column .et_pb_image[class*="brand"]),
  .et_pb_section .et_pb_row:has(.et_pb_image + .et_pb_image) {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }
  .et_pb_row:has(.et_pb_image + .et_pb_image) > .et_pb_column {
    display: contents !important;
  }
  .et_pb_row:has(.et_pb_image + .et_pb_image) .et_pb_image {
    margin: 0 !important;
    padding: 8px !important;
    border: 1px solid var(--x-line);
    border-radius: var(--x-r);
  }
  .et_pb_row:has(.et_pb_image + .et_pb_image) .et_pb_image img {
    width: 100% !important;
    height: auto !important;
    max-height: 42px;
    object-fit: contain;
  }

  /* Pie: logo a tamano razonable */
  .et-l--footer .et_pb_image img { max-width: 190px !important; height: auto; }

  /* Pie: icono y texto en la misma linea */
  .et-l--footer .et_pb_blurb .et_pb_blurb_content {
    display: flex !important;
    align-items: flex-start;
    gap: .6em;
    text-align: left !important;
    max-width: 300px;
    margin: 0 auto;
  }
  .et-l--footer .et_pb_blurb .et_pb_main_blurb_image {
    margin: 0 !important;
    flex: 0 0 auto;
    width: auto !important;
  }
  .et-l--footer .et_pb_blurb .et_pb_blurb_container { text-align: left !important; }
  .et-l--footer .et_pb_blurb { margin-bottom: .9em !important; }

  /* Pie: menos aire entre secciones */
  .et-l--footer .et_pb_row { padding: 18px 0 !important; }
  .et-l--footer .et_pb_column { margin-bottom: 22px !important; }
}

/* Franja de marcas (fila de 6 columnas) en movil: 3 por fila */
@media (max-width: 767px) {
  html body .et_pb_row_6col {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    width: 92% !important;
  }
  html body .et_pb_row_6col > .et_pb_column {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }
  html body .et_pb_row_6col .et_pb_image {
    margin: 0 !important;
    padding: 10px 6px !important;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: var(--x-r);
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 56px;
  }
  html body .et_pb_row_6col .et_pb_image .et_pb_image_wrap { width: 100% !important; }
  html body .et_pb_row_6col .et_pb_image img {
    width: 100% !important;
    height: auto !important;
    max-height: 34px;
    object-fit: contain;
  }
}

/* ============================================================
   Cabecera de categoria: fondo de marca por CSS, sin imagenes
   ============================================================ */

.x7-cat-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #14181C 0%, #1E2529 55%, #2A3238 100%) !important;
}

/* Trama tecnica sutil: rejilla fina + destello de marca */
.x7-cat-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 40px 40px, 40px 40px;
  pointer-events: none;
}

.x7-cat-hero:after {
  content: "";
  position: absolute;
  top: -35%;
  right: -12%;
  width: 55%;
  height: 190%;
  background: radial-gradient(closest-side, rgba(225,74,1,.30), transparent 72%);
  pointer-events: none;
}

.x7-cat-hero .et_pb_row,
.x7-cat-hero .et_pb_column,
.x7-cat-hero .et_pb_module { position: relative; z-index: 2; }

.x7-cat-hero .et_pb_text_inner h1,
.x7-cat-hero h1 {
  font-family: var(--x-display) !important;
  color: #fff !important;
  letter-spacing: .01em;
  margin-bottom: .25em;
}

/* Filete naranja bajo el titulo */
.x7-cat-hero .et_pb_text_inner:after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background: var(--x-orange);
  margin: .7em auto 0;
}

/* Acento por categoria raiz: cambia el tono del destello */
body.term-videovigilancia      .x7-cat-hero:after { background: radial-gradient(closest-side, rgba(225,74,1,.32), transparent 72%); }
body.term-alarmas-e-intrusion  .x7-cat-hero:after { background: radial-gradient(closest-side, rgba(192,57,43,.30), transparent 72%); }
body.term-control-de-accesos   .x7-cat-hero:after { background: radial-gradient(closest-side, rgba(18,161,80,.26), transparent 72%); }
body.term-incendios            .x7-cat-hero:after { background: radial-gradient(closest-side, rgba(199,119,0,.32), transparent 72%); }
body.term-redes-y-energia      .x7-cat-hero:after { background: radial-gradient(closest-side, rgba(0,122,180,.28), transparent 72%); }
body.term-smart-home           .x7-cat-hero:after { background: radial-gradient(closest-side, rgba(120,90,200,.26), transparent 72%); }
body.term-videoporteros        .x7-cat-hero:after { background: radial-gradient(closest-side, rgba(0,150,160,.26), transparent 72%); }

@media (max-width: 767px) {
  .x7-cat-hero { padding: 34px 0 !important; }
  .x7-cat-hero:before { background-size: 28px 28px, 28px 28px; }
}

/* ============================================================
   MEGAMENU: "Productos" a ancho completo en 4 columnas
   ============================================================ */
@media (min-width: 981px) {

  html body .et_pb_menu .et-menu > li.menu-item-has-children { position: static !important; }
  html body .et_pb_menu .et_pb_menu__wrap,
  html body .et_pb_menu .et_pb_menu__menu,
  html body .et_pb_menu nav > ul { position: static !important; }
  html body #main-header,
  html body .et-l--header .et_pb_menu,
  html body .et-l--header .et_pb_row { position: relative; }

  html body .et_pb_menu .et-menu > li.menu-item-has-children > ul.sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px 26px !important;
    padding: 26px 40px 30px !important;
    background: #fff !important;
    border-top: 3px solid var(--x-orange) !important;
    box-shadow: 0 14px 34px rgba(20,24,28,.13) !important;
    z-index: 9999 !important;
  }

  /* Nivel 1: encabezado de columna */
  html body .et_pb_menu .et-menu > li > ul.sub-menu > li {
    position: relative !important;
    width: 100% !important;
    padding: 0 0 12px !important;
    margin: 0 !important;
    break-inside: avoid;
  }
  html body .et_pb_menu .et-menu > li > ul.sub-menu > li > a {
    font-family: var(--x-display) !important;
    font-size: .96rem !important;
    font-weight: 700 !important;
    color: var(--x-ink) !important;
    text-transform: none !important;
    padding: 0 0 .4em !important;
    margin-bottom: .35em;
    border-bottom: 1px solid var(--x-line);
    display: block !important;
    width: 100% !important;
  }
  html body .et_pb_menu .et-menu > li > ul.sub-menu > li > a:hover { color: var(--x-orange) !important; }

  /* Nivel 2: subcategorias siempre visibles */
  html body .et_pb_menu .et-menu > li > ul.sub-menu > li > ul.sub-menu {
    position: static !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }
  html body .et_pb_menu .et-menu > li > ul.sub-menu > li > ul.sub-menu > li {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }
  html body .et_pb_menu .et-menu > li > ul.sub-menu > li > ul.sub-menu > li > a {
    font-family: var(--x-body) !important;
    font-size: .84rem !important;
    font-weight: 400 !important;
    color: var(--x-slate) !important;
    padding: .28em 0 !important;
    border: 0 !important;
    display: block !important;
    width: 100% !important;
  }
  html body .et_pb_menu .et-menu > li > ul.sub-menu > li > ul.sub-menu > li > a:hover { color: var(--x-orange) !important; }

  /* Fuera flechas de nivel 2 */
  html body .et_pb_menu .et-menu > li > ul.sub-menu li.menu-item-has-children > a:after { display: none !important; }
}

/* Megamenu: altura controlada y desplazamiento si excede */
@media (min-width: 981px) {
  html body .et_pb_menu .et-menu > li.menu-item-has-children > ul.sub-menu {
    max-height: calc(100vh - 190px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding: 22px 40px 26px !important;
    gap: 4px 26px !important;
    align-content: start;
  }
  html body .et_pb_menu .et-menu > li > ul.sub-menu > li { padding-bottom: 8px !important; }
  html body .et_pb_menu .et-menu > li > ul.sub-menu > li > ul.sub-menu > li > a {
    padding: .22em 0 !important;
    line-height: 1.35 !important;
  }
  /* Barra de desplazamiento discreta */
  html body .et_pb_menu .et-menu > li > ul.sub-menu::-webkit-scrollbar { width: 6px; }
  html body .et_pb_menu .et-menu > li > ul.sub-menu::-webkit-scrollbar-thumb {
    background: var(--x-line);
    border-radius: 3px;
  }
}

/* ============================================================
   MENU MOVIL: compacto y navegable
   ============================================================ */
@media (max-width: 980px) {

  html body .et_pb_menu .et_mobile_menu {
    max-height: calc(100vh - 130px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding: 6px 0 14px !important;
    border-top: 3px solid var(--x-orange) !important;
    box-shadow: 0 14px 30px rgba(20,24,28,.16) !important;
  }

  html body .et_pb_menu .et_mobile_menu li a {
    font-family: var(--x-body) !important;
    font-size: .92rem !important;
    font-weight: 600 !important;
    padding: .62em 18px !important;
    line-height: 1.3 !important;
    border-bottom: 1px solid rgba(0,0,0,.06) !important;
  }

  /* Nivel 2: menor jerarquia y sangrado claro */
  html body .et_pb_menu .et_mobile_menu ul.sub-menu li a {
    font-size: .84rem !important;
    font-weight: 400 !important;
    color: var(--x-slate) !important;
    padding-left: 34px !important;
  }
  html body .et_pb_menu .et_mobile_menu ul.sub-menu ul.sub-menu li a { padding-left: 48px !important; }

  html body .et_pb_menu .et_mobile_menu li.current-menu-item > a,
  html body .et_pb_menu .et_mobile_menu li > a:hover { color: var(--x-orange) !important; }

  /* Un solo indicador coherente */
  html body .et_mobile_menu li.menu-item-has-children > a { position: relative; }
  html body .et_mobile_menu .menu-item-has-children > a:after {
    font-family: ETmodules !important;
    content: "\33" !important;
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 15px;
    color: var(--x-slate);
  }
  html body .et_mobile_menu .menu-item-has-children.visible > a:after { content: "\32" !important; }

  /* El boton de filtros no debe tapar el menu */
  html body .et_pb_menu .et_mobile_menu { z-index: 99999 !important; }
}

/* ============================================================
   FICHA DE PRODUCTO: sin hueco de barra lateral
   ============================================================ */
body.single-product #main-content .container {
  width: 92% !important;
  max-width: 1200px !important;
  padding-top: 24px !important;
}
body.single-product #main-content .container:before { display: none !important; }
body.single-product #left-area {
  width: 100% !important;
  float: none !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
}
body.single-product #sidebar { display: none !important; }

/* ============================================================
   FICHA: jerarquia tipografica (sin tocar la galeria)
   ============================================================ */
body.single-product .product_title,
body.single-product h1.product_title {
  font-size: clamp(1.3rem, 1.9vw, 1.7rem) !important;
  line-height: 1.28 !important;
  margin-bottom: .45em !important;
}

body.single-product div.product p.price,
body.single-product div.product span.price {
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: var(--x-ink) !important;
}

body.single-product .woocommerce-product-details__short-description ul li:before { display: none !important; }
body.single-product .woocommerce-product-details__short-description ul {
  list-style: none !important;
  padding-left: 0 !important;
}
body.single-product .woocommerce-product-details__short-description ul li {
  position: relative !important;
  padding-left: 1.35em !important;
  margin-bottom: .45em !important;
  color: var(--x-ink) !important;
  font-size: .92rem;
  line-height: 1.5;
}
body.single-product .woocommerce-product-details__short-description ul li:after {
  content: "";
  position: absolute;
  left: 0; top: .6em;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--x-orange);
}

body.single-product div.product .stock.in-stock { color: var(--x-live) !important; }
body.single-product div.product .stock { font-weight: 600 !important; font-size: .9rem !important; }

body.single-product .single_add_to_cart_button {
  font-size: .98rem !important;
  padding: .9em 2em !important;
}

body.single-product .product_meta { font-size: .8rem !important; }
body.single-product .product_meta a { color: var(--x-slate) !important; }
body.single-product .product_meta a:hover { color: var(--x-orange) !important; }

/* Relacionados: tarjetas proporcionadas, 4 en fila */
body.single-product .related ul.products,
body.single-product .upsells ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  padding: 0 !important;
}
body.single-product .related ul.products:before,
body.single-product .related ul.products:after { display: none !important; }
body.single-product .related ul.products li.product,
body.single-product .upsells ul.products li.product {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 12px 12px 16px !important;
  box-sizing: border-box !important;
}
body.single-product .related ul.products li.product a img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  margin-bottom: 8px !important;
}
body.single-product .related ul.products li.product .woocommerce-loop-product__title {
  font-size: .84rem !important;
  line-height: 1.35 !important;
  -webkit-line-clamp: 2;
  min-height: 2.4em;
  max-height: 2.4em;
}
body.single-product .related ul.products li.product .price { font-size: 1.05rem !important; margin-top: auto !important; }
body.single-product .related ul.products li.product a.button { font-size: .8rem !important; padding: .65em .5em !important; width: 100% !important; text-align: center; }
body.single-product .related > h2 { font-size: 1.25rem !important; margin-bottom: 1em !important; }

@media (max-width: 980px) {
  body.single-product .related ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 767px) {
  body.single-product .related ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
}

/* Megamenu: el desplegable solo se abre desde su propio enlace */
@media (min-width: 981px) {
  html body .et_pb_menu .et-menu > li.menu-item-has-children > ul.sub-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .14s ease !important;
  }
  html body .et_pb_menu .et-menu > li.menu-item-has-children:hover > ul.sub-menu,
  html body .et_pb_menu .et-menu > li.menu-item-has-children:focus-within > ul.sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  /* La fila de la cabecera no debe capturar el hover */
  html body .et-l--header .et_pb_row:hover .et_pb_menu .et-menu > li:not(:hover) > ul.sub-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* Pie movil: icono y texto centrados como bloque */
@media (max-width: 767px) {
  html body .et-l--footer .et_pb_blurb .et_pb_blurb_content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .6em !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }
  html body .et-l--footer .et_pb_blurb .et_pb_main_blurb_image {
    margin: 0 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
  }
  html body .et-l--footer .et_pb_blurb .et_pb_blurb_container {
    text-align: left !important;
    flex: 0 1 auto !important;
    padding: 0 !important;
  }
  html body .et-l--footer .et_pb_blurb .et_pb_blurb_description,
  html body .et-l--footer .et_pb_blurb .et_pb_module_header {
    text-align: left !important;
    margin: 0 !important;
  }
}

/* Pie: hover siempre en naranja, nunca en negro */
html body #page-container .et-l--footer a:hover,
html body #page-container .et-l--footer .et_pb_menu ul li a:hover,
html body #page-container .et-l--footer .et_pb_text a:hover,
html body #page-container .et-l--footer .et_pb_blurb a:hover,
html body #page-container .et-l--footer li.menu-item > a:hover,
html body .et-l--footer a:hover,
html body .et-l--footer a:focus {
  color: var(--x-orange) !important;
  opacity: 1 !important;
}

/* Pie: hover en naranja, valor literal (la variable no resuelve aqui) */
html body #page-container .et-l--footer a:hover,
html body #page-container .et-l--footer .et_pb_menu ul li a:hover,
html body #page-container .et-l--footer .et_pb_text a:hover,
html body .et-l--footer a:hover,
html body .et-l--footer .et_pb_menu ul li a:hover,
html body .et-l--footer li.menu-item > a:hover,
.et-db #et-boc .et-l .et_pb_bg_layout_dark.et_pb_menu ul li a:hover,
.et-db #et-boc .et-l .et-l--footer a:hover {
  color: #E14A01 !important;
  opacity: 1 !important;
}

/* Pie: hover naranja, igualando la cadena de Divi (.et-db #et-boc .et-l) */
.et-db #et-boc .et-l .et_pb_bg_layout_dark.et_pb_menu ul li a:hover,
.et-db #et-boc .et-l .et_pb_menu ul li a:hover,
.et-db #et-boc .et-l .et-l--footer .et_pb_menu ul li a:hover,
.et-db #et-boc .et-l .et-l--footer a:hover,
.et-db #et-boc .et-l .et-l--footer .et_pb_text a:hover,
.et-db #et-boc .et-l .et-l--footer .et_pb_module a:hover,
html body.et-db #et-boc .et-l .et-l--footer a:hover {
  color: #E14A01 !important;
}

/* Hero: el filete solo bajo el titulo, no en cada modulo de texto */
html body .x7-cat-hero .et_pb_text_inner:after { display: none !important; }
html body .x7-cat-hero .et_pb_text:first-of-type .et_pb_text_inner:after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background: #E14A01;
  margin: .7em 0 0;
}

/* Mi cuenta: navegacion lateral legible */
html body .woocommerce-MyAccount-navigation ul li a {
  color: #14181C !important;
  font-weight: 600 !important;
}
html body .woocommerce-MyAccount-navigation ul li.is-active a,
html body .woocommerce-MyAccount-navigation ul li.is-active {
  color: #FFFFFF !important;
}
html body .woocommerce-MyAccount-navigation ul li.is-active a { color: #FFFFFF !important; }
html body .woocommerce-MyAccount-navigation ul li:not(.is-active) a:hover {
  color: #E14A01 !important;
}

/* Mi cuenta: el tema hijo pinta el fondo naranja en hover; el texto debe ir en blanco */
html body .furniture_myaccount .woocommerce-MyAccount-navigation ul li:hover a,
html body .furniture_myaccount .woocommerce-MyAccount-navigation ul li:hover,
html body .woocommerce-MyAccount-navigation ul li:hover a {
  color: #FFFFFF !important;
}
html body .furniture_myaccount .woocommerce-MyAccount-navigation ul li:hover a:before,
html body .woocommerce-MyAccount-navigation ul li:hover a:before { color: #FFFFFF !important; }

/* ============================================================
   CONTACTO Y PAGINAS LEGALES: ancho de lectura y jerarquia
   ============================================================ */
body.page-id-139332 .entry-content,
body.page-id-138897 .entry-content,
body.page-id-138911 .entry-content,
body.page-id-138921 .entry-content,
body.page-id-98374  .entry-content {
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 3em 1.5em 4em !important;
}

/* Titular con filete de marca */
body.page-id-139332 .entry-content > h2:first-of-type {
  position: relative;
  font-size: clamp(1.6rem, 2.6vw, 2.1rem);
  padding-bottom: .45em;
  margin: 0 0 .9em;
}
body.page-id-139332 .entry-content > h2:first-of-type:after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 64px; height: 3px;
  background: #E14A01;
}

/* Telefono y correo como tarjetas */
body.page-id-139332 .entry-content h3 {
  position: relative;
  font-size: 1.1rem !important;
  padding-left: .8em;
  margin: 2.2em 0 .5em;
}
body.page-id-139332 .entry-content h3:before {
  content: "";
  position: absolute;
  left: 0; top: .2em; bottom: .2em;
  width: 3px;
  background: #E14A01;
}
body.page-id-139332 .entry-content h3 + p {
  background: #F4F6F8;
  border-radius: 2px;
  padding: 1em 1.2em;
  margin: 0;
  font-size: 1.02rem;
}
body.page-id-139332 .entry-content h3 + p a {
  font-weight: 600;
  font-size: 1.12rem;
}

/* Listas con viñeta de marca */
body.page-id-139332 .entry-content ul,
body.page-id-138921 .entry-content ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 1em 0 1.6em !important;
}
body.page-id-139332 .entry-content ul li,
body.page-id-138921 .entry-content ul li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: .7em;
  line-height: 1.6;
}
body.page-id-139332 .entry-content ul li:before,
body.page-id-138921 .entry-content ul li:before {
  content: "";
  position: absolute;
  left: .2em; top: .62em;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #E14A01;
}

/* Bloque de datos identificativos destacado */
body.page-id-139332 .entry-content h3:last-of-type + p + ul {
  background: #F4F6F8;
  border-left: 3px solid #E14A01;
  border-radius: 2px;
  padding: 1.4em 1.6em !important;
}

/* ============================================================
   Boton "Anadir al carrito" en el bucle: visible y en flujo
   Anula el icono flotante de la demo DiviFurnitureShop
   ============================================================ */
body .woocommerce ul.products li.product .button,
body .woocommerce .furniturehome_section3_product .product .button,
body .woocommerce ul.products li.product .added_to_cart,
body .woocommerce .furniturehome_section3_product .product .added_to_cart {
  position: static !important;
  transform: none !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  order: 9;
  display: block !important;
  box-sizing: border-box;
  margin: 10px 0 0 !important;
  padding: .72em 1em !important;
  font-family: var(--x-body) !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  text-transform: none !important;
  letter-spacing: .01em;
  border-radius: var(--x-r) !important;
  border: 1px solid var(--x-orange) !important;
  background-color: #fff !important;
  color: var(--x-orange) !important;
  box-shadow: none !important;
  transition: background-color .16s ease, color .16s ease !important;
}
body .woocommerce ul.products li.product .button:hover,
body .woocommerce .furniturehome_section3_product .product .button:hover,
body .woocommerce ul.products li.product .added_to_cart:hover,
body .woocommerce .furniturehome_section3_product .product .added_to_cart:hover {
  background-color: var(--x-orange) !important;
  border-color: var(--x-orange) !important;
  color: #fff !important;
}
body .woocommerce ul.products li.product .button:after,
body .woocommerce .furniturehome_section3_product .product .button:after,
body .woocommerce .furniturehome_section3_product .product .et_shop_image .button.added:after {
  display: none !important;
  content: none !important;
}
body .woocommerce ul.products li.product .button.loading:after,
body .woocommerce .furniturehome_section3_product .product .button.ajax_add_to_cart.loading:after {
  display: inline-block !important;
  content: "\e02d" !important;
  font-family: "ETmodules" !important;
  position: static !important;
  margin-left: .5em !important;
  line-height: 1 !important;
  color: inherit !important;
}
body .woocommerce ul.products li.product .added_to_cart,
body .woocommerce .furniturehome_section3_product .product .added_to_cart {
  background-color: transparent !important;
  border-color: var(--x-line) !important;
  color: var(--x-slate) !important;
  font-weight: 500 !important;
  font-size: .8rem !important;
}
body .woocommerce ul.products li.product {
  display: flex !important;
  flex-direction: column;
}
body .woocommerce ul.products li.product .furniturehome_section3_product_content,
body .woocommerce ul.products li.product .price,
body .woocommerce ul.products li.product .woocommerce-loop-product__title { order: 1; }
body .woocommerce ul.products li.product .et_shop_image,
body .woocommerce ul.products li.product > a:first-child { order: 0; }

/* ============================================================
   Pantalla "pedido recibido": ancho completo
   La columna izquierda (formulario) queda vacia tras la compra
   ============================================================ */
body.woocommerce-order-received .et_pb_row .et_pb_column.et_pb_column_1_2:first-child:not(:has(.woocommerce-order)) {
  display: none !important;
}
body.woocommerce-order-received .et_pb_row .et_pb_column.et_pb_column_1_2 {
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  float: none !important;
}
body.woocommerce-order-received .et_pb_row {
  width: 90% !important;
  max-width: 1100px !important;
}
body.woocommerce-order-received .woocommerce-order {
  max-width: 100%;
}
body.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-family: var(--x-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--x-ink);
  display: block;
  padding: 0 0 .6em;
  border-bottom: 2px solid var(--x-orange);
  margin-bottom: 1.2em;
}
body.woocommerce-order-received ul.woocommerce-order-overview {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  list-style: none;
  padding: 1.1rem 1.3rem;
  margin: 0 0 2rem;
  background: var(--x-mist);
  border: 1px solid var(--x-line);
  border-radius: var(--x-r);
}
body.woocommerce-order-received ul.woocommerce-order-overview li {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 1 1 auto;
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--x-slate);
}
body.woocommerce-order-received ul.woocommerce-order-overview li strong {
  display: block;
  margin-top: .3em;
  font-size: 1rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--x-ink);
}
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
  font-family: var(--x-display);
  font-size: 1.15rem;
  margin-bottom: .8em;
}
body.woocommerce-order-received .woocommerce-columns--addresses {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin-top: 2rem;
}
body.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column {
  flex: 1 1 260px;
  width: auto !important;
}
@media (max-width: 980px) {
  body.woocommerce-order-received ul.woocommerce-order-overview { gap: .9rem 1.2rem; }
  body.woocommerce-order-received ul.woocommerce-order-overview li { flex: 1 1 45%; }
}

/* Carrito: recuadro de totales */
body.woocommerce-cart .cart_totals {
  background: var(--x-mist);
  border: 1px solid var(--x-line);
  border-radius: var(--x-r);
  padding: 1.4rem;
}
body.woocommerce-cart .cart_totals h2 {
  font-family: var(--x-display);
  font-size: 1.15rem;
  margin: 0 0 1rem;
  padding: 0 0 .6em;
  border-bottom: 2px solid var(--x-orange);
}
body.woocommerce-cart .cart_totals table.shop_table { border: 0; margin: 0; }
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
  border: 0;
  border-bottom: 1px solid var(--x-line);
  padding: .7em 0;
  font-size: .92rem;
}
body.woocommerce-cart .cart_totals table.shop_table tr:last-child th,
body.woocommerce-cart .cart_totals table.shop_table tr:last-child td {
  border-bottom: 0;
  font-weight: 700;
  font-size: 1.02rem;
}
body.woocommerce-cart .wc-proceed-to-checkout { padding: 1rem 0 0; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 1rem !important;
  padding: .95em 1em !important;
}

/* Resultados de busqueda: cuadricula de productos */
body.search-results ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.search-results ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  list-style: none !important;
  background: var(--x-surface);
  border: 1px solid var(--x-line);
  border-radius: var(--x-r);
  padding: 14px 14px 18px;
  display: flex !important;
  flex-direction: column;
}
body.search-results ul.products li.product::before,
body.search-results ul.products li.product::marker { content: none !important; display: none !important; }
body.search-results ul.products li.product a { text-decoration: none; }
body.search-results ul.products li.product img {
  width: 100%;
  height: auto;
  margin-bottom: 12px;
  mix-blend-mode: multiply;
}
body.search-results ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--x-body) !important;
  font-size: .92rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: var(--x-ink) !important;
  padding: 0 0 .4em !important;
  min-height: 3.9em;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body.search-results ul.products li.product .price {
  font-family: var(--x-display) !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: var(--x-ink) !important;
}
body.search-results .woocommerce-result-count,
body.search-results .woocommerce-ordering { margin-bottom: 1.2rem; }
@media (max-width: 1100px) { body.search-results ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px)  { body.search-results ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px)  { body.search-results ul.products { grid-template-columns: 1fr; } }

/* Busqueda: ajustes finos de la tarjeta */
body.search-results ul.products li.product img {
  max-height: 190px;
  object-fit: contain;
}
body.search-results ul.products li.product .woocommerce-loop-product__title {
  min-height: 0 !important;
  -webkit-line-clamp: 2 !important;
  margin-bottom: .35em !important;
}
body.search-results ul.products li.product .price {
  font-size: 1.15rem !important;
  margin-bottom: .2em;
}
body.search-results ul.products li.product .price .woocommerce-price-suffix {
  display: block;
  font-family: var(--x-body);
  font-size: .68rem;
  font-weight: 400;
  color: var(--x-slate);
}
body.search-results ul.products li.product .button,
body.search-results ul.products li.product .added_to_cart {
  margin-top: auto !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  padding: .72em 1em !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  border: 1px solid var(--x-orange) !important;
  border-radius: var(--x-r) !important;
  background: #fff !important;
  color: var(--x-orange) !important;
  text-decoration: none !important;
}
body.search-results ul.products li.product .button:hover {
  background: var(--x-orange) !important;
  color: #fff !important;
}

/* Busqueda: correccion de proporciones */
body.search-results ul.products {
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
  max-width: 1200px;
  margin: 0 auto !important;
}
body.search-results ul.products li.product .woocommerce-loop-product__title {
  min-height: 2.8em !important;
  max-height: 2.8em !important;
  line-height: 1.4 !important;
  overflow: hidden !important;
}
body.search-results ul.products li.product img {
  max-height: 150px !important;
}

/* Busqueda: correccion de proporciones */
body.search-results ul.products {
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
  max-width: 1200px;
  margin: 0 auto !important;
}
body.search-results ul.products li.product .woocommerce-loop-product__title {
  min-height: 2.8em !important;
  max-height: 2.8em !important;
  line-height: 1.4 !important;
  overflow: hidden !important;
}
body.search-results ul.products li.product img {
  max-height: 150px !important;
}

/* ============================================================
   Checkout: destacar la descripcion de transferencia bancaria
   ============================================================ */
body.woocommerce-checkout li.payment_method_bacs > label {
  font-weight: 700 !important;
}
body.woocommerce-checkout .payment_box.payment_method_bacs {
  background: #fff7f0 !important;
  border: 1px solid var(--x-orange) !important;
  border-left: 4px solid var(--x-orange) !important;
  border-radius: var(--x-r) !important;
  padding: 1rem 1.1rem !important;
  margin-top: .6rem !important;
  font-size: .92rem;
  line-height: 1.55;
  color: var(--x-ink);
}
body.woocommerce-checkout .payment_box.payment_method_bacs::before {
  display: none !important;
  content: none !important;
}
body.woocommerce-checkout .payment_box.payment_method_bacs p {
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout .payment_box.payment_method_bacs p::before {
  content: "Pago verificado manualmente";
  display: block;
  font-family: var(--x-display);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--x-orange);
  margin-bottom: .5em;
}

/* Checkout: contener el logotipo de Klarna */
body.woocommerce-checkout li.wc_payment_method img,
body.woocommerce-checkout .wc-block-components-radio-control img,
body.woocommerce-checkout li.payment_method_woocommerce_payments_klarna img {
  max-height: 34px !important;
  width: auto !important;
}
body.woocommerce-checkout li.wc_payment_method label {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-weight: 600;
}
body.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method {
  border: 1px solid var(--x-line);
  border-radius: var(--x-r);
  padding: .9rem 1rem;
  margin-bottom: .7rem;
  list-style: none;
}

/* Checkout: destacar el metodo de transferencia */
body.woocommerce-checkout ul.wc_payment_methods li.payment_method_bacs {
  background: var(--x-orange) !important;
  border-color: var(--x-orange) !important;
}
body.woocommerce-checkout li.payment_method_bacs > label {
  font-family: var(--x-display) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: .01em;
}
body.woocommerce-checkout li.payment_method_bacs input[type="radio"] {
  accent-color: #fff;
}
body.woocommerce-checkout li.payment_method_bacs .payment_box.payment_method_bacs {
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(255,255,255,.6) !important;
  border-left-color: #fff !important;
}

/* Paginacion en color de marca */
.woocommerce-pagination ul.page-numbers { border: 0 !important; display: flex; gap: 6px; justify-content: center; }
.woocommerce-pagination ul.page-numbers li { border: 0 !important; }
.woocommerce-pagination ul.page-numbers li a.page-numbers,
.woocommerce-pagination ul.page-numbers li span.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid var(--x-line);
  border-radius: var(--x-r);
  font-weight: 600;
  font-size: .9rem;
  color: var(--x-orange);
  background: #fff;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.woocommerce-pagination ul.page-numbers li a.page-numbers:hover {
  background: var(--x-orange);
  border-color: var(--x-orange);
  color: #fff;
}
.woocommerce-pagination ul.page-numbers li span.page-numbers.current {
  background: var(--x-orange) !important;
  border-color: var(--x-orange) !important;
  color: #fff !important;
}
.woocommerce-pagination ul.page-numbers li span.page-numbers.dots {
  border: 0;
  color: var(--x-slate);
  min-width: 22px;
  padding: 0;
}

/* ---------- Aviso de error en checkout ---------- */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout ul.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-error {
  background: #FFF !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  border-left: 4px solid #C0392B !important;
  color: #1A1A1A !important;
  padding: 14px 18px !important;
  list-style: none !important;
}
.woocommerce-checkout .woocommerce-error li,
.woocommerce-checkout .woocommerce-error a,
.woocommerce-notices-wrapper .woocommerce-error li,
.woocommerce-notices-wrapper .woocommerce-error a {
  color: #1A1A1A !important;
  text-shadow: none !important;
}
.woocommerce-checkout .woocommerce-error a,
.woocommerce-notices-wrapper .woocommerce-error a { text-decoration: underline !important; }

/* ---------- Ajustes del aviso de términos ---------- */
.woocommerce-checkout .woocommerce-error a,
.woocommerce-notices-wrapper .woocommerce-error a { text-decoration: none !important; }
.woocommerce-checkout .form-row.woocommerce-invalid .woocommerce-error,
.woocommerce-checkout .validate-required .woocommerce-error { display: none !important; }

/* ---------- Error en línea de términos: oculto visualmente, accesible ---------- */
.woocommerce-checkout p#terms_description.checkout-inline-error-message {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.woocommerce-checkout .woocommerce-invalid #terms { outline-color: rgba(192,57,43,.55) !important; }

/* ---------- Destacar tarjeta (Redsys) y transferencia ---------- */
body.woocommerce-checkout ul.wc_payment_methods li.payment_method_redsys {
  background: var(--x-orange) !important;
  border-color: var(--x-orange) !important;
}
body.woocommerce-checkout li.payment_method_redsys > label {
  font-family: var(--x-display) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: .01em;
}
body.woocommerce-checkout li.payment_method_redsys input[type="radio"] { accent-color: #fff; }
body.woocommerce-checkout li.payment_method_redsys .payment_box {
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(255,255,255,.6) !important;
  border-left-color: #fff !important;
  color: var(--x-ink) !important;
}

/* ---------- Métodos destacados como tarjetas independientes ---------- */
body.woocommerce-checkout ul.wc_payment_methods li.payment_method_redsys,
body.woocommerce-checkout ul.wc_payment_methods li.payment_method_bacs {
  border-radius: 14px !important;
  margin-bottom: 14px !important;
  padding: 1.05rem 1.15rem !important;
  border: 0 !important;
  background: linear-gradient(180deg, #F4783A 0%, var(--x-orange) 55%, #C4470F 100%) !important;
  box-shadow: 0 4px 0 #A63A08, 0 8px 18px rgba(0,0,0,.22) !important;
  transform: translateY(0);
  transition: transform .12s ease, box-shadow .12s ease;
}
body.woocommerce-checkout ul.wc_payment_methods li.payment_method_redsys:hover,
body.woocommerce-checkout ul.wc_payment_methods li.payment_method_bacs:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 0 #A63A08, 0 12px 24px rgba(0,0,0,.26) !important;
}
body.woocommerce-checkout li.payment_method_redsys > label,
body.woocommerce-checkout li.payment_method_bacs > label {
  text-shadow: 0 1px 1px rgba(0,0,0,.25);
}
body.woocommerce-checkout li.payment_method_redsys .payment_box,
body.woocommerce-checkout li.payment_method_bacs .payment_box {
  border-radius: 10px !important;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.10) !important;
}
body.woocommerce-checkout ul.wc_payment_methods li.payment_method_woocommerce_payments_klarna {
  border-radius: 14px !important;
  margin-bottom: 14px !important;
}

/* ---------- Radio visible en métodos destacados ---------- */
body.woocommerce-checkout li.payment_method_redsys input[type="radio"],
body.woocommerce-checkout li.payment_method_bacs input[type="radio"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: #FFF !important;
  border: 2px solid rgba(0,0,0,.35) !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.2) !important;
  vertical-align: middle;
  margin-right: 10px !important;
  cursor: pointer;
  position: relative;
}
body.woocommerce-checkout li.payment_method_redsys input[type="radio"]:checked,
body.woocommerce-checkout li.payment_method_bacs input[type="radio"]:checked {
  border-color: #111 !important;
}
body.woocommerce-checkout li.payment_method_redsys input[type="radio"]:checked::after,
body.woocommerce-checkout li.payment_method_bacs input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 12px; height: 12px;
  border-radius: 50%;
  background: #111;
}
body.woocommerce-checkout li.payment_method_redsys input[type="radio"]:focus-visible,
body.woocommerce-checkout li.payment_method_bacs input[type="radio"]:focus-visible {
  outline: 3px solid #FFF; outline-offset: 2px;
}

/* ---------- Relieve para Bizum y Klarna ---------- */
body.woocommerce-checkout ul.wc_payment_methods li.payment_method_redsys_bizum,
body.woocommerce-checkout ul.wc_payment_methods li.payment_method_woocommerce_payments_klarna {
  border-radius: 14px !important;
  margin-bottom: 14px !important;
  padding: 1.05rem 1.15rem !important;
  border: 1px solid var(--x-line) !important;
  background: linear-gradient(180deg, #FFF 0%, #F7F7F5 100%) !important;
  box-shadow: 0 4px 0 #DCDCD6, 0 8px 18px rgba(0,0,0,.10) !important;
  transform: translateY(0);
  transition: transform .12s ease, box-shadow .12s ease;
}
body.woocommerce-checkout ul.wc_payment_methods li.payment_method_redsys_bizum:hover,
body.woocommerce-checkout ul.wc_payment_methods li.payment_method_woocommerce_payments_klarna:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 0 #DCDCD6, 0 12px 24px rgba(0,0,0,.14) !important;
}
body.woocommerce-checkout li.payment_method_redsys_bizum input[type="radio"],
body.woocommerce-checkout li.payment_method_woocommerce_payments_klarna input[type="radio"] {
  -webkit-appearance: none !important; appearance: none !important;
  width: 24px !important; height: 24px !important;
  border-radius: 50% !important;
  background: #FFF !important;
  border: 2px solid rgba(0,0,0,.35) !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.15) !important;
  vertical-align: middle; margin-right: 10px !important;
  cursor: pointer; position: relative;
}
body.woocommerce-checkout li.payment_method_redsys_bizum input[type="radio"]:checked::after,
body.woocommerce-checkout li.payment_method_woocommerce_payments_klarna input[type="radio"]:checked::after {
  content: ""; position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 12px; height: 12px; border-radius: 50%; background: #111;
}
body.woocommerce-checkout li.payment_method_redsys_bizum input[type="radio"]:checked,
body.woocommerce-checkout li.payment_method_woocommerce_payments_klarna input[type="radio"]:checked { border-color: #111 !important; }

/* ---------- Enlaces legales en color de marca ---------- */
body.woocommerce-checkout .woocommerce-privacy-policy-text a,
body.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a {
  color: var(--x-orange) !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Separacion lupa-hamburguesa en menu movil (24x7) */
@media (max-width: 980px) {
  .furniture_menu .et_pb_menu__search-button { margin-right: 18px !important; }
  .furniture_menu .et_pb_menu__icon.et_pb_menu__search-button { margin-right: 18px !important; }
  .furniture_menu .et_pb_menu__search { margin-right: 10px !important; }
}

/* Boton boletin Brevo - estilo negro como Divi (24x7) */
.furniturehome_section6_email .sib-default-btn,
.sib_signup_form .sib-default-btn {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 14px 28px !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-transform: none !important;
}
.furniturehome_section6_email .sib-default-btn:hover,
.sib_signup_form .sib-default-btn:hover {
  background-color: #333333 !important;
}

/* Enlace politica de privacidad en boletin - blanco legible (24x7) */
.furniturehome_section6_email .sib-terms-area a,
.furniturehome_section6_email .sib-terms-area {
  color: #ffffff !important;
}
.furniturehome_section6_email .sib-terms-area a {
  text-decoration: underline !important;
}
