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

/* ==================================================================
   Categorías curadas: ocultar "no products" donde hay combos
   ================================================================== */
body.category-id-68 #products .alert.alert-warning,
body.category-id-68 #js-product-list .alert.alert-warning {
    display: none !important;
}
section#main:has(.combo-category-section) #products .alert.alert-warning,
#content-wrapper:has(.combo-category-section) #products .alert.alert-warning {
    display: none !important;
}

/* ==================================================================
   PRIME CHECKOUT — overlay completo del checkout estilo prototipo
   Solo aplica en body#checkout (página de pedido), no afecta /carrito
   ================================================================== */

/* ----- Reset y fondo blanco completo ----- */
body#checkout,
body#checkout #wrapper,
body#checkout #main,
body#checkout #content,
body#checkout #content-wrapper,
body#checkout .page-wrapper,
body#checkout .page-content,
body#checkout .container,
body#checkout .container-fluid {
  background: #fff !important;
}

/* ----- Ocultar header banner "Proceso de pago" / breadcrumbs ----- */
body#checkout #header,
body#checkout .page-header,
body#checkout .breadcrumb,
body#checkout #js-checkout-summary > h2,
body#checkout #main > h1,
body#checkout .page-header h1 {
  display: none !important;
}

/* ----- Layout 2-col: form izquierda, resumen derecha (desktop) ----- */
@media (min-width: 992px) {
  body#checkout section#main > .container,
  body#checkout #main-page-content > .container,
  body#checkout #wrapper > .container {
    max-width: 1180px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  body#checkout section#main .row {
    display: grid !important;
    grid-template-columns: 1.15fr 1fr !important;
    gap: 40px !important;
    margin: 0 !important;
  }
  body#checkout section#main .row > .col-md-8,
  body#checkout section#main .row > .col-md-4,
  body#checkout section#main .row > .col-lg-8,
  body#checkout section#main .row > .col-lg-4,
  body#checkout section#main .row > .cart-grid-body,
  body#checkout section#main .row > .cart-grid-right {
    max-width: 100% !important;
    flex: unset !important;
    width: auto !important;
    padding: 0 !important;
  }
  body#checkout .cart-grid-right,
  body#checkout #js-checkout-summary {
    position: sticky !important;
    top: 24px !important;
    align-self: start !important;
  }
}

/* Mobile: una columna */
@media (max-width: 991px) {
  body#checkout section#main .row {
    display: block !important;
  }
}

/* ----- Logo / encabezado ----- */
body#checkout .prime-co-wrap {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, sans-serif;
  color: #111;
}

/* ----- Sección y título ----- */
body#checkout .prime-co-section {
  margin-bottom: 32px;
}
body#checkout .prime-co-h2 {
  font-size: 19px;
  font-weight: 800;
  margin: 0 0 14px 0;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  color: #111;
  letter-spacing: -0.2px;
}
body#checkout .prime-co-signin {
  font-size: 13px;
  color: #1a1a1a !important;
  text-decoration: underline;
  font-weight: 500;
}
body#checkout .prime-co-pay-sub {
  color: #666;
  font-size: 13px;
  margin: -6px 0 12px 0;
}

/* ----- Floating-label fields ----- */
body#checkout .prime-co-field {
  position: relative;
  margin-bottom: 10px;
}
body#checkout .prime-co-field input,
body#checkout .prime-co-field select {
  width: 100%;
  padding: 20px 14px 8px;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  font-size: 15px;
  background: #fff;
  transition: border 0.15s;
  font-family: inherit;
  color: #111;
  appearance: none;
  -webkit-appearance: none;
  height: auto;
  line-height: 1.4;
  box-shadow: none !important;
}
body#checkout .prime-co-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 34px;
}
body#checkout .prime-co-field input:focus,
body#checkout .prime-co-field select:focus {
  outline: none;
  border-color: #1a1a1a;
  border-width: 2px;
  padding: 19px 13px 7px;
}
body#checkout .prime-co-field label {
  position: absolute;
  top: 18px;
  left: 14px;
  font-size: 15px;
  color: #888;
  pointer-events: none;
  transition: all 0.15s;
  margin: 0;
  font-weight: 400;
}
body#checkout .prime-co-field input:focus ~ label,
body#checkout .prime-co-field input:not(:placeholder-shown) ~ label,
body#checkout .prime-co-field select:focus ~ label,
body#checkout .prime-co-field select.prime-co-has-value ~ label {
  top: 6px;
  font-size: 11px;
  color: #666;
}
body#checkout .prime-co-field input:focus ~ label,
body#checkout .prime-co-field select:focus ~ label {
  color: #1a1a1a;
}
body#checkout .prime-co-req {
  color: #1a1a1a;
}
body#checkout .prime-co-field-help {
  font-size: 12px;
  color: #666;
  margin-top: 4px;
  padding-left: 4px;
}
body#checkout .prime-co-field-error {
  font-size: 12px;
  color: #c00;
  margin-top: 4px;
  padding-left: 4px;
  display: none;
}
body#checkout .prime-co-field.prime-co-error input,
body#checkout .prime-co-field.prime-co-error select {
  border-color: #c00;
  border-width: 2px;
  padding: 19px 13px 7px;
}
body#checkout .prime-co-field.prime-co-error .prime-co-field-error {
  display: block;
}

/* ----- Rows ----- */
body#checkout .prime-co-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
body#checkout .prime-co-row-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
}
@media (max-width: 600px) {
  body#checkout .prime-co-row,
  body#checkout .prime-co-row-3 {
    grid-template-columns: 1fr;
  }
}

/* ----- Checkbox line ----- */
body#checkout .prime-co-checkbox-line {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 14px 0 0 0;
  font-size: 14px;
  cursor: pointer;
  color: #333;
  font-weight: 400;
}
body#checkout .prime-co-checkbox-line input {
  width: 18px;
  height: 18px;
  accent-color: #1a1a1a;
  cursor: pointer;
}

/* ----- Info banner SRI ----- */
body#checkout .prime-co-info-banner {
  background: #f5f5f5;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  padding: 12px 14px;
  font-size: 13px;
  color: #444;
  margin: 14px 0;
  line-height: 1.45;
}

/* ----- Cards group (billing / shipping / payment) ----- */
body#checkout .prime-co-cards-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 8px;
  background: transparent;
  border: none;
}
body#checkout .prime-co-cards-group .prime-co-card {
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  margin: 0;
  padding: 0;
  position: relative;
  cursor: pointer;
  user-select: none;
  background: #fff;
  transition: border-color 0.15s, background 0.15s;
  overflow: hidden;
}
body#checkout .prime-co-cards-group .prime-co-card.prime-co-sel {
  border: 1.5px solid #1a1a1a;
}
body#checkout .prime-co-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
}
body#checkout .prime-co-card.prime-co-sel .prime-co-card-head {
  background: #f5f5f5;
  border-bottom: 1px solid #e5e5e5;
}
body#checkout .prime-co-radio {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #cccccc;
  flex-shrink: 0;
  position: relative;
  transition: all 0.15s;
}
body#checkout .prime-co-card.prime-co-sel .prime-co-radio {
  border-color: #1a1a1a;
}
body#checkout .prime-co-card.prime-co-sel .prime-co-radio::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: #1a1a1a;
}
body#checkout .prime-co-lbl {
  flex: 1;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.3;
  color: #111;
}
body#checkout .prime-co-sub {
  color: #666;
  font-weight: 400;
  font-size: 13px;
  margin-left: 6px;
}
@media (max-width: 600px) {
  body#checkout .prime-co-sub {
    display: block;
    margin-left: 0;
    margin-top: 2px;
  }
}
body#checkout .prime-co-price {
  font-weight: 700;
  font-size: 15px;
  color: #111;
}
body#checkout .prime-co-meta {
  font-size: 11px;
  color: #666;
  letter-spacing: 0.5px;
  font-weight: 600;
}
body#checkout .prime-co-card-body {
  display: none;
  padding: 16px;
  background: #fff;
}
body#checkout .prime-co-card.prime-co-sel .prime-co-card-body {
  display: block;
}
body#checkout .prime-co-redirect-msg {
  background: #f5f5f5;
  padding: 12px 14px;
  border-radius: 6px;
  font-size: 13px;
  color: #444;
  line-height: 1.45;
  margin: 0;
}

/* ----- Datafast widget ----- */
body#checkout .prime-co-datafast-widget {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 16px;
}
body#checkout .prime-co-df-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f0f7ff;
  border-radius: 6px;
  margin-bottom: 14px;
  font-size: 12px;
  color: #0a4d8c;
}
body#checkout .prime-co-df-text b {
  font-weight: 700;
  color: #003366;
}

/* ----- Bancos transferencia ----- */
body#checkout .prime-co-banks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 8px;
}
@media (max-width: 600px) {
  body#checkout .prime-co-banks {
    grid-template-columns: 1fr;
  }
}
body#checkout .prime-co-bank {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.4;
  color: #444;
}
body#checkout .prime-co-bank b {
  color: #111;
  font-weight: 700;
  font-size: 13px;
}

/* ----- Upload zone ----- */
body#checkout .prime-co-upload-zone {
  border: 2px dashed #d0d0d0;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  cursor: pointer;
  transition: all 0.15s;
  background: #fff;
  margin-top: 12px;
  display: block;
}
body#checkout .prime-co-upload-zone:hover,
body#checkout .prime-co-upload-zone.prime-co-dragover {
  border-color: #1a1a1a;
  background: #f5f5f5;
}
body#checkout .prime-co-up-icon {
  font-size: 28px;
  display: block;
  margin-bottom: 6px;
}
body#checkout .prime-co-up-text {
  font-size: 14px;
  color: #333;
  font-weight: 600;
  display: block;
}
body#checkout .prime-co-up-hint {
  font-size: 12px;
  color: #888;
  display: block;
  margin-top: 4px;
}
body#checkout .prime-co-upload-zone input[type=file] {
  display: none;
}
body#checkout .prime-co-upload-preview {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid #b8e0bf;
  border-radius: 6px;
  padding: 10px 12px;
  margin-top: 10px;
  font-size: 13px;
}
body#checkout .prime-co-pv-icon {
  color: #137333;
  font-size: 18px;
  font-weight: 700;
}
body#checkout .prime-co-pv-name {
  flex: 1;
  color: #111;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body#checkout .prime-co-pv-size {
  color: #666;
  font-size: 12px;
}
body#checkout .prime-co-pv-clear {
  background: none;
  border: none;
  color: #c00;
  cursor: pointer;
  font-size: 16px;
  padding: 4px;
  line-height: 1;
  font-family: inherit;
}
body#checkout .prime-co-pv-clear:hover {
  background: #fee;
  border-radius: 4px;
}

/* ----- CTA principal ----- */
body#checkout .prime-co-cta {
  display: block;
  width: 100%;
  background: #1a1a1a;
  color: #fff;
  border: none;
  padding: 18px 24px;
  border-radius: 8px;
  font-size: 17px;
  font-weight: 800;
  cursor: pointer;
  letter-spacing: 0.3px;
  margin-top: 24px;
  transition: background 0.15s;
  font-family: inherit;
  text-align: center;
}
body#checkout .prime-co-cta:hover {
  background: #000;
}
body#checkout .prime-co-cta:disabled {
  background: #ccc;
  cursor: not-allowed;
}

/* ==================================================================
   Resumen del pedido (sidebar derecho) — estilo prototipo
   ================================================================== */
body#checkout .cart-grid-right,
body#checkout #js-checkout-summary {
  background: #fafafa !important;
  padding: 24px !important;
  border-radius: 8px !important;
  border: 1px solid #eee !important;
}
body#checkout .cart-grid-right .card,
body#checkout #js-checkout-summary .card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body#checkout .cart-grid-right .card-block,
body#checkout #js-checkout-summary .card-block {
  padding: 0 !important;
}
body#checkout .cart-summary h2,
body#checkout #js-checkout-summary h2,
body#checkout .cart-grid-right h2 {
  font-size: 17px !important;
  font-weight: 800 !important;
  margin-bottom: 16px !important;
  color: #111 !important;
  display: block !important;
}

/* Productos del resumen */
body#checkout .cart-summary-products .media,
body#checkout .cart-summary-products .product-line-info {
  font-size: 14px !important;
  color: #333 !important;
}
body#checkout .cart-summary-products img,
body#checkout .cart-summary-products .product-image {
  width: 60px !important;
  height: 60px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  background: #f5f5f5 !important;
  border: 1px solid #eee !important;
}

/* Totales */
body#checkout .cart-summary-line .label,
body#checkout #cart-subtotal-products .label,
body#checkout .cart-summary-line {
  font-size: 14px !important;
  color: #444 !important;
  font-weight: 400 !important;
}
body#checkout .cart-summary-line .value,
body#checkout .cart-total .value {
  color: #111 !important;
  font-weight: 600 !important;
}
body#checkout .cart-total {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #111 !important;
  border-top: 1px solid #ddd !important;
  padding-top: 10px !important;
  margin-top: 10px !important;
}

/* Promo code */
body#checkout .promo-code,
body#checkout .block-promo {
  margin: 16px 0 !important;
}
body#checkout .promo-code input,
body#checkout .block-promo input[type="text"] {
  padding: 10px 12px !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 6px !important;
  font-size: 14px !important;
}
body#checkout .promo-code button,
body#checkout .block-promo .btn {
  padding: 10px 16px !important;
  background: #fff !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 6px !important;
  color: #111 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

/* ==================================================================
   Ocultar pasos 2/3/4 — el JS proxy los procesa silenciosamente
   ================================================================== */
body#checkout #checkout-addresses-step,
body#checkout #checkout-delivery-step,
body#checkout #checkout-payment-step {
  display: none !important;
}

/* Cuando la URL llega directo a esos steps por nav del browser, dejarlos visibles */
body#checkout.prime-co-show-addresses #checkout-addresses-step,
body#checkout.prime-co-show-delivery #checkout-delivery-step,
body#checkout.prime-co-show-payment #checkout-payment-step {
  display: block !important;
}

