/* ==========================================================
   Dionisia - CSS propio (se carga desde layout.tpl)
   Para ver cambios: subir el numero de version en el link (?v=1, ?v=2...)
   ========================================================== */


/* ----------------------------------------------------------
   Guia de talles: ventana centrada en lugar de panel lateral
   ---------------------------------------------------------- */

/* Desktop */

@media (min-width: 768px) {
  #size-guide-modal.modal {
    width: 720px !important;
    max-width: 92vw !important;
    height: auto !important;
    max-height: 90vh !important;
    border-radius: 12px;
    overflow-y: auto;
  }

  #size-guide-modal .modal-body {
    padding: 0 20px 20px;
  }
}

/* Celular: tarjeta centrada con margen a los costados */

@media (max-width: 767px) {
  #size-guide-modal.modal {
    top: 50% !important;
    bottom: auto !important;
    left: 50% !important;
    right: auto !important;
    width: calc(100% - 32px) !important;
    max-width: none !important;
    height: auto !important;
    max-height: 86vh !important;
    transform: translate(-50%, -50%) !important;
    border-radius: 12px;
    overflow-y: auto;
  }

  #size-guide-modal .modal-body {
    padding: 0 16px 16px;
  }
}

/* Titulo "Guia de talles": igual al de "Carrito de compras" */

#size-guide-modal .modal-header .col.p-3 {
  font-family: Inter, sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: rgb(26, 20, 19) !important;
}

/* Titulo de "Productos destacados": mismo tamano que las demas secciones */

.js-products-featured-title {
  font-size: 28px !important;
}

@media (min-width: 768px) {
  .js-products-featured-title {
    font-size: 38px !important;
  }
}

/* "Productos destacados": ocultar los productos que van detras de "VER MAS" */

.js-products-featured-grid .js-item-product.dio-hidden-product {
  display: none !important;
}

/* "Productos destacados": ocultar los productos que van detras de "VER MAS" */

.js-products-featured-grid .js-item-product.dio-hidden-product {
  display: none !important;
}

/* "VER MAS": que quede por encima del banner que se superpone en celular */

.dio-ver-mas-btn {
  position: relative;
  z-index: 5;
}

/* "Productos destacados": mas aire entre "VER MAS" y el banner (solo celular) */

@media (max-width: 767px) {
  [data-store="home-products-featured"] {
    padding-bottom: 35px !important;
  }
}

/* CELULAR: reordenar la home. La Gift Card pasa entre "Precios unicos" y "Productos destacados" (en desktop ese lugar lo ocupa el video) */

@media (max-width: 767px) {
  .js-home-sections-container { display: flex; flex-direction: column; }

    /* Solo si "Precios unicos" esta activa: Gift Card antes de "Productos destacados" */

  .js-home-sections-container:has([data-store="home-products-sale"]) [data-store="home-banner-promotional"] { order: 1; }

  .js-home-sections-container:has([data-store="home-products-sale"]) [data-store="home-products-featured"] { order: 2; }

  .js-home-sections-container:has([data-store="home-products-sale"]) [data-store="home-testimonials"] { order: 3; }

  /* Mas aire entre "VER MAS" de Precios unicos y la Gift Card (que se superpone 30px) */

  [data-store="home-products-sale"] { padding-bottom: 35px !important; }
}

/* CELULAR, con "Precios unicos" activa: la Gift Card ya no esta despues de "Productos destacados", asi que sacamos el aire extra debajo de "VER MAS" */

@media (max-width: 767px) {
  .js-home-sections-container:has([data-store="home-products-sale"]) [data-store="home-products-featured"] {
    padding-bottom: 0 !important;
  }
}

/* DESKTOP: aire entre "Banners de categorias" y el video cuando van seguidos (sin "Precios unicos") */

@media (min-width: 768px) {
  [data-store="home-banner-categories"]:has(+ [data-store="home-video"]) {
    padding-bottom: 60px !important;
  }
}

/* ===== HEADER: logo grande arriba, tamaño normal al scrollear (solo desktop) ===== */

@media (min-width: 768px) {
  header.js-head-main .logo-img {
    max-height: 64px;
  }

  header.js-head-main.compress .logo-img {
    max-height: 40px;
  }
}

