.elementor-10170101 .elementor-element.elementor-element-eb8d110 > .elementor-container {
    min-height: 44px;
}

.elementor-41070101 .elementor-element.elementor-element-5a55b5d.ce-image-gallery--layout-grid .ce-image-gallery {
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

/* =========================================================
   LOGIN — dos columnas ("Ya soy cliente" / "Soy un nuevo cliente")
   body#authentication · misma línea visual que el registro
   ========================================================= */

body#authentication #main {
  --lg-navy: #162C53;
  --lg-green: #1CA439;
  --lg-green-hover: #178A30;
  --lg-green-soft: #EEF7EE;
  --lg-text-soft: #5B6780;
  --lg-border: #D5DCE6;
  --lg-divider: #E3E8F0;
  --lg-shadow: 0 2px 9.2px 1.2px rgba(22, 44, 83, 0.08);

  padding: 2rem 1rem 3rem !important;
  font-family: 'Poppins', sans-serif;
  color: var(--lg-navy);
}

/* El contenedor de Classic no hace de tarjeta: la tarjeta es .login-page-card */
body#authentication #main #content.page-content {
  max-width: 100%;
  margin: 0;
  padding: 0 !important;
  background: transparent;
  border: 0;
  box-shadow: none;
}

body#authentication #main > .page-footer {
  display: none;
}

/* ---------- Tarjeta ---------- */

body#authentication .login-page-card {
  max-width: 960px;
  margin: 0 auto;
  padding: 2.5rem 3rem 2.75rem;
  background: #fff;
  border: 0;
  border-radius: 12px;
  box-shadow: var(--lg-shadow);
}

body#authentication .login-page-title {
  margin: 0 0 2rem;
  font-family: 'Poppins', sans-serif;
  font-size: 1.625rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
  color: var(--lg-navy);
}

/* ---------- Dos columnas ---------- */

body#authentication .login-columns {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  column-gap: 3rem;
  align-items: start;
}

body#authentication .login-col-divider {
  align-self: stretch;
  background: var(--lg-divider);
}

body#authentication .login-col .col-heading {
  margin: 0 0 1.25rem;
  font-family: 'Poppins', sans-serif;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.3;
  text-transform: none;
  color: var(--lg-navy);
}

/* ---------- Columna izquierda: formulario ---------- */

body#authentication .login-col-existing .login-form {
  margin: 0;
}

body#authentication #login-form .form-group.row {
  display: block;
  margin: 0 0 1.125rem;
}

body#authentication #login-form .form-group.row > [class*="col-md-"] {
  float: none;
  width: 100%;
  max-width: 100%;
  flex: none;
  padding: 0;
}

body#authentication #login-form .form-control-label {
  display: block;
  width: 100%;
  margin: 0 0 0.375rem;
  padding: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  color: var(--lg-navy);
}

body#authentication #login-form .form-control-label.required::after {
  content: " *";
  color: var(--lg-green);
}

body#authentication #login-form .form-group.row > .col-md-3.form-control-comment {
  margin: 0;
  font-size: 0.75rem;
  color: var(--lg-text-soft);
}

body#authentication #login-form .form-control {
  width: 100%;
  height: 46px;
  padding: 0 0.875rem;
  background: #fff;
  border: 1px solid var(--lg-border);
  border-radius: 8px;
  box-shadow: none;
  outline: none;
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  color: var(--lg-navy);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body#authentication #login-form .form-control:focus {
  border-color: var(--lg-navy);
  box-shadow: 0 0 0 3px rgba(22, 44, 83, 0.12);
}

/* Contraseña + "Mostrar" */
body#authentication #login-form .input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
  border-radius: 8px;
  overflow: visible;
}

body#authentication #login-form .input-group .form-control {
  flex: 1 1 auto;
  min-width: 0;
  border-right: 0;
  border-radius: 8px 0 0 8px;
}

body#authentication #login-form .input-group-btn {
  display: flex;
  width: auto;
}

body#authentication #login-form .input-group-btn .btn {
  height: 46px;
  margin: 0;
  padding: 0 1rem;
  background: var(--lg-green-soft);
  border: 1px solid var(--lg-border);
  border-left: 0;
  border-radius: 0 8px 8px 0;
  box-shadow: none;
  font-family: 'Poppins', sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: none;
  color: var(--lg-navy);
  transition: background-color 0.15s ease, color 0.15s ease;
}

body#authentication #login-form .input-group-btn .btn:hover,
body#authentication #login-form .input-group-btn .btn:focus {
  background: var(--lg-green);
  color: #fff;
  outline: none;
}

body#authentication #login-form .input-group:focus-within {
  box-shadow: 0 0 0 3px rgba(22, 44, 83, 0.12);
}

body#authentication #login-form .input-group:focus-within .form-control,
body#authentication #login-form .input-group:focus-within .input-group-btn .btn {
  border-color: var(--lg-navy);
  box-shadow: none;
}

/* ¿Olvidó su contraseña? */
body#authentication #login-form .forgot-password {
  margin: -0.375rem 0 1.5rem;
  text-align: right;
}

body#authentication #login-form .forgot-password a {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--lg-green);
  text-decoration: none;
}

body#authentication #login-form .forgot-password a:hover {
  color: var(--lg-green-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Botón "Iniciar sesión" */
body#authentication #login-form .form-footer {
  margin: 0;
  padding: 0;
  text-align: left;
}

body#authentication #login-form #submit-login {
  display: block;
  width: 100%;
  height: 50px;
  margin: 0;
  padding: 0 2rem;
  background: var(--lg-green) !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: #fff !important;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

body#authentication #login-form #submit-login:hover,
body#authentication #login-form #submit-login:focus,
body#authentication #login-form #submit-login:active {
  background: var(--lg-green-hover) !important;
  outline: none;
}

body#authentication #login-form #submit-login:focus-visible {
  box-shadow: 0 0 0 3px rgba(28, 164, 57, 0.3) !important;
}

/* ---------- Columna derecha: nuevo cliente ---------- */

body#authentication .login-col-new {
  text-align: left;
}

body#authentication .login-col-new .no-account {
  margin: 0;
}

/* Secundario: contorno verde (la acción principal es "Iniciar sesión") */
body#authentication .login-col-new .btn-green {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 0.75rem 1.25rem;
  background: #fff;
  border: 2px solid var(--lg-green);
  border-radius: 8px;
  box-shadow: none;
  font-family: 'Poppins', sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  color: var(--lg-green);
  transition: background-color 0.15s ease, color 0.15s ease;
}

body#authentication .login-col-new .btn-green:hover,
body#authentication .login-col-new .btn-green:focus {
  background: var(--lg-green);
  color: #fff;
  text-decoration: none;
  outline: none;
}

/* Login social: "O bien" encima y Google debajo */
body#authentication .login-col-new .ets_solo_social_wrapper,
body#authentication .login-col-new .ets_solo_wrapper_content {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body#authentication .login-col-new .ets_solo_wrapper_content {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
}

body#authentication .login-col-new .ets_solo_or {
  order: 1;
  display: flex !important;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  margin: 1.5rem 0 1.25rem !important;
  padding: 0 !important;
  position: static !important;
  background: transparent !important;
  border: 0 !important;
}

body#authentication .login-col-new .ets_solo_or::before,
body#authentication .login-col-new .ets_solo_or::after {
  content: "" !important;
  display: block !important;
  position: static !important;
  flex: 1 1 auto;
  height: 1px !important;
  margin: 0 !important;
  background: var(--lg-divider) !important;
  border: 0 !important;
}

body#authentication .login-col-new .ets_solo_or span {
  position: static !important;
  padding: 0 !important;
  background: transparent !important;
  font-size: 0.75rem !important;
  font-weight: 500;
  text-transform: none;
  color: var(--lg-text-soft) !important;
}

body#authentication .login-col-new .ets_solo_social {
  order: 2;
  display: flex !important;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

body#authentication .login-col-new .ets_solo_social_item {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
}

body#authentication .login-col-new .ets_solo_social_item .ets_solo_social_btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.625rem !important;
  width: 100% !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 1rem !important;
  background: #fff !important;
  border: 1px solid var(--lg-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: var(--lg-navy) !important;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

body#authentication .login-col-new .ets_solo_social_item:hover .ets_solo_social_btn {
  background: #F7F9FC !important;
  border-color: var(--lg-navy) !important;
  color: var(--lg-navy) !important;
}

body#authentication .login-col-new .ets_solo_social_btn i,
body#authentication .login-col-new .ets_solo_social_btn .svg_gl {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#authentication .login-col-new .ets_solo_social_btn svg {
  width: 20px !important;
  height: 20px !important;
}

/* Restos de bordes / hr heredados */
body#authentication .login-col-new,
body#authentication .login-col-new .ets_solo_social_wrapper,
body#authentication .login-col-new .ets_solo_wrapper_content,
body#authentication .login-col-new .ets_solo_social,
body#authentication .login-col-new .ets_solo_social_item {
  border-bottom: 0 !important;
}

body#authentication .login-col-new hr {
  display: none !important;
}

/* ---------- Tablet ---------- */

@media (max-width: 991px) {
  body#authentication .login-page-card {
    padding: 2.25rem 2rem 2.5rem;
  }

  body#authentication .login-columns {
    column-gap: 2rem;
  }
}

/* ---------- Móvil: columnas apiladas ---------- */

@media (max-width: 767px) {
  body#authentication #main {
    padding: 1.25rem 0.75rem 2rem !important;
  }

  body#authentication .login-page-card {
    padding: 1.75rem 1.25rem 2rem;
  }

  body#authentication .login-page-title {
    margin-bottom: 1.5rem;
    font-size: 1.375rem;
  }

  body#authentication .login-columns {
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  body#authentication .login-col-divider {
    display: none;
  }

  body#authentication .login-col-new {
    margin-top: 2rem;
    padding-top: 1.75rem;
    border-top: 1px solid var(--lg-divider) !important;
  }
}

/* Bloque social (módulo ets_sociallogin): reordenar visualmente
   para que quede Google DEBAJO del divisor "O bien" */
.login-col-new .ets_solo_social_wrapper {
  margin: 0;
}
.login-col-new .ets_solo_wrapper_content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.login-col-new .ets_solo_or {
  order: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 20px 0;
  color: #888;
  font-size: 13px;
  position: static;
  background: none;
}
.login-col-new .ets_solo_or::before,
.login-col-new .ets_solo_or::after {
  content: none !important;
  display: none !important;
}
.login-col-new .ets_solo_or span {
  background: none;
  padding: 0;
}
.login-col-new .ets_solo_social {
  order: 2;
  list-style: none;
  margin: 0;
  padding: 0;
}
.login-col-new .ets_solo_social_item {
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 0;
  display: inline-flex;
  cursor: pointer;
}
.login-col-new .ets_solo_social_btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #4caf50 !important;
  border-radius: 4px !important;
  padding: 10px 24px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #333;
  font-size: 14px;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.login-col-new .ets_solo_social_item:hover .ets_solo_social_btn {
  background: #439a46 !important;
  border-color: #439a46 !important;
  color: #fff;
}
.login-col-new .ets_solo_social_btn svg,
.login-col-new .ets_solo_social_btn i {
  width: 18px;
  height: 18px;
}
/* Elimina cualquier línea/borde residual heredado del tema debajo del bloque social */
.login-col-new,
.login-col-new .ets_solo_social_wrapper,
.login-col-new .ets_solo_wrapper_content,
.login-col-new .ets_solo_social,
.login-col-new .ets_solo_social_item {
  border-bottom: none !important;
  box-shadow: none !important;
}
.login-col-new hr {
  display: none !important;
}

/* ---------- Responsive: apilar en móvil ---------- */
@media (max-width: 700px) {
  .login-page-card {
    padding: 24px 20px 32px;
  }
  .login-columns {
    grid-template-columns: 1fr;
    row-gap: 32px;
  }
  .login-col-divider {
    display: none;
  }
}

.aplazame-wrapper {
	margin-bottom: 0.8rem;
	flex: 1.2 !important;
}

.aplazame-product-container {
	width: fit-content;
}

.aplazame-product-title {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-family: 'Helvetica', Arial, sans-serif;
	cursor: pointer;
}

.aplazame-product-title p {
	margin: 0;
	color: rgb(44, 46, 47);
	font-size: 12px;
	font-family: inherit;
}

.aplazame-product-title img {
	width: 75px;
}

.aplazame-product-title span {
	color: #0070ba;
	font-weight: 500;
	font-size: 12px;
	font-family: inherit;
	text-decoration: underline;
	margin-left: 5px;
}

/* --- toggle --- */
.aplazame-product-container [data-aplazame-widget-instalments] {
	display: none;
}

.aplazame-product-container.displayingDropdown [data-aplazame-widget-instalments] {
	display: block;
}

/* --- ajustes internos del widget --- */
.aplazame-product-container .apz-widget-v5-wrapper {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
}

.aplazame-product-container .apz-widget-v5-wrapper-container {
	width: 100%;
}

.aplazame-product-container .apz-widget_content {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.aplazame-product-container .apz-widget_legal-advice {
	margin: 0;
	padding: 10px;
}

/* Insignias productos */
.dist-waterdrop,.dist-cintropur { display: none; }

body.product-id-manufacturer-38 .dist-cintropur { display: block; }
body.product-id-manufacturer-43 .dist-waterdrop { display: block; }


/* ===== Revi vertical (ZnGDoK6Agv) ===== */
/* Selector con ID duplicado para superar la especificidad de Revi */

.revi-widget-ZnGDoK6Agv {
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-element-title {
  display: none !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-element-wrapper,
#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-element-content,
#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-element-content-area {
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

/* Tarjeta */
#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-widget-vertical-1 {
  background: #FFFFFF !important;
  border: 1px solid #EEF3FC !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 16px rgba(22, 44, 83, 0.06) !important;
  padding: 20px 22px !important;
  box-sizing: border-box !important;
  font-family: 'Poppins', sans-serif !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-vertical__container {
  padding: 0 !important;
  margin: 0 !important;
}

/* Layout en columna con orden personalizado */
#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-vertical__layout {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  padding: 0 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-vertical__layout::before {
  content: "Opiniones de nuestros clientes" !important;
  order: 0 !important;
  display: block !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: #162C53 !important;
  margin-bottom: 10px !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-vertical__infoBlock {
  display: contents !important;
}

/* ===== Fila de valoración: estrellas + 5/5 + logo ===== */
#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-vertical__ratingRow {
  order: 1 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-vertical__stars {
  order: 1 !important;
  display: block !important;
  flex: 0 0 118px !important;
  width: 118px !important;
  height: 22px !important;
  margin: 0 !important;
  background: url("https://widgets.revi.io/build/images/stars/yellow/5-stars.svg") no-repeat left center / contain !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-vertical__stars img {
  display: none !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-vertical__rating {
  order: 2 !important;
  display: inline-flex !important;
  align-items: baseline !important;
  margin: 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: #162C53 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-vertical__rating div {
  display: inline !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #162C53 !important;
  margin: 0 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-vertical__logo {
  order: 3 !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-vertical__logo img {
  width: auto !important;
  height: 20px !important;
}

/* ===== Bloque de opiniones ===== */
#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-vertical__reviewsBlock {
  order: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__container {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 14px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__container + .revi-review__container {
  border-top: 1px solid #E1E8F2 !important;
}

/* Mostrar solo 2 opiniones */
#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__container:nth-child(n+3) {
  display: none !important;
}

/* 1. Texto de la opinión */
#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__container > .revi-style__a-fs {
  order: 1 !important;
  display: block !important;
  width: 100% !important;
  margin: 0 0 4px 0 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__content {
  margin: 0 !important;
  padding: 0 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__content > div {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  color: #162C53 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__content > div::before {
  content: "\201C" !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__content > div::after {
  content: "\201D" !important;
}

/* 2. Nombre + compra verificada */
#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__customer {
  order: 2 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__customer-name {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #162C53 !important;
  margin: 0 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__customer-verified {
  display: inline-flex !important;
  margin: 0 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__verified {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__verified .revi-resource__icon {
  display: none !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__verified::after {
  content: "\2713\00a0 Compra verificada" !important;
  display: inline !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #5B6B85 !important;
}

/* 3. Fecha, sin estrellas individuales */
#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__container > .revi-style__jc-sb {
  order: 3 !important;
  display: block !important;
  margin: 0 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__stars {
  display: none !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review-date-container {
  margin: 0 !important;
  padding: 0 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review-date-text {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #7A8699 !important;
}

/* Ocultar producto */
#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-review__container > .revi-style__mb-10 {
  display: none !important;
}

/* ===== Enlace "Ver todas las opiniones" ===== */
#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-vertical__externalLink {
  order: 3 !important;
  width: 100% !important;
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-view-all-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #162C53 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-view-all-link::after {
  content: "\2192" !important;
  display: inline-block !important;
  font-weight: 600 !important;
}

#revi-reviews-ZnGDoK6Agv#revi-reviews-ZnGDoK6Agv .revi-view-all-link:hover {
  color: #1CA439 !important;
  text-decoration: none !important;
}


/* Menos espacio entre el botón y los contactos */
#prestablog_ctr .ctr-btn {
  margin-bottom: 0 !important;
}

/* Contactos apilados en 2 líneas */
#prestablog_ctr .ctr-contacts {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  grid-template-columns: none;
  gap: 0;
  margin-top: 14px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

#prestablog_ctr .ctr-contacts::before,
#prestablog_ctr .ctr-contact::before,
#prestablog_ctr .ctr-contact::after {
  display: none !important;
}

/* Cada contacto alineado a la izquierda */
#prestablog_ctr .ctr-contact {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 8px;
  width: 100%;
  min-width: 0;
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 0 0 10px 0 !important;
  text-align: left !important;
  border: 0 !important;
}

/* Iconos ajustados a su tamaño real */
#prestablog_ctr .ctr-contact-icon {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#prestablog_ctr .ctr-contact-icon svg {
  width: 20px;
  height: 20px;
}

#prestablog_ctr .ctr-contact-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Separador de WhatsApp: arriba */
#prestablog_ctr .ctr-contact + .ctr-contact {
  border-top: 1px solid #E1E8F2 !important;
  padding: 10px 0 0 0 !important;
}
	  
/* =========================================================
   CARRITO (body#cart) · estilos alineados con ficha y categoría
   ========================================================= */

body#cart #main {
  font-family: 'Poppins', sans-serif;
  color: #33415C;
}

/* ===== Tarjetas base ===== */
body#cart .card {
  background: #FFFFFF !important;
  border: 1px solid #F3F3F3 !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

/* ===== Columna izquierda: productos ===== */
body#cart .cart-container {
  margin-bottom: 16px !important;
}

body#cart .cart-container > .card-block {
  padding: 24px 28px 4px 28px !important;
}

body#cart .cart-container h1.h1 {
  margin: 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: #162C53 !important;
  text-transform: none !important;
}

body#cart .cart-container hr.separator {
  display: none !important;
}

body#cart .cart-overview {
  padding: 0 28px 8px 28px !important;
}

body#cart .cart-items {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#cart .cart-item {
  padding: 20px 0 !important;
  border-bottom: 1px solid #E1E8F2 !important;
}