/* Cuando el customer selecciona Datafast en mi card visual, mostrar SOLO el widget oppwa
   del step Payment (renderizado en el mismo HTML, pero oculto por la regla anterior). */
body#checkout.prime-pay-is-datafast #checkout-payment-step {
  display: block !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  left: -9999px !important;
}
/* ...pero dentro de mi card, el form widget Datafast sí se ve y se estiliza. */
body#checkout .prime-co-datafast-info { display: block; }
body#checkout.prime-pay-is-datafast .prime-co-datafast-info { display: none; }

/* ==================================================================
   Step 1 (personal-information): quitar wrapper "step" del theme
   para que se vea como secciones limpias del prototipo
   ================================================================== */
body#checkout #checkout-personal-information-step {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
body#checkout #checkout-personal-information-step .step-title,
body#checkout #checkout-personal-information-step > .step-title,
body#checkout #checkout-personal-information-step .step-edit,
body#checkout #checkout-personal-information-step .step-number,
body#checkout #checkout-personal-information-step .done {
  display: none !important;
}
body#checkout #checkout-personal-information-step .content {
  display: block !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* ==================================================================
   Loader overlay para auto-submit silencioso de pasos siguientes
   ================================================================== */
body#checkout .prime-co-loader-overlay {
  position: fixed;
  inset: 0;
  background: rgba(255,255,255,0.92);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 16px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, sans-serif;
}
body#checkout .prime-co-loader-overlay .prime-co-spinner {
  width: 48px;
  height: 48px;
  border: 4px solid #f3f3f3;
  border-top-color: #1a1a1a;
  border-radius: 50%;
  animation: prime-co-spin 0.8s linear infinite;
}
body#checkout .prime-co-loader-overlay .prime-co-loader-text {
  font-size: 15px;
  color: #333;
  font-weight: 500;
}
@keyframes prime-co-spin {
  to { transform: rotate(360deg); }
}


/* ==================================================================
   Resumen del pedido — estilo bodybuilding.com
   Override del cart-summary nativo de PrestaShop
   ================================================================== */

/* Wrapper del resumen */
body#checkout #js-checkout-summary,
body#checkout .cart-grid-right #js-checkout-summary {
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 12px !important;
  padding: 28px 28px 24px !important;
  box-shadow: none !important;
}
body#checkout #js-checkout-summary .card-body {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
body#checkout #js-checkout-summary > hr,
body#checkout #js-checkout-summary hr {
  border: none !important;
  border-top: 1px solid #e5e5e5 !important;
  margin: 16px 0 !important;
}

/* Cart-summary-top: ocultar header genérico de PS */
body#checkout #js-checkout-summary .cart-summary-top,
body#checkout #js-checkout-summary .cart-summary > .card-header,
body#checkout #js-checkout-summary > .card-header {
  display: none !important;
}

/* Productos */
body#checkout .prime-co-cart-products {
  margin: 0 !important;
}
body#checkout #cart-summary-product-list {
  display: block !important;
}

/* Item de producto */
body#checkout .prime-co-cart-item {
  display: grid !important;
  grid-template-columns: 72px 1fr auto !important;
  gap: 14px !important;
  align-items: flex-start !important;
  padding: 11px 0 !important;
  border-bottom: none !important;
  background: #fff !important;
}
body#checkout .prime-co-cart-item:first-child {
  padding-top: 0 !important;
}
body#checkout .prime-co-cart-item:last-child {
  padding-bottom: 0 !important;
}

/* Thumb cuadrado con badge de cantidad */
body#checkout .prime-co-cart-thumb {
  position: relative !important;
  width: 64px !important;
  height: 64px !important;
}
body#checkout .prime-co-cart-thumb a {
  display: block !important;
  width: 64px !important;
  height: 64px !important;
}
body#checkout .prime-co-cart-img {
  width: 64px !important;
  height: 64px !important;
  object-fit: cover !important;
  background: #f5f5f5 !important;
  border: 1px solid #ececec !important;
  border-radius: 8px !important;
  display: block !important;
}
body#checkout .prime-co-cart-qty {
  position: absolute !important;
  top: -7px !important;
  right: -7px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  box-shadow: 0 0 0 2px #fff !important;
}

/* Info del producto */
body#checkout .prime-co-cart-info {
  min-width: 0 !important;
}
body#checkout .prime-co-cart-name {
  display: block !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #111 !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  margin: 0 0 4px 0 !important;
}
body#checkout .prime-co-cart-name:hover {
  color: #1a1a1a !important;
}
body#checkout .prime-co-cart-meta {
  font-size: 13px !important;
  color: #888 !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

/* Precio */
body#checkout .prime-co-cart-price {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #111 !important;
  white-space: nowrap !important;
  margin-left: 8px !important;
}

/* Voucher / Código promocional */
body#checkout #js-checkout-summary .block-promo,
body#checkout #js-checkout-summary .promo-code,
body#checkout #js-checkout-summary .cart-voucher,
body#checkout #js-checkout-summary .cart-voucher-area {
  margin: 16px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
body#checkout #js-checkout-summary .block-promo .promo-code-button,
body#checkout #js-checkout-summary .promo-code-button,
body#checkout #js-checkout-summary .promo-code-link,
body#checkout #js-checkout-summary .display-promo {
  display: none !important;
}
body#checkout #js-checkout-summary .promo-code form,
body#checkout #js-checkout-summary .block-promo form {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
}
body#checkout #js-checkout-summary .promo-code .input-group,
body#checkout #js-checkout-summary .block-promo .input-group {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
/* Icono tag a la izquierda — pequeño, vertical center, no es botón */
body#checkout #js-checkout-summary .voucher-icon,
body#checkout #js-checkout-summary .promo-code .fa-tag,
body#checkout #js-checkout-summary .block-promo .fa-tag {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  padding: 0 10px 0 14px !important;
  margin: 0 !important;
  font-size: 14px !important;
  color: #888 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: default !important;
  pointer-events: none !important;
  line-height: 1 !important;
  height: auto !important;
  min-height: 0 !important;
}
body#checkout #js-checkout-summary .promo-code input[type="text"],
body#checkout #js-checkout-summary .block-promo input[type="text"] {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 11px 8px !important;
  font-size: 14px !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  color: #111 !important;
  height: auto !important;
}
body#checkout #js-checkout-summary .promo-code .input-group-append,
body#checkout #js-checkout-summary .block-promo .input-group-append {
  display: flex !important;
  align-items: stretch !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body#checkout #js-checkout-summary .promo-code button,
body#checkout #js-checkout-summary .block-promo button,
body#checkout #js-checkout-summary .promo-code .btn,
body#checkout #js-checkout-summary .block-promo .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  border-left: 1px solid #d0d0d0 !important;
  border-radius: 0 !important;
  padding: 0 18px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #111 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1 !important;
}
body#checkout #js-checkout-summary .promo-code button:hover,
body#checkout #js-checkout-summary .block-promo button:hover {
  background: #f5f5f5 !important;
}
body#checkout #js-checkout-summary .promo-code button span,
body#checkout #js-checkout-summary .block-promo button span {
  line-height: 1 !important;
}

/* Subtotales (antes del total) */
body#checkout #js-checkout-summary .cart-summary-subtotals,
body#checkout #js-checkout-summary .js-cart-detailed-subtotals,
body#checkout #js-checkout-summary .cart-summary-totals {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
body#checkout #js-checkout-summary .cart-summary-line {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  padding: 6px 0 !important;
  font-size: 14px !important;
  border: none !important;
  background: transparent !important;
}
body#checkout #js-checkout-summary .cart-summary-line .label,
body#checkout #js-checkout-summary .cart-summary-line span:first-child {
  font-weight: 400 !important;
  color: #444 !important;
  font-size: 14px !important;
  flex: 1 !important;
  padding: 0 !important;
}
body#checkout #js-checkout-summary .cart-summary-line .value,
body#checkout #js-checkout-summary .cart-summary-line span:last-child {
  font-weight: 600 !important;
  color: #111 !important;
  font-size: 14px !important;
  text-align: right !important;
  padding: 0 !important;
}

/* Línea del Total — XL bold con USD pequeño antes */
body#checkout #js-checkout-summary .cart-total,
body#checkout #js-checkout-summary .cart-summary-line.cart-total {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  padding: 14px 0 0 0 !important;
  margin-top: 10px !important;
  border-top: 1px solid #e5e5e5 !important;
  font-size: 15px !important;
}
body#checkout #js-checkout-summary .cart-total .label,
body#checkout #js-checkout-summary .cart-total span:first-child {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #111 !important;
}
body#checkout #js-checkout-summary .cart-total .value,
body#checkout #js-checkout-summary .cart-total span:last-child {
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #111 !important;
  position: relative !important;
}
/* Insertar "USD" pequeño antes del precio total */
body#checkout #js-checkout-summary .cart-total .value::before {
  content: "USD ";
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #666 !important;
  margin-right: 4px !important;
  letter-spacing: 0.5px !important;
  vertical-align: 4px !important;
}

/* Ocultar elementos extra que no queremos del cart-summary nativo */
body#checkout #js-checkout-summary .step-edit,
body#checkout #js-checkout-summary .text-right > a,
body#checkout #js-checkout-summary [data-bs-toggle="collapse"] {
  display: none !important;
}

/* Override estilos viejos que metí antes */
body#checkout .cart-grid-right,
body#checkout #js-checkout-summary {
  position: sticky !important;
  top: 24px !important;
  align-self: start !important;
}
body#checkout .cart-grid-right {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}


/* Voucher: fondo blanco completo, sin caja gris alrededor */
body#checkout #js-checkout-summary .block-promo,
body#checkout #js-checkout-summary .promo-code,
body#checkout #js-checkout-summary .cart-voucher,
body#checkout #js-checkout-summary [class*="voucher"],
body#checkout #js-checkout-summary [class*="promo"]:not(input):not(button) {
  background: #fff !important;
  background-color: #fff !important;
  padding: 0 !important;
  margin: 16px 0 !important;
  border: none !important;
  box-shadow: none !important;
}
body#checkout #js-checkout-summary .block-promo > *,
body#checkout #js-checkout-summary .promo-code > *,
body#checkout #js-checkout-summary .cart-voucher > * {
  background: transparent !important;
}


/* ==================================================================
   Forzar step 1 (personal-information) SIEMPRE activo, sin transparencia
   El theme warehouse aplica opacity:0.5 a steps no-current; lo cancelo.
   ================================================================== */
body#checkout #checkout-personal-information-step,
body#checkout #checkout-personal-information-step.checkout-step,
body#checkout #checkout-personal-information-step:not(.-current),
body#checkout #checkout-personal-information-step .content,
body#checkout #checkout-personal-information-step .step-content,
body#checkout .prime-co-wrap,
body#checkout .prime-co-wrap *,
body#checkout .prime-co-section,
body#checkout .prime-co-section *,
body#checkout .prime-co-field,
body#checkout .prime-co-field *,
body#checkout .prime-co-card,
body#checkout .prime-co-card *,
body#checkout .prime-co-cards-group,
body#checkout .prime-co-cards-group * {
  opacity: 1 !important;
  filter: none !important;
  pointer-events: auto !important;
}
/* Reactivar interacción de inputs e impedir overlay rojizo del theme */
body#checkout .prime-co-wrap input,
body#checkout .prime-co-wrap select,
body#checkout .prime-co-wrap button,
body#checkout .prime-co-wrap label,
body#checkout .prime-co-wrap a {
  pointer-events: auto !important;
  cursor: auto;
}
body#checkout .prime-co-wrap input,
body#checkout .prime-co-wrap select,
body#checkout .prime-co-wrap textarea {
  cursor: text;
}
body#checkout .prime-co-wrap button,
body#checkout .prime-co-wrap a,
body#checkout .prime-co-card {
  cursor: pointer;
}


/* ==================================================================
   Logged-in state — Contacto reemplazado por greeting + Continuar
   ================================================================== */
body#checkout .prime-co-logged-box {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  padding: 24px;
  margin: 0 0 16px 0;
  text-align: center;
}
body#checkout .prime-co-logged-greeting {
  font-size: 18px;
  font-weight: 700;
  color: #111;
  margin: 0 0 6px 0;
  letter-spacing: -0.2px;
}
body#checkout .prime-co-logged-greeting b {
  font-weight: 700;
}
body#checkout .prime-co-logged-sub {
  font-size: 13px;
  color: #666;
  margin: 0 0 18px 0;
}
body#checkout .prime-co-logged-sub a {
  color: #1a1a1a;
  text-decoration: underline;
}
body#checkout .prime-co-logged-logout {
  margin-left: 10px;
}
body#checkout #prime-logged-continue-form {
  margin: 0;
}
body#checkout #prime-logged-continue-form .prime-co-cta,
body#checkout #prime-logged-continue-form .continue {
  display: block !important;
  width: 100% !important;
  background: #1a1a1a !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 20px !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  letter-spacing: 0.3px !important;
  transition: background 0.15s !important;
  font-family: inherit !important;
  margin: 0 !important;
  text-transform: none !important;
  height: auto !important;
  line-height: 1.3 !important;
}
body#checkout #prime-logged-continue-form .prime-co-cta:hover,
body#checkout #prime-logged-continue-form .continue:hover {
  background: #000 !important;
}


/* ==================================================================
   Página /iniciar-sesion — rediseño tipo bodybuilding.com
   ================================================================== */
body#authentication,
body#registration{ background: #fafafa; }
body#authentication .breadcrumb,
body#registration .breadcrumb,
body#authentication .page-header,
body#registration .page-header,
body#authentication #content-wrapper > h1,
body#registration #content-wrapper > h1{ display: none !important; }
body#authentication #content-wrapper,
body#registration #content-wrapper,
body#authentication #wrapper,
body#registration #wrapper{ padding: 30px 16px !important; }

