:root {
    --rosa-claro: #fbe7ec;
    --rosa-principal: #df7595;
    --rosa-fuerte: #ec4775;
    --dorado: #b98b55;
    --blanco: #ffffff;
    --fondo: #fffafa;
    --texto: #30272a;
    --texto-suave: #6f6467;
    --borde: #eedfe3;
}

html {
    scroll-behavior: smooth;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    min-height: 100vh;
    background: var(--fondo);
    color: var(--texto);
    font-family: Arial, Helvetica, sans-serif;
}

button,
input {
    font: inherit;
}

button {
    -webkit-tap-highlight-color: transparent;
}

.barra-informacion {
    min-height: 32px;
    padding: 8px 12px;
    background: var(--rosa-claro);
    color: #55474b;
    font-size: 12px;
    line-height: 16px;
    text-align: center;
}

.cabecera {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 82px;
    padding: 7px 13px;
    background: var(--blanco);
    border-bottom: 1px solid var(--borde);
}

.marca {
    display: flex;
    align-items: center;
    gap: 3px;
    width: 210px;
    height: 64px;
    overflow: visible;
    text-decoration: none;
}

.marca img {
    display: block;
    width: 68px;
    height: 68px;
    object-fit: contain;
    flex-shrink: 0;
}

.nombre-marca {
    color: #b57a38;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1.2px;
    line-height: 1;
    white-space: nowrap;
}

.acciones {
    display: flex;
    align-items: center;
    gap: 3px;
}

.boton-icono {
    position: relative;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.boton-icono:active {
    background: var(--rosa-claro);
}

.boton-icono svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: var(--texto);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.contador {
    position: absolute;
    top: 0;
    right: 0;
    display: grid;
    place-items: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 10px;
    background: var(--rosa-fuerte);
    color: var(--blanco);
    font-size: 11px;
    font-weight: 700;
}

.buscador {
    position: relative;
    padding: 12px 14px 17px;
    background: var(--blanco);
}

.buscador svg {
    position: absolute;
    top: 30px;
    left: 31px;
    width: 21px;
    height: 21px;
    fill: none;
    stroke: #7d7174;
    stroke-width: 1.8;
    stroke-linecap: round;
}

.buscador input {
    width: 100%;
    height: 54px;
    padding: 0 18px 0 49px;
    border: 1px solid var(--borde);
    border-radius: 27px;
    outline: none;
    background: #fffdfd;
    color: var(--texto);
    font-size: 15px;
}

.buscador input::placeholder {
    color: #918689;
}

.buscador input:focus {
    border-color: var(--rosa-principal);
    box-shadow: 0 0 0 3px rgba(223, 117, 149, 0.13);
}

.contenido {
    min-height: 300px;
    padding: 18px 14px;
}

/* La página se diseña para celular.
   En computador solo la centramos para poder revisarla. */

@media (min-width: 600px) {
    body {
        max-width: 430px;
        margin: 0 auto;
        box-shadow: 0 0 30px rgba(45, 35, 38, 0.10);
    }
}

/* SECCIÓN DE CATEGORÍAS */

.contenido-principal {
    padding: 10px 22px 100px;
}

.categorias {
    margin-top: 8px;
}

.categorias h1 {
    margin: 0 0 18px;
    color: #4f4245;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
}

.categorias-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
}

.categoria-card {
    overflow: hidden;
    background-color: #ffffff;
    border: 1px solid #eadfe2;
    border-radius: 18px;
    color: #745f63;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(76, 55, 60, 0.06);
}

.categoria-imagen {
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;

    background-color: #fff8f8;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.categoria-card span {
    display: block;
    padding: 12px 6px 13px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    letter-spacing: 0.4px;
}

/* =========================
   NUEVOS INGRESOS
========================= */

.nuevos-ingresos {
    padding: 22px 0 30px;
}

.seccion-encabezado {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.seccion-encabezado h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: normal;
    color: #4f4245;
}

.seccion-encabezado a {
    font-size: 13px;
    color: #b58a55;
    text-decoration: none;
}

.productos-scroll {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 8px;
    scroll-behavior: smooth;
}

.productos-scroll::-webkit-scrollbar {
    display: none;
}

.producto-card {
    min-width: 135px;
    background: #ffffff;
    border: 1px solid #eadfe1;
    border-radius: 14px;
    overflow: hidden;
    flex-shrink: 0;
}

.producto-imagen {
    position: relative;

    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;

    background-color: #fff4f5;
    background-repeat: no-repeat;
}

.producto-favorito {
    position: absolute;
    top: 9px;
    right: 9px;

    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    background: rgba(255, 250, 250, 0.92);
    border: 1px solid #eadfe1;
    border-radius: 50%;

    color: #b58a55;

    font-size: 19px;
    line-height: 1;

    cursor: pointer;

    box-shadow: 0 3px 8px rgba(76, 55, 60, 0.08);
}

.producto-favorito.activo {
    background: #fff1f3;
    border-color: #e7c8cf;
    color: #c06f82;

    box-shadow: 0 3px 8px rgba(91, 71, 76, 0.08);
}

.producto-info {
    padding: 10px 11px 12px;
}

.producto-info h3 {
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: normal;
    color: #745f63;
}

.producto-precio {
    margin: 0;

    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;

    font-size: 15px;
    font-weight: bold;
    color: #5b474c;
}


/* =========================
   PRECIO EN OFERTA
========================= */

.producto-precio-anterior {
    color: #9b8d8a;

    font-size: 12px;
    font-weight: 500;

    text-decoration: line-through;
    text-decoration-thickness: 1px;
}


.producto-precio-oferta {
    color: #a84f4f;

    font-size: 15px;
    font-weight: 700;
}


.producto-precio-normal {
    color: #5b474c;

    font-size: 15px;
    font-weight: 700;
}

/* Los más elegidos - tarjetas más compactas */

.mas-elegidos {
    padding: 10px 0 30px;
}

.mas-elegidos .producto-card {
    width: 125px;
    min-width: 125px;

    background: #ffffff;
    border: 1px solid #eee2e4;
    border-radius: 16px;

    overflow: hidden;

    box-shadow:
        0 4px 10px rgba(76, 55, 60, 0.06);
}

.mas-elegidos .producto-imagen {
    aspect-ratio: 1 / 1;
    height: auto;
}

.mas-elegidos .producto-info {
    padding: 9px 10px 11px;
}

.mas-elegidos .producto-info h3 {
    margin-bottom: 5px;
    font-size: 13px;
    line-height: 1.25;
}

.mas-elegidos .producto-precio {
    font-size: 14px;
}

/* =========================
   PROMOCIÓN DESTACADA
========================= */

.promocion-destacada {
    margin: 22px 0 30px;
    padding: 0;
}

.promocion-contenido {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(244, 220, 223, 0.55) 0%, rgba(244, 220, 223, 0) 34%),
        radial-gradient(circle at bottom right, rgba(244, 220, 223, 0.55) 0%, rgba(244, 220, 223, 0) 34%),
        linear-gradient(135deg, #fff7f8 0%, #fffdfd 50%, #fff7f8 100%);
    border: 1px solid #ead4b0;
    border-radius: 22px;
    padding: 26px 20px 28px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(120, 90, 95, 0.07);
}

/* Ondas decorativas de las esquinas */

.promocion-contenido::before,
.promocion-contenido::after {
    content: "";
    position: absolute;
    width: 210px;
    height: 120px;
    pointer-events: none;
    opacity: 0.65;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 210 120'%3E%3Cpath d='M-20 45 C35 5 65 70 115 30 S185 25 230 -10' fill='none' stroke='%23e5c19d' stroke-width='1'/%3E%3Cpath d='M-15 65 C40 25 70 90 125 48 S190 45 230 5' fill='none' stroke='%23eed8db' stroke-width='1.2'/%3E%3Cpath d='M-10 85 C45 45 80 105 135 67 S195 65 230 30' fill='none' stroke='%23e8c9cc' stroke-width='1'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
}

.promocion-contenido::before {
    top: -8px;
    left: -18px;
}

.promocion-contenido::after {
    right: -18px;
    bottom: -8px;
    transform: rotate(180deg);
}

.promocion-etiqueta {
    position: relative;
    display: inline-block;
    margin-bottom: 12px;
    padding: 0 18px;
    font-size: 12px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #b8945e;
    z-index: 2;
}

.promocion-etiqueta::before,
.promocion-etiqueta::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 34px;
    height: 1px;
    background: #e7d4b7;
    transform: translateY(-50%);
}

.promocion-etiqueta::before {
    left: -24px;
}

.promocion-etiqueta::after {
    right: -24px;
}

.promocion-contenido h2 {
    position: relative;
    margin: 0 0 14px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1.12;
    font-weight: normal;
    color: #b8945e;
    z-index: 2;
}

.promocion-contenido p {
    position: relative;
    max-width: 270px;
    margin: 0 auto 18px;
    font-size: 15px;
    line-height: 1.5;
    color: #5c5558;
    z-index: 2;
}

.promocion-boton {
    position: relative;
    display: inline-block;
    padding: 12px 24px;
    min-width: 170px;
    background: linear-gradient(135deg, #d7b173 0%, #c79b59 100%);
    color: #ffffff;
    text-decoration: none;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    box-shadow: 0 4px 10px rgba(183, 138, 85, 0.22);
    z-index: 2;
}

.promocion-boton:hover {
    opacity: 0.96;
}

/* =========================
   OPINIONES DE CLIENTAS
========================= */

.opiniones-clientas {
    padding: 6px 0 30px;
}

.opiniones-clientas .seccion-encabezado {
    margin-bottom: 14px;
}

.opiniones-clientas .seccion-encabezado h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: normal;
    color: #3f3033;
}

.opiniones-scroll {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 8px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
}

.opiniones-scroll::-webkit-scrollbar {
    display: none;
}

.opinion-card {
    width: 225px;
    min-width: 225px;
    min-height: 175px;
    padding: 16px;
    background: #ffffff;
    border: 1px solid #eadfe1;
    border-radius: 16px;
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    scroll-snap-align: start;
}

.opinion-estrellas {
    margin-bottom: 9px;
    color: #b98a4a;
    font-size: 15px;
    letter-spacing: 1px;
}

.opinion-texto {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.45;
    color: #6b595e;
}

.opinion-cliente {
    display: flex;
    align-items: center;
    gap: 10px;
}

.opinion-inicial {
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 50%;
    background: #fff1f3;
    color: #b58a55;

    display: flex;
    align-items: center;
    justify-content: center;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    font-weight: bold;
}

.opinion-cliente strong {
    display: block;
    font-size: 13px;
    color: #5b474c;
}

.opinion-cliente small {
    display: block;
    margin-top: 2px;
    font-size: 11px;
    color: #9a7f85;
}

/* =========================
   CONTROLES DE CARRUSEL
========================= */

.carrusel-controles {
    display: flex;
    justify-content: center;
    align-items: center;

    gap: 10px;
    margin-top: 10px;
}