body#cart .cart-item:last-child {
  border-bottom: 0 !important;
}

/* Línea de producto en flex, fuera las columnas flotantes de Bootstrap */
body#cart .product-line-grid {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}

body#cart .product-line-grid > .clearfix,
body#cart .product-line-grid-body > br {
  display: none !important;
}

body#cart .product-line-grid [class*="col-"] {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body#cart .product-line-grid .row {
  margin: 0 !important;
}

body#cart .product-line-grid .row::after {
  display: none !important;
}

/* Imagen */
body#cart .product-line-grid-left {
  flex: 0 0 96px;
}

body#cart .product-line-grid-left .product-image {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 96px;
  padding: 8px;
  box-sizing: border-box;
  background: #FFFFFF;
  border: 1px solid #E1E8F2;
  border-radius: 12px;
  overflow: hidden;
}

body#cart .product-line-grid-left .product-image img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain;
}

/* Nombre y precio unitario */
body#cart .product-line-grid-body {
  flex: 1 1 220px;
  min-width: 0;
}

body#cart .product-line-grid-body .product-line-info {
  margin: 0 !important;
}

body#cart .product-line-grid-body a.label {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  color: #162C53 !important;
  text-decoration: none !important;
}

body#cart .product-line-grid-body a.label:hover {
  color: #178A30 !important;
}

body#cart .product-line-grid-body .product-price {
  margin-top: 6px !important;
}

body#cart .product-line-grid-body .current-price .price {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #5A6A85 !important;
}

body#cart .product-line-grid-body .product-discount .regular-price {
  font-size: 13px;
  color: #5A6A85;
  text-decoration: line-through;
}

body#cart .product-line-grid-body .discount {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 8px;
  background: #1CA439 !important;
  border-radius: 999px;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
}

/* Cantidad, total de línea y eliminar */
body#cart .product-line-grid-right {
  flex: 0 0 auto;
}

body#cart .product-line-grid-right > .row {
  display: flex !important;
  align-items: center;
  gap: 16px;
}

body#cart .product-line-grid-right .hidden-md-up:empty {
  display: none !important;
}

body#cart .product-line-grid-right .col-md-10 > .row {
  display: flex !important;
  align-items: center;
  gap: 20px;
}

/* Selector de cantidad compacto */
body#cart .bootstrap-touchspin {
  display: inline-flex !important;
  align-items: stretch;
  width: auto !important;
  height: 44px;
  background: #FFFFFF;
  border: 1px solid #E1E8F2 !important;
  border-radius: 10px;
  box-shadow: none !important;
  overflow: hidden;
}

body#cart .bootstrap-touchspin .input-group-addon {
  display: none !important;
}

body#cart .bootstrap-touchspin input.js-cart-line-product-quantity {
  width: 52px !important;
  height: 42px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #162C53 !important;
  text-align: center;
  -moz-appearance: textfield;
}

body#cart .bootstrap-touchspin input.js-cart-line-product-quantity::-webkit-inner-spin-button,
body#cart .bootstrap-touchspin input.js-cart-line-product-quantity::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

body#cart .bootstrap-touchspin .input-group-btn-vertical {
  display: flex !important;
  flex-direction: column;
  width: 30px;
  border-left: 1px solid #E1E8F2;
}

body#cart .bootstrap-touchspin .btn-touchspin {
  position: static !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex: 1 1 50%;
  width: 30px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #F5F7FA !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #162C53 !important;
  transition: background-color .2s ease;
}

body#cart .bootstrap-touchspin .bootstrap-touchspin-down {
  border-top: 1px solid #E1E8F2 !important;
}

body#cart .bootstrap-touchspin .btn-touchspin:hover {
  background: #EEF3FC !important;
}

body#cart .bootstrap-touchspin .btn-touchspin i.material-icons {
  position: static !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: #162C53 !important;
}

/* Total de la línea */
body#cart .product-line-grid-right .price {
  min-width: 90px;
  text-align: right;
}

body#cart .product-line-grid-right .price .product-price strong {
  font-family: 'Poppins', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #162C53 !important;
  white-space: nowrap;
}

/* Eliminar */
body#cart .cart-line-product-actions .remove-from-cart {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  color: #5A6A85 !important;
  transition: background-color .2s ease, color .2s ease;
}

body#cart .cart-line-product-actions .remove-from-cart i {
  float: none !important;
  margin: 0 !important;
  font-size: 20px !important;
  color: inherit !important;
}

body#cart .cart-line-product-actions .remove-from-cart:hover {
  background: #FDECEA;
  color: #D93025 !important;
}

/* Continuar comprando */
body#cart .cart-grid-body > a.label {
  display: inline-flex !important;
  align-items: center;
  gap: 2px;
  margin: 4px 0 24px 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #178A30 !important;
  text-decoration: none !important;
}

body#cart .cart-grid-body > a.label i {
  font-size: 20px !important;
}

body#cart .cart-grid-body > a.label:hover {
  color: #162C53 !important;
}

/* ===== Columna derecha: resumen ===== */
body#cart .cart-grid-right .cart-summary {
  position: sticky;
  top: 20px;
  margin-bottom: 16px !important;
  padding: 0 !important;
}

/* Aplazame: espacio interior respecto a los bordes de la tarjeta */
body#cart .cart-grid-right .cart-summary .aplazame-wrapper {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 20px 22px 4px 22px !important;
  box-sizing: border-box !important;
}

body#cart .cart-grid-right .cart-summary .aplazame-wrapper .aplazame-product-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body#cart .cart-grid-right .cart-summary .aplazame-wrapper [data-aplazame-widget-instalments] {
  max-width: 100% !important;
  margin: 0 !important;
}

body#cart .cart-detailed-subtotals {
  padding: 18px 22px 8px 22px !important;
  border: 0 !important;
}

body#cart .cart-summary-line {
  display: flex !important;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin: 0 0 10px 0 !important;
}

body#cart .cart-summary-line::after {
  display: none !important;
}

body#cart .cart-summary-line .label,
body#cart .cart-summary-line .value {
  float: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  color: #33415C !important;
}

body#cart .cart-summary-line .value {
  font-weight: 600 !important;
  color: #162C53 !important;
  white-space: nowrap;
}

body#cart .cart-summary-line > div:has(small.value:empty) {
  display: none !important;
}

/* Totales: un único separador de ancho completo */
body#cart .cart-summary-totals {
  padding: 16px 22px !important;
  border-top: 1px solid #E1E8F2 !important;
}

body#cart .cart-summary-totals hr {
  display: none !important;
}

body#cart .cart-summary-totals .cart-summary-line,
body#cart .cart-summary-totals .cart-total {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body#cart .cart-summary-totals .cart-total .label {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #162C53 !important;
}

body#cart .cart-summary-totals .cart-total .value {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #162C53 !important;
}

/* Botón finalizar compra */
body#cart .cart-detailed-actions {
  padding: 0 22px 22px 22px !important;
  border: 0 !important;
}

body#cart .cart-detailed-actions .text-sm-center {
  text-align: left !important;
}

body#cart .cart-detailed-actions .btn-primary {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: 56px !important;
  padding: 0 24px !important;
  background: #1CA439 !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 16px rgba(28, 164, 57, 0.25) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  text-transform: none !important;
  transition: background-color .2s ease;
}

body#cart .cart-detailed-actions .btn-primary:hover {
  background: #178A30 !important;
}

body#cart .cart-detailed-actions .btn-primary.disabled {
  background: #E1E8F2 !important;
  box-shadow: none !important;
  color: #5A6A85 !important;
}

body#cart #stripe-express-checkout-element:not(:empty),
body#cart #payment-method-messaging-element:not(:empty) {
  margin-top: 12px;
}

/* ===== Bloque de confianza (blockreassurance) ===== */
body#cart .blockreassurance_product {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px 22px;
  background: #FFFFFF;
  border: 1px solid #F3F3F3;
  border-radius: 16px;
}

body#cart .blockreassurance_product > div {
  display: grid;
  grid-template-columns: 40px 1fr;
  column-gap: 12px;
  align-items: center;
  margin: 0 !important;
}

body#cart .blockreassurance_product > .clearfix {
  display: none !important;
}

body#cart .blockreassurance_product .item-product {
  grid-row: span 2;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0 !important;
  background: #EEF3FC;
  border-radius: 10px;
  font-size: 0;
}

body#cart .blockreassurance_product .item-product svg {
  width: 26px !important;
  height: 26px !important;
}

body#cart .blockreassurance_product .item-product svg path {
  fill: #1CA439 !important;
}

body#cart .blockreassurance_product .block-title {
  display: block;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4;
  color: #162C53 !important;
}

body#cart .blockreassurance_product p {
  margin: 2px 0 0 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.45;
  color: #5A6A85 !important;
}

/* ===== Productos relacionados del carrito: fuera si no hay ninguno ===== */
body#cart .ets_crosssell_block.ets_crosssell_cart_page:not(:has([data-elementor-type="product-miniature"])) {
  display: none !important;
}

/* ===== Responsive ===== */
@media (max-width: 991px) {
  body#cart .cart-grid-right .cart-summary {
    position: static;
  }
}

@media (max-width: 575px) {
  body#cart .cart-container > .card-block {
    padding: 20px 18px 4px 18px !important;
  }

  body#cart .cart-overview {
    padding: 0 18px 8px 18px !important;
  }

  body#cart .cart-grid-right .cart-summary .aplazame-wrapper {
    padding: 18px 18px 4px 18px !important;
  }

  body#cart .product-line-grid {
    gap: 12px;
  }

  body#cart .product-line-grid-left {
    flex: 0 0 72px;
  }

  body#cart .product-line-grid-left .product-image {
    width: 72px;
    height: 72px;
  }

  body#cart .product-line-grid-body {
    flex: 1 1 0;
  }

  body#cart .product-line-grid-right {
    flex: 1 1 100%;
    padding-left: 84px !important;
  }

  body#cart .product-line-grid-right > .row {
    justify-content: space-between;
  }
}

/* =========================================================
   ETS CROSSSELL · Relacionados en ficha de producto y carrito
   No afecta a las tarjetas de la categoría
   ========================================================= */

/* ===== Sección de CE que contiene el shortcode en la ficha (clase: ce-crosssell-section) =====
   Se oculta si no hay ninguna tarjeta de producto. No aplica en el editor de CE */
body:not(.elementor-editor-active) .elementor-section.ce-crosssell-section:not(:has([data-elementor-type="product-miniature"])) {
  display: none !important;
}

/* ===== Bloque ===== */
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) {
  margin: 0 !important;
  padding: 28px 30px !important;
  background: #FFFFFF !important;
  border: 1px solid #F3F3F3 !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif;
}

/* Carrito: separación con el resumen */
body#cart .ets_crosssell_block.ets_crosssell_cart_page {
  margin: 24px 0 0 0 !important;
}