body#authentication .prime-auth-wrap,
body#registration .prime-auth-wrap{
  display: flex;
  justify-content: center;
  padding: 0;
}
body#authentication .prime-auth-card,
body#registration .prime-auth-card{
  width: 100%;
  max-width: 460px;
  background: #fff;
  border: 1.5px solid #1a1a1a;
  border-radius: 12px;
  padding: 0;
  overflow: hidden;
  box-shadow: none;
}
body#authentication .prime-auth-logo-link,
body#registration .prime-auth-logo-link{
  background: transparent;
  border-bottom: none;
  padding: 32px 44px 20px 44px;
  margin: 0 !important;
}
body#authentication .prime-auth-card > .prime-auth-tabs,
body#registration .prime-auth-card > .prime-auth-tabs,
body#authentication .prime-auth-card > section,
body#registration .prime-auth-card > section,
body#authentication .prime-auth-card > .login-form,
body#registration .prime-auth-card > .login-form,
body#authentication .prime-auth-card > .register-form,
body#registration .prime-auth-card > .register-form,
body#authentication .prime-auth-card > .prime-auth-social,
body#registration .prime-auth-card > .prime-auth-social{
  padding-left: 44px;
  padding-right: 44px;
}
body#authentication .prime-auth-card > .prime-auth-tabs,
body#registration .prime-auth-card > .prime-auth-tabs{
  padding-top: 18px;
  margin: 0 0 22px 0 !important;
}
body#authentication .prime-auth-card > section,
body#registration .prime-auth-card > section,
body#authentication .prime-auth-card > .login-form,
body#registration .prime-auth-card > .login-form,
body#authentication .prime-auth-card > .register-form,
body#registration .prime-auth-card > .register-form{
  padding-bottom: 30px;
}
body#authentication .prime-auth-card > .prime-auth-social,
body#registration .prime-auth-card > .prime-auth-social{
  padding-top: 22px;
  padding-bottom: 28px;
}

/* Tabs */
body#authentication .prime-auth-tabs,
body#registration .prime-auth-tabs{
  display: flex;
  margin: 0 0 28px 0;
  border-bottom: 1px solid #e5e5e5;
}
body#authentication .prime-auth-tab,
body#registration .prime-auth-tab{
  flex: 1;
  text-align: center;
  padding: 12px 8px;
  font-size: 15px;
  font-weight: 700;
  color: #888;
  text-decoration: none !important;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color 0.15s, border-color 0.15s;
}
body#authentication .prime-auth-tab:hover,
body#registration .prime-auth-tab:hover{ color: #1a1a1a; }
body#authentication .prime-auth-tab-active,
body#registration .prime-auth-tab-active{
  color: #1a1a1a;
  border-bottom-color: #1a1a1a;
}

/* Reset Bootstrap grid heredado */
body#authentication .prime-auth-card .form-group,
body#registration .prime-auth-card .form-group,
body#authentication .prime-auth-card .form-group.row,
body#registration .prime-auth-card .form-group.row{
  display: block !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}
body#authentication .prime-auth-card [class*="col-"],
body#registration .prime-auth-card [class*="col-"]{
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body#authentication .prime-auth-card form,
body#registration .prime-auth-card form,
body#authentication .prime-auth-card form section,
body#registration .prime-auth-card form section{
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
}
body#authentication .prime-auth-card > section,
body#registration .prime-auth-card > section,
body#authentication .prime-auth-card > .login-form,
body#registration .prime-auth-card > .login-form,
body#authentication .prime-auth-card > .register-form,
body#registration .prime-auth-card > .register-form{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Labels ocultos (accesibles vía sr-only) */
body#authentication .prime-auth-card label,
body#registration .prime-auth-card label,
body#authentication .prime-auth-card .form-control-label,
body#registration .prime-auth-card .form-control-label,
body#authentication .prime-auth-card .col-form-label,
body#registration .prime-auth-card .col-form-label{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Inputs */
body#authentication .prime-auth-card input[type=email],
body#registration .prime-auth-card input[type=email],
body#authentication .prime-auth-card input[type=password],
body#registration .prime-auth-card input[type=password],
body#authentication .prime-auth-card input[type=text],
body#registration .prime-auth-card input[type=text],
body#authentication .prime-auth-card .form-control,
body#registration .prime-auth-card .form-control{
  width: 100% !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  font-size: 15px !important;
  background: #fff !important;
  color: #111 !important;
  height: auto !important;
  margin: 0 !important;
  box-shadow: none !important;
  font-family: inherit !important;
  line-height: 1.3 !important;
}
body#authentication .prime-auth-card input::placeholder,
body#registration .prime-auth-card input::placeholder{ color: #999; }
body#authentication .prime-auth-card input:focus,
body#registration .prime-auth-card input:focus,
body#authentication .prime-auth-card .form-control:focus,
body#registration .prime-auth-card .form-control:focus{
  outline: none !important;
  border-color: #1a1a1a !important;
  border-width: 1.5px !important;
  box-shadow: 0 0 0 2px rgba(26,26,26,0.06) !important;
}

/* Asteriscos negros */
body#authentication .prime-auth-card sup,
body#registration .prime-auth-card sup,
body#authentication .prime-auth-card .required,
body#registration .prime-auth-card .required{ color: #1a1a1a !important; }

/* Eye icon */
body#authentication .prime-auth-card .input-group,
body#registration .prime-auth-card .input-group{
  display: block !important;
  position: relative !important;
}
body#authentication .prime-auth-card .input-group .show-password,
body#registration .prime-auth-card .input-group .show-password,
body#authentication .prime-auth-card .input-group-btn,
body#registration .prime-auth-card .input-group-btn,
body#authentication .prime-auth-card [data-action="show-password"],
body#registration .prime-auth-card [data-action="show-password"]{
  position: absolute !important;
  right: 6px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  border: none !important;
  padding: 4px 8px !important;
  z-index: 2;
  cursor: pointer;
  margin: 0 !important;
}
body#authentication .prime-auth-card .input-group input,
body#registration .prime-auth-card .input-group input{
  padding-right: 44px !important;
}

/* Forgot password centrado */
body#authentication .prime-auth-card .forgot-password,
body#registration .prime-auth-card .forgot-password{
  text-align: center !important;
  font-size: 13px !important;
  margin: 14px 0 16px 0 !important;
  padding: 0 !important;
}
body#authentication .prime-auth-card .forgot-password a,
body#registration .prime-auth-card .forgot-password a{
  color: #1a1a1a !important;
  text-decoration: underline !important;
}

/* Botón Iniciar sesión — negro big */
body#authentication .prime-auth-card #submit-login,
body#registration .prime-auth-card #submit-login,
body#authentication .prime-auth-card button[data-link-action="sign-in"],
body#registration .prime-auth-card button[data-link-action="sign-in"],
body#authentication .prime-auth-card button.btn-primary,
body#registration .prime-auth-card button.btn-primary,
body#authentication .prime-auth-card .form-control-submit,
body#registration .prime-auth-card .form-control-submit{
  display: block !important;
  width: 100% !important;
  background: #1a1a1a !important;
  background-color: #1a1a1a !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 20px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  margin: 0 !important;
  height: auto !important;
  line-height: 1.3 !important;
  font-family: inherit !important;
}
body#authentication .prime-auth-card #submit-login:hover,
body#registration .prime-auth-card #submit-login:hover,
body#authentication .prime-auth-card button[data-link-action="sign-in"]:hover,
body#registration .prime-auth-card button[data-link-action="sign-in"]:hover{
  background: #000 !important;
}
body#authentication .prime-auth-card .form-footer,
body#registration .prime-auth-card .form-footer,
body#authentication .prime-auth-card footer,
body#registration .prime-auth-card footer{
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* User pill (cliente logueado en checkout) — estilo Shopify */
body#checkout .prime-co-user-row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  background: #fff;
}
body#checkout .prime-co-user-avatar {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: #e9ecef;
  color: #444;
  font-weight: 600;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px;
  text-transform: uppercase;
  flex: 0 0 32px;
}
body#checkout .prime-co-user-email {
  flex: 1 1 auto;
  font-size: 15px;
  color: #111;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body#checkout .prime-co-user-menu-btn {
  width: 32px; height: 32px;
  background: transparent;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 0;
  transition: background 0.15s;
  flex: 0 0 32px;
}
body#checkout .prime-co-user-menu-btn:hover { background: #f3f4f6; }
body#checkout .prime-co-user-menu-btn > span {
  width: 4px; height: 4px;
  border-radius: 50%;
  background: #444;
  display: block;
}
body#checkout .prime-co-user-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 200px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  padding: 6px 0;
  z-index: 100;
}
body#checkout .prime-co-user-menu[hidden] { display: none; }
body#checkout .prime-co-user-menu a {
  display: block;
  padding: 10px 14px;
  font-size: 14px;
  color: #111;
  text-decoration: none;
  white-space: nowrap;
}
body#checkout .prime-co-user-menu a:hover { background: #f7f7f7; }
body#checkout .prime-co-user-menu .prime-co-user-menu-logout {
  border-top: 1px solid #eee;
  color: #c00;
  margin-top: 4px;
}

/* Social buttons */
body#authentication .prime-auth-social,
body#registration .prime-auth-social{
  margin-top: 22px !important;
  padding-top: 20px !important;
  border-top: 1px solid #e5e5e5 !important;
  text-align: center !important;
}
body#authentication .prime-auth-social .iqitsociallogin,
body#registration .prime-auth-social .iqitsociallogin{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  text-align: center !important;
}
body#authentication .prime-auth-social .iqitsociallogin .text-muted,
body#registration .prime-auth-social .iqitsociallogin .text-muted,
body#authentication .prime-auth-social .iqitsociallogin > span:first-child,
body#registration .prime-auth-social .iqitsociallogin > span:first-child{
  display: block !important;
  flex: 1 0 100% !important;
  font-size: 11px !important;
  color: #888 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}
body#authentication .prime-auth-social .btn-iqitsociallogin,
body#registration .prime-auth-social .btn-iqitsociallogin{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border: 1px solid #e5e5e5 !important;
  background: #fff !important;
  color: #111 !important;
  text-decoration: none !important;
  transition: border-color 0.15s, background 0.15s !important;
  white-space: normal !important;
  line-height: 1.3 !important;
}
body#authentication .prime-auth-social .btn-iqitsociallogin:hover,
body#registration .prime-auth-social .btn-iqitsociallogin:hover{
  border-color: #1a1a1a !important;
  background: #fafafa !important;
}
body#authentication .prime-auth-social .btn-iqitsociallogin img,
body#registration .prime-auth-social .btn-iqitsociallogin img{
  width: 18px !important;
  height: 18px !important;
  display: block !important;
}
/* Neutralizar el position:absolute que iqitsociallogin aplica al span del logo Google */
body#authentication .prime-auth-social .btn-iqitsociallogin > span,
body#registration .prime-auth-social .btn-iqitsociallogin > span{
  position: static !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  right: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 18px !important;
}
body#authentication .prime-auth-social .btn-iqitsociallogin .fa-facebook-square,
body#registration .prime-auth-social .btn-iqitsociallogin .fa-facebook-square,
body#authentication .prime-auth-social .btn-iqitsociallogin .fa-facebook,
body#registration .prime-auth-social .btn-iqitsociallogin .fa-facebook{
  color: #1877F2 !important;
  font-size: 18px !important;
}
body#authentication .prime-auth-social hr,
body#registration .prime-auth-social hr,
body#authentication .page-content hr,
body#registration .page-content hr{ display: none !important; }

/* Bottom link "Cree una aquí" — escondido porque está en el tab */
body#authentication .no-account,
body#registration .no-account{ display: none !important; }

/* Auth page — modo full-screen modal: oculta header/footer */
body#authentication #header,
body#registration #header,
body#authentication header#header,
body#registration header#header,
body#authentication .header-top,
body#registration .header-top,
body#authentication .header-nav,
body#registration .header-nav,
body#authentication .header-banner,
body#registration .header-banner,
body#authentication > footer,
body#registration > footer,
body#authentication #footer,
body#registration #footer,
body#authentication .footer-container,
body#registration .footer-container,
body#authentication #_desktop_top_menu,
body#registration #_desktop_top_menu,
body#authentication .breadcrumb,
body#registration .breadcrumb,
body#authentication .page-header,
body#registration .page-header{ display: none !important; }
body#authentication,
body#registration{ background: linear-gradient(135deg, #fafafa 0%, #f0f0f0 100%); min-height: 100vh; }
body#authentication #page,
body#registration #page,
body#authentication #wrapper,
body#registration #wrapper,
body#authentication #content-wrapper,
body#registration #content-wrapper{
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px 16px !important;
}
body#authentication .prime-auth-back,
body#registration .prime-auth-back{
  position: absolute;
  top: 20px;
  left: 20px;
  color: #666;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 12px;
  border-radius: 8px;
  transition: color 0.15s, background 0.15s;
  z-index: 10;
}
body#authentication .prime-auth-back:hover,
body#registration .prime-auth-back:hover{
  color: #1a1a1a;
  background: rgba(0,0,0,0.04);
}
body#authentication .prime-auth-logo-link,
body#registration .prime-auth-logo-link{
  display: block;
  text-align: center;
  margin: 0 0 24px 0;
}
body#authentication .prime-auth-logo,
body#registration .prime-auth-logo{
  max-width: 180px;
  width: 100%;
  height: auto;
  display: inline-block;
}
@media (max-width: 600px) {
  /* Reset HARD de todos los wrappers padre — quitan padding lateral de Bootstrap */
  body#authentication #wrapper,
  body#registration #wrapper,
  body#authentication #inner-wrapper,
  body#registration #inner-wrapper,
  body#authentication #inner-wrapper.container,
  body#registration #inner-wrapper.container,
  body#authentication #content-wrapper,
  body#registration #content-wrapper,
  body#authentication section#main,
  body#registration section#main,
  body#authentication .page-content,
  body#registration .page-content{
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body#authentication .prime-auth-wrap,
  body#registration .prime-auth-wrap{
    padding: 8px 2px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  body#authentication .prime-auth-card,
  body#registration .prime-auth-card{
    padding: 24px 0 !important;
    border-radius: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  body#authentication .prime-auth-logo,
  body#registration .prime-auth-logo{
    max-width: 140px;
  }
  body#authentication .prime-auth-back,
  body#registration .prime-auth-back{
    top: 12px;
    left: 12px;
    font-size: 12px;
  }
  /* Form-group, row, input-group, col — todos full-width sin padding */
  body#authentication .prime-auth-card .form-group,
  body#authentication .prime-auth-card .form-group.row,
  body#authentication .prime-auth-card .row,
  body#authentication .prime-auth-card [class*="col-"],
  body#authentication .prime-auth-card .col,
  body#authentication .prime-auth-card .input-group,
  body#registration .prime-auth-card .form-group,
  body#registration .prime-auth-card .form-group.row,
  body#registration .prime-auth-card .row,
  body#registration .prime-auth-card [class*="col-"],
  body#registration .prime-auth-card .col,
  body#registration .prime-auth-card .input-group{
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
  }
  body#authentication .prime-auth-card .form-group,
  body#authentication .prime-auth-card .form-group.row,
  body#registration .prime-auth-card .form-group,
  body#registration .prime-auth-card .form-group.row{
    display: block !important;
    margin-bottom: 12px !important;
  }
  body#authentication .prime-auth-card input,
  body#authentication .prime-auth-card .form-control,
  body#authentication .prime-auth-card select,
  body#registration .prime-auth-card input,
  body#registration .prime-auth-card .form-control,
  body#registration .prime-auth-card select{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 100% !important;
    box-sizing: border-box !important;
  }
  /* Botones sociales: apilados full-width en mobile */
  body#authentication .prime-auth-social .iqitsociallogin,
  body#registration .prime-auth-social .iqitsociallogin{
    flex-direction: column !important;
    align-items: stretch !important;
  }
  body#authentication .prime-auth-social .btn-iqitsociallogin,
  body#registration .prime-auth-social .btn-iqitsociallogin{
    width: 100% !important;
    flex: 0 0 auto !important;
    font-size: 13px !important;
    padding: 12px !important;
  }
}