/* ===== HEADER: centrar logo en celular ===== */

@media (max-width: 767px) {
  header.js-head-main.head-logo-center-search-small .logo-img {
    margin-left: 0;
  }
}

/* ===== FOOTER: 3 columnas parejas, redes bajo los datos de contacto (solo desktop) ===== */

@media (min-width: 768px) {
  footer.js-footer > .container > .row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto 1fr;
  }

  footer.js-footer > .container > .row > * {
    max-width: none;
    width: auto;
    flex: none;
  }

  footer.js-footer > .container > .row > :nth-child(1),
  footer.js-footer > .container > .row > :nth-child(2) {
    grid-row: 1 / span 2;
  }

  footer.js-footer > .container > .row > :nth-child(3) {
    grid-column: 3;
    grid-row: 1;
  }

  footer.js-footer > .container > .row > :nth-child(4) {
    grid-column: 3;
    grid-row: 2;
    align-self: start;
  }
}

/* ===== FOOTER: 4 columnas, NEWSLETTER a la derecha (solo desktop) ===== */

@media (min-width: 768px) {
  footer.js-footer > .container > .row {
    grid-template-columns: repeat(4, 1fr);
  }

  footer.js-footer > .container > .row > .dionisia-nl-link {
    grid-column: 4;
    grid-row: 1;
    justify-self: end;
    align-self: start;
  }
}

/* ===== NEWSLETTER: link y ventana emergente ===== */

.dionisia-nl-link {
  font-family: 'Cormorant Garamond', serif;
  font-size: 28px;
  letter-spacing: 0.02em;
  color: inherit;
  text-decoration: none;
  padding: 16px;
}

@media (hover: hover) {
  .dionisia-nl-link:hover {
    text-decoration: underline;
    text-underline-offset: 6px;
  }
}

body.dionisia-nl-ready .newsletter-footer {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(26, 20, 19, 0.55);
  align-items: center;
  justify-content: center;
  padding: 16px;
}

body.dionisia-nl-ready.dionisia-nl-open .newsletter-footer {
  display: flex;
}

body.dionisia-nl-ready .newsletter-footer .js-newsletter {
  position: relative;
  background: #1A1413;
  color: #F5F0E8;
  max-width: 520px;
  width: 100%;
  padding: 56px 48px 48px !important;
  border-radius: 4px;
}

body.dionisia-nl-ready .newsletter-footer .row {
  display: block;
  text-align: center !important;
  margin: 0 !important;
}

body.dionisia-nl-ready .newsletter-footer .row > * {
  max-width: none;
  width: 100%;
  padding: 0;
}

body.dionisia-nl-ready .newsletter-footer .h2,
body.dionisia-nl-ready .newsletter-footer .h1-md {
  font-family: 'Cormorant Garamond', serif;
  font-size: 40px;
  margin-bottom: 16px;
}

body.dionisia-nl-ready .newsletter-footer .newsletter-form {
  display: block;
}

body.dionisia-nl-ready .newsletter-footer #email {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #F5F0E8;
  border-radius: 0;
  color: #F5F0E8;
  padding: 12px 0;
  margin-top: 32px;
}

body.dionisia-nl-ready .newsletter-footer .btn-link {
  display: block;
  width: 100%;
  margin-top: 24px;
  padding: 14px !important;
  border: 1px solid #F5F0E8;
  color: #F5F0E8;
  text-decoration: none;
  letter-spacing: 0.08em;
  border-radius: 0;
}

@media (hover: hover) {
  body.dionisia-nl-ready .newsletter-footer .btn-link:hover {
    background: #F5F0E8;
    color: #1A1413;
  }
}

.dionisia-nl-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: 0;
  color: #F5F0E8;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

/* ===== NEWSLETTER: link centrado ===== */

.dionisia-nl-link {
  display: block;
  text-align: center;
}

@media (max-width: 767px) {
  footer.js-footer > .container > .row > .dionisia-nl-link {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 24px 16px;
  }
}

@media (min-width: 768px) {
  footer.js-footer > .container > .row > .dionisia-nl-link {
    grid-row: 1 / span 2;
    align-self: center;
    justify-self: center;
  }
}

