/* ====================================
          MÓVIL (lista con chevrón)
   ==================================== */

/* Layout a 1 columna */
body#identity .acc-layout {
  display: block;
}

/* --- FIX: aside arriba y contenido debajo --- */
body#identity .acc-aside {
  position: static;
  top: 0;
  z-index: 10;
  background: #fff;
  margin-bottom: 0;
}
body#identity .acc-main {
  position: relative;
  z-index: 1;
  margin-top: 2rem;
  padding-top: 0.25rem;
  padding-left: 0.25rem;
}
body#identity .acc-link.is-active {
  font-weight: 700;
  color: #3f923d !important;
}

body#identity .acc-nav {
  background: #ffffff;
}
body#identity .acc-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Título */
body#identity .acc-nav__title {
  margin: 0.25rem 0.5rem 0.75rem;
  font-weight: 600;
  color: #05222a;
  font-size: 2rem;
  line-height: 2.625rem;
}

/* Cada fila de enlace */
body#identity .acc-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.875rem 0.5rem;
  text-decoration: none;
  color: #05222a !important;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#identity .acc-link:last-of-type {
  border-bottom: 0.0625rem solid #d6d6d6;
}

/* Chevron a la derecha (SVG inline) */
body#identity .acc-link::after {
  content: "";
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 1.125rem;
  background: center/contain no-repeat
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
  opacity: 0.9;
}

/* Penúltimo <li> (Cerrar sesión) alineado a la izquierda y sin chevrón */
body#identity .acc-list > li:nth-last-child(2) .acc-link {
  justify-content: flex-start;
  border-bottom: none;
}
body#identity .acc-list > li:nth-last-child(2) .acc-link::after {
  display: none;
}

/* Separador antes del logout */
body#identity .acc-sep {
  height: 0.0625rem;
  background: #e6e9ed;
  margin: 0.375rem 0;
}

/* Logout tenue */
body#identity .acc-link--logout {
  color: #707070 !important;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#identity .acc-link--logout::after {
  display: none;
}

/* Botón de ayuda inferior */
body#identity .acc-help {
  padding: 0.625rem 0.5rem 0;
}
body#identity .btn-help {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.75rem 0.875rem;
  border: 0.0625rem solid #e5e7eb;
  border-radius: 0.625rem;
  background: #eef2f4;
  color: #05222a;
  text-decoration: none;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#identity .iagt-link-contacto {
  color: #3f923d;
  text-decoration: underline;
}

/* Si el sidebar llevaba iconos a la izquierda, escóndelos */
body#identity .acc-link i,
body#identity .acc-link svg:first-child {
  display: none;
}

/* Asegura que cualquier SVG/ícono visible conserve tamaño */
body#identity .acc-link svg,
body#identity .acc-link i {
  display: inline-block !important;
}
body#identity .pi-input {
  height: 3rem;
}
body#identity .iagt-identity-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* ====================================
          MÓVIL DIRECCIONES
   ==================================== */

/* Layout a 1 columna */
body#addresses .acc-layout {
  display: block;
}
.page-addresses #content {
  padding: 1rem;
  background: #fff;
  font-size: 0.875rem;
  color: #7a7a7a;
}

/* --- FIX: aside arriba y contenido debajo --- */
body#addresses .acc-aside {
  position: static;
  top: 0;
  z-index: 10;
  background: #fff;
  margin-bottom: 0;
}
body#addresses .acc-main {
  position: relative;
  z-index: 1;
  margin-top: 2rem;
  padding-top: 0.25rem;
  padding-left: 0.25rem;
}
body#addresses .acc-link.is-active {
  font-weight: 700;
  color: #3f923d !important;
}

body#addresses .acc-nav {
  background: #ffffff;
}
body#addresses .acc-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Título */
body#addresses .acc-nav__title {
  margin: 0.25rem 0.5rem 0.75rem;
  font-weight: 600;
  color: #05222a;
  font-size: 2rem;
  line-height: 2.625rem;
}

/* Cada fila de enlace */
body#addresses .acc-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.875rem 0.5rem;
  text-decoration: none;
  color: #05222a !important;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#addresses .acc-link:last-of-type {
  border-bottom: 0.0625rem solid #d6d6d6;
}

/* Chevron a la derecha (SVG inline) */
body#addresses .acc-link::after {
  content: "";
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 1.125rem;
  background: center/contain no-repeat
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
  opacity: 0.9;
}

/* Penúltimo <li> (Cerrar sesión) alineado a la izquierda y sin chevrón */
body#addresses .acc-list > li:nth-last-child(2) .acc-link {
  justify-content: flex-start;
  border-bottom: none;
}
body#addresses .acc-list > li:nth-last-child(2) .acc-link::after {
  display: none;
}