/* Sin ninguna tarjeta de producto: el bloque desaparece */
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page):not(:has([data-elementor-type="product-miniature"])) {
  display: none !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) > ul {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .ets_crosssell_list_blocks {
  position: relative;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Secciones sin productos: fuera */
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .ets_crosssell_list_blocks:has(.no-product) {
  display: none !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .ets_crosssell_list_blocks > .clearfix {
  display: none !important;
}

/* ===== Título ===== */
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .ets_crosssell_title {
  margin: 0 0 22px 0 !important;
  padding: 0 104px 0 0 !important;
  background: none !important;
  border: 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: #162C53 !important;
  text-transform: none !important;
  text-align: left !important;
}

/* ===== Contenedores del carrusel ===== */
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .tab_content,
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .featured-products.product_list {
  margin: 0 !important;
  padding: 0 !important;
}

/* En el carrito el carrusel lleva las clases "products row" del tema: fuera flex y márgenes negativos */
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .crosssell_product_list_wrapper {
  position: relative !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .slick-list {
  margin: 0 -9px !important;
  padding: 4px 0 8px 0 !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .slick-track {
  display: flex !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .slick-slide {
  display: flex !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  float: none !important;
  height: auto !important;
  padding: 0 9px !important;
  box-sizing: border-box !important;
}

/* ===== Tarjeta ===== */
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .slick-slide > article.elementor-section-wrap {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  background: #FFFFFF !important;
  border: 1px solid #E1E8F2 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: box-shadow .25s ease, transform .25s ease, border-color .2s ease;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .slick-slide > article.elementor-section-wrap:hover {
  border-color: #D2DEEE !important;
  box-shadow: 0 4px 12px rgba(22, 44, 83, 0.08);
  transform: translateY(-2px);
}

/* Reset de los contenedores internos de la miniatura CE */
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-section,
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-container,
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-row,
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-column,
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-column-wrap,
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-wrap {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 0 !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget {
  min-width: 0;
  margin: 0 !important;
}

/* ===== Imagen: absoluta dentro de un cuadro, no aporta tamaño a la tarjeta ===== */
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-image {
  flex: 0 0 100% !important;
  width: 100% !important;
  border-bottom: 1px solid #E1E8F2;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-image .ce-product-image {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1;
  margin: 0 !important;
  padding: 0 !important;
  background: #FFFFFF !important;
  overflow: hidden;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-image .ce-product-image a {
  position: absolute !important;
  top: 20px;
  right: 20px;
  bottom: 20px;
  left: 20px;
  display: block !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

/* ===== Nombre ===== */
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-name {
  flex: 0 0 100% !important;
  width: 100% !important;
  padding: 15px 15px 0 15px !important;
  box-sizing: border-box !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-name .ce-product-name {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: 2.8em;
  margin: 0 0 12px 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: #33415C !important;
  text-align: left !important;
  text-transform: none !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-name .ce-product-name a {
  color: inherit !important;
  text-decoration: none !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article:hover .ce-product-name a {
  color: #162C53 !important;
}

/* ===== Pie: precio + botón ===== */
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget.elementor-widget-product-miniature-price {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0;
  margin: 0 0 15px 15px !important;
  padding: 12px 0 0 0 !important;
  border-top: 1px solid #E1E8F2;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-price .elementor-widget-container,
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-price .ce-product-prices {
  display: flex !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  text-align: left !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-price .ce-product-price,
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-price .ce-product-price span:not(.screen-reader-text) {
  font-family: 'Poppins', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #162C53 !important;
  white-space: nowrap;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget.elementor-widget-product-miniature-add-to-cart {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 15px 15px 0 !important;
  padding: 12px 0 0 8px !important;
  border-top: 1px solid #E1E8F2;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-add-to-cart .elementor-widget-container {
  width: auto !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-add-to-cart .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: 38px !important;
  padding: 0 13px !important;
  background: #1CA439 !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif !important;
  color: #FFFFFF !important;
  white-space: nowrap;
  opacity: 1 !important;
  transition: background-color .2s ease;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article:hover .elementor-widget-product-miniature-add-to-cart .elementor-button {
  background: #178A30 !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-add-to-cart .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-add-to-cart .elementor-button-icon {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

/* Texto corto: "Añadir" (o "Ver" en productos con combinaciones) */
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-add-to-cart .elementor-button-text {
  font-size: 0 !important;
  line-height: 1 !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-add-to-cart .elementor-button-text::after {
  content: "Añadir";
  font-family: 'Poppins', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-add-to-cart .elementor-button:has(.fa-eye) .elementor-button-text::after {
  content: "Ver";
}

/* Producto no disponible para añadir directamente */
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article .elementor-widget-product-miniature-add-to-cart .elementor-button[aria-disabled="true"]:not(:has(.fa-eye)),
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) article:hover .elementor-widget-product-miniature-add-to-cart .elementor-button[aria-disabled="true"]:not(:has(.fa-eye)) {
  background: #EEF3FC !important;
  color: #5A6A85 !important;
  cursor: default;
}

/* ===== Flechas del carrusel: chevron SVG como fondo del botón ===== */
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .crosssell_product_list_wrapper .slick-arrow {
  position: absolute !important;
  top: -60px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 2;
  display: block !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #E1E8F2 !important;
  border-radius: 50% !important;
  background-color: #FFFFFF !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 18px 18px !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: -9999px;
  overflow: hidden;
  opacity: 1 !important;
  transform: none !important;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .crosssell_product_list_wrapper .slick-arrow::before,
.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .crosssell_product_list_wrapper .slick-arrow::after {
  content: none !important;
  display: none !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .crosssell_product_list_wrapper .slick-prev {
  right: 48px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23162C53' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E") !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .crosssell_product_list_wrapper .slick-next {
  right: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23162C53' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .crosssell_product_list_wrapper .slick-arrow:hover {
  border-color: #162C53 !important;
  background-color: #F5F7FA !important;
}

.ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .crosssell_product_list_wrapper .slick-arrow.slick-disabled {
  opacity: 0.4 !important;
  cursor: default;
}

/* ===== Móvil ===== */
@media (max-width: 767px) {
  .ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) {
    padding: 20px 18px !important;
  }
}

@media (max-width: 479px) {
  .ets_crosssell_block:is(.ets_crosssell_product_page, .ets_crosssell_cart_page) .ets_crosssell_title {
    font-size: 19px !important;
  }
}


/* BANNER ENLACE A BLOG */

.banner-blog {
    max-width: 55%;
    padding: 1em;
    min-height: 100px;
    background-color: #E7FFE8;
    background-image: url('/img/banner-agent.svg');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: 15%;
}

.banner-blog .banner-blog-inner{
    margin-right: 6em;
}

/* Tablet */
@media (max-width: 991px) {
    .banner-blog {
        max-width: 100%;
        background-size: 18%;
    }

    .banner-blog .banner-blog-inner {
        margin-right: 5em;
    }
}

/* Móvil */
@media (max-width: 767px) {
    .banner-blog {
        max-width: 100%;
        padding: 1em;
        background-size: 80px auto;
    }

    .banner-blog .banner-blog-inner {
        margin-right: 70px;
    }
}

/* Móvil pequeño */
@media (max-width: 480px) {
    .banner-blog {
        background-size: 65px auto;
        background-position: right 10px bottom 10px;
    }

    .banner-blog .banner-blog-inner {
        margin-right: 55px;
    }
}

/* =========================================================
   CHECKOUT (body#checkout) · One Page Checkout PS
   Estilos alineados con carrito, ficha y categoría
   ========================================================= */

body#checkout #opc_main {
  font-family: 'Poppins', sans-serif;
  color: #33415C;
}

/* ===== Rejilla principal: pasos + carrito, alineada con la barra de pasos ===== */
body#checkout #opc_main #opc_content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout #opc_main #opc_content::before,
body#checkout #opc_main #opc_content::after {
  display: none !important;
}

body#checkout #opc_main #opc_content > [class*="col-"] {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout #opc_main #opc_content > .col-lg-12 {
  grid-column: 1 / -1;
}

/* Contenedores internos de los pasos: sin padding lateral propio del módulo */
body#checkout #opc_main #opc_content_main #opc_steps,
body#checkout #opc_main #opc_content_main #opc_steps_content,
body#checkout #opc_main #opc_content_main .opc-step {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Móvil y tablet: el carrito va primero, justo debajo del botón que lo despliega */
@media (max-width: 991px) {
  body#checkout #opc_main #opc_content > #opc_content_side {
    order: -1;
  }
}

@media (min-width: 992px) {
  body#checkout #opc_main #opc_content {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 24px;
    align-items: start;
  }
}

/* ===== Barra de pasos ===== */
body#checkout #opc_main #breadcrumb {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 0 0 20px 0 !important;
  padding: 14px 20px !important;
  background: #FFFFFF !important;
  border: 1px solid #F3F3F3 !important;
  border-radius: 16px !important;
}

body#checkout #opc_main #breadcrumb .item-breadcrumb {
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #5A6A85 !important;
}

body#checkout #opc_main #breadcrumb .item-breadcrumb.font-weight-bold {
  font-weight: 600 !important;
  color: #162C53 !important;
}

body#checkout #opc_main #breadcrumb .material-icons {
  font-size: 18px !important;
  color: #C3CEDD !important;
}

/* ===== Botón de carrito en móvil: solo por debajo de 992px ===== */
body#checkout #opc_main #opc_mobile_cart_trigger.btn-primary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 0;
  margin: 0 0 16px 0 !important;
  padding: 14px 18px !important;
  background: #FFFFFF !important;
  border: 1px solid #E1E8F2 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #162C53 !important;
  text-transform: none !important;
  cursor: pointer;
}

/* Todo el contenido en navy: el módulo lo pinta en blanco para su fondo verde */
body#checkout #opc_main #opc_mobile_cart_trigger.btn-primary,
body#checkout #opc_main #opc_mobile_cart_trigger.btn-primary * {
  color: #162C53 !important;
}

body#checkout #opc_main #opc_mobile_cart_trigger.btn-primary:hover {
  background: #F5F7FA !important;
}

/* Textos "Mostrar / Ocultar mi carrito": sin !important en display,
   para que el display:none en línea del módulo siga alternándolos */
body#checkout #opc_main #opc_mobile_cart_trigger #cart_total_label_open,
body#checkout #opc_main #opc_mobile_cart_trigger #cart_total_label_close {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px !important;
  font-weight: 600 !important;
}

body#checkout #opc_main #opc_mobile_cart_trigger #cart_total_value {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}

body#checkout #opc_main #opc_mobile_cart_trigger .material-icons {
  font-size: 20px !important;
  vertical-align: middle;
}

body#checkout #opc_main #opc_mobile_cart_trigger .value_formatted {
  font-weight: 700 !important;
}

@media (min-width: 992px) {
  body#checkout #opc_main #opc_mobile_cart_trigger {
    display: none !important;
  }
}

/* ===== Tarjetas de cada paso ===== */
body#checkout #opc_main .opc-step > .card {
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  background: #FFFFFF !important;
  border: 1px solid #F3F3F3 !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  overflow: hidden;
}

body#checkout #opc_main .opc-step-header {
  padding: 20px 24px !important;
  background: #FFFFFF !important;
  border-bottom: 1px solid #E1E8F2 !important;
}

body#checkout #opc_main .opc-step-header h5 {
  margin: 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: #162C53 !important;
  text-transform: none !important;
}

body#checkout #opc_main .opc-step-header .line-title {
  display: none !important;
}

body#checkout #opc_main .opc-step-content {
  padding: 24px !important;
}

body#checkout #opc_main .opc-step-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 24px 24px 24px !important;
  background: transparent !important;
  border: 0 !important;
}

body#checkout #opc_main .opc-step-footer:empty {
  display: none !important;
}

/* ===== Campos de formulario ===== */
body#checkout #opc_main label,
body#checkout #opc_main .control-label {
  display: block;
  margin: 0 0 6px 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #162C53 !important;
  text-align: left !important;
}

body#checkout #opc_main label sup {
  color: #D93025;
  font-size: 12px;
}

body#checkout #opc_main .form-group {
  margin-bottom: 16px !important;
}

body#checkout #opc_main .form-control,
body#checkout #opc_main select.form-control {
  width: 100% !important;
  height: 46px !important;
  padding: 0 14px !important;
  background: #FFFFFF !important;
  border: 1px solid #E1E8F2 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  color: #162C53 !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}

body#checkout #opc_main textarea.form-control {
  height: auto !important;
  min-height: 96px;
  padding: 12px 14px !important;
}

body#checkout #opc_main .form-control::placeholder {
  color: #9AA7BA !important;
}

body#checkout #opc_main .form-control:focus {
  border-color: #1CA439 !important;
  box-shadow: 0 0 0 3px rgba(28, 164, 57, 0.15) !important;
  outline: 0 !important;
}

body#checkout #opc_main .form-control-comment,
body#checkout #opc_main .form-control-comment em {
  display: block;
  margin-top: 6px;
  font-size: 12px !important;
  font-style: normal !important;
  line-height: 1.45;
  color: #5A6A85 !important;
}

/* Casillas: texto en normal, no en negrita */
body#checkout #opc_main label:has(> input[type="checkbox"]),
body#checkout #opc_main label:has(> input[type="radio"]) {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400 !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: #33415C !important;
}

body#checkout #opc_main label em {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-style: normal;
  color: #5A6A85;
}

body#checkout #opc_main label a {
  color: #178A30 !important;
  font-weight: 600;
  text-decoration: none !important;
}

body#checkout #opc_main input[type="checkbox"],
body#checkout #opc_main input[type="radio"] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 2px 0 0 0 !important;
  accent-color: #1CA439;
  cursor: pointer;
}

/* ===== Botones ===== */
body#checkout #opc_main .btn-primary:not(#opc_mobile_cart_trigger) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 48px;
  padding: 0 22px !important;
  background: #1CA439 !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 16px rgba(28, 164, 57, 0.22) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: normal;
  transition: background-color .2s ease;
}

body#checkout #opc_main .btn-primary:not(#opc_mobile_cart_trigger):hover,
body#checkout #opc_main .btn-primary:not(#opc_mobile_cart_trigger):focus {
  background: #178A30 !important;
  color: #FFFFFF !important;
}

body#checkout #opc_main .btn-secondary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 48px;
  padding: 0 18px !important;
  background: #FFFFFF !important;
  border: 1px solid #E1E8F2 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #162C53 !important;
  text-transform: none !important;
  transition: border-color .2s ease, background-color .2s ease;
}

body#checkout #opc_main .btn-secondary:hover {
  border-color: #162C53 !important;
  background: #F5F7FA !important;
}

body#checkout #opc_main .btn-secondary .material-icons {
  font-size: 20px;
}

/* ===== Paso 1: iniciar sesión / nuevo cliente ===== */
body#checkout #opc_login > .title {
  display: none !important;
}

body#checkout #opc_login #form-login {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
}

body#checkout #opc_login .column-login,
body#checkout #opc_login .column-register {
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout #opc_login .title {
  margin: 0 0 16px 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #162C53 !important;
  text-align: left !important;
}

body#checkout #opc_login #btn_login_content {
  margin-top: 4px !important;
}

body#checkout #opc_login .forget_password {
  margin: 0 0 14px 0 !important;
  text-align: left;
}

body#checkout #opc_login .forget_password a {
  font-size: 13px !important;
  font-weight: 600;
  color: #178A30 !important;
  text-decoration: none !important;
}

body#checkout #opc_login .forget_password a:hover {
  color: #162C53 !important;
}

body#checkout #opc_main #opc_login #btn-opc_login,
body#checkout #opc_main #opc_login #btn-opc_register {
  display: flex !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Nuevo cliente: botón de registro en blanco para no competir con "Iniciar sesión" */
body#checkout #opc_main #opc_login #btn-opc_register {
  background: #FFFFFF !important;
  border: 1px solid #1CA439 !important;
  box-shadow: none !important;
  color: #178A30 !important;
}

body#checkout #opc_main #opc_login #btn-opc_register:hover,
body#checkout #opc_main #opc_login #btn-opc_register:focus {
  background: #F4FBF6 !important;
  color: #178A30 !important;
}

/* Login social: "O bien" con líneas, encima del botón de Google */
body#checkout #opc_main .ets_solo_social_wrapper {
  margin: 0 !important;
}

body#checkout #opc_main .ets_solo_wrapper_content {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
}

body#checkout #opc_main .ets_solo_or {
  order: 1;
  display: flex !important;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 18px 0 !important;
  padding: 0 !important;
  background: none !important;
  font-size: 13px !important;
  color: #5A6A85 !important;
  position: static !important;
}

body#checkout #opc_main .ets_solo_or::before,
body#checkout #opc_main .ets_solo_or::after {
  content: "" !important;
  display: block !important;
  flex: 1 1 auto;
  height: 1px;
  background: #E1E8F2;
  position: static !important;
  width: auto !important;
  border: 0 !important;
}

body#checkout #opc_main .ets_solo_or span {
  padding: 0 !important;
  background: none !important;
}

body#checkout #opc_main .ets_solo_social {
  order: 2;
  display: flex;
  flex-direction: column;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#checkout #opc_main .ets_solo_social_item {
  display: flex !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
}

body#checkout #opc_main .ets_solo_social_btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  padding: 0 20px !important;
  background: #FFFFFF !important;
  border: 1px solid #E1E8F2 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #162C53 !important;
  transition: border-color .2s ease, background-color .2s ease;
}

body#checkout #opc_main .ets_solo_social_item:hover .ets_solo_social_btn {
  border-color: #162C53 !important;
  background: #F5F7FA !important;
}

body#checkout #opc_main .ets_solo_social_btn svg {
  width: 20px !important;
  height: 20px !important;
}

@media (min-width: 768px) {
  body#checkout #opc_login #form-login {
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }

  body#checkout #opc_login .column-login {
    padding-right: 28px !important;
  }

  body#checkout #opc_login .column-register {
    padding-left: 28px !important;
    border-left: 1px solid #E1E8F2;
  }
}

/* ===== Columna derecha: carrito ===== */
body#checkout #opc_cart {
  position: sticky;
  top: 20px;
  margin: 0 0 16px 0 !important;
  background: #FFFFFF !important;
  border: 1px solid #F3F3F3 !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  overflow: hidden;
}

body#checkout #opc_cart #cart_body {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#checkout #opc_cart #opc_cart_title {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 22px !important;
  border-bottom: 1px solid #E1E8F2 !important;
  background: #FFFFFF !important;
}

body#checkout #opc_cart #opc_cart_title_text {
  margin: 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #162C53 !important;
  text-transform: none !important;
}

/* Número de productos: pastilla azul corporativo con texto blanco */
body#checkout #opc_cart #opc_cart_total_products {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  padding: 5px 12px !important;
  background: #162C53 !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: #FFFFFF !important;
  white-space: nowrap;
}

body#checkout #opc_cart #opc_cart_total_products span {
  background: none !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

body#checkout #opc_cart #opc_cart_body {
  padding: 0 22px !important;
}

/* Líneas de producto */
body#checkout #opc_cart .media-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#checkout #opc_cart .media-list > li.media {
  display: flex !important;
  align-items: flex-start;
  gap: 14px;
  margin: 0 !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid #E1E8F2 !important;
}

body#checkout #opc_cart .media-left {
  flex: 0 0 72px;
  padding: 0 !important;
}

body#checkout #opc_cart .media-left a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  padding: 6px;
  box-sizing: border-box;
  background: #FFFFFF;
  border: 1px solid #E1E8F2;
  border-radius: 12px;
  overflow: hidden;
}

body#checkout #opc_cart .media-left img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain;
}

body#checkout #opc_cart .media-body {
  display: flex !important;
  flex: 1 1 auto;
  gap: 12px;
  min-width: 0;
  padding: 0 !important;
}

body#checkout #opc_cart .media-body-left {
  flex: 1 1 auto;
  min-width: 0;
}

body#checkout #opc_cart .product-detail .product-name {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin: 0 0 4px 0;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  color: #162C53 !important;
}

body#checkout #opc_cart .product-detail .product-price-label,
body#checkout #opc_cart .product-detail .product-price {
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: #5A6A85 !important;
}

body#checkout #opc_cart .product-qty-price {
  display: flex !important;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

body#checkout #opc_cart .media-body-right {
  flex: 0 0 auto;
  padding: 0 !important;
  text-align: right;
}

body#checkout #opc_cart .product-total-price {
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #162C53 !important;
  white-space: nowrap;
}

/* Selector de cantidad compacto */
body#checkout #opc_cart .bootstrap-touchspin {
  display: inline-flex !important;
  align-items: stretch;
  width: auto !important;
  height: 36px;
  background: #FFFFFF;
  border: 1px solid #E1E8F2 !important;
  border-radius: 10px;
  box-shadow: none !important;
  overflow: hidden;
}