/* ==================================================================
   Registro extras — algunos detalles que solo aplican a /registro
   ================================================================== */
body#registration .prime-auth-card-register {
  max-width: 480px;
}
/* Helper text bajo cada input — ocultos por defecto.
   Solo se muestran cuando el usuario escribió algo y el input quedó :invalid */
body#registration .prime-auth-card .form-control-comment,
body#registration .prime-auth-card small:not(.alert):not(.alert-danger):not(.alert-warning),
body#registration .prime-auth-card .help-block:not(:has(.alert-danger)):not(:has(.alert-warning)) {
  display: none !important;
  font-size: 11px !important;
  color: #c00 !important;
  margin: 4px 0 0 0 !important;
  font-style: normal !important;
  padding: 0 4px !important;
  line-height: 1.4 !important;
}
body#registration .prime-auth-card .form-group:has(input:invalid:not(:placeholder-shown):not(:focus)) .form-control-comment,
body#registration .prime-auth-card .form-group.js-has-error .form-control-comment {
  display: block !important;
}
/* Errores reales del server (PrestaShop) — SIEMPRE visibles, con estilo de alerta */
body#registration .prime-auth-card .alert-danger,
body#registration .prime-auth-card .help-block:has(.alert-danger),
body#authentication .prime-auth-card .alert-danger,
body#authentication .prime-auth-card .help-block:has(.alert-danger),
body#registration #notifications .alert-danger,
body#authentication #notifications .alert-danger,
body#checkout #notifications .alert-danger{
  display: block !important;
  background: #fff0f0 !important;
  border: 1px solid #f5c0c0 !important;
  border-radius: 6px !important;
  color: #a01b1b !important;
  padding: 10px 14px !important;
  margin: 8px 0 12px 0 !important;
  font-size: 13px !important;
  font-style: normal !important;
  line-height: 1.4 !important;
}
body#registration .prime-auth-card .help-block ul,
body#authentication .prime-auth-card .help-block ul,
body#registration #notifications ul,
body#authentication #notifications ul{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body#registration .prime-auth-card .help-block li.alert-danger,
body#authentication .prime-auth-card .help-block li.alert-danger{
  margin: 0 !important;
}
/* Notifications globales (aside#notifications) — asegurar visibilidad */
body#registration #notifications,
body#authentication #notifications,
body#checkout #notifications{
  display: block !important;
  max-width: 480px;
  margin: 12px auto !important;
  padding: 0 !important;
}
/* Comprimir spacing entre filas del form */
body#registration .prime-auth-card .form-group {
  margin-bottom: 10px !important;
}
body#registration .prime-auth-card .form-group:last-of-type {
  margin-bottom: 10px !important;
}
/* Reducir 20% el gap entre el último input (Contraseña) y el primer checkbox */
body#registration .prime-auth-card .field-password-policy,
body#registration .prime-auth-card .form-group:has(input[type="password"]) {
  margin-bottom: 8px !important;
}
body#registration .prime-auth-card .form-group:has(input[type="checkbox"]) {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  padding-top: 0 !important;
}
body#registration .prime-auth-card .form-group:has(input[type="password"]) + .form-group,
body#registration .prime-auth-card .field-password-policy + .form-group,
body#registration .prime-auth-card .field-password-policy + div,
body#registration .prime-auth-card #customer-form > div > .form-group:has(input[type="checkbox"]):first-of-type {
  margin-top: 0 !important;
}
/* Date input */
body#registration .prime-auth-card input[type=date] {
  width: 100% !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  font-size: 15px !important;
  background: #fff !important;
  color: #111 !important;
  height: auto !important;
}
/* Select (gender, country, etc) */
body#registration .prime-auth-card select,
body#registration .prime-auth-card .form-control select {
  width: 100% !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 8px !important;
  padding: 13px 16px !important;
  font-size: 15px !important;
  background: #fff !important;
  color: #111 !important;
  height: auto !important;
  font-family: inherit !important;
}
/* Checkboxes (newsletter, terms) */
body#registration .prime-auth-card input[type=checkbox] {
  width: 16px !important;
  height: 16px !important;
  accent-color: #1a1a1a !important;
  margin: 0 8px 0 0 !important;
  vertical-align: middle;
}
body#registration .prime-auth-card .form-group:has(input[type=checkbox]) label,
body#registration .prime-auth-card .checkbox-field label,
body#registration .prime-auth-card label[for*="newsletter"],
body#registration .prime-auth-card label[for*="psgdpr"],
body#registration .prime-auth-card label[for*="conditions"],
body#registration .prime-auth-card label[for*="optin"] {
  /* Re-mostrar labels para checkboxes — los necesitamos visibles */
  position: static !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 0 0 4px !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
  border: 0 !important;
  font-size: 13px !important;
  color: #444 !important;
  font-weight: 400 !important;
  display: inline-block !important;
  line-height: 1.4 !important;
  cursor: pointer;
}
/* Botón Guardar */
body#registration .prime-auth-card button[type=submit],
body#registration .prime-auth-card .form-control-submit {
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
}
/* Quitar el "¿Ya tiene una cuenta?" arriba del form (lo cubre el tab) */
body#registration .prime-auth-card .register-form > p:first-child,
body#registration .prime-auth-card .register-form > p:has(.fa-question-circle-o) {
  display: none !important;
}
/* Social del registro */
body#registration .prime-auth-social {
  margin: 0 0 22px 0 !important;
  padding: 0 0 20px 0 !important;
  border-top: none !important;
  border-bottom: 1px solid #e5e5e5 !important;
  text-align: center !important;
}
/* Form-fields wrap */
body#registration .prime-auth-card .form-fields {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}


/* Eliminar wrappers de la página (border externo del PS layout) */
body#authentication #main,
body#registration #main,
body#authentication #content,
body#registration #content,
body#authentication .page-content,
body#registration .page-content,
body#authentication .page-customer-account,
body#registration .page-customer-account,
body#authentication section#main,
body#registration section#main {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body#authentication .page-footer,
body#registration .page-footer {
  display: none !important;
}


/* Shipping price free/strike (cart with subtotal over free shipping threshold) */
body#checkout .prime-co-price-strike {
  color: #999;
  text-decoration: line-through;
  font-weight: 400;
  font-size: 0.85em;
  margin-right: 6px;
}
body#checkout .prime-co-price-free {
  color: #0a8a3a;
  font-weight: 700;
  letter-spacing: 0.5px;
}
body#checkout .prime-co-ship-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: 14px;
  color: #444;
}
body#checkout .prime-co-ship-row .prime-co-ship-val {
  font-weight: 600;
  color: #111;
}


/* Línea de coverage (cantones conurbados cubiertos por carrier 39) */
body#checkout .prime-co-coverage {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  color: #888;
  font-weight: 400;
  letter-spacing: 0.2px;
}


/* ==================================================================
   Mobile summaries (TOP + BOTTOM) — estáticos, solo ≤768px
   ================================================================== */
body#checkout .prime-mb-summary { display: none; }
@media (max-width: 768px) {
  /* Ocultar sidebar derecho — el summary se duplica arriba/abajo en mobile */
  body#checkout .cart-grid-right { display: none; }
  /* Ocultar el CTA original (lo reemplazamos en el bottom summary) */
  body#checkout #prime-co-cta { display: none !important; }

  body#checkout .prime-mb-summary {
    display: block;
    background: #f7f7f7;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    margin: 0 4px 16px 4px;
    overflow: hidden;
  }
  body#checkout .prime-mb-bot {
    margin-top: 16px;
    background: #fafafa;
  }

  body#checkout .prime-mb-summary-toggle {
    width: 100%;
    background: transparent;
    border: 0;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: inherit;
    cursor: pointer;
  }
  body#checkout .prime-mb-top .prime-mb-summary-toggle {
    justify-content: space-between;
  }
  body#checkout .prime-mb-summary-label {
    color: #111;
    font-weight: 700;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  body#checkout .prime-mb-summary-caret {
    font-size: 11px;
    color: #111 !important;
    transition: transform 0.2s;
  }
  body#checkout .prime-mb-summary-toggle[aria-expanded="true"] .prime-mb-summary-caret {
    transform: rotate(180deg);
  }
  body#checkout .prime-mb-summary-total {
    font-weight: 700;
    color: #111;
    font-size: 16px;
  }
  body#checkout .prime-mb-summary-body {
    padding: 4px 14px 14px 14px;
    background: #fff;
    border-top: 1px solid #e5e5e5;
  }
  body#checkout .prime-mb-summary-body[hidden] { display: none; }
  body#checkout .prime-mb-summary-body #cart-summary,
  body#checkout .prime-mb-summary-body .card {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  /* Bottom layout específico: thumb + label + total + caret + CTA debajo */
  body#checkout .prime-mb-bot-toggle {
    align-items: center;
    padding: 12px 14px;
  }
  body#checkout .prime-mb-bot-thumb {
    width: 40px; height: 40px;
    border-radius: 6px;
    object-fit: cover;
    border: 1px solid #e5e5e5;
    flex: 0 0 40px;
    background: #fafafa;
  }
  body#checkout .prime-mb-bot-toggle .prime-mb-summary-label {
    flex: 1 1 auto;
    color: #111;
    font-weight: 700;
    font-size: 15px;
  }
  body#checkout .prime-mb-bot-count {
    font-size: 13px;
    color: #666;
    font-weight: 400;
    margin-left: 2px;
  }
  body#checkout .prime-mb-bot-cta {
    width: calc(100% - 24px);
    margin: 4px 12px 14px 12px;
    background: #111;
    color: #fff;
    border: 0;
    border-radius: 8px;
    padding: 14px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    cursor: pointer;
    font-family: inherit;
  }
  body#checkout .prime-mb-bot-cta:hover { background: #000; }
  body#checkout .prime-mb-bot-cta:disabled { background: #888; cursor: not-allowed; }
}


/* Logos de tarjetas en cards de pago — SVGs inline, ratio 5:3 */
body#checkout .prime-co-cardlogos {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
body#checkout .prime-co-logo {
  width: 32px;
  height: auto;
  aspect-ratio: 5 / 3;
  display: inline-block;
  flex: 0 0 32px;
  background: transparent;
}
@media (max-width: 600px) {
  body#checkout .prime-co-cardlogos {
    flex-basis: 100%;
    margin-top: 6px;
    justify-content: flex-start;
  }
  body#checkout .prime-co-logo { width: 30px; flex: 0 0 30px; }
}



/* ==================================================================
   Datafast widget — montado dentro del card de pago, estilo Prime
   ================================================================== */
body#checkout .prime-co-datafast-host {
  margin-top: 12px;
}
body#checkout .prime-co-datafast-loading,
body#checkout .prime-co-datafast-info-fallback {
  padding: 12px 14px;
  background: #f4f8fb;
  border: 1px solid #d6e4ee;
  border-radius: 8px;
  font-size: 13px;
  color: #355770;
  line-height: 1.4;
}
body#checkout .prime-co-datafast-info-fallback b { color: #1a4365; }

/* Cuando el widget está montado, ocultar loading y stylear el form */
body#checkout .prime-datafast-mounted .prime-co-datafast-loading { display: none; }

/* Esconder el aviso amarillo del módulo (lo reemplazamos con el nuestro o lo dejamos compacto) */
body#checkout .prime-datafast-mounted .datafast-info-box {
  background: #fff8e1 !important;
  border: 1px solid #ffe082 !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  font-size: 12px !important;
  color: #7a5e15 !important;
  margin: 0 0 14px 0 !important;
}

/* wpwl form (Hyperpay/Datafast) — estilo Prime / bodybuilding-like */

/* Container limpio sin fondos heredados */
body#checkout .prime-datafast-loaded form.wpwl-form,
body#checkout .prime-datafast-loaded form.paymentWidgets,
body#checkout .prime-datafast-loaded .wpwl-container,
body#checkout .prime-datafast-loaded .wpwl-container-card,
body#checkout .prime-datafast-loaded .wpwl-container-registrations,
body#checkout .prime-co-datafast-host .wpwl-form,
body#checkout .prime-co-datafast-host .wpwl-container,
body#checkout .prime-co-datafast-host .wpwl-container-card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: inherit !important;
}