/* Separador antes del logout */
body#addresses .acc-sep {
  height: 0.0625rem;
  background: #e6e9ed;
  margin: 0.375rem 0;
}

/* Logout tenue */
body#addresses .acc-link--logout {
  color: #707070 !important;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#addresses .acc-link--logout::after {
  display: none;
}

/* Botón de ayuda inferior */
body#addresses .acc-help {
  padding: 0.625rem 0.5rem 0;
}
body#addresses .btn-help {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.75rem 0.875rem;
  border: 0.0625rem solid #e5e7eb;
  border-radius: 0.625rem;
  background: #eef2f4;
  color: #05222a;
  text-decoration: none;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#addresses .iagt-link-contacto {
  color: #3f923d;
  text-decoration: underline;
}

/* Si el sidebar llevaba iconos a la izquierda, escóndelos */
body#addresses .acc-link i,
body#addresses .acc-link svg:first-child {
  display: none;
}

/* Asegura que cualquier SVG/ícono visible conserve tamaño */
body#addresses .acc-link svg,
body#addresses .acc-link i {
  display: inline-block !important;
}
body#addresses .pi-input {
  height: 3rem;
}
body#addresses .iagt-identity-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
body#addresses .acc-main__header {
  padding-bottom: 8px;
}

body#addresses header.page-header h1 {
  margin: 0.25rem 1rem 0.75rem;
  font-weight: 600;
  font-size: 2rem;
  line-height: 2.625rem;
  letter-spacing: 0;
  vertical-align: middle;
}
body#addresses .address {
  border: none;
  background: var(--colors-surface-secondary, #f8f8f8);
  border-radius: 0.75rem;
  height: auto;
}
body#addresses .address-footer {
  padding: 1rem 1rem;
  text-align: center;
}
body#addresses .btn-direcciones {
  font-size: 1rem;
  font-weight: 400;
  color: #05222a !important;
  padding-left: 0px;
}
body#addresses footer.page-footer {
  text-align: center;
}
body#addresses footer.page-footer a {
  color: #3f923d;
}
body#addresses .alert-info,
body#addresses .alert-success {
  color: #3c763d;
  background: #dff0d8;
  border: none;
  border-radius: 12px;
}
body#addresses .alert-info a {
  font-size: 14px;
  color: #05222a;
  font-weight: 400;
  text-decoration: underline;
}
.page-addresses .addresses-footer {
  margin: 0px;
}

/* ====================================
          MÓVIL NUEVA DIRECCION
   ==================================== */

body#address label.form-control-label.pi-label {
  padding-left: 1rem;
}

body#address header.page-header h1 {
  margin: 0.25rem 1rem 0.75rem;
  font-weight: 600;
  font-size: 2rem;
  line-height: 2.625rem;
  letter-spacing: 0;
  vertical-align: middle;
}
body#address .pi-input {
  height: 3rem;
}

body#address footer.page-footer {
  text-align: center;
}
body#address footer.page-footer a {
  color: #3f923d;
}
body#address footer.form-footer.clearfix {
  /*padding-top: 10%;*/
}

/* ====================================
          MÓVIL PEDIDOS
   ==================================== */

/* ====================================
          MÓVIL PEDIDOS (layout cuenta)
   ==================================== */

/* Layout a 1 columna */
body#history .acc-layout {
  display: block;
}
.page-history #content {
  padding: 1rem;
  background: #fff;
  font-size: 0.875rem;
  color: #7a7a7a;
}

/* Aside arriba, contenido debajo */
body#history .acc-aside {
  position: static;
  top: 0;
  z-index: 10;
  background: #fff;
  margin-bottom: 0;
}
body#history .acc-main {
  position: relative;
  z-index: 1;
  margin-top: 2rem;
  padding-top: 0.25rem;
  padding-left: 0.25rem;
}
body#history .acc-link.is-active {
  font-weight: 700;
  color: #3f923d !important;
}

body#history .acc-nav {
  background: #fff;
}
body#history .acc-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Título */
body#history .acc-nav__title {
  margin: 0.25rem 0.5rem 0.75rem;
  font-weight: 600;
  color: #05222a;
  font-size: 2rem;
  line-height: 2.625rem;
}

/* Cada fila de enlace */
body#history .acc-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.875rem 0.5rem;
  text-decoration: none;
  color: #05222a !important;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#history .acc-link:last-of-type {
  border-bottom: 0.0625rem solid #d6d6d6;
}

/* Chevron */
body#history .acc-link::after {
  content: "";
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 1.125rem;
  background: center/contain no-repeat
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
  opacity: 0.9;
}

/* Logout sin chevrón */
body#history .acc-link--logout {
  color: #707070 !important;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#history .acc-link--logout::after {
  display: none;
}