body#checkout #opc_cart .bootstrap-touchspin input.opc-cart-line-product-quantity {
  width: 42px !important;
  height: 34px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #162C53 !important;
  text-align: center;
}

body#checkout #opc_cart .bootstrap-touchspin .input-group-btn-vertical {
  display: flex !important;
  flex-direction: column;
  width: 26px;
  border-left: 1px solid #E1E8F2;
}

body#checkout #opc_cart .bootstrap-touchspin .btn-touchspin {
  position: static !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex: 1 1 50%;
  width: 26px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #F5F7FA !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #162C53 !important;
}

body#checkout #opc_cart .bootstrap-touchspin .bootstrap-touchspin-down {
  border-top: 1px solid #E1E8F2 !important;
}

body#checkout #opc_cart .bootstrap-touchspin .btn-touchspin:hover {
  background: #EEF3FC !important;
}

body#checkout #opc_cart .bootstrap-touchspin .btn-touchspin:disabled {
  opacity: 0.45;
  cursor: default;
}

body#checkout #opc_cart .bootstrap-touchspin .btn-touchspin i.material-icons {
  position: static !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: #162C53 !important;
}

/* Eliminar */
body#checkout #opc_cart .remove-from-cart {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  color: #5A6A85 !important;
  transition: background-color .2s ease, color .2s ease;
}

body#checkout #opc_cart .remove-from-cart i {
  font-size: 19px !important;
  color: inherit !important;
}

body#checkout #opc_cart .remove-from-cart:hover {
  background: #FDECEA;
  color: #D93025 !important;
}

/* Subtotales y total */
body#checkout #opc_cart .cart-summary-subtotals-container {
  padding: 16px 0 6px 0 !important;
  border: 0 !important;
}

body#checkout #opc_cart .cart-summary-line {
  display: flex !important;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}

body#checkout #opc_cart .cart-summary-line::after {
  display: none !important;
}

body#checkout #opc_cart .cart-summary-line .label,
body#checkout #opc_cart .cart-summary-line .value {
  float: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  color: #33415C !important;
}

body#checkout #opc_cart .cart-summary-line .value {
  font-weight: 600 !important;
  color: #162C53 !important;
  white-space: nowrap;
}

body#checkout #opc_cart .cart-summary-totals {
  margin: 0 -22px !important;
  padding: 16px 22px 20px 22px !important;
  background: none !important;
  border-top: 1px solid #E1E8F2 !important;
}

body#checkout #opc_cart .cart-summary-totals .cart-total {
  margin: 0 !important;
}

body#checkout #opc_cart .cart-summary-totals .cart-total .label {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #162C53 !important;
}

body#checkout #opc_cart .cart-summary-totals .cart-total .value {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #162C53 !important;
}

/* ===== Pie del carrito ===== */
body#checkout #cart_footer {
  padding: 0 22px 22px 22px !important;
  background: transparent !important;
  border: 0 !important;
}

/* ===== Bloque de confianza (sin depender de #opc_cart) ===== */
body#checkout .blockreassurance_product {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 0 0 16px 0 !important;
  padding: 14px 0 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #E1E8F2 !important;
}

body#checkout .blockreassurance_product > div {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: center;
}

body#checkout .blockreassurance_product > .clearfix {
  display: none !important;
}

body#checkout .blockreassurance_product .item-product {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #EEF3FC !important;
  border-radius: 10px;
  font-size: 0 !important;
  float: none !important;
}

body#checkout .blockreassurance_product .item-product svg,
body#checkout .blockreassurance_product .item-product img {
  width: 24px !important;
  height: 24px !important;
}

body#checkout .blockreassurance_product .item-product svg path {
  fill: #1CA439 !important;
}

body#checkout .blockreassurance_product .block-title {
  display: block;
  margin: 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #162C53 !important;
}

body#checkout .blockreassurance_product > div:hover .block-title {
  color: #178A30 !important;
}

/* Aplazame */
body#checkout #cart_footer .aplazame-wrapper {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout #cart_footer .aplazame-wrapper .aplazame-product-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* ===== Responsive ===== */
@media (max-width: 991px) {
  body#checkout #opc_cart {
    position: static;
  }
}

@media (max-width: 575px) {
  body#checkout #opc_main .opc-step-header {
    padding: 18px !important;
  }

  body#checkout #opc_main .opc-step-content {
    padding: 18px !important;
  }

  body#checkout #opc_main .opc-step-footer {
    padding: 0 18px 18px 18px !important;
  }

  body#checkout #opc_main .opc-step-footer .btn {
    flex: 1 1 0;
  }
}

/* =========================================================
   BANNER ENLACE A BLOG en categoria (.help-banner.banner-blog)
   .right = texto (izquierda) · .left = imagen (derecha)
   ========================================================= */

.help-banner.banner-blog {
  display: flex;
  align-items: stretch;
  gap: 20px;
  max-width: 55%;
  min-height: 0;
  margin: 0 0 24px 0;
  padding: 0 24px 0 20px;
  background: #E7FFE8 !important;
  background-image: none !important;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}

/* Texto */
.help-banner.banner-blog .right {
  flex: 1 1 auto;
  align-self: center;
  min-width: 0;
  margin: 0;
  padding: 16px 0;
}

.help-banner.banner-blog .right p {
  margin: 0;
}

.help-banner.banner-blog .right .h6 {
  margin: 0 0 14px 0;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  color: #1CA439;
  text-transform: none;
}

/* Enlace a la guía */
.help-banner.banner-blog .right a {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  color: #162C53;
  text-decoration: none;
  transition: color .2s ease;
}

.help-banner.banner-blog .right a strong {
  font-weight: 600;
  color: inherit;
}

.help-banner.banner-blog .right a:hover {
  color: #178A30;
}

.help-banner.banner-blog .right a:focus-visible {
  outline: 3px solid rgba(28, 164, 57, 0.4);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Imagen: abajo a la derecha, apoyada en el borde inferior, 125px como máximo */
.help-banner.banner-blog .left {
  display: flex;
  align-items: flex-end;
  flex: 0 0 auto;
  align-self: flex-end;
  width: auto !important;
  max-width: 125px !important;
  margin: 0;
  padding-top: 12px;
  line-height: 0;
}

.help-banner.banner-blog .left img {
  display: block;
  width: auto !important;
  max-width: 125px !important;
  max-height: 125px !important;
  height: auto !important;
}

/* Tablet */
@media (max-width: 991px) {
  .help-banner.banner-blog {
    max-width: 100%;
  }
}

/* Móvil */
@media (max-width: 767px) {
  .help-banner.banner-blog {
    gap: 14px;
    padding: 0 16px 0 16px;
  }

  .help-banner.banner-blog .right {
    padding: 14px 0;
  }

  .help-banner.banner-blog .right .h6,
  .help-banner.banner-blog .right a {
    font-size: 14px;
  }

  .help-banner.banner-blog .left,
  .help-banner.banner-blog .left img {
    max-width: 96px !important;
    max-height: 96px !important;
  }
}

/* Móvil pequeño */
@media (max-width: 480px) {
  .help-banner.banner-blog .left,
  .help-banner.banner-blog .left img {
    max-width: 72px !important;
    max-height: 72px !important;
  }
}

/* =========================================================
   BOTÓN OUTLINE PRIMARY EN CHECKOUT (#checkout .btn-outline-primary)
   ========================================================= */

#checkout #wrapper #opc_main #opc_step_addresses #opc_step_addresses_content .address-selector .address-item.selected {
    border: 1px solid #F3F3F3 !important;
    border-radius: 16px !important;
}


#checkout .btn-outline-primary,
#checkout .btn-outline-primary:focus {
    color: #FFFFFF;
    background-color: #1EA23A;
    border-color: #1EA23A;
    outline: 0 !important;
    box-shadow: none !important;
}

#checkout .btn-outline-primary:hover {
    color: #FFFFFF;
    background-color: #178A30;
    border-color: #178A30;
}

/* Clic: sin borde negro ni sombra de Bootstrap/Classic */
#checkout .btn-outline-primary:active,
#checkout .btn-outline-primary.active,
#checkout .btn-outline-primary:active:focus,
#checkout .btn-outline-primary.active:focus,
#checkout .btn-outline-primary:not(:disabled):not(.disabled):active,
#checkout .btn-outline-primary:not(:disabled):not(.disabled).active {
    color: #FFFFFF !important;
    background-color: #178A30 !important;
    border-color: #178A30 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Foco con teclado: anillo verde en lugar del contorno negro */
#checkout .btn-outline-primary:focus-visible {
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(28, 164, 57, 0.3) !important;
}
/* =========================================================
   CÓDIGO PROMOCIONAL (.block-promo) · carrito y checkout
   ========================================================= */

/* Línea de descuento en los subtotales: en verde */
:is(body#cart, body#checkout) #cart-subtotal-discount .label,
:is(body#cart, body#checkout) #cart-subtotal-discount .value {
  color: #178A30 !important;
  font-weight: 600 !important;
}

/* Contenedor */
:is(body#cart, body#checkout) .block-promo {
  margin: 0 !important;
  padding: 16px 20px 20px 20px !important;
  background: transparent !important;
  border-top: 1px solid #E1E8F2 !important;
  font-family: 'Poppins', sans-serif;
}

:is(body#cart, body#checkout) .block-promo .cart-voucher {
  margin: 0 !important;
  padding: 0 !important;
}

/* Códigos aplicados */
:is(body#cart, body#checkout) .block-promo .promo-name {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

:is(body#cart, body#checkout) .block-promo .promo-name .cart-summary-line {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 !important;
  padding: 10px 12px !important;
  background: #F4FBF6 !important;
  border: 1px solid rgba(28, 164, 57, 0.25) !important;
  border-radius: 10px !important;
}

:is(body#cart, body#checkout) .block-promo .promo-name .cart-summary-line::after {
  display: none !important;
}

:is(body#cart, body#checkout) .block-promo .promo-name .label {
  float: none !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  color: #178A30 !important;
  text-transform: uppercase;
}

:is(body#cart, body#checkout) .block-promo .promo-name .float-xs-right {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  float: none !important;
  font-size: 14px;
  font-weight: 600;
  color: #178A30;
}

/* Quitar código aplicado */
:is(body#cart, body#checkout) .block-promo .promo-name .float-xs-right a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  color: #5A6A85 !important;
  text-decoration: none !important;
  transition: background-color .2s ease, color .2s ease;
}

:is(body#cart, body#checkout) .block-promo .promo-name .float-xs-right a .material-icons {
  font-size: 18px;
  color: inherit !important;
}

:is(body#cart, body#checkout) .block-promo .promo-name .float-xs-right a:hover {
  background: #FDECEA;
  color: #D93025 !important;
}

/* Enlace "¿Tiene un código promocional?" */
:is(body#cart, body#checkout) .block-promo .promo-code-button.display-promo {
  margin: 0 !important;
  padding: 0 !important;
}

:is(body#cart, body#checkout) .block-promo .promo-code-button.display-promo .collapse-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #178A30 !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: color .2s ease;
}

:is(body#cart, body#checkout) .block-promo .promo-code-button.display-promo .collapse-button::before {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(28, 164, 57, 0.35);
  border-radius: 6px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
}

:is(body#cart, body#checkout) .block-promo .promo-code-button.display-promo .collapse-button:hover {
  color: #162C53 !important;
}

/* Panel desplegado */
:is(body#cart, body#checkout) .block-promo .promo-code {
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

:is(body#cart, body#checkout) .block-promo .promo-code form {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin: 0;
}

:is(body#cart, body#checkout) .block-promo .promo-code .promo-input {
  flex: 1 1 auto;
  min-width: 0;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  background: #FFFFFF !important;
  border: 1px solid #E1E8F2 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  color: #162C53 !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}

:is(body#cart, body#checkout) .block-promo .promo-code .promo-input::placeholder {
  color: #9AA7BA !important;
}

:is(body#cart, body#checkout) .block-promo .promo-code .promo-input:focus {
  border-color: #1CA439 !important;
  box-shadow: 0 0 0 3px rgba(28, 164, 57, 0.15) !important;
  outline: 0 !important;
}

:is(body#cart, body#checkout) #wrapper .block-promo .promo-code .btn-primary {
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 44px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 18px !important;
  background: #EEF7EE !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #162C53 !important;
  text-transform: none !important;
  transition: background-color .2s ease, color .2s ease;
}

:is(body#cart, body#checkout) #wrapper .block-promo .promo-code .btn-primary span {
  color: inherit !important;
  font: inherit;
}

:is(body#cart, body#checkout) #wrapper .block-promo .promo-code .btn-primary:hover,
:is(body#cart, body#checkout) #wrapper .block-promo .promo-code .btn-primary:focus,
:is(body#cart, body#checkout) #wrapper .block-promo .promo-code .btn-primary:active {
  background: #1CA439 !important;
  color: #FFFFFF !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Error (Classic lo muestra y oculta por JS: sin tocar display) */
:is(body#cart, body#checkout) .block-promo .promo-code .alert-danger {
  margin: 10px 0 0 0 !important;
  padding: 10px 14px !important;
  background: #FFF5F2 !important;
  border: 1px solid #F6D3CC !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  line-height: 1.45;
  color: #9A2A1A !important;
}

:is(body#cart, body#checkout) .block-promo .promo-code .alert-danger .material-icons {
  font-size: 18px;
  vertical-align: middle;
  color: inherit !important;
}

/* "Cerrar" */
:is(body#cart, body#checkout) .block-promo .cancel-promo {
  display: inline-block;
  margin: 10px 0 0 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #5A6A85 !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: color .2s ease;
}

:is(body#cart, body#checkout) .block-promo .cancel-promo:hover {
  color: #162C53 !important;
}

/* Móvil: campo y botón apilados si no hay espacio */
@media (max-width: 380px) {
  :is(body#cart, body#checkout) .block-promo .promo-code form {
    flex-direction: column;
  }

  :is(body#cart, body#checkout) #wrapper .block-promo .promo-code .btn-primary {
    width: 100%;
  }
}

/* =========================================
   CÓDIGO PROMOCIONAL — SIEMPRE ABIERTO
   ========================================= */

/* Forzar el panel desplegado */
.block-promo #promo-code,
.block-promo #promo-code.collapse,
.block-promo #promo-code.collapsing {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
  overflow: visible !important;
  transition: none !important;
}

/* Ocultar "¿Tienes un código promocional?" y "Cerrar" */
.block-promo .promo-code-button.display-promo,
.block-promo .promo-code-button.cancel-promo {
  display: none !important;
}


/* cambios en métodos de pago en checkout */
#checkout #wrapper #opc_main #opc_step_payment #opc_step_payment_content #payment_method_container .module_payment_container {
      border-bottom: solid 1px #F3F3F3 ;  
}

#checkout #wrapper #opc_main #opc_step_payment #opc_step_payment_content #payment_method_container {
    border: 0px;
}
body#checkout #opc_main .opc-step-header {
    border-bottom: 0px !important;
}

#checkout #wrapper #opc_main #opc_step_payment #opc_step_payment_content #payment_method_container .module_payment_container .payment-option .payment_image img {
    max-width: 75px;
  	max-height: 60px;
}

#checkout #wrapper #opc_main #opc_step_payment #opc_step_payment_content #payment_method_container .module_payment_container .payment-option {
    padding: 10px;
}

#checkout #wrapper #opc_main #opc_step_payment #opc_step_payment_content #payment_method_container .module_payment_container.selected .payment-option {
    border-bottom: 0px;
}

/* =========================================================
   SETASA — OPC PS: CÓDIGO PROMOCIONAL (carrito lateral)
   Markup: #opc_cart #promo-code > .promo-code > form
   Sustituye cualquier regla anterior de #opc_cart #promo-code
   ========================================================= */

body#checkout #opc_main #opc_cart #promo-code {
  --pc-navy: #162C53;
  --pc-btn-bg: #EEF7EE;
  --pc-btn-bg-hover: #1CA439;
  --pc-border: #D5DCE6;
  --pc-divider: #E3E8F0;
  --pc-placeholder: #8A94A8;

  display: block !important;
  height: auto !important;
  margin: 0;
  padding: 1rem 0;
  border-top: 0;
  border-bottom: 1px solid var(--pc-divider);
  background: transparent;
  font-family: 'Poppins', sans-serif;
}

body#checkout #opc_main #opc_cart #promo-code .promo-code {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

body#checkout #opc_main #opc_cart #promo-code form {
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
  margin: 0;
}

/* ---------- Campo ---------- */

body#checkout #opc_main #opc_cart #promo-code .promo-input {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  height: 44px;
  margin: 0;
  padding: 0 0.875rem;
  background: #fff;
  border: 1px solid var(--pc-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  outline: none;
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 42px;
  color: var(--pc-navy);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body#checkout #opc_main #opc_cart #promo-code .promo-input::placeholder {
  color: var(--pc-placeholder);
  opacity: 1;
}