/* Esconder TODOS los labels (ya no se necesitan títulos arriba) */
body#checkout .prime-co-datafast-host .wpwl-label,
body#checkout .prime-co-datafast-host .wpwl-label-brand,
body#checkout .prime-co-datafast-host label.wpwl-label {
  display: none !important;
}

/* Wrappers de grupo: spacing limpio */
body#checkout .prime-co-datafast-host .wpwl-group,
body#checkout .prime-co-datafast-host .wpwl-wrapper,
body#checkout .prime-co-datafast-host .wpwl-clearfix {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  width: 100% !important;
  display: block !important;
  float: none !important;
}

/* Inputs y selects en estilo Prime — borde redondeado, padding consistente */
body#checkout .prime-co-datafast-host .wpwl-control,
body#checkout .prime-co-datafast-host input.wpwl-control,
body#checkout .prime-co-datafast-host select.wpwl-control,
body#checkout .prime-co-datafast-host .wpwl-control-iframe {
  width: 100% !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 6px !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  font-family: inherit !important;
  height: 42px !important;
  min-height: 42px !important;
  background: #fff !important;
  color: #111 !important;
  box-shadow: none !important;
  line-height: 1.3 !important;
}
body#checkout .prime-co-datafast-host .wpwl-control:focus,
body#checkout .prime-co-datafast-host input.wpwl-control:focus,
body#checkout .prime-co-datafast-host select.wpwl-control:focus {
  outline: none !important;
  border-color: #1a1a1a !important;
  border-width: 1.5px !important;
}
body#checkout .prime-co-datafast-host .wpwl-control::placeholder {
  color: #888 !important;
}

/* Placeholders más completos (Datafast los usa como label en algunos inputs) */
body#checkout .prime-co-datafast-host input[name="card.number"]::placeholder { content: 'Número de tarjeta'; }
body#checkout .prime-co-datafast-host input[name="card.expiryDate"]::placeholder { content: 'MM/AA'; }
body#checkout .prime-co-datafast-host input[name="card.cvv"]::placeholder { content: 'CVV'; }
body#checkout .prime-co-datafast-host input[name="card.holder"]::placeholder { content: 'Nombre en la tarjeta'; }

/* Brand icons (logos dentro de cada input) — más compactos */
body#checkout .prime-co-datafast-host .wpwl-brand-card,
body#checkout .prime-co-datafast-host .wpwl-brand {
  height: 20px !important;
  width: auto !important;
  margin-right: 0 !important;
}

/* Botón "Pagar" — estilo Prime negro, idéntico al CTA de checkout */
body#checkout .prime-co-datafast-host .wpwl-button,
body#checkout .prime-co-datafast-host button.wpwl-button-pay,
body#checkout .prime-co-datafast-host .wpwl-button-pay {
  width: 100% !important;
  background: #111 !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: 12px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  font-family: inherit !important;
  cursor: pointer !important;
  box-shadow: none !important;
  margin-top: 8px !important;
  transition: background 0.15s;
}
body#checkout .prime-co-datafast-host .wpwl-button:hover,
body#checkout .prime-co-datafast-host button.wpwl-button-pay:hover {
  background: #000 !important;
}
body#checkout .prime-co-datafast-host .wpwl-button:disabled {
  background: #888 !important;
  cursor: not-allowed !important;
}

/* Banner amarillo "Aviso de Datafast" — compacto y discreto */
body#checkout .prime-co-datafast-host .datafast-info-box {
  background: #fffaeb !important;
  border: 1px solid #fde68a !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  font-size: 11px !important;
  color: #92400e !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.4 !important;
}

body#checkout .prime-co-datafast-host br + br + img,
body#checkout .prime-co-datafast-host img[style*="display:block"] {
  display: block !important;
  margin: 8px auto !important;
  max-width: 200px !important;
}

/* Cuotas / installments select */
body#checkout .prime-co-datafast-host .installments-group {
  margin: 12px 0 !important;
}
body#checkout .prime-co-datafast-host .installments-group select {
  width: 100% !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  background: #fff !important;
  color: #111 !important;
}

/* Ocultar elementos visuales extra del widget que no necesitamos */
body#checkout .prime-co-datafast-host .wpwl-group-brand,
body#checkout .prime-co-datafast-host .wpwl-brand-name {
  display: none !important;
}

/* Cuando el form está en loading, mostrar spinner centrado */
body#checkout .prime-co-datafast-host .wpwl-loading {
  text-align: center !important;
  padding: 20px !important;
}

/* Botón "Pagar" del widget — convertir a estilo Prime negro */
body#checkout .prime-datafast-mounted .wpwl-button,
body#checkout .prime-datafast-mounted button.wpwl-button-pay,
body#checkout .prime-datafast-mounted .wpwl-button-pay {
  width: 100% !important;
  background: #111 !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 14px !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  font-family: inherit !important;
  cursor: pointer !important;
  box-shadow: none !important;
  margin-top: 8px !important;
}
body#checkout .prime-datafast-mounted .wpwl-button:hover,
body#checkout .prime-datafast-mounted button.wpwl-button-pay:hover {
  background: #000 !important;
}

/* Iconos de marca dentro del widget (Visa/MC/etc) */
body#checkout .prime-datafast-mounted .wpwl-brand-card,
body#checkout .prime-datafast-mounted .wpwl-brand {
  height: 22px !important;
}

/* Selectores de cuotas/banco — selects compactos */
body#checkout .prime-datafast-mounted .wpwl-group-installments,
body#checkout .prime-datafast-mounted .wpwl-group-numinstall,
body#checkout .prime-datafast-mounted .wpwl-group-termtype {
  margin-bottom: 10px !important;
}

/* Powered by Datafast / footer marca */
body#checkout .prime-datafast-mounted .wpwl-brand-logos,
body#checkout .prime-datafast-mounted .wpwl-img-brand {
  text-align: center !important;
  margin-top: 10px !important;
}


/* Datafast widget cargado en el card de pago — estilos Prime */
body#checkout .prime-co-datafast-host { margin-top: 12px; }
body#checkout .prime-datafast-loaded { padding: 0; }
body#checkout .prime-datafast-loaded .datafast-info-box {
  background: #fff8e1 !important;
  border: 1px solid #ffe082 !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  font-size: 12px !important;
  color: #7a5e15 !important;
  margin: 0 0 14px 0 !important;
}


/* Datafast widget — host dentro del card, solo visible cuando datafast está seleccionado */
body#checkout .prime-co-datafast-host { display: none; margin-top: 10px; }
body#checkout.prime-pay-is-datafast .prime-co-datafast-host { display: block; }
body#checkout .prime-co-datafast-cloned { padding-top: 4px; }





/* Cuando Datafast está seleccionado, el widget tiene su propio botón "Pagar" — ocultar el "Finalizar compra" original de PS */
body#checkout.prime-pay-is-datafast.prime-pay-is-datafast-loaded #prime-co-cta { display: none !important; }
body#checkout.prime-pay-is-datafast.prime-pay-is-datafast-loaded .prime-mb-bot-cta { display: none !important; }
/* Cuando datafast está seleccionado, ocultar también el bottom sticky CTA en mobile */


/* CVV iframe — Datafast lo embebe como iframe por PCI. */
body#checkout .prime-co-datafast-host iframe.wpwl-control-iframe,
body#checkout .prime-co-datafast-host .wpwl-control-iframe {
  height: 42px !important;
  min-height: 0 !important;
  max-height: 42px !important;
  width: 100% !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 6px !important;
  padding: 0 !important;
  background: #fff !important;
}
body#checkout .prime-co-datafast-host .wpwl-group-cvv,
body#checkout .prime-co-datafast-host .wpwl-wrapper-cvv {
  height: 42px !important;
  overflow: hidden !important;
}

/* MM/YY (expira) + CVV en una sola fila — flex layout estilo bodybuilding */
body#checkout .prime-co-datafast-host .wpwl-form-card,
body#checkout .prime-co-datafast-host form.paymentWidgets {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
body#checkout .prime-co-datafast-host .wpwl-form-card > .wpwl-group {
  flex: 1 1 100% !important;
  margin: 0 !important;
}
body#checkout .prime-co-datafast-host .wpwl-form-card > .wpwl-group-expiry,
body#checkout .prime-co-datafast-host .wpwl-form-card > .wpwl-group-cvv {
  flex: 1 1 calc(50% - 4px) !important;
}

/* Ocultar fields opcionales que Datafast agrega (Click-to-Pay extras) */
body#checkout .prime-co-datafast-host .wpwl-group-mobilePhoneCountryCode,
body#checkout .prime-co-datafast-host .wpwl-group-mobilePhoneNumber,
body#checkout .prime-co-datafast-host .wpwl-group-birthDate,
body#checkout .prime-co-datafast-host .wpwl-group-clickToPayConfirmation,
body#checkout .prime-co-datafast-host .wpwl-group-visaInstallmentConfirmation,
body#checkout .prime-co-datafast-host .wpwl-wrapper-mobilePhoneCountryCode,
body#checkout .prime-co-datafast-host .wpwl-wrapper-mobilePhoneNumber,
body#checkout .prime-co-datafast-host .wpwl-wrapper-birthDate {
  display: none !important;
}

/* Checkbox de términos (Datafast los muestra abajo en inglés). Si aparecen, estilizar compacto. */
body#checkout .prime-co-datafast-host .wpwl-group-clickToPayCheckbox,
body#checkout .prime-co-datafast-host .wpwl-group input[type="checkbox"] + label {
  font-size: 12px !important;
  color: #666 !important;
  line-height: 1.4 !important;
}


/* Reordenar visualmente: número de tarjeta arriba, luego MM/YY + CVV en una fila, luego nombre */
body#checkout .prime-co-datafast-host .wpwl-form-card > .wpwl-group-cardNumber { order: 1 !important; }
body#checkout .prime-co-datafast-host .wpwl-form-card > .wpwl-group-expiry { order: 2 !important; flex: 1 1 calc(50% - 4px) !important; }
body#checkout .prime-co-datafast-host .wpwl-form-card > .wpwl-group-cvv { order: 3 !important; flex: 1 1 calc(50% - 4px) !important; }
body#checkout .prime-co-datafast-host .wpwl-form-card > .wpwl-group-cardHolder { order: 4 !important; flex: 1 1 100% !important; }
body#checkout .prime-co-datafast-host .wpwl-form-card > .wpwl-group-submit { order: 99 !important; }
body#checkout .prime-co-datafast-host .wpwl-form-card > .installments-group { order: 95 !important; flex: 1 1 100% !important; }


/* Card body de Datafast: fondo gris claro estilo bodybuilding */
body#checkout .prime-co-card[data-prime-pay="datafast"] .prime-co-card-body {
  background: #f7f7f7 !important;
  padding: 14px !important;
  border-top: 1px solid #e5e5e5 !important;
}
body#checkout .prime-co-card[data-prime-pay="datafast"] .prime-co-datafast-host {
  background: transparent !important;
  margin: 0 !important;
}

/* Form: gap consistente entre filas */
body#checkout .prime-co-datafast-host .wpwl-form-card,
body#checkout .prime-co-datafast-host form.paymentWidgets {
  gap: 8px !important;
}

/* Asegurar ancho idéntico para MM/YY y CVV (50/50 exacto) */
body#checkout .prime-co-datafast-host .wpwl-form-card > .wpwl-group-expiry,
body#checkout .prime-co-datafast-host .wpwl-form-card > .wpwl-group-cvv {
  flex: 1 1 0 !important;
  width: calc(50% - 4px) !important;
  max-width: calc(50% - 4px) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Banner amarillo de aviso: más compacto y sutil */
body#checkout .prime-co-datafast-host .datafast-info-box {
  background: #fef9e7 !important;
  border: 1px solid #f9e8a3 !important;
  border-radius: 6px !important;
  padding: 6px 10px !important;
  font-size: 11px !important;
  color: #7a5e15 !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.3 !important;
}

/* Inputs: fondo blanco, padding compacto */
body#checkout .prime-co-datafast-host .wpwl-control,
body#checkout .prime-co-datafast-host input.wpwl-control,
body#checkout .prime-co-datafast-host select.wpwl-control {
  background: #fff !important;
  padding: 10px 14px !important;
  height: 46px !important;
  min-height: 46px !important;
  font-size: 14px !important;
}
body#checkout .prime-co-datafast-host iframe.wpwl-control-iframe,
body#checkout .prime-co-datafast-host .wpwl-control-iframe {
  height: 46px !important;
  max-height: 46px !important;
}
body#checkout .prime-co-datafast-host .wpwl-group-cvv,
body#checkout .prime-co-datafast-host .wpwl-wrapper-cvv {
  height: 46px !important;
}

/* Botón: más compacto */
body#checkout .prime-co-datafast-host .wpwl-button,
body#checkout .prime-co-datafast-host button.wpwl-button-pay {
  padding: 10px !important;
  font-size: 13px !important;
  margin-top: 6px !important;
}

/* Powered by Datafast: más grande y centrado verticalmente entre último input y botón */
body#checkout .prime-co-datafast-host br + br + img,
body#checkout .prime-co-datafast-host img[style*="display:block"] {
  display: block !important;
  margin: 20px auto !important;
  max-width: 280px !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
}
body#checkout .prime-co-datafast-host br {
  display: none !important;
}

/* Quitar margin del wpwl-group submit */
body#checkout .prime-co-datafast-host .wpwl-group-submit {
  margin: 0 !important;
}


/* Form datafast llena 100% del card body — sin espacio sobrante */
body#checkout .prime-co-card[data-prime-pay="datafast"] .prime-co-card-body {
  padding: 14px !important;
}
body#checkout .prime-co-datafast-host .wpwl-form-card,
body#checkout .prime-co-datafast-host form.paymentWidgets,
body#checkout .prime-co-datafast-host .wpwl-container,
body#checkout .prime-co-datafast-host .wpwl-container-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
body#checkout .prime-co-datafast-host .wpwl-control,
body#checkout .prime-co-datafast-host input.wpwl-control,
body#checkout .prime-co-datafast-host select.wpwl-control {
  width: 100% !important;
  box-sizing: border-box !important;
}