/* Botón ayuda */
body#history .acc-help {
  padding: 0.625rem 0.5rem 0;
}
body#history .btn-help {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.75rem 0.875rem;
  border: 0.0625rem solid #e5e7eb;
  border-radius: 0.625rem;
  background: #eef2f4;
  color: #05222a;
  text-decoration: none;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#history .iagt-link-contacto {
  color: #3f923d;
  text-decoration: underline;
}

/* Ocultar icono izquierda */
body#history .acc-link i,
body#history .acc-link svg:first-child {
  display: none;
}
body#history .acc-link svg,
body#history .acc-link i {
  display: inline-block !important;
}

/* Alert y textos como direcciones */
body#history .alert-info,
body#history .alert-success {
  color: #3c763d;
  background: #dff0d8;
  border: none;
  border-radius: 12px;
}
body#history .alert-info {
  padding: 0.75rem 1rem;
}
body#history h6 {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #05222a;
}
body#history .acc-list > li:nth-last-child(2) .acc-link {
  justify-content: flex-start;
  border-bottom: none;
}
.page-customer-account #content .order-actions a {
  color: #3f923d;
}

/* ====================================
          MÓVIL DETALLE PEDIDO
   ==================================== */

body#order-detail header.page-header h1 {
  margin: 0.25rem 1rem 0.75rem;
  font-weight: 600;
  font-size: 2rem;
  line-height: 2.625rem;
}
body#order-detail footer.page-footer {
  text-align: center;
}

body#order-detail footer.page-footer a {
  color: #3f923d;
}
body#order-detail a.button-primary {
  color: #3f923d;
}
body#order-detail article#invoice-address {
  background: #f0f0f0;
  margin: 1rem;
  border-radius: 0.75rem;
}
body#order-detail article#delivery-address {
  background: #e0fbcc;
  margin: 1rem;
  border-radius: 0.75rem;
}
body#order-detail table#order-products a {
  color: #05222a;
}
body#order-detail section.order-message-form.box {
  width: 100%;
  max-width: 536px;
  margin: 0 auto;
}
/* Select con caret personalizado */
body#order-detail select.form-control.pi-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--pi-soft);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2341A10F'><path fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.06l3.71-3.83a.75.75 0 111.08 1.04l-4.24 4.38a.75.75 0 01-1.08 0L5.21 8.27a.75.75 0 01.02-1.06z' clip-rule='evenodd'/></svg>");
  background-repeat: no-repeat;
  background-size: 2rem;
  background-position: right 0.875rem center;
  padding-right: 2.25rem;
  line-height: 1.2;
  height: 48px;
}
body#order-detail textarea.form-control {
  border-radius: 12px;
  border: none;
}
body#order-detail input.form-control:focus,
body#order-detail select.form-control:focus,
body#order-detail textarea.form-control:focus {
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.08) !important;
  outline: 0;
}

/* ====================================
          MÓVIL DEVOLUCIONES
   ==================================== */

body#order-follow .acc-layout {
  display: block;
}
.page-order-follow #content {
  padding: 1rem;
  background: #fff;
  font-size: 0.875rem;
  color: #7a7a7a;
}

/* Aside arriba, contenido debajo */
body#order-follow .acc-aside {
  position: static;
  top: 0;
  z-index: 10;
  background: #fff;
  margin-bottom: 0;
}
body#order-follow .acc-main {
  position: relative;
  z-index: 1;
  margin-top: 2rem;
  padding-top: 0.25rem;
  padding-left: 0.25rem;
}
body#order-follow .acc-link.is-active {
  font-weight: 700;
  color: #3f923d !important;
}

body#order-follow .acc-nav {
  background: #fff;
}
body#order-follow .acc-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
body#order-follow .acc-nav__title {
  margin: 0.25rem 0.5rem 0.75rem;
  font-weight: 600;
  color: #05222a;
  font-size: 2rem;
  line-height: 2.625rem;
}

/* Enlaces del menú */
body#order-follow .acc-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.875rem 0.5rem;
  text-decoration: none;
  color: #05222a !important;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#order-follow .acc-link:last-of-type {
  border-bottom: 0.0625rem solid #d6d6d6;
}
body#order-follow .acc-link::after {
  content: "";
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 1.125rem;
  background: center/contain no-repeat
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
  opacity: 0.9;
}

/* Logout sin chevrón */
body#order-follow .acc-link--logout {
  color: #707070 !important;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#order-follow .acc-link--logout::after {
  display: none;
}

/* Botón de ayuda */
body#order-follow .acc-help {
  padding: 0.625rem 0.5rem 0;
}
body#order-follow .btn-help {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.75rem 0.875rem;
  border: 0.0625rem solid #e5e7eb;
  border-radius: 0.625rem;
  background: #eef2f4;
  color: #05222a;
  text-decoration: none;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#order-follow .iagt-link-contacto {
  color: #3f923d;
  text-decoration: underline;
}