/* ===== FOOTER: títulos de columnas en Cormorant Garamond ===== */

footer.js-footer .js-accordion-private-toggle-mobile .font-big {
  font-family: 'Cormorant Garamond', serif;
  font-size: 26px !important;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media (max-width: 767px) {
  footer.js-footer .js-accordion-private-toggle-mobile .font-big {
    font-size: 22px !important;
  }
}

/* ===== NEWSLETTER: tamaño del link ===== */

.dionisia-nl-link {
  font-size: 38px;
}

@media (max-width: 767px) {
  .dionisia-nl-link {
    font-size: 32px;
  }
}

/* ===== FOOTER: textos de las columnas ===== */

footer.js-footer .footer-menu-link,
footer.js-footer .contact-link {
  font-family: 'Inter', sans-serif;
  color: #545454 !important;
  letter-spacing: 0.06em !important;
}

footer.js-footer .footer-menu-link {
  text-transform: uppercase;
}

/* ===== FOOTER: hover rojo en links ===== */

footer.js-footer .footer-menu-link,
footer.js-footer .contact-link {
  transition: color 0.2s ease;
}

@media (hover: hover) {
  footer.js-footer .footer-menu-link:hover,
  footer.js-footer .contact-link:hover {
    color: #9E0001 !important;
  }
}

/* ===== FOOTER: íconos de redes ===== */

footer.js-footer .container a.social-icon svg.icon-inline {
  width: 26px !important;
  height: 26px !important;
  color: #545454 !important;
  fill: currentColor !important;
  transition: color 0.2s ease;
}

@media (hover: hover) {
  footer.js-footer .container a.social-icon:hover svg.icon-inline {
    color: #9E0001 !important;
  }
}

/* ===== NEWSLETTER: subrayado fijo en celular ===== */

@media (max-width: 767px) {
  .dionisia-nl-link {
    text-decoration: underline;
    text-underline-offset: 6px;
  }
}

/* ===== FOOTER: medios de pago y envío en una sola fila (solo desktop) ===== */

@media (min-width: 768px) {
  footer.js-footer > .container > .row:has(.footer-payments-shipping-logos) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  footer.js-footer > .container > .row:has(.footer-payments-shipping-logos) > * {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  footer.js-footer > .container > .row:has(.footer-payments-shipping-logos) > .footer-payments-shipping-logos {
    margin-right: 48px;
  }
}

/* ===== NEWSLETTER: pop-up en blanco puro ===== */

body.dionisia-nl-ready .newsletter-footer .js-newsletter,
body.dionisia-nl-ready .newsletter-footer .js-newsletter .h1-md,
body.dionisia-nl-ready .newsletter-footer .js-newsletter .h2,
body.dionisia-nl-ready .newsletter-footer .js-newsletter .font-small {
  color: #FFFFFF !important;
}

body.dionisia-nl-ready .newsletter-footer #email {
  color: #FFFFFF !important;
  border-bottom-color: #FFFFFF !important;
}

body.dionisia-nl-ready .newsletter-footer #email::placeholder {
  color: #FFFFFF !important;
  opacity: 1;
}

body.dionisia-nl-ready .newsletter-footer .btn-link {
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
}

@media (hover: hover) {
  body.dionisia-nl-ready .newsletter-footer .btn-link:hover {
    background: #FFFFFF !important;
    color: #1A1413 !important;
  }
}

body.dionisia-nl-ready .newsletter-footer .dionisia-nl-close,
.dionisia-nl-close {
  color: #FFFFFF !important;
}

/* ===== NEWSLETTER: hover del botón en blanco puro ===== */

body.dionisia-nl-ready .newsletter-footer .btn-link,
body.dionisia-nl-ready .newsletter-footer .btn-link:focus-visible,
body.dionisia-nl-ready .newsletter-footer .btn-link:active {
  opacity: 1 !important;
  transition: background .2s ease, color .2s ease;
}

@media (hover: hover) {
  body.dionisia-nl-ready .newsletter-footer .btn-link:hover {
    opacity: 1 !important;
    transition: background .2s ease, color .2s ease;
  }
}