/* Datafast card seleccionado: borde negro solo arriba (head), body sin bordes laterales/bottom (estilo bodybuilding) */
body#checkout .prime-co-card[data-prime-pay="datafast"].prime-co-sel {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
}
body#checkout .prime-co-card[data-prime-pay="datafast"].prime-co-sel .prime-co-card-head {
  border: 1.5px solid #1a1a1a !important;
  border-radius: 8px 8px 0 0 !important;
  background: #fafafa !important;
  padding: 14px 16px !important;
  margin: 0 !important;
}
body#checkout .prime-co-card[data-prime-pay="datafast"].prime-co-sel .prime-co-card-body {
  border: 0 !important;
  border-radius: 0 0 8px 8px !important;
  background: #f7f7f7 !important;
  margin: 0 !important;
  padding: 14px !important;
}

/* === Mega-dropdown Tienda GRANDE (tipografía bb, colores claros) — 2026-05-11 === */
:root { --prime-red: #FF0D09; }
html body #iqitmegamenu-horizontal .cbp-hrsub,
html body #iqitmegamenu-horizontal .cbp-hrsub-inner {
  background: #ffffff !important;
  color: #1a1a1a !important;
  padding: 24px 0 32px !important;
  border-top: 0 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.10) !important;
}
#iqitmegamenu-horizontal .iqitmegamenu-submenu-container {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
}
#iqitmegamenu-horizontal .menu_row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  row-gap: 24px !important;
}
#iqitmegamenu-horizontal .menu_row .cbp-menu-column,
#iqitmegamenu-horizontal .menu_row > [class*="col-"] {
  flex: 0 0 33.3333% !important;
  max-width: 33.3333% !important;
  padding: 0 24px !important;
}
@media (min-width: 992px) and (max-width: 1399px) {
  #iqitmegamenu-horizontal .menu_row .cbp-menu-column,
  #iqitmegamenu-horizontal .menu_row > [class*="col-"] {
    flex: 0 0 33.3333% !important;
    max-width: 33.3333% !important;
  }
}
/* Títulos de columna: 10% más grandes que items, bold */
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-column-title,
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-category-title,
html body #iqitmegamenu-horizontal .cbp-hrsub a.cbp-column-title,
html body #iqitmegamenu-horizontal .cbp-hrsub strong,
html body #iqitmegamenu-horizontal .cbp-hrsub strong > a,
html body #iqitmegamenu-horizontal .cbp-hrsub-inner strong,
html body #iqitmegamenu-horizontal .cbp-hrsub-inner strong > a {
  display: block !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #111 !important;
  border-bottom: 2px solid var(--prime-red) !important;
  padding-bottom: 10px !important;
  margin-bottom: 14px !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  font-family: inherit !important;
  width: auto !important;
}
/* Sublinks: gris + negrita (specificity reforzada) */
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-links li a,
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-links li .cbp-category-link-w a,
html body #iqitmegamenu-horizontal .cbp-hrsub ul.cbp-links li a:not(.cbp-column-title):not(.cbp-category-title),
html body #iqitmegamenu-horizontal .cbp-hrsub li .cbp-category-link-w > a:not(.cbp-column-title):not(.cbp-category-title) {
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: #6b7280 !important;
  padding: 8px 0 !important;
  line-height: 1.35 !important;
  display: block !important;
  border: 0 !important;
  transition: color 0.15s ease, padding-left 0.15s ease;
  font-family: inherit !important;
}
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-links li a:hover,
html body #iqitmegamenu-horizontal .cbp-hrsub li .cbp-category-link-w > a:not(.cbp-column-title):hover {
  color: var(--prime-red) !important;
  padding-left: 6px !important;
}
#iqitmegamenu-horizontal .cbp-hrsub .cbp-links a:hover,
#iqitmegamenu-horizontal .cbp-hrsub .cbp-category-link-w > a:not(.cbp-column-title):hover {
  color: var(--prime-red) !important;
  padding-left: 6px !important;
  text-decoration: none !important;
}
#iqitmegamenu-horizontal .cbp-hrsub .cbp-links,
#iqitmegamenu-horizontal .cbp-hrsub .cbp-links li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#iqitmegamenu-horizontal .cbp-hrsub .cbp-categories-row,
#iqitmegamenu-horizontal .cbp-hrsub .cbp-category-link-w,
#iqitmegamenu-horizontal .cbp-hrsub .cbp-menu-column-inner {
  margin: 0 !important;
  padding: 0 !important;
}
/* === Fin mega-dropdown grande === */

/* === Ocultar icono home del menú top + alinear TIENDA con búsqueda — 2026-05-11 === */
html body #iqitmegamenu-horizontal .cbp-onlyicon,
html body #cbp-hrmenu .cbp-onlyicon,
html body #iqitmegamenu-horizontal .cbp-hrmenu-tab-1.cbp-onlyicon {
  display: none !important;
}
/* === Fin ocultar home === */

/* Alinear inicio de TIENDA con inicio de barra de búsqueda */
html body #cbp-hrmenu > ul,
html body #iqitmegamenu-horizontal > nav#cbp-hrmenu > ul {
  padding-left: 89px !important;
}

/* === Header compactado vertical — 2026-05-11 21:05 === */
/* Reducir espacio entre buscador y menú; menú top apretado con fuente del tema */

/* Header-top: padding vertical mínimo (contiene logo + buscador + iconos right) */
html body #header .header-top {
  padding-top: 6px !important;
  padding-bottom: 0 !important;
}
html body #header #desktop-header.desktop-header-style-8 .header-top > .container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Wrapper del megamenu: cero padding/margin verticales */
html body #iqitmegamenu-wrapper,
html body #iqitmegamenu-wrapper.iqitmegamenu-all,
html body .iqitmegamenu-wrapper {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
html body #iqitmegamenu-wrapper > .container.container-iqitmegamenu {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Items del menú top: fuente del TEMA (inherit), uppercase, apretado como prod */
html body #iqitmegamenu-horizontal .cbp-tab-title,
html body #iqitmegamenu-horizontal .nav-link,
html body #iqitmegamenu-horizontal #cbp-hrmenu > ul > li > a,
html body #cbp-hrmenu > ul > li > a {
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  padding: 6px 14px !important;
  line-height: 1.2 !important;
}
html body #iqitmegamenu-horizontal .cbp-hrmenu-tab,
html body #cbp-hrmenu > ul > li {
  margin: 0 !important;
}

/* El UL del menú: cero margen vertical (padding-left 89px ya viene del bloque anterior) */
html body #cbp-hrmenu > ul,
html body #iqitmegamenu-horizontal > nav#cbp-hrmenu > ul {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Quitar borders/padding del nav que sumen altura */
html body #iqitmegamenu-horizontal,
html body #cbp-hrmenu {
  border-top: 0 !important;
  border-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Dropdown: padding interno reducido (no tan alto como antes) */
html body #iqitmegamenu-horizontal .cbp-hrsub,
html body #iqitmegamenu-horizontal .cbp-hrsub-inner {
  padding-top: 14px !important;
  padding-bottom: 18px !important;
}

/* Forzar fuente del tema también en columnas/sublinks del dropdown */
html body #iqitmegamenu-horizontal .cbp-hrsub *,
html body #iqitmegamenu-horizontal .cbp-hrsub-inner * {
  font-family: inherit !important;
}
/* === Fin header compactado vertical === */

/* === Mobile menu: flechas estilo bodybuilding (→ derecha) — restaurado 2026-05-11 21:05 === */
@media (max-width: 991px) {
  /* Ocultar los chevrons del template */
  .mobile-menu .mobile-menu__arrow .mobile-menu__expand-icon,
  .mobile-menu .mobile-menu__arrow .mobile-menu__close-icon,
  .mobile-menu .mobile-menu__arrow .expand-icon {
    display: none !important;
  }
  /* Wrapper de la flecha: alineación y tamaño */
  .mobile-menu .mobile-menu__tab > .mobile-menu__arrow {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 32px;
    min-width: 32px;
    height: 32px;
    margin-left: auto;
    padding: 0 !important;
    color: inherit;
  }
  /* Flecha → como pseudo-element (unicode, sin Font Awesome) */
  .mobile-menu .mobile-menu__tab > .mobile-menu__arrow::before {
    content: "\2192";
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    display: inline-block;
    transition: transform 0.22s ease;
    color: inherit;
  }
  /* Rotar 90° cuando está expandido (acordeón abierto) */
  .mobile-menu .mobile-menu__tab.is-open > .mobile-menu__arrow::before,
  .mobile-menu .mobile-menu__tab.active > .mobile-menu__arrow::before,
  .mobile-menu .mobile-menu__tab--active > .mobile-menu__arrow::before,
  .mobile-menu .mobile-menu__tab[aria-expanded="true"] > .mobile-menu__arrow::before,
  .mobile-menu .mobile-menu__tab > .mobile-menu__arrow[aria-expanded="true"]::before,
  .mobile-menu .mobile-menu__tab > .js-mobile-menu__link-accordion--has-submenu.is-open::before,
  .mobile-menu .mobile-menu__tab.js-mobile-menu__tab--open > .mobile-menu__arrow::before {
    transform: rotate(90deg);
  }
  /* Link ocupa el espacio antes de la flecha */
  .mobile-menu .mobile-menu__tab > .mobile-menu__link {
    flex: 1 1 auto;
  }
}
/* === Fin menú mobile flechas === */

/* === Título de columna alineado a la izquierda (anular padding de .nav-link Bootstrap) — 2026-05-11 21:10 === */
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-column-title,
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-category-title,
html body #iqitmegamenu-horizontal .cbp-hrsub a.cbp-column-title,
html body #iqitmegamenu-horizontal .cbp-hrsub a.cbp-category-title,
html body #iqitmegamenu-horizontal .cbp-hrsub a.cbp-column-title.nav-link,
html body #iqitmegamenu-horizontal .cbp-hrsub a.cbp-category-title.nav-link,
html body #iqitmegamenu-horizontal .cbp-hrsub .nav-link.cbp-column-title,
html body #iqitmegamenu-horizontal .cbp-hrsub strong > a {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  margin-left: 0 !important;
  text-align: left !important;
  text-indent: 0 !important;
}
/* El contenedor .cbp-category-link-w del título: sin padding/margin lateral */
html body #iqitmegamenu-horizontal .cbp-hrsub > * .cbp-category-link-w,
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-menu-column-inner > .cbp-categories-row,
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-categories-row > [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* Sublinks: confirmar también padding-left 0 */
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-links li a,
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-links li .cbp-category-link-w > a {
  padding-left: 0 !important;
  margin-left: 0 !important;
  text-align: left !important;
  text-indent: 0 !important;
}
/* === Fin alineación título === */

/* === Reducir tamaño flechas mobile -30% — 2026-05-11 21:11 === */
@media (max-width: 991px) {
  .mobile-menu .mobile-menu__tab > .mobile-menu__arrow {
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
  }
  .mobile-menu .mobile-menu__tab > .mobile-menu__arrow::before {
    font-size: 15px !important;
  }
}
/* === Fin flechas más pequeñas === */

/* === Centrar verticalmente flechas mobile en el li — 2026-05-11 21:14 === */
@media (max-width: 991px) {
  /* El li (mobile-menu__tab) usa flex-wrap para que el submenu vaya abajo;
     forzar alineación vertical al centro de la primera fila (link + arrow) */
  .mobile-menu .mobile-menu__tab,
  .mobile-menu .js-mobile-menu__tab,
  .mobile-menu li.mobile-menu__tab {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }
  /* La flecha: alinearse al centro vertical de su row */
  .mobile-menu .mobile-menu__tab > .mobile-menu__arrow {
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    top: auto !important;
    position: relative !important;
  }
  /* El link adyacente también centrado */
  .mobile-menu .mobile-menu__tab > .mobile-menu__link {
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
  }
}
/* === Fin centrar flechas mobile === */

/* === Header aún más compactado: -7px arriba/abajo del menú + carrusel pegado al buscador — 2026-05-11 21:18 === */

/* Carrusel banner top (.header-nav con revslider): pegarlo a la búsqueda */
html body #header .header-nav {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
html body #header .header-nav > .container,
html body #header .header-nav > .container > .row {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Header-top (logo + búsqueda + menú): cero padding vertical */
html body #header .header-top,
html body #header #desktop-header.desktop-header-style-8 .header-top {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Columna que envuelve el megamenu: cero padding vertical */
html body #header .col-header-menu,
html body #header .col.col-header-menu,
html body #header .col-header-left.col-header-menu {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Wrapper del megamenu: -7px arriba y -7px abajo */
html body #iqitmegamenu-wrapper,
html body #iqitmegamenu-wrapper.iqitmegamenu-all,
html body .iqitmegamenu-wrapper {
  margin-top: -7px !important;
  margin-bottom: -7px !important;
}
/* === Fin compactación extra === */

/* === Menú top desktop: -40% espacio horizontal entre items — 2026-05-11 21:21 === */
@media (min-width: 992px) {
  html body #iqitmegamenu-horizontal .cbp-tab-title,
  html body #iqitmegamenu-horizontal .nav-link,
  html body #iqitmegamenu-horizontal #cbp-hrmenu > ul > li > a,
  html body #cbp-hrmenu > ul > li > a {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}
/* === Fin compactación horizontal menú === */

/* === Mover menú top 8px a la izquierda (alinear con buscador) — 2026-05-11 21:23 === */
html body #cbp-hrmenu > ul,
html body #iqitmegamenu-horizontal > nav#cbp-hrmenu > ul {
  padding-left: 81px !important;
}
/* === Fin shift izquierda === */

/* === Menú top: quitar uppercase, usar Title Case desde BD — 2026-05-11 21:25 === */
html body #iqitmegamenu-horizontal .cbp-tab-title,
html body #iqitmegamenu-horizontal .nav-link,
html body #iqitmegamenu-horizontal #cbp-hrmenu > ul > li > a,
html body #cbp-hrmenu > ul > li > a {
  text-transform: none !important;
}
/* === Fin title case === */