/* Alert */
body#order-follow .alert-info,
body#order-follow .alert-success {
  color: #3c763d;
  background: #dff0d8;
  border: none;
  border-radius: 12px;
}
body#order-follow .alert-info {
  padding: 0.75rem 1rem;
}
body#order-follow h6 {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #05222a;
}

/* ===== Desktop ===== */
@media (min-width: 768px) {
  body#order-follow #main .page-content {
    margin-top: 1.5rem;
  }
  body#order-follow .acc-layout {
    display: grid;
    grid-template-columns: 17.5rem 1fr;
    gap: 2rem;
    align-items: start;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
  body#order-follow .acc-aside {
    position: sticky;
    top: 1.5rem;
  }
  body#order-follow section.acc-main {
    width: 100%;
    padding-left: 3.875rem;
    padding-top: 3.4375rem;
  }
}
body#order-follow .acc-list > li:nth-last-child(2) .acc-link {
  justify-content: flex-start;
  border-bottom: none;
}

/* ====================================
          MÓVIL VALES
   ==================================== */

/* Layout a 1 columna */
body#discount .acc-layout {
  display: block;
}
body#discount #content {
  padding: 1rem;
  background: #fff;
  font-size: 0.875rem;
  color: #7a7a7a;
}

/* --- FIX: aside arriba y contenido debajo --- */
body#discount .acc-aside {
  position: static;
  top: 0;
  z-index: 10;
  background: #fff;
  margin-bottom: 0;
}
body#discount .acc-main {
  position: relative;
  z-index: 1;
  margin-top: 2rem;
  padding-top: 0.25rem;
  padding-left: 0.25rem;
}
body#discount .acc-link.is-active {
  font-weight: 700;
  color: #3f923d !important;
}

body#discount .acc-nav {
  background: #ffffff;
}
body#discount .acc-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Título */
body#discount .acc-nav__title {
  margin: 0.25rem 0.5rem 0.75rem;
  font-weight: 600;
  color: #05222a;
  font-size: 2rem;
  line-height: 2.625rem;
}

/* Cada fila de enlace */
body#discount .acc-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.875rem 0.5rem;
  text-decoration: none;
  color: #05222a !important;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#discount .acc-link:last-of-type {
  border-bottom: 0.0625rem solid #d6d6d6;
}

/* Chevron a la derecha (SVG inline) */
body#discount .acc-link::after {
  content: "";
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 1.125rem;
  background: center/contain no-repeat
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
  opacity: 0.9;
}

/* Penúltimo <li> (Cerrar sesión) alineado a la izquierda y sin chevrón */
body#discount .acc-list > li:nth-last-child(2) .acc-link {
  justify-content: flex-start;
  border-bottom: none;
}
body#discount .acc-list > li:nth-last-child(2) .acc-link::after {
  display: none;
}

/* Separador antes del logout */
body#discount .acc-sep {
  height: 0.0625rem;
  background: #e6e9ed;
  margin: 0.375rem 0;
}

/* Logout tenue */
body#discount .acc-link--logout {
  color: #707070 !important;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#discount .acc-link--logout::after {
  display: none;
}

/* Botón de ayuda inferior */
body#discount .acc-help {
  padding: 0.625rem 0.5rem 0;
}
body#discount .btn-help {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.75rem 0.875rem;
  border: 0.0625rem solid #e5e7eb;
  border-radius: 0.625rem;
  background: #eef2f4;
  color: #05222a;
  text-decoration: none;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#discount .iagt-link-contacto {
  color: #3f923d;
  text-decoration: underline;
}

/* Si el sidebar llevaba iconos a la izquierda, escóndelos */
body#discount .acc-link i,
body#discount .acc-link svg:first-child {
  display: none;
}

/* Asegura que cualquier SVG/ícono visible conserve tamaño */
body#discount .acc-link svg,
body#discount .acc-link i {
  display: inline-block !important;
}
body#discount .pi-input {
  height: 3rem;
}
body#discount .iagt-identity-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
body#discount .acc-main__header {
  padding-bottom: 8px;
}