body#checkout #opc_main #opc_cart #promo-code .promo-input:focus {
  border-color: var(--pc-navy) !important;
  box-shadow: 0 0 0 3px rgba(22, 44, 83, 0.12) !important;
}

/* ---------- Botón ---------- */

body#checkout #opc_main #opc_cart #promo-code .btn.btn-primary {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  min-height: 44px !important;
  margin: 0;
  padding: 0 1.125rem !important;
  background: var(--pc-btn-bg) !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  outline: none;
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  color: var(--pc-navy) !important;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

body#checkout #opc_main #opc_cart #promo-code .btn.btn-primary span {
  color: inherit;
  font: inherit;
}

body#checkout #opc_main #opc_cart #promo-code .btn.btn-primary:hover {
  background: var(--pc-btn-bg-hover) !important;
  color: #FFFFFF !important;
}

body#checkout #opc_main #opc_cart #promo-code .btn.btn-primary:focus,
body#checkout #opc_main #opc_cart #promo-code .btn.btn-primary:active,
body#checkout #opc_main #opc_cart #promo-code .btn.btn-primary:active:focus {
  background: var(--pc-btn-bg-hover) !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
  outline: none;
  transform: none;
}

body#checkout #opc_main #opc_cart #promo-code .btn.btn-primary:focus-visible {
  box-shadow: 0 0 0 3px rgba(28, 164, 57, 0.3) !important;
}

body#checkout #opc_main #opc_cart #promo-code .btn.btn-primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* ---------- Móvil estrecho ---------- */

@media (max-width: 360px) {
  body#checkout #opc_main #opc_cart #promo-code .promo-input {
    font-size: 0.8125rem;
    padding: 0 0.75rem;
  }

  body#checkout #opc_main #opc_cart #promo-code .btn.btn-primary {
    padding: 0 0.875rem;
    font-size: 0.8125rem;
  }
}


/* =========================================================
   SETASA — CARRITO: MÉTODOS DE PAGO + GARANTÍAS
   Carrito (.cart-summary) + checkout OPC PS (#opc_cart)
   Partial: templates/checkout/_partials/cart-payment-trust.tpl
   ========================================================= */

body#cart .cart-summary .setasa-cart-trust,
body#checkout #opc_cart .setasa-cart-trust {
  --st-navy: #162C53;
  --st-text-soft: #5B6780;
  --st-border: #E3E8F0;
  --st-box-border: #D5DCE6;
  --st-inset: 1.25rem; /* igualar al padding interior de la tarjeta de resumen */

  container-type: inline-size;
  margin: 0;
  padding: 0 var(--st-inset) var(--st-inset);
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif;
  color: var(--st-navy);
}

/* En el checkout el carrito lateral ya tiene su propio padding */
body#checkout #opc_cart .setasa-cart-trust {
  --st-inset: 0;
  padding-top: 0;
}

/* Reset de listas sin especificidad (no pisa los paddings de abajo) */
:where(.setasa-cart-trust) :where(ul, li) {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ---------- Métodos de pago ---------- */

body:is(#cart, #checkout) .setasa-cart-trust .setasa-cart-trust__payments {
  padding: 1rem 0 1.125rem;
  border-top: 1px solid var(--st-border);
  border-bottom: 1px solid var(--st-border);
}

body:is(#cart, #checkout) .setasa-cart-trust .setasa-cart-trust__title {
  margin: 0 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--st-navy);
}

body:is(#cart, #checkout) .setasa-cart-trust .setasa-cart-trust__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

body:is(#cart, #checkout) .setasa-cart-trust .setasa-pay-logo {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

body:is(#cart, #checkout) .setasa-cart-trust .setasa-pay-logo img {
  display: block;
  width: auto;
  max-width: 66px;
  height: auto;
  max-height: 18px;
  object-fit: contain;
}

body:is(#cart, #checkout) .setasa-cart-trust .setasa-pay-logo--boxed {
  min-width: 48px;
  padding: 0 0.4375rem;
  background: #fff;
  border: 1px solid var(--st-box-border);
  border-radius: 6px;
}

body:is(#cart, #checkout) .setasa-cart-trust .setasa-pay-logo--boxed img {
  max-width: 36px;
  max-height: 17px;
}

/* ---------- Garantías ---------- */

body:is(#cart, #checkout) .setasa-cart-trust .setasa-cart-trust__features {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 1.25rem 0 0;
  margin: 0;
}

body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item {
  flex: 0 1 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  text-align: left;
}

body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item__icon {
  flex: 0 0 auto;
  display: flex;
  width: 32px;
  height: 32px;
  color: var(--st-navy) !important;
}

body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item__icon svg,
body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item__icon svg * {
  stroke: var(--st-navy) !important;
  fill: none !important;
}

body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item__icon svg {
  width: 100%;
  height: 100%;
  stroke-width: 1.7;
}

body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item__text {
  display: flex;
  flex-direction: column;
  line-height: 1.45;
}

body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item__text strong,
body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item__text span {
  font-size: 0.75rem;
  white-space: nowrap;
}

body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item__text strong {
  font-weight: 600;
  color: var(--st-navy);
}

body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item__text span {
  font-weight: 400;
  color: var(--st-text-soft);
}

/* Columna estrecha: mismo formato, más compacto */
@container (max-width: 380px) {
  body:is(#cart, #checkout) .setasa-cart-trust .setasa-cart-trust__features,
  body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item {
    gap: 0.375rem;
  }

  body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item__icon {
    width: 26px;
    height: 26px;
  }

  body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item__text strong,
  body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item__text span {
    font-size: 0.6875rem;
  }
}

/* Solo en anchos muy reducidos: una garantía por fila */
@container (max-width: 310px) {
  body:is(#cart, #checkout) .setasa-cart-trust .setasa-cart-trust__features {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item__text strong,
  body:is(#cart, #checkout) .setasa-cart-trust .setasa-trust-item__text span {
    font-size: 0.75rem;
  }
}

/* =========================================================
   SETASA — CONFIRMACIÓN DE PEDIDO (body#order-confirmation)
   Tarjetas, artículos, totales, detalles y datos de transferencia
   ========================================================= */

body#order-confirmation #main {
  --oc-navy: #162C53;
  --oc-green: #1CA439;
  --oc-green-soft: #EEF7EE;
  --oc-lightblue: #DEEDFF;
  --oc-text-soft: #5B6780;
  --oc-border: #E3E8F0;
  --oc-shadow: 0 2px 9.2px 1.2px rgba(22, 44, 83, 0.08);

  max-width: 1100px;
  margin: 0 auto;
  padding: 1.5rem 0 3rem;
  font-family: 'Poppins', sans-serif;
  color: var(--oc-navy);
}

/* ---------- Tarjetas ---------- */

body#order-confirmation #main > .card,
body#order-confirmation #main #content.card {
  margin: 0 0 1.25rem;
  background: #fff;
  border: 0;
  border-radius: 12px;
  box-shadow: var(--oc-shadow);
  overflow: hidden;
}

body#order-confirmation #main .card-block {
  padding: 1.75rem 2rem;
}

body#order-confirmation #main .card-title {
  font-family: 'Poppins', sans-serif;
  color: var(--oc-navy);
  text-transform: none;
  letter-spacing: 0;
}

/* ---------- Cabecera: pedido confirmado ---------- */

body#order-confirmation #content-hook_order_confirmation .card-block {
  padding: 2rem;
  text-align: center;
  background: linear-gradient(180deg, var(--oc-green-soft) 0%, #fff 100%);
}

body#order-confirmation #content-hook_order_confirmation h3.card-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.875rem;
  margin: 0 0 0.5rem;
  font-size: 1.625rem;
  font-weight: 600;
  line-height: 1.25;
}

body#order-confirmation #content-hook_order_confirmation h3.card-title .material-icons.done {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin: 0;
  font-size: 36px;
  color: #fff;
  background: var(--oc-green);
  border-radius: 50%;
  box-shadow: 0 6px 16px rgba(28, 164, 57, 0.28);
}

body#order-confirmation #content-hook_order_confirmation p {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--oc-text-soft);
}

/* ---------- Contenido: artículos + detalles ---------- */

body#order-confirmation #content.page-order-confirmation > .card-block > .row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1rem;
}

body#order-confirmation #order-items,
body#order-confirmation #order-details {
  float: none;
  padding: 0 1rem;
}

body#order-confirmation #order-items {
  flex: 0 0 100%;
  max-width: 100%;
}

body#order-confirmation #order-details {
  flex: 0 0 100%;
  max-width: 100%;
  margin-top: 1.5rem;
}

@media (min-width: 992px) {
  body#order-confirmation #order-items {
    flex: 0 0 66.6667%;
    max-width: 66.6667%;
  }

  body#order-confirmation #order-details {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
    margin-top: 0;
  }
}

/* Cabecera de la tabla de artículos */
body#order-confirmation #order-items > .row {
  margin: 0 0 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--oc-border);
}

body#order-confirmation #order-items > .row .card-title {
  margin: 0;
  padding: 0;
  font-size: 1.0625rem;
  font-weight: 600;
}

body#order-confirmation #order-items > .row ._desktop-title {
  align-self: flex-end;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--oc-text-soft);
}

/* Línea de producto */
body#order-confirmation .order-confirmation-table {
  padding: 0;
  border: 0;
  background: transparent;
}

body#order-confirmation .order-confirmation-table .order-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--oc-border);
}

body#order-confirmation .order-confirmation-table .order-line .image img {
  display: block;
  width: 100%;
  max-width: 88px;
  height: auto;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--oc-border);
  border-radius: 10px;
}

body#order-confirmation .order-confirmation-table .order-line .details span {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.45;
  color: var(--oc-navy);
}

body#order-confirmation .order-confirmation-table .order-line .qty .row > div {
  font-size: 0.875rem;
  color: var(--oc-text-soft);
}

body#order-confirmation .order-confirmation-table .order-line .qty .row > div.bold {
  font-weight: 600;
  color: var(--oc-navy);
}

body#order-confirmation .order-confirmation-table > hr {
  display: none;
}

/* Totales */
body#order-confirmation .order-confirmation-table table {
  width: 100%;
  margin-top: 0.75rem;
  border-collapse: collapse;
}

body#order-confirmation .order-confirmation-table table td {
  padding: 0.4375rem 0;
  font-size: 0.875rem;
  color: var(--oc-text-soft);
  border: 0;
}

body#order-confirmation .order-confirmation-table table td:last-child {
  text-align: right;
  color: var(--oc-navy);
  font-weight: 500;
}

body#order-confirmation .order-confirmation-table table tr.total-value {
  background: transparent;
}

body#order-confirmation .order-confirmation-table table tr.total-value td {
  padding-top: 0.875rem;
  border-top: 1px solid var(--oc-border);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--oc-navy);
}

body#order-confirmation .order-confirmation-table table tr.total-value .text-uppercase {
  text-transform: none !important;
}

body#order-confirmation .order-confirmation-table table tr.total-value td:last-child {
  font-size: 1.375rem;
  font-weight: 700;
}

/* Detalles del pedido */
body#order-confirmation #order-details {
  align-self: flex-start;
}

body#order-confirmation #order-details .card-title {
  margin: 0 0 0.875rem;
  font-size: 1.0625rem;
  font-weight: 600;
}

body#order-confirmation #order-details ul {
  margin: 0;
  padding: 1.125rem 1.25rem;
  list-style: none;
  background: #F7F9FC;
  border: 1px solid var(--oc-border);
  border-radius: 10px;
}

body#order-confirmation #order-details ul li {
  margin: 0;
  padding: 0.5rem 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--oc-navy);
  border-bottom: 1px solid var(--oc-border);
}

body#order-confirmation #order-details ul li:first-child {
  padding-top: 0;
}

body#order-confirmation #order-details ul li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

body#order-confirmation #order-details ul li#order-reference-value {
  font-weight: 600;
}

body#order-confirmation #order-details ul li em {
  font-style: normal;
  color: var(--oc-text-soft);
}

/* ---------- Datos de pago (transferencia, etc.) ---------- */

body#order-confirmation #content-hook_payment_return .card-block {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--oc-navy);
}

body#order-confirmation #content-hook_payment_return p {
  margin: 0 0 1rem;
}

body#order-confirmation #content-hook_payment_return dl {
  display: grid;
  grid-template-columns: minmax(180px, max-content) 1fr;
  gap: 0;
  margin: 0 0 1.25rem;
  padding: 0;
  background: #F7F9FC;
  border: 1px solid var(--oc-border);
  border-radius: 10px;
  overflow: hidden;
}

body#order-confirmation #content-hook_payment_return dl dt,
body#order-confirmation #content-hook_payment_return dl dd {
  margin: 0;
  padding: 0.75rem 1.125rem;
  font-size: 0.8125rem;
  background: transparent;
  border-bottom: 1px solid var(--oc-border);
}

body#order-confirmation #content-hook_payment_return dl dt {
  font-weight: 500;
  color: var(--oc-text-soft);
}

body#order-confirmation #content-hook_payment_return dl dd {
  font-weight: 600;
  color: var(--oc-navy);
  word-break: break-word;
}

body#order-confirmation #content-hook_payment_return dl dt:last-of-type,
body#order-confirmation #content-hook_payment_return dl dd:last-of-type {
  border-bottom: 0;
}

body#order-confirmation #content-hook_payment_return strong {
  display: block;
  margin: 0 0 1rem;
  padding: 0.875rem 1.125rem;
  font-weight: 600;
  color: var(--oc-navy);
  background: var(--oc-lightblue);
  border-radius: 10px;
}

body#order-confirmation #content-hook_payment_return a {
  font-weight: 500;
  color: var(--oc-green);
  text-decoration: underline;
  text-underline-offset: 2px;
}

body#order-confirmation #content-hook_payment_return a:hover {
  color: #178A30;
}

/* Secciones vacías */
body#order-confirmation #content-hook-order-confirmation-footer:empty,
body#order-confirmation #main > .page-footer {
  display: none;
}

/* ---------- Móvil ---------- */

@media (max-width: 767px) {
  body#order-confirmation #main {
    padding: 1rem 0 2rem;
  }

  body#order-confirmation #main .card-block,
  body#order-confirmation #content-hook_order_confirmation .card-block {
    padding: 1.25rem;
  }

  body#order-confirmation #content-hook_order_confirmation h3.card-title {
    font-size: 1.3125rem;
  }

  body#order-confirmation #content-hook_order_confirmation h3.card-title .material-icons.done {
    width: 54px;
    height: 54px;
    font-size: 30px;
  }

  body#order-confirmation .order-confirmation-table .order-line .qty {
    margin-top: 0.625rem;
  }

  body#order-confirmation #content-hook_payment_return dl {
    grid-template-columns: 1fr;
  }

  body#order-confirmation #content-hook_payment_return dl dt {
    padding-bottom: 0.125rem;
    border-bottom: 0;
  }

  body#order-confirmation #content-hook_payment_return dl dd {
    padding-top: 0;
  }
}

/* ==========================================================
   LGCOOKIESLAW — Banner inferior (estilos Setasa)
   ========================================================== */

/* Contenedor principal
   No se toca "display": el JS del módulo lo controla inline
   (display: table / none) para mostrar u ocultar el banner.
   Como es display: table, se fija table-layout para que el
   ancho no lo dicte el contenido (causa del desbordamiento en móvil). */
body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a {
  width: 100% !important;
  max-width: 100vw !important;
  table-layout: fixed !important;
  box-sizing: border-box !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100000 !important;
  background: #162C53 !important;
  color: #ffffff !important;
  border-top: 2px solid #1CA439 !important;
  box-shadow: 0 -4px 20px rgba(22, 44, 83, 0.18) !important;
  font-family: 'Poppins', sans-serif !important;
  opacity: 1 !important;
}

/* Layout interior */
body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  padding: 20px 15px !important;
}

/* El clearfix de .container no debe actuar como item flex */
body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .container::before,
body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .container::after {
  display: none !important;
}

/* Texto */
body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-banner-message {
  display: block !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
}

