@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[type=button], [type=reset], [type=submit], button {
  -webkit-appearance: button;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

/* Variables de apoyo (ajusta a tus nombres de variables) */
/** Media Queries **/
html {
  font-size: 62.5%;
  box-sizing: border-box;
  height: 100%;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
  font-family: "Poppins", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
}

p {
  color: #1e293b;
  font-size: 1.6rem;
}

a {
  text-decoration: none;
}

h1, h2, h3 {
  margin: 0 0 5rem 0;
  font-weight: 700;
  line-height: 1.2;
}

h1 {
  font-size: 4rem;
}

h2 {
  font-size: 3.6rem;
}

h3 {
  font-size: 3rem;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.swal2-popup {
  font-size: 1.5rem !important;
}

h1, h2, h3 {
  font-family: "Poppins", sans-serif;
  font-weight: 900;
  margin: 2rem 0;
}

h1 {
  font-size: 4rem;
}

h2 {
  font-size: 3.6rem;
}

h3 {
  font-size: 3rem;
}

.h3-encolor {
  font-size: 3rem;
  text-align: center;
  margin-bottom: 2rem;
}
.h3-encolor .texto-exito {
  color: #16a34a;
  font-weight: bold;
}
.h3-encolor .texto-alerta {
  color: #ef4444;
  font-weight: bold;
}

.text-center {
  text-align: center;
}

[class$=__heading] {
  font-family: "Poppins", sans-serif;
  font-weight: 900;
  margin: 2rem 0;
  margin: 6rem 0 3rem 0;
  text-align: center;
}

[class$=__descripcion] {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 300;
  color: #1e293b;
  margin-bottom: 5rem;
}

.contenedor_elemento {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
}

.text-center {
  text-align: center;
}

.mt-5 {
  margin-top: 5rem;
}

.mb-5 {
  margin-bottom: 5rem;
}

.dashboard {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
}
.dashboard__header {
  background-color: #ffffff;
}
.dashboard__header-grid {
  width: min(95%, 140rem);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
}
.dashboard__logo-img {
  height: 3.5rem;
  width: auto;
  display: block;
}
.dashboard__sidebar {
  width: 28rem;
  background-color: #96C941;
  padding: 3rem 0;
  background-color: lighthen(#96C941, 20%);
  width: 22rem;
}
.dashboard__logo {
  height: 10px; /* Ajusta según el tamaño de tu header */
  width: auto;
  display: block;
  transition: transform 0.3s ease;
}
.dashboard__logo:hover {
  transform: scale(1.05); /* Efecto de crecimiento al pasar el mouse */
}
.dashboard__form {
  display: flex;
  justify-content: center;
  padding-right: 3rem;
  margin: 0;
}
.dashboard__submit--logout {
  all: unset;
  color: #ffffff;
  font-size: 1.4rem;
  text-transform: uppercase;
  font-weight: 700;
  background-color: transparent;
  border: none;
}
.dashboard__submit--logout:hover {
  color: #059669;
  cursor: pointer;
}
.dashboard__submit--logout {
  font-size: 2rem;
  background-color: transparent;
  padding: 0.25rem 0.5rem;
}
.dashboard__grid {
  display: flex;
  flex: 1;
  overflow-y: auto;
}
.dashboard__menu {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.dashboard__enlace {
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem;
  transition: 300ms background-color ease-in-out, color ease-in-out;
  margin-top: 1rem;
}
.dashboard__enlace:hover, .dashboard__enlace--actual {
  background-color: #059669;
  cursor: pointer;
  color: #ffffff;
  border-radius: 1rem;
}
.dashboard__icono {
  font-size: 2rem;
}
.dashboard__menu-texto {
  font-size: 1.5rem;
  text-transform: uppercase;
  font-weight: 700;
  margin-top: 0.5rem;
}
.dashboard__contenido {
  padding: 1rem 1rem 3rem 1rem;
  width: 100%;
  overflow-y: scroll;
}
@media (min-width: 768px) {
  .dashboard__contenido {
    padding: 1rem 5rem 3rem 5rem;
  }
}
@media (min-width: 768px) {
  .dashboard__contenedor-boton {
    display: flex;
    justify-content: flex-end;
    margin-right: 5rem;
  }
}
.dashboard__boton {
  background-color: #96C941;
  color: #ffffff;
  padding: 1.5rem 4rem;
  border: none;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 0.5rem;
  transition: background-color 0.3s ease;
  text-align: center;
  display: inline-block;
  cursor: pointer;
}
.dashboard__boton:hover {
  background-color: rgb(122.4795081967, 167.4180327869, 47.5819672131);
}
.dashboard__boton {
  text-transform: uppercase;
  font-size: 1.4rem;
}
@media (min-width: 768px) {
  .dashboard__boton {
    width: auto;
    font-size: 1.6rem;
    margin-bottom: 3rem;
  }
}
.dashboard__contenedor, .dashboard__contenedor--plantilla, .dashboard__formulario {
  box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
  background-color: #ffffff;
  border-radius: 0.8rem;
  padding: 2rem;
  border-radius: 1rem;
  /* 04/02/2026 
  display: flex;
  flex-direction: column;
  height: calc(100vh - 150px); /* Ajusta los 180px según el alto de tu nav+footer */
  /*quitar hasta aqui*/
}
.dashboard__formulario {
  width: min(95%, 80rem);
  margin: 0 auto;
}
.dashboard__contenedor--plantilla {
  width: min(95%, 80rem);
  margin: 0 auto;
}

.hero {
  background-image: url(../image/hero.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  height: 450px;
  position: relative;
  margin-bottom: 2rem;
}

.hero__overlay {
  background: rgba(0, 0, 0, 0.5); /* Oscurece la imagen para leer el texto */
  width: 100%;
  display: flex;
  align-items: center; /* Centra verticalmente */
  justify-content: center; /* Centra horizontalmente */
  padding: 2rem;
}

.hero__contenido {
  text-align: center;
  color: #ffffff;
  max-width: 800px;
}

.hero__heading {
  font-size: 4rem; /* Tamaño grande e impactante */
  font-weight: 900;
  margin-bottom: 1.5rem;
  text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3); /* Sombra suave */
}

.hero__texto {
  font-size: 1.8rem;
  margin-bottom: 2.5rem;
}

.hero__boton {
  background-color: #2ecc71; /* Verde fresco */
  color: white;
  padding: 1.2rem 3.5rem;
  border-radius: 50px; /* Bordes redondeados modernos */
  text-decoration: none;
  font-weight: bold;
  text-transform: uppercase;
  transition: background-color 0.3s ease, transform 0.2s ease;
  display: inline-block;
}

.hero__boton:hover {
  background-color: #27ae60;
  transform: scale(1.05); /* Efecto de crecimiento al pasar el mouse */
}

.sidebar__boton-colapsable {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1.5rem;
  background: none;
  border: none;
  color: #ffffff; /* Ajusta al color de tu sidebar */
  cursor: pointer;
  transition: background-color 0.3s;
}

.sidebar__boton-contenido {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.sidebar__flecha {
  font-size: 0.8rem;
  transition: transform 0.3s ease;
}

/* Estado Abierto */
.sidebar__boton-colapsable.activo .sidebar__flecha {
  transform: rotate(180deg);
}

/* Submenú Oculto */
.sidebar__submenu {
  display: none;
  background-color: rgba(0, 0, 0, 0.1); /* Un tono más oscuro que el fondo */
  padding-left: 1rem;
}

.sidebar__submenu.visible {
  display: block;
}

.sidebar__submenu-enlace {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
  color: #ffffff;
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: 500;
}

.sidebar__submenu-enlace:hover,
.sidebar__submenu-enlace--actual {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.1);
}

.sidebar__icono-sm {
  font-size: 0.8rem;
  width: 2rem;
  text-align: center;
}

.dashboard__contenedor--plantilla {
  box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
  background-color: #ffffff;
  padding: 2rem;
  border-radius: 1rem;
  margin-top: 2.5rem;
  width: 95%;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .dashboard__contenedor--plantilla {
    width: min(95%, 140rem);
    margin: 0 auto;
    width: auto;
  }
}

.productos-grid-captura {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  min-height: 100px;
  width: 100%;
}
@media (min-width: 768px) {
  .productos-grid-captura {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .productos-grid-captura {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
  }
}

.producto-card-captura {
  background-color: #ffffff;
  border: 1px solid #eee;
  padding: 1.2rem;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
  transition: all 0.3s ease;
}
.producto-card-captura:focus-within {
  background-color: #fffbeb;
  border-color: #96C941;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.producto-card-captura__header {
  font-weight: bold;
  font-size: 1.1rem;
  text-transform: uppercase;
  color: #333;
}
@media (max-width: 480px) {
  .producto-card-captura__header {
    font-size: 1rem;
  }
}
.producto-card-captura {
  /* NUEVO: Contenedor para alinear inputs en una fila */
}
.producto-card-captura__inputs {
  display: flex;
  gap: 0.8rem;
  align-items: flex-end;
}
.producto-card-captura__inputs .campo {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.producto-card-captura__inputs .campo label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #888;
}
.producto-card-captura__inputs .campo--cantidad {
  width: 90px;
}
.producto-card-captura__inputs .campo--notas {
  flex: 1;
}
.producto-card-captura {
  /* Estilos de los inputs individuales */
}
.producto-card-captura .input-captura {
  width: 100%;
  padding: 0.6rem;
  border: 1px solid #ddd;
  border-radius: 0.5rem;
  font-size: 1rem;
  background-color: #fafafa;
}
.producto-card-captura .input-captura:focus {
  outline: none;
  border-color: #96C941;
  background-color: #fff;
}

.pedido-plantilla {
  width: 100%;
  overflow-x: hidden;
  display: block;
}

.pedido-plantilla__busqueda {
  margin-bottom: 2rem;
}
.pedido-plantilla__busqueda .campo-busqueda {
  position: relative;
  display: flex;
  align-items: center;
}
.pedido-plantilla__busqueda .campo-busqueda i {
  position: absolute;
  left: 1.5rem;
  color: #888;
}
.pedido-plantilla__busqueda .campo-busqueda input {
  width: 100%;
  padding: 1.2rem 1.2rem 1.2rem 4rem;
  border: 1px solid #ddd;
  border-radius: 0.8rem;
  font-size: 1rem;
  outline: none;
  transition: border-color 0.2s;
}
.pedido-plantilla__busqueda .campo-busqueda input:focus {
  border-color: #96C941;
  box-shadow: 0 0 0 3px rgba(150, 201, 65, 0.1);
}

.table {
  width: 100%;
  border-collapse: collapse;
}
.table__thead {
  background-color: #96C941;
  color: #ffffff;
  text-align: left;
  text-transform: uppercase;
}
.table__th {
  text-align: left;
  padding: 1rem;
}
.table__imagen {
  display: block;
  height: 100%;
  max-height: 4.6rem;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
  margin: 0 auto;
}
.table__th--acciones {
  text-align: center;
  width: 19rem;
}
.table__tr:nth-child(even) {
  background-color: #e2e8f0;
}
.table__td, .table__td--acciones {
  padding: 1rem 1rem;
  font-size: 1.4rem;
}
.table__td--acciones {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 2rem;
}
.table__accion {
  all: unset;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 700;
}
.table__accion--editar {
  color: #3b82f6;
}
.table__accion--eliminar {
  color: #ef4444;
}
.table__accion:hover {
  cursor: pointer;
}

.documento__contenedor {
  box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
  background-color: #ffffff;
  border-radius: 0.8rem;
  padding: 2rem;
  border-radius: 1rem;
}
.documento__card {
  padding: 1rem 0.5rem;
}
.documento__card-heading {
  font-size: 1.4rem;
  margin-top: 0;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e1e4e8;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: #2c3e50;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
}
.documento__card-heading i {
  font-size: 1.2rem;
  color: #3498db;
}
.documento__admin-grid {
  display: grid;
  gap: 2rem;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .documento__admin-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.documento__campo {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  margin-top: 0.5rem;
}
.documento__input, .documento__input--readonly, .documento__select--readonly, .documento__select {
  padding: 1rem;
  border: 1px solid rgb(158.7727272727, 178.6818181818, 205.2272727273);
  border-radius: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 1.6rem;
}
.documento__input--readonly, .documento__select--readonly {
  background-color: #e2e8f0;
  color: rgb(71.9318181818, 100.7045454545, 139.0681818182);
}
.documento__captura {
  display: flex !important;
  flex-direction: column; /* Apilado para móvil */
  gap: 1.5rem;
  width: 100%;
  margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .documento__captura {
    flex-direction: row !important; /* Horizontal en PC */
    align-items: flex-end !important; /* Alinea botón e inputs por la base */
  }
}
.documento__boton--agregar {
  background-color: #96C941;
  color: #ffffff;
  padding: 1.5rem 4rem;
  border: none;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 0.5rem;
  transition: background-color 0.3s ease;
  text-align: center;
  display: inline-block;
  cursor: pointer;
}
.documento__boton--agregar:hover {
  background-color: rgb(122.4795081967, 167.4180327869, 47.5819672131);
}
.documento__boton--agregar {
  width: auto;
  align-self: flex-end;
}

.separador-ubicacion td {
  color: #495057;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.separador-ubicacion i {
  margin-right: 8px;
  color: #007bff;
}

.formulario__input--tabla {
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 4px;
  font-family: inherit;
  font-size: 2rem;
  outline: none;
}

.formulario__input--tabla:focus {
  border-color: #007bff;
  box-shadow: 0 0 5px rgba(0, 123, 255, 0.2);
}

.documento__boton--agregar:disabled {
  background-color: #d1d5db; /* Gris claro */
  border-color: #9ca3af;
  color: #6b7280;
  cursor: not-allowed;
  opacity: 0.7;
}

.pedido-plantilla__busqueda {
  margin: 2rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.pedido-plantilla__busqueda .campo-busqueda {
  position: relative;
  width: 100%;
  max-width: 500px;
}
.pedido-plantilla__busqueda .campo-busqueda i {
  position: absolute;
  left: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  color: #1e293b;
}
.pedido-plantilla__busqueda .campo-busqueda input {
  padding: 1.2rem;
  border: 1px solid rgb(158.7727272727, 178.6818181818, 205.2272727273);
  border-radius: 0.5rem;
  margin-bottom: 1rem;
  font-size: 1.6rem;
}
.pedido-plantilla__busqueda .campo-busqueda input:focus {
  border-color: #96C941;
  box-shadow: 0 0 0 3px rgba(150, 201, 65, 0.1);
}

.dashboard__dialogo {
  padding: 2rem;
  background: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  max-width: 900px;
  margin: 0 auto;
}

.dashboard__cards {
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem;
}

.dashboard__card {
  flex: 1 1 0;
  background: #e2e8f0;
  border-radius: 1rem;
  padding: 1.5rem 2rem;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.dashboard__card-titulo {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  color: #96C941;
}

.dashboard__card-lista {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 1.4rem;
}

.dashboard__tabla-productos {
  margin-top: 2rem;
}

.dashboard__boton-agregar {
  margin-top: 1rem;
  background: #96C941;
  color: #ffffff;
  border: none;
  border-radius: 0.5rem;
  padding: 0.8rem 2rem;
  font-size: 1.3rem;
  cursor: pointer;
}

.listado-productos {
  position: relative;
  width: 100%;
}

.tabla-sugerencias {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  background-color: white;
  border: 1px solid #ccc;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
  /* Quitamos el width 100% para que no ocupe toda la pantalla */
  width: auto;
}

.tabla-sugerencias th,
.tabla-sugerencias td {
  padding: 8px;
  width: 80px; /* Ancho fijo pequeño para el código */
  text-align: center;
}

/* Estilo para la celda del Nombre (2da columna) */
.tabla-sugerencias td:nth-child(2),
.tabla-sugerencias th:nth-child(2) {
  padding: 8px;
  min-width: 250px; /* <--- AQUÍ ajustas qué tan larga quieres la columna */
  text-align: left;
}

.tabla-sugerencias__fila {
  cursor: pointer;
  transition: background 0.2s;
}

.tabla-sugerencias__fila:hover,
.tabla-sugerencias__fila.tabla-sugerencias__fila--seleccionada {
  background-color: #e2e8f0; /* Un gris azulado suave */
  color: #000;
}

#listado-clientes {
  position: absolute;
  top: 100%; /* Justo debajo del input */
  left: 0;
  z-index: 1001; /* Un poco más alto que el de productos por si acaso */
  width: auto;
}

/* Ajusta el ancho de los inputs de búsqueda */
.dashboard__input-id-cliente,
#productospedido {
  width: 100%; /* Para que ocupe todo el ancho disponible del <li> */
  max-width: 650px; /* Pero que no pase de 450px (ajusta este número a tu gusto) */
  padding: 8px; /* Un poco de aire interno para que se vea profesional */
  box-sizing: border-box;
  text-align: right; /* Alinea el texto a la derecha */
}

/* Asegura que el contenedor de la tabla también crezca con el input */
#listado-clientes,
#listado-productos {
  width: 100%;
  max-width: 450px;
}

/* Seleccionamos ambos inputs para que sean hermanos gemelos */
#productospedido,
#nombreproducto {
  height: 42px; /* Define una altura fija para ambos */
  padding: 8px 12px; /* Espaciado interno igual */
  font-size: 1.6rem; /* Tamaño de letra igual */
  border: 1px solid #ccc; /* Mismo borde */
  border-radius: 4px; /* Mismo redondeado */
  box-sizing: border-box; /* CRUCIAL: Incluye el padding en la altura total */
  display: inline-block;
  vertical-align: middle; /* Los alinea en la misma línea base */
}

.resumen-pedido {
  display: flex;
  flex-direction: column;
  align-items: flex-end; /* Alineación a la derecha */
  margin-top: 20px;
  gap: 8px; /* Espacio entre filas */
}

.resumen-pedido div {
  font-size: 1.5rem;
  color: #555; /* Color suave para etiquetas secundarias */
}

/* Estilo específico para la fila del Total */
.resumen-pedido div:last-child {
  font-size: 1.8rem; /* Más grande */
  font-weight: 800;
  color: #27ae60; /* Un verde vibrante para el total */
  border-top: 2px solid #27ae60; /* Línea divisoria del mismo color */
  padding-top: 10px;
  margin-top: 5px;
}

#total-pedido-span {
  margin-left: 10px;
}

.table__input-cantidad {
  width: 60px;
  padding: 0.3rem 0.5rem;
  font-size: 1.2rem;
  border-radius: 0.3rem;
  border: 1px solid #ccc;
  text-align: right;
}

.table__input-codigo {
  width: 90px;
  padding: 0.3rem 0.5rem;
  font-size: 1.2rem;
  border-radius: 0.3rem;
  border: 1px solid #ccc;
}

.table__input-buscar {
  width: 180px;
  padding: 0.3rem 0.5rem;
  font-size: 1.2rem;
  border-radius: 0.3rem;
  border: 1px solid #2d7a46;
}

.busqueda-resultado {
  padding: 0.3rem 0.5rem;
  cursor: pointer;
  border-bottom: 1px solid #eee;
}

.busqueda-resultado:hover {
  background: #e6f4ea;
}

.busqueda-sugerencias {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 10;
  min-width: 200px;
  max-height: 200px;
  overflow-y: auto;
  border: 1px solid #2d7a46;
  border-radius: 0 0 0.5rem 0.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.nombre-producto {
  position: relative;
}

.dashboard__input-id-cliente {
  width: 90px;
  padding: 0.3rem 0.5rem;
  font-size: 1.2rem;
  border-radius: 0.3rem;
  border: 1px solid #ccc;
  margin-left: 0.5rem;
}

.busqueda-sugerencias-cliente {
  position: absolute;
  background: #fff;
  z-index: 20;
  min-width: 200px;
  max-height: 200px;
  overflow-y: auto;
  border: 1px solid #2d7a46;
  border-radius: 0 0 0.5rem 0.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

#nombre-cliente-li {
  position: relative;
}

.formulario__pie-fijo {
  width: 100%;
  background-color: #ffffff;
  border-top: 3px solid #f1f5f9;
  padding: 2rem 0;
  box-shadow: 0 -10px 25px rgba(0, 0, 0, 0.03);
}

.estatus-footer {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 4rem;
  white-space: nowrap;
}
.estatus-footer__label {
  font-weight: 900;
  color: #1e293b;
  font-size: 1.4rem;
  letter-spacing: 2px;
  border-right: 2px solid #e2e8f0;
  padding-right: 2rem;
}
.estatus-footer__items {
  display: flex;
  gap: 2.5rem;
  flex-wrap: nowrap;
}

.estatus-item {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.2rem 2.5rem;
  background-color: #f8fafc;
  border-radius: 1.5rem;
  border: 2px solid #e2e8f0;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.estatus-item i {
  font-size: 2.5rem;
}
.estatus-item strong {
  font-size: 1.5rem;
  color: #0f172a;
}
.estatus-item span {
  font-size: 1.3rem;
  color: #475569;
  font-weight: 500;
}
.estatus-item:hover {
  transform: translateY(-5px);
  background-color: #ffffff;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

.auth {
  max-width: 70rem;
  margin: 5rem auto;
  padding: 3rem 2rem;
}
@media (min-width: 768px) {
  .auth {
    padding: 4rem 3rem;
  }
}

.auth__heading {
  text-align: center;
  font-size: 3rem;
  margin-bottom: 2rem;
  color: #1e293b;
}

.auth__texto {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 3rem;
  color: #64748b;
}

.acciones {
  margin-top: 3rem;
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
}
.acciones__enlace {
  text-align: center;
  font-size: 1.6rem;
  color: #1e293b;
}
.acciones__enlace:hover {
  color: #96C941;
}

.elcontenedor-nosotros {
  width: min(95%, 140rem);
  margin: 0 auto;
}

.contenido-nosotros {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .contenido-nosotros {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
  }
}

.texto-nosotros blockquote {
  grid-column: 1/-1;
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 2rem;
  font-weight: 900;
}

.texto-nosotros__parrafo {
  margin-top: 1rem;
  font-size: 1.5rem;
  text-align: justify;
}

.header-nosotros {
  text-align: center;
  font-size: 3rem;
  margin-top: 3rem;
  color: #1e293b;
}

.texto-resaltado {
  font-weight: 900; /* Lo hace más grueso */
  color: #000000; /* Negro puro para que sea más oscuro que el resto */
}

.iconos-nosotros {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 3rem;
}

.icono-nosotros {
  flex: 1;
  display: flex; /* Convierte el contenedor en flex */
  flex-direction: column; /* Alinea los elementos uno abajo del otro */
  align-items: center; /* CENTRA TODO HORIZONTALMENTE (Imagen, H3 y P) */
  text-align: center; /* Centra el texto del título y párrafo */
}

.icono-nosotros img {
  width: 10rem; /* Ajusta el tamaño según necesites */
  margin-bottom: 2rem;
  display: block; /* Elimina espacios fantasma debajo de la imagen */
}

/* Responsive: que se apilen en una sola columna en móviles */
@media (max-width: 768px) {
  .iconos-nosotros {
    flex-direction: column;
  }
}
.categorias {
  padding: 5rem 0;
}
.categorias__heading {
  font-size: 3.5rem;
  text-align: center;
  margin-bottom: 4rem;
  color: #1e293b;
}
.categorias__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}
@media (min-width: 768px) {
  .categorias__grid {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media (min-width: 1024px) {
  .categorias__grid {
    grid-template-columns: repeat(10, 1fr);
  }
}

.categoria {
  background-color: #ffffff;
  border-radius: 1rem;
  padding: 3rem 2rem;
  text-align: center;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}
.categoria:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}
.categoria__icono {
  font-size: 5rem;
  color: #96C941;
  margin-bottom: 2rem;
}
.categoria__nombre {
  font-size: 2rem;
  color: #1e293b;
  margin: 0;
}

.productos-page {
  padding: 3rem 0;
}
.productos-page__heading {
  font-size: 3.5rem;
  text-align: center;
  margin-bottom: 3rem;
  color: #1e293b;
}
.productos-page__filtros {
  margin-bottom: 4rem;
  display: flex;
  justify-content: center;
}
.productos-page__select {
  padding: 1.2rem 2rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  font-size: 1.6rem;
  color: #1e293b;
  background-color: #ffffff;
  cursor: pointer;
  min-width: 30rem;
}
.productos-page__select:focus {
  outline: none;
  border-color: #96C941;
}

.productos__grid {
  margin: 3rem 3rem 0 3rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 3rem;
}
@media (min-width: 480px) {
  .productos__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }
}
@media (min-width: 768px) {
  .productos__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
  }
}
@media (min-width: 1024px) {
  .productos__grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 3rem;
  }
}

.producto {
  background-color: #ffffff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.producto:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}
.producto__imagen {
  width: 100%;
  height: 25rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.producto__info {
  padding: 2rem;
}
.producto__nombre {
  font-size: 2rem;
  margin: 0 0 1rem 0;
  color: #1e293b;
}
.producto__descripcion {
  color: #64748b;
  margin: 0 0 1.5rem 0;
  font-size: 1.4rem;
}
.producto__precio {
  font-size: 2.4rem;
  font-weight: 700;
  color: #96C941;
  margin: 0 0 1.5rem 0;
}
.producto__precio--oculto {
  color: #64748b;
  font-size: 1.4rem;
  font-weight: 400;
  font-style: italic;
}
.producto__boton {
  background-color: #96C941;
  color: #ffffff;
  padding: 1.5rem 4rem;
  border: none;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 0.5rem;
  transition: background-color 0.3s ease;
  text-align: center;
  display: inline-block;
  cursor: pointer;
}
.producto__boton:hover {
  background-color: rgb(122.4795081967, 167.4180327869, 47.5819672131);
}
.producto__boton {
  width: 100%;
}
.producto__boton:disabled {
  background-color: #e2e8f0;
  color: #64748b;
  cursor: not-allowed;
  opacity: 0.6;
}
.producto__boton:disabled:hover {
  background-color: #e2e8f0;
}

.destacados {
  padding: 5rem 0;
  background-color: rgb(242.8068181818, 245.3295454545, 248.6931818182);
}
.destacados__heading {
  font-size: 3.5rem;
  text-align: center;
  margin-bottom: 4rem;
  color: #1e293b;
}

.productos-page__nombre-categoria {
  color: #96C941;
  font-weight: 900;
  text-align: center;
  margin-top: 1rem;
  text-transform: uppercase;
}

.formulario,
.formulario-agregar-producto {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.formulario__fieldset,
.formulario-agregar-producto__fieldset {
  border: none;
  margin-top: 1rem;
  padding: 0;
}
.formulario__legend,
.formulario-agregar-producto__legend {
  color: #64748b;
  font-size: 2.2rem;
  margin-bottom: 2rem;
}
.formulario__campo,
.formulario-agregar-producto__campo {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}
.formulario__contenedor-icono,
.formulario-agregar-producto__contenedor-icono {
  display: flex;
  border-radius: 0.5rem;
  overflow: hidden;
}
.formulario__icono,
.formulario-agregar-producto__icono {
  background-color: #1e293b;
  width: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.formulario__icono i,
.formulario-agregar-producto__icono i {
  color: #ffffff;
  font-size: 2rem;
}
.formulario__label,
.formulario-agregar-producto__label {
  display: block;
  font-size: 1.6rem;
  color: black;
}
.formulario__input, .formulario__input--sociales, .formulario__select--sociales,
.formulario-agregar-producto__input--sociales,
.formulario-agregar-producto__select--sociales, .formulario__select,
.formulario-agregar-producto__input,
.formulario-agregar-producto__select {
  padding: 1.2rem;
  border: 1px solid rgb(158.7727272727, 178.6818181818, 205.2272727273);
  border-radius: 0.5rem;
  margin-bottom: 1rem;
  font-size: 1.6rem;
}
.formulario__input--file, .formulario__select--file,
.formulario-agregar-producto__input--file,
.formulario-agregar-producto__select--file {
  border: none;
}
.formulario__input--sociales, .formulario__select--sociales,
.formulario-agregar-producto__input--sociales,
.formulario-agregar-producto__select--sociales {
  flex: 1;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.formulario__radio,
.formulario-agregar-producto__radio {
  display: flex;
  gap: 2.5rem;
}
.formulario__texto,
.formulario-agregar-producto__texto {
  margin-top: 3rem;
}
.formulario__imagen,
.formulario-agregar-producto__imagen {
  max-width: 20rem;
}
.formulario__listado,
.formulario-agregar-producto__listado {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.formulario__listado > li,
.formulario-agregar-producto__listado > li {
  background-color: #96C941;
  color: #ffffff;
  padding: 1rem;
  border-radius: 0.5rem;
  font-size: 1.4rem;
  font-weight: 700;
}
.formulario__submit,
.formulario-agregar-producto__submit {
  background-color: #96C941;
  color: #ffffff;
  padding: 1.5rem 4rem;
  border: none;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 0.5rem;
  transition: background-color 0.3s ease;
  text-align: center;
  display: inline-block;
  cursor: pointer;
}
.formulario__submit:hover,
.formulario-agregar-producto__submit:hover {
  background-color: rgb(122.4795081967, 167.4180327869, 47.5819672131);
}
.formulario__submit,
.formulario-agregar-producto__submit {
  width: auto;
  align-self: flex-end;
  margin-top: 1.2rem;
}
.formulario__submit--registrar, .formulario__submit--full,
.formulario-agregar-producto__submit--registrar,
.formulario-agregar-producto__submit--full {
  width: 100%;
  margin-top: 1.5rem;
}
.formulario__submit--agregar,
.formulario-agregar-producto__submit--agregar {
  display: flex;
  justify-content: flex-end;
}
.formulario__campos--dobles,
.formulario-agregar-producto__campos--dobles {
  display: flex;
  gap: 2rem;
}
.formulario__admin-grid,
.formulario-agregar-producto__admin-grid {
  display: grid;
  gap: 2rem;
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .formulario__admin-grid,
  .formulario-agregar-producto__admin-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.formulario__grid-entrega,
.formulario-agregar-producto__grid-entrega {
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) {
  .formulario__grid-entrega,
  .formulario-agregar-producto__grid-entrega {
    grid-template-columns: 1fr 1fr;
  }
}

.forma-contacto {
  max-width: 30rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

input[type=radio] {
  width: auto;
  margin: 0;
}

/* Contenedor para que la tabla tenga su propio scroll y sea alta */
.contenedor-tabla-scroll {
  width: 100%;
  /* Usa una altura fija para forzar el scroll */
  height: 400px;
  overflow-y: scroll; /* Fuerza la aparición de la barra si es necesario */
  overflow-x: hidden;
  border: 1px solid #e2e8f0;
  margin: 1rem 0;
  display: block; /* Asegura que se comporte como bloque */
}

/* Forzar ancho completo */
.table--pedido {
  width: 100% !important;
  display: table; /* Mantiene el comportamiento de tabla */
}

/* Mantener el encabezado visible mientras haces scroll en la tabla */
.table--pedido thead {
  position: sticky;
  top: 0;
  background-color: #96C941;
  z-index: 10;
  box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.1);
}

.formulario__card {
  padding: 1.5rem 2rem;
}
.formulario__card-heading {
  font-size: 1.4rem;
  margin-top: 0;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e1e4e8;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: #2c3e50;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
}
.formulario__card-heading i {
  font-size: 1.2rem;
  color: #3498db;
}

/* 1. Contenedor Base */
.formulario__captura {
  display: flex !important;
  flex-direction: column; /* Apilado para móvil */
  gap: 1.5rem;
  width: 100%;
  margin-bottom: 2.5rem;
}

/* 2. Comportamiento para Tablets y PC */
@media (min-width: 768px) {
  .formulario__captura {
    flex-direction: row !important; /* Horizontal en PC */
    align-items: flex-end !important; /* Alinea botón e inputs por la base */
  }
  /* Quitamos el ancho total a los campos individuales para que fluyan */
  .formulario__campo {
    margin-bottom: 0 !important;
    width: auto !important;
  }
  /* PROPORCIONES: Esto hace que ocupen TODO el ancho del contenedor */
  .captura-busqueda {
    flex: 4 !important;
  } /* El buscador es el más ancho */
  .captura-cantidad {
    flex: 1 !important;
    min-width: 80px;
  }
  .captura-precio {
    flex: 1.2 !important;
    min-width: 100px;
  }
  .captura-notas {
    flex: 3 !important;
  }
  .captura-boton {
    flex: 0 !important;
  } /* El botón no se estira */
}
/* 3. Estética Uniforme */
.formulario__input, .formulario__input--sociales, .formulario__select--sociales,
.formulario-agregar-producto__input--sociales,
.formulario-agregar-producto__select--sociales,
.formulario__boton--agregar {
  width: 100%;
  height: 4.5rem !important;
  box-sizing: border-box;
  font-size: 1.4rem;
}

.formulario__boton--agregar {
  background-color: #96C941; /* Cambia por tu variable $secundario */
  color: white;
  border: none;
  border-radius: 0.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 2rem;
  transition: background-color 0.3s;
}
.formulario__boton--agregar:hover {
  background-color: rgb(122.4795081967, 167.4180327869, 47.5819672131);
}
.formulario__boton--agregar {
  margin-bottom: 1rem;
}

/* 4. Alineación a la derecha en los totales del tfoot */
.table__td--total,
.table__td--valor,
.table__td--valor-final {
  text-align: right !important;
}

.table__th {
  text-align: center;
}

.table__td--valor-final {
  font-size: 2rem;
  font-weight: 700;
}

.table__td--total1 {
  border-bottom: 10px solid #e1e4e8;
}

.barra {
  background-color: #96C941;
}
.barra__contenido {
  width: min(95%, 140rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .barra__contenido {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
.barra__logo {
  color: #ffffff;
  text-align: center;
  margin-bottom: 2rem;
  white-space: nowrap;
}
@media (min-width: 1024px) {
  .barra__logo {
    text-align: left;
    margin: 0;
    color: #ffffff;
  }
}
.barra__logo {
  font-size: clamp(2rem, -0.8rem + 10vw, 3rem);
}

.dashboard__header {
  background-color: #ffffff;
  width: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  margin: 0;
}
.dashboard__header-grid {
  width: min(95%, 140rem);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* Reducimos el padding al mínimo (igual que el footer slim) */
  padding: 1rem 0;
}
.dashboard__logo-img {
  /* Reducimos un poco la altura para que no fuerce el alto del header */
  height: 3.5rem;
  width: auto;
  display: block;
}

.header__navegacion {
  display: flex;
  align-items: center;
  gap: 2rem;
  /* Quitamos márgenes por defecto de h2 si los tuviera */
  margin: 0;
}
.header__enlace {
  color: #96C941;
  font-weight: 700;
  font-size: 1.4rem;
  transition: color 0.3s ease;
  text-decoration: none;
}
.header__enlace:hover {
  color: #3b82f6;
}
.header__form {
  margin: 0;
  display: flex;
  align-items: center;
}
.header__submit {
  /* Usamos un padding más pequeño para que el botón no sea alto */
  background-color: #ef4444;
  color: #ffffff;
  padding: 1.5rem 4rem;
  border: none;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 0.5rem;
  transition: background-color 0.3s ease;
  text-align: center;
  display: inline-block;
  cursor: pointer;
}
.header__submit:hover {
  background-color: rgb(234.9802955665, 21.0197044335, 21.0197044335);
}
.header__submit {
  padding: 0.5rem 1.2rem;
  cursor: pointer;
  border: none;
  font-size: 1.2rem;
  text-transform: uppercase;
}

.header__contenedor {
  display: flex;
  justify-content: space-between; /* Logo a la izquierda, menú al centro/derecha */
  align-items: center; /* Centrado vertical perfecto */
  padding: 1rem 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.navegacion__lista {
  list-style: none;
  display: flex;
  gap: 2rem; /* Espacio entre cada enlace */
  margin: 0;
  padding: 0;
}

.navegacion__enlace {
  text-decoration: none;
  color: #333;
  font-weight: 600;
  font-size: 1.5rem;
  transition: color 0.3s ease;
  text-transform: uppercase; /* Le da un toque más formal */
}

.navegacion__enlace:hover {
  color: #007bff; /* Cambia al color de tu marca al pasar el mouse */
}

/* Responsive: Ocultar menú en móviles si no tienes hamburguesa aún */
.navegacion__usuario {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-left: auto; /* Lo empuja a la derecha si usas flex en el nav */
}

.navegacion__saludo {
  font-size: 1.6rem; /* Aumentamos el tamaño general */
  font-weight: 900; /* Ambos con el mismo grosor máximo */
  color: #444; /* Color base para el 'Hola' */
  display: flex;
  align-items: center;
  gap: 0.6rem; /* Espacio uniforme entre 'Hola' y el Nombre */
  margin: 0;
}

.navegacion__saludo span {
  font-weight: 900;
  color: #007bff; /* Color de tu marca */
  text-transform: capitalize; /* Asegura que la primera letra sea mayúscula */
  font-size: 1.4rem;
}

.navegacion__logout {
  font-size: 0.8rem;
  color: #d33;
  text-decoration: none;
  border: 1px solid #d33;
  padding: 0.3rem 0.8rem;
  border-radius: 0.5rem;
  transition: all 0.3s ease;
}

.navegacion__logout:hover {
  background-color: #d33;
  color: white;
}

.header__enlace-perfil {
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.header__enlace-perfil:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.footer {
  background-color: #ffffff;
  padding: 2rem 0;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  margin-top: 4rem;
}
.footer__grid {
  width: min(95%, 140rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
@media (min-width: 768px) {
  .footer__grid {
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
  }
}
.footer__identidad {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 768px) {
  .footer__identidad {
    flex-direction: row;
    gap: 2rem;
  }
}
.footer__logo-img {
  height: 3.5rem;
  width: auto;
}
.footer__copyright {
  margin: 0;
  font-size: 1.4rem;
  color: #64748b;
}
.footer__copyright span {
  font-weight: 700;
  color: #000000;
}

.menu-redes {
  display: flex;
  gap: 1.5rem;
}
.menu-redes__enlace {
  font-size: 1.8rem;
  color: #64748b;
  transition: color 0.3s ease, transform 0.3s ease;
}
.menu-redes__enlace:hover {
  color: #96C941;
  transform: translateY(-2px);
}

.alerta {
  padding: 1.5rem;
  margin-bottom: 2rem;
  border-radius: 0.5rem;
  font-weight: 700;
  text-align: center;
}
.alerta--error {
  background-color: rgb(253.0689655172, 232.4310344828, 232.4310344828);
  color: #ef4444;
  border: 1px solid #ef4444;
}
.alerta--exito {
  background-color: hsl(82.5, 55.737704918%, 107.1568627451%);
  color: #059669;
  border: 1px solid #96C941;
}
.alerta--warning {
  background-color: rgb(252.8295964126, 220.2735426009, 136.1704035874);
  color: rgb(131.5964125561, 95.5426008969, 2.4035874439);
  border: 1px solid #fbbf24;
}

.boton {
  background-color: #96C941;
  color: #ffffff;
  padding: 1.5rem 4rem;
  border: none;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 0.5rem;
  transition: background-color 0.3s ease;
  text-align: center;
  display: inline-block;
  cursor: pointer;
}
.boton:hover {
  background-color: rgb(122.4795081967, 167.4180327869, 47.5819672131);
}
.boton {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}
.boton--rojo {
  background-color: #ef4444;
  color: #ffffff;
  padding: 1.5rem 4rem;
  border: none;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 0.5rem;
  transition: background-color 0.3s ease;
  text-align: center;
  display: inline-block;
  cursor: pointer;
}
.boton--rojo:hover {
  background-color: rgb(234.9802955665, 21.0197044335, 21.0197044335);
}
.boton--azul {
  background-color: #3b82f6;
  color: #ffffff;
  padding: 1.5rem 4rem;
  border: none;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 0.5rem;
  transition: background-color 0.3s ease;
  text-align: center;
  display: inline-block;
  cursor: pointer;
}
.boton--azul:hover {
  background-color: rgb(11.1512195122, 99.1219512195, 242.8487804878);
}

.tabla {
  background-color: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  margin-bottom: 3rem;
}
.tabla__contenedor {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 768px) {
  .tabla__contenedor {
    overflow-x: visible;
  }
}
.tabla__contenido {
  width: 100%;
  border-collapse: collapse;
  min-width: 60rem;
}
@media (min-width: 768px) {
  .tabla__contenido {
    min-width: 100%;
  }
}
.tabla__thead {
  background-color: #96C941;
  color: #ffffff;
}
.tabla__th {
  padding: 0.7rem 1rem;
  text-align: center;
  font-weight: 700;
  font-size: 1.4rem;
  text-transform: uppercase;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .tabla__th {
    font-size: 1.6rem;
    padding: 1rem 3rem;
  }
}
.tabla__th:first-child {
  border-radius: 1rem 0 0 0;
}
.tabla__th:last-child {
  border-radius: 0 1rem 0 0;
  width: 1%;
  white-space: nowrap;
}
.tabla__tbody {
  position: relative;
}
.tabla__tr {
  border-bottom: 1px solid #e2e8f0;
  transition: all 0.3s ease;
}
.tabla__tr:hover {
  background-color: rgba(150, 201, 65, 0.08);
}
.tabla__tr:last-child {
  border-bottom: none;
}
.tabla__td {
  padding: 0.8rem 2rem;
  font-size: 1.3rem;
  color: #1e293b;
}
@media (min-width: 768px) {
  .tabla__td {
    font-size: 1.5rem;
    padding: 1rem 3rem;
  }
}
.tabla__td--acciones {
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: nowrap;
  padding: 0.6rem 2rem;
  width: 1%;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .tabla__td--acciones {
    padding: 1rem 3rem;
  }
}
.tabla__accion {
  padding: 0.8rem 1.2rem;
  border-radius: 0.5rem;
  font-size: 1.2rem;
  font-weight: 600;
  transition: all 0.3s ease;
  cursor: pointer;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  white-space: nowrap;
  min-width: 9rem;
  min-height: 4rem;
}
@media (min-width: 768px) {
  .tabla__accion {
    padding: 1rem 1.5rem;
    font-size: 1.3rem;
    min-width: 10rem;
  }
}
.tabla__accion i {
  font-size: 1.3rem;
}
@media (min-width: 768px) {
  .tabla__accion i {
    font-size: 1.4rem;
  }
}
.tabla__accion--editar {
  background-color: #3b82f6;
  color: #ffffff;
}
.tabla__accion--editar:hover {
  background-color: rgb(11.1512195122, 99.1219512195, 242.8487804878);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(59, 130, 246, 0.3);
}
.tabla__accion--eliminar {
  background-color: #ef4444;
  color: #ffffff;
}
.tabla__accion--eliminar:hover {
  background-color: rgb(234.9802955665, 21.0197044335, 21.0197044335);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(239, 68, 68, 0.3);
}
.tabla__formulario {
  margin: 0;
  display: inline-flex;
}
.tabla__imagen {
  width: 6rem;
  height: 6rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
}
@media (min-width: 768px) {
  .tabla__imagen {
    width: 8rem;
    height: 8rem;
  }
}
.tabla__scroll-hint {
  display: block;
  text-align: center;
  padding: 1rem;
  background-color: rgba(150, 201, 65, 0.1);
  color: #96C941;
  font-size: 1.2rem;
  font-weight: 600;
}
@media (min-width: 768px) {
  .tabla__scroll-hint {
    display: none;
  }
}

.badge {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 2rem;
  font-size: 1.2rem;
  font-weight: 600;
  text-transform: uppercase;
}
.badge--success {
  background-color: rgba(150, 201, 65, 0.2);
  color: rgb(122.4795081967, 167.4180327869, 47.5819672131);
}
.badge--danger {
  background-color: rgba(239, 68, 68, 0.2);
  color: rgb(234.9802955665, 21.0197044335, 21.0197044335);
}
.badge--pendiente {
  background-color: rgb(252.8295964126, 220.2735426009, 136.1704035874);
  color: rgb(131.5964125561, 95.5426008969, 2.4035874439);
}
.badge--procesando {
  background-color: rgb(229.6634146341, 238.8414634146, 253.8365853659);
  color: #3b82f6;
}
.badge--enviado, .badge--entregado {
  background-color: hsl(82.5, 55.737704918%, 107.1568627451%);
  color: #059669;
}
.badge--cancelado {
  background-color: rgb(253.0689655172, 232.4310344828, 232.4310344828);
  color: rgb(234.9802955665, 21.0197044335, 21.0197044335);
}

.text-center {
  text-align: center;
  padding: 3rem;
  color: #64748b;
  font-size: 1.6rem;
}

.table__accion--nota {
  color: #28a745; /* Un verde "dinero" para diferenciarlo del azul de editar */
  transition: transform 0.2s ease;
}

.table__accion--nota:hover {
  color: #218838;
  transform: scale(1.2); /* Efecto de crecimiento al pasar el mouse */
}

.progress {
  width: 100%;
  height: 10px;
  display: block;
  margin-top: 5px;
}

.paginacion {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 3rem;
  flex-wrap: wrap;
}
.paginacion__enlace {
  padding: 1rem 1.5rem;
  background-color: #ffffff;
  color: #1e293b;
  border-radius: 0.5rem;
  font-weight: 600;
  transition: all 0.3s ease;
  border: 1px solid #e2e8f0;
}
.paginacion__enlace:hover {
  background-color: #96C941;
  color: #059669;
  border-color: #96C941;
}
.paginacion__enlace--actual {
  background-color: #96C941;
  color: #ffffff;
  border-color: #96C941;
}
.paginacion__enlace--texto {
  background-color: transparent;
  border: none;
  color: #96C941;
}
.paginacion__enlace--texto:hover {
  background-color: transparent;
  text-decoration: underline;
}

.hero {
  background: linear-gradient(to right, #96C941, #059669);
  color: #ffffff;
  padding: 10rem 0;
  text-align: center;
}
.hero__heading {
  font-size: 5rem;
  margin-bottom: 2rem;
}
.hero__texto {
  font-size: 2.4rem;
  margin-bottom: 3rem;
  color: #e2e8f0;
}
.hero__boton {
  background-color: #ffffff;
  color: #96C941;
  padding: 1.5rem 4rem;
  border: none;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 0.5rem;
  transition: background-color 0.3s ease;
  text-align: center;
  display: inline-block;
  cursor: pointer;
}
.hero__boton:hover {
  background-color: rgb(229.5, 229.5, 229.5);
}

.hero {
  background: linear-gradient(135deg, #96C941 0%, #059669 100%);
  color: #ffffff;
  padding: 10rem 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="rgba(255,255,255,0.1)" d="M0,96L48,112C96,128,192,160,288,160C384,160,480,128,576,112C672,96,768,96,864,112C960,128,1056,160,1152,160C1248,160,1344,128,1392,112L1440,96L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>');
  background-size: cover;
  background-position: bottom;
}
.hero__contenido {
  position: relative;
  z-index: 1;
}
.hero__heading {
  font-size: 5rem;
  margin-bottom: 2rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}
@media (min-width: 768px) {
  .hero__heading {
    font-size: 6rem;
  }
}
.hero__texto {
  font-size: 2.4rem;
  margin-bottom: 4rem;
  color: rgba(255, 255, 255, 0.9);
}
.hero__boton {
  background-color: #ffffff;
  color: #96C941;
  padding: 1.5rem 4rem;
  border: none;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 0.5rem;
  transition: background-color 0.3s ease;
  text-align: center;
  display: inline-block;
  cursor: pointer;
}
.hero__boton:hover {
  background-color: rgb(229.5, 229.5, 229.5);
}
.hero__boton {
  font-size: 2rem;
  padding: 2rem 5rem;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.hero__boton:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

.swiper {
  width: 100%;
  height: 80vh;
}

.hero-slider {
  width: 100%;
  height: 45rem;
  overflow: hidden;
  position: relative;
}
@media (min-width: 768px) {
  .hero-slider {
    height: 55rem;
  }
}

.hero-slide {
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-slide__overlay {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.4);
}

.hero-slide__heading {
  font-size: 3.5rem;
  margin-bottom: 1rem;
  color: rgba(255, 255, 255, 0.9);
}
@media (min-width: 768px) {
  .hero-slide__heading {
    font-size: 5rem;
  }
}

.hero-slide__texto {
  font-size: 1.8rem;
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, 0.8);
  text-align: left;
}

/* Color de los puntitos de paginación para que combinen con tu marca */
.swiper-pagination-bullet-active {
  background-color: #2ecc71 !important;
}

.swiper-pagination-bullet {
  background: #ffffff;
  opacity: 0.5;
}

.swiper-pagination-bullet-active {
  background: #2ecc71 !important;
  opacity: 1;
}

@media (max-width: 768px) {
  .hero-slide {
    height: 40vh; /* Altura más pequeña para celulares */
    background-attachment: scroll; /* Mejora el rendimiento en móviles */
  }
}
.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  backdrop-filter: blur(3px);
}

.loading-spinner {
  background-color: white;
  padding: 4rem;
  border-radius: 1rem;
  text-align: center;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.3);
  max-width: 40rem;
}
.loading-spinner i {
  color: var(--primario);
  margin-bottom: 2rem;
  animation: spin 1s linear infinite;
}
.loading-spinner p {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--negro);
  margin: 0;
  margin-bottom: 1rem;
}
.loading-spinner .loading-subtitle {
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--gris);
  margin: 0;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media (max-width: 768px) {
  .loading-spinner {
    padding: 3rem 2rem;
    margin: 2rem;
  }
  .loading-spinner i {
    font-size: 4rem !important;
  }
  .loading-spinner p {
    font-size: 1.6rem;
  }
  .loading-spinner .loading-subtitle {
    font-size: 1.2rem;
  }
}
.plantilla-productos__lista {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(1, 1fr);
  margin-top: 1.5rem;
}
@media (min-width: 768px) {
  .plantilla-productos__lista {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .plantilla-productos__lista {
    grid-template-columns: repeat(3, 1fr);
  }
}

.plantilla-editar__header-productos {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
}
@media (min-width: 768px) {
  .plantilla-editar__header-productos {
    flex-direction: column;
    align-items: flex-start;
  }
  .plantilla-editar__header-productos .boton, .plantilla-editar__header-productos .boton--verde {
    align-items: flex-end;
  }
  .plantilla-editar__header-productos {
    gap: 1rem;
  }
}
.plantilla-editar__header-productos .contador-productos {
  color: #1e293b;
  font-size: 1.4rem;
}
@media (min-width: 768px) {
  .plantilla-editar__header-productos .contador-productos {
    font-size: 1.3rem;
  }
}

.plantilla-editar__subtitulo {
  margin-top: 1.5rem;
}

.plantilla-editar__contador {
  color: #3b82f6;
  font-size: 2.5rem;
  font-weight: 700;
}

.plantilla-producto {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  background-color: #e2e8f0;
  border: 1px solid rgb(209.1931818182, 218.6704545455, 231.3068181818);
  border-radius: 0.8rem;
  transition: all 0.3s ease;
  gap: 1rem;
  height: 100%;
}
@media (min-width: 480px) {
  .plantilla-producto {
    padding: 1.5rem;
    flex-direction: row;
    align-items: center;
  }
}
.plantilla-producto:hover {
  background-color: rgb(209.1931818182, 218.6704545455, 231.3068181818);
  transform: translateY(-0.2rem);
  box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.05);
}

.plantilla-producto__info {
  flex: 1;
  min-width: 0;
}

.plantilla-producto__categoria {
  display: inline-block;
  background-color: #96C941;
  color: #ffffff;
  padding: 0.3rem 0.8rem;
  border-radius: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.plantilla-producto__nombre {
  font-size: 1.5rem;
  color: #000000;
  margin: 0.3rem 0;
  font-weight: 700;
  line-height: 1.2;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.plantilla-producto__eliminar {
  background-color: #ef4444;
  color: #ffffff;
  border: none;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  flex-shrink: 0;
}
.plantilla-producto__eliminar:hover {
  background-color: rgb(234.9802955665, 21.0197044335, 21.0197044335);
  transform: scale(1.1);
}

.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 1000;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.modal.modal--visible {
  display: flex;
  opacity: 1;
}

.modal__contenido {
  background-color: #ffffff;
  border-radius: 1rem;
  width: 90%;
  max-width: 70rem;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  transform: scale(0.9);
  transition: transform 0.3s ease;
}
@media (min-width: 480px) {
  .modal__contenido {
    width: 95%;
    max-height: 90vh;
    border-radius: 0.5rem;
  }
}
.modal--visible .modal__contenido {
  transform: scale(1);
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem;
  border-bottom: 1px solid #e2e8f0;
}
@media (min-width: 480px) {
  .modal__header {
    padding: 1.5rem;
  }
}

.modal__titulo {
  font-size: 2.2rem;
  color: #000000;
  margin: 0;
}
@media (min-width: 480px) {
  .modal__titulo {
    font-size: 1.8rem;
  }
}

.modal__cerrar {
  background: none;
  border: none;
  font-size: 2.5rem;
  color: #1e293b;
  cursor: pointer;
  padding: 0;
  width: 3.5rem;
  height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.modal__cerrar:hover {
  background-color: #e2e8f0;
  color: #ef4444;
}

.modal__body {
  padding: 2rem;
  overflow-y: auto;
  flex: 1;
}
@media (min-width: 480px) {
  .modal__body {
    padding: 1.5rem;
  }
}

.modal__loading {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem;
  color: #1e293b;
}
.modal__loading .spinner {
  width: 5rem;
  height: 5rem;
  border: 4px solid #e2e8f0;
  border-top-color: #96C941;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 1rem;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.productos-disponibles {
  margin-top: 2rem;
  max-height: 40rem;
  overflow-y: auto;
}

.productos-disponibles__mensaje {
  text-align: center;
  color: #1e293b;
  font-size: 1.4rem;
  padding: 2rem;
}
.productos-disponibles__mensaje--error {
  color: #ef4444;
}

.producto-disponible {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  border-bottom: 1px solid #e2e8f0;
  transition: background-color 0.3s ease;
  gap: 1rem;
}
@media (min-width: 480px) {
  .producto-disponible {
    padding: 1rem;
    flex-direction: column;
    align-items: flex-start;
  }
}
.producto-disponible:hover:not(.producto-disponible--agregado) {
  background-color: #e2e8f0;
}
.producto-disponible--agregado {
  opacity: 0.6;
  background-color: rgb(237.7868852459, 246.1475409836, 223.8524590164);
}

.producto-disponible__info {
  flex: 1;
}

.producto-disponible__categoria {
  display: inline-block;
  background-color: #96C941;
  color: #ffffff;
  padding: 0.3rem 0.8rem;
  border-radius: 0.5rem;
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
@media (min-width: 480px) {
  .producto-disponible__categoria {
    font-size: 1rem;
  }
}

.producto-disponible__nombre {
  font-size: 1.6rem;
  color: #000000;
  margin: 0.5rem 0;
}
@media (min-width: 480px) {
  .producto-disponible__nombre {
    font-size: 1.4rem;
  }
}

.producto-disponible__badge {
  background-color: #96C941;
  color: #ffffff;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-size: 1.2rem;
  font-weight: 700;
}
@media (min-width: 480px) {
  .producto-disponible__badge {
    align-self: flex-start;
  }
}

.pedido-plantilla__header {
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  padding: 2rem;
  margin-bottom: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
}
@media (min-width: 768px) {
  .pedido-plantilla__header {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (min-width: 480px) {
  .pedido-plantilla__header {
    padding: 1.5rem;
  }
}

.pedido-plantilla__info {
  flex: 1;
}

.pedido-plantilla__nombre {
  font-size: 2.5rem;
  color: #000000;
  margin: 0 0 1rem 0;
}
@media (min-width: 768px) {
  .pedido-plantilla__nombre {
    font-size: 2.2rem;
  }
}
@media (min-width: 480px) {
  .pedido-plantilla__nombre {
    font-size: 2rem;
  }
}

.pedido-plantilla__descripcion {
  color: #1e293b;
  font-size: 1.4rem;
  margin: 0;
}
@media (min-width: 480px) {
  .pedido-plantilla__descripcion {
    font-size: 1.3rem;
  }
}

.pedido-plantilla__stats {
  display: flex;
  gap: 2rem;
}
@media (min-width: 480px) {
  .pedido-plantilla__stats {
    width: 100%;
    justify-content: space-around;
    gap: 1rem;
  }
}
.pedido-plantilla__stats .stat {
  text-align: center;
  padding: 1rem 2rem;
  background-color: #96C941;
  color: #ffffff;
  border-radius: 0.8rem;
}
@media (min-width: 480px) {
  .pedido-plantilla__stats .stat {
    padding: 0.8rem 1.5rem;
  }
}
.pedido-plantilla__stats .stat__numero {
  display: block;
  font-size: 3rem;
  font-weight: 700;
}
@media (min-width: 480px) {
  .pedido-plantilla__stats .stat__numero {
    font-size: 2.5rem;
  }
}
.pedido-plantilla__stats .stat__label {
  display: block;
  font-size: 1.2rem;
  text-transform: uppercase;
}
@media (min-width: 480px) {
  .pedido-plantilla__stats .stat__label {
    font-size: 1rem;
  }
}

.pedido-plantilla__instrucciones {
  background-color: rgb(248.7602459016, 251.7909836066, 243.7090163934);
  border-left: 4px solid #96C941;
  padding: 1.5rem;
  border-radius: 0.5rem;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 480px) {
  .pedido-plantilla__instrucciones {
    padding: 1rem;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }
}
.pedido-plantilla__instrucciones i {
  color: #96C941;
  font-size: 2rem;
}
@media (min-width: 480px) {
  .pedido-plantilla__instrucciones i {
    font-size: 1.8rem;
  }
}
.pedido-plantilla__instrucciones p {
  margin: 0;
  color: #1e293b;
  font-size: 1.4rem;
}
@media (min-width: 480px) {
  .pedido-plantilla__instrucciones p {
    font-size: 1.3rem;
  }
}

.pedido-plantilla__vacio {
  text-align: center;
  padding: 6rem 2rem;
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
}
@media (min-width: 480px) {
  .pedido-plantilla__vacio {
    padding: 4rem 1.5rem;
  }
}
.pedido-plantilla__vacio i {
  font-size: 8rem;
  color: #e2e8f0;
  margin-bottom: 2rem;
}
@media (min-width: 480px) {
  .pedido-plantilla__vacio i {
    font-size: 5rem;
    margin-bottom: 1.5rem;
  }
}
.pedido-plantilla__vacio p {
  font-size: 1.8rem;
  color: #1e293b;
  margin-bottom: 2rem;
}
@media (min-width: 480px) {
  .pedido-plantilla__vacio p {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
  }
}

.productos-pedido__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .productos-pedido__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .productos-pedido__grid {
    grid-template-columns: repeat(7, 1fr);
    gap: 2rem;
  }
}

.producto-card {
  background-color: #ffffff;
  border: 2px solid #e2e8f0;
  border-radius: 1rem;
  overflow: hidden;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
}
@media (hover: hover) {
  .producto-card:hover {
    border-color: #96C941;
    box-shadow: 0 0.8rem 1.6rem rgba(122.4795081967, 167.4180327869, 47.5819672131, 0.2);
    transform: translateY(-0.5rem);
  }
}

.producto-card__imagen {
  height: 12rem;
  background: linear-gradient(135deg, #96C941 0%, rgb(182.9200819672, 217.9303278689, 124.5696721311) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.producto-card__imagen i {
  font-size: 5rem;
  color: rgba(255, 255, 255, 0.3);
}

.producto-card__contenido {
  padding: 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.producto-card__nombre {
  font-size: 1.6rem;
  color: #000000;
  margin-bottom: 1.5rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.3;
}
@media (min-width: 480px) {
  .producto-card__nombre {
    font-size: 1.5rem;
  }
}

.producto-card__controles {
  margin-top: auto;
}

.cantidad-control {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background-color: #e2e8f0;
  border-radius: 0.8rem;
  padding: 0.5rem;
  width: 100%;
}

.cantidad-control__btn {
  background-color: #96C941;
  color: #ffffff;
  border: none;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  flex-shrink: 0;
}
@media (min-width: 480px) {
  .cantidad-control__btn {
    width: 3.5rem;
    height: 3.5rem;
    font-size: 1.4rem;
  }
}
@media (hover: hover) {
  .cantidad-control__btn:hover {
    background-color: rgb(122.4795081967, 167.4180327869, 47.5819672131);
    transform: scale(1.1);
  }
}
.cantidad-control__btn:active {
  transform: scale(0.95);
}

.cantidad-control__input {
  flex: 1;
  text-align: center;
  border: 2px solid #e2e8f0;
  background-color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  padding: 0.5rem;
  border-radius: 0.5rem;
  min-width: 0;
}
@media (min-width: 480px) {
  .cantidad-control__input {
    font-size: 1.4rem;
    padding: 0.5rem;
  }
}
.cantidad-control__input:focus {
  outline: none;
  border-color: #96C941;
}
.cantidad-control__input::-webkit-inner-spin-button, .cantidad-control__input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.pedido-resumen {
  background-color: #ffffff;
  border: 2px solid #96C941;
  border-radius: 1rem;
  padding: 2rem;
  margin-bottom: 2rem;
}
@media (min-width: 480px) {
  .pedido-resumen {
    padding: 1.5rem;
    border-radius: 0.8rem;
  }
}

.pedido-resumen__fila {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid #e2e8f0;
}
.pedido-resumen__fila:last-child {
  border-bottom: none;
}
.pedido-resumen__fila--total {
  border-top: 2px solid #96C941;
  padding-top: 1.5rem;
  margin-top: 0.5rem;
}
.pedido-resumen__fila--total .pedido-resumen__label {
  font-size: 2rem;
  font-weight: 700;
}
@media (min-width: 480px) {
  .pedido-resumen__fila--total .pedido-resumen__label {
    font-size: 1.8rem;
  }
}
.pedido-resumen__fila--total .pedido-resumen__valor {
  font-size: 2.5rem;
  color: #96C941;
}
@media (min-width: 480px) {
  .pedido-resumen__fila--total .pedido-resumen__valor {
    font-size: 2.2rem;
  }
}

.pedido-resumen__label {
  font-size: 1.6rem;
  color: #1e293b;
}
@media (min-width: 480px) {
  .pedido-resumen__label {
    font-size: 1.4rem;
  }
}

.pedido-resumen__valor {
  font-size: 1.8rem;
  font-weight: 700;
  color: #000000;
}
@media (min-width: 480px) {
  .pedido-resumen__valor {
    font-size: 1.6rem;
  }
}

.pedido-plantilla__acciones {
  display: flex;
  gap: 2rem;
  justify-content: center;
}
@media (min-width: 768px) {
  .pedido-plantilla__acciones {
    flex-direction: column;
  }
}
@media (min-width: 480px) {
  .pedido-plantilla__acciones {
    gap: 1.5rem;
  }
}

.pedido-plantilla__submit {
  background-color: #96C941;
  color: #ffffff;
  padding: 1.5rem 4rem;
  border: none;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 0.5rem;
  transition: background-color 0.3s ease;
  text-align: center;
  display: inline-block;
  cursor: pointer;
}
.pedido-plantilla__submit:hover {
  background-color: rgb(122.4795081967, 167.4180327869, 47.5819672131);
}
.pedido-plantilla__submit {
  width: auto;
  align-self: flex-end;
  margin-top: 1.2rem;
}
.pedido-plantilla__submit--registrar, .pedido-plantilla__submit--full {
  width: 100%;
  margin-top: 1.5rem;
}
.pedido-plantilla__submit--agregar {
  display: flex;
  justify-content: flex-end;
}

.alerta--flotante {
  position: fixed;
  top: 2rem;
  right: 2rem;
  z-index: 2000;
  min-width: 30rem;
  opacity: 0;
  transform: translateX(40rem);
  transition: all 0.3s ease;
  box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.2);
}
@media (min-width: 480px) {
  .alerta--flotante {
    top: 1rem;
    right: 1rem;
    left: 1rem;
    min-width: auto;
    width: auto;
    transform: translateY(-10rem);
  }
  .alerta--flotante.alerta--visible {
    transform: translateY(0);
  }
}
.alerta--flotante.alerta--visible {
  opacity: 1;
  transform: translateX(0);
}
@media (min-width: 768px) {
  .alerta--flotante {
    right: 1rem;
    left: 1rem;
    min-width: auto;
  }
}

.sugerencias-autocomplete {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 260px;
  max-width: 350px;
  width: -moz-max-content;
  width: max-content;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  z-index: 1000;
  max-height: 220px;
  overflow-y: auto;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

.sugerencias-autocomplete.visible {
  opacity: 1;
  pointer-events: auto;
}

/* Asegura que el contenedor padre del input tenga position: relative para el posicionamiento absoluto */
.pedido-detalle__agregar-producto {
  position: relative;
}

.sugerencia-autocomplete {
  padding: 0.7em 1em;
  cursor: pointer;
  transition: background 0.15s;
  font-size: 1.05em;
}

.sugerencia-autocomplete:hover, .sugerencia-autocomplete.active {
  background: #f0f4fa;
}
/*# sourceMappingURL=app.css.map */