body#discount header.page-header h1 {
  margin: 0.25rem 1rem 0.75rem;
  font-weight: 600;
  font-size: 2rem;
  line-height: 2.625rem;
  letter-spacing: 0;
  vertical-align: middle;
}
body#discount .address {
  border: none;
  background: #e0fbcc;
  border-radius: 0.75rem;
}
body#discount .address-footer {
  padding: 1rem 1rem;
  text-align: center;
}
body#discount .btn-direcciones {
  font-size: 1rem;
  font-weight: 400;
  color: #05222a !important;
  padding-left: 0px;
}
body#discount footer.page-footer {
  text-align: center;
}
body#discount footer.page-footer a {
  color: #3f923d;
}
body#discount .alert-info,
body#discount .alert-success {
  color: #3c763d;
  background: #dff0d8;
  border: none;
  border-radius: 12px;
}
body#discount .alert-info a {
  font-size: 14px;
  color: #05222a;
  font-weight: 400;
  text-decoration: underline;
}
body#discount .addresses-footer {
  margin: 0px;
}

body#discount footer.page-footer {
  text-align: center;
}

body#discount footer.page-footer a {
  color: #3f923d;
}
body#discount .order-return a {
  color: #3f923d !important;
}
body#discount .alert-info,
body#discount .alert-success {
  color: #3c763d;
  background: #dff0d8;
  border: none;
  border-radius: 12px;
}

/* ====================================
          FORGOT PASSWORD
======================================= */

body#password header.page-header h1 {
  margin: 0.25rem 1rem 0.75rem;
  font-weight: 600;
  font-size: 2rem;
  line-height: 2.625rem;
}
body#password .forgotten-password .form-fields label.required {
  width: 100%;
  padding-left: 0.75rem;
}
body#password button.pi-btn {
  height: 3rem;
}
body#password .form-control:focus {
  border-color: #cdd5df;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.08);
  background: #fff;
}
body#password .page-footer .account-link {
  margin-left: 2rem;
  color: #3f923d;
}
body#password .page-footer a {
  font-size: 0.875rem;
}
body#password .ps-alert-success {
  padding: 0rem;
}
body#password .pi-input {
  height: 3rem;
}
body#password button#send-reset-link {
  text-transform: math-auto;
  line-height: 0px;
}
body#password p.send-renew-password-link {
  color: #05222a;
}

/* ====================================
             CONTACTO
======================================= */

body#contact .acc-layout {
  display: block;
}
body#contact .acc-aside {
  position: static;
  top: 0;
  z-index: 10;
  background: #fff;
  margin-bottom: 0;
}
body#contact .contact-form {
  padding: 0rem;
}
body#contact .acc-main {
  position: relative;
  z-index: 1;
  margin-top: 2rem;
  padding-top: 0.25rem;
  padding-left: 0.25rem;
}
body#contact .acc-nav {
  background: #fff;
}
body#contact .acc-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

body#contact .acc-nav__title {
  margin: 0.25rem 0.5rem 0.75rem;
  font-weight: 600;
  color: #05222a;
  font-size: 2rem;
  line-height: 2.625rem;
}
body#contact .acc-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.875rem 0.5rem;
  text-decoration: none;
  color: #05222a !important;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#contact .acc-link.is-active {
  font-weight: 700;
  color: #3f923d !important;
}
body#contact .acc-link--logout {
  color: #707070 !important;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
body#contact .acc-link::after {
  content: "";
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 1.125rem;
  background: center/contain no-repeat
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
  opacity: 0.9;
}
body#contact .acc-list > li:nth-last-child(2) .acc-link {
  justify-content: flex-start;
  border-bottom: none;
}
body#contact .acc-link--logout::after {
  display: none;
}
body#contact .acc-help {
  padding: 0.625rem 0.5rem 0;
}
body#contact .btn-help {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.75rem 0.875rem;
  border: 0.0625rem solid #e5e7eb;
  border-radius: 0.625rem;
  background: #eef2f4;
  color: #05222a;
  text-decoration: none;
}
body#contact .iagt-link-contacto {
  color: #3f923d;
  text-decoration: underline;
}
body#contact .acc-link i,
body#contact .acc-link svg:first-child {
  display: none;
}
body#contact .acc-link svg,
body#contact .acc-link i {
  display: inline-block !important;
}
body#contact .acc-link:last-of-type {
  border-bottom: 0.0625rem solid #d6d6d6;
}
.page-contact #content {
  padding: 1rem;
  background: #fff;
  font-size: 0.875rem;
  color: #7a7a7a;
}
body#contact select#id_contact {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2341A10F'><path fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.06l3.71-3.83a.75.75 0 111.08 1.04l-4.24 4.38a.75.75 0 01-1.08 0L5.21 8.27a.75.75 0 01.02-1.06z' clip-rule='evenodd'/></svg>");
  background-repeat: no-repeat;
  background-size: 2rem;
  background-position: right 0.875rem center;
  padding-right: 2.25rem;
  line-height: 1.2;
}