body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-banner-message p {
  margin: 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #ffffff !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

/* Neutraliza estilos inline pegados en el editor (Calibri 11pt) */
body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-banner-message p span {
  font-family: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
  white-space: normal !important;
}

/* Enlaces */
body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-link-container {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 20px !important;
  margin-top: 8px !important;
}

body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-link {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #DEEDFF !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  cursor: pointer !important;
  transition: color 0.2s ease !important;
}

body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-link:hover,
body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-link:focus {
  color: #ffffff !important;
}

/* Botones */
body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-button-container {
  display: flex !important;
  float: none !important;
  width: auto !important;
  flex: 0 0 auto !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
}

body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-button {
  min-width: 150px !important;
  margin: 0 !important;
  padding: 12px 28px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  border: 2px solid transparent !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-accept-button {
  background: #1CA439 !important;
  border-color: #1CA439 !important;
  color: #ffffff !important;
}

body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-accept-button:hover {
  background: #178A30 !important;
  border-color: #178A30 !important;
}

body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-reject-button {
  background: transparent !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-reject-button:hover {
  background: #ffffff !important;
  color: #162C53 !important;
}

body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-button:focus-visible {
  outline: 2px solid #DEEDFF !important;
  outline-offset: 2px !important;
}

/* Tablet / móvil */
@media (max-width: 991px) {
  body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .container {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px 16px !important;
  }

  body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-banner-message {
    width: 100% !important;
    flex: 0 0 auto !important;
  }

  body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-button-container {
    flex-direction: row !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 12px 16px !important;
    white-space: normal !important;
  }

  /* "Acepto" primero, como acción principal */
  body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-accept-button {
    order: -1 !important;
  }
}

@media (max-width: 575px) {
  body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .container {
    gap: 14px !important;
    padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-banner-message p {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-link {
    font-size: 12px !important;
  }

  body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-button {
    padding: 11px 12px !important;
    font-size: 13px !important;
  }
}

/* Pantallas muy estrechas: botones uno debajo del otro */
@media (max-width: 340px) {
  body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-button-container {
    flex-direction: column !important;
    gap: 8px !important;
  }

  body #lgcookieslaw_banner_9d05d2d2c0935c1fcf2a12d657e0832a .lgcookieslaw-button {
    flex: 0 0 auto !important;
    width: 100% !important;
  }
}

/* =========================================================
   SETASA — REGISTRO DE CLIENTE (body#registration)
   Tarjeta, login social, formulario, radios, checkboxes,
   contraseña y botón de envío
   ========================================================= */

body#registration #main {
  --rg-navy: #162C53;
  --rg-green: #1CA439;
  --rg-green-hover: #178A30;
  --rg-green-soft: #EEF7EE;
  --rg-text-soft: #5B6780;
  --rg-border: #D5DCE6;
  --rg-divider: #E3E8F0;
  --rg-shadow: 0 2px 9.2px 1.2px rgba(22, 44, 83, 0.08);

  max-width: 640px;
  margin: 0 auto;
  padding: 2rem 1rem 3rem !important;
  font-family: 'Poppins', sans-serif;
  color: var(--rg-navy);
}

/* ---------- Título ---------- */

body#registration #main .page-header {
  margin: 0 0 1.25rem;
  padding: 0;
  text-align: center;
}

body#registration #main .page-header h1 {
  margin: 0;
  font-family: 'Poppins', sans-serif;
  font-size: 1.625rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: none;
  color: var(--rg-navy);
}

/* ---------- Tarjeta ---------- */

body#registration #main #content.page-content {
  margin: 0;
  padding: 2.25rem 2.5rem !important;
  background: #fff;
  border: 0;
  border-radius: 12px;
  box-shadow: var(--rg-shadow);
}

body#registration #main > .page-footer {
  display: none;
}

/* ---------- Login social (Google) ---------- */

body#registration #main .ets_solo_social_wrapper,
body#registration #main .ets_solo_wrapper_content {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body#registration #main .ets_solo_social {
  display: flex !important;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

body#registration #main .ets_solo_social_item {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#registration #main .ets_solo_social_item .ets_solo_social_btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.625rem !important;
  width: 100% !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 1rem !important;
  background: #fff !important;
  border: 1px solid var(--rg-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: var(--rg-navy) !important;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

body#registration #main .ets_solo_social_item .ets_solo_social_btn:hover {
  background: #F7F9FC !important;
  border-color: var(--rg-navy) !important;
}

body#registration #main .ets_solo_social_item .ets_solo_social_btn i,
body#registration #main .ets_solo_social_item .ets_solo_social_btn .svg_gl {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#registration #main .ets_solo_social_item .ets_solo_social_btn svg {
  width: 20px !important;
  height: 20px !important;
}

/* Separador "O bien" */
body#registration #main .ets_solo_or {
  display: flex !important;
  align-items: center;
  gap: 0.75rem;
  margin: 1.25rem 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#registration #main .ets_solo_or::before,
body#registration #main .ets_solo_or::after {
  content: "" !important;
  display: block !important;
  position: static !important;
  flex: 1 1 auto;
  height: 1px !important;
  margin: 0 !important;
  background: var(--rg-divider) !important;
  border: 0 !important;
}

body#registration #main .ets_solo_or span {
  position: static !important;
  padding: 0 !important;
  background: transparent !important;
  font-size: 0.75rem !important;
  font-weight: 500;
  color: var(--rg-text-soft) !important;
  text-transform: none;
}

/* ---------- "¿Ya tiene una cuenta?" ---------- */

body#registration #main .register-form > p {
  margin: 0 0 1.5rem;
  font-size: 0.875rem;
  text-align: center;
  color: var(--rg-text-soft);
}

body#registration #main .register-form > p a {
  font-weight: 600;
  color: var(--rg-green);
  text-decoration: none;
}

body#registration #main .register-form > p a:hover {
  color: var(--rg-green-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ---------- Estructura de campos (etiqueta encima) ---------- */

body#registration #customer-form .form-group.row {
  display: block;
  margin: 0 0 1.125rem;
}

body#registration #customer-form .form-group.row > [class*="col-md-"] {
  float: none;
  width: 100%;
  max-width: 100%;
  flex: none;
  padding: 0;
}

body#registration #customer-form .form-control-label {
  display: block;
  margin: 0 0 0.375rem;
  padding: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  color: var(--rg-navy);
}

body#registration #customer-form .form-control-label.required::after {
  content: " *";
  color: var(--rg-green);
}

/* Filas de checkbox: la etiqueta de columna está vacía */
body#registration #customer-form .form-group.row:has(.custom-checkbox) > .form-control-label {
  display: none;
}

/* Columna derecha ("Opcional") como nota bajo el campo */
body#registration #customer-form .form-group.row > .col-md-3.form-control-comment {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  font-style: normal;
  color: var(--rg-text-soft);
}

/* ---------- Inputs ---------- */

body#registration #customer-form .form-control {
  width: 100%;
  height: 46px;
  padding: 0 0.875rem;
  background: #fff;
  border: 1px solid var(--rg-border);
  border-radius: 8px;
  box-shadow: none;
  outline: none;
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  color: var(--rg-navy);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body#registration #customer-form .form-control::placeholder {
  color: #8A94A8;
  opacity: 1;
}

body#registration #customer-form .form-control:focus {
  border-color: var(--rg-navy);
  box-shadow: 0 0 0 3px rgba(22, 44, 83, 0.12);
}

body#registration #customer-form .js-input-column > .form-control-comment {
  display: block;
  margin-top: 0.375rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: var(--rg-text-soft);
}

/* ---------- Radios (Sr. / Sra.) ---------- */

body#registration #customer-form .form-control-valign {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  padding: 0;
}

body#registration #customer-form .radio-inline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  color: var(--rg-navy);
  cursor: pointer;
}

body#registration #customer-form .custom-radio {
  position: relative;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 0;
  background: #fff;
  border: 2px solid #C9D3E3;
  border-radius: 50%;
  transition: border-color 0.15s ease;
}

body#registration #customer-form .custom-radio input[type="radio"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

body#registration #customer-form .custom-radio:has(input:checked) {
  border-color: var(--rg-green);
}

body#registration #customer-form .custom-radio input[type="radio"]:checked + span {
  position: absolute;
  top: 3px;
  left: 3px;
  display: block;
  width: 10px;
  height: 10px;
  background: var(--rg-green);
  border-radius: 50%;
}

/* ---------- Checkboxes (legal / privacidad) ---------- */

body#registration #customer-form .custom-checkbox {
  display: block;
}

/* Bloque normal (no flex): así texto, enlaces, <br> y <em> fluyen
   como un párrafo. La casilla se posiciona a la izquierda. */
body#registration #customer-form .custom-checkbox label {
  position: relative;
  display: block;
  min-height: 22px;
  margin: 0;
  padding: 1px 0 0 32px;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  color: var(--rg-navy);
  cursor: pointer;
}

body#registration #customer-form .custom-checkbox input[type="checkbox"] {
  position: absolute;
  top: 1px;
  left: 0;
  z-index: 1;
  width: 20px;
  height: 20px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

body#registration #customer-form .custom-checkbox input[type="checkbox"] + span {
  position: absolute;
  top: 1px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin: 0;
  background: #fff;
  border: 2px solid #C9D3E3;
  border-radius: 5px;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

body#registration #customer-form .custom-checkbox input[type="checkbox"]:checked + span {
  background: var(--rg-green);
  border-color: var(--rg-green);
}

body#registration #customer-form .custom-checkbox input[type="checkbox"] + span .checkbox-checked {
  display: none;
  margin: 0;
  font-size: 16px;
  line-height: 1;
  color: #fff;
}

body#registration #customer-form .custom-checkbox input[type="checkbox"]:checked + span .checkbox-checked {
  display: block;
}

body#registration #customer-form .custom-checkbox input[type="checkbox"]:focus-visible + span {
  box-shadow: 0 0 0 3px rgba(28, 164, 57, 0.25);
}

body#registration #customer-form .custom-checkbox label a {
  font-weight: 500;
  color: var(--rg-green);
  text-decoration: underline;
  text-underline-offset: 2px;
}

body#registration #customer-form .custom-checkbox label em {
  display: block;
  margin-top: 0.375rem;
  font-size: 0.75rem;
  font-style: normal;
  line-height: 1.5;
  color: var(--rg-text-soft);
}

/* ---------- Contraseña ---------- */

body#registration #customer-form .input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
}

body#registration #customer-form .input-group .form-control {
  flex: 1 1 auto;
  min-width: 0;
  border-right: 0;
  border-radius: 8px 0 0 8px;
}

body#registration #customer-form .input-group-btn {
  display: flex;
  width: auto;
}

body#registration #customer-form .input-group-btn .btn {
  height: 46px;
  margin: 0;
  padding: 0 1rem;
  background: var(--rg-green-soft);
  border: 1px solid var(--rg-border);
  border-left: 0;
  border-radius: 0 8px 8px 0;
  box-shadow: none;
  font-family: 'Poppins', sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: none;
  color: var(--rg-navy);
  transition: background-color 0.15s ease, color 0.15s ease;
}

body#registration #customer-form .input-group-btn .btn:hover,
body#registration #customer-form .input-group-btn .btn:focus {
  background: var(--rg-green);
  color: #fff;
  outline: none;
}

body#registration #customer-form .input-group:focus-within .form-control,
body#registration #customer-form .input-group:focus-within .input-group-btn .btn {
  border-color: var(--rg-navy);
}

body#registration #customer-form .input-group:focus-within {
  border-radius: 8px;
  box-shadow: 0 0 0 3px rgba(22, 44, 83, 0.12);
}

body#registration #customer-form .input-group:focus-within .form-control {
  box-shadow: none;
}

/* Indicador de seguridad */
body#registration #customer-form .password-strength-feedback {
  margin-top: 0.625rem !important;
}

body#registration #customer-form .password-strength-feedback .progress {
  height: 6px;
  margin-bottom: 0.5rem !important;
  background: var(--rg-divider);
  border-radius: 999px;
  overflow: hidden;
}

body#registration #customer-form .password-strength-feedback .progress-bar {
  border-radius: 999px;
}

body#registration #customer-form .password-strength-text {
  font-size: 0.75rem;
  font-weight: 600;
}

body#registration #customer-form .password-requirements p {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  color: var(--rg-text-soft);
}

body#registration #customer-form .password-requirements .material-icons {
  font-size: 16px;
}

/* ---------- Botón de envío ---------- */

body#registration #customer-form .form-footer {
  display: flex;
  margin: 1.5rem 0 0;
  padding: 1.5rem 0 0;
  border-top: 1px solid var(--rg-divider);
}

body#registration #customer-form .form-footer .btn-primary {
  float: none !important;
  width: 100%;
  height: 50px;
  margin: 0;
  padding: 0 2rem;
  background: var(--rg-green) !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: #fff !important;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

body#registration #customer-form .form-footer .btn-primary:hover,
body#registration #customer-form .form-footer .btn-primary:focus,
body#registration #customer-form .form-footer .btn-primary:active {
  background: var(--rg-green-hover) !important;
  outline: none;
}

body#registration #customer-form .form-footer .btn-primary:focus-visible {
  box-shadow: 0 0 0 3px rgba(28, 164, 57, 0.3) !important;
}

/* ---------- Móvil ---------- */

@media (max-width: 767px) {
  body#registration #main {
    padding: 1.25rem 0.75rem 2rem !important;
  }

  body#registration #main .page-header h1 {
    font-size: 1.375rem;
  }

  body#registration #main #content.page-content {
    padding: 1.5rem 1.25rem !important;
  }
}

/* =========================================================
   MODAL "MEJOR PRECIO GARANTIZADO" (#mpg_form) · fancybox
   Limitado con :has(#mpg_form) para no afectar a otros modales
   ========================================================= */

/* Fondo oscuro */
.fancybox-overlay:has(#mpg_form) {
  background: rgba(22, 44, 83, 0.55) !important;
}

/* Caja del modal */
.fancybox-wrap:has(#mpg_form) .fancybox-skin {
  padding: 0 !important;
  background: #FFFFFF !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 32px rgba(22, 44, 83, 0.18) !important;
  color: #33415C;
}

.fancybox-wrap:has(#mpg_form) .fancybox-outer,
.fancybox-wrap:has(#mpg_form) .fancybox-inner {
  border-radius: 16px;
}

/* Contenido */
#mpg_form {
  box-sizing: border-box;
  padding: 28px 30px 26px 30px;
  font-family: 'Poppins', sans-serif;
}

#mpg_form h2 {
  margin: 0 0 20px 0 !important;
  padding: 0 40px 16px 0 !important;
  border-bottom: 1px solid #E1E8F2;
  font-family: 'Poppins', sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #162C53 !important;
  text-transform: none !important;
}

#mpg_form .form-group {
  margin: 0 0 16px 0 !important;
}

#mpg_form label {
  display: block;
  margin: 0 0 6px 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #162C53 !important;
  text-align: left !important;
}

#mpg_form sup,
#mpg_form sup.required {
  color: #D93025 !important;
  font-size: 12px;
}

/* Campos */
#mpg_form .form-control {
  box-sizing: border-box;
  width: 100% !important;
  height: 46px !important;
  padding: 0 14px !important;
  background: #FFFFFF !important;
  border: 1px solid #E1E8F2 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  color: #162C53 !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}

#mpg_form textarea.form-control {
  height: auto !important;
  min-height: 120px;
  padding: 12px 14px !important;
  line-height: 1.5;
  resize: vertical;
}

#mpg_form .form-control::placeholder {
  color: #9AA7BA !important;
}

#mpg_form .form-control:focus {
  border-color: #1CA439 !important;
  box-shadow: 0 0 0 3px rgba(28, 164, 57, 0.15) !important;
  outline: 0 !important;
}

/* Solo lectura (nombre y email del cliente) */
#mpg_form .form-control[readonly] {
  background: #F5F7FA !important;
  color: #5B6B85 !important;
  cursor: not-allowed;
}

#mpg_form .form-control[readonly]:focus {
  border-color: #E1E8F2 !important;
  box-shadow: none !important;
}

/* "* Campos requeridos" */
#mpg_form p.required {
  margin: 4px 0 16px 0 !important;
  font-size: 12px !important;
  color: #5B6B85 !important;
}

/* Botón Enviar */
#mpg_form #submitProductMpg.btn-primary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 28px !important;
  background: #1CA439 !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 16px rgba(28, 164, 57, 0.22) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  text-transform: none !important;
  cursor: pointer;
  transition: background-color .2s ease;
}

#mpg_form #submitProductMpg.btn-primary:hover,
#mpg_form #submitProductMpg.btn-primary:focus,
#mpg_form #submitProductMpg.btn-primary:active {
  background: #178A30 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: 0 6px 16px rgba(28, 164, 57, 0.22) !important;
}

#mpg_form #submitProductMpg.btn-primary:focus-visible {
  box-shadow: 0 0 0 3px rgba(28, 164, 57, 0.3) !important;
}

/* Botón cerrar: círculo con aspa dentro del modal */
.fancybox-wrap:has(#mpg_form) .fancybox-close {
  top: 18px !important;
  right: 18px !important;
  width: 36px !important;
  height: 36px !important;
  background: #F5F7FA !important;
  background-image: none !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  transition: background-color .2s ease;
}

.fancybox-wrap:has(#mpg_form) .fancybox-close::before {
  content: "\00D7";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Poppins', sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  color: #162C53;
}

.fancybox-wrap:has(#mpg_form) .fancybox-close:hover {
  background: #EEF3FC !important;
}

/* Móvil: modal al ancho de pantalla */
@media (max-width: 767px) {
  .fancybox-wrap:has(#mpg_form) {
    left: 12px !important;
    width: calc(100vw - 24px) !important;
  }

  .fancybox-wrap:has(#mpg_form) .fancybox-inner,
  #mpg_form {
    width: auto !important;
  }

  #mpg_form {
    padding: 22px 18px 20px 18px;
  }

  #mpg_form h2 {
    font-size: 17px !important;
  }

  #mpg_form #submitProductMpg.btn-primary {
    width: 100%;
  }
}