body.dionisia-nl-ready .newsletter-footer .btn-link:focus-visible,
body.dionisia-nl-ready .newsletter-footer .btn-link:active {
  background-color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  color: #1A1413 !important;
}

@media (hover: hover) {
  body.dionisia-nl-ready .newsletter-footer .btn-link:hover {
    background-color: #FFFFFF !important;
    border-color: #FFFFFF !important;
    color: #1A1413 !important;
  }
}

/* ===== VOLVER ARRIBA: abajo a la izquierda (la derecha queda libre para WhatsApp) ===== */

.dio-back-to-top {
  left: 16px !important;
  right: auto !important;
}

@media (min-width: 768px) {
  .dio-back-to-top {
    left: 24px !important;
  }
}

/* ===== Botón flotante CONTACTANOS (derecha), sin fondo ===== */

.dionisia-wa {
  position: fixed;
  right: 16px;
  bottom: 20px;
  z-index: 900;
  width: 68px;
  background: none;
  border: 0;
  padding: 0;
  box-shadow: none;
  transition: transform .2s ease;
}

.dionisia-wa img {
  display: block;
  width: 100%;
  height: auto;
}

@media (hover: hover) {
  .dionisia-wa:hover {
    transform: translateY(-2px);
  }
}

@media (min-width: 768px) {
  .dionisia-wa {
    right: 24px;
    bottom: 24px;
    width: 84px;
  }
}

/* Filtros: sacar el + / − de los links "Ver más" y "Ver menos" */

.filter-accordion .js-accordion-private-content .js-accordion-private-toggle-inactive::before,
.filter-accordion .js-accordion-private-content .js-accordion-private-toggle-active::before {
  content: none !important;
}

/* Cuenta: texto bajo el título (ej. "Vamos a enviarte un email...") en Inter, sin negrita */

.account-page h2.h6 {
  font-family: Inter, sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

/* Formularios (login, registro, cambiar contraseña, contacto): hover del botón principal */

body[class*="template-account"] .btn-primary.btn-big.btn-block:focus-visible,
body[class*="template-account"] .btn-primary.btn-big.btn-block:active,
body.template-contact .btn-primary.btn-big.btn-block:focus-visible,
body.template-contact .btn-primary.btn-big.btn-block:active {
  background-color: #7C0001 !important;
  border-color: #7C0001 !important;
  color: #FFFFFF !important;
  opacity: 1 !important;
}

@media (hover: hover) {
  body[class*="template-account"] .btn-primary.btn-big.btn-block:hover,
  body.template-contact .btn-primary.btn-big.btn-block:hover {
    background-color: #7C0001 !important;
    border-color: #7C0001 !important;
    color: #FFFFFF !important;
    opacity: 1 !important;
  }
}

/* Cuenta y contacto: más aire entre el contenido y el footer */

.account-page,
.contact-page {
  margin-bottom: 72px !important;
}

@media (max-width: 767px) {
  .account-page,
  .contact-page {
    margin-bottom: 48px !important;
  }
}

/* Pop-up newsletter: bajada más grande y legible */

body.dionisia-nl-open .newsletter-footer .newsletter .font-small {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

@media (max-width: 767px) {
  body.dionisia-nl-open .newsletter-footer .newsletter .font-small {
    font-size: 15px !important;
    text-wrap: balance;
  }
}

/* Pop-up newsletter (solo desktop): más ancho y con más aire */

@media (min-width: 768px) {
  body.dionisia-nl-open .newsletter-footer .newsletter {
    max-width: 640px !important;
    padding: 72px 80px 64px !important;
  }

  /* Más espacio entre el título y la bajada */

  body.dionisia-nl-open .newsletter-footer .newsletter .h1-md {
    margin-bottom: 28px !important;
  }

  /* Más espacio entre la bajada y el campo de email */

  body.dionisia-nl-open .newsletter-footer .newsletter form.col-md-6 {
    margin-top: 44px !important;
  }
}

/* Pop-up newsletter: esquinas rectas */

body.dionisia-nl-open .newsletter-footer .newsletter {
  border-radius: 0 !important;
}

/* Pop-up newsletter: "X" fina, igual a la del carrito */

body.dionisia-nl-open .newsletter-footer .dionisia-nl-close {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23FFFFFF' d='M281.8,256.79L444.23,94.91c6.79-6.85,6.79-17.95,0-24.8-6.67-6.97-17.67-7.18-24.6-.47l-162.43,161.88L96.86,69.65c-3.29-3.51-7.86-5.49-12.65-5.49s-9.36,1.99-12.65,5.49c-6.02,6.62-6.02,16.77,0,23.39L231.91,254.68,69.48,416.33c-6.79,6.85-6.79,17.95,0,24.8,3.23,3.34,7.67,5.2,12.3,5.15,4.71,.38,9.39-1.13,12.99-4.21l162.43-161.88,162.43,163.75c3.23,3.34,7.68,5.19,12.3,5.15,4.62,.02,9.05-1.83,12.3-5.15,6.79-6.85,6.79-17.95,0-24.8l-162.43-162.35Z'/%3E%3C/svg%3E") center / 22px 22px no-repeat !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
}

/* Ficha de producto: aire entre "Compartir" y las pestañas */

body.template-product #single-product .social-share {
  margin-bottom: 48px !important;
}

@media (min-width: 768px) {
  body.template-product #single-product .social-share {
    margin-bottom: 56px !important;
  }
}