/* Select con caret personalizado */
#id-order.form-control-select,
.form-control-select.pi-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #f8f8f8;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2341A10F'><path fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.06l3.71-3.83a.75.75 0 111.08 1.04l-4.24 4.38a.75.75 0 01-1.08 0L5.21 8.27a.75.75 0 01.02-1.06z' clip-rule='evenodd'/></svg>");
  background-repeat: no-repeat;
  background-size: 2rem;
  background-position: right 0.875rem center;
  padding-right: 2.25rem;
  line-height: 1.2;
}

#id-order.form-control-select::-ms-expand,
.form-control-select.pi-input::-ms-expand {
  display: none;
}

body#contact .pi-input {
  height: 48px;
}
body#contact .form-group input.form-control {
  width: 100%;
  appearance: none;
  border: 1px solid var(--pi-border);
  border-radius: 12px 0px 0px 12px;
  padding: 8px 12px;
  font-size: 14px;
  color: var(--pi-text);
  background: var(--pi-soft);
  outline: none;
  transition: box-shadow 0.15s, border-color 0.15s, background 0.15s;
  height: 48px;
}
body#contact span.group-span-filestyle.input-group-btn {
  padding: 16px 24px;
  border-radius: 0px 12px 12px 0px;
  border: none !important;
  background: #98f060;
  height: 48px;
}
body#contact input#email {
  border-radius: 12px;
}
body#contact .group-span-filestyle .btn-default {
  background-color: transparent;
}
body#contact span.buttonText {
  color: #05222a;
  font-weight: 5500;
  font-size: 0.875rem;
  cursor: pointer;
}
body#contact textarea#contactform-message {
  border-radius: 12px;
  border: none;
}
body#contact input.form-control:focus,
body#contact select.form-control:focus,
body#contact textarea.form-control:focus {
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.08) !important;
  outline: 0;
}

/* ====================================
            MI CUENTA GENERAL
   ==================================== */
body#identity .container {
  max-width: 100rem; /* 1600px */
  margin: 0 auto;
}
body#identity .acc-link,
body#addresses .acc-link,
body#history .acc-link,
body#order-follow .acc-link,
body#discount .acc-link,
body#contact .acc-link {
  min-height: 3.75rem; /* 60px */
  padding: 0 1rem; /* respiro lateral, centra texto+chevrón */
  display: flex;
  align-items: center; /* centra vertical */
  line-height: 1.5rem; /* no uses line-height=altura, mejor min-height */
}

/* opcional: tamaño del chevrón consistente dentro de 60px */
body#identity .acc-link::after,
body#addresses .acc-link::after,
body#history .acc-link::after,
body#order-follow .acc-link::after,
body#discount .acc-link::after,
body#contact .acc-link::after {
  width: 1.125rem; /* 18px */
  height: 1.125rem; /* 18px */
  flex: 0 0 1.125rem;
}
body#identity .acc-link,
body#addresses .acc-link,
body#history .acc-link,
body#order-follow .acc-link,
body#discount .acc-link,
body#contact .acc-link {
  min-height: 3.75rem; /* 60px en móvil también */
  padding: 0 0.875rem; /* un poco menos de padding lateral */
}
body#authentication #content,
body#registration #content,
body#identity #content,
body#addresses #content,
body#history #content,
body#order-follow #content,
body#discount #content,
body#order-detail #content,
body#contact #content,
body#cms #content {
  max-width: 1320px;
  margin: 0 auto;
}
body#registration #content{
  max-width: 640px !important;
  margin: 0 auto !important;
}

/* ====================================
    INFORMACIÓN DE LA CUENTA ESCRITORIO
   ==================================== */