/* =========================================================
   SETASA — FICHA DE PRODUCTO: "MEJOR PRECIO GARANTIZADO"
   Sello (módulo mpg, widget CE e9693d6) en la misma fila
   que el precio, alineado a la derecha y centrado en vertical.
   Plantilla de producto CE: 6170101
   ========================================================= */

/* Base: el sello sin márgenes heredados */
body#product .elementor-element-e9693d6 #mpg p {
  margin: 0;
}

body#product .elementor-element-e9693d6 #mpg a {
  display: block;
  line-height: 0;
}

body#product .elementor-element-e9693d6 #mpg img {
  display: block;
  width: 140px;
  max-width: 100%;
  height: auto;
  transition: transform 0.15s ease;
}

body#product .elementor-element-e9693d6 #mpg a:hover img {
  transform: scale(1.03);
}

/* Escritorio: precio + "IVA incluido" + sello en la misma fila */
@media (min-width: 1025px) {
  body#product .elementor-element-8850391 > .elementor-column-wrap > .elementor-widget-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  /* Orden: precio, IVA y sello primero; el resto sigue igual */
  body#product .elementor-element-93d20e1 {
    order: -3;
  }

  body#product .elementor-element-7663b68 {
    order: -2;
  }

  body#product .elementor-element-e9693d6 {
    order: -1;
    position: static !important;
    align-self: center;
    width: auto !important;
    margin: 0 0 0 auto !important;
  }
}

/* Tablet y móvil: el sello vuelve a su sitio, centrado bajo la caja */
@media (max-width: 1024px) {
  body#product .elementor-element-e9693d6 {
    position: static !important;
    margin-top: 1rem !important;
  }

  body#product .elementor-element-e9693d6 #mpg {
    display: flex;
    justify-content: center;
  }
}

/* ### ocultamos el nombre y la fecha en el módulo de FAQ ### */
.answInf {
    display: none !important;
}


#cart #ps_checkout-payment-method-logo-block-container {
	display: none;
}

#wrapper{
	padding-top: 5px !important
}
/*
@media (max-width: 767px) {
	ul.elementor-nav .menu-item-type-account span ul {
		display: flex !important;
	}
	
	ul.elementor-nav .menu-item-type-account span {
        display: none;
    }
}
*/
.ets_solo_or {
    width: 100%;	
}

.block-categories:has(#questions-list) {
    background-color: #eef3fc00 !important;
}

.answBox-response {
    border-radius: 10px;
    background-color: #EEF3FC;	
}

.answBox-question p {
    font-weight: 600;
}

#count-questions-tab {
	display: none;	
}

.register-form span.form-control-comment {
    display: none !important;
}

/* =========================================================
   SETASA — FICHA DE PRODUCTO: "MEJOR PRECIO GARANTIZADO"
   Sello (módulo mpg, widget CE e9693d6) arriba a la derecha
   de la caja de compra, a la altura del precio.
   Funciona con y sin descuento, en escritorio, tablet y móvil.
   Plantilla de producto CE: 6170101
   ========================================================= */

body#product .elementor-element-8850391 {
  --mpg-w: 140px;   /* ancho del sello */
  --mpg-gap: 16px;  /* aire entre precio y sello */
}

/* La caja de compra hace de referencia para el sello */
body#product .elementor-element-8850391 > .elementor-column-wrap > .elementor-widget-wrap {
  position: relative;
}

/* Sello fuera del flujo: no empuja ni se descoloca con el descuento */
body#product .elementor-element-e9693d6 {
  position: absolute !important;
  top: 0;
  right: 0;
  z-index: 2;
  width: var(--mpg-w) !important;
  max-width: var(--mpg-w);
  margin: 0 !important;
  order: 0;
}

body#product .elementor-element-e9693d6 > .elementor-widget-container {
  margin: 0;
  padding: 0;
}

body#product .elementor-element-e9693d6 #mpg p {
  margin: 0;
}

body#product .elementor-element-e9693d6 #mpg a {
  display: block;
  line-height: 0;
}

body#product .elementor-element-e9693d6 #mpg img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.15s ease;
}

body#product .elementor-element-e9693d6 #mpg a:hover img {
  transform: scale(1.03);
}

/* Reserva el hueco del sello a la derecha del precio.
   Con descuento (precio tachado + precio + etiqueta) el bloque
   crece hacia abajo, no hacia el sello. */
body#product .elementor-element-93d20e1 {
  max-width: calc(100% - var(--mpg-w) - var(--mpg-gap));
}

/* ---------- Precio con descuento ---------- */

/* Precio anterior: pequeño, gris y tachado (no compite con el actual) */
body#product .elementor-element-93d20e1 .ce-product-price-regular {
  display: block;
  margin: 0 0 2px;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.2;
  color: #8A94A8 !important;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}

/* Precio actual + etiqueta de descuento en la misma línea */
body#product .elementor-element-93d20e1 .ce-product-price.ce-has-discount {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
}

/* Etiqueta "15% de descuento": compacta y en el flujo
   (CE la posiciona en absoluto y se monta sobre el precio) */
body#product .elementor-element-93d20e1 .ce-product-badge-sale {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  display: inline-flex;
  align-items: center;
  margin: 0 !important;
  padding: 4px 9px !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0;
  white-space: nowrap;
  border-radius: 6px !important;
  box-shadow: none !important;
}

/* "IVA Incluido" también respeta el hueco si va en la misma fila */
body#product .elementor-element-7663b68 {
  max-width: calc(100% - var(--mpg-w) - var(--mpg-gap));
}

/* Con descuento, "IVA Incluido" va en su propia línea, alineado a la izquierda */
body#product .elementor-element-8850391 .elementor-widget-wrap:has(.ce-has-discount) .elementor-element-7663b68 {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 6px 0 0 !important;
  text-align: left !important;
}

body#product .elementor-element-8850391 .elementor-widget-wrap:has(.ce-has-discount) .elementor-element-7663b68 .elementor-icon-list-items,
body#product .elementor-element-8850391 .elementor-widget-wrap:has(.ce-has-discount) .elementor-element-7663b68 .elementor-icon-list-item {
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* El bloque de precio ocupa su línea completa (menos el hueco del sello),
   para que "IVA Incluido" no se cuele a su derecha */
body#product .elementor-element-8850391 .elementor-widget-wrap:has(.ce-has-discount) .elementor-element-93d20e1 {
  flex: 0 0 calc(100% - var(--mpg-w) - var(--mpg-gap)) !important;
  width: calc(100% - var(--mpg-w) - var(--mpg-gap)) !important;
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  body#product .elementor-element-8850391 {
    --mpg-w: 120px;
    --mpg-gap: 12px;
  }
}

/* ---------- Móvil ---------- */
@media (max-width: 767px) {
  body#product .elementor-element-8850391 {
    --mpg-w: 104px;
    --mpg-gap: 10px;
  }

  body#product .elementor-element-93d20e1 .ce-product-price-regular {
    font-size: 0.9375rem !important;
  }

  body#product .elementor-element-93d20e1 .ce-product-badge-sale {
    padding: 3px 8px !important;
    font-size: 0.6875rem !important;
  }
}

/* =========================================================
   SETASA — CARRITO: cabecera "Carrito" más compacta
   ========================================================= */
body#cart #wrapper .cart-container > .card-block {
  padding: 16px 20px 8px !important;
}

body#cart #wrapper .cart-container > .card-block .h1 {
  margin: 0 !important;
  line-height: 1.2;
}

body#cart #wrapper .cart-container > hr.separator {
  margin: 0 !important;
}

@media (max-width: 767px) {
  body#cart #wrapper .cart-container > .card-block {
    padding: 4px 16px 0px !important;
  }

  body#cart #wrapper .cart-container > .card-block .h1 {
    font-size: 1.375rem !important;
  }
}

body#checkout #opc_main .opc-step-footer {
    flex-direction: row-reverse;
}

/* =========================================================
   SETASA — FICHA DE PRODUCTO: "MEJOR PRECIO GARANTIZADO"
   Sello (módulo mpg, widget CE e9693d6) en la misma fila que
   el precio, a la derecha y centrado en vertical con él.
   Funciona con y sin descuento, en escritorio, tablet y móvil.
   Plantilla de producto CE: 6170101
   Widgets: precio 93d20e1 · IVA 7663b68 · sello e9693d6
   ========================================================= */

body#product .elementor-element-8850391 {
  --mpg-w: 140px;   /* ancho del sello */
  --mpg-gap: 16px;  /* aire entre precio y sello */
}

/* La caja de compra como fila flexible */
body#product .elementor-element-8850391 > .elementor-column-wrap > .elementor-widget-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

/* ---------- Orden de la primera fila ----------
   Sin descuento: precio · IVA Incluido · sello
   Con descuento: precio (bloque) · sello  /  IVA debajo       */
body#product .elementor-element-93d20e1 { order: -3; }
body#product .elementor-element-7663b68 { order: -2; }

/* ---------- Sello ---------- */
body#product .elementor-element-e9693d6 {
  order: -1;
  position: static !important;
  flex: 0 0 var(--mpg-w);
  width: var(--mpg-w) !important;
  max-width: var(--mpg-w);
  align-self: center;
  margin: 0 0 0 auto !important;
  padding-left: var(--mpg-gap);
  box-sizing: content-box;
}

body#product .elementor-element-e9693d6 > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

body#product .elementor-element-e9693d6 #mpg,
body#product .elementor-element-e9693d6 #mpg p {
  margin: 0;
  padding: 0;
}

body#product .elementor-element-e9693d6 #mpg a {
  display: block;
  line-height: 0;
}

body#product .elementor-element-e9693d6 #mpg img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.15s ease;
}

body#product .elementor-element-e9693d6 #mpg a:hover img {
  transform: scale(1.03);
}

/* ---------- Precio con descuento ---------- */

/* El bloque de precio ocupa todo el hueco hasta el sello */
body#product .elementor-element-8850391 .elementor-widget-wrap:has(.ce-has-discount) .elementor-element-93d20e1 {
  flex: 1 1 0 !important;
  min-width: 0;
  width: auto !important;
}

/* Precio anterior: pequeño, gris y tachado */
body#product .elementor-element-93d20e1 .ce-product-price-regular {
  display: block;
  margin: 0 0 2px;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.2;
  color: #8A94A8 !important;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}

/* Precio actual + etiqueta en la misma línea */
body#product .elementor-element-93d20e1 .ce-product-price.ce-has-discount {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
}

/* Etiqueta "x% de descuento": compacta y en el flujo */
body#product .elementor-element-93d20e1 .ce-product-badge-sale {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  display: inline-flex;
  align-items: center;
  margin: 0 !important;
  padding: 4px 9px !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0;
  white-space: nowrap;
  border-radius: 6px !important;
  box-shadow: none !important;
}

/* Con descuento, "IVA Incluido" baja a su propia línea */
body#product .elementor-element-8850391 .elementor-widget-wrap:has(.ce-has-discount) .elementor-element-7663b68 {
  order: 0;
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 6px 0 0 !important;
  text-align: left !important;
}

body#product .elementor-element-8850391 .elementor-widget-wrap:has(.ce-has-discount) .elementor-element-7663b68 .elementor-icon-list-items,
body#product .elementor-element-8850391 .elementor-widget-wrap:has(.ce-has-discount) .elementor-element-7663b68 .elementor-icon-list-item {
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  body#product .elementor-element-8850391 {
    --mpg-w: 120px;
    --mpg-gap: 12px;
  }
}

/* ---------- Móvil ---------- */
@media (max-width: 767px) {
  body#product .elementor-element-8850391 {
    --mpg-w: 104px;
    --mpg-gap: 10px;
  }

  body#product .elementor-element-93d20e1 .ce-product-price-regular {
    font-size: 0.9375rem !important;
  }

  body#product .elementor-element-93d20e1 .ce-product-badge-sale {
    padding: 3px 8px !important;
    font-size: 0.6875rem !important;
  }
	
	
.elementor-6170101 .elementor-element.elementor-element-9174f6c {
    width: 100% !important;
    margin-bottom: 10px !important;
}

.elementor-6170101 .elementor-element.elementor-element-9174f6c .ce-product-quantity {
	width: 100% !important;	
}
	
}

/* ==========================================================
   LGCOOKIESLAW — Botón fijo de cookies (estilos Setasa)
   No se toca "display": el JS del módulo lo muestra u oculta.
   ========================================================== */

body #lgcookieslaw_fixed_button {
  position: fixed !important;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
  top: auto !important;
  z-index: 99990 !important;
  width: 48px !important;
  height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  background: #162C53 !important;
  border: 2px solid #ffffff !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 14px rgba(22, 44, 83, 0.25) !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, transform 0.2s ease, opacity 0.2s ease !important;
}

body #lgcookieslaw_fixed_button.lgcookieslaw-fixed-button-left {
  left: 20px !important;
  right: auto !important;
}

body #lgcookieslaw_fixed_button.lgcookieslaw-fixed-button-right {
  right: 20px !important;
  left: auto !important;
}

body #lgcookieslaw_fixed_button:hover {
  background: #1CA439 !important;
  transform: scale(1.05) !important;
}

body #lgcookieslaw_fixed_button:focus-visible {
  outline: 2px solid #1CA439 !important;
  outline-offset: 2px !important;
}

body #lgcookieslaw_fixed_button svg {
  display: block !important;
  width: 26px !important;
  height: 26px !important;
  fill: #ffffff !important;
}

/* ---------- Móvil: más pequeño y discreto ---------- */
@media (max-width: 767px) {
  body #lgcookieslaw_fixed_button {
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    width: 34px !important;
    height: 34px !important;
    border-width: 1px !important;
    box-shadow: 0 2px 8px rgba(22, 44, 83, 0.2) !important;
    opacity: 0.85 !important;
  }

  body #lgcookieslaw_fixed_button.lgcookieslaw-fixed-button-left {
    left: 10px !important;
  }

  body #lgcookieslaw_fixed_button.lgcookieslaw-fixed-button-right {
    right: 10px !important;
  }

  body #lgcookieslaw_fixed_button:hover,
  body #lgcookieslaw_fixed_button:active {
    opacity: 1 !important;
    transform: none !important;
  }

  body #lgcookieslaw_fixed_button svg {
    width: 18px !important;
    height: 18px !important;
  }
}



.form-group.has-error input, .form-group.has-error select {
    outline: 2px solid #ff4c4c;
}

.form-group.has-error .help-block {
    color: #ff4c4c;
    font-size: 0.8em;
}

### MENSAJE DE ERROR EN CHECKOUT - FIN ###

/* =========================================================
   SETASA — OPC PS: ERROR DE LOGIN EN LÍNEA
   El modal #login-error no se muestra nunca; el JS lleva su
   mensaje a un aviso dentro del formulario de login.
   ========================================================= */

/* El modal del módulo queda anulado */
body#checkout #login-error {
  display: none !important;
}

/* Aviso dentro del formulario */
body#checkout .setasa-login-error {
  position: relative;
  box-sizing: border-box;
  flex: 0 0 100%;
  grid-column: 1 / -1;
  align-self: flex-start;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 16px;
  padding: 12px 40px 12px 14px;
  border: 1px solid #F5C2C2;
  border-left: 4px solid #D93F3F;
  border-radius: 8px;
  background: #FDF2F2;
  color: #162C53;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.45;
  animation: setasaLoginErrorIn 0.2s ease;
}

body#checkout .setasa-login-error__text {
  flex: 1 1 auto;
  min-width: 0;
}

body#checkout .setasa-login-error__icon {
  flex: 0 0 auto;
  font-size: 20px;
  line-height: 1;
  color: #D93F3F;
}

body#checkout .setasa-login-error__close {
  position: absolute;
  top: 8px;
  right: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #6B7A99;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

body#checkout .setasa-login-error__close .material-icons {
  font-size: 18px;
  line-height: 1;
}

body#checkout .setasa-login-error__close:hover,
body#checkout .setasa-login-error__close:focus-visible {
  background: rgba(22, 44, 83, 0.08);
  color: #162C53;
  outline: none;
}

/* Campos marcados mientras el aviso está visible */
body#checkout .setasa-login-error-field {
  border-color: #D93F3F !important;
}

@keyframes setasaLoginErrorIn {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}


/*  AJUSTE HEADER */
@media screen and (min-width: 992px) and (max-width: 1199px) {
	div#column-left {
		border: 0px solid red;
		width: 90%;
	}

	div#column-right {
		border: 0px solid blue;

	}
	
	.elementor-element.elementor-element-a209c2b.elementor-widget__width-auto.elementor-widget-tablet__width-initial.elementor-widget.elementor-widget-shortcode {
		max-width: 25%;
	}
}

/* ==========================================================
   BUSCADOR MOTIVE — Header CE (estilos Setasa)
   Desktop: campo completo. Tablet y móvil: solo icono.
   ========================================================== */