/* === Mover menú top a 70px (más a la izquierda) — 2026-05-11 21:26 === */
html body #cbp-hrmenu > ul,
html body #iqitmegamenu-horizontal > nav#cbp-hrmenu > ul {
  padding-left: 70px !important;
}
/* === Fin shift 70px === */

/* === Mover menú top REAL a la izquierda + reducir padding bottom items — 2026-05-11 21:30 === */

/* 1. Anular padding-left del .container Bootstrap interno (añadía 24px que bloqueaba el shift) */
html body #iqitmegamenu-wrapper > .container.container-iqitmegamenu,
html body .iqitmegamenu-wrapper > .container.container-iqitmegamenu {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 2. Quitar padding lateral del col-header-menu por si suma offset */
html body #header .col-header-menu,
html body #header .col.col-header-menu,
html body #header .col-header-left.col-header-menu {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 3. Restaurar padding-left a 81px del UL (ahora SÍ se va a notar el shift) */
html body #cbp-hrmenu > ul,
html body #iqitmegamenu-horizontal > nav#cbp-hrmenu > ul {
  padding-left: 81px !important;
}

/* 4. Reducir padding-bottom de los items del menú top en desktop (-6px) */
@media (min-width: 992px) {
  html body #iqitmegamenu-horizontal .cbp-tab-title,
  html body #iqitmegamenu-horizontal .nav-link,
  html body #iqitmegamenu-horizontal #cbp-hrmenu > ul > li > a,
  html body #cbp-hrmenu > ul > li > a {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
/* === Fin === */

/* === Restaurar 5px arriba y 5px abajo del item del menú top — 2026-05-11 21:33 === */
@media (min-width: 992px) {
  html body #iqitmegamenu-horizontal .cbp-tab-title,
  html body #iqitmegamenu-horizontal .nav-link,
  html body #iqitmegamenu-horizontal #cbp-hrmenu > ul > li > a,
  html body #cbp-hrmenu > ul > li > a {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
}
/* === Fin === */

/* === Subir font-size del menú top a 15px (como estaba antes) — 2026-05-11 21:35 === */
html body #iqitmegamenu-horizontal .cbp-tab-title,
html body #iqitmegamenu-horizontal .nav-link,
html body #iqitmegamenu-horizontal #cbp-hrmenu > ul > li > a,
html body #cbp-hrmenu > ul > li > a {
  font-size: 15px !important;
}
/* === Fin === */

/* === Reducir tamaño del logo 20% — 2026-05-11 21:38 === */
html body img.logo,
html body img.logo.img-fluid,
html body .logo-image img.logo {
  transform: scale(0.8);
  transform-origin: left center;
  max-width: 80% !important;
  height: auto;
}
/* Margen negativo a la derecha para que el espacio reservado también se reduzca */
html body img.logo,
html body img.logo.img-fluid {
  margin-right: -20% !important;
}
/* === Fin logo más pequeño === */

/* === +30px padding-bottom dropdown Tienda — 2026-05-11 22:45 === */
html body #iqitmegamenu-horizontal .cbp-hrsub,
html body #iqitmegamenu-horizontal .cbp-hrsub-inner {
  padding-bottom: 48px !important;
}
/* === Fin === */

/* === +30px más padding-bottom dropdown (total 78px) — 2026-05-11 22:47 === */
html body #iqitmegamenu-horizontal .cbp-hrsub,
html body #iqitmegamenu-horizontal .cbp-hrsub-inner {
  padding-bottom: 78px !important;
}
/* === Fin === */

/* === Dropdown VITAMINAS Y SALUD: layout estrecho con header+CTA y lista — 2026-05-11 21:42 === */