@media (min-width: 992px) {
  body#identity #main .page-content {
    margin-top: 1.5rem;
  }
  body#identity .acc-layout {
    display: grid;
    grid-template-columns: 17.5rem 1fr; /* 280px -> rem */
    gap: 2rem; /* 32px */
    align-items: start;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
  body#identity section.acc-main {
    width: 100%;
    padding-left: 3.875rem; /* 62px */
    padding-top: 3.4375rem; /* 55px */
  }
  body#identity .acc-aside {
    position: sticky;
    top: 1.5rem; /* 24px */
    width: 100%; /* antes 324px -> % para adaptarse a su columna */
  }
  body#identity .iagt-link-contacto {
    color: #3f923d;
    text-decoration: underline;
  }
  body#identity .acc-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  body#identity .acc-nav__title {
    font-weight: 600;
    color: #05222a;
    margin-bottom: 0.75rem;
    font-size: 2rem;
    line-height: 2.625rem;
  }
  body#identity .acc-link {
    display: flex;
    align-items: center;
    gap: 0.625rem; /* 10px */
    padding: 0.75rem 0.5rem; /* 12px 8px */
    color: #05222a;
    text-decoration: none;
  }
  body#identity .acc-link.is-active {
    font-weight: 700;
    color: #3f923d;
  }
  body#identity .acc-link--logout {
    color: #707070 !important;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.5rem;
  }
  body#identity .acc-link:last-of-type {
    border-bottom: 0.0625rem solid #d6d6d6;
  }
  body#identity .acc-link--logout {
    color: #3f923d;
  }
  body#identity .acc-help {
    margin-top: 0.75rem;
  }
  body#identity .btn-help {
    display: block;
    text-align: center;
    padding: 0.625rem 0.75rem; /* 10px 12px */
    border: 0.0625rem solid #e5e7eb;
    border-radius: 0.5rem; /* 8px */
    background: #f6f7f9;
    color: #05222a;
  }

  body#identity .acc-link--logout li,
  body#identity .acc-link--logout,
  body#identity .acc-link--logout:after {
    border-bottom: none !important;
  }

  /* Main */
  body#identity .acc-main__header h1 {
    margin: 0 0 1rem; /* 16px */
    color: #05222a;
    font-weight: 700;
  }
  body#identity button.pi-btn {
    margin-top: 1.25rem; /* 20px */
  }
  body#identity label.form-control-label.pi-label {
    padding-left: 0.75rem;
  }

  /* ====================================
    DIRECCIONES DE ENVÍO ESCRITORIO
   ==================================== */
  body#addresses #content {
    margin-top: 1.5rem;
  }
  body#addresses .acc-layout {
    display: grid;
    grid-template-columns: 17.5rem 1fr;
    gap: 2rem;
    align-items: start;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
  body#addresses .acc-main__header h1 {
    margin: 0 0 1rem;
    color: #05222a;
    font-weight: 700;
  }

  body#addresses .acc-main {
    width: 100%;
    padding-left: 3.875rem;
    padding-top: 3.4375rem;
  }

  body#address section#content {
    width: 50%;
    margin: auto;
  }
  body#address #main .page-header {
    text-align: center;
  }

  /* ====================================
            PEDIDOS ESCRITORIO
   ==================================== */
  body#history #main .page-content {
    margin-top: 1.5rem;
  }
  body#history .acc-layout {
    display: grid;
    grid-template-columns: 17.5rem 1fr;
    gap: 2rem;
    align-items: start;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
  body#history .acc-aside {
    position: sticky;
    top: 1.5rem;
  }
  body#history section.acc-main {
    width: 100%;
    padding-left: 3.875rem;
    padding-top: 3.4375rem;
    overflow: auto;
  }
  body#history .acc-main__header h1 {
    margin: 0 0 1rem;
    color: #05222a;
    font-weight: 700;
  }

  /* ====================================
            DEVOLUCIONES ESCRITORIO
   ==================================== */

  body#order-follow .acc-main__header h1 {
    margin: 0 0 1rem;
    color: #05222a;
    font-weight: 700;
  }

  /* ====================================
            VALES ESCRITORIO
   ==================================== */
  body#discount #content {
    margin-top: 1.5rem;
  }
  body#discount .acc-layout {
    display: grid;
    grid-template-columns: 20.25rem 1fr;
    gap: 2rem;
    align-items: start;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
  body#discount .acc-main__header h1 {
    margin: 0 0 1rem;
    color: #05222a;
    font-weight: 700;
  }

  body#discount .acc-main {
    width: 100%;
    padding-left: 3.875rem;
    padding-top: 3.4375rem;
  }

  body#discount section#content {
    width: 50%;
    margin: auto;
  }

  /* ====================================
             FORGOT PASSWORD
   ==================================== */
  body#password #content {
    width: 100%;
    margin: 0 auto;
    max-width: 536px;
  }
  body#password .btn-primary:hover {
    background-color: #3f923d;
  }
  /* Forzar layout 1 columna en Forgot Password (desktop y mobile) */
  body#password .forgotten-password .form-fields,
  body#password .forgotten-password-fields {
    display: block;
  }

  body#password .forgotten-password .form-fields .form-group,
  body#password .forgotten-password-fields .form-group {
    width: 100%;
    margin: 0 0 0.75rem;
  }

  body#password .forgotten-password .form-fields [class*="col-"] {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    flex: 0 0 100% !important;
  }

  body#password .form-control.pi-input {
    width: 100%;
    height: 3rem;
  }

  body#password .form-control-submit.pi-btn {
    display: block;
    width: 100%;
    height: 3rem;
  }
  body#password header.page-header h1 {
    text-align: center;
  }
  body#password button#send-reset-link {
    text-transform: math-auto;
  }
  /* ====================================
             CONTACTO
   ==================================== */
 
  body#contact #main .page-content {
    margin-top: 1.5rem;
  }
  body#contact .acc-layout {
    display: grid;
    grid-template-columns: 20.25rem 1fr;
    gap: 2rem;
    align-items: start;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
  body#contact section .acc-main {
    width: 100%;
    padding-left: 3.875rem;
    padding-top: 3.4375rem;
  }
  body#contact section .acc-main--full {
    margin:0 100%;
    padding-top: 0;
  }
  body#contact .acc-aside {
    position: sticky;
    top: 1.5rem;
    width: 100%;
  }
  /* Main */
  body#contact h1 {
    margin: 0 0 1rem; /* 16px */
    color: #05222a;
    font-weight: 700;
  }
  body#contact .acc-nav__title {
    font-weight: 600;
    color: #05222a;
    margin-bottom: 0.75rem;
    font-size: 2rem;
    line-height: 2.625rem;
  }
  body#contact .acc-link {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.75rem 0.5rem;
    color: #05222a;
    text-decoration: none;
  }
  body#contact .acc-link.is-active {
    font-weight: 700;
    color: #3f923d;
  }
  body#contact .acc-help {
    margin-top: 0.75rem;
  }
  body#contact .contact-form{
    width: 576px;
  }
  body#contact .container{
    max-width: 1320px;
    margin: 0 auto;
  }


  /*====================================
        GENERALES PANEL LATERAL
  ======================================*/
  /* 1) Desktop: columna lateral a 324px */
  /* layout de todas las vistas de cuenta que usas */
  body#identity .acc-layout,
  body#addresses .acc-layout,
  body#history .acc-layout,
  body#order-follow .acc-layout {
    grid-template-columns: 20.25rem 1fr; /* 324px, 324/16=20.25rem */
  }

  body#identity .acc-aside,
  body#addresses .acc-aside,
  body#history .acc-aside,
  body#order-follow .acc-aside,
  body#discount .acc-aside,
  body#contact .acc-aside {
    width: 20.25rem; /* 324px */
    min-width: 20.25rem; /* evita que se encoja */
  }

  /* evita borde extra en el botón de logout y después del último */
  body#identity .acc-list > li:last-child,
  body#addresses .acc-list > li:last-child,
  body#history .acc-list > li:last-child,
  body#order-follow .acc-list > li:last-child,
  body#discount .acc-list > li:last-child,
  body#contact .acc-list > li:last-child {
    border-bottom: none;
  }
  body#identity .acc-link--logout,
  body#addresses .acc-link--logout,
  body#history .acc-link--logout,
  body#order-follow .acc-link--logout,
  body#discount .acc-link--logout,
  body#contact .acc-link--logout {
    border-bottom: none;
  }
}
/* Fallback universal: scroll horizontal si algo falla */
.acc-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Debug opcional: ver si la regla entra */
@media (max-width: 1141.98px) {
  .acc-table-wrap {
    outline: 0;
  } /* cambia a 2px solid magenta para test */
}