#setasa-motive-search.setasa-search {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 520px;
  margin: 0;
}

#setasa-motive-search .setasa-search__input {
  width: 100%;
  height: 44px;
  padding: 0 52px 0 18px;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #162C53;
  background: #ffffff;
  border: 1px solid #D5DEEB;
  border-radius: 999px;
  outline: none;
  box-shadow: none;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#setasa-motive-search .setasa-search__input::placeholder {
  color: #6B7A93;
  opacity: 1;
}

#setasa-motive-search .setasa-search__input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

#setasa-motive-search .setasa-search__input:hover,
#setasa-motive-search .setasa-search__input:focus {
  border-color: #1CA439;
  box-shadow: 0 0 0 3px rgba(28, 164, 57, 0.15);
}

#setasa-motive-search .setasa-search__button {
  position: absolute;
  top: 50%;
  right: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  margin: 0;
  color: #ffffff;
  background: #1CA439;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transform: translateY(-50%);
  transition: background-color 0.2s ease, color 0.2s ease;
}

#setasa-motive-search .setasa-search__button svg {
  display: block;
  width: 20px;
  height: 20px;
}

#setasa-motive-search .setasa-search__button:hover {
  background: #178A30;
}

#setasa-motive-search .setasa-search__button:focus-visible {
  outline: 2px solid #162C53;
  outline-offset: 2px;
}

/* ---------- Tablet y móvil: solo icono ---------- */
@media (max-width: 1024px) {
  #setasa-motive-search.setasa-search {
    display: inline-flex;
    width: auto;
    max-width: none;
  }

  #setasa-motive-search .setasa-search__input {
    display: none;
  }

  #setasa-motive-search .setasa-search__button {
    position: static;
    width: 40px;
    height: 40px;
    color: #1CA439;
    background: transparent;
    border-radius: 50%;
    transform: none;
  }

  #setasa-motive-search .setasa-search__button svg {
    width: 26px;
    height: 26px;
  }

  #setasa-motive-search .setasa-search__button:hover,
  #setasa-motive-search .setasa-search__button:active {
    color: #178A30;
    background: rgba(28, 164, 57, 0.1);
  }
}

/* =========================================================
   FICHA DE PRODUCTO · VARIACIONES (widget CE product-variants)
   Mismos campos que el resto de formularios de la tienda
   Ocupa el 100 % del ancho, encima de cantidad + botón de compra
   ========================================================= */

/* El widget ocupa todo el ancho y no recorta el halo de foco
   (CE le pone .elementor-overflow-hidden) */
body#product .elementor-widget-product-variants,
body#product .elementor-widget-product-variants.elementor-overflow-hidden,
body#product .elementor-widget-product-variants > .elementor-widget-container {
  overflow: visible !important;
}

body#product .elementor-widget-product-variants {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Grupos apilados en columna */
body#product .elementor-widget-product-variants .ce-product-variants {
  display: flex !important;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  font-family: 'Poppins', sans-serif;
}

/* Cada grupo: alto según su contenido (flex 0 0 auto evita que
   un flex-basis se aplique a la altura en la columna) */
body#product .elementor-widget-product-variants .ce-product-variants__item {
  display: flex !important;
  flex-direction: column;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Grupos con una sola opción (p. ej. "UNICO"): no hay nada que elegir.
   El select oculto se sigue enviando con el formulario. */
body#product .elementor-widget-product-variants .ce-product-variants__item:has(select option:only-child) {
  display: none !important;
}

/* Etiqueta del grupo: oculta si viene vacía */
body#product .elementor-widget-product-variants .ce-product-variants__label {
  display: block;
  margin: 0 0 6px 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #162C53 !important;
}

body#product .elementor-widget-product-variants .ce-product-variants__label:empty {
  display: none !important;
}

/* Contenedor del select: sin la flecha de CE y con el mismo radio
   que el select, por si CE le aplica sombra desde el panel de estilo */
body#product .elementor-widget-product-variants .ce-product-variants__select {
  position: relative;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 10px !important;
}

body#product .elementor-widget-product-variants .ce-product-variants__select::before,
body#product .elementor-widget-product-variants .ce-product-variants__select::after {
  display: none !important;
  content: none !important;
}

/* Select */
body#product .elementor-widget-product-variants .ce-product-variants__select select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  height: 46px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 40px 0 14px !important;
  background-color: #FFFFFF !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23162C53' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px 16px !important;
  border: 1px solid #E1E8F2 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  color: #162C53 !important;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease;
}

body#product .elementor-widget-product-variants .ce-product-variants__select select:hover {
  border-color: #C3CEDD !important;
}

body#product .elementor-widget-product-variants .ce-product-variants__select select:focus {
  border-color: #1CA439 !important;
  box-shadow: 0 0 0 0px rgba(28, 164, 57, 0.15) !important;
  outline: 0 !important;
}

body#product .elementor-widget-product-variants .ce-product-variants__select select option {
  color: #162C53;
  background: #FFFFFF;
}

/* ==========================================================================
   REVI — Widget de producto (wYGw0QMRk0) · Ficha de producto
   Mismo aspecto que el widget grid de la home (oDAxMQeGO7)
   Prefijo body#product: da especificidad de ID para ganar a las reglas
   de Revi (el ID del widget cambia con cada producto: -5497, -XXXX...)
   Responsive por @container: se adapta al ancho real del widget
   (pestañas, columnas de CE…), no al de la pantalla
   ========================================================================== */

/* --------------------------------------------------------------------------
   Raíz: quita el max-height inline y los fondos de Revi
   -------------------------------------------------------------------------- */
body#product .revi-widget-wYGw0QMRk0 {
    container-type: inline-size;
    container-name: revi-prod;
    width: 100% !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    font-family: 'Poppins', sans-serif !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-element-title {
    display: none !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-element-wrapper,
body#product .revi-widget-wYGw0QMRk0 .revi-element-content,
body#product .revi-widget-wYGw0QMRk0 .revi-element-content-area,
body#product .revi-widget-wYGw0QMRk0 .revi-widget-product-1 {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    max-height: none !important;
    overflow: visible !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   Layout: columna resumen (260px) + tarjetas
   El resumen se compone de .infoBlock (fila 1) + .externalLink (fila 2)
   -------------------------------------------------------------------------- */
body#product .revi-widget-wYGw0QMRk0 .revi-product__container {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr) !important;
    grid-template-rows: auto 1fr !important;
    column-gap: 24px !important;
    row-gap: 0 !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    max-width: none !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__layout {
    display: contents !important;
}

/* --------------------------------------------------------------------------
   Tarjeta resumen (columna izquierda) — parte superior
   -------------------------------------------------------------------------- */
body#product .revi-widget-wYGw0QMRk0 .revi-product__infoBlock {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 26px 20px 10px !important;
    background: #FFFFFF !important;
    border: 1px solid #E1E8F2 !important;
    border-bottom: 0 !important;
    border-radius: 14px 14px 0 0 !important;
    box-shadow: none !important;
    text-align: center !important;
}

/* Logo de la tienda — SUSTITUYE la URL por la de tu logo */
body#product .revi-widget-wYGw0QMRk0 .revi-product__infoBlock::before {
    content: "" !important;
    order: 0 !important;
    display: block !important;
    width: 120px !important;
    height: 120px !important;
    margin: 0 0 2px !important;
    border: 1px solid #E1E8F2 !important;
    border-radius: 14px !important;
    background: #FFFFFF url('/img/logo-setasa.png') center / 78% auto no-repeat !important;
}

/* Wrapper interno de nota + estrellas + logo Revi: se "disuelve" para poder reordenar */
body#product .revi-widget-wYGw0QMRk0 .revi-product__infoBlock > .revi-style__d-if {
    display: contents !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__rating {
    order: 1 !important;
    display: block !important;
    margin: 0 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 40px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: #162C53 !important;
}

/* Oculta el "/5" */
body#product .revi-widget-wYGw0QMRk0 .revi-product__rating > div {
    display: none !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__stars {
    order: 2 !important;
    margin: 0 !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__stars img {
    display: block !important;
    width: 120px !important;
    height: auto !important;
}

/* Pestañas Producto (N) / Tienda (N) como píldoras */
body#product .revi-widget-wYGw0QMRk0 .revi-product__tabsBlock {
    order: 3 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__tab {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 6px 12px !important;
    background: #FFFFFF !important;
    border: 1px solid #E1E8F2 !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    transition: background .2s ease, border-color .2s ease !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__tab::before,
body#product .revi-widget-wYGw0QMRk0 .revi-product__tab::after {
    display: none !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__tab .revi-product__title {
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #162C53 !important;
    border: 0 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__tab .revi-product__title::before,
body#product .revi-widget-wYGw0QMRk0 .revi-product__tab .revi-product__title::after {
    display: none !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__tab:hover {
    border-color: #162C53 !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__tab.revi-product__tab-active {
    background: #162C53 !important;
    border-color: #162C53 !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__tab.revi-product__tab-active .revi-product__title {
    color: #FFFFFF !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__logo {
    order: 4 !important;
    margin: 2px 0 0 !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__logo img {
    display: block !important;
    width: 60px !important;
    height: auto !important;
}

/* --------------------------------------------------------------------------
   Tarjeta resumen — parte inferior (botón "Ver todas las opiniones")
   -------------------------------------------------------------------------- */
body#product .revi-widget-wYGw0QMRk0 .revi-review__externalLink {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 12px 20px 24px !important;
    background: #FFFFFF !important;
    border: 1px solid #E1E8F2 !important;
    border-top: 0 !important;
    border-radius: 0 0 14px 14px !important;
    text-align: center !important;
    text-decoration: none !important;
}

html body#product .revi-widget-wYGw0QMRk0 .revi-product__container .revi-review__externalLink a.revi-view-all-link {
    /* inline-block: no hereda el subrayado que propagan los contenedores padre */
    display: inline-block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    border-bottom: 0 !important;
    text-decoration-line: none !important;
    text-decoration-color: transparent !important;
    margin: 0 !important;
    padding: 13px 16px !important;
    background: #1CA439 !important;
    color: #FFFFFF !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-shadow: none !important;
    -webkit-text-stroke: 0 !important;
    filter: none !important;
    box-shadow: none !important;
    -webkit-font-smoothing: antialiased !important;
    transition: background .2s ease !important;
}

html body#product .revi-widget-wYGw0QMRk0 .revi-product__container .revi-review__externalLink a.revi-view-all-link::before,
html body#product .revi-widget-wYGw0QMRk0 .revi-product__container .revi-review__externalLink a.revi-view-all-link::after {
    display: none !important;
    content: none !important;
}

html body#product .revi-widget-wYGw0QMRk0 .revi-product__container .revi-review__externalLink a.revi-view-all-link:hover,
html body#product .revi-widget-wYGw0QMRk0 .revi-product__container .revi-review__externalLink a.revi-view-all-link:focus {
    background: #178A30 !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    border-bottom: 0 !important;
}

/* --------------------------------------------------------------------------
   Tarjetas de opiniones (columna derecha)
   -------------------------------------------------------------------------- */
body#product .revi-widget-wYGw0QMRk0 .revi-product__panesBlock {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: start !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    background: transparent !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__pane {
    display: none !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-product__pane.revi-product__pane-active {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Solo 4 opiniones */
body#product .revi-widget-wYGw0QMRk0 .revi-product__pane > .revi-review__container:nth-child(n+5) {
    display: none !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    align-self: stretch !important;
    text-align: left !important;
    width: auto !important;
    height: auto !important;
    min-height: 255px !important;
    margin: 0 !important;
    padding: 22px 18px 16px !important;
    background: #FFFFFF !important;
    border: 1px solid #E1E8F2 !important;
    border-radius: 14px !important;
    /* Sombra ampliada 1,2px (antes: 0 2px 8px rgba(22, 44, 83, 0.06)) */
    box-shadow: 0 2px 9.2px 1.2px rgba(22, 44, 83, 0.08) !important;
}

/* Se "disuelven" los contenedores internos para reordenar:
   estrellas → nombre + verificada → fecha → texto → pie */
body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__contentContainer,
body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__contentContainer > .revi-style__d-if {
    display: contents !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__stars {
    order: 1 !important;
    align-self: flex-start !important;
    text-align: left !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__stars img {
    display: block !important;
    width: 92px !important;
    height: auto !important;
    margin: 0 !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__avatarContainer {
    order: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    border: 0 !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__avatar {
    display: none !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__customer {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__customer::before,
body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__customer::after,
body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__avatarContainer::before,
body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__avatarContainer::after {
    display: none !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__customer-name {
    flex: 0 0 auto !important;
    width: auto !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #162C53 !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__customer-verified {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__verified {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 3px 9px !important;
    background: #E8F6EB !important;
    color: #1CA439 !important;
    border-radius: 999px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__verified .revi-resource__icon-check {
    width: 10px !important;
    height: 10px !important;
    margin: 0 !important;
    flex: 0 0 10px !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__date {
    order: 3 !important;
    margin: 2px 0 16px !important;
    padding: 0 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 12px !important;
    color: #8A97AB !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__content {
    order: 4 !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #2B3A55 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 6 !important;
    line-clamp: 6 !important;
    overflow: hidden !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__images {
    order: 5 !important;
    margin: 0 0 12px !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__images:not(:has(img)) {
    display: none !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__platformFrom {
    order: 6 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: auto 0 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid #EEF3FC !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    color: #8A97AB !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__logoFrom {
    display: inline-block !important;
    width: 52px !important;
    height: 22px !important;
    margin: 0 !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
}

/* --------------------------------------------------------------------------
   "Sobre las opiniones"
   -------------------------------------------------------------------------- */
body#product .revi-widget-wYGw0QMRk0 .revi-origin-methodology {
    margin: 14px 0 0 !important;
    padding: 0 !important;
    text-align: right !important;
    background: transparent !important;
}

body#product .revi-widget-wYGw0QMRk0 .revi-origin-methodology a {
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    color: #5B6B85 !important;
    text-decoration: underline !important;
}

/* --------------------------------------------------------------------------
   Responsive por ancho del widget
   -------------------------------------------------------------------------- */

/* Widget estrecho (tablet o pestaña estrecha): opiniones en 2 columnas */
@container revi-prod (max-width: 1100px) {
    body#product .revi-widget-wYGw0QMRk0 .revi-product__pane.revi-product__pane-active {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Móvil: resumen compacto arriba y opiniones en lista debajo */
@container revi-prod (max-width: 700px) {
    body#product .revi-widget-wYGw0QMRk0 .revi-product__container {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto auto !important;
    }

    /* Resumen más pequeño */
    body#product .revi-widget-wYGw0QMRk0 .revi-product__infoBlock {
        gap: 8px !important;
        padding: 18px 16px 8px !important;
    }

    body#product .revi-widget-wYGw0QMRk0 .revi-product__infoBlock::before {
        width: 72px !important;
        height: 72px !important;
        border-radius: 12px !important;
    }

    body#product .revi-widget-wYGw0QMRk0 .revi-product__rating {
        font-size: 30px !important;
    }

    body#product .revi-widget-wYGw0QMRk0 .revi-product__stars img {
        width: 96px !important;
    }

    body#product .revi-widget-wYGw0QMRk0 .revi-product__tab {
        padding: 5px 10px !important;
    }

    body#product .revi-widget-wYGw0QMRk0 .revi-product__tab .revi-product__title {
        font-size: 11.5px !important;
    }

    body#product .revi-widget-wYGw0QMRk0 .revi-product__logo img {
        width: 48px !important;
    }

    body#product .revi-widget-wYGw0QMRk0 .revi-review__externalLink {
        padding: 10px 16px 18px !important;
    }

    html body#product .revi-widget-wYGw0QMRk0 .revi-product__container .revi-review__externalLink a.revi-view-all-link {
        padding: 11px 14px !important;
        font-size: 13.5px !important;
    }

    /* Opiniones en lista, una encima de otra */
    body#product .revi-widget-wYGw0QMRk0 .revi-product__panesBlock {
        grid-column: 1 !important;
        grid-row: 3 !important;
        margin-top: 16px !important;
    }

    body#product .revi-widget-wYGw0QMRk0 .revi-product__pane.revi-product__pane-active {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    /* En móvil, 3 opiniones */
    body#product .revi-widget-wYGw0QMRk0 .revi-product__pane > .revi-review__container:nth-child(n+4) {
        display: none !important;
    }

    body#product .revi-widget-wYGw0QMRk0 .revi-review__container {
        min-height: 0 !important;
        padding: 16px !important;
    }

    body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__stars {
        margin: 0 0 10px !important;
    }

    body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__date {
        margin: 2px 0 10px !important;
    }

    body#product .revi-widget-wYGw0QMRk0 .revi-review__container .revi-review__content {
        margin: 0 0 12px !important;
        -webkit-line-clamp: 4 !important;
        line-clamp: 4 !important;
    }

    body#product .revi-widget-wYGw0QMRk0 .revi-origin-methodology {
        text-align: center !important;
    }
}