.carrusel-flecha {
    appearance: none;

    width: 34px;
    height: 34px;
    padding: 0 0 2px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(145deg,
            #ffffff 0%,
            #fff8f5 100%);

    border: 1px solid #d9b980;
    border-radius: 50%;

    color: #9d7138;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    line-height: 1;

    cursor: pointer;

    box-shadow:
        0 3px 8px rgba(91, 71, 76, 0.07),
        inset 0 0 0 3px #ffffff,
        inset 0 0 0 4px rgba(217, 185, 128, 0.18);

    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

.carrusel-flecha:active {
    transform: scale(0.93);

    box-shadow:
        0 1px 4px rgba(91, 71, 76, 0.06),
        inset 0 0 0 3px #ffffff,
        inset 0 0 0 4px rgba(217, 185, 128, 0.24);
}


/* =========================
   INFORMACIÓN DE LA TIENDA
========================= */

.info-tienda {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 0 0 32px;
}

.info-item {
    background: #ffffff;
    border: 1px solid #eadfe1;
    border-radius: 16px;
    box-shadow: 0 4px 10px rgba(76, 55, 60, 0.05);
    padding: 15px 12px;

    display: flex;
    align-items: center;
    gap: 10px;
}

.info-icono {
    width: 36px;
    height: 36px;
    min-width: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff8f6;
    border: 1px solid #ead7bd;
    border-radius: 50%;

    color: #a97d43;

    box-shadow: 0 2px 6px rgba(91, 71, 76, 0.05);
}

.info-icono i {
    font-size: 18px;
    line-height: 1;
}

.info-item h3 {
    margin: 0 0 5px;
    font-size: 13px;
    font-weight: 600;
    color: #5b474c;
}

.info-item p {
    margin: 0;
    font-size: 11px;
    line-height: 1.45;
    color: #806f73;
}

/* =========================
   NAVEGACIÓN INFERIOR
========================= */

body {
    padding-bottom: 100px;
}

.nav-inferior {
    position: fixed;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);

    width: min(100%, 390px);
    height: 64px;

    display: grid;
    grid-template-columns:
        1fr 1fr 58px 1fr 1fr;

    align-items: center;

    background: #ffffff;
    border-top: 1px solid #eadfe1;
    box-shadow: 0 -4px 16px rgba(80, 60, 65, 0.08);

    z-index: 1000;
}


/* BOTONES NORMALES */

.nav-item {
    height: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;

    color: #9b8c8f;
    text-decoration: none;
    font-size: 10px;

    position: relative;
    z-index: 1003;
}

.nav-item i {
    font-size: 21px;
}

.nav-item.activo {
    color: #a97d43;
    font-weight: 600;
}

.nav-item:active {
    background: #fff5f6;
}


/* ESPACIO CENTRAL */

.nav-live-espacio {
    width: 58px;
    height: 100%;
}


/* =========================
   BOTÓN TIKTOK LIVE
========================= */

.nav-live-tiktok {
    position: absolute;

    left: 50%;
    top: -11px;
    transform: translateX(-50%);

    width: 58px;
    height: 58px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 1px;

    background: #f9eef0;

    border: 1.5px solid #d8b067;
    border-radius: 17px;

    color: #745f63;
    text-decoration: none;

    box-shadow:
        0 0 0 3px #ffffff,
        0 4px 10px rgba(80, 60, 65, 0.10);

    z-index: 1002;
}


/* ICONO TIKTOK */

.nav-live-tiktok i {
    font-size: 23px;
    line-height: 1;
    position: relative;
    z-index: 3;
}


/* TEXTO EN VIVO */

.nav-live-tiktok>span:last-child {
    margin-top: 1px;

    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.3px;

    color: #745f63;

    position: relative;
    z-index: 3;
}


/* PUNTO ROJO */

.nav-live-punto {
    position: absolute;

    top: 7px;
    right: 8px;

    width: 6px;
    height: 6px;

    background: #ff3d57;
    border-radius: 50%;

    box-shadow:
        0 0 0 2px rgba(255, 61, 87, 0.12);

    z-index: 4;
}


/* EFECTO AL TOCAR */

.nav-live-tiktok:active {
    transform:
        translateX(-50%) scale(0.96);
}

/* PARTE SUPERIOR */

.producto-detalle-superior {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 10px 16px 0;

    margin-bottom: 14px;
}

.producto-volver {
    min-height: 36px;

    display: inline-flex;
    align-items: center;
    gap: 3px;

    padding: 0 10px 0 6px;

    border: 1px solid #eadfe1;
    border-radius: 999px;

    background: #ffffff;
    color: #66585c;

    text-decoration: none;
    font-size: 13px;
    font-weight: 500;

    box-shadow: 0 2px 8px rgba(76, 55, 60, 0.05);

    -webkit-tap-highlight-color: transparent;
}

.producto-volver i {
    font-size: 21px;
    color: #b58a55;
}

.producto-volver:active {
    transform: scale(0.97);
}

.producto-acciones-superiores {
    display: flex;
    align-items: center;
    gap: 10px;
}

.producto-icono-superior {
    position: relative;

    width: 36px;
    height: 36px;
    flex: 0 0 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid #eadfe1;
    border-radius: 50%;

    background: #ffffff;
    color: #b58a55;

    font-size: 20px;
    cursor: pointer;
}


/* CORREGIR FAVORITO DE LA FICHA */

.producto-acciones-superiores .producto-favorito {
    position: relative;
    top: auto;
    right: auto;
}


/* =========================
   GALERÍA DEL PRODUCTO
========================= */

.producto-galeria {
    width: 100%;

    display: flex;
    flex-direction: column;

    gap: 12px;
}


/* =========================
   IMAGEN PRINCIPAL
========================= */

.producto-detalle-imagen {
    width: calc(100% - 32px);
    margin: 0 auto;

    aspect-ratio: 1 / 1;

    position: relative;
    overflow: hidden;

    border: 1px solid #eadfe1;
    border-radius: 22px;

    background-color: #fff7f8;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 100%;

    box-shadow: 0 7px 20px rgba(76, 55, 60, 0.08);

    touch-action: pan-y;
}

.producto-detalle-imagen img {
    display: none;
}


/* =========================
   CAPAS DEL CARRUSEL
========================= */

.producto-slide {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;

    transform: translateX(0);
    transition: transform 0.32s ease;

    will-change: transform;
}


/* =========================
   MOVIMIENTO DEL CARRUSEL
========================= */

.producto-slide-entra-derecha {
    transform: translateX(100%);
}

.producto-slide-entra-izquierda {
    transform: translateX(-100%);
}

.producto-slide-centro {
    transform: translateX(0);
}

.producto-slide-sale-izquierda {
    transform: translateX(-100%);
}

.producto-slide-sale-derecha {
    transform: translateX(100%);
}


/* =========================
   CONTROLES DEL CARRUSEL
========================= */

.producto-carrusel-controles {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 16px;

    min-height: 40px;
}


/* =========================
   FLECHAS DEL CARRUSEL
========================= */

.producto-carrusel-flecha {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid #e3d3d6;
    border-radius: 50%;

    background: #ffffff;
    color: #a97d43;

    font-size: 24px;
    line-height: 1;

    cursor: pointer;

    box-shadow:
        0 3px 9px rgba(76, 55, 60, 0.07);

    -webkit-tap-highlight-color: transparent;
}

.producto-carrusel-flecha i {
    line-height: 1;
}

.producto-carrusel-flecha:active {
    transform: scale(0.93);
}


/* =========================
   CONTADOR DEL CARRUSEL
========================= */

.producto-carrusel-contador {
    min-width: 42px;

    text-align: center;

    color: #74666a;

    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.4px;
}


/* SI SOLO HAY UNA IMAGEN */

.producto-carrusel-flecha:disabled {
    opacity: 0.28;
    pointer-events: none;
}


/* INFORMACIÓN */

.producto-detalle-info {
    padding: 10px 4px 0;
}

.producto-detalle-categoria {
    display: inline-block;

    margin-bottom: 6px;

    color: #ad8048;

    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

.producto-detalle-info h1 {
    margin: 0 0 7px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: normal;
    line-height: 1.15;

    letter-spacing: -0.2px;

    color: #463638;
}


/* PRECIO + STOCK */

.producto-precio-stock {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;
    margin-bottom: 8px;
}

.producto-detalle-precio {
    margin: 0;

    font-family: Arial, sans-serif;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.2;

    letter-spacing: -0.2px;

    color: #463638;
}

.producto-detalle-stock {
    display: flex;
    align-items: center;
    gap: 4px;

    margin: 0;

    font-size: 12px;
    color: #66806a;
}

.producto-detalle-stock i {
    font-size: 16px;
}

/* VER DESCRIPCIÓN */

.producto-ver-descripcion {
    width: fit-content;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;

    margin: 0 auto 4px;

    color: #a77d49;
    text-decoration: none;

    font-size: 11px;
    font-weight: 500;
}

.producto-ver-descripcion i {
    font-size: 16px;
}

/* CANTIDAD */

.producto-cantidad {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 10px 0;
    border-top: 1px solid #eee3e5;
}

.producto-cantidad>span {
    font-size: 14px;
    color: #3f3033;
}

.cantidad-controles {
    display: flex;
    align-items: center;

    height: 36px;

    overflow: hidden;

    background: #ffffff;
    border: 1px solid #e5d7d9;
    border-radius: 999px;
}

.cantidad-controles button {
    width: 38px;
    height: 36px;

    padding: 0;
    border: 0;

    background: transparent;
    color: #a97d43;

    font-size: 18px;
    cursor: pointer;
}

.cantidad-numero {
    min-width: 30px;

    text-align: center;

    font-size: 14px;
    color: #3f3033;
}


/* AGREGAR AL CARRITO */

.producto-agregar-carrito {
    width: 100%;
    height: 48px;

    margin-top: 8px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    border: 0;
    border-radius: 999px;

    background: linear-gradient(135deg, #d7b173 0%, #c79b59 100%);

    color: #ffffff;

    font-size: 14px;
    font-weight: 600;

    box-shadow: 0 5px 14px rgba(183, 138, 85, 0.22);

    cursor: pointer;
}

.producto-agregar-carrito i {
    font-size: 18px;
}

.producto-agregar-carrito:active {
    transform: scale(0.98);
}


/* COMPRA SEGURA */

.producto-compra-segura {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;

    margin-top: 9px;

    font-size: 11px;
    color: #7f7376;
}

.producto-compra-segura i {
    color: #b58a55;
    font-size: 14px;
}


/* DESCRIPCIÓN */

.producto-detalle-descripcion {
    margin-top: 18px;
    padding-top: 17px;

    border-top: 1px solid #eee3e5;
}

.producto-detalle-descripcion h2 {
    margin: 0 0 8px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    font-weight: normal;

    color: #3f3033;
}

.producto-detalle-descripcion p {
    margin: 0;

    font-size: 14px;
    line-height: 1.5;

    color: #6f6366;
}

/* =========================
   TAMBIÉN TE PUEDE GUSTAR
========================= */

.producto-relacionados {
    margin-top: 28px;
    padding-top: 22px;

    border-top: 1px solid #eee3e5;
}


/* ENCABEZADO */

.producto-relacionados-encabezado {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    margin-bottom: 14px;
}

.producto-relacionados-encabezado h2 {
    margin: 0;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: normal;

    color: #3f3033;
}

.producto-relacionados-encabezado a {
    flex-shrink: 0;

    color: #a97d43;
    text-decoration: none;

    font-size: 12px;
    font-weight: 600;
}


/* CARRUSEL */

.producto-relacionados-lista {
    gap: 12px;

    padding-bottom: 8px;

    scroll-snap-type: x proximity;
}

.producto-relacionados-lista .producto-card {
    width: 132px;
    min-width: 132px;

    scroll-snap-align: start;
}

button:focus,
a:focus {
    outline: none;
}

button:focus-visible,
a:focus-visible {
    outline: 2px solid #c79b59;
    outline-offset: 2px;
}

/* PRODUCTO AGREGADO */

.producto-agregar-carrito.producto-agregado {
    background: #82927d;
}

/* =========================
   PÁGINA DEL CARRITO
========================= */

.pagina-carrito {
    padding-bottom: 30px;
}

.carrito-contenedor {
    width: 100%;
    max-width: 390px;
    margin: 0 auto;
    padding: 18px 20px 35px;
    box-sizing: border-box;
}


/* PARTE SUPERIOR */

.carrito-superior {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 28px;
}

.carrito-superior h1 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);

    margin: 0;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: normal;

    color: #3f3033;
}

.carrito-volver {
    min-height: 36px;

    display: inline-flex;
    align-items: center;
    gap: 3px;

    padding: 0 10px 0 6px;

    border: 1px solid #eadfe1;
    border-radius: 999px;

    background: #ffffff;
    color: #66585c;

    text-decoration: none;
    font-size: 13px;
    font-weight: 500;

    box-shadow: 0 2px 8px rgba(76, 55, 60, 0.05);
}

.carrito-volver i {
    font-size: 21px;
    color: #b58a55;
}

.carrito-volver:active {
    transform: scale(0.97);
}

.carrito-inicio {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #eadfe1;
    border-radius: 50%;

    background: #ffffff;
    color: #b58a55;

    text-decoration: none;
    font-size: 18px;
}


/* CARRITO VACÍO */

.carrito-vacio {
    padding: 55px 20px;
    text-align: center;
}

.carrito-vacio-icono {
    width: 64px;
    height: 64px;

    margin: 0 auto 16px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #fff1f3;
    color: #b58a55;

    font-size: 29px;
}

.carrito-vacio h2 {
    margin: 0 0 8px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: normal;

    color: #3f3033;
}

.carrito-vacio p {
    max-width: 250px;

    margin: 0 auto 20px;

    font-size: 13px;
    line-height: 1.5;

    color: #8c7d80;
}

.carrito-seguir-comprando {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 150px;
    height: 42px;

    padding: 0 20px;

    border-radius: 999px;

    background: linear-gradient(135deg, #d7b173 0%, #c79b59 100%);

    color: #ffffff;

    text-decoration: none;
    font-size: 13px;
    font-weight: 600;

    box-shadow: 0 4px 12px rgba(183, 138, 85, 0.20);
}


/* PRODUCTOS */

.carrito-productos {
    display: flex;
    flex-direction: column;
    gap: 12px;
}


/* RESUMEN */

.carrito-resumen {
    margin-top: 22px;
    padding: 20px;

    background: #ffffff;

    border: 1px solid #eadfe1;
    border-radius: 18px;
}

.carrito-resumen h2 {
    margin: 0 0 18px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: normal;

    color: #3f3033;
}

.carrito-resumen-linea {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 12px;

    font-size: 13px;
    color: #6f6366;
}

.carrito-resumen-linea strong {
    color: #3f3033;
}

.carrito-resumen-linea.envio span:last-child {
    color: #9b8c8f;
}


/* TOTAL */

.carrito-total {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: 16px;
    padding-top: 16px;

    border-top: 1px solid #eee3e5;

    font-size: 16px;
    color: #3f3033;
}

.carrito-total strong {
    font-size: 20px;
}


/* BOTÓN CONTINUAR */

.carrito-continuar {
    width: 100%;
    height: 48px;

    margin-top: 20px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    border: 0;
    border-radius: 999px;

    background: linear-gradient(135deg, #d7b173 0%, #c79b59 100%);

    color: #ffffff;

    font-size: 14px;
    font-weight: 600;

    box-shadow: 0 5px 14px rgba(183, 138, 85, 0.22);

    cursor: pointer;
}

.carrito-continuar i {
    font-size: 18px;
}

.carrito-seguir-link {
    display: block;

    margin-top: 14px;

    text-align: center;
    text-decoration: none;

    font-size: 12px;
    color: #a97d43;
}

/* =========================
   PRODUCTOS DEL CARRITO
========================= */

.carrito-producto {
    display: flex;
    gap: 12px;

    padding: 12px;

    background: #ffffff;
    border: 1px solid #eadfe1;
    border-radius: 16px;
}

.carrito-producto-imagen {
    width: 92px;
    height: 92px;
    min-width: 92px;

    overflow: hidden;

    border-radius: 12px;
    background: #fff1f3;
}

.carrito-producto-imagen img {
    width: 100%;
    height: 100%;

    display: block;
    object-fit: cover;
}

.carrito-producto-info {
    flex: 1;
    min-width: 0;
}

.carrito-producto-superior {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.carrito-producto-superior h3 {
    margin: 2px 0 5px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
    font-weight: normal;

    color: #3f3033;
}

.carrito-eliminar {
    padding: 2px;

    border: 0;
    background: transparent;

    color: #a9979a;
    font-size: 19px;

    cursor: pointer;
}

.carrito-producto-precio {
    margin: 0 0 12px;

    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;

    font-size: 14px;
    font-weight: 600;
}

.carrito-precio-anterior {
    color: #9b8d8a;
    font-size: 12px;
    font-weight: 500;

    text-decoration: line-through;
    text-decoration-thickness: 1px;
}

.carrito-precio-oferta {
    color: #a84f4f;
    font-size: 14px;
    font-weight: 700;
}

.carrito-precio-normal {
    color: #5b474c;
    font-size: 14px;
    font-weight: 600;
}

.carrito-producto-inferior {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.carrito-cantidad {
    display: flex;
    align-items: center;

    height: 31px;

    overflow: hidden;

    border: 1px solid #e5d7d9;
    border-radius: 999px;
}

.carrito-cantidad button {
    width: 30px;
    height: 31px;

    padding: 0;
    border: 0;

    background: transparent;
    color: #a97d43;

    font-size: 16px;
    cursor: pointer;
}

.carrito-cantidad span {
    min-width: 25px;

    text-align: center;

    font-size: 12px;
    color: #3f3033;
}

.carrito-producto-subtotal {
    font-size: 13px;
    color: #3f3033;
}

.producto-carrito-superior {
    text-decoration: none;
}

/* =========================
   CONTADOR DEL CARRITO
========================= */

.nav-icono-carrito {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contador-carrito {
    position: absolute;

    min-width: 16px;
    width: 16px;
    height: 16px;
    padding: 1px 0 0;

    box-sizing: border-box;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #c79b59;
    color: #ffffff;

    border: 2px solid #ffffff;
    border-radius: 50%;

    font-family: Arial, sans-serif;
    font-size: 9px;
    font-weight: bold;
    line-height: 1;
}

.producto-carrito-superior {
    position: relative;
    text-decoration: none;
}

.contador-carrito-superior {
    top: -4px;
    right: -5px;
}

/* =========================
   ICONOS DE LA CABECERA
========================= */

.acciones {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cabecera-icono {
    position: relative;

    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;
    border: 0;

    background: transparent;
    color: #5c5558;

    text-decoration: none;
    cursor: pointer;

    -webkit-tap-highlight-color: transparent;
}

.cabecera-icono i {
    width: 22px;
    height: 22px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 22px;
    line-height: 22px;
}

.cabecera-icono .bx-heart {
    transform: translateY(1px);
}

.cabecera-icono .bx-shopping-bag {
    transform: translateY(0);
}

.cabecera-icono:active {
    color: #b58a55;
}


/* CONTADOR SUPERIOR */

.contador-carrito-cabecera {
    top: -4px;
    right: -5px;
}

/* CONTADOR DEL CARRITO INFERIOR */

.nav-icono-carrito .contador-carrito {
    top: -7px;
    right: -10px;

    width: 16px;
    min-width: 16px;
    height: 16px;

    padding: 1px 0 0;
}


/* CONTADOR DEL CARRITO DE LA CABECERA */

.contador-carrito-cabecera {
    top: -4px;
    right: -5px;

    width: 16px;
    min-width: 16px;
    height: 16px;

    padding: 1px 0 0;
}

/* =========================
   CHECKOUT
========================= */

.pagina-checkout {
    padding-bottom: 30px;
}

.checkout-contenedor {
    width: 100%;
    max-width: 390px;
    margin: 0 auto;
    padding: 18px 20px 35px;
    box-sizing: border-box;
}


/* PARTE SUPERIOR */

.checkout-superior {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 26px;
}

.checkout-superior h1 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);

    width: 190px;
    margin: 0;

    text-align: center;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: normal;

    color: #3f3033;
}

.checkout-volver {
    display: flex;
    align-items: center;
    gap: 2px;

    color: #5c5558;
    text-decoration: none;
    font-size: 14px;
}

.checkout-volver i {
    font-size: 23px;
    color: #b58a55;
}

.checkout-inicio {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #eadfe1;
    border-radius: 50%;

    background: #ffffff;
    color: #b58a55;

    text-decoration: none;
    font-size: 19px;
}


/* SECCIONES */

.checkout-seccion {
    margin-bottom: 16px;
    padding: 18px;

    background: #ffffff;
    border: 1px solid #eadfe1;
    border-radius: 18px;
}

.checkout-titulo {
    display: flex;
    align-items: flex-start;
    gap: 11px;

    margin-bottom: 18px;
}

.checkout-numero {
    width: 26px;
    height: 26px;
    min-width: 26px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #fff1f3;
    color: #b58a55;

    font-size: 12px;
    font-weight: 600;
}

.checkout-titulo h2 {
    margin: 0 0 3px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    font-weight: normal;

    color: #3f3033;
}

.checkout-titulo p {
    margin: 0;

    font-size: 11px;
    line-height: 1.4;

    color: #9b8c8f;
}


/* CAMPOS */

.checkout-campos {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.checkout-campo {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.checkout-campo label {
    font-size: 12px;
    color: #5c5558;
}

.checkout-campo input {
    width: 100%;
    height: 43px;

    padding: 0 13px;
    box-sizing: border-box;

    border: 1px solid #e5d7d9;
    border-radius: 12px;

    background: #fffdfd;
    color: #3f3033;

    font-size: 13px;
    outline: none;
}

/* TELÉFONO CON +56 FIJO */

.checkout-telefono-grupo {
    display: flex;
    align-items: center;

    width: 100%;
    height: 43px;

    border: 1px solid #e6d9dc;
    border-radius: 12px;

    background: #ffffff;

    overflow: hidden;
}

.checkout-telefono-prefijo {
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 12px;

    border-right: 1px solid #eadfe1;

    color: #7a696d;
    font-size: 13px;
    font-weight: 600;

    background: #fffafa;
}

.checkout-telefono-grupo input {
    flex: 1;

    width: auto;
    height: 100%;

    border: none;
    border-radius: 0;

    background: transparent;

    padding: 0 13px;
}

.checkout-telefono-grupo input:focus {
    box-shadow: none;
}

.checkout-telefono-grupo:focus-within {
    border-color: #d1ad75;
    box-shadow: 0 0 0 2px rgba(199, 155, 89, 0.08);
}

.checkout-campo input::placeholder {
    color: #b0a4a6;
}

.checkout-campo input:focus {
    border-color: #d1ad75;
    box-shadow: 0 0 0 2px rgba(199, 155, 89, 0.08);
}


/* OPCIONES DE ENTREGA */

.checkout-opciones-entrega {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;

    margin-bottom: 16px;
}

.checkout-opcion {
    position: relative;

    min-height: 74px;
    padding: 12px 10px;

    display: flex;
    align-items: center;
    gap: 8px;

    box-sizing: border-box;

    border: 1px solid #eadfe1;
    border-radius: 14px;

    background: #fffdfd;

    cursor: pointer;
}

.checkout-opcion input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkout-opcion-icono {
    width: 31px;
    height: 31px;
    min-width: 31px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #fff1f3;
    color: #b58a55;

    font-size: 17px;
}

.checkout-opcion-texto strong {
    display: block;

    margin-bottom: 2px;

    font-size: 12px;
    color: #3f3033;
}

.checkout-opcion-texto small {
    display: block;

    font-size: 10px;
    color: #9b8c8f;
}


/* OPCIÓN SELECCIONADA */

.checkout-opcion:has(input:checked) {
    border-color: #d4b47f;
    background: #fff9f5;
}

.checkout-opcion:has(input:checked) .checkout-opcion-icono {
    background: #f8ead8;
    color: #a97d43;
}


/* DIRECCIÓN */

.checkout-direccion {
    padding-top: 4px;
}


/* PRODUCTOS DEL RESUMEN */

.checkout-productos {
    display: flex;
    flex-direction: column;
    gap: 10px;

    margin-bottom: 16px;
}


/* RESUMEN */

.checkout-resumen-linea {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 11px;

    font-size: 12px;
    color: #6f6366;
}

.checkout-resumen-linea strong {
    color: #3f3033;
}

.checkout-total {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: 15px;
    padding-top: 15px;

    border-top: 1px solid #eee3e5;

    font-size: 15px;
    color: #3f3033;
}

.checkout-total strong {
    font-size: 20px;
}


/* BOTÓN FINAL */

.checkout-continuar {
    width: 100%;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    border: 0;
    border-radius: 999px;

    background: linear-gradient(135deg, #d7b173 0%, #c79b59 100%);

    color: #ffffff;

    font-size: 14px;
    font-weight: 600;

    box-shadow: 0 5px 14px rgba(183, 138, 85, 0.22);

    cursor: pointer;
}

.checkout-continuar i {
    font-size: 18px;
}

.checkout-continuar:active {
    transform: scale(0.98);
}


/* SEGURIDAD */

.checkout-seguridad {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 5px;

    max-width: 280px;

    margin: 10px auto 0;

    text-align: center;

    font-size: 10px;
    line-height: 1.4;

    color: #9b8c8f;
}

.checkout-seguridad i {
    margin-top: 1px;

    color: #b58a55;
    font-size: 13px;
}

.checkout-campo textarea {
    width: 100%;
    min-height: 78px;

    padding: 11px 13px;
    box-sizing: border-box;

    border: 1px solid #e5d7d9;
    border-radius: 12px;

    background: #fffdfd;
    color: #3f3033;

    font-family: inherit;
    font-size: 13px;
    line-height: 1.4;

    resize: vertical;
    outline: none;
}

.checkout-campo textarea::placeholder {
    color: #b0a4a6;
}

.checkout-campo textarea:focus {
    border-color: #d1ad75;
    box-shadow: 0 0 0 2px rgba(199, 155, 89, 0.08);
}

.campo-opcional {
    font-size: 10px;
    font-weight: normal;
    color: #a99b9d;
}

/* =========================
   PRODUCTOS DEL CHECKOUT
========================= */

.checkout-producto {
    display: flex;
    align-items: center;
    gap: 10px;

    padding-bottom: 10px;
    margin-bottom: 10px;

    border-bottom: 1px solid #f0e7e8;
}

.checkout-producto:last-child {
    margin-bottom: 0;
}

.checkout-producto-imagen {
    width: 52px;
    height: 52px;
    min-width: 52px;

    overflow: hidden;
    border-radius: 10px;

    background: #fff1f3;
}

.checkout-producto-imagen img {
    width: 100%;
    height: 100%;

    display: block;
    object-fit: cover;
}

.checkout-producto-info {
    flex: 1;
    min-width: 0;
}

.checkout-producto-info strong {
    display: block;

    margin-bottom: 3px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    font-weight: normal;

    color: #3f3033;
}

.checkout-producto-info span {
    display: block;

    font-size: 10px;
    color: #9b8c8f;
}

.checkout-producto-precio {
    font-size: 12px;
    font-weight: 600;

    color: #3f3033;
}

/* =========================
   VALIDACIÓN DEL CHECKOUT
========================= */

.checkout-campo.campo-error input,
.checkout-campo.campo-error textarea {
    border-color: #d99a9f;
    background: #fffafa;
}

.checkout-mensaje-error {
    margin-top: -2px;

    font-size: 10px;
    color: #b86f76;
}

/* =========================
   PÁGINA LEGAL
========================= */

.pagina-legal {
    margin: 0;
    background: #fff8f8;
    color: #4f4245;
}

.legal-contenedor {
    width: min(100%, 390px);
    margin: 0 auto;
    padding: 24px 18px 45px;
    box-sizing: border-box;
}


/* VOLVER A LA TIENDA */

.legal-volver {
    display: inline-flex;
    align-items: center;
    gap: 5px;

    margin-bottom: 24px;

    color: #a97d43;
    text-decoration: none;

    font-size: 13px;
    font-weight: 600;
}

.legal-volver i {
    font-size: 20px;
}


/* ENCABEZADO */

.legal-encabezado {
    margin-bottom: 28px;
    text-align: center;
}

.legal-encabezado>span {
    display: block;

    margin-bottom: 7px;

    color: #b58a4d;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.legal-encabezado h1 {
    margin: 0 0 10px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    font-weight: normal;

    color: #4f4245;
}

.legal-encabezado p {
    max-width: 300px;
    margin: 0 auto;

    color: #806f73;

    font-size: 13px;
    line-height: 1.55;
}

/* =========================
   BLOQUES DE TÉRMINOS
========================= */

.legal-bloque {
    margin-bottom: 14px;
    padding: 17px 16px;

    background: #ffffff;

    border: 1px solid #eee2e4;
    border-radius: 16px;

    box-shadow:
        0 4px 12px rgba(76, 55, 60, 0.05);
}

.legal-bloque h2 {
    margin: 0 0 10px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-weight: normal;

    color: #5b474c;
}

.legal-bloque p {
    margin: 0 0 10px;

    color: #745f63;

    font-size: 13px;
    line-height: 1.6;
}

.legal-bloque p:last-child {
    margin-bottom: 0;
}


/* DATOS DE LA TIENDA */

.legal-datos {
    margin-top: 12px;
    padding: 12px 13px;

    background: #fff8f8;

    border-radius: 12px;
}

.legal-datos p {
    margin-bottom: 6px;
    font-size: 12px;
}

.legal-datos p:last-child {
    margin-bottom: 0;
}

.legal-datos strong {
    color: #5b474c;
}

/* =========================
   AVISO LEGAL FINAL
========================= */

.legal-aviso {
    display: flex;
    align-items: flex-start;
    gap: 10px;

    margin-top: 20px;
    padding: 15px 16px;

    background: #f9eef0;

    border: 1px solid #eadfe2;
    border-radius: 14px;
}

.legal-aviso i {
    margin-top: 1px;

    color: #b58a4d;
    font-size: 20px;
}

.legal-aviso p {
    margin: 0;

    color: #745f63;

    font-size: 12px;
    line-height: 1.55;
}


/* =========================
   FOOTER PÁGINA LEGAL
========================= */

.legal-footer {
    margin-top: 28px;
    padding-top: 18px;

    border-top: 1px solid #eadfe2;

    text-align: center;
}

.legal-footer p {
    margin: 0;

    color: #9b8c8f;

    font-size: 11px;
}

/* =========================
   FOOTER PRINCIPAL
========================= */

.footer-tienda {
    width: min(100%, 390px);
    margin: 0 auto;

    padding: 34px 22px 82px;

    background: #f9eef0;

    border-top: 1px solid #eadfe2;

    text-align: center;
    box-sizing: border-box;
}


/* MARCA */

.footer-marca>span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    margin-bottom: 9px;

    border: 1px solid #d8b067;
    border-radius: 50%;

    color: #b58a4d;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
}

.footer-marca h2 {
    margin: 0 0 5px;

    color: #5b474c;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-weight: normal;
    letter-spacing: 1px;
}

.footer-marca p {
    margin: 0;

    color: #806f73;

    font-size: 12px;
}


/* REDES SOCIALES */

.footer-redes {
    display: flex;
    justify-content: center;
    gap: 12px;

    margin: 20px 0;
}

.footer-redes a {
    width: 37px;
    height: 37px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;

    border: 1px solid #eadfe2;
    border-radius: 50%;

    color: #a97d43;
    text-decoration: none;

    font-size: 19px;
}


/* ENVÍOS */

.footer-envios {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    margin: 0 auto 20px;
    padding: 12px 15px;

    max-width: 280px;

    background: #ffffff;

    border: 1px solid #eadfe2;
    border-radius: 14px;
}

.footer-envios>i {
    color: #b58a4d;
    font-size: 21px;
}

.footer-envios p {
    margin: 0;

    color: #5b474c;

    font-size: 12px;
    line-height: 1.35;
    text-align: left;
}

.footer-envios span {
    color: #8f7d81;
    font-size: 11px;
}


/* ENLACES */

.footer-enlaces {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;

    margin-top: 20px;
}

.footer-enlaces a,
.footer-enlaces span {
    color: #745f63;

    font-size: 12px;
    text-decoration: none;
}


/* PARTE FINAL */

.footer-final {
    margin-top: 25px;
    padding-top: 17px;

    border-top: 1px solid #e4d6d8;
}

.footer-final p {
    margin: 3px 0;

    color: #9b8c8f;

    font-size: 10px;
}

/* =========================
   PANEL ADMIN
========================= */

.pagina-admin {
    padding-bottom: 90px;
    background: #fff8f8;
    color: #5b474c;
}


/* CABECERA */

.admin-cabecera {
    width: 100%;
    padding: 18px 20px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    background: #ffffff;
    border-bottom: 1px solid #eadfe2;

    box-sizing: border-box;
}

.admin-cabecera>div {
    display: flex;
    align-items: center;
    gap: 11px;
}

.admin-marca {
    width: 42px;
    height: 42px;
    min-width: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #d8b067;
    border-radius: 50%;

    color: #b58a4d;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
}

.admin-cabecera small {
    display: block;
    margin-bottom: 3px;

    color: #b58a4d;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
}

.admin-cabecera h1 {
    margin: 0;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-weight: normal;

    color: #5b474c;
}


/* VER TIENDA */

.admin-ver-tienda {
    min-width: 38px;
    height: 38px;

    padding: 0 12px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;

    background: #fff8f6;

    border: 1px solid #e5cfad;
    border-radius: 999px;

    color: #a97d43;

    text-decoration: none;
    font-size: 11px;
}

.admin-ver-tienda i {
    font-size: 17px;
}


/* CONTENIDO */

.admin-contenido {
    width: min(100%, 900px);
    margin: 0 auto;
    padding: 24px 18px;

    box-sizing: border-box;
}


/* BIENVENIDA */

.admin-bienvenida {
    margin-bottom: 18px;
}

.admin-bienvenida p {
    margin: 0 0 5px;

    color: #a18d91;

    font-size: 12px;
}

.admin-bienvenida h2 {
    margin: 0;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: normal;

    color: #4f4245;
}


/* TARJETAS RESUMEN */

.admin-resumen {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.admin-resumen-card {
    min-height: 92px;
    padding: 14px;

    display: flex;
    align-items: center;
    gap: 11px;

    background: #ffffff;

    border: 1px solid #eadfe2;
    border-radius: 17px;

    box-shadow: 0 4px 12px rgba(76, 55, 60, 0.05);

    box-sizing: border-box;
}

.admin-resumen-icono {
    width: 36px;
    height: 36px;
    min-width: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff4f4;

    border: 1px solid #ecd9c2;
    border-radius: 50%;

    color: #a97d43;
}

.admin-resumen-icono i {
    font-size: 19px;
}

.admin-resumen-card small {
    display: block;
    margin-bottom: 5px;

    color: #9a858a;

    font-size: 10px;
}

.admin-resumen-card strong {
    display: block;

    color: #5b474c;

    font-size: 14px;
    line-height: 1.2;
}

@media (min-width: 600px) {

    body.pagina-admin {
        max-width: none;
        margin: 0;
        box-shadow: none;
    }

}

/* =========================
   NAVEGACIÓN PANEL ADMIN
========================= */

.admin-nav {
    position: fixed;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);

    width: 100%;
    max-width: 430px;
    height: 66px;

    display: grid;
    grid-template-columns: repeat(4, 1fr);

    background: #ffffff;
    border-top: 1px solid #eadfe2;

    box-shadow: 0 -4px 16px rgba(80, 60, 65, 0.08);

    z-index: 1000;
}

.admin-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 3px;

    color: #9b8c8f;
    text-decoration: none;

    font-size: 10px;
}

.admin-nav-item i {
    font-size: 21px;
}

.admin-nav-item.activo {
    color: #a97d43;
    font-weight: 600;
}

.admin-nav-item:active {
    background: #fff5f6;
}

/* =========================
   PEDIDOS DE HOY - ADMIN
========================= */

.admin-pedidos-hoy {
    margin-top: 26px;
}

.admin-seccion-titulo {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 15px;

    margin-bottom: 12px;
}

.admin-seccion-titulo small {
    display: block;
    margin-bottom: 4px;

    color: #b58a4d;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.2px;
}

.admin-seccion-titulo h2 {
    margin: 0;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: normal;

    color: #4f4245;
}

.admin-seccion-titulo a {
    padding-bottom: 2px;

    color: #a97d43;

    font-size: 11px;
    text-decoration: none;
}


/* LISTA */

.admin-pedidos-lista {
    width: 100%;
}


/* CUANDO NO HAY PEDIDOS */

.admin-pedidos-vacio {
    padding: 28px 20px;

    background: #ffffff;

    border: 1px solid #eadfe2;
    border-radius: 18px;

    text-align: center;

    box-shadow:
        0 4px 12px rgba(76, 55, 60, 0.05);
}

.admin-pedidos-vacio>i {
    width: 45px;
    height: 45px;

    margin: 0 auto 11px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff4f4;

    border: 1px solid #ecd9c2;
    border-radius: 50%;

    color: #a97d43;

    font-size: 22px;
}

.admin-pedidos-vacio strong {
    display: block;

    margin-bottom: 6px;

    color: #5b474c;

    font-size: 13px;
}

.admin-pedidos-vacio p {
    max-width: 245px;

    margin: 0 auto;

    color: #9a858a;

    font-size: 11px;
    line-height: 1.45;
}

/* =========================
   LOGIN PANEL ADMIN
========================= */

.pagina-admin-login {
    min-height: 100vh;
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(180deg,
            #fff8f8 0%,
            #f9eef0 100%);

    color: #5b474c;
}

.admin-login-contenedor {
    width: 100%;
    max-width: 390px;

    padding: 34px 20px 45px;

    box-sizing: border-box;
}


/* MARCA */

.admin-login-marca {
    margin-bottom: 24px;
    text-align: center;
}

.admin-login-marca>span {
    width: 54px;
    height: 54px;

    margin: 0 auto 10px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;

    border: 1px solid #d8b067;
    border-radius: 50%;

    color: #b58a4d;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;

    box-shadow:
        0 4px 12px rgba(76, 55, 60, 0.06);
}

.admin-login-marca small {
    display: block;

    margin-bottom: 5px;

    color: #b58a4d;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.4px;
}

.admin-login-marca h1 {
    margin: 0 0 7px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: normal;

    color: #4f4245;
}

.admin-login-marca p {
    max-width: 260px;

    margin: 0 auto;

    font-size: 12px;
    line-height: 1.45;

    color: #907d81;
}


/* TARJETA */

.admin-login-card {
    padding: 22px 19px;

    background: #ffffff;

    border: 1px solid #eadfe2;
    border-radius: 20px;

    box-shadow:
        0 8px 24px rgba(76, 55, 60, 0.07);
}

.admin-login-icono {
    width: 42px;
    height: 42px;

    margin: 0 auto 11px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff4f4;

    border: 1px solid #ecd9c2;
    border-radius: 50%;

    color: #a97d43;

    font-size: 20px;
}

.admin-login-card h2 {
    margin: 0 0 20px;

    text-align: center;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: normal;

    color: #5b474c;
}


/* CAMPOS */

.admin-login-campo {
    margin-bottom: 14px;

    display: flex;
    flex-direction: column;
    gap: 6px;
}

.admin-login-campo label {
    font-size: 11px;
    color: #6b595e;
}

.admin-login-campo input {
    width: 100%;
    height: 45px;

    padding: 0 13px;

    box-sizing: border-box;

    background: #fffdfd;

    border: 1px solid #e5d7d9;
    border-radius: 12px;

    color: #4f4245;

    font-size: 13px;

    outline: none;
}

.admin-login-campo input::placeholder {
    color: #b1a3a6;
}

.admin-login-campo input:focus {
    border-color: #d1ad75;

    box-shadow:
        0 0 0 3px rgba(199, 155, 89, 0.08);
}

.admin-login-password-wrap {
    position: relative;
    width: 100%;
}

.admin-login-password-wrap input {
    padding-right: 46px;
}

.admin-login-password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 34px;
    height: 34px;
    padding: 0;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    border-radius: 9px;
    color: #9a7648;
    cursor: pointer;
}

.admin-login-password-toggle i {
    font-size: 19px;
}

.admin-login-password-toggle:hover {
    background: rgba(199, 155, 89, 0.08);
}

.admin-login-password-toggle:focus-visible {
    outline: 2px solid #d1ad75;
    outline-offset: 1px;
}


/* BOTÓN */

.admin-login-boton {
    width: 100%;
    height: 47px;

    margin-top: 5px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    border: 0;
    border-radius: 999px;

    background:
        linear-gradient(135deg,
            #d7b173 0%,
            #c79b59 100%);

    color: #ffffff;

    font-size: 13px;
    font-weight: 600;

    cursor: pointer;

    box-shadow:
        0 5px 14px rgba(183, 138, 85, 0.22);
}

.admin-login-boton i {
    font-size: 18px;
}

.admin-login-boton:active {
    transform: scale(0.98);
}


/* MENSAJES */

.admin-login-mensaje {
    min-height: 15px;

    margin: 11px 0 0;

    text-align: center;

    font-size: 11px;
    line-height: 1.4;

    color: #b86f76;
}

.admin-login-ayuda {
    margin: -8px 0 18px;

    text-align: center;

    font-size: 11px;
    line-height: 1.45;

    color: #907d81;
}

.admin-cerrar-sesion {
    height: 38px;
    padding: 0 12px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;

    background: #ffffff;

    border: 1px solid #eadfe2;
    border-radius: 999px;

    color: #8f6d73;

    font-size: 11px;

    cursor: pointer;
}

.admin-cerrar-sesion i {
    font-size: 17px;
}

.admin-login-recuperar {
    display: block;

    width: max-content;
    margin: 13px auto 0;
    padding: 5px 8px;

    background: transparent;
    border: 0;

    color: #a97d43;

    font-size: 11px;
    font-weight: 500;

    cursor: pointer;

    border-bottom: 1px solid rgba(169, 125, 67, 0.35);
}

.admin-login-recuperar:active {
    color: #7f5e32;
}

/* =========================
   MODO ADMIN EN LA TIENDA
========================= */

.tienda-modo-admin[hidden] {
    display: none !important;
}

.tienda-modo-admin {
    padding: 8px 14px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    background: #fff8f2;
    border-bottom: 1px solid #ead7bd;

    font-size: 11px;
}

.tienda-modo-admin>span {
    display: flex;
    align-items: center;
    gap: 5px;

    color: #745f63;
}

.tienda-modo-admin>span i {
    color: #a97d43;
    font-size: 15px;
}

.tienda-modo-admin a {
    display: flex;
    align-items: center;
    gap: 3px;

    color: #a97d43;

    font-weight: 600;
    text-decoration: none;
}

.tienda-modo-admin a i {
    font-size: 16px;
}

/* =========================
   FILTROS DE PEDIDOS - ADMIN
========================= */

.admin-filtros-pedidos {
    display: flex;
    align-items: center;
    gap: 8px;

    margin: 0 0 20px;

    padding: 6px;

    overflow-x: auto;

    background: #ffffff;

    border: 1px solid #eadfe2;
    border-radius: 18px;

    box-shadow:
        0 4px 12px rgba(76, 55, 60, 0.05);

    scrollbar-width: none;
}

.admin-filtros-pedidos::-webkit-scrollbar {
    display: none;
}


.admin-filtro-pedido {
    flex-shrink: 0;

    min-height: 36px;

    padding: 0 14px;

    border: 1px solid transparent;
    border-radius: 999px;

    background: transparent;

    color: #806f73;

    font-size: 11px;
    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.18s ease,
        color 0.18s ease,
        border-color 0.18s ease,
        transform 0.18s ease;
}


.admin-filtro-pedido:active {
    transform: scale(0.96);
}


/* FILTRO SELECCIONADO */

.admin-filtro-pedido.activo {
    background:
        linear-gradient(135deg,
            #d7b173 0%,
            #c79b59 100%);

    border-color: #c79b59;

    color: #ffffff;

    box-shadow:
        0 3px 8px rgba(183, 138, 85, 0.20);
}

/* =========================
   TARJETAS DE PEDIDOS - ADMIN
========================= */

.admin-todos-pedidos {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.admin-pedido-card {
    padding: 16px;

    background: #ffffff;

    border: 1px solid #eadfe2;
    border-radius: 18px;

    box-shadow:
        0 4px 12px rgba(76, 55, 60, 0.05);
}


/* PARTE SUPERIOR */

.admin-pedido-superior {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;

    padding-bottom: 12px;
    margin-bottom: 12px;

    border-bottom: 1px solid #f0e7e8;
}

.admin-pedido-superior small {
    display: block;
    margin-bottom: 4px;

    color: #a18d91;
    font-size: 9px;
}

.admin-pedido-superior strong {
    display: block;

    color: #5b474c;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    font-weight: normal;
}

.admin-pedido-superior>span {
    flex-shrink: 0;

    color: #9a858a;
    font-size: 9px;
    text-align: right;
}


/* DATOS */

.admin-pedido-datos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px 12px;
}

.admin-pedido-datos p {
    display: flex;
    align-items: flex-start;
    gap: 6px;

    margin: 0;

    color: #745f63;

    font-size: 11px;
    line-height: 1.4;
}

.admin-pedido-datos i {
    margin-top: 1px;

    color: #b58a4d;
    font-size: 15px;
}


/* PARTE INFERIOR */

.admin-pedido-inferior {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;

    margin-top: 14px;
    padding-top: 12px;

    border-top: 1px solid #f0e7e8;
}

.admin-pedido-inferior>strong {
    color: #5b474c;

    font-size: 17px;
}

.admin-pedido-inferior>div {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.admin-pedido-inferior span {
    padding: 4px 8px;

    background: #fff8f6;

    border: 1px solid #ead7bd;
    border-radius: 999px;

    color: #8b6b43;

    font-size: 9px;
}

/* PAGO CONFIRMADO */

.admin-pedido-inferior span:first-child {
    background: #eef8f1;
    border-color: #cce3d3;
    color: #52745d;
}

/* =========================================
   ESTADOS Y ACCIONES DE PEDIDOS - ADMIN
========================================= */


/* ZONA DEL BOTÓN */

.admin-pedido-accion {
    margin-top: 14px;
}


/* BOTÓN PARA AVANZAR ESTADO */

.admin-pedido-avanzar {
    width: 100%;
    min-height: 42px;

    padding: 0 16px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    border: 0;
    border-radius: 999px;

    background:
        linear-gradient(135deg,
            #d7b173 0%,
            #c79b59 100%);

    color: #ffffff;

    font-size: 11px;
    font-weight: 600;

    cursor: pointer;

    box-shadow:
        0 4px 12px rgba(183, 138, 85, 0.20);

    transition:
        transform 0.15s ease,
        opacity 0.15s ease;
}


.admin-pedido-avanzar i {
    font-size: 18px;
}


.admin-pedido-avanzar:active {
    transform: scale(0.98);
}


.admin-pedido-avanzar:disabled {
    opacity: 0.65;
    cursor: default;
}


/* =========================================
   PEDIDO ENTREGADO
========================================= */

.admin-pedido-completado {
    min-height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    border: 1px solid #cce3d3;
    border-radius: 999px;

    background: #eef8f1;

    color: #52745d;

    font-size: 11px;
    font-weight: 600;
}


.admin-pedido-completado i {
    font-size: 18px;
}


/* =========================================
   ETIQUETA DE ESTADO DEL PEDIDO
========================================= */

.admin-pedido-card .admin-pedido-inferior span:last-child {

    text-transform: capitalize;

    font-weight: 600;
}


/* NUEVO */

.admin-pedido-card[data-estado="nuevo"] .admin-pedido-inferior span:last-child {

    background: #fff2f5;

    border-color: #eccfd6;

    color: #a65f70;
}


/* ARMADO */

.admin-pedido-card[data-estado="armado"] .admin-pedido-inferior span:last-child {

    background: #fff8e9;

    border-color: #ead5a8;

    color: #89682f;
}


/* ENVIADO */

.admin-pedido-card[data-estado="enviado"] .admin-pedido-inferior span:last-child {

    background: #eef6fb;

    border-color: #cadfe9;

    color: #527488;
}


/* ENTREGADO */

.admin-pedido-card[data-estado="entregado"] .admin-pedido-inferior span:last-child {

    background: #eef8f1;

    border-color: #cce3d3;

    color: #52745d;
}

/* =========================================
   RETROCEDER ESTADO DE PEDIDO
========================================= */

.admin-pedido-botones {
    width: 100%;

    display: flex;
    align-items: center;
    gap: 8px;

    margin-top: 8px;
}


.admin-pedido-botones .admin-pedido-avanzar,

.admin-pedido-botones .admin-pedido-retroceder {

    width: auto;
    flex: 1;
}


/* BOTÓN VOLVER */

.admin-pedido-retroceder {
    min-height: 42px;

    padding: 0 12px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;

    background: #fffaf4;

    border: 1px solid #c9a46b;
    border-radius: 999px;

    color: #6f542f;

    font-size: 10px;
    font-weight: 600;

    cursor: pointer;

    transition:
        transform 0.15s ease,
        background 0.15s ease,
        opacity 0.15s ease;
}


.admin-pedido-retroceder i {
    font-size: 17px;
}


.admin-pedido-retroceder:active {
    transform: scale(0.98);

    background: #f6ead8;
}


.admin-pedido-retroceder:disabled {
    opacity: 0.6;
    cursor: default;
}


/* ENTREGADO + DESHACER */

.admin-pedido-completado+.admin-pedido-botones {

    margin-top: 9px;
}

/* =========================================
   PRODUCTOS - PANEL ADMIN
========================================= */


/* =========================
   BOTÓN NUEVO PRODUCTO
========================= */

#admin-nuevo-producto {
    width: 100%;
    min-height: 46px;

    margin: 0 0 18px;
    padding: 0 18px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    border: 0;
    border-radius: 999px;

    background:
        linear-gradient(135deg,
            #d7b173 0%,
            #c79b59 100%);

    color: #ffffff;

    font-size: 12px;
    font-weight: 600;

    cursor: pointer;

    box-shadow:
        0 5px 14px rgba(183, 138, 85, 0.20);

    transition:
        transform 0.15s ease,
        opacity 0.15s ease;
}


#admin-nuevo-producto i {
    font-size: 19px;
}


#admin-nuevo-producto:active {
    transform: scale(0.98);
}



/* =========================
   LISTA DE PRODUCTOS
========================= */

.admin-productos-lista {
    width: 100%;

    display: flex;
    flex-direction: column;
    gap: 12px;
}



/* =========================
   TARJETA DE PRODUCTO
========================= */

.admin-producto-card {
    position: relative;
}


.admin-producto-card .admin-pedido-superior>span {
    padding: 5px 9px;

    background: #eef8f1;

    border: 1px solid #cce3d3;
    border-radius: 999px;

    color: #52745d;

    font-size: 9px;
    font-weight: 600;
}


.admin-producto-card .admin-pedido-datos {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}


.admin-producto-card .admin-pedido-datos p {
    min-width: 0;
}



/* =========================
   BOTÓN EDITAR PRODUCTO
========================= */

.admin-producto-editar {
    width: 100%;
    min-height: 42px;

    padding: 0 16px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    background: #fffaf4;

    border: 1px solid #d8b067;
    border-radius: 999px;

    color: #8a6738;

    font-size: 11px;
    font-weight: 600;

    cursor: pointer;

    transition:
        transform 0.15s ease,
        background 0.15s ease;
}


.admin-producto-editar i {
    font-size: 17px;
}


.admin-producto-editar:active {
    transform: scale(0.98);

    background: #f8ecdc;
}



/* =========================================
   FORMULARIO DE PRODUCTO
   Se usará al crear y editar productos
========================================= */

.admin-producto-formulario[hidden] {
    display: none !important;
}


.admin-producto-formulario {
    position: fixed;
    inset: 0;

    padding: 18px;

    display: flex;
    align-items: flex-end;
    justify-content: center;

    background:
        rgba(48, 39, 42, 0.38);

    z-index: 2000;
}


.admin-producto-form-card {
    width: 100%;
    max-width: 500px;
    max-height: 90vh;

    overflow-y: auto;

    padding: 20px;

    background: #ffffff;

    border: 1px solid #eadfe2;
    border-radius: 22px;

    box-shadow:
        0 12px 35px rgba(76, 55, 60, 0.18);
}



/* =========================
   CABECERA FORMULARIO
========================= */

.admin-producto-form-superior {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;

    margin-bottom: 20px;
}


.admin-producto-form-superior small {
    display: block;

    margin-bottom: 4px;

    color: #b58a4d;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
}


.admin-producto-form-superior h2 {
    margin: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 21px;
    font-weight: normal;

    color: #4f4245;
}


.admin-producto-form-cerrar {
    width: 36px;
    height: 36px;
    min-width: 36px;

    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff8f8;

    border: 1px solid #eadfe2;
    border-radius: 50%;

    color: #806f73;

    font-size: 20px;

    cursor: pointer;
}



/* =========================
   CAMPOS
========================= */

.admin-producto-campos {
    display: flex;
    flex-direction: column;
    gap: 14px;
}


.admin-producto-campo {
    display: flex;
    flex-direction: column;
    gap: 6px;
}


.admin-producto-campo label {
    color: #5c5558;

    font-size: 11px;
    font-weight: 600;
}


.admin-producto-campo input,
.admin-producto-campo select,
.admin-producto-campo textarea {
    width: 100%;

    padding: 0 13px;

    background: #fffdfd;

    border: 1px solid #e5d7d9;
    border-radius: 12px;

    color: #4f4245;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 13px;

    outline: none;

    box-sizing: border-box;
}


.admin-producto-campo input,
.admin-producto-campo select {
    height: 44px;
}


.admin-producto-campo textarea {
    min-height: 90px;

    padding-top: 12px;
    padding-bottom: 12px;

    resize: vertical;
}


.admin-producto-campo input:focus,
.admin-producto-campo select:focus,
.admin-producto-campo textarea:focus {
    border-color: #d1ad75;

    box-shadow:
        0 0 0 3px rgba(199, 155, 89, 0.08);
}



/* =========================
   PRECIO Y STOCK
========================= */

.admin-producto-fila {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;
}



/* =========================
   INTERRUPTORES
========================= */

.admin-producto-opciones {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;
}


.admin-producto-opcion {
    min-height: 48px;

    padding: 10px 12px;

    display: flex;
    align-items: center;
    gap: 8px;

    background: #fffafa;

    border: 1px solid #eadfe2;
    border-radius: 13px;

    color: #6f6366;

    font-size: 11px;

    cursor: pointer;
}


.admin-producto-opcion input {
    accent-color: #c79b59;
}



/* =========================
   BOTONES FORMULARIO
========================= */

.admin-producto-form-botones {
    margin-top: 20px;

    display: grid;
    grid-template-columns:
        1fr 1fr;

    gap: 10px;
}


.admin-producto-cancelar,
.admin-producto-guardar {
    min-height: 44px;

    padding: 0 13px;

    border-radius: 999px;

    font-size: 11px;
    font-weight: 600;

    cursor: pointer;
}


.admin-producto-cancelar {
    background: #ffffff;

    border: 1px solid #d8b067;

    color: #8a6738;
}


.admin-producto-guardar {
    border: 0;

    background:
        linear-gradient(135deg,
            #d7b173 0%,
            #c79b59 100%);

    color: #ffffff;

    box-shadow:
        0 4px 12px rgba(183, 138, 85, 0.20);
}


.admin-producto-guardar:disabled {
    opacity: 0.6;
    cursor: default;
}



/* =========================
   PC / PANTALLAS MÁS GRANDES
========================= */

@media (min-width: 600px) {

    .admin-producto-formulario {
        align-items: center;
    }

}

/* =========================================
   CONFIGURACIÓN STOCK BAJO - ADMIN
========================================= */

.admin-resumen-stock {
    height: auto;
    min-height: 110px;

    align-items: flex-start;
}

.admin-resumen-stock .admin-resumen-icono {
    margin-top: 6px;
}

.admin-stock-contenido {
    flex: 1;
    min-width: 0;

    display: flex;
    flex-direction: column;
}

.admin-stock-info {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;
}

.admin-stock-texto {
    min-width: 0;
}

.admin-stock-texto small {
    display: block;
}

#admin-stock-bajo {
    display: block;
    margin-top: 2px;

    white-space: nowrap;
}

.admin-stock-limite-texto {
    display: block;
    margin-top: 2px;

    color: #a08b90;
    font-size: 10px;
    font-weight: 500;
}

.admin-stock-limite-texto b {
    color: #a97d43;
    font-weight: 700;
}

.admin-stock-configurar {
    flex-shrink: 0;

    width: 30px;
    height: 30px;
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff8f4;
    border: 1px solid #ead8c1;
    border-radius: 50%;

    color: #a97d43;
    font-size: 16px;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.admin-stock-configurar:hover {
    background: #fff1e7;
    transform: rotate(20deg);
}

.admin-stock-configuracion {
    width: 100%;

    margin-top: 10px;
    padding-top: 10px;

    border-top: 1px solid #eee2e4;

    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.admin-stock-configuracion[hidden] {
    display: none;
}

.admin-stock-configuracion>span {
    display: block;

    margin-bottom: 8px;

    color: #8c777c;
    font-size: 10px;
    font-weight: 500;

    white-space: nowrap;
}

.admin-stock-controles {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;
    margin-bottom: 10px;
}

.admin-stock-controles button {
    width: 30px;
    height: 30px;
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff8f4;
    border: 1px solid #ead8c1;
    border-radius: 50%;

    color: #a97d43;
    font-size: 18px;

    cursor: pointer;
}

.admin-stock-controles strong {
    min-width: 24px;

    text-align: center;

    color: #59484c;
    font-size: 16px;
    font-weight: 700;
}

.admin-stock-guardar {
    padding: 7px 16px;

    background: #a97d43;
    border: none;
    border-radius: 999px;

    color: #ffffff;
    font-size: 10px;
    font-weight: 600;

    cursor: pointer;
}

.admin-stock-guardar:disabled {
    opacity: 0.65;
    cursor: default;
}

/* =========================================
   PÁGINA DEL CATÁLOGO
========================================= */

.catalogo-principal {
    padding-top: 8px;
}

.catalogo {
    width: 100%;
}


/* =========================
   ENCABEZADO
========================= */

.catalogo-encabezado {
    position: relative;

    margin-bottom: 20px;
    padding: 4px 0 2px;

    text-align: center;
}

.catalogo-volver-categorias {
    width: fit-content;

    display: inline-flex;
    align-items: center;
    gap: 1px;

    margin: 0 auto 13px;

    color: #806f73;
    text-decoration: none;

    font-size: 12px;
    font-weight: 500;
}

.catalogo-volver-categorias i {
    color: #b58a55;
    font-size: 18px;
}

.catalogo-etiqueta {
    display: block;

    margin-bottom: 5px;

    color: #ad8048;

    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.3px;
}

.catalogo-encabezado h1 {
    margin: 0 0 7px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: normal;
    line-height: 1.15;

    color: #463638;
}

.catalogo-encabezado p {
    margin: 0;

    color: #8a7b7f;

    font-size: 12px;
}

.catalogo-ver-todos {
    width: fit-content;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin: 12px auto 0;
    padding: 8px 14px;

    border: 1px solid #e5d7d9;
    border-radius: 999px;

    background: #ffffff;

    color: #a97d43;
    text-decoration: none;

    font-size: 11px;
    font-weight: 600;

    box-shadow:
        0 2px 8px rgba(76, 55, 60, 0.04);
}

.catalogo-ver-todos[hidden] {
    display: none;
}


/* =========================
   GRID DE PRODUCTOS
========================= */

.catalogo-productos-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 14px 12px;
    align-items: start;
}

.catalogo-productos-grid .producto-card {
    width: 100%;
    min-width: 0;

    border-radius: 16px;

    box-shadow:
        0 4px 12px rgba(76, 55, 60, 0.05);
}

.catalogo-productos-grid .producto-info {
    padding: 10px 10px 12px;
}

.catalogo-productos-grid .producto-info h3 {
    min-height: 35px;

    margin-bottom: 6px;

    display: -webkit-box;
    overflow: hidden;

    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;

    line-height: 1.25;
}

.catalogo-productos-grid .producto-precio {
    font-size: 14px;
}


/* =========================
   CARGANDO / VACÍO
========================= */

.catalogo-cargando,
.catalogo-vacio {
    grid-column: 1 / -1;

    min-height: 150px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 24px 18px;

    border: 1px solid #eadfe1;
    border-radius: 18px;

    background: #ffffff;

    text-align: center;
}

.catalogo-cargando {
    gap: 7px;

    color: #8a7b7f;

    font-size: 13px;
}

.catalogo-cargando i {
    color: #b58a55;

    font-size: 24px;
}

.catalogo-vacio i {
    margin-bottom: 8px;

    color: #b58a55;

    font-size: 28px;
}

.catalogo-vacio strong {
    margin-bottom: 5px;

    color: #5b474c;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-weight: normal;
}

.catalogo-vacio p {
    max-width: 250px;

    margin: 0;

    color: #8a7b7f;

    font-size: 12px;
    line-height: 1.45;
}
/* =========================================
   PEDIDOS ADMIN - TARJETA COMPACTA + DETALLE
   + PRODUCTOS + WHATSAPP
========================================= */

/* =========================
   CÓDIGO DE ENVÍO
========================= */

.admin-pedido-codigo-envio {
    margin-top: 14px;
    margin-bottom: 14px;
    padding: 12px;

    border: 1px solid #eadfdc;
    border-radius: 14px;

    background: #fffdfc;
}


.admin-pedido-codigo-envio > label {
    display: flex;
    align-items: center;
    gap: 7px;

    margin-bottom: 9px;

    font-size: 13px;
    font-weight: 600;

    color: #665855;
}


.admin-pedido-codigo-envio > label i {
    font-size: 17px;
    color: #c7954f;
}


.admin-pedido-codigo-envio-controles {
    display: flex;
    align-items: center;
    gap: 8px;
}


.admin-pedido-codigo-envio-input {
    width: 100%;
    min-width: 0;
    height: 40px;

    padding: 0 12px;

    border: 1px solid #ddcfcb;
    border-radius: 10px;

    background: #ffffff;

    font-size: 14px;
    color: #514542;

    outline: none;
}


.admin-pedido-codigo-envio-input:focus {
    border-color: #d9a957;
}


.admin-pedido-codigo-envio-input::placeholder {
    color: #aaa09d;
}


.admin-pedido-codigo-envio-guardar {
    height: 40px;

    padding: 0 14px;

    border: none;
    border-radius: 10px;

    background: #d9a957;
    color: #ffffff;

    font-size: 13px;
    font-weight: 600;

    cursor: pointer;
}


.admin-pedido-codigo-envio-guardar:active {
    transform: scale(0.97);
}


.admin-pedido-codigo-envio-guardar:disabled {
    opacity: 0.7;
    cursor: default;
}

/* =========================
   CÓDIGO COPIABLE EN CABECERA
========================= */

.admin-pedido-superior {
    position: relative;
}


.admin-pedido-codigo-copiar {
    position: absolute;

    top: 25px;
    right: 0;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;

    max-width: 120px;
    height: 27px;

    padding: 0 9px;

    border: 1px solid #e0b972;
    border-radius: 999px;

    background: #fffaf2;
    color: #8c6738;

    font-size: 10px;
    font-weight: 600;

    white-space: nowrap;

    cursor: pointer;
}


.admin-pedido-codigo-copiar i {
    flex-shrink: 0;
    font-size: 13px;
}


.admin-pedido-codigo-copiar span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.admin-pedido-codigo-copiar:active {
    transform: scale(0.96);
}

/* =========================
   WHATSAPP JUNTO AL NOMBRE
========================= */

.admin-pedido-nombre-linea {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 2px;
}

.admin-pedido-nombre-linea > strong {
    min-width: 0;
}

.admin-pedido-whatsapp-icono {
    width: 30px;
    height: 30px;
    min-width: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid #b9dec7;
    border-radius: 50%;

    background: #eef9f2;
    color: #3f8f5d;

    cursor: pointer;
}

.admin-pedido-whatsapp-icono i {
    font-size: 18px;
    line-height: 1;
}

.admin-pedido-whatsapp-icono:active {
    transform: scale(0.94);
}


/* TARJETA MÁS COMPACTA */
.admin-pedido-card {
    padding: 14px;
}

.admin-pedido-superior {
    margin-bottom: 10px;
}

.admin-pedido-datos {
    gap: 8px 12px;
}

.admin-pedido-inferior {
    margin-top: 11px;
    padding-top: 10px;
}


/* =========================
   VER / OCULTAR PEDIDO
========================= */

.admin-pedido-desplegar {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    margin-top: 12px;
    padding-top: 10px;

    border-top: 1px solid #f0e7e8;
}

.admin-pedido-desplegar > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    color: #6f6366;
    font-size: 11px;
    font-weight: 600;
}

.admin-pedido-desplegar > span i {
    color: #b58a4d;
    font-size: 16px;
}

.admin-pedido-ver {
    min-height: 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;

    padding: 0 12px;

    border: 1px solid #dfc9aa;
    border-radius: 999px;

    background: #fffaf4;
    color: #8b6b43;

    font-size: 11px;
    font-weight: 600;

    cursor: pointer;
}

.admin-pedido-ver i {
    font-size: 18px;
}

.admin-pedido-ver:active {
    transform: scale(0.98);
    background: #f8eddf;
}


/* =========================
   DETALLE DESPLEGADO
========================= */

.admin-pedido-detalle {
    margin-top: 12px;
    padding: 12px;

    background: #fffafa;
    border: 1px solid #f0e3e5;
    border-radius: 14px;
}

.admin-pedido-detalle[hidden] {
    display: none !important;
}

.admin-pedido-datos-detalle {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.admin-pedido-datos-detalle p {
    display: flex;
    align-items: flex-start;
    gap: 7px;

    margin: 0;

    color: #6f6366;
    font-size: 11px;
    line-height: 1.45;
}

.admin-pedido-datos-detalle i {
    flex: 0 0 auto;
    margin-top: 1px;

    color: #b58a4d;
    font-size: 16px;
}


/* =========================
   PRODUCTOS DEL PEDIDO
========================= */

.admin-pedido-productos {
    margin-top: 12px;
    padding-top: 12px;

    border-top: 1px solid #eee1e3;
}

.admin-pedido-productos-titulo {
    display: flex;
    align-items: center;
    gap: 6px;

    margin-bottom: 10px;

    color: #5b474c;
    font-size: 12px;
}

.admin-pedido-productos-titulo i {
    color: #b58a4d;
    font-size: 17px;
}

.admin-pedido-producto {
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 8px 0;

    border-bottom: 1px solid #f1e7e9;
}

.admin-pedido-producto:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.admin-pedido-producto-imagen {
    width: 52px;
    height: 52px;
    min-width: 52px;

    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff1f3;
    border: 1px solid #eadfe2;
    border-radius: 11px;

    color: #b58a4d;
}

.admin-pedido-producto-imagen img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-pedido-producto-imagen i {
    font-size: 22px;
}

.admin-pedido-producto-info {
    min-width: 0;
    flex: 1;
}

.admin-pedido-producto-info strong {
    display: block;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #5b474c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    font-weight: normal;
}

.admin-pedido-producto-info span {
    display: block;
    margin-top: 4px;

    color: #8d7a7e;
    font-size: 10px;
}

.admin-pedido-productos-vacio {
    display: flex;
    align-items: center;
    gap: 7px;

    padding: 9px 0 2px;

    color: #9a858a;
    font-size: 11px;
}


/* =========================
   ACCIONES SIEMPRE VISIBLES
========================= */

.admin-pedido-accion {
    margin-top: 12px;
}

.admin-pedido-botones {
    width: 100%;

    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 8px;

    margin-top: 8px;
}

/* La acción principal ocupa toda la fila */
.admin-pedido-botones .admin-pedido-avanzar {
    order: 1;
    flex: 1 0 100%;
    width: 100%;
}

/* Acciones secundarias abajo */
.admin-pedido-botones .admin-pedido-retroceder {
    order: 2;
    flex: 1 1 0;
    width: auto;
    min-width: 0;
}

.admin-pedido-whatsapp {
    order: 3;
    flex: 1 1 0;
    min-width: 0;
    min-height: 42px;

    padding: 0 12px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    border: 1px solid #bcdcc5;
    border-radius: 999px;

    background: #f1faf4;
    color: #3f7651;

    font-size: 11px;
    font-weight: 600;

    cursor: pointer;
}

.admin-pedido-whatsapp i {
    font-size: 18px;
}

.admin-pedido-whatsapp:active {
    transform: scale(0.98);
    background: #e4f4e9;
}

/* Si está entregado y no existe botón avanzar,
   retroceder + WhatsApp comparten la fila. */
.admin-pedido-completado + .admin-pedido-botones {
    margin-top: 9px;
}


/* =========================
   AJUSTE EXTRA PARA CELULAR
========================= */

@media (max-width: 380px) {

    .admin-pedido-card {
        padding: 13px;
    }

    .admin-pedido-superior {
        gap: 8px;
    }

    .admin-pedido-superior > span {
        font-size: 8px;
    }

    .admin-pedido-inferior {
        gap: 8px;
    }

    .admin-pedido-ver {
        padding: 0 10px;
        font-size: 10px;
    }

    .admin-pedido-retroceder,
    .admin-pedido-whatsapp {
        padding: 0 9px;
        font-size: 10px;
    }
}


/* =========================================
   INVENTARIO - ESTADOS DE STOCK
========================================= */

.admin-stock-bajo-item {
    position: relative;
    overflow: hidden;
    border-left: 4px solid #d6b861;
    transition:
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.admin-stock-bajo-item.admin-stock-nivel-aviso {
    border-left-color: #d6b861;
    background: #fffdf6;
}

.admin-stock-bajo-item.admin-stock-nivel-urgente {
    border-left-color: #d28a3f;
    background: #fff9f2;
}

.admin-stock-bajo-item.admin-stock-nivel-critico,
.admin-stock-bajo-item.admin-stock-nivel-agotado {
    border-left-color: #c95353;
    background: #fff7f7;
}

.admin-stock-bajo-item.admin-stock-nivel-agotado {
    box-shadow:
        0 4px 14px rgba(160, 58, 58, .08);
}

.admin-stock-estado {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.admin-stock-estado-aviso {
    background: #fff5cf;
    color: #8a6b17;
}

.admin-stock-estado-urgente {
    background: #fff0df;
    color: #a75d1f;
}

.admin-stock-estado-critico,
.admin-stock-estado-agotado {
    background: #fde5e5;
    color: #b33e3e;
}

.admin-stock-estado-agotado {
    box-shadow:
        inset 0 0 0 1px rgba(179, 62, 62, .12);
}


/* =========================================
   INVENTARIO - COLORES DE RESUMEN
========================================= */

.admin-stock-resumen-ok {
    border-color: #cfe3d3 !important;
    background: #f8fcf8 !important;
}

.admin-stock-resumen-ok .admin-resumen-icono {
    background: #e8f5ea;
    color: #4f7f58;
}

.admin-stock-resumen-alerta {
    border-color: #ead5ae !important;
    background: #fffaf3 !important;
}

.admin-stock-resumen-alerta .admin-resumen-icono {
    background: #fff0db;
    color: #b16d2d;
}

.admin-stock-resumen-critico {
    border-color: #e9c1c1 !important;
    background: #fff7f7 !important;
}

.admin-stock-resumen-critico .admin-resumen-icono {
    background: #fde5e5;
    color: #b33e3e;
}


/* =========================================
   INVENTARIO - FILTROS STOCK BAJO
========================================= */

.admin-stock-filtros {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 0 0 16px;
}

.admin-stock-filtro {
    min-height: 40px;
    padding: 0 10px;
    border: 1px solid #eadfdc;
    border-radius: 999px;
    background: #fff;
    color: #756b67;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.admin-stock-filtro span {
    display: inline-grid;
    place-items: center;
    min-width: 22px;
    height: 22px;
    margin-left: 5px;
    padding: 0 6px;
    border-radius: 999px;
    background: #f1ece9;
    color: #665d59;
    font-size: 10px;
}

.admin-stock-filtro.activo {
    border-color: #d6b67e;
    background: #fff8ec;
    color: #8d6a2c;
    box-shadow:
        0 2px 8px rgba(141, 106, 44, .08);
}

.admin-stock-filtro[data-filtro-stock="agotados"].activo {
    border-color: #dfb5b5;
    background: #fff4f4;
    color: #a64848;
}

.admin-stock-filtro[data-filtro-stock="agotados"].activo span {
    background: #f9dede;
    color: #a64848;
}


/* =========================================
   MÁS - ESTADO LIVE
========================================= */

.admin-live-resumen-estado {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 7px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}

.admin-live-resumen-estado.fuera {
    background: #f2efed;
    color: #756b67;
}

.admin-live-resumen-estado.en-vivo {
    background: #fde4e4;
    color: #b93636;
    box-shadow:
        0 0 0 3px rgba(185, 54, 54, .06);
}


/* =========================================
   LIVE DE LA TIENDA - ADMIN
========================================= */

.admin-live-panel {
    padding: 17px;
    border: 1px solid #eadfdc;
    border-radius: 18px;
    background: #fff;
    box-shadow:
        0 4px 14px rgba(76, 55, 60, .05);
}

.admin-live-estado-cabecera {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.admin-live-estado-cabecera small {
    display: block;
    margin-bottom: 6px;
    color: #9a8780;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
}

.admin-live-estado {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    padding: 0 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.admin-live-estado.fuera {
    background: #f1efee;
    color: #706763;
}

.admin-live-estado.en-vivo {
    background: #fde1e1;
    color: #b72f2f;
    box-shadow:
        0 0 0 3px rgba(183, 47, 47, .07);
}

.admin-live-switch {
    position: relative;
    flex: 0 0 auto;
    width: 58px;
    height: 32px;
    cursor: pointer;
}

.admin-live-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.admin-live-switch-control {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: #ddd6d2;
    transition: background .2s ease;
}

.admin-live-switch-control::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    box-shadow:
        0 2px 6px rgba(0, 0, 0, .16);
    transition: transform .2s ease;
}

.admin-live-switch input:checked + .admin-live-switch-control {
    background: #c84b4b;
}

.admin-live-switch input:checked + .admin-live-switch-control::after {
    transform: translateX(26px);
}

.admin-live-ayuda {
    margin: 14px 0 18px;
    color: #7f7470;
    font-size: 12px;
    line-height: 1.5;
}

.admin-live-campo label {
    display: block;
    margin-bottom: 7px;
    color: #544b47;
    font-size: 12px;
    font-weight: 700;
}

.admin-live-url-linea {
    position: relative;
}

.admin-live-url-linea i {
    position: absolute;
    top: 50%;
    left: 13px;
    transform: translateY(-50%);
    color: #9d8b82;
    font-size: 19px;
    pointer-events: none;
}

.admin-live-url-linea input {
    width: 100%;
    min-height: 46px;
    padding: 0 13px 0 42px;
    border: 1px solid #e1d6d1;
    border-radius: 13px;
    background: #fff;
    outline: none;
}

.admin-live-url-linea input:focus {
    border-color: #cba354;
    box-shadow:
        0 0 0 3px rgba(203, 163, 84, .10);
}

.admin-live-campo small {
    display: block;
    margin-top: 7px;
    color: #938783;
    font-size: 11px;
    line-height: 1.4;
}

.admin-live-acciones {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    margin-top: 18px;
}

.admin-live-probar,
.admin-live-guardar {
    min-height: 44px;
    border-radius: 14px;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.admin-live-probar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid #e3d8d2;
    background: #faf7f5;
    color: #695f5a;
}

.admin-live-guardar {
    border: none;
    background: linear-gradient(135deg, #d8aa55, #c9973e);
    color: #fff;
    cursor: pointer;
    box-shadow:
        0 4px 12px rgba(201, 151, 62, .20);
}

.admin-live-guardar:disabled {
    opacity: .65;
    cursor: wait;
}

.admin-live-mensaje {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 11px;
    line-height: 1.4;
}

.admin-live-mensaje.exito {
    background: #edf8ef;
    color: #4b7654;
}

.admin-live-mensaje.error {
    background: #fff0f0;
    color: #a94b4b;
}

@media (min-width: 390px) {

    .admin-live-acciones {
        grid-template-columns: 1fr 1.2fr;
    }

}


/* =========================================
   LN 2026 - UNIFORMIDAD VISUAL CLIENTA
========================================= */

:root {
    --cliente-texto: #5b474c;
    --cliente-texto-suave: #806f73;
    --cliente-precio: #5b474c;
    --cliente-oferta: #a84f4f;
    --cliente-borde: #eadfe1;
}

.producto-info h3,
.carrito-producto-superior h3,
.checkout-producto-info strong {
    font-family: Arial, Helvetica, sans-serif;
    color: var(--cliente-texto);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
}

.producto-detalle-info h1 {
    margin-bottom: 8px;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--cliente-texto);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
}

.producto-precio,
.producto-detalle-precio,
.carrito-producto-precio,
.checkout-producto-precio,
.carrito-producto-subtotal,
.carrito-total,
.checkout-total {
    font-family: Arial, Helvetica, sans-serif;
}

.producto-precio-normal,
.carrito-precio-normal,
.producto-detalle-precio .producto-precio-normal {
    color: var(--cliente-precio);
    font-weight: 700;
}

.producto-precio-oferta,
.carrito-precio-oferta,
.producto-detalle-precio .producto-precio-oferta {
    color: var(--cliente-oferta);
    font-weight: 700;
}

.producto-precio-anterior,
.carrito-precio-anterior,
.producto-detalle-precio .producto-precio-anterior {
    color: #9b8d8a;
    font-weight: 500;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}

.producto-detalle-precio {
    display: flex;
    align-items: baseline;
    gap: 7px;
    flex-wrap: wrap;
    color: var(--cliente-precio);
    font-size: 16px;
    font-weight: 700;
}

.producto-detalle-precio .producto-precio-normal,
.producto-detalle-precio .producto-precio-oferta {
    font-size: 16px;
}

.producto-detalle-precio .producto-precio-anterior {
    font-size: 13px;
}

.catalogo-encabezado h1 {
    font-size: 22px;
}

.producto-detalle-stock,
.producto-detalle-categoria,
.producto-detalle-descripcion p,
.carrito-resumen-linea,
.checkout-producto-info span {
    font-family: Arial, Helvetica, sans-serif;
}

.producto-detalle-descripcion p {
    color: #6f6366;
    font-size: 14px;
    line-height: 1.5;
}

.opinion-cliente strong,
.opinion-texto,
.opinion-cliente small {
    font-family: Arial, Helvetica, sans-serif;
}


/* =========================================
   MENÚ LATERAL - TIENDA
========================================= */

body.menu-tienda-abierto {
    overflow: hidden;
}

.menu-tienda-overlay {
    position: fixed;
    inset: 0;
    z-index: 2100;
    background: rgba(48, 39, 42, 0.34);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
}

.menu-tienda-panel {
    position: fixed;
    top: 0;
    right: max(0px, calc((100vw - 430px) / 2));
    z-index: 2101;
    width: min(84vw, 360px);
    height: 100%;
    padding: 18px 16px 30px;
    overflow-y: auto;
    background: #fffdfd;
    border-left: 1px solid var(--borde);
    box-shadow: -12px 0 30px rgba(48, 39, 42, .12);
    transform: translateX(105%);
    transition: transform .24s ease;
}

body.menu-tienda-abierto .menu-tienda-overlay {
    opacity: 1;
    pointer-events: auto;
}

body.menu-tienda-abierto .menu-tienda-panel {
    transform: translateX(0);
}

.menu-tienda-cabecera {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eee3e5;
}

.menu-tienda-cabecera small {
    display: block;
    margin-bottom: 4px;
    color: #b58a55;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.1px;
}

.menu-tienda-cabecera strong {
    color: #4f4245;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: normal;
}

.menu-tienda-cerrar {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #eadfe2;
    border-radius: 50%;
    background: #fff8f8;
    color: #66585c;
    font-size: 25px;
    cursor: pointer;
}

.menu-tienda-enlaces {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 13px;
}

.menu-tienda-enlaces a {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 10px;
    border-radius: 13px;
    color: #66585c;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}

.menu-tienda-enlaces a i {
    width: 24px;
    flex: 0 0 24px;
    color: #b58a55;
    font-size: 21px;
    text-align: center;
}

.menu-tienda-enlaces a:active {
    background: #fff3f5;
}


/* =========================================
   LIVE PÚBLICO DINÁMICO
========================================= */

.nav-live-tiktok[hidden],
.nav-live-espacio[hidden] {
    display: none !important;
}

.nav-inferior.sin-live {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}


/* =========================================
   OPINIONES PÚBLICAS DINÁMICAS
========================================= */

.opiniones-cargando {
    min-width: 100%;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #8a7b7f;
    font-size: 12px;
}

.opiniones-clientas[hidden] {
    display: none !important;
}


/* =========================================
   MÁS - TARJETAS Y ENLACES
========================================= */

.pagina-admin .admin-resumen-card strong a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #5b474c;
    text-decoration: none;
    font-family: inherit;
    font-size: inherit;
    font-weight: 700;
}

.pagina-admin .admin-resumen-card strong a::after {
    content: "›";
    color: #b58a55;
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
}

.pagina-admin .admin-resumen-card strong a:visited {
    color: #5b474c;
}

.admin-mas-contador-texto,
.admin-opiniones-resumen-detalle {
    display: block;
    margin-top: 7px;
    color: #8f8380;
    font-size: 10px;
    line-height: 1.35;
}

.admin-mas-contador-texto b {
    color: #8d6a2c;
}


/* =========================================
   STOCK BAJO - AJUSTE RÁPIDO
========================================= */

.admin-stock-ajuste-rapido {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
    padding: 10px 11px;
    border: 1px solid #eee2dc;
    border-radius: 13px;
    background: rgba(255, 255, 255, .76);
}

.admin-stock-ajuste-rapido > span {
    color: #756b67;
    font-size: 10px;
    font-weight: 700;
}

.admin-stock-ajuste-rapido > div {
    display: grid;
    grid-template-columns: 38px 42px 38px;
    align-items: center;
    border: 1px solid #e1d4ce;
    border-radius: 999px;
    overflow: hidden;
    background: #fff;
}

.admin-stock-ajuste-boton {
    width: 38px;
    height: 36px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #9a713b;
    font-size: 19px;
    font-weight: 600;
    cursor: pointer;
}

.admin-stock-ajuste-boton:active:not(:disabled) {
    background: #fff4df;
}

.admin-stock-ajuste-boton:disabled {
    color: #cfc5c1;
    cursor: default;
}

.admin-stock-ajuste-valor {
    display: grid;
    place-items: center;
    min-height: 36px;
    border-left: 1px solid #eee3df;
    border-right: 1px solid #eee3df;
    color: #514542;
    font-size: 13px;
}


/* =========================================
   EDITOR IMÁGENES - BLOQUEO TÁCTIL
========================================= */

.admin-producto-imagen-panel,
.admin-categoria-imagen-editor {
    position: relative;
}

.admin-producto-imagen-preview,
.admin-categoria-imagen-preview {
    touch-action: pan-y !important;
    cursor: default !important;
}

.admin-producto-imagen-preview.desbloqueada,
.admin-categoria-imagen-preview.desbloqueada {
    touch-action: none !important;
    cursor: grab !important;
}

.admin-producto-imagen-preview.desbloqueada.arrastrando,
.admin-categoria-imagen-preview.desbloqueada.arrastrando {
    cursor: grabbing !important;
}

.admin-imagen-bloqueo {
    position: absolute;
    z-index: 6;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0 10px;
    border: 1px solid #e2d5cf;
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    color: #665d59;
    font-size: 10px;
    font-weight: 700;
    box-shadow: 0 3px 10px rgba(76, 55, 60, .10);
    cursor: pointer;
}

.admin-producto-imagen-bloqueo {
    top: 10px;
    right: 10px;
}

.admin-categoria-imagen-bloqueo {
    top: 24px;
    right: 10px;
}

.admin-imagen-bloqueo[aria-pressed="true"] {
    border-color: #d3af68;
    background: #fff8e9;
    color: #8d6a2c;
}

.admin-imagen-bloqueo i {
    font-size: 15px;
}


/* =========================================
   EDITOR PRODUCTO - VISTA PREVIA + ACCIONES
========================================= */

.admin-producto-vista-previa-boton {
    width: 100%;
    min-height: 44px;
    margin-top: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #ddcfca;
    border-radius: 999px;
    background: #fffaf6;
    color: #75624d;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.admin-producto-vista-previa-boton i {
    font-size: 17px;
}

.admin-producto-formulario.con-cambios .admin-producto-form-superior small::after {
    content: " · Cambios sin guardar";
    color: #b56a42;
}

@media (max-width: 599px) {

    .admin-producto-form-card {
        padding-bottom: 102px;
    }

    .admin-producto-form-botones {
        position: fixed;
        left: 50%;
        bottom: 16px;
        z-index: 2050;
        transform: translateX(-50%);
        width: min(calc(100% - 52px), 448px);
        margin: 0;
        padding: 9px;
        border: 1px solid #eadfdc;
        border-radius: 18px;
        background: rgba(255, 255, 255, .97);
        box-shadow: 0 7px 25px rgba(48, 39, 42, .16);
        backdrop-filter: blur(10px);
    }

    .admin-producto-cancelar,
    .admin-producto-guardar {
        min-height: 46px;
        font-size: 12px;
    }

}

.admin-producto-preview-overlay[hidden] {
    display: none !important;
}

.admin-producto-preview-overlay {
    position: fixed;
    inset: 0;
    z-index: 3000;
    overflow-y: auto;
    background: #fffafa;
}

body.admin-producto-preview-abierta {
    overflow: hidden;
}

.admin-producto-preview-barra {
    position: sticky;
    top: 0;
    z-index: 3010;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 14px;
    border-bottom: 1px solid #eadfe1;
    background: rgba(255, 255, 255, .97);
    backdrop-filter: blur(10px);
}

.admin-producto-preview-barra > span {
    color: #8a7b7f;
    font-size: 11px;
    font-weight: 700;
}

.admin-producto-preview-volver {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 0 12px 0 7px;
    border: 1px solid #e4d7da;
    border-radius: 999px;
    background: #fff;
    color: #5b474c;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.admin-producto-preview-volver i {
    color: #b58a55;
    font-size: 22px;
}

.admin-producto-preview-contenido {
    width: 100%;
    max-width: 430px;
    margin: 0 auto;
    padding: 16px 0 34px;
}

.admin-producto-preview-imagen {
    display: flex;
    align-items: center;
    justify-content: center;
}

.admin-producto-preview-sin-imagen {
    color: #9a8d88;
    font-size: 12px;
}

.admin-producto-preview-contenido .producto-agregar-carrito:disabled,
.admin-producto-preview-contenido .cantidad-controles button:disabled {
    opacity: .82;
    cursor: default;
}


/* =========================================
   OPINIONES - ADMIN
========================================= */

.admin-opiniones-panel {
    margin-top: 24px;
    padding: 16px;
    border: 1px solid #eadfdc;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(76, 55, 60, .05);
}

.admin-opinion-form {
    display: flex;
    flex-direction: column;
    gap: 13px;
    margin-top: 14px;
}

.admin-opinion-campo label {
    display: block;
    margin-bottom: 6px;
    color: #5f5551;
    font-size: 11px;
    font-weight: 700;
}

.admin-opinion-campo input,
.admin-opinion-campo textarea,
.admin-opinion-campo select {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #e1d6d1;
    border-radius: 13px;
    background: #fff;
    color: #514542;
    font: inherit;
    font-size: 13px;
    outline: none;
}

.admin-opinion-campo textarea {
    min-height: 105px;
    resize: vertical;
    line-height: 1.45;
}

.admin-opinion-campo input:focus,
.admin-opinion-campo textarea:focus,
.admin-opinion-campo select:focus {
    border-color: #cba354;
    box-shadow: 0 0 0 3px rgba(203, 163, 84, .10);
}

.admin-opinion-opciones {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.admin-opinion-opciones label {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 11px;
    border: 1px solid #eee2de;
    border-radius: 12px;
    background: #fffafa;
    color: #6f6360;
    font-size: 11px;
    cursor: pointer;
}

.admin-opinion-opciones input {
    accent-color: #c79b59;
}

.admin-opinion-preview-wrap {
    padding: 13px;
    border: 1px solid #eee3df;
    border-radius: 15px;
    background: #faf7f5;
}

.admin-opinion-preview-wrap > small {
    display: block;
    margin-bottom: 9px;
    color: #9a8780;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
}

.admin-opinion-preview-card {
    width: 100%;
    min-width: 0;
    min-height: 160px;
}

.admin-opinion-form-acciones {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.admin-opinion-cancelar,
.admin-opinion-guardar {
    min-height: 44px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.admin-opinion-cancelar {
    border: 1px solid #ddcfca;
    background: #fff;
    color: #756b67;
}

.admin-opinion-guardar {
    border: 0;
    background: linear-gradient(135deg, #d7b173, #c79b59);
    color: #fff;
    box-shadow: 0 4px 12px rgba(183, 138, 85, .20);
}

.admin-opinion-guardar:disabled {
    opacity: .65;
    cursor: wait;
}

.admin-opiniones-lista {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.admin-opinion-item {
    padding: 14px;
    border: 1px solid #eadfe2;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 3px 10px rgba(76, 55, 60, .04);
}

.admin-opinion-item.oculta {
    background: #faf8f7;
    opacity: .86;
}

.admin-opinion-item-cabecera {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.admin-opinion-item-cabecera strong {
    display: block;
    margin-top: 4px;
    color: #5b474c;
    font-size: 13px;
}

.admin-opinion-item-estrellas {
    color: #b98a4a;
    font-size: 13px;
    letter-spacing: 1px;
}

.admin-opinion-estado {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
}

.admin-opinion-estado.publicada {
    background: #eaf6ec;
    color: #4c7956;
}

.admin-opinion-estado.oculta {
    background: #f0edeb;
    color: #766d69;
}

.admin-opinion-item-texto {
    margin: 11px 0;
    color: #6f6366;
    font-size: 12px;
    line-height: 1.5;
}

.admin-opinion-item-badges {
    min-height: 18px;
}

.admin-opinion-item-badges span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #8d6a2c;
    font-size: 9px;
    font-weight: 700;
}

.admin-opinion-item-acciones {
    display: grid;
    grid-template-columns: 1fr 1fr 42px 42px 42px;
    gap: 6px;
    margin-top: 12px;
    padding-top: 11px;
    border-top: 1px solid #f0e7e8;
}

.admin-opinion-item-acciones button {
    min-height: 40px;
    padding: 0 8px;
    border: 1px solid #e4d9d5;
    border-radius: 11px;
    background: #fff;
    color: #6f6360;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
}

.admin-opinion-item-acciones button:disabled {
    opacity: .35;
    cursor: default;
}

.admin-opinion-item-acciones .admin-opinion-eliminar {
    color: #a64f4f;
}

@media (max-width: 370px) {

    .admin-opinion-item-acciones {
        grid-template-columns: 1fr 1fr 38px 38px 38px;
        gap: 4px;
    }

    .admin-opinion-item-acciones button {
        padding: 0 5px;
        font-size: 9px;
    }

}

@media (min-width: 430px) {

    .admin-opinion-opciones,
    .admin-opinion-form-acciones {
        grid-template-columns: 1fr 1fr;
    }

}

.admin-stock-bajo-item.actualizando-stock {
    opacity: .72;
    pointer-events: none;
}

/* Ajustes finales de escala: diferencias pequeñas entre listado y detalle */
.producto-detalle-info h1 {
    font-size: 18px;
}

.carrito-total strong,
.checkout-total strong {
    color: var(--cliente-texto);
    font-size: 18px;
    font-weight: 700;
}

/* =========================================================
   LN · TANDA REVISADA 26-08-2026
   Reglas acotadas: no reemplazan colores globales de botones.
========================================================= */

/* =========================
   TEXTOS LARGOS
========================= */
.producto-detalle-info h1,
.producto-detalle-descripcion p,
.producto-info h3,
.carrito-producto-info h3,
.checkout-producto-info,
.ln-cupon-card {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* =========================
   STOCK PÚBLICO
========================= */
.producto-imagen {
    position: relative;
}

.producto-stock-badge {
    position: absolute;
    left: 8px;
    top: 8px;
    z-index: 2;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.2px;
}

.producto-stock-badge.agotado {
    background: #bd2f3c;
    color: #fff;
}

.producto-detalle-stock.ln-stock-ok {
    color: #3f7f55;
    font-weight: 700;
}

.producto-detalle-stock.ln-stock-out {
    color: #bd2f3c;
    font-weight: 700;
}

.producto-agregar-carrito:disabled,
.cantidad-controles button:disabled,
.carrito-cantidad button:disabled,
.checkout-continuar:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.ln-stock-aviso,
.ln-checkout-alerta {
    margin: 7px 0 0;
    padding: 8px 10px;
    border: 1px solid #efc0c5;
    border-radius: 10px;
    background: #fff5f6;
    color: #a92f3d;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
}

.ln-carrito-agotado .carrito-producto-imagen {
    opacity: 0.7;
}

.carrito-continuar.ln-bloqueado {
    opacity: 0.5;
    cursor: not-allowed;
}

/* =========================
   ENCUADRE ESTABLE
========================= */
.carrito-producto-imagen.ln-media-encuadre,
.checkout-producto-imagen.ln-media-encuadre {
    background-color: #fff1f3;
    background-repeat: no-repeat;
}

/* =========================
   FAVORITOS
========================= */
.producto-favorito,
.producto-acciones-superiores .producto-favorito {
    transition: transform 0.16s ease, color 0.16s ease, background 0.16s ease;
}

.producto-favorito.activo,
.producto-favorito.ln-heart.activo,
.producto-acciones-superiores .producto-favorito.activo {
    border-color: #e2aebb;
    background: #fff0f4;
    color: #c94f70;
}

.producto-favorito.activo i,
.producto-favorito.ln-heart.activo i {
    color: #c94f70;
}

.producto-favorito:active,
.producto-favorito.ln-heart:active {
    transform: scale(0.9);
}

.boton-icono[aria-label="Favoritos"],
.nav-item,
.ln-desktop-favoritos {
    position: relative;
}

/* El acceso a Favoritos nunca se ve gris/apagado. */
.boton-icono[aria-label="Favoritos"] i {
    color: #c94f70;
}

.contador-favoritos {
    position: absolute;
    top: -4px;
    right: -5px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #c79b59;
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
}

.nav-item .contador-favoritos {
    top: 5px;
    right: calc(50% - 19px);
}

.contador-favoritos[hidden] {
    display: none !important;
}

/* =========================
   CARRUSEL CON UNA SOLA FOTO
========================= */
.producto-carrusel-flecha[hidden],
.producto-carrusel-contador[hidden] {
    display: none !important;
}

/* =========================
   TARJETAS · NOMBRE/PRECIO
========================= */
.producto-info h3 {
    margin-bottom: 2px;
}

.catalogo-productos-grid .producto-info h3,
.productos-scroll .producto-info h3 {
    min-height: 30px;
    margin-bottom: 2px;
    line-height: 1.08;
}

/* =========================
   BUSCADOR GLOBAL
========================= */
.buscador {
    position: relative;
}

.ln-sugerencias {
    position: absolute;
    top: calc(100% - 10px);
    left: 14px;
    right: 14px;
    z-index: 1800;
    overflow: hidden;
    border: 1px solid #eadfe2;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(76, 55, 60, 0.14);
}

.ln-sugerencias[hidden] {
    display: none !important;
}

.ln-sugerencias a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 11px;
    border-bottom: 1px solid #f2eaec;
    color: #66585c;
    text-decoration: none;
}

.ln-sugerencias a:last-child {
    border-bottom: 0;
}

.ln-sugerencias img {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    object-fit: cover;
    border-radius: 9px;
    background: #fff4f5;
}

.ln-sugerencias span {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ln-sugerencias b {
    overflow: hidden;
    color: #4f4245;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ln-sugerencias small {
    color: #8b797d;
    font-size: 11px;
}

.ln-sugerencias s {
    margin-right: 4px;
    opacity: 0.58;
}

.ln-sugerencias p {
    margin: 0;
    padding: 12px;
    color: #8b797d;
    font-size: 12px;
}

/* =========================
   LIVE · SIN HUECOS
========================= */
.nav-inferior.sin-live {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nav-inferior.sin-live .nav-live-espacio,
.nav-inferior.sin-live .nav-live-tiktok,
.nav-live-espacio[hidden],
.nav-live-tiktok[hidden] {
    display: none !important;
}

/* =========================
   MENÚ LATERAL MÁS COMPACTO
========================= */
.menu-tienda-panel {
    width: min(78vw, 320px);
}

/* =========================
   CHECKOUT
========================= */
.checkout-superior {
    display: grid;
    grid-template-columns: minmax(88px, 1fr) auto minmax(36px, 1fr);
    gap: 8px;
}

.checkout-superior h1 {
    position: static;
    width: auto;
    transform: none;
    white-space: nowrap;
}

.checkout-volver {
    min-height: 36px;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 0 10px 0 6px;
    border: 1px solid #eadfe1;
    border-radius: 999px;
    background: #fff;
    color: #66585c;
    font-size: 13px;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(76, 55, 60, 0.05);
}

.checkout-inicio {
    justify-self: end;
}

.checkout-producto-precio {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.checkout-producto-precio s {
    color: #a99b9d;
    font-size: 10px;
}

.checkout-producto-precio strong {
    color: #3f3033;
    font-size: 12px;
}

/* =========================
   CUPÓN · CLIENTE
========================= */
.checkout-cupon-ln {
    margin: 14px 0;
    padding: 12px;
    border: 1px solid #ead8ad;
    border-radius: 14px;
    background: #fffaf1;
}

.checkout-cupon-ln label {
    display: block;
    margin-bottom: 7px;
    color: #5c5558;
    font-size: 12px;
    font-weight: 700;
}

.checkout-cupon-fila {
    display: flex;
    gap: 7px;
}

.checkout-cupon-fila input {
    min-width: 0;
    flex: 1;
    height: 40px;
    padding: 0 11px;
    border: 1px solid #dfd0b5;
    border-radius: 10px;
    background: #fff;
    text-transform: uppercase;
}

.checkout-cupon-fila button {
    min-width: 76px;
    padding: 0 12px;
    border: 0;
    border-radius: 10px;
    background: #c79b59;
    color: #fff;
    font-weight: 700;
}

.checkout-cupon-ln small {
    display: block;
    margin-top: 6px;
    font-size: 11px;
}

.checkout-cupon-ln small.ok {
    color: #3f7f55;
}

.checkout-cupon-ln small.error {
    color: #a92f3d;
}

/* =========================
   CUPONES · ADMIN
========================= */
.ln-cupon-admin {
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
    padding: 20px 16px 100px;
    box-sizing: border-box;
}

.ln-cupon-back {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-bottom: 12px;
    color: #66585c;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

.ln-cupon-back i {
    color: #b58a55;
    font-size: 20px;
}

.ln-cupon-header small {
    color: #ad8048;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.2px;
}

.ln-cupon-header h1 {
    margin: 4px 0 5px;
    color: #3f3033;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: normal;
}

.ln-cupon-header p {
    margin: 0 0 16px;
    color: #8b7d80;
    font-size: 12px;
}

.ln-cupon-form,
.ln-cupon-card {
    margin: 12px 0;
    padding: 16px;
    border: 1px solid #eadfe1;
    border-radius: 18px;
    background: #fff;
}

.ln-cupon-form h2,
.ln-cupon-list-section h2 {
    margin: 0 0 14px;
    color: #3f3033;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: normal;
}

.ln-cupon-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ln-cupon-grid label {
    color: #5c5558;
    font-size: 12px;
    font-weight: 700;
}

.ln-cupon-grid input {
    width: 100%;
    height: 42px;
    margin-top: 5px;
    padding: 0 11px;
    box-sizing: border-box;
    border: 1px solid #e1d4d6;
    border-radius: 11px;
    background: #fffdfd;
    color: #3f3033;
    font-size: 14px;
}

.ln-check {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 13px 0;
    color: #5c5558;
}

.ln-check input {
    width: 20px;
    height: 20px;
}

.ln-preview {
    margin: 4px 0 14px;
    padding: 13px;
    border-radius: 15px;
    background: #fff9ee;
}

.ln-preview-titulo {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-bottom: 7px;
}

.ln-preview-titulo b {
    color: #57474a;
}

.ln-preview-titulo small {
    color: #8c7d80;
    font-size: 10px;
    line-height: 1.35;
}

.ln-ref {
    display: grid;
    grid-template-columns: minmax(92px, 120px) minmax(0, 1fr) 36px;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.ln-ref input {
    width: 100%;
    height: 38px;
    padding: 0 8px;
    box-sizing: border-box;
    border: 1px solid #d8c9b0;
    border-radius: 9px;
    background: #fff;
    font-size: 15px;
}

.ln-ref-resultado {
    min-width: 0;
    color: #64585b;
    font-size: 12px;
    line-height: 1.35;
}

.ln-ref-resultado span {
    white-space: nowrap;
}

.ln-ref-eliminar,
.ln-preview-acciones button,
.ln-cupon-card-acciones button {
    min-height: 36px;
    padding: 0 10px;
    border: 1px solid #d8c49a;
    border-radius: 10px;
    background: #fff;
    color: #66585c;
    cursor: pointer;
}

.ln-ref-eliminar {
    padding: 0;
    font-size: 20px;
}

.ln-preview-acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.ln-cupon-primary {
    width: 100%;
    min-height: 46px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #d7b173 0%, #c79b59 100%);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.ln-cupon-mensaje {
    min-height: 18px;
    margin: 8px 0 0;
    font-size: 12px;
}

.ln-cupon-mensaje.ok {
    color: #3f7f55;
}

.ln-cupon-mensaje.error {
    color: #a92f3d;
}

.ln-cupon-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.ln-cupon-card-info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.ln-cupon-card-titulo {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.ln-cupon-card-titulo b {
    color: #3f3033;
    font-size: 16px;
}

.ln-cupon-card-titulo span {
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
}

.ln-cupon-card-titulo span.activo {
    background: #edf8f0;
    color: #3f7f55;
}

.ln-cupon-card-titulo span.inactivo {
    background: #f3eeee;
    color: #8c7d80;
}

.ln-cupon-card-info small {
    color: #8c7d80;
    font-size: 10px;
}

.ln-cupon-card-acciones {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ln-cupon-card-acciones .danger {
    color: #a92f3d;
}

@media (max-width: 600px) {
    .ln-cupon-grid {
        grid-template-columns: 1fr;
    }

    .ln-ref {
        grid-template-columns: 105px minmax(0, 1fr) 36px;
    }

    .ln-ref-resultado span {
        display: block;
        white-space: normal;
    }

    .ln-cupon-card {
        flex-direction: column;
    }

    .ln-cupon-card-acciones {
        width: 100%;
        flex-direction: row;
    }
}

/* =========================
   NAVEGACIÓN DE ESCRITORIO
========================= */
.ln-desktop-nav {
    display: none;
}

@media (min-width: 820px) {
    body:not(.pagina-admin) {
        max-width: none;
        margin: 0;
        padding-bottom: 32px;
        box-shadow: none;
    }

    body:not(.pagina-admin) .cabecera,
    body:not(.pagina-admin) .buscador,
    body:not(.pagina-admin) .contenido-principal {
        width: min(1180px, calc(100% - 48px));
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
    }

    body:not(.pagina-admin) .cabecera {
        padding-left: 10px;
        padding-right: 10px;
    }

    body:not(.pagina-admin) .contenido-principal {
        padding: 20px 0 60px;
    }

    .categorias-grid {
        width: min(900px, 100%);
        margin-left: auto;
        margin-right: auto;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 18px;
    }

    .productos-scroll {
        gap: 18px;
    }

    .productos-scroll .producto-card {
        width: 220px;
        min-width: 220px;
        flex: 0 0 220px;
    }

    .catalogo-productos-grid {
        width: min(1000px, 100%);
        margin-left: auto;
        margin-right: auto;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 18px;
    }

    .nav-inferior {
        display: none !important;
    }

    .cabecera button[aria-label="Abrir menú"] {
        display: none;
    }

    .menu-tienda-panel {
        right: 0;
        width: 300px;
    }

    .ln-desktop-nav {
        width: min(1180px, calc(100% - 48px));
        min-height: 48px;
        margin: 0 auto 8px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 5px;
        border-top: 1px solid #f0e7e8;
        border-bottom: 1px solid #f0e7e8;
        background: #fff;
    }

    .ln-desktop-nav a {
        position: relative;
        min-height: 38px;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 0 11px;
        border-radius: 10px;
        color: #66585c;
        text-decoration: none;
        font-size: 12px;
        font-weight: 600;
    }

    .ln-desktop-nav a:hover {
        background: #fff7f8;
        color: #9b6e42;
    }

    .ln-desktop-nav i {
        color: #b58a55;
        font-size: 18px;
    }

    .ln-desktop-nav .contador-carrito,
    .ln-desktop-nav .contador-favoritos {
        position: static;
        min-width: 17px;
        height: 17px;
        border: 0;
    }

    .ln-desktop-live[hidden] {
        display: none !important;
    }

    .producto-detalle {
        width: min(1000px, calc(100% - 48px));
        margin: 0 auto;
        padding: 24px 0 60px;
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
        column-gap: 36px;
        align-items: start;
    }

    .producto-detalle-superior {
        grid-column: 1 / -1;
        padding: 0;
    }

    .producto-galeria {
        grid-column: 1;
    }

    .producto-detalle-imagen {
        width: 100%;
        margin: 0;
    }

    .producto-detalle-info {
        grid-column: 2;
        padding-top: 4px;
    }

    .carrito-contenedor,
    .checkout-contenedor {
        max-width: 760px;
        padding-left: 24px;
        padding-right: 24px;
    }

    .carrito-producto-imagen {
        width: 92px;
        height: 92px;
        min-width: 92px;
    }

    .checkout-producto-imagen {
        width: 66px;
        height: 66px;
        min-width: 66px;
    }
}

/* =========================================================
   LN · AJUSTES VISUALES + CORRECCIONES 29-08-2026
   Sección aislada para evitar regresiones sobre estilos aprobados.
========================================================= */

/* =========================
   CABECERA · DORADO SUAVE
========================= */
.marca {
    width: auto;
    flex: 1 1 auto;
    min-width: 0;
    gap: 5px;
}

.marca img {
    width: 74px;
    height: 74px;
}

.nombre-marca {
    color: #b58f5d;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
}

.acciones {
    flex: 0 0 auto;
}

.cabecera-icono i,
.boton-icono[aria-label="Favoritos"] i {
    color: #b28b5a;
}

/* Badges más suaves, como la referencia visual aprobada. */
.contador,
.contador-carrito,
.contador-favoritos,
.contador-carrito-cabecera,
.contador-carrito-superior {
    background: #c5a66f !important;
    color: #fff !important;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
}

/* =========================
   BARRA MÓVIL · ICONOS DORADOS
========================= */
.nav-item {
    color: #aa987f;
}

.nav-item i,
.nav-icono-carrito i {
    color: #b79a70;
}

.nav-item.activo,
.nav-item.activo i {
    color: #9f743e;
}

/* =========================
   FAVORITOS · SIN ROSADO FUERTE
========================= */
.producto-favorito,
.producto-favorito.ln-heart,
.producto-acciones-superiores .producto-favorito {
    border-color: #e4d8c4;
    background: rgba(255, 255, 255, 0.94);
    color: #b58a55;
}

.producto-favorito.activo,
.producto-favorito.ln-heart.activo,
.producto-acciones-superiores .producto-favorito.activo {
    border-color: #d9bf8a;
    background: #fffaf0;
    color: #ad7e43;
}

.producto-favorito.activo i,
.producto-favorito.ln-heart.activo i {
    color: #ad7e43;
}

/* =========================
   TARJETAS · MARCO BLANCO + ALTURA ESTABLE
========================= */
.producto-card {
    box-sizing: border-box;
    min-width: 0;
    padding: 4px;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-color: #eee5d9;
    box-shadow: 0 5px 14px rgba(77, 61, 52, 0.06);
}

.producto-card .producto-imagen {
    flex: 0 0 auto;
    border-radius: 11px;
    overflow: hidden;
}

.producto-card .producto-info {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.producto-card .producto-info h3 {
    width: 100%;
    min-width: 0;
    min-height: 34px;
    max-height: 34px;
    margin-bottom: 4px;
    display: -webkit-box;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    line-height: 1.2;
}

.producto-card .producto-precio {
    margin-top: auto;
}

.catalogo-productos-grid .producto-card {
    width: 100%;
    min-width: 0;
}

@media (max-width: 819px) {
    .nuevos-ingresos .producto-card {
        width: 135px;
        min-width: 135px;
        max-width: 135px;
        flex: 0 0 135px;
    }

    .mas-elegidos .producto-card {
        width: 125px;
        min-width: 125px;
        max-width: 125px;
        flex: 0 0 125px;
    }

    .producto-relacionados-lista .producto-card {
        width: 132px;
        min-width: 132px;
        max-width: 132px;
        flex: 0 0 132px;
    }
}

/* Categorías: 2x2 móvil, marco limpio; 4 en fila se conserva en PC. */
.categoria-card {
    padding: 4px 4px 0;
    border-color: #eee5d9;
    box-shadow: 0 5px 14px rgba(77, 61, 52, 0.06);
}

.categoria-card .categoria-imagen {
    border-radius: 14px;
    overflow: hidden;
}

/* =========================
   VER TODO · FLECHA DORADA
========================= */
.seccion-encabezado a,
.producto-relacionados-encabezado a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #ad8350;
    font-weight: 600;
}

.seccion-encabezado a::after,
.producto-relacionados-encabezado a::after {
    content: "→";
    font-size: 15px;
    line-height: 1;
}

/* =========================
   INFORMACIÓN DE ENVÍOS · MÁS SUTIL
========================= */
.info-tienda .info-item:nth-child(-n + 2) {
    background: #fcfaf7;
    border-color: #eee9e1;
    box-shadow: none;
}

.info-tienda .info-item:nth-child(-n + 2) .info-icono {
    background: #f8f5f0;
    border-color: #ece4d8;
    color: #b3a085;
    box-shadow: none;
}

.info-tienda .info-item:nth-child(-n + 2) h3 {
    color: #756e67;
}

.info-tienda .info-item:nth-child(-n + 2) p {
    color: #999088;
}

.footer-envios {
    background: #fcfaf7;
    border-color: #eee9e1;
    box-shadow: none;
}

.footer-envios > i {
    color: #b3a085;
}

.footer-envios p {
    color: #756e67;
}

.footer-envios span {
    color: #9b928a;
}

/* =========================
   MENÚ · MÁS ANGOSTO
========================= */
.menu-tienda-panel {
    width: min(70vw, 280px);
}

/* =========================
   TOASTS DEL CARRITO
========================= */
.ln-toast-host {
    position: fixed;
    left: 50%;
    bottom: 82px;
    width: min(340px, calc(100% - 28px));
    transform: translateX(-50%);
    z-index: 2600;
    pointer-events: none;
}

.ln-toast {
    margin-top: 8px;
    padding: 11px 13px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid #eadfce;
    border-radius: 14px;
    background: rgba(255, 253, 249, 0.98);
    color: #665a50;
    box-shadow: 0 10px 24px rgba(68, 54, 45, 0.13);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.ln-toast.visible {
    opacity: 1;
    transform: translateY(0);
}

.ln-toast i {
    flex: 0 0 auto;
    color: #b58a55;
    font-size: 20px;
}

.ln-toast-error {
    border-color: #efcdd0;
    color: #9b3e48;
}

.ln-toast-error i {
    color: #b54c58;
}

/* Botón de seguir comprando claramente reconocible. */
.carrito-seguir-link {
    width: fit-content;
    min-height: 38px;
    margin: 14px auto 0;
    padding: 0 14px 0 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    border: 1px solid #dfc99f;
    border-radius: 999px;
    background: #fffaf2;
    color: #98703f;
    font-size: 12px;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(91, 71, 52, 0.05);
}

.carrito-seguir-link i {
    font-size: 19px;
}

/* =========================
   CARRUSELES · SNAP EXACTO
========================= */
.productos-scroll,
.opiniones-scroll {
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
}

.productos-scroll > .producto-card,
.opiniones-scroll > .opinion-card {
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

/* =========================
   BANNERS DE INICIO
========================= */
.ln-banners-inicio {
    padding: 24px 0 8px;
}

.ln-banners-inicio[hidden] {
    display: none !important;
}

.ln-banners-viewport {
    position: relative;
}

.ln-banners-track {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.ln-banners-track::-webkit-scrollbar {
    display: none;
}

.ln-banner-card {
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    min-height: 148px;
    aspect-ratio: 2.35 / 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 18px 48% 18px 18px;
    box-sizing: border-box;
    border: 4px solid #fff;
    border-radius: 20px;
    background:
        radial-gradient(circle at 85% 30%, rgba(255,255,255,.85), transparent 30%),
        linear-gradient(135deg, #fbefe9 0%, #f6e4df 54%, #f8f3e9 100%);
    background-size: cover;
    background-position: center;
    color: #5b474c;
    text-decoration: none;
    box-shadow: 0 7px 20px rgba(86, 66, 56, 0.08);
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.ln-banner-card.con-imagen::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,250,247,.95) 0%, rgba(255,250,247,.83) 38%, rgba(255,250,247,.16) 70%, rgba(255,250,247,0) 100%);
}

.ln-banner-contenido {
    position: relative;
    z-index: 2;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.ln-banner-contenido > small {
    margin-bottom: 5px;
    color: #a9804d;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

.ln-banner-contenido > strong {
    max-width: 100%;
    color: #5a4448;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(18px, 5.5vw, 25px);
    font-weight: normal;
    line-height: 1.03;
    overflow-wrap: anywhere;
}

.ln-banner-subtitulo {
    max-width: 230px;
    margin-top: 6px;
    color: #7e6e70;
    font-size: 10px;
    line-height: 1.35;
}

.ln-banner-boton {
    margin-top: 10px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #bc945f;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
}

.ln-banner-decoracion {
    position: absolute;
    right: 10%;
    top: 50%;
    transform: translateY(-50%) rotate(-8deg);
    color: rgba(181, 138, 85, 0.35);
    font-size: 74px;
}

.ln-banner-flecha {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #e7dac5;
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: #ad8350;
    box-shadow: 0 3px 9px rgba(78, 60, 50, .09);
    transform: translateY(-50%);
    cursor: pointer;
}

.ln-banner-flecha i {
    font-size: 22px;
}

.ln-banner-anterior { left: 8px; }
.ln-banner-siguiente { right: 8px; }

.ln-banner-flecha:disabled {
    opacity: .28;
    cursor: default;
}

.ln-banner-puntos {
    min-height: 18px;
    padding-top: 8px;
    display: flex;
    justify-content: center;
    gap: 6px;
}

.ln-banner-punto {
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #ddd5ca;
    cursor: pointer;
    transition: width .18s ease, background .18s ease;
}

.ln-banner-punto.activo {
    width: 18px;
    background: #bc945f;
}

.ln-banner-unico .ln-banner-flecha,
.ln-banner-unico .ln-banner-puntos {
    display: none;
}

/* =========================
   ADMIN · VOLVER UNIFICADO
========================= */
.admin-volver-unificado,
.ln-cupon-back.admin-volver-unificado {
    width: fit-content;
    min-height: 38px;
    margin: 0 0 14px;
    padding: 0 13px 0 7px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    border: 1px solid #dfc99f;
    border-radius: 999px;
    background: #fffaf2;
    color: #8f6838;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(91, 71, 52, .05);
}

.admin-volver-unificado i {
    color: #ad8350;
    font-size: 20px;
}

/* =========================
   CUPONES · ESTADO REAL
========================= */
.ln-cupon-card-titulo span.vencido {
    background: #fbe9e9;
    color: #aa4444;
}

.ln-cupon-card-titulo span.agotado {
    background: #fff1df;
    color: #9b642c;
}

.ln-cupon-card-titulo span.programado {
    background: #eef2fa;
    color: #596d98;
}

/* =========================
   ADMIN · NOMBRES LARGOS
========================= */
.admin-producto-card,
.admin-producto-superior-con-imagen,
.admin-producto-superior-info,
.admin-producto-superior-info > div {
    min-width: 0;
}

.admin-producto-superior-info {
    overflow: hidden;
}

.admin-producto-superior-info strong {
    max-width: 100%;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    line-height: 1.22;
}

/* =========================
   ADMIN BANNERS
========================= */
.ln-banner-admin {
    padding-bottom: 110px;
}

.ln-banner-admin-form-card,
.ln-banner-admin-list-section {
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid #eadfe1;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(76,55,60,.04);
}

.ln-banner-admin-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 11px;
}

.ln-banner-field {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    color: #65595b;
    font-size: 11px;
    font-weight: 700;
}

.ln-banner-field-full {
    grid-column: 1 / -1;
}

.ln-banner-field input,
.ln-banner-field select,
.ln-banner-field textarea {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 9px 11px;
    box-sizing: border-box;
    border: 1px solid #e1d5d6;
    border-radius: 11px;
    background: #fffdfd;
    color: #493e40;
    font-size: 14px;
    font-weight: 400;
    outline: none;
}

.ln-banner-field textarea {
    resize: vertical;
}

.ln-banner-field input:focus,
.ln-banner-field select:focus,
.ln-banner-field textarea:focus {
    border-color: #c8a36e;
    box-shadow: 0 0 0 3px rgba(200,163,110,.12);
}

.ln-banner-field small {
    color: #9a8b8e;
    font-size: 9px;
    font-weight: 400;
    line-height: 1.35;
}

.ln-banner-admin-preview-wrap {
    margin: 14px 0;
}

.ln-banner-admin-preview-wrap > small {
    display: block;
    margin-bottom: 7px;
    color: #a9804d;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

.ln-banner-admin-preview {
    position: relative;
    min-height: 142px;
    overflow: hidden;
    padding: 16px 42% 16px 16px;
    display: flex;
    align-items: center;
    border: 4px solid #fff;
    border-radius: 18px;
    background: linear-gradient(135deg,#fbefe9,#f7e5df 55%,#f8f3e9);
    background-size: cover;
    background-position: center;
    box-shadow: 0 5px 15px rgba(76,55,60,.08);
}

.ln-banner-admin-preview.con-imagen::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,rgba(255,250,247,.96),rgba(255,250,247,.78) 50%,rgba(255,250,247,.08));
}

.ln-banner-admin-preview > i {
    position: absolute;
    right: 12%;
    color: rgba(181,138,85,.3);
    font-size: 58px;
}

.ln-banner-admin-preview > div {
    position: relative;
    z-index: 2;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.ln-banner-admin-preview small {
    color: #a9804d;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1px;
}

.ln-banner-admin-preview strong {
    margin-top: 4px;
    color: #5a4448;
    font-family: Georgia,"Times New Roman",serif;
    font-size: 20px;
    font-weight: normal;
    line-height: 1.05;
    overflow-wrap: anywhere;
}

.ln-banner-admin-preview span {
    margin-top: 5px;
    color: #7e6e70;
    font-size: 9px;
    line-height: 1.3;
}

.ln-banner-admin-preview b {
    margin-top: 8px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #bc945f;
    color: #fff;
    font-size: 9px;
}

.ln-banner-admin-actions {
    display: flex;
    gap: 8px;
}

.ln-banner-save,
.ln-banner-cancel {
    min-height: 44px;
    padding: 0 16px;
    border-radius: 999px;
    font-weight: 700;
    cursor: pointer;
}

.ln-banner-save {
    flex: 1;
    border: 0;
    background: linear-gradient(135deg,#d7b173,#c79b59);
    color: #fff;
}

.ln-banner-cancel {
    border: 1px solid #e1d5d6;
    background: #fff;
    color: #75676a;
}

.ln-banner-admin-item {
    display: grid;
    grid-template-columns: 92px minmax(0,1fr) auto;
    gap: 11px;
    align-items: center;
    padding: 11px;
    border: 1px solid #eee4e5;
    border-radius: 15px;
    background: #fffdfd;
}

.ln-banner-admin-item + .ln-banner-admin-item {
    margin-top: 9px;
}

.ln-banner-admin-item-image {
    width: 92px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #f7efe9 center/cover no-repeat;
    color: #b7a392;
    font-size: 24px;
}

.ln-banner-admin-item-info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.ln-banner-admin-item-title {
    min-width: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.ln-banner-admin-item-title strong,
.ln-banner-admin-item-info > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.ln-banner-admin-item-title span {
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 800;
}

.ln-banner-admin-item-title span.activo { background:#edf8f0; color:#3f7f55; }
.ln-banner-admin-item-title span.inactivo { background:#f3eeee; color:#8c7d80; }

.ln-banner-admin-item-info small,
.ln-banner-admin-item-info > span {
    color: #8d7f82;
    font-size: 9px;
    line-height: 1.3;
}

.ln-banner-admin-item-actions {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ln-banner-admin-item-actions button {
    min-height: 32px;
    padding: 0 9px;
    border: 1px solid #dbc9aa;
    border-radius: 9px;
    background: #fff;
    color: #6e5f61;
    font-size: 10px;
    cursor: pointer;
}

.ln-banner-admin-item-actions .danger {
    color: #a84b55;
}

.ln-banner-admin-empty {
    color: #8d7f82;
    font-size: 12px;
}

@media (max-width: 600px) {
    .ln-banner-admin-grid {
        grid-template-columns: 1fr;
    }

    .ln-banner-field-full {
        grid-column: auto;
    }

    .ln-banner-admin-item {
        grid-template-columns: 78px minmax(0,1fr);
    }

    .ln-banner-admin-item-image {
        width: 78px;
        height: 55px;
    }

    .ln-banner-admin-item-actions {
        grid-column: 1 / -1;
        flex-direction: row;
    }

    .ln-banner-admin-item-actions button {
        flex: 1;
    }
}

/* =========================
   FICHA PC · BLOQUES ORDENADOS
========================= */
.producto-columna-derecha {
    min-width: 0;
}

.producto-relacionados-controles {
    margin-top: 8px;
}

@media (min-width: 820px) {
    .producto-detalle {
        grid-template-columns: minmax(0, 1.12fr) minmax(350px, .88fr);
        column-gap: 32px;
    }

    .producto-galeria {
        grid-column: 1;
        grid-row: 2;
    }

    .producto-columna-derecha {
        grid-column: 2;
        grid-row: 2;
        display: flex;
        flex-direction: column;
        gap: 18px;
    }

    .producto-detalle-info {
        padding: 22px;
        border: 1px solid #eee3e0;
        border-radius: 22px;
        background: #fff;
        box-shadow: 0 7px 20px rgba(76,55,60,.055);
    }

    .producto-relacionados {
        margin: 0;
        padding: 18px;
        border: 1px solid #eee3e0;
        border-radius: 22px;
        background: #fff;
        box-shadow: 0 7px 20px rgba(76,55,60,.055);
    }

    .producto-relacionados-lista .producto-card {
        width: 155px;
        min-width: 155px;
        max-width: 155px;
        flex: 0 0 155px;
    }

    .producto-relacionados-controles {
        justify-content: flex-end;
    }

    .ln-banner-card {
        min-height: 190px;
        aspect-ratio: 4 / 1;
        padding-left: 32px;
    }

    .ln-banner-contenido > strong {
        font-size: 30px;
    }

    .ln-banner-subtitulo {
        font-size: 12px;
    }

    .ln-toast-host {
        bottom: 28px;
    }
}

/* =========================
   BARRA SUPERIOR · INFORMACIÓN SECUNDARIA
========================= */
.barra-informacion {
    background: #fbf9f5;
    color: #91877d;
    border-bottom: 1px solid #f0ebe4;
}

/* En pantallas especialmente angostas protegemos la separación
   entre marca y acciones sin alterar el tamaño aprobado en móviles normales. */
@media (max-width: 340px) {
    .marca img {
        width: 66px;
        height: 66px;
    }

    .nombre-marca {
        font-size: 10px;
        letter-spacing: .75px;
    }

    .acciones {
        gap: 0;
    }
}

/* =========================================================
   LN · AJUSTES FINALES 30-08-2026
   Bloque aislado para no alterar estilos aprobados.
========================================================= */

/* =========================
   BADGES · NÚMEROS CENTRADOS
========================= */
.contador,
.contador-carrito,
.contador-favoritos,
.contador-carrito-cabecera,
.contador-carrito-superior {
    min-width: 18px !important;
    width: auto !important;
    height: 18px !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid #fff !important;
    border-radius: 999px !important;
    background: #c4a36c !important;
    color: #fffdf8 !important;
    font-family: Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
}

/* =========================
   PRECIOS / VALORES · DORADO SUAVE
========================= */
:root {
    --ln-dorado-valor: #a97e49;
    --ln-dorado-valor-fuerte: #9d6f38;
    --ln-dorado-valor-suave: #b99a72;
}

.producto-precio,
.producto-precio-normal,
.producto-detalle-precio,
.carrito-producto-precio,
.carrito-producto-subtotal,
.checkout-producto-precio,
.carrito-resumen strong,
.carrito-total strong,
.checkout-resumen strong,
.checkout-total strong,
#carrito-subtotal,
#carrito-total,
#checkout-subtotal,
#checkout-total {
    color: var(--ln-dorado-valor) !important;
}

.producto-precio-oferta,
.carrito-precio-oferta,
.checkout-producto-precio strong,
.producto-detalle-precio .producto-precio-oferta {
    color: var(--ln-dorado-valor-fuerte) !important;
}

.producto-precio-anterior,
.carrito-precio-anterior,
.checkout-producto-precio s,
.producto-detalle-precio .producto-precio-anterior {
    color: #a69a8e !important;
}

/* =========================
   VER TODO >
========================= */
.seccion-encabezado a::after,
.producto-relacionados-encabezado a::after {
    content: ">" !important;
    margin-left: 1px;
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
}

/* =========================
   BOTÓN CARRITO · CENTRADO REAL
========================= */
.carrito-seguir-link {
    display: flex;
    margin-left: auto;
    margin-right: auto;
}

/* =========================
   FLECHAS DE CARRUSEL · FIN REAL
========================= */
.carrusel-flecha:disabled,
.categorias-flecha:disabled {
    opacity: .28;
    cursor: default;
    pointer-events: none;
}

/* =========================
   CATEGORÍAS · CARRUSEL EN INICIO
========================= */
.categorias-inicio .categorias-grid {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 2px 1px 8px;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

.categorias-inicio .categorias-grid::-webkit-scrollbar {
    display: none;
}

.categorias-inicio .categoria-card {
    flex: 0 0 42.5%;
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.categorias-carrusel-controles {
    min-height: 38px;
    margin-top: 5px;
    display: flex;
    justify-content: center;
    gap: 11px;
}

.categorias-carrusel-controles[hidden] {
    display: none !important;
}

.categorias-flecha {
    width: 34px;
    height: 34px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid #dfcba8;
    border-radius: 50%;
    background: #fffdf8;
    color: #a77b45;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    line-height: 1;
    box-shadow: 0 2px 7px rgba(83, 63, 48, .06);
    cursor: pointer;
}

/* Vista completa desde Menú → Categorías. */
.categorias-pagina-principal {
    padding-top: 20px;
}

.categorias-pagina-encabezado {
    margin-bottom: 20px;
}

.categorias-vista-completa .categorias-grid-completo {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
}

.categorias-vista-completa .categoria-card {
    min-width: 0;
}

.categorias-cargando {
    grid-column: 1 / -1;
    padding: 22px 0;
    color: #998d87;
    font-size: 13px;
    text-align: center;
}

/* =========================
   BANNERS · MÁS GRANDES + TEXTO PROTEGIDO
========================= */
.ln-banner-card {
    min-height: 198px;
    height: 198px;
    aspect-ratio: auto;
    padding: 18px 45% 18px 18px;
    background-repeat: no-repeat;
    background-color: #f8eee8;
}

.ln-banner-contenido {
    width: 100%;
    height: 100%;
    justify-content: center;
    overflow: hidden;
}

.ln-banner-contenido > small {
    flex: 0 0 auto;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ln-banner-contenido > strong {
    flex: 0 0 auto;
    display: -webkit-box;
    max-height: 2.12em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.ln-banner-subtitulo {
    flex: 0 1 auto;
    display: -webkit-box;
    max-width: 100%;
    max-height: 2.75em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.ln-banner-boton {
    flex: 0 0 auto;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ln-banner-flecha[hidden] {
    display: none !important;
}

/* =========================
   ADMIN BANNERS · ENCUADRE
========================= */
.ln-banner-admin-preview {
    min-height: 198px;
    height: 198px;
    box-sizing: border-box;
    background-repeat: no-repeat;
    background-color: #f8eee8;
}

.ln-banner-admin-preview > div {
    height: 100%;
    justify-content: center;
    overflow: hidden;
}

.ln-banner-admin-preview strong {
    display: -webkit-box;
    max-height: 2.15em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.ln-banner-admin-preview span {
    display: -webkit-box;
    max-height: 2.7em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.ln-banner-admin-preview b {
    flex: 0 0 auto;
}

.ln-banner-crop-controls {
    margin-top: 12px;
    padding: 12px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    border: 1px solid #eee4d8;
    border-radius: 14px;
    background: #fcfaf7;
}

.ln-banner-crop-controls label {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    color: #71645d;
    font-size: 10px;
    font-weight: 700;
}

.ln-banner-crop-controls label > span {
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

.ln-banner-crop-controls label b {
    color: #a77b45;
    font-size: 10px;
}

.ln-banner-crop-controls input[type="range"] {
    width: 100%;
    accent-color: #b58a55;
}

.ln-banner-crop-reset {
    grid-column: 1 / -1;
    width: fit-content;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid #dec9a5;
    border-radius: 999px;
    background: #fff;
    color: #8f6838;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
}

/* =========================
   ADMIN · CONFIGURACIÓN DEL INICIO
========================= */
.ln-inicio-admin {
    padding-bottom: 110px;
}

.ln-inicio-admin-card {
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid #eadfe1;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(76, 55, 60, .04);
}

.ln-inicio-admin-help {
    margin: -2px 0 14px;
    color: #918487;
    font-size: 11px;
    line-height: 1.45;
}

.ln-inicio-switches {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.ln-inicio-switches label {
    min-height: 48px;
    padding: 0 11px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid #eee4e5;
    border-radius: 12px;
    background: #fffdfd;
    color: #66595c;
    font-size: 11px;
    font-weight: 700;
}

.ln-inicio-switches label span {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.ln-inicio-switches label i {
    color: #b58a55;
    font-size: 18px;
}

.ln-inicio-switches input[type="checkbox"] {
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
    accent-color: #b58a55;
}

.ln-inicio-ofertas-preview {
    margin-top: 14px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border: 1px solid #ead4b0;
    border-radius: 18px;
    background: linear-gradient(135deg, #fff7f8, #fffdfd 55%, #fff8ef);
}

.ln-inicio-ofertas-preview small {
    color: #a9804d;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.ln-inicio-ofertas-preview strong {
    margin-top: 5px;
    color: #5a4448;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.ln-inicio-ofertas-preview span {
    margin-top: 6px;
    color: #7e6e70;
    font-size: 11px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.ln-inicio-ofertas-preview b {
    margin-top: 10px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #bc945f;
    color: #fff;
    font-size: 10px;
}

.ln-inicio-save {
    width: 100%;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #d7b173, #c79b59);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

@media (max-width: 600px) {
    .ln-banner-crop-controls,
    .ln-inicio-switches {
        grid-template-columns: 1fr;
    }

    .categorias-inicio .categoria-card {
        flex-basis: 42.5%;
    }
}

@media (min-width: 820px) {
    .categorias-inicio .categoria-card {
        flex: 0 0 calc((100% - 36px) / 4);
    }

    .categorias-vista-completa .categorias-grid-completo {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 18px;
    }

    .ln-banner-card {
        min-height: 300px;
        height: 300px;
        padding: 28px 52% 28px 36px;
    }

    .ln-banner-contenido > strong {
        font-size: 31px;
    }

    .ln-banner-subtitulo {
        font-size: 13px;
    }

    .ln-banner-boton {
        padding: 9px 15px;
        font-size: 11px;
    }

    .ln-banner-admin-preview {
        min-height: 250px;
        height: 250px;
    }
}

/* Capas de imagen: cover real + zoom sin dejar franjas vacías. */
.ln-banner-fondo,
.ln-banner-admin-preview-fondo {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    background-color: #f8eee8;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    transition: transform .16s ease, background-position .16s ease;
    pointer-events: none;
}

.ln-banner-card.con-imagen::before,
.ln-banner-admin-preview.con-imagen::before {
    z-index: 1;
}

.ln-banner-admin-preview > i {
    z-index: 1;
}

/* =========================================================
   LN · TANDA 30-08-2026 C · CORRECCIONES + ENCUESTAS + LIVE
========================================================= */

/* =========================
   BADGES CABECERA · CENTRADO REAL (PC Y MÓVIL)
========================= */
.cabecera .contador-favoritos,
.cabecera .contador-carrito-cabecera,
.ln-desktop-nav .contador-favoritos,
.ln-desktop-nav .contador-carrito {
    min-width: 18px !important;
    width: auto !important;
    height: 18px !important;
    padding: 0 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    text-align: center !important;
    font-size: 9px !important;
    font-variant-numeric: tabular-nums;
}

@media (min-width: 820px) {
    .ln-desktop-nav .contador-favoritos,
    .ln-desktop-nav .contador-carrito {
        position: static !important;
        flex: 0 0 auto;
        transform: none !important;
        border: 0 !important;
        vertical-align: middle;
    }
}

/* =========================
   BANNERS · FORMATO CAMPAÑA DE BORDE A BORDE
========================= */
.ln-banners-inicio {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 24px 0 8px;
    overflow: hidden;
}

.ln-banners-track {
    gap: 0;
}

.ln-banner-card {
    flex-basis: 100vw;
    width: 100vw;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    padding-left: max(20px, calc((100vw - min(1180px, calc(100vw - 32px))) / 2 + 18px));
    padding-right: 46%;
}

.ln-banner-anterior { left: 12px; }
.ln-banner-siguiente { right: 12px; }

@media (min-width: 820px) {
    .ln-banner-card {
        padding-left: max(40px, calc((100vw - 1180px) / 2 + 24px));
        padding-right: 54%;
    }
}

/* =========================
   ADMIN BANNERS · FOTO LIMPIA PARA ENCUADRAR
========================= */
.ln-banner-admin-preview-tools {
    margin-bottom: 8px;
    display: flex;
    justify-content: flex-end;
}

.ln-banner-admin-preview-tools button {
    min-height: 34px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #dfc99f;
    border-radius: 999px;
    background: #fffaf2;
    color: #8f6838;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
}

.ln-banner-admin-preview.con-imagen::before {
    background: linear-gradient(90deg, rgba(255,250,247,.54), rgba(255,250,247,.24) 52%, rgba(255,250,247,.03));
}

.ln-banner-admin-preview.texto-oculto::before,
.ln-banner-admin-preview.texto-oculto > div,
.ln-banner-admin-preview.texto-oculto > i {
    display: none !important;
}

/* =========================
   NUEVA CATEGORÍA · EDITOR ANTES DE GUARDAR
========================= */
.admin-categoria-nueva-editor {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #eee3df;
    border-radius: 16px;
    background: #fffdfc;
}

.admin-categoria-nueva-editor[hidden] {
    display: none !important;
}

.admin-categoria-nueva-editor .admin-categoria-imagen-preview {
    width: 100%;
    min-height: 180px;
    margin-bottom: 10px;
    box-sizing: border-box;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 100%;
    touch-action: none;
}

.admin-categoria-nueva-controles {
    margin-top: 10px;
    display: grid;
    gap: 9px;
}

.admin-categoria-nueva-controles label {
    display: grid;
    gap: 5px;
    color: #6e6063;
    font-size: 10px;
    font-weight: 700;
}

.admin-categoria-nueva-controles label > span {
    display: flex;
    justify-content: space-between;
}

.admin-categoria-nueva-controles b {
    color: #a77b45;
}

.admin-categoria-nueva-controles input[type="range"] {
    width: 100%;
    accent-color: #b58a55;
}

.admin-categoria-nueva-acciones-imagen {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-categoria-nueva-acciones-imagen button {
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid #e0cfb2;
    border-radius: 999px;
    background: #fff;
    color: #8c693f;
    font-size: 10px;
    font-weight: 700;
}

/* =========================
   AYÚDANOS A ELEGIR · PÚBLICO
========================= */
.ln-encuestas-inicio {
    margin: 24px 0 8px;
    padding: 18px 14px 12px;
    border: 1px solid #ead4b0;
    border-radius: 22px;
    background: linear-gradient(135deg, #fff7f8, #fffdfd 55%, #fff8ef);
    box-shadow: 0 5px 16px rgba(91, 71, 52, .05);
}

.ln-encuestas-inicio[hidden] { display: none !important; }

.ln-encuestas-cabecera {
    margin-bottom: 12px;
}

.ln-encuestas-cabecera > small {
    color: #a9804d;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.ln-encuestas-cabecera h2 {
    margin: 4px 0 2px;
    color: #5a4448;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: 500;
}

.ln-encuestas-cabecera p {
    margin: 0;
    color: #827477;
    font-size: 11px;
    line-height: 1.4;
}

.ln-encuestas-viewport { position: relative; }

.ln-encuestas-track {
    display: flex;
    gap: 0;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.ln-encuestas-track::-webkit-scrollbar { display: none; }

.ln-encuesta-slide {
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.ln-encuesta-card {
    min-width: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: 42% minmax(0, 1fr);
    border: 4px solid #fff;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(86, 66, 56, .08);
}

.ln-encuesta-media {
    position: relative;
    min-height: 300px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: #f5eee7;
    color: #c2a77e;
}

.ln-encuesta-media > i { font-size: 56px; opacity: .6; }

.ln-encuesta-imagen,
.ln-encuesta-admin-image {
    position: absolute;
    inset: 0;
    display: block;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
}

.ln-encuesta-no-disponible {
    position: absolute;
    left: 9px;
    bottom: 9px;
    z-index: 2;
    max-width: calc(100% - 18px);
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,.9);
    color: #9c7545;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .4px;
    white-space: nowrap;
}

.ln-encuesta-info {
    min-width: 0;
    padding: 14px 12px 12px;
    display: flex;
    flex-direction: column;
}

.ln-encuesta-prueba-label {
    align-self: flex-start;
    padding: 4px 7px;
    border-radius: 999px;
    background: #f6f0e9;
    color: #a07a4d;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .45px;
}

.ln-encuesta-info h3 {
    margin: 7px 0 3px;
    color: #52484a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.08;
    overflow-wrap: anywhere;
}

.ln-encuesta-descripcion {
    margin: 0 0 8px;
    display: -webkit-box;
    overflow: hidden;
    color: #8b7f81;
    font-size: 9px;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
}

.ln-encuesta-precio-label {
    color: #9c9191;
    font-size: 8px;
}

.ln-encuesta-precio {
    margin-top: 2px;
    color: var(--ln-dorado-valor-fuerte, #9d6f38);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
}

.ln-encuesta-votos {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}

.ln-encuesta-votos button {
    min-width: 0;
    min-height: 34px;
    padding: 5px 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 1px solid #eadfd8;
    border-radius: 10px;
    background: #fff;
    color: #786c6d;
    font-size: 8px;
    font-weight: 700;
    line-height: 1.15;
    cursor: pointer;
}

.ln-encuesta-votos button i { color: #b58a55; font-size: 14px; }
.ln-encuesta-votos button:first-child i { color: #c68b91; }
.ln-encuesta-votos button.seleccionado {
    border-color: #d9bd8f;
    background: #fff8ed;
    color: #8e6739;
    box-shadow: 0 0 0 2px rgba(201,160,101,.11);
}

.ln-encuesta-resultados {
    margin-top: auto;
    padding-top: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ln-encuesta-ring {
    --ln-vote: 0deg;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(#bd945d var(--ln-vote), #eee7df 0);
    position: relative;
}

.ln-encuesta-ring::after {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: 50%;
    background: #fff;
}

.ln-encuesta-ring b { position: relative; z-index: 1; color: #9d7445; font-size: 9px; }

.ln-encuesta-resultados > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ln-encuesta-resultados strong { color: #9d7445; font-size: 9px; }
.ln-encuesta-resultados span { color: #716567; font-size: 8px; }
.ln-encuesta-resultados small { margin-top: 2px; color: #9f9392; font-size: 7px; line-height: 1.2; }

.ln-encuesta-flecha {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 30px;
    height: 30px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid #e4d6c0;
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: #a77b45;
    transform: translateY(-50%);
    box-shadow: 0 3px 8px rgba(85,65,52,.08);
}
.ln-encuesta-flecha i { font-size: 20px; }
.ln-encuesta-anterior { left: 6px; }
.ln-encuesta-siguiente { right: 6px; }

.ln-encuestas-puntos {
    min-height: 17px;
    padding-top: 8px;
    display: flex;
    justify-content: center;
    gap: 6px;
}

.ln-encuesta-punto {
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 99px;
    background: #ddd3c6;
}
.ln-encuesta-punto.activo { width: 18px; background: #bc945f; }
.ln-encuesta-unica .ln-encuesta-flecha,
.ln-encuesta-unica .ln-encuestas-puntos { display: none; }

@media (max-width: 360px) {
    .ln-encuesta-card { grid-template-columns: 1fr; }
    .ln-encuesta-media { min-height: 210px; }
    .ln-encuesta-info { min-height: 250px; }
}

@media (min-width: 820px) {
    .ln-encuestas-inicio { padding: 22px; }
    .ln-encuestas-cabecera h2 { font-size: 30px; }
    .ln-encuesta-card { grid-template-columns: minmax(300px, .78fr) minmax(420px, 1.22fr); }
    .ln-encuesta-media { min-height: 390px; }
    .ln-encuesta-info { padding: 30px; }
    .ln-encuesta-info h3 { font-size: 29px; }
    .ln-encuesta-descripcion { font-size: 12px; }
    .ln-encuesta-precio { font-size: 25px; }
    .ln-encuesta-votos button { min-height: 44px; font-size: 11px; }
    .ln-encuesta-resultados strong { font-size: 12px; }
    .ln-encuesta-resultados span { font-size: 10px; }
    .ln-encuesta-resultados small { font-size: 9px; }
}

/* =========================
   AYÚDANOS A ELEGIR · ADMIN
========================= */
.ln-encuesta-admin { padding-bottom: 110px; }

.ln-encuesta-section-preview {
    margin: 12px 0;
    padding: 16px;
    display: flex;
    flex-direction: column;
    border: 1px solid #ead4b0;
    border-radius: 18px;
    background: linear-gradient(135deg, #fff7f8, #fffdfd 55%, #fff8ef);
}
.ln-encuesta-section-preview small { color: #a9804d; font-size: 9px; font-weight: 800; letter-spacing: .8px; }
.ln-encuesta-section-preview strong { margin-top: 5px; color: #5a4448; font-family: Georgia,"Times New Roman",serif; font-size: 21px; font-weight: 500; }
.ln-encuesta-section-preview span { margin-top: 5px; color: #7e6e70; font-size: 11px; line-height: 1.4; }

.ln-encuesta-admin-preview-wrap { margin: 14px 0; }
.ln-encuesta-admin-preview-wrap > small { display: block; margin-bottom: 7px; color: #a9804d; font-size: 9px; font-weight: 800; letter-spacing: 1px; }
.ln-encuesta-admin-preview {
    position: relative;
    height: 250px;
    overflow: hidden;
    border: 4px solid #fff;
    border-radius: 18px;
    background: #f5eee7;
    box-shadow: 0 5px 15px rgba(76,55,60,.08);
}

.ln-encuesta-admin-item {
    margin-bottom: 10px;
    padding: 10px;
    display: grid;
    grid-template-columns: 90px minmax(0,1fr) auto;
    gap: 10px;
    align-items: center;
    border: 1px solid #eee4e4;
    border-radius: 14px;
    background: #fff;
}

.ln-encuesta-admin-item-image {
    width: 90px;
    height: 90px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 12px;
    background-color: #f5eee7;
    background-repeat: no-repeat;
    background-size: cover;
    color: #b89d78;
}

.ln-encuesta-admin-item-info { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ln-encuesta-admin-item-info > div { display: flex; align-items: center; gap: 7px; min-width: 0; }
.ln-encuesta-admin-item-info strong { min-width: 0; color: #5d5052; overflow-wrap: anywhere; }
.ln-encuesta-admin-item-info > div span { padding: 3px 7px; flex: 0 0 auto; border-radius: 99px; font-size: 8px; font-weight: 800; }
.ln-encuesta-admin-item-info > div span.activo { background: #edf6ed; color: #4e7c51; }
.ln-encuesta-admin-item-info > div span.inactivo { background: #f1eeee; color: #887a7c; }
.ln-encuesta-admin-item-info small,
.ln-encuesta-admin-item-info span { color: #8d8081; font-size: 9px; }
.ln-encuesta-admin-item-info b { color: #9d7445; font-size: 10px; }

@media (max-width: 620px) {
    .ln-encuesta-admin-item { grid-template-columns: 76px minmax(0,1fr); }
    .ln-encuesta-admin-item-image { width: 76px; height: 76px; }
    .ln-encuesta-admin-item .ln-banner-admin-item-actions { grid-column: 1 / -1; }
}

/* =========================
   COBROS LIVE · ADMIN
========================= */
.ln-livepay-admin { padding-bottom: 110px; }
.ln-livepay-form-card {
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid #eadfe1;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(76,55,60,.04);
}

.ln-livepay-money {
    display: flex;
    align-items: center;
    border: 1px solid #e1d5d6;
    border-radius: 11px;
    background: #fffdfd;
    overflow: hidden;
}
.ln-livepay-money b { padding-left: 11px; color: #a77b45; font-size: 16px; }
.ln-livepay-money input { border: 0 !important; box-shadow: none !important; }

.ln-livepay-item {
    margin-bottom: 10px;
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid #eee4e4;
    border-radius: 14px;
    background: #fff;
}

.ln-livepay-item-main { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ln-livepay-item-title { display: flex; align-items: center; gap: 8px; }
.ln-livepay-item-title strong { color: #9d6f38; font-family: Georgia,"Times New Roman",serif; font-size: 20px; }
.ln-livepay-item-title span { padding: 4px 8px; border-radius: 999px; font-size: 8px; font-weight: 800; }
.ln-livepay-item-title span.pendiente { background: #fff4df; color: #95672e; }
.ln-livepay-item-title span.pagado { background: #eaf7ec; color: #44764b; }
.ln-livepay-item-title span.vencido,
.ln-livepay-item-title span.cancelado { background: #f2eeee; color: #8b7478; }
.ln-livepay-item-main > b { color: #65595b; overflow-wrap: anywhere; }
.ln-livepay-item-main > small,
.ln-livepay-item-main > span { color: #938789; font-size: 9px; }

.ln-livepay-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.ln-livepay-actions button {
    min-height: 32px;
    padding: 0 10px;
    border: 1px solid #e2d4bd;
    border-radius: 999px;
    background: #fffaf2;
    color: #8f6838;
    font-size: 9px;
    font-weight: 700;
}

@media (max-width: 620px) {
    .ln-livepay-item { align-items: stretch; flex-direction: column; }
    .ln-livepay-actions { justify-content: flex-start; }
}

/* =========================
   COBRO LIVE · PÁGINA CLIENTA
========================= */
.ln-livepay-page {
    min-height: 100vh;
    margin: 0;
    padding: 24px 14px;
    box-sizing: border-box;
    background: linear-gradient(155deg, #fff8f6, #faf6ef 55%, #fff);
    color: #5d5052;
}

.ln-livepay-public-card {
    width: min(620px, 100%);
    margin: 0 auto;
    padding: 18px;
    box-sizing: border-box;
    border: 1px solid #eadfd8;
    border-radius: 24px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 10px 30px rgba(88,66,53,.08);
}

.ln-livepay-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #b28b5a;
    text-decoration: none;
    font-family: Georgia,"Times New Roman",serif;
    font-size: 12px;
    letter-spacing: 1px;
}
.ln-livepay-brand img { width: 66px; height: 66px; object-fit: contain; }

.ln-livepay-loading,
.ln-livepay-error { padding: 45px 10px; text-align: center; }
.ln-livepay-loading i,
.ln-livepay-error > i { color: #b58a55; font-size: 35px; }

.ln-livepay-public-heading { padding: 15px 5px 18px; text-align: center; }
.ln-livepay-public-heading small { color: #a9804d; font-size: 9px; font-weight: 800; letter-spacing: 1px; }
.ln-livepay-public-heading h1 { margin: 6px 0 14px; color: #5a4448; font-family: Georgia,"Times New Roman",serif; font-size: 24px; font-weight: 500; overflow-wrap: anywhere; }
.ln-livepay-public-heading p { margin: 0; color: #94888a; font-size: 10px; }
.ln-livepay-public-heading > strong { display: block; margin-top: 2px; color: #9d6f38; font-family: Georgia,"Times New Roman",serif; font-size: 34px; }
.ln-livepay-public-heading > span { display: block; margin-top: 4px; color: #9a8d8e; font-size: 9px; }

.ln-livepay-public-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
}
.ln-livepay-public-form label { min-width: 0; display: grid; gap: 5px; color: #6d6062; font-size: 10px; font-weight: 700; }
.ln-livepay-public-form label > span small { color: #a49899; font-weight: 400; }
.ln-livepay-public-form input,
.ln-livepay-public-form select,
.ln-livepay-public-form textarea {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 10px 11px;
    box-sizing: border-box;
    border: 1px solid #e3d8d8;
    border-radius: 12px;
    background: #fffdfd;
    color: #514749;
    font-size: 14px;
    outline: none;
}
.ln-livepay-public-form textarea { resize: vertical; }
.ln-livepay-full { grid-column: 1 / -1; }

.ln-livepay-phone { display: flex; align-items: center; border: 1px solid #e3d8d8; border-radius: 12px; background: #fffdfd; overflow: hidden; }
.ln-livepay-phone b { padding-left: 11px; color: #8d7e7f; font-size: 13px; }
.ln-livepay-phone input { border: 0; }

#livepay-pay {
    grid-column: 1 / -1;
    min-height: 50px;
    margin-top: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg,#d7b173,#c79b59);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.ln-livepay-security { grid-column: 1 / -1; margin: 0; color: #9b8e8f; font-size: 9px; line-height: 1.4; text-align: center; }
.ln-livepay-security i { color: #a9804d; }

.ln-livepay-public-status {
    margin: 0 0 14px;
    padding: 11px 12px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
}
.ln-livepay-public-status.pagado { background: #eaf7ec; color: #44764b; }
.ln-livepay-public-status.vencido,
.ln-livepay-public-status.cancelado { background: #f4eeee; color: #8b7478; }
.ln-livepay-public-status.error { background: #fff0ed; color: #a5544b; }

@media (max-width: 520px) {
    .ln-livepay-public-form { grid-template-columns: 1fr; }
    .ln-livepay-full,
    #livepay-pay,
    .ln-livepay-security { grid-column: auto; }
}

/* =========================================================
   CORRECCIÓN FINAL 30-08 · ENCUESTAS / LIVE / BANNERS / UI
========================================================= */

/* AYÚDANOS A ELEGIR · proporción única Admin ↔ público */
.ln-encuestas-inicio {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    padding: 18px 14px 14px;
}

.ln-encuesta-card {
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
    grid-template-columns: 1fr;
    border-width: 3px;
    border-radius: 20px;
}

.ln-encuesta-media,
.ln-encuesta-admin-preview {
    aspect-ratio: 4 / 3;
    min-height: 0 !important;
    height: auto !important;
}

.ln-encuesta-admin-preview {
    width: min(420px, 100%);
    margin-left: auto;
    margin-right: auto;
}

.ln-encuesta-info {
    min-height: 0 !important;
    padding: 16px 15px 14px;
}

.ln-encuesta-info h3 {
    margin-top: 8px;
    font-size: 20px;
    line-height: 1.15;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ln-encuesta-descripcion {
    font-size: 11px;
    line-height: 1.4;
    line-clamp: 2;
    -webkit-line-clamp: 2;
}

.ln-encuesta-precio-label { font-size: 9px; }
.ln-encuesta-precio { font-size: 21px; }

.ln-encuesta-votos {
    margin-top: 11px;
    gap: 7px;
}

.ln-encuesta-votos button {
    min-height: 39px;
    padding: 7px 8px;
    border-radius: 12px;
    font-size: 9px;
    transition: background .16s ease, border-color .16s ease, color .16s ease, transform .12s ease, opacity .16s ease;
}

.ln-encuesta-votos button:active { transform: scale(.97); }
.ln-encuesta-votos button.guardando { opacity: .78; }

.ln-encuesta-resultados {
    margin-top: 12px;
    padding-top: 11px;
    border-top: 1px solid #f0e8df;
}

.ln-encuesta-ring {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
}
.ln-encuesta-ring b { font-size: 10px; }
.ln-encuesta-resultados strong { font-size: 11px; }
.ln-encuesta-resultados span { font-size: 9px; }
.ln-encuesta-resultados small { font-size: 8px; }

@media (min-width: 700px) {
    .ln-encuesta-card {
        grid-template-columns: minmax(280px, 42%) minmax(0, 1fr);
        align-items: start;
    }
    .ln-encuesta-media {
        width: 100%;
        align-self: start;
    }
    .ln-encuesta-info {
        padding: 22px 22px 18px;
    }
    .ln-encuesta-info h3 { font-size: 24px; }
    .ln-encuesta-descripcion { font-size: 12px; }
    .ln-encuesta-precio { font-size: 24px; }
    .ln-encuesta-votos button { min-height: 42px; font-size: 10px; }
}

@media (min-width: 1100px) {
    .ln-encuestas-inicio { max-width: 1040px; }
    .ln-encuesta-card { max-width: 900px; }
}

/* BANNERS · móvil sin margen lateral; PC con ancho máximo elegante */
@media (max-width: 819px) {
    .ln-banners-inicio {
        width: 100dvw;
        margin-left: calc(50% - 50dvw);
        margin-right: calc(50% - 50dvw);
    }
    .ln-banner-card {
        flex-basis: 100dvw;
        width: 100dvw;
    }
}

@media (min-width: 820px) {
    .ln-banners-inicio {
        width: min(1240px, calc(100vw - 48px));
        margin: 24px auto 8px;
        padding-top: 0;
        border-radius: 22px;
    }
    .ln-banner-card {
        flex: 0 0 100%;
        width: 100%;
        border-radius: 22px;
        padding-left: clamp(40px, 5vw, 72px);
        padding-right: 52%;
    }
}

/* CORAZONES · más cerca de la esquina superior derecha */
.producto-card .producto-favorito,
.producto-card .producto-favorito.ln-heart {
    top: 5px !important;
    right: 5px !important;
}

/* COBROS LIVE · estados y acciones */
.ln-livepay-item-title span.limite {
    background: #f4efe6;
    color: #826743;
}

.ln-livepay-actions .danger {
    border-color: #ead0d0;
    background: #fff7f7;
    color: #a35f5f;
}

.ln-livepay-order-link {
    min-height: 32px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid #d7c294;
    border-radius: 999px;
    background: #fffaf0;
    color: #8f6838;
    font-size: 9px;
    font-weight: 700;
    text-decoration: none;
}

.ln-livepay-public-status.limite {
    background: #f4efe6;
    color: #826743;
}

/* PIE INFORMATIVO · las cuatro tarjetas comparten exactamente el tono */
.info-tienda .info-item,
.info-tienda .info-item:nth-child(-n + 2) {
    background: #ffffff;
    border-color: #eadfe1;
    box-shadow: 0 4px 10px rgba(76, 55, 60, 0.05);
    cursor: default;
}

.info-tienda .info-item .info-icono,
.info-tienda .info-item:nth-child(-n + 2) .info-icono {
    background: #fff8f6;
    border-color: #ead7bd;
    color: #a97d43;
    box-shadow: 0 2px 6px rgba(91, 71, 76, 0.05);
}

.info-tienda .info-item h3,
.info-tienda .info-item:nth-child(-n + 2) h3 { color: #5b474c; }
.info-tienda .info-item p,
.info-tienda .info-item:nth-child(-n + 2) p { color: #806f73; }

/* Pedido Live claramente identificable en Admin */
.admin-pedido-live-badge {
    margin-left: 6px;
    padding: 3px 7px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #fff3d9;
    color: #94692f;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .35px;
    vertical-align: middle;
}
.admin-pedido-card.admin-pedido-destacado {
    outline: 2px solid rgba(188, 148, 95, .45);
    outline-offset: 2px;
    box-shadow: 0 8px 24px rgba(125, 92, 53, .12);
}

/* ENCUESTAS · layout fiel a la maqueta: foto izquierda + voto derecha */
.ln-encuesta-card {
    max-width: 860px;
    grid-template-columns: 42% minmax(0, 58%);
    align-items: stretch;
}

.ln-encuesta-media {
    aspect-ratio: auto;
    min-height: 290px !important;
    height: auto !important;
    align-self: stretch;
}

.ln-encuesta-admin-preview {
    width: min(42%, 180px);
    min-width: 130px;
    height: 290px !important;
    aspect-ratio: auto;
    margin-left: auto;
    margin-right: auto;
}

.ln-encuesta-imagen,
.ln-encuesta-admin-image {
    background-size: 100%;
}

.ln-encuesta-info {
    justify-content: flex-start;
}

.ln-encuesta-resultados {
    margin-top: auto;
}

@media (max-width: 360px) {
    .ln-encuesta-card { grid-template-columns: 42% minmax(0, 58%); }
    .ln-encuesta-media { min-height: 275px !important; }
    .ln-encuesta-admin-preview { height: 275px !important; }
    .ln-encuesta-info { padding: 12px 9px 10px; }
    .ln-encuesta-info h3 { font-size: 16px; }
    .ln-encuesta-votos { gap: 5px; }
    .ln-encuesta-votos button { min-height: 34px; padding: 5px 4px; font-size: 8px; }
    .ln-encuesta-ring { width: 40px; height: 40px; flex-basis: 40px; }
}

@media (min-width: 700px) {
    .ln-encuesta-card {
        max-width: 860px;
        grid-template-columns: 42% minmax(0, 58%);
    }
    .ln-encuesta-media { min-height: 340px !important; }
    .ln-encuesta-admin-preview {
        width: 361px;
        max-width: 42%;
        height: 340px !important;
    }
}


/* =========================================================
   LN · TANDA CORRECCIÓN 30-08-2026 E
   Encuestas · Banners · Cobros Live · Admin Pedidos
========================================================= */

/* =========================
   AYÚDANOS A ELEGIR · TARJETA COMPACTA + FOTO 1:1
========================= */
.ln-encuestas-inicio {
    max-width: 940px;
    padding: 18px 16px 13px;
    overflow: visible;
}

.ln-encuestas-viewport {
    position: relative;
    overflow: visible;
}

.ln-encuesta-card {
    width: min(760px, 100%);
    max-width: 760px;
    margin: 0 auto;
    grid-template-columns: minmax(118px, 40%) minmax(0, 1fr);
    align-items: start;
    border-width: 3px;
    border-radius: 18px;
    overflow: hidden;
}

.ln-encuesta-media,
.ln-encuesta-admin-preview {
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    height: auto !important;
}

.ln-encuesta-media {
    width: 100%;
    align-self: start;
}

.ln-encuesta-imagen,
.ln-encuesta-admin-image {
    background-size: cover !important;
    background-repeat: no-repeat;
    will-change: transform, background-position;
    transition: transform .14s ease, background-position .14s ease;
}

.ln-encuesta-info {
    min-height: 0 !important;
    padding: 13px 12px 12px;
    justify-content: flex-start;
}

.ln-encuesta-info h3 {
    margin: 6px 0 3px;
    font-size: 18px;
    line-height: 1.12;
}

.ln-encuesta-descripcion {
    margin-bottom: 6px;
    font-size: 9px;
    line-height: 1.35;
}

.ln-encuesta-precio { font-size: 19px; }
.ln-encuesta-votos { margin-top: 8px; gap: 5px; }
.ln-encuesta-votos button {
    min-height: 34px;
    padding: 5px 5px;
    font-size: 8px;
}
.ln-encuesta-votos button.guardando { opacity: .72; }

.ln-encuesta-resultados {
    margin-top: 9px;
    padding-top: 8px;
    gap: 7px;
}
.ln-encuesta-ring { width: 42px; height: 42px; flex-basis: 42px; }
.ln-encuesta-resultados strong { font-size: 10px; }
.ln-encuesta-resultados span { font-size: 8px; }
.ln-encuesta-resultados small { font-size: 7px; }

/* Flechas fuera del área útil de foto/texto. */
.ln-encuesta-flecha {
    width: 30px;
    height: 30px;
    top: 50%;
    z-index: 8;
}
.ln-encuesta-anterior { left: -18px; }
.ln-encuesta-siguiente { right: -18px; }

/* Preview Admin: exactamente el mismo cuadrado y la misma fórmula de encuadre. */
.ln-encuesta-admin-preview {
    width: min(360px, 100%) !important;
    max-width: 360px !important;
    margin: 0 auto;
}

.ln-encuesta-toast {
    position: fixed;
    left: 50%;
    bottom: 86px;
    z-index: 9999;
    max-width: calc(100vw - 32px);
    padding: 10px 14px;
    border: 1px solid #efcfca;
    border-radius: 999px;
    background: #fff5f2;
    color: #9a544d;
    box-shadow: 0 8px 22px rgba(77, 55, 50, .14);
    font-size: 11px;
    font-weight: 700;
    opacity: 0;
    transform: translate(-50%, 10px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}
.ln-encuesta-toast.visible { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 390px) {
    .ln-encuestas-inicio { padding-left: 13px; padding-right: 13px; }
    .ln-encuesta-card { grid-template-columns: minmax(112px, 39%) minmax(0, 1fr); }
    .ln-encuesta-info { padding: 11px 9px 10px; }
    .ln-encuesta-info h3 { font-size: 16px; }
    .ln-encuesta-prueba-label { font-size: 6.5px; }
    .ln-encuesta-votos button { min-height: 32px; font-size: 7.5px; }
    .ln-encuesta-anterior { left: -13px; }
    .ln-encuesta-siguiente { right: -13px; }
}

@media (min-width: 700px) {
    .ln-encuesta-card {
        width: min(780px, 100%);
        max-width: 780px;
        grid-template-columns: 300px minmax(0, 1fr);
    }
    .ln-encuesta-info { padding: 22px 24px 18px; }
    .ln-encuesta-info h3 { font-size: 25px; }
    .ln-encuesta-descripcion { font-size: 11px; }
    .ln-encuesta-precio { font-size: 24px; }
    .ln-encuesta-votos { gap: 7px; }
    .ln-encuesta-votos button { min-height: 41px; font-size: 10px; }
    .ln-encuesta-resultados strong { font-size: 11px; }
    .ln-encuesta-resultados span { font-size: 9px; }
    .ln-encuesta-resultados small { font-size: 8px; }
    .ln-encuesta-anterior { left: -20px; }
    .ln-encuesta-siguiente { right: -20px; }
}

/* =========================
   BANNERS · ZONA SEGURA + TAMAÑO FINAL
========================= */
.ln-banner-admin-preview.con-imagen::before {
    background: linear-gradient(90deg, rgba(255,250,247,.28), rgba(255,250,247,.12) 52%, rgba(255,250,247,.01));
}

@media (max-width: 819px) {
    .ln-banners-inicio {
        width: 100dvw;
        margin-left: calc(50% - 50dvw);
        margin-right: calc(50% - 50dvw);
    }
    .ln-banner-card {
        flex-basis: 100dvw;
        width: 100dvw;
        min-height: 208px;
        height: 208px;
        padding-left: 54px;
        padding-right: 43%;
    }
    .ln-banner-anterior { left: 7px; }
    .ln-banner-siguiente { right: 7px; }
}

@media (min-width: 820px) {
    .ln-banners-inicio {
        width: min(1460px, calc(100vw - 56px));
        max-width: 1460px;
        margin: 24px auto 8px;
        border-radius: 24px;
    }
    .ln-banner-card {
        flex: 0 0 100%;
        width: 100%;
        min-height: clamp(300px, 23vw, 360px);
        height: clamp(300px, 23vw, 360px);
        padding-left: clamp(64px, 5vw, 82px);
        padding-right: 52%;
        border-radius: 24px;
    }
    .ln-banner-anterior { left: 12px; }
    .ln-banner-siguiente { right: 12px; }
}

/* =========================
   ADMIN PEDIDOS · VISUAL TIPO PRODUCTOS/CATEGORÍAS
========================= */
.admin-filtros-pedidos {
    gap: 7px;
    padding: 6px;
    scroll-snap-type: x proximity;
    overscroll-behavior-x: contain;
}

.admin-filtro-pedido {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    scroll-snap-align: start;
}

.admin-filtro-pedido-count {
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-radius: 999px;
    background: #f5eeee;
    color: #8f7c80;
    font-size: 9px;
    font-weight: 800;
}
.admin-filtro-pedido.activo .admin-filtro-pedido-count {
    background: rgba(255,255,255,.22);
    color: #fff;
}

.admin-todos-pedidos { gap: 14px; }

.admin-pedido-card {
    padding: 15px;
    border-color: #eadfda;
    border-radius: 20px;
    box-shadow: 0 5px 16px rgba(76,55,60,.055);
}

.admin-pedido-superior {
    margin: 0 0 11px;
    padding: 0 0 10px;
    border-bottom: 0;
}
.admin-pedido-superior small {
    margin-bottom: 5px;
    color: #a47c48;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .25px;
}
.admin-pedido-superior > span {
    padding-top: 2px;
    color: #9a8b8d;
}
.admin-pedido-nombre-linea { flex-wrap: wrap; gap: 7px; }
.admin-pedido-nombre-linea > strong {
    font-size: 18px;
    line-height: 1.15;
}

.admin-pedido-datos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}
.admin-pedido-datos p {
    min-width: 0;
    padding: 9px 8px;
    align-items: center;
    border: 1px solid #f0e7e2;
    border-radius: 11px;
    background: #fffdfb;
    font-size: 10px;
    overflow-wrap: anywhere;
}
.admin-pedido-datos i { margin-top: 0; flex: 0 0 auto; }

.admin-pedido-inferior {
    margin-top: 10px;
    padding-top: 10px;
    align-items: center;
    border-top: 1px solid #f2ebe7;
}
.admin-pedido-total {
    display: flex;
    flex-direction: column;
    color: var(--ln-dorado-valor-fuerte, #9d6f38) !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px !important;
    line-height: 1.05;
}
.admin-pedido-total small {
    margin-bottom: 3px;
    color: #9d8e8b;
    font-family: Arial, sans-serif;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.admin-pedido-estados {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 5px !important;
}
.admin-pedido-badge {
    padding: 5px 8px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    font-size: 8.5px !important;
    font-weight: 800 !important;
    text-transform: capitalize;
}
.admin-pedido-badge-pago.pagado { background:#edf8f0 !important; border-color:#cce3d3 !important; color:#4f775a !important; }
.admin-pedido-badge-pago.pendiente { background:#fff5e4 !important; border-color:#ead5a8 !important; color:#8b682d !important; }
.admin-pedido-badge-pago.fallido { background:#fff0ef !important; border-color:#eccbc8 !important; color:#a65b55 !important; }
.admin-pedido-badge-estado.nuevo { background:#fff2f5 !important; border-color:#eccfd6 !important; color:#a65f70 !important; }
.admin-pedido-badge-estado.armado { background:#fff8e9 !important; border-color:#ead5a8 !important; color:#89682f !important; }
.admin-pedido-badge-estado.enviado { background:#eef6fb !important; border-color:#cadfe9 !important; color:#527488 !important; }
.admin-pedido-badge-estado.entregado { background:#eef8f1 !important; border-color:#cce3d3 !important; color:#52745d !important; }

.admin-pedido-desplegar {
    margin-top: 11px;
    padding-top: 10px;
}

.admin-pedido-detalle {
    padding: 13px;
    border-color: #eee2dd;
    background: #fffdfc;
}

.admin-pedido-producto {
    padding: 9px;
    margin-bottom: 7px;
    border: 1px solid #eee5e1;
    border-radius: 12px;
    background: #fff;
}
.admin-pedido-producto:last-child { margin-bottom: 0; padding-bottom: 9px; border-bottom: 1px solid #eee5e1; }
.admin-pedido-producto-imagen { width: 54px; height: 54px; min-width: 54px; }
.admin-pedido-producto-info strong { white-space: normal; line-height: 1.2; }
.admin-pedido-producto-subtotal {
    flex: 0 0 auto;
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
}
.admin-pedido-producto-subtotal small { color:#9b8c8e; font-size:7px; text-transform:uppercase; letter-spacing:.45px; }
.admin-pedido-producto-subtotal b { color:#9d7445; font-size:12px; }

.admin-pedido-botones { gap: 7px; }
.admin-pedido-avanzar,
.admin-pedido-retroceder,
.admin-pedido-ver { font-weight: 700; }

@media (max-width: 520px) {
    .admin-pedido-card { padding: 13px; }
    .admin-pedido-superior { gap: 8px; }
    .admin-pedido-nombre-linea > strong { font-size: 16px; }
    .admin-pedido-datos { grid-template-columns: 1fr 1fr; }
    .admin-pedido-datos p:last-child { grid-column: 1 / -1; }
    .admin-pedido-inferior { align-items: flex-start; }
    .admin-pedido-estados { max-width: 58%; }
    .admin-pedido-producto { align-items: flex-start; }
    .admin-pedido-producto-subtotal { align-self: center; }
}

/* =========================================================
   LN · MINI-TANDA CORRECTIVA 30-08-2026 F
   Encuestas: layout + preview real + pausa/loop
   Banners: preview visible + encuadre 1:1 Admin↔tienda + centrado PC
========================================================= */

/* =========================
   ENCUESTAS · IMAGEN REAL Y ENCUADRE IDÉNTICO
========================= */
.ln-encuesta-imagen,
.ln-encuesta-admin-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    display: block !important;
    object-fit: cover !important;
    object-position: 50% 50%;
    background: none !important;
    pointer-events: none;
}

.ln-encuesta-admin-image[hidden] {
    display: none !important;
}

.ln-encuesta-admin-preview {
    position: relative;
    width: min(420px, 100%) !important;
    max-width: 420px !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    margin-inline: auto;
    overflow: hidden;
}

/* =========================
   ENCUESTAS · MÓVIL SIN HUECO BAJO LA FOTO
   Arriba: foto más grande + datos. Abajo: votos/resultados a todo el ancho.
========================= */
.ln-encuesta-card {
    width: min(800px, 100%);
    max-width: 800px;
    grid-template-columns: minmax(142px, 46%) minmax(0, 1fr) !important;
    grid-template-areas:
        "media info"
        "interaction interaction";
    align-items: start;
}

.ln-encuesta-media {
    grid-area: media;
    width: 100%;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: start;
}

.ln-encuesta-info {
    grid-area: info;
    min-height: 0 !important;
    padding: 13px 11px 10px;
}

.ln-encuesta-info h3 {
    display: -webkit-box;
    margin: 6px 0 4px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    font-size: 17px;
    line-height: 1.1;
}

.ln-encuesta-descripcion {
    margin-bottom: 6px;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.ln-encuesta-interaccion {
    grid-area: interaction;
    min-width: 0;
    padding: 10px 12px 12px;
    border-top: 1px solid #f0e7e1;
    background: #fff;
}

.ln-encuesta-interaccion .ln-encuesta-votos {
    margin-top: 0;
}

.ln-encuesta-interaccion .ln-encuesta-resultados {
    margin-top: 9px;
    padding-top: 9px;
    border-top: 1px solid #f0e7e1;
}

@media (max-width: 390px) {
    .ln-encuesta-card {
        grid-template-columns: minmax(138px, 46%) minmax(0, 1fr) !important;
    }
    .ln-encuesta-info {
        padding: 11px 9px 8px;
    }
    .ln-encuesta-info h3 {
        font-size: 15px;
    }
    .ln-encuesta-descripcion {
        font-size: 8px;
    }
    .ln-encuesta-precio-label {
        font-size: 7.5px;
    }
    .ln-encuesta-precio {
        font-size: 17px;
    }
    .ln-encuesta-interaccion {
        padding: 9px 9px 10px;
    }
}

@media (min-width: 700px) {
    .ln-encuesta-card {
        width: min(860px, 100%);
        max-width: 860px;
        grid-template-columns: 320px minmax(0, 1fr) !important;
        grid-template-areas:
            "media info"
            "media interaction";
    }
    .ln-encuesta-media {
        width: 320px;
        max-width: 100%;
    }
    .ln-encuesta-info {
        padding: 22px 24px 12px;
    }
    .ln-encuesta-interaccion {
        padding: 8px 24px 18px;
        border-top: 0;
    }
    .ln-encuesta-interaccion .ln-encuesta-votos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================
   BANNER ADMIN · LA CAPA DE FOTO NO PUEDE HEREDAR EL RECORTE DE TEXTO
   El selector antiguo .ln-banner-admin-preview span limitaba la altura del
   <span> que contiene la imagen y por eso solo se veía una franja superior.
========================= */
.ln-banner-admin-preview > .ln-banner-admin-preview-fondo {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    -webkit-box-orient: initial !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

.ln-banner-admin-preview.texto-oculto > .ln-banner-admin-preview-fondo {
    display: block !important;
}

/* La capa crema/texto se apaga por completo al encuadrar. */
.ln-banner-admin-preview.texto-oculto::before,
.ln-banner-admin-preview.texto-oculto > div,
.ln-banner-admin-preview.texto-oculto > i {
    display: none !important;
}

/* =========================
   BANNERS · MISMA PROPORCIÓN ADMIN ↔ TIENDA
========================= */
@media (max-width: 819px) {
    .ln-banner-card,
    .ln-banner-admin-preview {
        aspect-ratio: 1.72 / 1 !important;
        min-height: 0 !important;
        height: auto !important;
    }
    .ln-banner-card {
        flex: 0 0 100dvw !important;
        width: 100dvw !important;
    }
    .ln-banner-admin-preview {
        width: 100% !important;
    }
}

@media (min-width: 820px) {
    /* Centrado contra el viewport, no contra el contenedor interno de Inicio. */
    .ln-banners-inicio {
        position: relative;
        left: 50%;
        width: min(1460px, calc(100vw - 56px));
        max-width: 1460px;
        margin: 24px 0 8px !important;
        transform: translateX(-50%);
    }

    .ln-banner-card,
    .ln-banner-admin-preview {
        aspect-ratio: 4 / 1 !important;
        min-height: 0 !important;
        height: auto !important;
    }

    .ln-banner-card {
        flex: 0 0 100% !important;
        width: 100% !important;
    }

    .ln-banner-admin-preview {
        width: 100% !important;
    }
}


/* =========================================================
   LN · TANDA PULIDO 31-08-2026 G
   Banner PC · Flechas · Inicio Admin · Resultados Encuestas
========================================================= */

/* Visibilidad del Inicio: el atributo hidden siempre manda. */
#opiniones-clientas[hidden],
.info-tienda[hidden] { display: none !important; }

.ln-inicio-save-inline { margin-top: 14px; }
.ln-inicio-ofertas-actions {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: center;
}
.ln-inicio-ofertas-actions .ln-inicio-save { margin: 0; }
.ln-inicio-restore {
    min-height: 42px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid #dec9a5;
    border-radius: 999px;
    background: #fffdf8;
    color: #8f6838;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

/* Carruseles generales: Categorías usa exactamente el estilo de Nuevos ingresos. */
.categorias-flecha {
    appearance: none;
    width: 34px;
    height: 34px;
    padding: 0 0 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #ffffff 0%, #fff8f5 100%);
    border: 1px solid #d9b980;
    border-radius: 50%;
    color: #9d7138;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 3px 8px rgba(91,71,76,.07), inset 0 0 0 3px #fff, inset 0 0 0 4px rgba(217,185,128,.18);
    transition: transform .18s ease, box-shadow .18s ease;
}
.categorias-flecha:active { transform: scale(.93); }

/* Encuesta: controles realmente fuera del cuerpo blanco, sin apretar foto/botones. */
.ln-encuestas-viewport { padding-inline: 17px; }
.ln-encuesta-anterior { left: -2px !important; }
.ln-encuesta-siguiente { right: -2px !important; }
@media (max-width: 390px) {
    .ln-encuestas-inicio { padding-left: 10px; padding-right: 10px; }
    .ln-encuestas-viewport { padding-inline: 19px; }
    .ln-encuesta-flecha { width: 28px; height: 28px; }
    .ln-encuesta-flecha i { font-size: 18px; }
    .ln-encuesta-anterior { left: 0 !important; }
    .ln-encuesta-siguiente { right: 0 !important; }
}

/* Banner PC: más contenido, centrado y cercano al ancho visual de las 4 categorías. */
@media (min-width: 820px) {
    .ln-banners-inicio {
        left: 50%;
        width: min(980px, calc(100vw - 96px)) !important;
        max-width: 980px !important;
        transform: translateX(-50%);
    }
    .ln-banner-card,
    .ln-banner-admin-preview {
        aspect-ratio: 3.15 / 1 !important;
    }
    .ln-banner-card {
        padding-left: clamp(54px, 4.5vw, 72px);
        padding-right: 48%;
    }
}

/* Banner Admin: acción explícita para quitar imagen. */
.ln-banner-image-actions { margin-top: 8px; }
.ln-banner-image-actions button {
    min-height: 34px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #e2cdb0;
    border-radius: 999px;
    background: #fffaf3;
    color: #956a3d;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

/* Encuestas Admin: jerarquía legible de resultados. */
.ln-encuesta-admin-item-info { gap: 5px !important; }
.ln-encuesta-admin-meta { font-size: 10px !important; }
.ln-encuesta-admin-result-main {
    margin-top: 3px;
    padding: 9px 10px;
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 7px;
    align-items: baseline;
    border: 1px solid #ead9bd;
    border-radius: 12px;
    background: #fffaf2;
}
.ln-encuesta-admin-result-main > b {
    grid-row: 1 / span 2;
    color: #a67840;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    line-height: 1;
}
.ln-encuesta-admin-result-main > span { color: #735d49; font-size: 12px; font-weight: 800; }
.ln-encuesta-admin-result-main > small { color: #9a8b80; font-size: 9px; }
.ln-encuesta-admin-breakdown {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px 8px;
}
.ln-encuesta-admin-breakdown > span {
    padding: 6px 7px;
    border-radius: 9px;
    background: #faf8f5;
    color: #75686a;
    font-size: 9px;
    line-height: 1.25;
}
.ln-encuesta-admin-breakdown b { color: #655759; font-weight: 800; }
.ln-encuesta-admin-breakdown small { color: #a29596; font-size: 8px; }
@media (max-width: 430px) {
    .ln-encuesta-admin-result-main > b { font-size: 22px; }
    .ln-encuesta-admin-breakdown { grid-template-columns: 1fr; }
}


/* =========================================================
   LN · TANDA H 31-08-2026
   Tabs Admin · Encuestas · Banner PC
========================================================= */

/* Pestañas comunes del Admin, mismo lenguaje visual que Productos/Categorías. */
.ln-admin-view-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    padding: 5px;
    margin: 16px 0 18px;
    background: #f6f1ee;
    border: 1px solid #eadfda;
    border-radius: 999px;
}
.ln-admin-view-tab {
    min-height: 44px;
    padding: 0 12px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #756b67;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
.ln-admin-view-tab i {
    margin-right: 5px;
    font-size: 17px;
    vertical-align: -2px;
}
.ln-admin-view-tab.activo {
    background: #fff;
    color: #8d6a2c;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
[data-ln-panel][hidden] { display: none !important; }

/* Encuestas Admin: las cuatro respuestas SIEMPRE quedan dentro de la tarjeta. */
.ln-encuesta-admin-breakdown {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    min-width: 0;
    width: 100%;
}
.ln-encuesta-admin-breakdown > span {
    min-width: 0;
    padding: 7px 8px !important;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 3px;
    overflow-wrap: anywhere;
    white-space: normal;
}
@media (max-width: 360px) {
    .ln-encuesta-admin-breakdown { grid-template-columns: 1fr !important; }
}

/* Encuesta pública: flechas simples, fuera de la tarjeta grande de la sección. */
.ln-encuestas-inicio {
    position: relative;
    overflow: visible;
}
.ln-encuestas-viewport {
    overflow: visible;
    padding-inline: 4px !important;
}
.ln-encuesta-flecha {
    width: 24px !important;
    height: 38px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #9f7441 !important;
    opacity: .88;
}
.ln-encuesta-flecha i { font-size: 27px !important; }
.ln-encuesta-anterior { left: -30px !important; }
.ln-encuesta-siguiente { right: -30px !important; }
.ln-encuesta-card {
    width: 100% !important;
    max-width: none !important;
}
@media (max-width: 430px) {
    .ln-encuestas-inicio {
        margin-left: 7px;
        margin-right: 7px;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .ln-encuestas-viewport { padding-inline: 0 !important; }
    .ln-encuesta-anterior { left: -31px !important; }
    .ln-encuesta-siguiente { right: -31px !important; }
    .ln-encuesta-card {
        grid-template-columns: minmax(150px, 47%) minmax(0,1fr) !important;
    }
}

/* Banner PC: un poco más alto para conservar más de la foto editada sin volverlo gigante. */
@media (min-width: 820px) {
    .ln-banners-inicio {
        width: min(1040px, calc(100vw - 88px)) !important;
        max-width: 1040px !important;
    }
    .ln-banner-card,
    .ln-banner-admin-preview {
        aspect-ratio: 2.72 / 1 !important;
    }
}
\n\n/* =========================================================
   LN · REVISIÓN H2 31-08-2026
   Auditoría final: resultados Encuestas + protección tabs Banner
========================================================= */

/* Las respuestas del Admin nunca pueden desbordar la tarjeta en móvil. */
.ln-encuesta-admin-breakdown > span {
    box-sizing: border-box;
    max-width: 100%;
    overflow: hidden;
    font-size: 9px !important;
}
.ln-encuesta-admin-breakdown > span b,
.ln-encuesta-admin-breakdown > span small {
    max-width: 100%;
    overflow-wrap: anywhere;
}
@media (max-width: 390px) {
    .ln-encuesta-admin-breakdown {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }
    .ln-encuesta-admin-breakdown > span {
        padding: 7px 6px !important;
        line-height: 1.3;
    }
}

/* =========================================================
   LN · ALERTA DE STOCK EN PEDIDOS PAGADOS
========================================================= */
.admin-pedido-stock-alerta {
    margin-top: 9px;
    padding: 9px 11px;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #e8cf9e;
    border-radius: 11px;
    background: #fff7e8;
    color: #8b682d;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
}
.admin-pedido-stock-alerta i {
    flex: 0 0 auto;
    font-size: 17px;
}


/* =========================================================
   LN · TANDA ADMIN POST SEGURIDAD FINAL 31-08-2026
========================================================= */
.ln-admin-view-tabs-3 { grid-template-columns: repeat(3, minmax(0,1fr)); border-radius: 18px; }
.ln-admin-view-tabs-3 .ln-admin-view-tab { min-width: 0; padding-inline: 8px; }
[data-ln-simple-panel][hidden], [data-ln-cupon-panel][hidden], [data-ln-live-panel][hidden] { display:none !important; }
.ln-social-admin-grid { display:grid; gap:12px; margin-top:14px; }
.ln-social-admin-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; align-items:end; padding:12px; border:1px solid #eadfda; border-radius:14px; background:#fffdfb; }
.ln-social-admin-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#f7efe3; color:#9a713e; font-size:23px; }
.ln-admin-filter-accordion { margin:12px 0; border:1px solid #e8ddd6; border-radius:14px; background:#fff; overflow:hidden; }
.ln-admin-filter-accordion summary { min-height:44px; padding:0 14px; display:flex; align-items:center; justify-content:space-between; gap:10px; cursor:pointer; color:#756b67; font-size:12px; font-weight:800; list-style:none; }
.ln-admin-filter-accordion summary::-webkit-details-marker { display:none; }
.ln-admin-filter-accordion[open] summary > i:last-child { transform:rotate(180deg); }
.ln-admin-filter-options { display:grid; gap:4px; padding:5px 8px 9px; border-top:1px solid #f0e8e4; }
.ln-admin-filter-options button { min-height:38px; padding:0 12px; border:0; border-radius:10px; background:transparent; text-align:left; color:#746865; font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.ln-admin-filter-options button.activo { background:#f7efe3; color:#936a34; }
.ln-livepay-list-tools { display:grid; gap:9px; }
.ln-admin-search { min-height:44px; padding:0 12px; display:flex; align-items:center; gap:8px; border:1px solid #e8ddd6; border-radius:14px; background:#fff; color:#9a8d87; }
.ln-admin-search i { font-size:19px; }
.ln-admin-search input { width:100%; border:0; outline:0; background:transparent; font:inherit; color:#5f5552; }
.admin-pedido-archivar, .admin-pedido-eliminar-definitivo { min-height:40px; padding:0 13px; border-radius:11px; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.admin-pedido-archivar { border:1px solid #ddc79d; background:#fff8eb; color:#8c672e; }
.admin-pedido-eliminar-definitivo { border:1px solid #e5b9b9; background:#fff5f5; color:#a54848; }
/* Encuesta pública: pulido visual inspirado en Ofertas especiales, sin alterar medidas ni carrusel. */
.ln-encuesta-card { border:1px solid rgba(198,164,111,.34) !important; box-shadow:0 10px 28px rgba(93,69,45,.08) !important; background:linear-gradient(145deg,#fff 0%,#fffcf7 100%) !important; }
.ln-encuesta-info { position:relative; }
.ln-encuesta-info::before { content:""; width:34px; height:2px; display:block; margin-bottom:8px; border-radius:999px; background:#c49a62; opacity:.65; }
@media (max-width:560px) {
    .ln-admin-view-tabs-3 { grid-template-columns:1fr; border-radius:16px; }
    .ln-admin-view-tabs-3 .ln-admin-view-tab { min-height:38px; }
    .ln-social-admin-row { grid-template-columns:36px minmax(0,1fr); align-items:center; }
    .ln-social-admin-icon { width:36px; height:36px; }
    .ln-social-admin-row .ln-check { grid-column:2; }
}

.ln-admin-modal-overlay { position:fixed; inset:0; z-index:99999; display:grid; place-items:center; padding:18px; background:rgba(51,42,38,.34); backdrop-filter:blur(3px); opacity:0; transition:opacity .16s ease; }
.ln-admin-modal-overlay.visible { opacity:1; }
.ln-admin-modal { width:min(430px,100%); padding:24px 20px 18px; border:1px solid #ead8bf; border-radius:22px; background:#fffdf9; box-shadow:0 22px 70px rgba(64,47,38,.22); text-align:center; }
.ln-admin-modal-icon { width:48px; height:48px; margin:0 auto 12px; display:grid; place-items:center; border-radius:50%; background:#f8eddd; color:#9a713e; font-size:24px; }
.ln-admin-modal h2 { margin:0; color:#5f514b; font-family:Georgia,"Times New Roman",serif; font-size:21px; }
.ln-admin-modal p { margin:9px auto 18px; max-width:340px; color:#81736e; font-size:12px; line-height:1.55; }
.ln-admin-modal-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.ln-admin-modal-actions button { min-height:40px; padding:0 14px; border-radius:999px; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.ln-admin-modal-cancel { border:1px solid #dfd6d1; background:#fff; color:#756a66; }
.ln-admin-modal-danger { border:1px solid #e5bebe; background:#fff5f5; color:#a44c4c; }
.ln-admin-modal-primary { border:1px solid #b88d55; background:#a97c43; color:#fff; }

/* =========================================================
   LN · CORRECCIÓN TANDA 31-08-2026 · ENCUESTA PÚBLICA
   Cambio visual real inspirado en Ofertas especiales.
   No modifica medidas, carrusel, autoplay ni encuadre.
========================================================= */
.ln-encuestas-inicio {
    position: relative;
    isolation: isolate;
    background:
        radial-gradient(circle at top left, rgba(244,220,223,.58) 0%, rgba(244,220,223,0) 34%),
        radial-gradient(circle at bottom right, rgba(244,220,223,.50) 0%, rgba(244,220,223,0) 34%),
        linear-gradient(135deg, #fff7f8 0%, #fffdfd 52%, #fff8f8 100%) !important;
    border: 1px solid #ead4b0;
    border-radius: 22px;
    box-shadow: 0 8px 24px rgba(120,90,95,.07);
}
.ln-encuestas-inicio::before,
.ln-encuestas-inicio::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 185px;
    height: 105px;
    pointer-events: none;
    opacity: .52;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 210 120'%3E%3Cpath d='M-20 45 C35 5 65 70 115 30 S185 25 230 -10' fill='none' stroke='%23e5c19d' stroke-width='1'/%3E%3Cpath d='M-15 65 C40 25 70 90 125 48 S190 45 230 5' fill='none' stroke='%23eed8db' stroke-width='1.2'/%3E%3Cpath d='M-10 85 C45 45 80 105 135 67 S195 65 230 30' fill='none' stroke='%23e8c9cc' stroke-width='1'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}
.ln-encuestas-inicio::before { top: -4px; left: -10px; }
.ln-encuestas-inicio::after { right: -10px; bottom: -4px; transform: rotate(180deg); }
.ln-encuestas-cabecera,
.ln-encuestas-viewport,
.ln-encuestas-puntos { position: relative; z-index: 1; }
.ln-encuestas-cabecera > small {
    position: relative;
    display: inline-block;
    padding: 0 16px;
    color: #b8945e !important;
    letter-spacing: 1.2px !important;
}
.ln-encuestas-cabecera > small::before,
.ln-encuestas-cabecera > small::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 25px;
    height: 1px;
    background: #e7d4b7;
}
.ln-encuestas-cabecera > small::before { right: 100%; }
.ln-encuestas-cabecera > small::after { left: 100%; }
.ln-encuestas-cabecera h2 { color: #b08b55 !important; }
.ln-encuestas-cabecera p { color: #665d60 !important; }
.ln-encuesta-card {
    border: 4px solid rgba(255,255,255,.98) !important;
    outline: 1px solid rgba(190,151,95,.42);
    outline-offset: -1px;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 12px 30px rgba(113,78,67,.12) !important;
}
.ln-encuesta-prueba-label {
    display: inline-flex;
    width: fit-content;
    padding: 4px 8px;
    border: 1px solid #ead8bb;
    border-radius: 999px;
    background: #fff8ec;
    color: #a37b45 !important;
    font-weight: 800;
    letter-spacing: .7px;
}
.ln-encuesta-info::before {
    width: 42px !important;
    height: 2px !important;
    background: linear-gradient(90deg,#d7b173,#eed3d6) !important;
    opacity: .9 !important;
}
.ln-encuesta-interaccion {
    background: linear-gradient(180deg,#fff 0%,#fffaf6 100%) !important;
    border-top-color: #eadfce !important;
}
.ln-encuesta-votos button {
    border-color: #eadbc8 !important;
    background: #fffdf9 !important;
}
.ln-encuesta-votos button.seleccionado {
    border-color: #cba56f !important;
    background: #fff4df !important;
    box-shadow: 0 3px 10px rgba(166,120,67,.12);
}
.ln-encuesta-resultados {
    border-top-color: #eadfce !important;
}

/* =========================================================
   LN · CIERRE TANDA FINAL · 01-09-2026
   Modales, Encuesta, Pago Live y Estadísticas
========================================================= */

/* ---------- MODALES ADMIN CON IDENTIDAD LN ---------- */
.ln-admin-modal-overlay {
    background: rgba(47, 37, 36, .48) !important;
    backdrop-filter: blur(6px) !important;
    transition: opacity .14s ease !important;
}
.ln-admin-modal {
    position: relative;
    overflow: hidden;
    width: min(440px, 100%) !important;
    padding: 27px 21px 20px !important;
    border: 1px solid rgba(196, 154, 98, .52) !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 10% 0%, rgba(245, 224, 226, .52), transparent 38%),
        linear-gradient(145deg, #fffdfa 0%, #fff 64%, #fff9f4 100%) !important;
    box-shadow: 0 26px 80px rgba(67, 47, 44, .28) !important;
}
.ln-admin-modal::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #d9b77e, #f0d8dc, #c89a5c);
}
.ln-admin-modal-ornament {
    position: absolute;
    top: -34px;
    right: -45px;
    width: 150px;
    height: 110px;
    border: 1px solid rgba(210, 179, 132, .22);
    border-radius: 50%;
    transform: rotate(-18deg);
    pointer-events: none;
}
.ln-admin-modal-icon {
    position: relative;
    z-index: 1;
    width: 56px !important;
    height: 56px !important;
    margin-bottom: 10px !important;
    border: 1px solid #e9d6b7;
    background: linear-gradient(145deg, #fff8e9, #f8ead8) !important;
    box-shadow: 0 6px 15px rgba(157, 113, 62, .12);
    color: #9b713d !important;
    font-size: 27px !important;
}
.ln-admin-modal-brand {
    display: block;
    margin: 0 0 5px;
    color: #bd9766;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 1.35px;
}
.ln-admin-modal h2 {
    color: #58494a !important;
    font-size: 22px !important;
    line-height: 1.2;
}
.ln-admin-modal p {
    margin: 10px auto 20px !important;
    color: #76696a !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}
.ln-admin-modal-actions {
    gap: 9px !important;
}
.ln-admin-modal-actions button {
    min-height: 43px !important;
    padding-inline: 17px !important;
    border-radius: 13px !important;
    box-shadow: 0 3px 8px rgba(68, 48, 43, .05);
}
.ln-admin-modal-primary {
    border-color: #a87940 !important;
    background: linear-gradient(135deg, #b58952, #966a37) !important;
}
.ln-admin-modal-danger {
    border-color: #e0b7b7 !important;
    background: linear-gradient(135deg, #fff7f7, #fceaea) !important;
    color: #9b4141 !important;
}
.ln-admin-modal-cancel {
    background: #fff !important;
}
.ln-admin-modal-tone-danger .ln-admin-modal-icon {
    border-color: #ecc7c7;
    background: linear-gradient(145deg, #fff7f7, #f9e5e5) !important;
    color: #a64c4c !important;
}
.ln-admin-modal-tone-warning .ln-admin-modal-icon {
    color: #9a713e !important;
}
.ln-admin-modal-tone-success .ln-admin-modal-icon {
    border-color: #cce1d4;
    background: #f1faf4 !important;
    color: #4f8061 !important;
}
@media (max-width: 470px) {
    .ln-admin-modal { padding: 24px 16px 17px !important; }
    .ln-admin-modal-actions { display: grid !important; grid-template-columns: 1fr !important; }
    .ln-admin-modal-actions button { width: 100%; }
    .ln-admin-modal-primary { order: -1; }
}

/* ---------- ENCUESTA · DECORACIÓN SIEMPRE DENTRO DEL MARCO ---------- */
.ln-encuestas-inicio::before,
.ln-encuestas-inicio::after {
    clip-path: inset(0 round 22px);
    max-width: calc(100% - 2px);
    max-height: calc(100% - 2px);
}
.ln-encuestas-inicio::before {
    top: 1px !important;
    left: 1px !important;
}
.ln-encuestas-inicio::after {
    right: 1px !important;
    bottom: 1px !important;
}

/* ---------- PAGO LIVE · SOLO LOGO ---------- */
.ln-livepay-brand-logo-only {
    width: 100%;
    min-height: 92px;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 4px 0 12px !important;
    text-decoration: none;
}
.ln-livepay-brand-logo-only img {
    width: clamp(92px, 28vw, 128px) !important;
    height: clamp(82px, 25vw, 116px) !important;
    object-fit: contain !important;
    display: block;
}

/* ---------- ESTADÍSTICAS ADMIN ---------- */
.ln-stats-admin { padding-bottom: 108px; }
.ln-stats-intro {
    margin: 0 0 14px;
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid #eadbc6;
    border-radius: 17px;
    background: linear-gradient(135deg, #fffaf2, #fffdfb);
    color: #665957;
}
.ln-stats-intro > i {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f7ead8;
    color: #9c713c;
    font-size: 22px;
}
.ln-stats-intro strong { display: block; font-size: 12px; }
.ln-stats-intro p { margin: 3px 0 0; color: #8b7e7b; font-size: 10px; line-height: 1.45; }
.ln-stats-tabs { margin-bottom: 14px; }
.ln-stats-selector-card {
    margin-bottom: 13px;
    padding: 13px;
    border: 1px solid #eadfda;
    border-radius: 16px;
    background: #fff;
}
.ln-stats-selector-card label { display: grid; gap: 7px; }
.ln-stats-selector-card label > span { color: #7a6d69; font-size: 10px; font-weight: 800; }
.ln-stats-selector-card select {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #e4d8d2;
    border-radius: 12px;
    background: #fffdfb;
    color: #5f5552;
    font: inherit;
    font-size: 12px;
    outline: none;
}
.ln-stats-output { display: grid; gap: 14px; }
.ln-stats-loading,
.ln-stats-empty {
    min-height: 180px;
    padding: 25px 18px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 6px;
    border: 1px dashed #e2d6cf;
    border-radius: 18px;
    background: #fff;
    text-align: center;
    color: #8d807b;
}
.ln-stats-loading i,
.ln-stats-empty i { color: #b08653; font-size: 28px; }
.ln-stats-empty strong { color: #665955; font-size: 13px; }
.ln-stats-empty p { margin: 0; max-width: 330px; font-size: 10px; line-height: 1.5; }
.ln-stats-empty.error i { color: #a64d4d; }
.ln-stats-month-card,
.ln-stats-chart-card {
    border: 1px solid #eaded7;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(81, 58, 51, .055);
}
.ln-stats-month-card { padding: 15px; }
.ln-stats-month-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.ln-stats-month-heading small,
.ln-stats-chart-heading small {
    color: #b18a5a;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 1px;
}
.ln-stats-month-heading h2,
.ln-stats-chart-heading h3 {
    margin: 2px 0 0;
    color: #5c4d4d;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
}
.ln-stats-month-heading h2 { font-size: 21px; }
.ln-stats-archive,
.ln-stats-delete {
    min-height: 39px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 11px;
    font: inherit;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}
.ln-stats-archive { border: 1px solid #dec89f; background: #fff8eb; color: #89642f; }
.ln-stats-delete { border: 1px solid #e4bcbc; background: #fff5f5; color: #a34848; }
.ln-stats-total-hero {
    margin: 14px 0 12px;
    padding: 16px;
    border: 1px solid rgba(201, 164, 112, .38);
    border-radius: 17px;
    background:
        radial-gradient(circle at top right, rgba(244, 217, 221, .58), transparent 42%),
        linear-gradient(135deg, #fff8ea, #fffdf9);
    text-align: center;
}
.ln-stats-total-hero span { display: block; color: #8c7b70; font-size: 10px; font-weight: 800; }
.ln-stats-total-hero strong {
    display: block;
    margin: 3px 0;
    color: #9b6f38;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(29px, 9vw, 38px);
    font-weight: 500;
}
.ln-stats-total-hero small { color: #a3948b; font-size: 9px; }
.ln-stats-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ln-stats-kpis article {
    min-width: 0;
    padding: 11px 10px;
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: center;
    column-gap: 7px;
    border: 1px solid #f0e6e0;
    border-radius: 13px;
    background: #fffdfc;
}
.ln-stats-kpis article > i {
    grid-row: 1 / span 3;
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f8efe4;
    color: #a27b49;
    font-size: 15px;
}
.ln-stats-kpis span { color: #998b86; font-size: 8px; font-weight: 800; }
.ln-stats-kpis strong { min-width: 0; color: #5f5350; font-size: 11px; overflow-wrap: anywhere; }
.ln-stats-kpis small { color: #aaa09b; font-size: 7px; }
.ln-stats-chart-card { padding: 14px 0 10px; overflow: hidden; }
.ln-stats-chart-heading {
    padding: 0 14px 12px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.ln-stats-chart-heading h3 { font-size: 18px; }
.ln-stats-chart-total { text-align: right; }
.ln-stats-chart-total span,
.ln-stats-chart-total small { display: block; color: #9d918c; font-size: 8px; }
.ln-stats-chart-total strong { color: #8f693b; font-size: 14px; }
.ln-stats-chart-scroll {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 4px 13px 2px;
    scrollbar-width: thin;
}
.ln-stats-bars {
    min-width: max-content;
    height: 178px;
    display: flex;
    align-items: flex-end;
    gap: 5px;
    padding: 9px 3px 0;
    border-bottom: 1px solid #e9dfda;
    background: repeating-linear-gradient(to top, transparent 0 39px, rgba(225, 214, 207, .36) 40px);
}
.ln-stats-bar-col {
    width: 43px;
    height: 165px;
    flex: 0 0 43px;
    display: grid;
    grid-template-rows: 26px 1fr 20px;
    align-items: end;
    justify-items: center;
}
.ln-stats-bar-value {
    width: 100%;
    align-self: end;
    overflow: hidden;
    color: #8a7b76;
    font-size: 7px;
    font-weight: 800;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.ln-stats-bar-track {
    width: 17px;
    height: 118px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.ln-stats-bar {
    width: 100%;
    min-height: 3px;
    border-radius: 8px 8px 3px 3px;
    transition: height .18s ease;
}
.ln-stats-bar.tienda { background: linear-gradient(180deg, #cba466, #a87940); }
.ln-stats-bar.live { background: linear-gradient(180deg, #e6bdc3, #c68e98); }
.ln-stats-bar-col b { color: #796d68; font-size: 8px; }
.ln-stats-chart-hint { margin: 7px 14px 0; color: #a09590; font-size: 8px; text-align: center; }
.ln-stats-chart-hint i { vertical-align: -1px; }
@media (min-width: 720px) {
    .ln-stats-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ln-stats-bars { width: 100%; min-width: 920px; justify-content: space-between; }
    .ln-stats-bar-col { width: 28px; flex-basis: 28px; }
    .ln-stats-chart-scroll { padding-inline: 18px; }
}
@media (max-width: 420px) {
    .ln-stats-month-heading { align-items: flex-start; flex-direction: column; }
    .ln-stats-archive, .ln-stats-delete { width: 100%; justify-content: center; }
}


/* =========================================================
   LN · CIERRE VISUAL + UX · 01-09-2026
   Ajustes finales aprobados:
   - Encuesta: quitar línea izquierda de "NUEVA SECCIÓN".
   - Pago Live: logo ~45% más grande y cabecera más compacta.
   - Estadísticas: selección de día por toque/clic.
========================================================= */

/* Encuesta: el adorno general queda dentro del marco y la etiqueta
   ya no dibuja la línea horizontal que sobresalía a la izquierda. */
.ln-encuestas-cabecera > small::before {
    content: none !important;
    display: none !important;
}

/* Pago Live: aumentar el tamaño visible del escudo sin alterar
   el formulario, el monto ni la lógica del cobro. */
.ln-livepay-brand-logo-only {
    min-height: 124px !important;
    padding: 0 0 2px !important;
}
.ln-livepay-brand-logo-only img {
    width: clamp(145px, 42vw, 185px) !important;
    height: auto !important;
    max-height: 124px !important;
}
.ln-livepay-public-heading {
    padding-top: 4px !important;
}

/* Estadísticas: la cabecera de cada gráfico muestra el día elegido.
   La barra seleccionada se distingue sin cambiar su escala/altura. */
.ln-stats-bar-col[data-stats-day] {
    cursor: pointer;
    border-radius: 8px;
    outline: none;
}
.ln-stats-bar-col[data-stats-day]:focus-visible {
    box-shadow: 0 0 0 2px rgba(177, 138, 90, .28);
}
.ln-stats-bar-col.seleccionado .ln-stats-bar {
    box-shadow: 0 0 0 2px rgba(143, 105, 59, .22), 0 4px 9px rgba(90, 67, 50, .10);
}
.ln-stats-bar-col.seleccionado b {
    color: #8f693b;
    font-weight: 900;
}
.ln-stats-day-detail {
    min-width: 92px;
}
.ln-stats-day-detail > span {
    color: #8c7b73 !important;
    font-weight: 800;
    text-transform: capitalize;
}
.ln-stats-day-detail > strong {
    margin: 1px 0;
    font-size: 15px !important;
}


/* =========================================================
   LN · MODO MANTENIMIENTO · 03-09-2026
========================================================= */

body.ln-mantenimiento-activo {
    overflow: hidden !important;
}

.ln-mantenimiento-pantalla {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: grid;
    place-items: center;
    padding: 24px;
    background:
        radial-gradient(circle at 20% 10%, rgba(235, 204, 211, .34), transparent 34%),
        radial-gradient(circle at 90% 90%, rgba(213, 183, 137, .22), transparent 30%),
        #fffaf8;
}

.ln-mantenimiento-card {
    width: min(620px, 100%);
    padding: clamp(28px, 6vw, 48px);
    text-align: center;
    border: 1px solid rgba(180, 142, 98, .22);
    border-radius: 28px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 24px 70px rgba(95, 65, 56, .12);
}

.ln-mantenimiento-logo {
    display: block;
    width: clamp(110px, 25vw, 150px);
    height: auto;
    margin: 0 auto 8px;
}

.ln-mantenimiento-marca {
    display: block;
    margin-bottom: 14px;
    color: #b57a38;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.35px;
    line-height: 1.2;
}

.ln-mantenimiento-mensaje {
    max-width: 500px;
    margin: 0 auto;
    color: #4f4245;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(25px, 5.4vw, 34px);
    font-weight: 500;
    line-height: 1.24;
    letter-spacing: 0;
    text-wrap: balance;
}

.ln-mantenimiento-nota {
    margin: 18px 0 0;
    color: #7d7174;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

.ln-mantenimiento-contador {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin-top: 22px;
}

.ln-mantenimiento-tiempo {
    padding: 13px 7px 11px;
    border: 1px solid rgba(198, 155, 105, .18);
    border-radius: 17px;
    background: #fffaf6;
}

.ln-mantenimiento-tiempo strong {
    display: block;
    color: #b57a38;
    font-size: clamp(21px, 5.5vw, 29px);
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.ln-mantenimiento-tiempo span {
    display: block;
    margin-top: 6px;
    color: #8d7f7a;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

@media (max-width: 430px) {
    .ln-mantenimiento-pantalla {
        padding: 16px;
    }

    .ln-mantenimiento-card {
        padding: 28px 16px;
        border-radius: 22px;
    }

    .ln-mantenimiento-contador {
        gap: 6px;
    }

    .ln-mantenimiento-tiempo {
        padding-inline: 4px;
    }
}


/* ADMIN · CONFIGURACIÓN MANTENIMIENTO */

.ln-mant-admin-card {
    max-width: 860px;
    margin: 0 auto 110px;
    padding: 22px;
    border: 1px solid #eadfd9;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(80, 61, 53, .06);
}

.ln-mant-admin-heading {
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0e7e2;
}

.ln-mant-admin-heading small {
    color: #b18a5a;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
}

.ln-mant-admin-heading h2 {
    margin: 3px 0 5px;
    color: #3f3632;
}

.ln-mant-admin-heading p {
    margin: 0;
    color: #8f817a;
    font-size: 13px;
}

.ln-mant-switch {
    display: grid;
    justify-items: center;
    gap: 8px;
    min-width: 150px;
    cursor: pointer;
    user-select: none;
}

.ln-mant-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.ln-mant-switch-ui {
    position: relative;
    width: 58px;
    height: 32px;
    border-radius: 999px;
    background: #d9d0cb;
    transition: .2s ease;
}

.ln-mant-switch-ui::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .18);
    transition: .2s ease;
}

.ln-mant-switch input:checked + .ln-mant-switch-ui {
    background: #b18a5a;
}

.ln-mant-switch input:checked + .ln-mant-switch-ui::after {
    transform: translateX(26px);
}

.ln-mant-switch b {
    color: #6f635e;
    font-size: 12px;
}

.ln-mant-switch b.activo {
    color: #9a653b;
}

.ln-mant-admin-bloque {
    padding-top: 22px;
}

.ln-mant-admin-bloque h3 {
    margin: 0 0 13px;
    color: #4a403c;
    font-size: 16px;
}

.ln-mant-opciones,
.ln-mant-reapertura {
    display: grid;
    gap: 10px;
}

.ln-mant-opcion,
.ln-mant-reapertura > label {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    padding: 14px;
    border: 1px solid #eadfd9;
    border-radius: 15px;
    background: #fffdfc;
    cursor: pointer;
}

.ln-mant-opcion input,
.ln-mant-reapertura input {
    margin-top: 2px;
    accent-color: #a77c49;
}

.ln-mant-opcion span,
.ln-mant-reapertura span {
    display: grid;
    gap: 4px;
}

.ln-mant-opcion b,
.ln-mant-reapertura b {
    color: #514641;
    font-size: 13px;
}

.ln-mant-opcion small,
.ln-mant-reapertura small {
    color: #95867f;
    font-size: 12px;
    line-height: 1.45;
}

.ln-mant-textarea-label,
.ln-mant-fecha-label {
    display: grid;
    gap: 7px;
    margin-top: 13px;
}

.ln-mant-textarea-label > span,
.ln-mant-fecha-label > span {
    color: #625650;
    font-size: 12px;
    font-weight: 800;
}

.ln-mant-textarea-label textarea,
.ln-mant-fecha-label input {
    width: 100%;
    border: 1px solid #dfd4ce;
    border-radius: 13px;
    background: #fff;
    color: #473e39;
    font: inherit;
}

.ln-mant-textarea-label textarea {
    min-height: 100px;
    padding: 12px 13px;
    resize: vertical;
}

.ln-mant-fecha-label input {
    min-height: 46px;
    padding: 0 12px;
}

.ln-mant-textarea-label > small,
.ln-mant-fecha-label > small {
    color: #a1948e;
    font-size: 11px;
}

.ln-mant-reapertura {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 14px;
}

.ln-mant-admin-acciones {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid #f0e7e2;
}

#ln-mant-mensaje-admin {
    margin: 0;
    color: #7d6f68;
    font-size: 12px;
    line-height: 1.4;
}

.ln-mant-guardar {
    width: auto;
    min-width: 190px;
    margin: 0;
}

@media (max-width: 650px) {
    .ln-mant-admin-card {
        padding: 16px;
        border-radius: 18px;
    }

    .ln-mant-admin-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .ln-mant-switch {
        grid-template-columns: auto 1fr;
        align-items: center;
        justify-items: start;
        min-width: 0;
    }

    .ln-mant-reapertura {
        grid-template-columns: 1fr;
    }

    .ln-mant-admin-acciones {
        align-items: stretch;
        flex-direction: column;
    }

    .ln-mant-guardar {
        width: 100%;
    }
}

/* =========================================================
   LN · MANTENIMIENTO ADMIN · VISTA PREVIA · 03-09-2026 M2
========================================================= */
.ln-mant-preview-wrap {
    margin-top: 16px;
    padding: 14px;
    border: 1px solid #eadfd9;
    border-radius: 18px;
    background: #fffaf8;
}

.ln-mant-preview-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.ln-mant-preview-heading small {
    color: #b18a5a;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
}

.ln-mant-preview-heading h3 {
    margin: 2px 0 0;
    font-size: 14px;
}

.ln-mant-preview-heading > span {
    color: #9b8b84;
    font-size: 10px;
}

.ln-mant-preview-stage {
    padding: 15px;
    border-radius: 16px;
    background:
        radial-gradient(circle at 20% 10%, rgba(235, 204, 211, .34), transparent 34%),
        radial-gradient(circle at 90% 90%, rgba(213, 183, 137, .22), transparent 30%),
        #fffaf8;
}

.ln-mant-preview-card {
    max-width: 560px;
    margin: 0 auto;
    padding: 22px 16px;
    text-align: center;
    border: 1px solid rgba(180, 142, 98, .22);
    border-radius: 20px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 35px rgba(95, 65, 56, .09);
}

.ln-mant-preview-logo {
    display: block;
    width: 86px;
    height: auto;
    margin: 0 auto 4px;
}

.ln-mant-preview-marca {
    display: block;
    margin-bottom: 10px;
    color: #b57a38;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 1.15px;
    line-height: 1.2;
}

.ln-mant-preview-card h4 {
    max-width: 470px;
    margin: 0 auto;
    color: #4f4245;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(21px, 4.6vw, 28px);
    font-weight: 500;
    line-height: 1.24;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.ln-mant-preview-card > p {
    margin: 13px 0 0;
    color: #7d7174;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
}

.ln-mant-preview-contador {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin-top: 15px;
}

.ln-mant-preview-contador > div {
    padding: 9px 4px 8px;
    border: 1px solid rgba(198, 155, 105, .18);
    border-radius: 12px;
    background: #fffaf6;
}

.ln-mant-preview-contador strong {
    display: block;
    color: #b57a38;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.ln-mant-preview-contador span {
    display: block;
    margin-top: 4px;
    color: #8d7f7a;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

@media (max-width: 650px) {
    .ln-mant-preview-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .ln-mant-preview-stage {
        padding: 10px;
    }

    .ln-mant-preview-card {
        padding: 20px 10px;
    }

    .ln-mant-preview-contador {
        gap: 4px;
    }

    .ln-mant-preview-contador strong {
        font-size: 17px;
    }
}

/* =========================================================
   LN · ORDEN DE SECCIONES DEL INICIO · 03-09-2026
========================================================= */
.ln-inicio-orden-lista {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ln-inicio-orden-item {
    min-height: 54px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 9px;
    border: 1px solid #eee4e5;
    border-radius: 13px;
    background: #fffdfd;
}

.ln-inicio-orden-numero {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #fff7ea;
    color: #9a713f;
    font-size: 11px;
    font-weight: 800;
}

.ln-inicio-orden-info {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #66595c;
}

.ln-inicio-orden-info i {
    flex: 0 0 auto;
    color: #b58a55;
    font-size: 19px;
}

.ln-inicio-orden-info strong {
    min-width: 0;
    font-size: 11px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.ln-inicio-orden-acciones {
    display: inline-flex;
    gap: 5px;
}

.ln-inicio-orden-mover {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dfcfb5;
    border-radius: 10px;
    background: #fff;
    color: #966c3b;
    font-size: 19px;
    cursor: pointer;
}

.ln-inicio-orden-mover:hover:not(:disabled),
.ln-inicio-orden-mover:focus-visible:not(:disabled) {
    background: #fff8ec;
    border-color: #cfad78;
}

.ln-inicio-orden-mover:focus-visible {
    outline: 2px solid rgba(181, 138, 85, .32);
    outline-offset: 2px;
}

.ln-inicio-orden-mover:disabled {
    opacity: .32;
    cursor: default;
}

@media (max-width: 430px) {
    .ln-inicio-orden-item {
        grid-template-columns: 30px minmax(0, 1fr) auto;
        gap: 7px;
        padding: 8px;
    }

    .ln-inicio-orden-numero {
        width: 27px;
        height: 27px;
    }

    .ln-inicio-orden-acciones {
        gap: 3px;
    }

    .ln-inicio-orden-mover {
        width: 32px;
        height: 32px;
    }
}


/* =========================================================
   LN · AJUSTE UI 03-09-2026 · ORDEN COMO PESTAÑA
========================================================= */
.ln-admin-view-tabs-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-radius: 18px;
}
.ln-admin-view-tabs-4 .ln-admin-view-tab {
    min-width: 0;
    padding-inline: 7px;
}
@media (max-width: 560px) {
    .ln-admin-view-tabs-4 {
        grid-template-columns: 1fr;
        border-radius: 16px;
    }
    .ln-admin-view-tabs-4 .ln-admin-view-tab {
        min-height: 38px;
    }
}