/* Limitar ancho del dropdown SOLO para tab 13 */
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .cbp-hrsub {
  width: 380px !important;
  max-width: 380px !important;
  min-width: 380px !important;
  left: 0 !important;
  right: auto !important;
  padding: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .cbp-hrsub-inner {
  padding: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .iqitmegamenu-submenu-container,
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .container.iqitmegamenu-submenu-container {
  max-width: 380px !important;
  width: 380px !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .menu_row {
  display: block !important;
  margin: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .cbp-menu-column,
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .menu_row > [class*="col-"] {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .cbp-menu-column-inner {
  padding: 0 !important;
}

/* Wrapper del nuevo HTML */
html body .vys-dropdown {
  font-family: inherit;
  background: #fff;
  border: 0;
}

/* Header con título + CTA */
html body .vys-dropdown .vys-header {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px !important;
  border-bottom: 1px solid #e9e9e9 !important;
  gap: 12px;
  margin: 0 !important;
}
html body .vys-dropdown .vys-header .vys-title-link {
  font-size: 15px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #111 !important;
  text-decoration: none !important;
  font-family: inherit !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  flex: 1;
  border: 0 !important;
}
html body .vys-dropdown .vys-header .vys-cta {
  background: #FF0D09 !important;
  color: #fff !important;
  padding: 8px 14px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  text-decoration: none !important;
  border-radius: 4px !important;
  line-height: 1 !important;
  letter-spacing: 0.3px !important;
  font-family: inherit !important;
  white-space: nowrap;
  transition: background .15s ease, transform .15s ease;
  border: 0 !important;
  margin: 0 !important;
}
html body .vys-dropdown .vys-header .vys-cta:hover {
  background: #cc0a07 !important;
  transform: translateY(-1px);
}

/* Section label gris */
html body .vys-dropdown .vys-section-label {
  background: #f5f5f5 !important;
  color: #666 !important;
  padding: 8px 18px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.7px !important;
  border-bottom: 1px solid #e9e9e9 !important;
  margin: 0 !important;
}

/* Lista vertical de categorías */
html body .vys-dropdown .vys-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body .vys-dropdown .vys-list li {
  border-bottom: 1px solid #f0f0f0 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body .vys-dropdown .vys-list li:last-child {
  border-bottom: 0 !important;
}
html body .vys-dropdown .vys-list li a {
  display: block !important;
  padding: 12px 18px !important;
  color: #1a1a1a !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  text-transform: none !important;
  font-family: inherit !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  border: 0 !important;
  transition: background .15s ease, color .15s ease, padding-left .15s ease;
}
html body .vys-dropdown .vys-list li a:hover {
  background: #f9f9f9 !important;
  color: #FF0D09 !important;
  padding-left: 26px !important;
}
/* === Fin dropdown Vitaminas y Salud === */

/* === Anclar dropdown VyS bajo el tab (no full-width nav) — 2026-05-11 22:55 === */
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13,
html body #cbp-hrmenu li#cbp-hrmenu-tab-13 {
  position: relative !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .cbp-hrsub,
html body #cbp-hrmenu #cbp-hrmenu-tab-13 > .cbp-hrsub {
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: 100% !important;
  margin-left: 0 !important;
}
/* === Fin anclaje VyS === */

/* === Forzar texto blanco en botón Ir a Vitaminas y Salud (anular reglas grises del .cbp-links) — 2026-05-11 22:58 === */
html body #iqitmegamenu-horizontal .cbp-hrsub a.vys-cta,
html body #iqitmegamenu-horizontal .cbp-hrsub .vys-dropdown a.vys-cta,
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .cbp-hrsub a.vys-cta,
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .cbp-hrsub .vys-cta {
  color: #ffffff !important;
  background: #FF0D09 !important;
}
html body #iqitmegamenu-horizontal .cbp-hrsub a.vys-cta:hover,
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .cbp-hrsub .vys-cta:hover {
  color: #ffffff !important;
  background: #cc0a07 !important;
}

/* === Dropdown PUNTOS PRIME (tab 14): mismo layout estrecho que Vitaminas y Salud, anclado a la derecha (el tab esta al final del menu) — 2026-05-21 === */
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-14 .cbp-hrsub {
  width: 380px !important;
  max-width: 380px !important;
  min-width: 380px !important;
  left: auto !important;
  right: 0 !important;
  padding: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-14 .cbp-hrsub-inner {
  padding: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-14 .iqitmegamenu-submenu-container,
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-14 .container.iqitmegamenu-submenu-container {
  max-width: 380px !important;
  width: 380px !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-14 .menu_row {
  display: block !important;
  margin: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-14 .cbp-menu-column,
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-14 .menu_row > [class*="col-"] {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-14 .cbp-menu-column-inner {
  padding: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-14,
html body #cbp-hrmenu li#cbp-hrmenu-tab-14 {
  position: relative !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-14 .cbp-hrsub,
html body #cbp-hrmenu #cbp-hrmenu-tab-14 > .cbp-hrsub {
  position: absolute !important;
  left: auto !important;
  right: 0 !important;
  top: 100% !important;
  margin-left: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-14 .cbp-hrsub a.vys-cta,
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-14 .cbp-hrsub .vys-cta {
  color: #ffffff !important;
  background: #FF0D09 !important;
}
/* === Fin dropdown Puntos Prime === */

/* === Dropdown ARTICULOS (tab 4): mismo layout estrecho que Vitaminas y Salud, anclado a la derecha — 2026-05-21 === */
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-4 .cbp-hrsub {
  width: 380px !important;
  max-width: 380px !important;
  min-width: 380px !important;
  left: auto !important;
  right: 0 !important;
  padding: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-4 .cbp-hrsub-inner {
  padding: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-4 .iqitmegamenu-submenu-container,
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-4 .container.iqitmegamenu-submenu-container {
  max-width: 380px !important;
  width: 380px !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-4 .menu_row {
  display: block !important;
  margin: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-4 .cbp-menu-column,
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-4 .menu_row > [class*="col-"] {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-4 .cbp-menu-column-inner {
  padding: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-4,
html body #cbp-hrmenu li#cbp-hrmenu-tab-4 {
  position: relative !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-4 .cbp-hrsub,
html body #cbp-hrmenu #cbp-hrmenu-tab-4 > .cbp-hrsub {
  position: absolute !important;
  left: auto !important;
  right: 0 !important;
  top: 100% !important;
  margin-left: 0 !important;
}
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-4 .cbp-hrsub a.vys-cta,
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-4 .cbp-hrsub .vys-cta {
  color: #ffffff !important;
  background: #FF0D09 !important;
}
/* === Fin dropdown Articulos === */
/* === Fin texto blanco CTA === */

/* === Subcategorías del dropdown TIENDA con estilo de Vitaminas y Salud — 2026-05-11 23:00 === */
/* Sobreescribir el gris (#6b7280) y weight 700 por color/peso del estilo VyS */
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-links li a,
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-links li .cbp-category-link-w a,
html body #iqitmegamenu-horizontal .cbp-hrsub ul.cbp-links li a:not(.cbp-column-title):not(.cbp-category-title),
html body #iqitmegamenu-horizontal .cbp-hrsub li .cbp-category-link-w > a:not(.cbp-column-title):not(.cbp-category-title) {
  color: #1a1a1a !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-family: inherit !important;
  line-height: 1.3 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
/* Hover: color rojo + indent leve (mantener consistencia con VyS) */
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-links li a:hover,
html body #iqitmegamenu-horizontal .cbp-hrsub li .cbp-category-link-w > a:not(.cbp-column-title):hover,
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-links li .cbp-category-link-w > a:hover {
  color: #FF0D09 !important;
  padding-left: 6px !important;
  background: transparent !important;
}
/* === Fin === */

/* === Quitar líneas separadoras entre items del dropdown VyS — 2026-05-11 23:02 === */
html body .vys-dropdown .vys-list li,
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .cbp-hrsub .vys-list li {
  border-bottom: 0 !important;
  border-top: 0 !important;
  border: 0 !important;
}
/* === Fin === */

/* === Título "VITAMINAS Y SALUD" del header igual a los títulos de columna de TIENDA — 2026-05-11 23:05 === */
html body .vys-dropdown .vys-header .vys-title-link,
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .cbp-hrsub .vys-title-link {
  font-size: 16px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #111 !important;
  border-bottom: 2px solid #FF0D09 !important;
  padding-bottom: 10px !important;
  line-height: 1.25 !important;
  font-family: inherit !important;
}
/* === Fin === */

/* === Subcategorías (TIENDA + VyS) en negrita 700 — 2026-05-11 23:06 === */
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-links li a,
html body #iqitmegamenu-horizontal .cbp-hrsub .cbp-links li .cbp-category-link-w a,
html body #iqitmegamenu-horizontal .cbp-hrsub ul.cbp-links li a:not(.cbp-column-title):not(.cbp-category-title),
html body #iqitmegamenu-horizontal .cbp-hrsub li .cbp-category-link-w > a:not(.cbp-column-title):not(.cbp-category-title),
html body .vys-dropdown .vys-list li a,
html body #iqitmegamenu-horizontal #cbp-hrmenu-tab-13 .cbp-hrsub .vys-list li a {
  font-weight: 700 !important;
}
/* === Fin === */


/* === Drilldown navigation: estilos UNIFICADOS sin media query (specificity alta) — 2026-05-11 23:30 === */

/* Stack de panels: posicionado encima del menú mobile */
html body .prime-drilldown-stack {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  z-index: 100000 !important;
  pointer-events: none !important;
}
html body .prime-drilldown-stack > .prime-drilldown-panel {
  pointer-events: auto !important;
}

/* Panel individual: fullscreen mobile, slide desde la derecha */
html body .prime-drilldown-panel {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 420px !important;
  height: 100vh !important;
  background: #ffffff !important;
  box-shadow: -4px 0 16px rgba(0,0,0,0.15) !important;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(.4, .0, .2, 1);
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  display: flex !important;
  flex-direction: column !important;
}
html body .prime-drilldown-panel.open {
  transform: translateX(0);
}
html body .prime-drilldown-panel.closing {
  transform: translateX(100%);
}
html body .prime-drilldown-panel[data-level="2"] { z-index: 100002 !important; }
html body .prime-drilldown-panel[data-level="3"] { z-index: 100003 !important; }
html body .prime-drilldown-panel[data-level="4"] { z-index: 100004 !important; }

/* Header del panel */
html body .prime-drilldown-panel .prime-drilldown-header {
  display: flex !important;
  align-items: center !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid #e9e9e9 !important;
  background: #ffffff !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1 !important;
  gap: 12px !important;
  margin: 0 !important;
}
html body .prime-drilldown-panel .prime-drilldown-back {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 0 !important;
  color: #1a1a1a !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  cursor: pointer !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  margin: 0 !important;
}
html body .prime-drilldown-panel .prime-drilldown-back-icon {
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  color: inherit !important;
}
html body .prime-drilldown-panel .prime-drilldown-back:hover,
html body .prime-drilldown-panel .prime-drilldown-back:active,
html body .prime-drilldown-panel .prime-drilldown-back:focus {
  color: #1a1a1a !important;
  outline: none !important;
}
html body .prime-drilldown-panel .prime-drilldown-title {
  flex: 1 !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #111 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  padding-right: 60px !important;
  font-family: inherit !important;
  margin: 0 !important;
  line-height: 1.25 !important;
}

/* Lista de items */
html body .prime-drilldown-panel .prime-drilldown-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 1 !important;
}
html body .prime-drilldown-panel .prime-drilldown-list li,
html body .prime-drilldown-panel .prime-drilldown-item {
  list-style: none !important;
  border-bottom: 1px solid #f0f0f0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
html body .prime-drilldown-panel .prime-drilldown-list li:last-child,
html body .prime-drilldown-panel .prime-drilldown-item:last-child {
  border-bottom: 0 !important;
}

/* "Ver todo en X" — destacado rojo */
html body .prime-drilldown-panel .prime-drilldown-viewall {
  background: #fafafa !important;
}
html body .prime-drilldown-panel .prime-drilldown-viewall a {
  display: block !important;
  padding: 16px 20px !important;
  color: #1a1a1a !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
  text-decoration-thickness: 2px !important;
  font-family: inherit !important;
  line-height: 1.3 !important;
}

/* === ITEM (sin distinción entre con/sin submenu — visual idéntico) === */
html body .prime-drilldown-panel .prime-drilldown-itembtn,
html body .prime-drilldown-panel .prime-drilldown-itemlink {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  padding: 16px 20px !important;
  color: #1a1a1a !important;
  font-family: inherit !important;
  text-align: left !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 0.15s ease, color 0.15s ease !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  box-sizing: border-box !important;
}
html body .prime-drilldown-panel .prime-drilldown-itembtn:hover,
html body .prime-drilldown-panel .prime-drilldown-itembtn:active,
html body .prime-drilldown-panel .prime-drilldown-itemlink:hover,
html body .prime-drilldown-panel .prime-drilldown-itemlink:active,
html body .prime-drilldown-panel .prime-drilldown-itembtn:focus,
html body .prime-drilldown-panel .prime-drilldown-itemlink:focus {
  background: #f9f9f9 !important;
  color: #1a1a1a !important;
  outline: none !important;
}
html body .prime-drilldown-panel .prime-drilldown-itemlabel {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: inherit !important;
  font-family: inherit !important;
  flex: 1 !important;
  text-align: left !important;
}
html body .prime-drilldown-panel .prime-drilldown-itemarrow {
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  color: #999 !important;
  margin-left: 12px !important;
  flex: 0 0 auto !important;
}
html body .prime-drilldown-panel .prime-drilldown-itembtn:hover .prime-drilldown-itemarrow,
html body .prime-drilldown-panel .prime-drilldown-itembtn:active .prime-drilldown-itemarrow {
  color: #1a1a1a !important;
}

/* Body lock cuando drilldown activo */
html body.prime-drilldown-active {
  overflow: hidden !important;
}

/* === Menu mobile reubicado al body: full-screen overlay === */
html body > #iqitmegamenu-mobile.mobile-menu.prime-mm-relocated {
  display: none !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 99999 !important;
  background: #ffffff !important;
  overflow-y: auto !important;
  flex-direction: column !important;
  -webkit-overflow-scrolling: touch !important;
}
html body > #iqitmegamenu-mobile.mobile-menu.prime-mm-relocated.prime-mm-open {
  display: flex !important;
}
html body.prime-mm-body-lock {
  overflow: hidden !important;
  position: relative !important;
}

/* Texto de items del menu mobile principal: negro + negrita + Title Case */
html body #iqitmegamenu-mobile .mobile-menu__tab .mobile-menu__link,
html body #iqitmegamenu-mobile .mobile-menu__tab > a,
html body #iqitmegamenu-mobile .mobile-menu__tab > .mobile-menu__link,
html body #iqitmegamenu-mobile .mobile-menu__tab > div > a,
html body #iqitmegamenu-mobile ul.mm-panel__scroller > li a,
html body #iqitmegamenu-mobile ul.mobile-menu__scroller > li a,
html body .mobile-menu .mobile-menu__tab .mobile-menu__link,
html body .mobile-menu ul.mm-panel__scroller > li a {
  color: #1a1a1a !important;
  font-weight: 700 !important;
  text-transform: none !important;
  font-family: inherit !important;
}

/* === Header del menu mobile: X negra a la izquierda + logo Prime pequeño centro/derecha === */
html body #iqitmegamenu-mobile .mm-panel__header.prime-mm-header-styled,
html body #iqitmegamenu-mobile .mobile-menu__header-wrapper.prime-mm-header-styled,
html body .mobile-menu .mm-panel__header.prime-mm-header-styled {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #ffffff !important;
  padding: 10px 14px !important;
  min-height: 52px !important;
  border-bottom: 1px solid #eeeeee !important;
  flex-direction: row !important;
}
html body #iqitmegamenu-mobile .prime-mm-header-styled .mobile-menu__header,
html body .mobile-menu .prime-mm-header-styled .mobile-menu__header {
  flex: 0 0 auto !important;
  margin: 0 !important;
  order: 3 !important;
}
html body #iqitmegamenu-mobile .prime-mm-header-styled .mobile-menu__close,
html body .mobile-menu .prime-mm-header-styled .mobile-menu__close,
html body #iqitmegamenu-mobile .prime-mm-header-styled .js-mobile-menu__close {
  order: 1 !important;
  background: transparent !important;
  border: 0 !important;
  color: #000000 !important;
  padding: 4px 8px !important;
  margin: 0 !important;
  font-size: 20px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
html body #iqitmegamenu-mobile .prime-mm-header-styled .mobile-menu__close .fa,
html body .mobile-menu .prime-mm-header-styled .mobile-menu__close .fa {
  color: #000000 !important;
  font-size: 20px !important;
}
html body #iqitmegamenu-mobile .prime-mm-header-styled .prime-mm-logo,
html body .mobile-menu .prime-mm-header-styled .prime-mm-logo {
  order: 2 !important;
  display: block !important;
  height: 24px !important;
  width: auto !important;
  max-width: 90px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}
/* Si el back-btn original aparece, ocultarlo — usamos drilldown propio */
html body #iqitmegamenu-mobile .prime-mm-header-styled .mobile-menu__back-btn,
html body .mobile-menu .prime-mm-header-styled .mobile-menu__back-btn {
  display: none !important;
}
/* === Fin header mobile menú === */
/* === Panel Compra por Marca: GRID estilo bodybuilding === */
html body .prime-drilldown-panel.prime-brands-panel .prime-brands-list {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
/* "Ver todas las marcas" ocupa toda la fila */
html body .prime-drilldown-panel.prime-brands-panel .prime-drilldown-viewall {
  grid-column: 1 / -1 !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

/* Cada tarjeta es un cuadrado con borde sutil */
html body .prime-drilldown-panel.prime-brands-panel .prime-brand-item {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-right: 1px solid #f0f0f0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  background: #ffffff !important;
}
html body .prime-drilldown-panel.prime-brands-panel .prime-brand-item:nth-child(3n+1) {
  border-left: 0 !important;
}

/* Link interno: flex column con logo arriba + nombre abajo */
html body .prime-drilldown-panel.prime-brands-panel .prime-brand-link {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  color: #1a1a1a !important;
  font-family: inherit !important;
  background: #ffffff !important;
  border: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 150px !important;
  text-align: center !important;
  transition: background 0.15s ease !important;
  overflow: hidden !important;
}
/* Wrapper interno del logo: ocupa el espacio superior, padding interior */
html body .prime-drilldown-panel.prime-brands-panel .prime-brand-link > .prime-brand-logo-wrap {
  flex: 1 1 auto !important;
  margin: 14px 0 8px !important;
}
html body .prime-drilldown-panel.prime-brands-panel .prime-brand-link:hover,
html body .prime-drilldown-panel.prime-brands-panel .prime-brand-link:active {
  background: #f9f9f9 !important;
  color: #1a1a1a !important;
}

/* Cuadro del logo: grande, centrado */
html body .prime-drilldown-panel.prime-brands-panel .prime-brand-logo-wrap {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 90px !important;
  height: 90px !important;
  background: #ffffff !important;
  border: 0 !important;
  flex: 0 0 90px !important;
  overflow: hidden !important;
}
html body .prime-drilldown-panel.prime-brands-panel .prime-brand-initials {
  position: absolute !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #c8c8c8 !important;
  font-family: inherit !important;
  letter-spacing: 1px !important;
  z-index: 0 !important;
}
/* Cuando el logo carga exitosamente, ocultar las iniciales (no se ven detrás de logos transparentes) */
html body .prime-drilldown-panel.prime-brands-panel .prime-brand-logo-wrap.has-logo .prime-brand-initials {
  display: none !important;
}
html body .prime-drilldown-panel.prime-brands-panel .prime-brand-logo {
  position: relative !important;
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  padding: 2px !important;
  background: transparent !important;
  border: 0 !important;
  z-index: 1 !important;
}

/* Nombre en barra inferior gris oscuro con texto blanco (estilo bodybuilding) */
html body .prime-drilldown-panel.prime-brands-panel .prime-brand-name {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background: #2a2a2a !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  font-family: inherit !important;
  text-align: center !important;
  text-transform: none !important;
  line-height: 1.25 !important;
  letter-spacing: 0.3px !important;
  word-break: break-word !important;
  padding: 8px 6px !important;
  min-height: 32px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}
/* === Fin Compra por Marca === */

/* === Banner FIJO en el bottom del menú mobile, visible también encima de drilldown panels === */
html body .prime-mm-banner-fixed {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 999999 !important; /* máximo, encima de todo cuando menu mobile abierto */
  pointer-events: auto !important;
  display: none !important;
}
/* Solo visible cuando el menu mobile está abierto */
html body.prime-mm-body-lock .prime-mm-banner-fixed {
  display: block !important;
}
html body .prime-mm-banner-fixed .prime-mm-banner-link {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  text-decoration: none !important;
  overflow: hidden !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .prime-mm-banner-fixed .prime-mm-banner-img {
  display: block !important;
  width: 100% !important;
  height: 175px !important;
  max-height: 25vh !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  vertical-align: bottom !important;
  object-fit: cover !important;
  object-position: center !important;
}
/* Botón "VER MÁS" overlay sobre la imagen, esquina inferior derecha */
html body .prime-mm-banner-fixed .prime-mm-banner-cta {
  position: absolute !important;
  right: 16px !important;
  bottom: 16px !important;
  display: inline-block !important;
  background: #ffffff !important;
  color: #FF0D09 !important;
  font-family: inherit !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  padding: 9px 16px !important;
  border-radius: 3px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.18) !important;
  text-decoration: none !important;
  line-height: 1 !important;
}
html body .prime-mm-banner-fixed .prime-mm-banner-link:hover .prime-mm-banner-cta,
html body .prime-mm-banner-fixed .prime-mm-banner-link:active .prime-mm-banner-cta {
  background: #FF0D09 !important;
  color: #ffffff !important;
}
/* Ocultar footer original del menu mobile (Español/USD/login) — el menu termina con el banner */
html body > #iqitmegamenu-mobile.mobile-menu.prime-mm-relocated > .mobile-menu__footer,
html body > #iqitmegamenu-mobile.mobile-menu.prime-mm-relocated > .js-top-menu-bottom,
html body > #iqitmegamenu-mobile.mobile-menu.prime-mm-relocated .mobile-menu__below-content {
  display: none !important;
}
/* Espacio extra al final del UL del menu y los drilldown panels para que el banner no tape items al hacer scroll */
html body > #iqitmegamenu-mobile.mobile-menu.prime-mm-relocated ul.mm-panel__scroller,
html body > #iqitmegamenu-mobile.mobile-menu.prime-mm-relocated ul.mobile-menu__scroller {
  padding-bottom: 200px !important;
}
html body .prime-drilldown-panel .prime-drilldown-list {
  padding-bottom: 220px !important;
}
/* Panel de marcas tiene tarjetas más altas, padding extra para que la última fila quede sobre el banner */
html body .prime-drilldown-panel.prime-brands-panel .prime-brands-list {
  padding-bottom: 240px !important;
}
/* === Fin banner fijo === */

/* Forzar ocultar items de categoría agregados al wrapper "Compra por Categoría" */
html body #iqitmegamenu-mobile li.prime-mm-hidden-cat,
html body .mobile-menu li.prime-mm-hidden-cat,
html body #iqitmegamenu-mobile .mobile-menu__tab.prime-mm-hidden-cat {
  display: none !important;
}

/* === Ranking badges en página Más Vendidos (cat 47) === */
html body .js-product-miniature-wrapper {
  position: relative !important;
}
html body .prime-rank-badge {
  position: absolute !important;
  top: 7px !important;
  right: 8px !important;
  left: auto !important;
  background: #FF0D09 !important;
  color: #ffffff !important;
  padding: 4px 10px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  border-radius: 4px !important;
  z-index: 10 !important;
  font-family: inherit !important;
  letter-spacing: 0.3px !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}
/* === Fin ranking badges === */
/* === Fin drilldown unified === */