/* Pestañas de la ficha: sin líneas en blanco extra arriba del texto */

body.template-product .dio-product-tab-panel .user-content {
  white-space: normal !important;
}

body.template-product .dio-product-tab-panel .user-content > p:empty {
  display: none;
}

/* Cartelito de "Compartir": queda por debajo del header al scrollear */

body.template-product #single-product .social-share .js-tooltip {
  z-index: 10 !important;
}

/* Compartir: sin X (Twitter) ni cruz de cierre */

.social-share .social-share-button[data-network="twitter"],
.social-share .js-tooltip-close {
  display: none !important;
}

/* WhatsApp también visible en desktop (el tema lo oculta ahí) */

.social-share .js-tooltip .social-share-button[data-network="whatsapp"] {
  display: inline-block !important;
}

/* Botón "Copiar enlace" y su aviso */

.social-share .dio-copy-link {
  display: inline-block;
  vertical-align: middle;
}

/* Aviso "Enlace copiado": mismo estilo que los avisos de Tiendanube */

.dio-toast {
  position: fixed;
  left: 50%;
  bottom: 32px;
  z-index: 10000;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 32px;
  padding: 0 8px;
  box-sizing: border-box;
  border-radius: 8px;
  background: #1A5B36;
  color: #FFFFFF;
  font-family: Inter, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, 12px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.dio-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

.dio-toast svg {
  width: 16px;
  height: 16px;
  flex: none;
}

/* Pop-up "Puntos de retiro": título igual al de Guía de talles y Carrito */

.js-modal-shipping-suboptions .modal-header .col.p-3 {
  font-family: Inter, sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #1A1413 !important;
}

/* Resultados de búsqueda: "Mostrando los resultados para..." en Inter */

body.template-search h2.h5 {
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

body.template-search h2.h5 .font-weight-bold {
  font-weight: 600 !important;
}

/* Búsqueda sin resultados: "Escribilo de otra forma y volvé a intentar." en Inter */

body.template-search [data-store="search-grid"] > h5 {
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

/* Búsqueda sin resultados: enlace "Ver todos los productos" */

.dio-ver-todos {
  color: #9E0001;
  text-decoration: underline;
}

.dio-ver-todos:focus-visible,
.dio-ver-todos:active {
  color: #7C0001;
  text-decoration: underline;
  opacity: 1;
}

@media (hover: hover) {
  .dio-ver-todos:hover {
    color: #7C0001;
    text-decoration: underline;
    opacity: 1;
  }
}

/* Carrito: barras de progreso con puntas redondeadas y sin tilde */

.js-bar-progress,
.js-bar-progress-active {
  border-radius: 2px !important;
}

.js-bar-progress-check {
  display: none !important;
}

/* Producto: mensajes de envío gratis */

.js-shipping-add-product-label,
.js-product-form-free-shipping-message {
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: normal !important;
  color: #1A1413 !important;
}

.js-shipping-add-product-label strong,
.js-product-form-free-shipping-message strong {
  color: #9E0001 !important;
}

/* Categoría / filtros sin resultados: ícono + texto más grande */

[data-component="filter.message"] {
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #1A1413 !important;
}

[data-component="filter.message"]::before {
  content: "";
  display: block;
  width: 88px;
  height: 88px;
  margin: 0 auto 20px;
  background: url("../images/sin-resultados.png") center / contain no-repeat;
}

@media (min-width: 768px) {
  [data-component="filter.message"] { font-size: 17px !important; }

  [data-component="filter.message"]::before { width: 104px; height: 104px; margin-bottom: 24px; }
}

/* Spinner de carga en botones: aro circular a la derecha del texto */

.btn .icon-spin {
  order: 1 !important;
  flex: none !important;
  box-sizing: border-box !important;
  width: 16px !important;
  height: 16px !important;
  font-size: 16px !important;
  margin: 0 0 0 10px !important;
  padding: 0 !important;
  background: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  border: 2px solid currentColor !important;
  border-color: color-mix(in srgb, currentColor 30%, transparent) !important;
  border-top-color: currentColor !important;
  border-radius: 50% !important;
  animation: dio-spin 0.7s linear infinite !important;
}

.btn .icon-spin::before,
.btn .icon-spin::after { display: none !important; }

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

/* Login: el mensaje de error aparece arriba de los campos */

body.template-account-login .account-page .col-md-5,
body.template-account-login .account-page form.js-form {
  display: flex;
  flex-direction: column;
}

body.template-account-login .account-page .col-md-5 > .alert,
body.template-account-login .account-page form.js-form > .alert {
  order: -1;
  margin: 0 0 16px;
}

/* Login: el botón CREAR CUENTA alineado con el resto del formulario */

body.template-account-login .account-page form.js-form .text-center > a.btn-link.ml-1,
#modal-login #login-form .text-center > a.btn-link.ml-1 {
  margin-left: 0 !important;
}

/* Login: campos siempre con estilo normal, aun cuando hay error */

body.template-account-login .account-page form.js-form input.js-account-input:not(:focus),
#login-form input.js-account-input:not(:focus) {
  color: #1A1413 !important;
  border-color: rgba(26, 20, 19, 0.3) !important;
}

/* Menú lateral de login: el mensaje de error aparece justo arriba de INGRESAR */

#modal-login .modal-body {
  display: flex;
  flex-direction: column;
}