/* ====== STACKED < 1142px ====== */
@media (max-width: 1141.98px) {
  /* Mata el thead en móvil */
  .acc-table-wrap .table.table--stack thead {
    display: none !important;
  }

  /* Rompe semántica de tabla a bloques */
  .acc-table-wrap .table.table--stack tbody,
  .acc-table-wrap .table.table--stack tr,
  .acc-table-wrap .table.table--stack th[scope="row"],
  .acc-table-wrap .table.table--stack td {
    display: block !important;
    width: 100% !important;
  }

  /* Evita heredados de Bootstrap que rompen (nowrap/align/etc.) */
  .acc-table-wrap .table.table--stack th,
  .acc-table-wrap .table.table--stack td {
    white-space: normal !important;
    vertical-align: top !important;
    text-align: left !important;
  }

  .acc-table-wrap .table.table--stack tr {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    margin-bottom: 0.75rem;
    overflow: hidden;
    background: #fff;
  }

  .acc-table-wrap .table.table--stack th[scope="row"],
  .acc-table-wrap .table.table--stack td {
    position: relative;
    padding-left: 9rem; /* espacio etiqueta */
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    border-bottom: 1px solid #f0f0f0;
  }
  .acc-table-wrap .table.table--stack tr > *:last-child {
    border-bottom: 0;
  }

  .acc-table-wrap .table.table--stack th[scope="row"]::before,
  .acc-table-wrap .table.table--stack td::before {
    content: attr(data-label);
    position: absolute;
    left: 0.75rem;
    top: 0.625rem;
    width: 8rem;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.2;
    opacity: 0.75;
  }

  /* Botón/estado */
  .acc-table-wrap .table.table--stack .label {
    display: inline-block;
  }
}

/* Desktop >=1142px: normal */
@media (min-width: 1142px) {
  .acc-table-wrap .table.table--stack .cell-ref {
    white-space: nowrap;
  }
}