#modal-login #login-form {
  display: contents;
}

#modal-login #login-form > button.btn-block,
#modal-login #login-form > .text-right,
#modal-login #login-form > .text-center {
  order: 2;
}

#modal-login .modal-body > .alert:not(.js-too-many-attempts),
#modal-login #login-form > .alert {
  order: 1;
  margin: 0 0 16px;
}

/* Página 404 */

body.template-404 .dio-404-hero { text-align: center; max-width: 600px; margin: 0 auto; padding: 56px 0 64px; }

body.template-404 .dio-404-eyebrow { display: block; font-family: Inter, sans-serif; font-size: 14px; font-weight: 400; letter-spacing: 0.84px; text-transform: uppercase; color: #1A1413; margin-bottom: 24px; }

body.template-404 .dio-404-title { margin: 0 0 28px !important; line-height: 1.2; }

body.template-404 .dio-404-text { font-family: Inter, sans-serif; font-size: 15px; line-height: 1.8; color: #1A1413; margin: 0 auto 44px; max-width: 480px; text-wrap: balance; }

body.template-404 .dio-404-actions { display: flex; flex-direction: column; align-items: center; gap: 24px; }

body.template-404 .dio-404-actions .btn { padding: 14px 32px; font-size: 13px; letter-spacing: 0.6px; text-transform: uppercase; }

@media (hover: hover) {
  body.template-404 .dio-404-actions .btn:hover { background: #7C0001; opacity: 1 !important; }
}

body.template-404 .dio-404-link { font-family: Inter, sans-serif; font-size: 13px; letter-spacing: 0.6px; text-transform: uppercase; color: #1A1413; text-decoration: underline; text-underline-offset: 4px; }

body.template-404 .dio-404-subtitle { font-family: "Cormorant Garamond", serif !important; font-size: 28px; font-weight: 600; text-align: center; color: #1A1413; margin: 16px 0 36px; }

@media (min-width: 768px) {
  body.template-404 .dio-404-hero { padding: 96px 0 96px; }

  body.template-404 .dio-404-eyebrow { margin-bottom: 28px; }

  body.template-404 .dio-404-title { margin-bottom: 32px !important; }

  body.template-404 .dio-404-text { margin-bottom: 48px; }

  body.template-404 .dio-404-actions { flex-direction: row; justify-content: center; gap: 36px; }

  body.template-404 .dio-404-subtitle { font-size: 32px; margin: 16px 0 44px; }
}

/* Newsletter: texto de privacidad debajo del botón */

.newsletter-privacy { font-family: Inter, sans-serif; font-size: 12px; line-height: 1.5; color: inherit; text-align: center; margin: 16px 0 0; }

.newsletter-privacy a,
.newsletter-privacy a:focus-visible { color: inherit !important; text-decoration: underline; }

@media (hover: hover) {
  .newsletter-privacy a:hover { color: inherit !important; text-decoration: underline; }
}

/* Páginas de contenido: tablas */

.user-content table { width: 100%; border-collapse: collapse; margin: 24px 0 8px; font-family: Inter, sans-serif; font-size: 15px; line-height: 1.5; color: #1A1413; }

.user-content table th { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.84px; text-align: left; padding: 14px 16px; background: #e7e2db; vertical-align: middle; }

.user-content table td { padding: 18px 16px; vertical-align: top; }

.user-content table td:first-child { font-weight: 600; width: 24%; }

.user-content table tbody tr:nth-child(even) { background: #f5f0e8; }

@media (max-width: 767px) {
  .user-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }

  .user-content table th, .user-content table td { min-width: 190px; }

  .user-content table th:first-child, .user-content table td:first-child { min-width: 200px; }
}

/* Páginas de contenido (Envíos, Cambios y devoluciones, etc.): aire arriba del título en móvil */

@media (max-width: 767px) {
  .ab-page { padding-top: 32px; }
}

/* Páginas de contenido: aire debajo de las tablas */

.ab-page .ab-about table {
  margin-bottom: 32px !important;
}

/* Aviso legal corto (carrito y registro): términos y política de privacidad */

.dio-legal-note {
  color: #1A1413;
}

.dio-legal-note a,
.dio-legal-note a:visited {
  color: #9E0001 !important;
  text-decoration: underline;
}

.dio-legal-note a:focus-visible {
  color: #7C0001 !important;
}

@media (hover: hover) {
  .dio-legal-note a:hover {
    color: #7C0001 !important;
  }
}

/* Aviso legal del panel del carrito (desktop): en una sola línea */

@media (min-width: 768px) {
  .cart-row .dio-legal-note {
    font-size: 10px !important;
    white-space: nowrap;
  }
}

/* Links dentro de las páginas de contenido (términos, política): rojo, subrayado, hover rojo oscuro */

.ab-page .ab-about a.dio-link,
.ab-page .ab-about a.dio-link:visited {
  color: #9E0001 !important;
  text-decoration: underline;
}

.ab-page .ab-about a.dio-link:focus-visible {
  color: #7C0001 !important;
}

@media (hover: hover) {
  .ab-page .ab-about a.dio-link:hover {
    color: #7C0001 !important;
  }
}

@media (max-width: 767px) {
  .cart-row .dio-legal-note {
    font-size: 9.5px !important;
    white-space: nowrap;
  }
}

/* Links dentro de las respuestas de las Preguntas Frecuentes */

.dio-faq-answer-inner a,
.dio-faq-answer-inner a:visited {
  color: #9E0001 !important;
  text-decoration: underline;
}

.dio-faq-answer-inner a:focus-visible {
  color: #7C0001 !important;
}

@media (hover: hover) {
  .dio-faq-answer-inner a:hover {
    color: #7C0001 !important;
  }
}

/* Global: los botones no quedan opacos después de hacer clic o tocarlos */
button:focus,
.btn:focus {
  opacity: 1 !important;
}

/* Foco visible solo para navegación con teclado */
button:focus-visible,
.btn:focus-visible {
  outline: 2px solid #1a1413;
  outline-offset: 2px;
}

/* Contacto: dirección alineada al icono y más compacta */
.contact-page .dio-contact-address {
  display: flex;
  align-items: flex-start;
  font-size: 14px;
  line-height: 1.5;
}
.contact-page .dio-contact-address svg {
  flex-shrink: 0;
  margin-top: 3px;
}
.contact-page .dio-contact-address .contact-link {
  font-size: inherit;
  display: inline-block;
  margin-top: 8px;
  text-decoration: underline !important;
}

/* Ícono del ojo (mostrar/ocultar contraseña): mismo gris en todas las pantallas */
.password-toggle,
.password-toggle-show,
.password-toggle-hide {
  color: #6C6762 !important;
}

/* Tooltip de ayuda (mismo estilo que el checkout) */
.dio-tip {
  position: relative;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin-left: 12px;
  color: #1A1413;
  cursor: pointer;
  outline: none;
  font-family: Inter, sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1;
}
.dio-tip-text {
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  width: 200px;
  max-width: 60vw;
  padding: 10px 12px;
  background: #2B2B2B;
  color: #fff;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1.35;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  opacity: 0;
  visibility: hidden;
  transition: opacity .15s ease;
  pointer-events: none;
  z-index: 10;
}
.dio-tip-text::after {
  content: "";
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-left-color: #2B2B2B;
}
.dio-tip:focus .dio-tip-text,
.dio-tip.dio-tip-open .dio-tip-text {
  opacity: 1;
  visibility: visible;
}
@media (hover: hover) {
  .dio-tip:hover .dio-tip-text {
    opacity: 1;
    visibility: visible;
  }
}

/* Tooltip de direcciones: ícono a la derecha, centrado con el título */
h1:has(> .dio-tip) {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
}
h1 > .dio-tip {
  margin-left: 16px;
  flex-shrink: 0;
  vertical-align: baseline;
  position: relative;
  top: -2px;
}

/* Tooltip de direcciones: el título ocupa todo el ancho para que el ícono llegue al borde */
h1:has(> .dio-tip) {
  grid-column: 1 / -1;
}

/* Avisos de éxito: verde oscuro de la marca */
html:root {
  --success: #1a5b36;
}

/* Olvidé mi contraseña: botón rojo con la tipografía de la marca */
#resetpass-form .btn-primary,
#newpass-form .btn-primary {
  font-family: Inter, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ===== CARGA DE IMÁGENES: isologo plateado con brillo (Dionisia) ===== */

/* Bloque base: beige cálido, sin el parpadeo gris del tema */
.placeholder-fade {
  --dionisia-isologo: url("data:image/png;base64,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");
  background: #E9E2D6 !important;
  animation: none !important;
  overflow: hidden;
}

/* Isologo en gris plateado, con un brillo que lo recorre */
.placeholder-fade::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(40px, 28%, 120px);
  aspect-ratio: 242 / 256;
  transform: translate(-50%, -50%);
  -webkit-mask: var(--dionisia-isologo) center / contain no-repeat;
          mask: var(--dionisia-isologo) center / contain no-repeat;
  background: linear-gradient(105deg, #B3AB9E 0%, #B3AB9E 38%, #FFFFFF 50%, #B3AB9E 62%, #B3AB9E 100%);
  background-size: 300% 100%;
  animation: dionisia-brillo-logo 2s ease-in-out infinite;
}

/* Franja de luz suave que cruza todo el bloque */
.placeholder-fade::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.7) 50%, transparent 65%);
  transform: translateX(-100%);
  animation: dionisia-brillo-bloque 2s ease-in-out infinite;
}

@keyframes dionisia-brillo-logo {
  from { background-position: 100% 0; }
  to   { background-position: 0 0; }
}

@keyframes dionisia-brillo-bloque {
  to { transform: translateX(100%); }
}

/* Accesibilidad: sin animación si la persona tiene activado "reducir movimiento" */
@media (prefers-reduced-motion: reduce) {
  .placeholder-fade::before,
  .placeholder-fade::after { animation: none; }
}