:root {
    --accent: #2563EB;
    --accent-contrast: #FFFFFF;
    --secondary: #FFFFFF;
    --page-bg: #FFFFFF;
    --text-color: #0F172A;
    --icon-color: #2563EB;
    --surface: #FFFFFF;
    --surface-alt: #F8FAFC;
    --border-color: #E2E8F0;
    --muted-color: #64748B;
}

* {
    box-sizing: border-box;
    scroll-behavior: smooth;
}

[x-cloak] {
    display: none !important;
}

body {
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.neon-text {
    color: var(--accent);
}

.neon-glow {
    box-shadow: 0 16px 45px rgba(37, 99, 235, .16);
}

.btn-neon,
.btn-dark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    padding: 11px 16px;
    font-weight: 800;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
}

.btn-neon {
    border: 1px solid var(--accent);
    background: var(--accent);
    color: var(--accent-contrast);
}

.btn-neon:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(37, 99, 235, .22);
}

.btn-neon:disabled {
    cursor: not-allowed;
    opacity: .55;
    transform: none;
}

.btn-dark {
    border: 1px solid var(--border-color);
    background: var(--surface-alt);
    color: var(--text-color);
}

.btn-dark:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.input-dark {
    width: 100%;
    border: 1px solid var(--border-color);
    background: var(--surface);
    color: var(--text-color);
    padding: 12px 14px;
    border-radius: 14px;
    outline: none;
}

.input-dark::placeholder {
    color: var(--muted-color);
}

.input-dark:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.card-premium {
    border: 1px solid var(--border-color);
    background: var(--surface);
    border-radius: 22px;
    box-shadow: 0 12px 35px rgba(15, 23, 42, .06);
}

.product-card {
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.product-card:hover {
    transform: translateY(-3px);
    border-color: var(--accent);
    box-shadow: 0 16px 35px rgba(15, 23, 42, .10);
}

.product-description-trigger {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--muted-color);
    font-family: inherit;
    text-align: left;
    cursor: pointer;
}

.product-description-preview {
    display: -webkit-box;
    min-height: 2.8em;
    overflow: hidden;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.product-description-hint {
    display: inline-flex;
    margin-top: .3rem;
    color: var(--accent);
    font-size: .7rem;
    font-weight: 800;
    line-height: 1;
}

.product-description-trigger:hover .product-description-hint {
    text-decoration: underline;
}

.product-description-trigger:focus-visible {
    border-radius: 6px;
    outline: 2px solid var(--accent);
    outline-offset: 4px;
}

.product-description-empty {
    min-height: 3.1rem;
}

@media (min-width: 768px) {
    .product-description-empty {
        min-height: 3.45rem;
    }
}

.product-description-modal {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(15, 23, 42, .62);
    opacity: 0;
    backdrop-filter: blur(4px);
    transition: opacity .2s ease;
}

.product-description-modal[hidden] {
    display: none;
}

.product-description-modal.is-open {
    opacity: 1;
}

.product-description-modal-surface {
    width: min(100%, 34rem);
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    border: 1px solid var(--border-color);
    border-radius: 22px;
    background: var(--surface);
    color: var(--text-color);
    box-shadow: 0 24px 70px rgba(15, 23, 42, .28);
    transform: translateY(12px) scale(.98);
    transition: transform .2s ease;
}

.product-description-modal.is-open .product-description-modal-surface {
    transform: translateY(0) scale(1);
}

.product-description-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.25rem 0;
}

.product-description-modal-eyebrow {
    margin: 0 0 .25rem;
    color: var(--accent);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.product-description-modal-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.2;
}

.product-description-modal-close {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--surface-alt);
    color: var(--text-color);
    cursor: pointer;
}

.product-description-modal-close:hover,
.product-description-modal-close:focus-visible {
    border-color: var(--accent);
    color: var(--accent);
    outline: none;
}

.product-description-modal-copy {
    margin: 0;
    padding: 1.25rem;
    color: var(--muted-color);
    font-size: .95rem;
    line-height: 1.65;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.product-description-modal-footer {
    padding: 0 1.25rem 1.25rem;
}

.product-description-modal-action {
    width: 100%;
}

body.product-description-modal-open {
    overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
    .product-description-modal,
    .product-description-modal-surface {
        transition: none;
    }
}

.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.scrollbar-hide {
    scrollbar-width: none;
}

.form-label {
    display: block;
    color: #334155;
    font-size: .875rem;
    font-weight: 700;
}

.form-help {
    margin-top: .4rem;
    color: #64748B;
    font-size: .78rem;
    line-height: 1.45;
}

.section-title {
    color: #1D4ED8;
    font-size: 1.1rem;
    font-weight: 900;
}

.section-divider {
    border-top: 1px solid #E2E8F0;
    padding-top: 1.6rem;
}

.alert-success {
    border: 1px solid #86EFAC;
    background: #F0FDF4;
    color: #166534;
}

.alert-error {
    border: 1px solid #FCA5A5;
    background: #FEF2F2;
    color: #991B1B;
}

/* Panel blanco y azul */
.admin-theme {
    --accent: #2563EB;
    --accent-contrast: #FFFFFF;
    --surface: #FFFFFF;
    --surface-alt: #F8FAFC;
    --page-bg: #F3F7FF;
    --text-color: #0F172A;
    --border-color: #DBEAFE;
    --muted-color: #64748B;
    background: var(--page-bg) !important;
    color: var(--text-color) !important;
}

.admin-sidebar,
.admin-mobile-header {
    border-color: #DBEAFE;
    background: rgba(255, 255, 255, .96);
    box-shadow: 8px 0 30px rgba(37, 99, 235, .06);
    backdrop-filter: blur(14px);
}

.admin-sidebar-brand {
    border-bottom: 1px solid #DBEAFE;
}

.admin-link {
    display: block;
    padding: 12px 14px;
    border-radius: 14px;
    color: #475569;
    font-weight: 700;
    transition: .2s ease;
}

.admin-link:hover,
.admin-active {
    background: #EFF6FF;
    color: #1D4ED8;
    box-shadow: inset 3px 0 0 #2563EB;
}

.mobile-link {
    white-space: nowrap;
    padding: 8px 12px;
    border: 1px solid #DBEAFE;
    background: #EFF6FF;
    color: #1D4ED8;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}

.admin-theme .text-zinc-300,
.admin-theme .text-zinc-400,
.admin-theme .text-zinc-500 {
    color: #64748B !important;
}

.admin-theme .text-cyan-400 {
    color: #2563EB !important;
}

.admin-theme .bg-zinc-950,
.admin-theme .bg-zinc-900,
.admin-theme .bg-black {
    background-color: #FFFFFF !important;
}

.admin-theme .border-zinc-800,
.admin-theme .border-zinc-900 {
    border-color: #DBEAFE !important;
}

.admin-theme .card-premium {
    background: #FFFFFF;
    border-color: #DBEAFE;
}

.admin-theme .card-premium:hover {
    transform: none;
}

.config-tabs {
    display: flex;
    gap: .6rem;
    padding: .4rem;
    border: 1px solid #DBEAFE;
    border-radius: 16px;
    background: #FFFFFF;
}

.config-tab {
    flex: 1;
    padding: .75rem 1rem;
    border-radius: 12px;
    color: #64748B;
    text-align: center;
    font-weight: 800;
}

.config-tab.is-active {
    background: #2563EB;
    color: #FFFFFF;
}

.image-preview {
    overflow: hidden;
    display: grid;
    place-items: center;
    min-height: 9rem;
    border: 1px solid #DBEAFE;
    border-radius: 16px;
    background: #F8FAFC;
    padding: .75rem;
}

.remove-check {
    display: flex;
    align-items: center;
    gap: .55rem;
    color: #B91C1C;
    font-size: .82rem;
    font-weight: 700;
}

.color-field {
    display: block;
    padding: .9rem;
    border: 1px solid #DBEAFE;
    border-radius: 16px;
    background: #F8FAFC;
}

.color-input-row {
    display: grid;
    grid-template-columns: 46px 1fr;
    align-items: center;
    gap: .65rem;
    margin-top: .5rem;
}

.color-input-row input[type="color"] {
    width: 46px;
    height: 46px;
    border: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
}

/* Catálogo público dinámico */
.catalog-theme {
    --surface: color-mix(in srgb, var(--page-bg) 95%, var(--text-color));
    --surface-alt: color-mix(in srgb, var(--page-bg) 90%, var(--text-color));
    --border-color: color-mix(in srgb, var(--text-color) 14%, transparent);
    --muted-color: color-mix(in srgb, var(--text-color) 62%, transparent);
    min-height: 100vh;
    background: var(--page-bg);
    color: var(--text-color);
}

.site-header {
    border-bottom: 1px solid var(--border-color);
    background: color-mix(in srgb, var(--page-bg) 88%, transparent);
    backdrop-filter: blur(16px);
}

.catalog-theme .card-premium,
.catalog-theme .input-dark,
.catalog-theme .btn-dark {
    color: var(--text-color);
}

.catalog-theme .text-zinc-300,
.catalog-theme .text-zinc-400,
.catalog-theme .text-zinc-500 {
    color: var(--muted-color) !important;
}

.catalog-theme .text-cyan-400 {
    color: var(--accent) !important;
}

.catalog-theme .bg-zinc-950,
.catalog-theme .bg-zinc-900,
.catalog-theme .bg-black {
    background-color: var(--surface) !important;
}

.catalog-theme .border-zinc-800,
.catalog-theme .border-zinc-900 {
    border-color: var(--border-color) !important;
}

.hero-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: 28px;
    background: var(--surface-alt);
    box-shadow: 0 18px 55px rgba(15, 23, 42, .10);
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, color-mix(in srgb, var(--page-bg) 96%, transparent) 5%, color-mix(in srgb, var(--page-bg) 82%, transparent) 55%, transparent 100%);
}

.category-pill.is-active {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--accent-contrast);
}

.product-image-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    background: var(--surface-alt);
    color: var(--icon-color);
}

.dynamic-icon {
    color: var(--icon-color);
}

.cart-drawer {
    background: var(--surface);
    color: var(--text-color);
    border-color: var(--border-color);
}

.pagination-link {
    min-width: 42px;
    height: 42px;
    padding: 0 .8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--surface);
    color: var(--text-color);
    font-weight: 800;
}

.pagination-link:hover,
.pagination-link.is-active {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--accent-contrast);
}

/* Galería de productos */
.product-carousel {
    position: relative;
    overflow: hidden;
    background: var(--surface-alt);
}

.product-carousel-track {
    width: 100%;
    height: 100%;
}

.product-carousel-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
}

.product-carousel-slide.is-active {
    opacity: 1;
    pointer-events: auto;
}

.product-carousel-arrow {
    position: absolute;
    top: 50%;
    z-index: 4;
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 999px;
    background: rgba(15, 23, 42, .68);
    color: #FFFFFF;
    font-size: 1.55rem;
    line-height: 1;
    transform: translateY(-50%);
    backdrop-filter: blur(6px);
    cursor: pointer;
}

.product-carousel-arrow.is-prev {
    left: .55rem;
}

.product-carousel-arrow.is-next {
    right: .55rem;
}

.product-carousel-dots {
    position: absolute;
    left: 50%;
    bottom: .55rem;
    z-index: 4;
    display: flex;
    gap: .35rem;
    padding: .28rem .4rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, .5);
    transform: translateX(-50%);
    backdrop-filter: blur(6px);
}

.product-carousel-dot {
    width: .45rem;
    height: .45rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .55);
    cursor: pointer;
}

.product-carousel-dot.is-active {
    width: 1rem;
    background: #FFFFFF;
}

.product-description-modal-media {
    position: relative;
    width: calc(100% - 2.5rem);
    aspect-ratio: 16 / 10;
    margin: 1rem 1.25rem 0;
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: var(--surface-alt);
}

.product-description-modal-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Tarjetas públicas de anuncios */
.announcements-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
    gap: 1rem;
}

.announcement-card {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    min-height: 7rem;
    padding: 1.1rem 3rem 1.1rem 1.1rem;
    border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border-color));
    border-radius: 18px;
    background: color-mix(in srgb, var(--accent) 6%, var(--surface));
    box-shadow: 0 10px 26px rgba(15, 23, 42, .05);
}

.announcement-icon {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 12px;
    background: var(--accent);
    color: var(--accent-contrast);
    font-size: 1.2rem;
}

.announcement-close {
    position: absolute;
    top: .6rem;
    right: .6rem;
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--muted-color);
    cursor: pointer;
}

.announcement-close:hover,
.announcement-close:focus-visible {
    background: var(--surface-alt);
    color: var(--text-color);
    outline: none;
}

/* Gestión de galería en administración */
.admin-image-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: .85rem;
}

.admin-image-item {
    overflow: hidden;
    border: 1px solid #DBEAFE;
    border-radius: 16px;
    background: #FFFFFF;
}

.admin-image-item img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

.admin-image-actions {
    display: grid;
    gap: .45rem;
    padding: .65rem;
}

.switch-control {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    cursor: pointer;
}

.switch-control input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.switch-track {
    position: relative;
    width: 2.7rem;
    height: 1.45rem;
    border-radius: 999px;
    background: #CBD5E1;
    transition: background-color .2s ease;
}

.switch-track::after {
    content: '';
    position: absolute;
    top: .2rem;
    left: .2rem;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .2);
    transition: transform .2s ease;
}

.switch-control input:checked + .switch-track {
    background: #2563EB;
}

.switch-control input:checked + .switch-track::after {
    transform: translateX(1.25rem);
}

@media (prefers-reduced-motion: reduce) {
    .product-carousel-slide,
    .switch-track,
    .switch-track::after {
        transition: none;
    }
}

/* ===== Experiencia móvil 2026: splash, header, carruseles, favoritos, mapa y navegación ===== */
body.splash-active {
    overflow: hidden;
}

.app-splash {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: grid;
    place-items: center;
    padding: 2rem;
    background:
        radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--loading-color) 18%, transparent), transparent 36%),
        var(--page-bg);
    color: var(--text-color);
    opacity: 1;
    visibility: visible;
    transition: opacity .42s ease, visibility .42s ease;
}

.app-splash.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.app-splash-inner {
    width: min(82vw, 24rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.app-splash-logo,
.app-splash-fallback {
    width: clamp(7rem, 30vw, 10rem);
    height: clamp(7rem, 30vw, 10rem);
}

.app-splash-logo {
    object-fit: contain;
    filter: drop-shadow(0 18px 28px rgba(15, 23, 42, .15));
    animation: splash-float 2s ease-in-out infinite;
}

.app-splash-fallback {
    display: grid;
    place-items: center;
    border-radius: 2rem;
    background: color-mix(in srgb, var(--loading-color) 14%, var(--surface));
    color: var(--loading-color);
    font-size: 3rem;
    animation: splash-float 2s ease-in-out infinite;
}

.app-splash-slogan {
    margin: 1.35rem 0 0;
    max-width: 21rem;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .18em;
    line-height: 1.6;
    text-transform: uppercase;
}

.app-splash-loading {
    margin: 2.1rem 0 .7rem;
    color: var(--muted-color);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.app-splash-progress {
    width: min(72vw, 15rem);
    height: .28rem;
    overflow: hidden;
    border-radius: 999px;
    background: color-mix(in srgb, var(--text-color) 11%, transparent);
}

.app-splash-progress span {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: var(--loading-color);
    transform: scaleX(0);
    transform-origin: left center;
    animation: splash-progress var(--intro-duration) cubic-bezier(.2, .7, .2, 1) forwards;
}

@keyframes splash-float {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-7px) scale(1.02); }
}

@keyframes splash-progress {
    0% { transform: scaleX(0); }
    18% { transform: scaleX(.22); }
    52% { transform: scaleX(.62); }
    80% { transform: scaleX(.84); }
    100% { transform: scaleX(1); }
}

.site-header {
    box-shadow: 0 7px 28px rgba(15, 23, 42, .06);
}

.header-shell {
    min-height: 4.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
}

.header-brand {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .7rem;
    color: inherit;
    text-decoration: none;
}

.header-logo {
    flex: 0 0 auto;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid var(--border-color);
    border-radius: .9rem;
    object-fit: contain;
    padding: .2rem;
    background: var(--surface);
}

.header-logo-fallback {
    display: grid;
    place-items: center;
    padding: 0;
    color: var(--accent);
}

.header-brand-copy {
    min-width: 0;
    display: grid;
    gap: .14rem;
}

.header-brand-copy strong {
    max-width: min(44vw, 18rem);
    overflow: hidden;
    color: var(--text-color);
    font-size: .93rem;
    font-weight: 900;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-brand-copy span {
    max-width: min(45vw, 20rem);
    overflow: hidden;
    color: var(--muted-color);
    font-size: .65rem;
    font-weight: 650;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.header-icon-button {
    position: relative;
    display: grid;
    place-items: center;
    width: 2.65rem;
    height: 2.65rem;
    padding: 0;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: var(--surface-alt);
    color: var(--icon-color);
    font-size: 1.08rem;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}

.header-icon-button:hover,
.header-icon-button:focus-visible {
    border-color: var(--accent);
    outline: none;
    transform: translateY(-1px);
}

.header-badge,
.bottom-nav-badge {
    position: absolute;
    display: grid;
    place-items: center;
    min-width: 1.12rem;
    height: 1.12rem;
    padding: 0 .22rem;
    border: 2px solid var(--surface);
    border-radius: 999px;
    background: var(--accent);
    color: var(--accent-contrast);
    font-size: .58rem;
    font-weight: 900;
    line-height: 1;
}

.header-badge {
    top: -.28rem;
    right: -.25rem;
}

.header-search-wrap {
    border-top: 1px solid var(--border-color);
    background: color-mix(in srgb, var(--page-bg) 95%, transparent);
}

.header-search-form {
    padding-top: .75rem;
}

.header-search-field {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
    padding: .45rem .45rem .45rem .9rem;
    border: 1px solid var(--border-color);
    border-radius: 1rem;
    background: var(--surface);
}

.header-search-field > i {
    color: var(--icon-color);
}

.header-search-field input {
    min-width: 0;
    border: 0;
    outline: none;
    background: transparent;
    color: var(--text-color);
    font-size: .9rem;
}

.header-search-field input::placeholder {
    color: var(--muted-color);
}

.hero-panel {
    min-height: 13.5rem;
}

.hero-content {
    min-height: 13.5rem;
    display: flex;
    max-width: 44rem;
    flex-direction: column;
    justify-content: center;
    padding: 1.35rem;
}

.hero-eyebrow {
    color: var(--accent);
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.hero-content h1 {
    margin: .55rem 0 0;
    max-width: 34rem;
    font-size: clamp(1.65rem, 7vw, 3.8rem);
    font-weight: 950;
    line-height: 1.02;
}

.hero-content p {
    display: -webkit-box;
    max-width: 34rem;
    margin: .65rem 0 1rem;
    overflow: hidden;
    color: var(--muted-color);
    font-size: .88rem;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.section-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.section-heading {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 950;
    line-height: 1.15;
}

.section-subheading {
    margin: .25rem 0 0;
    color: var(--muted-color);
    font-size: .76rem;
}

.showcase-nav-buttons {
    display: none;
    gap: .45rem;
}

.showcase-nav-buttons button {
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: var(--surface-alt);
    color: var(--icon-color);
    cursor: pointer;
}

.showcase-section {
    overflow: hidden;
}

.showcase-track {
    --showcase-gap: .9rem;
    --showcase-card-width: clamp(14.2rem, 72vw, 18rem);
    display: flex;
    gap: var(--showcase-gap);
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-inline: contain;
    padding: .35rem calc(50vw - (var(--showcase-card-width) / 2)) 1rem;
    scroll-padding-inline: calc(50vw - (var(--showcase-card-width) / 2));
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

.showcase-card {
    flex: 0 0 var(--showcase-card-width);
    display: flex;
    flex-direction: column;
    min-height: 16.35rem;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--border-color) 88%, transparent);
    border-radius: 1.5rem;
    background: var(--surface);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
    scroll-snap-align: center;
    transform: translateZ(0) scale(.88);
    transform-origin: center center;
    opacity: .56;
    filter: saturate(.82) brightness(.62) blur(1.8px);
    transition: transform .36s cubic-bezier(.22,.61,.36,1), opacity .3s ease, filter .3s ease, box-shadow .36s ease, border-color .3s ease;
}

.showcase-card.is-near {
    opacity: .8;
    filter: saturate(.92) brightness(.84) blur(.6px);
    transform: translateZ(0) scale(.93);
}

.showcase-card.is-active {
    opacity: 1;
    filter: none;
    transform: translateZ(0) scale(1);
    border-color: color-mix(in srgb, var(--accent) 28%, var(--border-color));
    box-shadow: 0 18px 36px rgba(15, 23, 42, .18);
}

.showcase-product-stage {
    position: relative;
    display: grid;
    place-items: center;
    height: 12.15rem;
    padding: .95rem;
    background:
        radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 58%),
        var(--surface-alt);
}

.showcase-product-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 13px 13px rgba(15, 23, 42, .16));
    transition: transform .25s ease;
}

.showcase-card:hover .showcase-product-image {
    transform: translateY(-2px) scale(1.035);
}

.showcase-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: space-between;
    gap: .65rem;
    padding: .82rem .85rem .9rem;
}

.showcase-copy h3 {
    display: -webkit-box;
    min-height: 2.4rem;
    overflow: hidden;
    font-size: .88rem;
    font-weight: 900;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.showcase-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-top: auto;
}

.showcase-actions > span {
    color: var(--accent);
    font-size: .96rem;
    font-weight: 950;
}

.showcase-add {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: .72rem;
    background: var(--accent);
    color: var(--accent-contrast);
    cursor: pointer;
}

.favorite-button {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--border-color) 75%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 88%, transparent);
    color: var(--icon-color);
    box-shadow: 0 5px 16px rgba(15, 23, 42, .08);
    backdrop-filter: blur(8px);
    cursor: pointer;
}

.favorite-button.is-active {
    border-color: color-mix(in srgb, #E11D48 35%, var(--border-color));
    color: #E11D48;
}

.showcase-favorite {
    position: absolute;
    top: .55rem;
    right: .55rem;
    width: 2rem;
    height: 2rem;
    font-size: .9rem;
}


@media (min-width: 768px) {
    .showcase-nav-buttons {
        display: inline-flex;
    }

    .showcase-track {
        --showcase-card-width: clamp(13rem, 24vw, 16rem);
        padding-inline: max(.2rem, calc(50% - (var(--showcase-card-width) / 2)));
        scroll-padding-inline: max(.2rem, calc(50% - (var(--showcase-card-width) / 2)));
    }

    .showcase-card {
        min-height: 17rem;
    }
}

.category-icon-track {
    display: flex;
    gap: .95rem;
    overflow-x: auto;
    padding: .15rem .1rem .5rem;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.category-icon-link {
    flex: 0 0 4.6rem;
    display: grid;
    justify-items: center;
    gap: .45rem;
    color: var(--muted-color);
    font-size: .68rem;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
}

.category-icon-circle {
    display: grid;
    place-items: center;
    width: 3.35rem;
    height: 3.35rem;
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: var(--surface-alt);
    color: var(--icon-color);
    font-size: 1.15rem;
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease;
}

.category-icon-circle img {
    width: 76%;
    height: 76%;
    object-fit: contain;
}

.category-icon-link:hover .category-icon-circle,
.category-icon-link.is-active .category-icon-circle {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--accent-contrast);
    transform: translateY(-2px);
}

.category-icon-link.is-active {
    color: var(--text-color);
}

.category-icon-link.is-active .category-icon-circle img {
    filter: drop-shadow(0 4px 8px rgba(15, 23, 42, .16));
}

.location-card {
    overflow: hidden;
}

.location-copy {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    padding: 1.1rem;
}

.location-icon,
.location-choice-icon {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 2.7rem;
    height: 2.7rem;
    border-radius: .9rem;
    background: color-mix(in srgb, var(--accent) 12%, var(--surface));
    color: var(--accent);
    font-size: 1.2rem;
}

.location-eyebrow {
    margin: 0 0 .2rem;
    color: var(--accent);
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.location-copy h2 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 950;
}

.location-copy p:last-child {
    margin: .35rem 0 0;
    color: var(--muted-color);
    font-size: .8rem;
    line-height: 1.45;
}

.location-map-wrap {
    position: relative;
    height: 13rem;
    overflow: hidden;
    border-top: 1px solid var(--border-color);
    background: var(--surface-alt);
}

.location-map-wrap iframe {
    width: 100%;
    height: 100%;
    border: 0;
    pointer-events: none;
}

.location-map-open {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: end center;
    padding: 1rem;
    border: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(15, 23, 42, .18));
    cursor: pointer;
}

.location-map-open span {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .65rem .9rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 93%, transparent);
    color: var(--text-color);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .14);
    font-size: .78rem;
    font-weight: 900;
    backdrop-filter: blur(8px);
}

.app-bottom-nav {
    position: fixed;
    left: 50%;
    bottom: max(.75rem, env(safe-area-inset-bottom));
    z-index: 55;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    width: min(calc(100% - 2rem), 23rem);
    padding: .42rem;
    border: 1px solid color-mix(in srgb, var(--border-color) 86%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 92%, transparent);
    box-shadow: 0 16px 44px rgba(15, 23, 42, .16);
    backdrop-filter: blur(18px);
    transform: translate(-50%, 0);
    transition: transform .28s ease, opacity .28s ease;
}

.app-bottom-nav.is-hidden {
    opacity: .25;
    pointer-events: none;
    transform: translate(-50%, calc(100% + 2rem));
}

.bottom-nav-action {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    height: 2.75rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--icon-color);
    font-size: 1.05rem;
    text-decoration: none;
    cursor: pointer;
}

.bottom-nav-action:hover,
.bottom-nav-action:focus-visible {
    background: var(--surface-alt);
    outline: none;
}

.bottom-nav-action.is-primary {
    background: var(--accent);
    color: var(--accent-contrast);
}

.bottom-nav-action:disabled {
    opacity: .35;
    cursor: not-allowed;
}

.bottom-nav-badge {
    top: .1rem;
    right: 24%;
    border-color: var(--surface);
}

.drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 70;
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(3px);
}

.app-drawer {
    width: min(100%, 27rem);
    height: 100%;
    margin-left: auto;
    display: flex;
    flex-direction: column;
    border-left: 1px solid var(--border-color);
}

.drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem;
    border-bottom: 1px solid var(--border-color);
}

.drawer-content {
    flex: 1;
    overflow-y: auto;
    padding: 1.25rem;
}

.drawer-footer {
    padding: 1.25rem;
    border-top: 1px solid var(--border-color);
}

.location-choice-backdrop {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: grid;
    place-items: end center;
    padding: 1rem;
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(4px);
}

.location-choice-card {
    position: relative;
    width: min(100%, 30rem);
    padding: 1.35rem;
    border: 1px solid var(--border-color);
    border-radius: 1.7rem;
    background: var(--surface);
    color: var(--text-color);
    box-shadow: 0 24px 70px rgba(15, 23, 42, .28);
}

.location-choice-close {
    position: absolute;
    top: .9rem;
    right: .9rem;
    display: grid;
    place-items: center;
    width: 2.3rem;
    height: 2.3rem;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: var(--surface-alt);
    color: var(--text-color);
    cursor: pointer;
}

.location-choice-card h2 {
    margin: 1rem 2.4rem .45rem 0;
    font-size: 1.3rem;
    font-weight: 950;
    line-height: 1.15;
}

.location-choice-card > p {
    margin: 0;
    color: var(--muted-color);
    font-size: .84rem;
    line-height: 1.55;
}

.location-choice-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
    margin-top: 1.15rem;
}

.location-choice-actions button {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-height: 3rem;
    padding: .8rem;
    border: 1px solid var(--border-color);
    border-radius: 1rem;
    background: var(--surface-alt);
    color: var(--text-color);
    font-size: .8rem;
    font-weight: 850;
    cursor: pointer;
}

.location-choice-actions button:hover,
.location-choice-actions button:focus-visible {
    border-color: var(--accent);
    color: var(--accent);
    outline: none;
}

@media (min-width: 640px) {
    .header-brand-copy strong {
        font-size: 1rem;
    }

    .header-brand-copy span {
        font-size: .72rem;
    }

    .hero-panel,
    .hero-content {
        min-height: 18rem;
    }

    .hero-content {
        padding: 2.2rem;
    }

    .hero-content p {
        font-size: 1rem;
        -webkit-line-clamp: 3;
    }

    .showcase-card {
        flex-basis: 11.5rem;
    }

    .showcase-product-stage {
        height: 9.5rem;
    }

    .category-icon-link {
        flex-basis: 5rem;
    }

    .category-icon-circle {
        width: 3.8rem;
        height: 3.8rem;
    }

    .location-choice-backdrop {
        place-items: center;
    }
}

@media (min-width: 768px) {
    .showcase-nav-buttons {
        display: flex;
    }

    .showcase-card {
        flex-basis: 12.4rem;
    }

    .location-card {
        display: grid;
        grid-template-columns: minmax(16rem, .8fr) 1.2fr;
    }

    .location-copy {
        align-items: center;
        padding: 1.5rem;
    }

    .location-map-wrap {
        height: 16rem;
        border-top: 0;
        border-left: 1px solid var(--border-color);
    }
}

@media (min-width: 1024px) {
    .header-logo {
        width: 3rem;
        height: 3rem;
    }

    .header-icon-button {
        width: 2.9rem;
        height: 2.9rem;
    }

    .hero-panel,
    .hero-content {
        min-height: 22rem;
    }

    .hero-content {
        padding: 3rem;
    }

    .app-bottom-nav {
        width: 22rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .app-splash-logo,
    .app-splash-fallback,
    .app-splash-progress span {
        animation: none;
    }

    .app-splash-progress span {
        transform: scaleX(1);
    }

    .app-bottom-nav,
    .showcase-product-image {
        transition: none;
    }
}

.location-choice-actions button:first-child:nth-last-child(5) {
    grid-column: 1 / -1;
}

/* ===== Catálogo comercial V3 ===== */
.showcase-section{overflow:hidden;position:relative}
.showcase-track{
  --showcase-card-width:clamp(13.5rem,58vw,17rem);
  display:flex;gap:1rem;overflow-x:auto;overflow-y:visible;
  padding-block:.75rem 1.25rem;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-y;
}
.showcase-track::-webkit-scrollbar{display:none}
.showcase-card{
  flex:0 0 var(--showcase-card-width);min-height:0!important;height:auto;scroll-snap-align:center;
  border-radius:1.55rem;overflow:hidden;background:var(--surface);border:1px solid var(--border-color);
  opacity:.38;filter:brightness(.55) saturate(.72) blur(1.6px);transform:scale(.84);
  transition:transform .36s cubic-bezier(.22,.61,.36,1),opacity .3s ease,filter .3s ease,box-shadow .3s ease;
}
.showcase-card.is-near{opacity:.68;filter:brightness(.72) saturate(.84) blur(.7px);transform:scale(.9)}
.showcase-card.is-active{opacity:1;filter:none;transform:scale(1);box-shadow:0 18px 42px rgba(0,0,0,.2)}
.showcase-product-stage{height:auto!important;aspect-ratio:4/5;padding:0!important;overflow:hidden;background:var(--surface-alt)}
.showcase-product-image{width:100%;height:100%;object-fit:cover!important;filter:none!important;transform:none!important}
.showcase-add-float{position:absolute;right:.72rem;bottom:.72rem;z-index:5;width:2.6rem;height:2.6rem;border-radius:999px;box-shadow:0 8px 18px rgba(0,0,0,.22)}
.showcase-copy,.showcase-favorite{display:none!important}
@media(min-width:768px){.showcase-track{--showcase-card-width:16rem}.showcase-nav-buttons{display:flex}}

.hero-split-panel{position:relative;display:grid!important;grid-template-columns:1fr 1fr;min-height:22rem!important;overflow:hidden;border-radius:1.8rem;border:1px solid var(--border-color);background:var(--surface)}
.hero-copy-pane{position:relative;min-width:0;padding:clamp(1.15rem,3vw,2.6rem);display:flex;align-items:center;background:var(--surface);z-index:2}
.hero-copy-slide{display:none;width:100%;animation:heroFade .45s ease}
.hero-copy-slide.is-active{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero-copy-slide h1{font-size:clamp(1.45rem,4vw,3.5rem);line-height:1.02;font-weight:950;margin:.6rem 0 0;max-width:34rem}
.hero-copy-slide p{margin:.8rem 0 1.1rem;color:var(--muted-color);font-size:clamp(.78rem,1.6vw,.98rem);line-height:1.5;max-width:32rem}
.hero-media-pane{position:relative;min-width:0;min-height:22rem;background:var(--surface-alt);overflow:hidden}
.hero-media-slide{position:absolute;inset:0;opacity:0;transform:scale(1.025);transition:opacity .55s ease,transform 3s ease;pointer-events:none}
.hero-media-slide.is-active{opacity:1;transform:scale(1)}
.hero-media-slide img{width:100%;height:100%;object-fit:cover;display:block}
.hero-media-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:3rem;color:var(--muted-color)}
.hero-dots{position:absolute;left:clamp(1.15rem,3vw,2.6rem);bottom:.9rem;display:flex;gap:.42rem;z-index:4}
.hero-dots button{width:.55rem;height:.55rem;border-radius:999px;border:0;background:color-mix(in srgb,var(--text-color) 20%,transparent);padding:0;transition:width .2s,background .2s}
.hero-dots button.is-active{width:1.7rem;background:var(--accent)}
@keyframes heroFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:640px){.hero-split-panel{min-height:15rem!important}.hero-media-pane{min-height:15rem}.hero-copy-pane{padding:1rem}.hero-copy-slide h1{font-size:1.35rem}.hero-copy-slide p{font-size:.72rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hero-copy-slide .btn-neon{font-size:.72rem;padding:.65rem .8rem}.hero-eyebrow{font-size:.55rem}.hero-dots{left:1rem;bottom:.65rem}}

.product-detail-backdrop{position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.72);backdrop-filter:blur(10px);display:grid;place-items:center;padding:1rem;opacity:0;transition:opacity .18s ease}
.product-detail-backdrop[hidden]{display:none!important}.product-detail-backdrop.is-open{opacity:1}
.product-detail-modal{position:relative;width:min(1040px,96vw);max-height:92dvh;overflow:auto;border:1px solid var(--border-color);border-radius:1.8rem;background:var(--surface);box-shadow:0 30px 80px rgba(0,0,0,.38);transform:translateY(14px) scale(.98);transition:transform .2s ease}
.product-detail-backdrop.is-open .product-detail-modal{transform:none}
.product-detail-close{position:absolute;right:1rem;top:1rem;z-index:8;width:2.6rem;height:2.6rem;border-radius:999px;border:1px solid var(--border-color);background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text-color)}
.product-detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1.5rem;padding:1.35rem}
.product-detail-gallery{min-width:0}.product-detail-main-media{aspect-ratio:4/5;border-radius:1.35rem;overflow:hidden;background:var(--surface-alt);border:1px solid var(--border-color)}
.product-detail-main-media img{width:100%;height:100%;object-fit:contain;display:block}
.product-detail-thumbs{display:flex;gap:.55rem;margin-top:.65rem;overflow-x:auto;padding-bottom:.2rem}.product-detail-thumbs button{flex:0 0 4rem;width:4rem;aspect-ratio:4/5;border:2px solid transparent;border-radius:.7rem;overflow:hidden;padding:0;background:var(--surface-alt)}.product-detail-thumbs button.is-active{border-color:var(--accent)}.product-detail-thumbs img{width:100%;height:100%;object-fit:cover}
.product-detail-info{display:flex;flex-direction:column;justify-content:center;padding:.6rem .4rem}.product-detail-category{display:inline-flex;align-self:flex-start;padding:.4rem .7rem;border-radius:999px;background:var(--surface-alt);font-size:.72rem;font-weight:850}.product-detail-info h2{font-size:clamp(1.8rem,4vw,3rem);font-weight:950;line-height:1.05;margin:.7rem 0}.product-detail-price{display:grid;gap:.15rem}.product-detail-price strong{font-size:2rem;color:var(--accent)}.product-detail-price>span{color:var(--muted-color);font-weight:750}.product-detail-description{margin:1rem 0;color:var(--muted-color);line-height:1.55;white-space:pre-line}
.product-option-group{margin-top:.8rem}.product-option-label{display:block;font-size:.7rem;font-weight:900;letter-spacing:.12em;margin-bottom:.55rem}.product-option-buttons{display:flex;flex-wrap:wrap;gap:.55rem}.product-option-buttons button{min-width:3.4rem;padding:.65rem .85rem;border:1px solid var(--border-color);border-radius:.75rem;background:var(--surface);color:var(--text-color);font-weight:800}.product-option-buttons button.is-active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}
.wholesale-box{margin-top:1rem;padding:1rem;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--border-color));border-radius:1rem;background:color-mix(in srgb,var(--accent) 5%,var(--surface));}.wholesale-box>div:first-child{display:grid;gap:.15rem}.wholesale-box>div:first-child span{font-size:.72rem;color:var(--muted-color)}.wholesale-tier{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-top:1px solid var(--border-color);font-size:.82rem}.wholesale-tier:first-child{margin-top:.65rem}
.product-buy-row{display:grid;grid-template-columns:auto 1fr;gap:.75rem;margin-top:1.2rem}.qty-selector{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:.9rem;overflow:hidden}.qty-selector button{width:2.7rem;height:3rem;border:0;background:var(--surface-alt);color:var(--text-color);font-size:1.2rem}.qty-selector strong{min-width:2.4rem;text-align:center}.product-modal-add{min-height:3rem}
@media(max-width:720px){.product-detail-backdrop{padding:.45rem}.product-detail-modal{width:100%;max-height:95dvh;border-radius:1.35rem}.product-detail-grid{grid-template-columns:1fr;gap:.8rem;padding:.8rem}.product-detail-main-media{aspect-ratio:4/5;max-height:52dvh}.product-detail-info{padding:.25rem}.product-detail-info h2{font-size:1.55rem}.product-detail-price strong{font-size:1.55rem}.product-detail-description{font-size:.84rem;margin:.7rem 0}.product-buy-row{position:sticky;bottom:0;background:var(--surface);padding-top:.6rem;z-index:4}}

.site-footer{margin-top:4rem;padding:3.4rem 0 1.4rem;border-top:1px solid var(--border-color);background:color-mix(in srgb,var(--surface-alt) 80%,var(--page-bg));position:relative}.site-footer-inner{position:relative;display:grid;grid-template-columns:1.4fr .7fr;gap:2rem}.site-footer-brand img,.footer-logo-fallback{width:9rem;max-height:4rem;object-fit:contain;object-position:left center}.site-footer-brand p{max-width:30rem;color:var(--muted-color);margin-top:1rem;line-height:1.55}.site-footer-nav{display:grid;align-content:start;gap:.65rem}.site-footer-nav strong{font-size:.72rem;letter-spacing:.12em;color:var(--muted-color)}.site-footer-nav a{color:var(--text-color);text-decoration:none}.site-footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--border-color);padding-top:1rem;margin-top:1rem;color:var(--muted-color);font-size:.78rem}.footer-to-top{position:absolute;right:1rem;top:50%;width:2.8rem;height:2.8rem;border:1px solid var(--border-color);border-radius:999px;background:var(--surface);color:var(--text-color)}
@media(max-width:640px){.site-footer{padding-bottom:7rem}.site-footer-inner{grid-template-columns:1fr;gap:1.5rem}.site-footer-bottom{grid-column:1;flex-direction:column}.footer-to-top{top:auto;bottom:5.5rem}.site-footer-brand img{width:7rem}}


/* ===== V3.1 estabilidad visual / cache-bust ===== */
.showcase-section{overflow:hidden!important;isolation:isolate}
.showcase-track{touch-action:auto!important;overscroll-behavior-inline:contain;cursor:grab;padding-block:.9rem 1.35rem!important}
.showcase-track.is-dragging{cursor:grabbing;scroll-snap-type:none!important}
.showcase-card{flex:0 0 var(--showcase-card-width)!important;aspect-ratio:4/5!important;min-height:0!important;height:auto!important;background:var(--surface-alt)!important}
.showcase-product-stage{position:relative!important;width:100%!important;height:100%!important;aspect-ratio:auto!important}
.showcase-product-image{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;background:var(--surface-alt)!important}
.showcase-add-float{display:grid!important;place-items:center!important}

.announcement-card.has-image{grid-template-columns:5.5rem minmax(0,1fr) auto;align-items:center;overflow:hidden}
.announcement-media{width:5.5rem;height:5.5rem;border-radius:1rem;overflow:hidden;background:var(--surface-alt)}
.announcement-media img{display:block;width:100%;height:100%;object-fit:cover}
.announcement-copy{min-width:0;position:relative}.announcement-inline-icon{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:999px;color:var(--icon-color);margin-bottom:.35rem}
@media(max-width:520px){.announcement-card.has-image{grid-template-columns:4.5rem minmax(0,1fr) auto}.announcement-media{width:4.5rem;height:4.5rem}}

.site-footer{margin-top:4rem!important;padding:3.2rem 0 1.3rem!important;overflow:hidden}
.site-footer-inner{display:block!important;max-width:80rem!important;margin-inline:auto!important}
.site-footer-main{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(12rem,.65fr);gap:clamp(2rem,8vw,8rem);align-items:start;padding:0 3.75rem 2.3rem 0}
.site-footer-brand{min-width:0}.footer-logo-shell{display:flex;align-items:center;width:min(13rem,100%);height:4.5rem;overflow:hidden}
.site-footer-brand .footer-logo-shell>img{display:block!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:4.5rem!important;object-fit:contain!important;object-position:left center!important;margin:0!important}
.footer-logo-fallback{width:4.5rem!important;height:4.5rem!important;display:grid;place-items:center;border-radius:1rem;background:var(--surface);color:var(--accent);font-size:1.7rem}
.site-footer-brand p{max-width:31rem!important;margin:.9rem 0 0!important;font-size:.92rem;line-height:1.65}
.site-footer-nav{display:grid!important;gap:.72rem!important}.site-footer-nav strong{margin-bottom:.15rem}.site-footer-nav a{width:max-content;max-width:100%;font-size:.92rem}
.footer-to-top{right:0!important;top:50%!important;transform:translateY(-50%);display:grid;place-items:center;cursor:pointer}
.site-footer-bottom{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:1rem!important;margin:0!important;padding:1.25rem 0 0!important;border-top:1px solid var(--border-color)!important;font-size:.78rem!important}
@media(max-width:640px){.site-footer{padding:2.5rem 0 7rem!important}.site-footer-main{grid-template-columns:1fr;gap:1.6rem;padding:0 0 2rem}.footer-logo-shell{height:3.8rem;width:10rem}.site-footer-brand .footer-logo-shell>img{max-height:3.8rem!important}.footer-to-top{right:.1rem!important;top:auto!important;bottom:1.15rem!important;transform:none}.site-footer-bottom{flex-direction:column!important;align-items:flex-start!important}.site-footer-nav{grid-template-columns:1fr 1fr}.site-footer-nav strong{grid-column:1/-1}}

.product-detail-backdrop{padding:clamp(.45rem,2vw,1.2rem)!important}
.product-detail-modal{width:min(1060px,96vw)!important}
.product-detail-main-media{background:color-mix(in srgb,var(--surface-alt) 92%,var(--page-bg))!important}
.product-detail-main-media img{object-fit:contain!important;padding:.35rem}
.product-detail-info{justify-content:flex-start!important;padding-top:1.25rem!important}
.product-detail-info h2{padding-right:3rem}
.product-option-group[hidden],.wholesale-box[hidden]{display:none!important}
@media(max-width:720px){.product-detail-modal{max-height:94dvh!important}.product-detail-grid{padding:.7rem!important}.product-detail-main-media{max-height:50dvh!important}.product-detail-info{padding:.2rem!important}.product-detail-thumbs button{flex-basis:3.5rem;width:3.5rem}.wholesale-box{padding:.8rem}}

.admin-commerce-builder{display:grid;gap:1rem}.builder-heading,.builder-block-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.builder-block{display:grid;gap:.7rem;padding:1rem;border:1px solid #dbe7ff;border-radius:1rem;background:#f8fbff}.builder-block-heading strong{color:#14213d}.builder-add{white-space:nowrap!important;padding:.65rem .85rem!important}.builder-rows{display:grid;gap:.65rem}.builder-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(8.5rem,.7fr) 2.8rem;gap:.6rem;align-items:center}.builder-remove{display:grid;place-items:center;width:2.8rem;height:2.8rem;border:1px solid #fecaca;border-radius:.8rem;background:#fff1f2;color:#e11d48;cursor:pointer}.builder-empty{margin:0;color:#64748b;font-size:.82rem;padding:.7rem;border:1px dashed #cbd5e1;border-radius:.8rem;text-align:center}.wholesale-builder-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 2.8rem}@media(max-width:620px){.builder-heading,.builder-block-heading{align-items:flex-start;flex-direction:column}.builder-row,.wholesale-builder-row{grid-template-columns:1fr 1fr 2.8rem}}


/* ===== V3.2 promociones, subtotal, delivery y organización visual ===== */
.promotion-box{margin-top:1rem;padding:1rem;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border-color));border-radius:1rem;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.promotion-box[hidden]{display:none!important}.promotion-box-heading{display:grid;gap:.12rem;margin-bottom:.65rem}.promotion-box-heading span{font-size:.72rem;color:var(--muted-color)}.promotion-options{display:flex;flex-wrap:wrap;gap:.55rem}.promotion-choice{display:grid;gap:.08rem;min-width:8rem;padding:.65rem .8rem;text-align:left;border:1px solid var(--border-color);border-radius:.85rem;background:var(--surface);color:var(--text-color);transition:.18s ease}.promotion-choice strong{font-size:.82rem}.promotion-choice span{font-size:.65rem;color:var(--muted-color)}.promotion-choice.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}
.product-live-subtotal{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:1rem}.product-live-subtotal>div{display:grid;gap:.1rem;padding:.7rem .8rem;border-radius:.9rem;background:var(--surface-alt);border:1px solid var(--border-color)}.product-live-subtotal span{font-size:.68rem;color:var(--muted-color)}.product-live-subtotal strong{font-size:1rem;color:var(--text-color)}.product-live-subtotal>div:first-child strong{color:var(--accent)}
.delivery-order-card{margin-bottom:1rem;padding:.9rem;border:1px solid var(--border-color);border-radius:1rem;background:var(--surface-alt)}.delivery-toggle{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer}.delivery-toggle input{margin-top:.25rem;accent-color:var(--accent)}.delivery-toggle span{display:grid;gap:.1rem}.delivery-toggle small{font-size:.7rem;color:var(--muted-color)}.delivery-fields{display:grid;gap:.65rem;margin-top:.75rem}.delivery-fields textarea{width:100%;resize:vertical;border:1px solid var(--border-color);border-radius:.8rem;padding:.7rem;background:var(--surface);color:var(--text-color);outline:none}.delivery-fields textarea:focus{border-color:var(--accent)}.delivery-actions{display:flex;flex-wrap:wrap;gap:.5rem}.delivery-actions button{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem .7rem;border:1px solid var(--border-color);border-radius:.75rem;background:var(--surface);color:var(--text-color);font-size:.75rem;font-weight:800}.delivery-location-ok{font-size:.72rem;color:#16a34a}.delivery-location-error{font-size:.72rem;color:#dc2626}.cart-grand-total{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:1rem}.cart-grand-total>span{font-weight:900}.cart-grand-total>strong{font-size:1.35rem;color:var(--accent)}.cart-grand-total>small{grid-column:2;font-size:.78rem;color:var(--muted-color);text-align:right}
.promotion-builder-row{grid-template-columns:minmax(6rem,.55fr) minmax(7rem,.65fr) minmax(9rem,1fr) 2.8rem!important}
.feed-organizer-toolbar{position:sticky;top:.7rem;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.9rem 1rem;border:1px solid #dbe7ff;border-radius:1rem;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(37,99,235,.08);backdrop-filter:blur(10px)}.feed-organizer-toolbar>div{display:grid;gap:.1rem}.feed-organizer-toolbar span{color:#64748b;font-size:.78rem}.feed-organizer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.feed-organizer-card{position:relative;overflow:hidden;border:1px solid #dbe7ff;border-radius:1.1rem;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.06);cursor:grab;transition:transform .18s ease,box-shadow .18s ease}.feed-organizer-card.is-chosen{box-shadow:0 18px 34px rgba(37,99,235,.2);transform:scale(1.02)}.feed-organizer-card.is-dragging{opacity:.35}.feed-drag-handle{position:absolute;right:.55rem;top:.55rem;z-index:3;display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:rgba(15,23,42,.78);color:white;cursor:grab}.feed-organizer-media{position:relative;aspect-ratio:1/1;display:grid;place-items:center;background:#eff6ff;overflow:hidden}.feed-organizer-media img{width:100%;height:100%;object-fit:cover}.feed-organizer-media>i{font-size:2rem;color:#94a3b8}.feed-status{position:absolute;left:.55rem;bottom:.55rem;padding:.25rem .45rem;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:.62rem;font-weight:900}.feed-organizer-copy{display:grid;gap:.18rem;padding:.75rem}.feed-organizer-copy strong{color:#0f172a;line-height:1.2}.feed-organizer-copy span{font-size:.7rem;color:#64748b}.feed-organizer-copy b{color:#2563eb}
@media(max-width:900px){.feed-organizer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.product-live-subtotal{grid-template-columns:1fr}.promotion-builder-row{grid-template-columns:1fr 1fr!important}.promotion-builder-row input:nth-child(3){grid-column:1/-1}.promotion-builder-row .builder-remove{grid-column:2;grid-row:1}.feed-organizer-toolbar{align-items:stretch;flex-direction:column}.feed-organizer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.feed-organizer-copy{padding:.55rem}.delivery-actions button{flex:1 1 auto}}


/* ===== V3.2.1 Admin Productos: responsive móvil sin desbordes ===== */
.admin-theme main,
.admin-theme main > section,
.admin-products-layout,
.admin-products-layout > *,
.admin-products-form-card,
.admin-products-list-card,
.admin-products-form-card form,
.admin-products-form-card section,
.admin-commerce-builder,
.builder-block,
.builder-rows,
.builder-row {
    min-width: 0;
    max-width: 100%;
}

.admin-products-form-card .input-dark,
.admin-products-form-card input,
.admin-products-form-card textarea,
.admin-products-form-card select {
    min-width: 0;
    max-width: 100%;
}

.admin-products-form-card input[type="file"] {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.admin-products-table-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 767px) {
    .admin-theme main > section {
        width: 100%;
        padding-left: .85rem !important;
        padding-right: .85rem !important;
        overflow-x: clip;
    }

    .admin-products-layout {
        width: 100%;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 1rem !important;
    }

    .admin-products-form-card,
    .admin-products-list-card {
        width: 100%;
        padding: 1rem !important;
        border-radius: 1.15rem;
    }

    .admin-products-form-card .form-help {
        overflow-wrap: anywhere;
    }

    .admin-products-form-card input[type="file"] {
        font-size: .82rem;
        padding: .65rem .7rem;
    }

    .builder-heading,
    .builder-block-heading {
        width: 100%;
        align-items: stretch !important;
        flex-direction: column !important;
        gap: .65rem !important;
    }

    .builder-add {
        width: 100%;
        max-width: 100%;
        white-space: normal !important;
    }

    .builder-block {
        padding: .8rem !important;
    }

    .builder-row,
    .wholesale-builder-row,
    .promotion-builder-row {
        width: 100%;
        grid-template-columns: minmax(0, 1fr) 2.65rem !important;
        gap: .5rem !important;
        align-items: start !important;
    }

    .builder-row > .input-dark:nth-of-type(1),
    .wholesale-builder-row > .input-dark:nth-of-type(1),
    .promotion-builder-row > .input-dark:nth-of-type(1) {
        grid-column: 1;
        grid-row: 1;
    }

    .builder-row > .input-dark:nth-of-type(2),
    .wholesale-builder-row > .input-dark:nth-of-type(2),
    .promotion-builder-row > .input-dark:nth-of-type(2) {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .promotion-builder-row > .input-dark:nth-of-type(3) {
        grid-column: 1 / -1 !important;
        grid-row: 3;
    }

    .builder-row > .builder-remove,
    .wholesale-builder-row > .builder-remove,
    .promotion-builder-row > .builder-remove {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 2.65rem;
        height: 2.65rem;
    }

    .admin-image-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .65rem;
    }

    .admin-products-list-card form[method="GET"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .admin-products-list-card form[method="GET"] > * {
        grid-column: auto !important;
        min-width: 0;
    }

    .admin-products-table-wrap {
        margin-right: 0;
        padding-bottom: .35rem;
    }

    .admin-mobile-header {
        max-width: 100vw;
        overflow: hidden;
    }

    .admin-mobile-header > div:last-child {
        max-width: 100%;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 390px) {
    .admin-theme main > section {
        padding-left: .65rem !important;
        padding-right: .65rem !important;
    }

    .admin-products-form-card,
    .admin-products-list-card {
        padding: .8rem !important;
    }

    .admin-image-gallery {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ================================================================
   APPIX V4.0 FASE 1 · configuración modular, sedes y tutorial
   ================================================================ */
.setup-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .72rem;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.setup-step-heading{display:flex;align-items:flex-start;gap:.9rem}.setup-step-heading>span{flex:0 0 2.15rem;width:2.15rem;height:2.15rem;border-radius:999px;background:#2563eb;color:white;display:grid;place-items:center;font-weight:900;box-shadow:0 8px 18px rgba(37,99,235,.2)}.setup-step-heading h2{font-size:1.16rem;font-weight:900;color:#0f172a}.setup-step-heading p{font-size:.88rem;color:#64748b;margin-top:.15rem;line-height:1.45}
.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.module-choice{position:relative;display:flex;align-items:flex-start;gap:.8rem;padding:1rem;border:1px solid #dbeafe;border-radius:18px;background:#fff;cursor:pointer;transition:.18s ease;min-width:0}.module-choice:hover{border-color:#93c5fd;transform:translateY(-1px)}.module-choice input{margin-top:.3rem;accent-color:#2563eb}.module-choice-icon{width:2.35rem;height:2.35rem;border-radius:12px;background:#eff6ff;color:#2563eb;display:grid;place-items:center;flex:none;font-size:1.05rem}.module-choice strong{display:block;color:#0f172a;font-size:.95rem}.module-choice small{display:block;color:#64748b;font-size:.78rem;line-height:1.35;margin-top:.2rem}.module-choice:has(input:checked){border-color:#60a5fa;background:#f8fbff;box-shadow:0 0 0 2px rgba(59,130,246,.07)}.module-choice.is-required{cursor:default}.future-modules{padding:.9rem 1rem;border-radius:16px;background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b;font-size:.82rem;line-height:1.45}.future-modules strong{color:#334155}
.existing-category-list{display:flex;flex-wrap:wrap;gap:.45rem}.existing-category-list span{padding:.38rem .65rem;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.78rem;font-weight:800}.setup-category-rows{display:grid;gap:.6rem}.setup-category-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:.6rem;align-items:center}.setup-save-bar{position:sticky;bottom:12px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-radius:20px;background:rgba(255,255,255,.96);border:1px solid #dbeafe;box-shadow:0 18px 55px rgba(15,23,42,.14);backdrop-filter:blur(14px)}.setup-save-bar strong,.setup-save-bar small{display:block}.setup-save-bar strong{color:#0f172a}.setup-save-bar small{color:#64748b;font-size:.76rem;margin-top:.15rem}.setup-pending-banner{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-radius:16px;background:#fffbeb;border:1px solid #fde68a;color:#92400e}.setup-pending-banner strong,.setup-pending-banner span{display:block}.setup-pending-banner span{font-size:.78rem;margin-top:.15rem}.setup-pending-banner a{white-space:nowrap;padding:.55rem .8rem;border-radius:12px;background:#f59e0b;color:#fff;font-weight:900;font-size:.8rem}

.sede-admin-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.sede-admin-identity{display:flex;align-items:center;gap:.9rem;min-width:0}.sede-admin-identity>img,.sede-admin-identity>span{width:58px;height:58px;border-radius:16px;flex:none}.sede-admin-identity>img{object-fit:cover;border:1px solid #dbeafe}.sede-admin-identity>span{display:grid;place-items:center;background:#eff6ff;color:#2563eb;font-size:1.3rem}.sede-admin-identity h2{font-weight:900;color:#0f172a;font-size:1.05rem}.sede-admin-identity p,.sede-admin-identity small{display:block;color:#64748b;font-size:.78rem;margin-top:.12rem}.sede-admin-identity em{font-style:normal;padding:.2rem .45rem;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.65rem;font-weight:900}.sede-admin-identity em.is-muted{background:#f1f5f9;color:#64748b}.sede-admin-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.sede-product-list{display:grid;gap:.55rem;max-height:65vh;overflow:auto;padding-right:.25rem}.sede-product-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:1rem;align-items:center;padding:.75rem;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.sede-product-main{display:flex;align-items:center;gap:.75rem;min-width:0}.sede-product-main>input{width:18px;height:18px;accent-color:#2563eb;flex:none}.sede-product-main img,.sede-product-placeholder{width:50px;height:50px;border-radius:12px;flex:none}.sede-product-main img{object-fit:cover;border:1px solid #e2e8f0}.sede-product-placeholder{display:grid;place-items:center;background:#f1f5f9;color:#94a3b8}.sede-product-main strong,.sede-product-main small{display:block}.sede-product-main strong{font-size:.9rem;color:#0f172a}.sede-product-main small{font-size:.72rem;color:#64748b;margin-top:.15rem}.sede-product-price span{display:block;font-size:.68rem;font-weight:900;color:#64748b;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.04em}

.sede-selector-backdrop{position:fixed;inset:0;z-index:110;background:rgba(15,23,42,.68);display:grid;place-items:center;padding:18px;opacity:0;transition:.18s ease;backdrop-filter:blur(9px)}.sede-selector-backdrop[hidden]{display:none}.sede-selector-backdrop.is-open{opacity:1}.sede-selector-card{position:relative;width:min(680px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:28px;background:#fff;padding:26px;box-shadow:0 28px 90px rgba(15,23,42,.26)}.sede-selector-close{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:999px;background:#f1f5f9;color:#334155;display:grid;place-items:center}.sede-selector-eyebrow{display:block;font-size:.7rem;font-weight:950;letter-spacing:.12em;color:var(--accent);margin-bottom:.5rem}.sede-selector-card h2{font-size:clamp(1.6rem,5vw,2.2rem);line-height:1.05;font-weight:950;color:#0f172a;padding-right:40px}.sede-selector-card>p{color:#64748b;margin-top:.55rem;line-height:1.5}.sede-selector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.25rem}.sede-choice{display:grid;grid-template-columns:58px minmax(0,1fr) 20px;gap:.8rem;align-items:center;text-align:left;padding:.85rem;border:1px solid #e2e8f0;border-radius:18px;background:#fff;transition:.18s ease}.sede-choice:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 12px 30px rgba(15,23,42,.08)}.sede-choice-media{width:58px;height:58px;border-radius:15px;background:color-mix(in srgb,var(--accent) 10%,white);color:var(--accent);display:grid;place-items:center;overflow:hidden;font-size:1.35rem}.sede-choice-media img{width:100%;height:100%;object-fit:cover}.sede-choice-copy strong,.sede-choice-copy small{display:block}.sede-choice-copy strong{font-weight:950;color:#0f172a}.sede-choice-copy small{color:#64748b;font-size:.72rem;line-height:1.3;margin-top:.2rem}.sede-choice>i{color:#94a3b8}.sede-switch-button{position:relative}.sede-switch-button:after{content:'';position:absolute;right:7px;bottom:7px;width:6px;height:6px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 2px var(--page-bg)}

.appix-tour-layer{position:fixed;inset:0;z-index:10010;background:rgba(15,23,42,.62);backdrop-filter:blur(2px)}.appix-tour-card{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:10020;width:min(520px,calc(100vw - 28px));padding:20px;border-radius:22px;background:#fff;box-shadow:0 28px 90px rgba(15,23,42,.32)}.appix-tour-progress{font-size:.68rem;font-weight:950;letter-spacing:.08em;color:var(--accent);text-transform:uppercase}.appix-tour-card h3{font-size:1.25rem;font-weight:950;color:#0f172a;margin-top:.35rem}.appix-tour-card p{color:#64748b;line-height:1.5;margin-top:.4rem;font-size:.9rem}.appix-tour-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}.appix-tour-skip,.appix-tour-next{padding:.72rem 1rem;border-radius:13px;font-size:.84rem;font-weight:900}.appix-tour-skip{background:#f1f5f9;color:#475569}.appix-tour-next{background:var(--accent);color:var(--accent-contrast)}.appix-tour-focus{position:relative!important;z-index:10015!important;outline:4px solid #fff!important;box-shadow:0 0 0 7px var(--accent),0 20px 60px rgba(0,0,0,.24)!important;border-radius:16px}.appix-tour-active{scroll-behavior:smooth}.modal-open{overflow:hidden}

@media(max-width:767px){.module-grid{grid-template-columns:1fr}.setup-save-bar{align-items:stretch;flex-direction:column}.setup-save-bar .btn-neon{width:100%}.sede-admin-card{align-items:stretch;flex-direction:column}.sede-admin-actions{justify-content:flex-start}.sede-product-row{grid-template-columns:1fr}.sede-selector-grid{grid-template-columns:1fr}.sede-selector-card{padding:22px 18px}.sede-selector-card h2{font-size:1.7rem}.appix-tour-card{bottom:max(12px,env(safe-area-inset-bottom));padding:17px}.appix-tour-focus{scroll-margin-top:110px}}

/* =========================================================
   APPIX V4.1 OPERATIVA
   ========================================================= */
.admin-nav-label{font-size:.67rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8;padding:1rem .75rem .35rem}.admin-link{display:flex;align-items:center;gap:.65rem}.dashboard-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.dashboard-quick-links a{display:flex;align-items:center;gap:.7rem;border:1px solid #dbeafe;border-radius:1rem;padding:1rem;background:#f8fbff;font-weight:800;color:#1d4ed8}.dashboard-quick-links i{font-size:1.25rem}
.operation-theme{margin:0;background:#f3f6fb;color:#0f172a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}.operation-topbar,.kiosk-head{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.25rem;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid #e2e8f0}.operation-topbar>div:first-child,.kiosk-head>div:first-child{display:flex;align-items:baseline;gap:.7rem}.operation-topbar strong,.kiosk-head strong{font-size:1rem;color:#1d4ed8}.operation-topbar span,.kiosk-head span{color:#64748b;font-size:.9rem}.operation-user{display:flex;gap:.8rem;align-items:center}.operation-user a{font-size:.82rem;font-weight:800;color:#1d4ed8}.operation-main{padding:1rem;max-width:1600px;margin:0 auto}.operation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.op-select,.pos-search-row input,.checkout-grid input,.checkout-grid select,.checkout-grid textarea,.op-product-config select,.op-panel input,.pending-payment-row input,.pending-payment-row select{appearance:none;border:1px solid #dbe3ef;background:#fff;border-radius:.9rem;padding:.78rem .9rem;outline:none;min-height:44px;color:#0f172a}.op-select:focus,.pos-search-row input:focus,.checkout-grid input:focus,.checkout-grid select:focus,.checkout-grid textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.op-primary,.op-secondary{border:0;border-radius:.9rem;padding:.8rem 1rem;font-weight:900;cursor:pointer;min-height:44px}.op-primary{background:#2563eb;color:#fff;box-shadow:0 8px 20px rgba(37,99,235,.18)}.op-primary:disabled{opacity:.45;cursor:not-allowed}.op-secondary{background:#fff;color:#0f172a;border:1px solid #dbe3ef}.operation-alert{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-radius:1rem;padding:1rem 1.15rem;margin-bottom:1rem;font-size:.92rem}.operation-alert>div{display:flex;flex-direction:column}.operation-alert.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.operation-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.operation-alert a{font-weight:900;text-decoration:underline}.op-centered{min-height:65vh;display:grid;place-items:center}.op-panel{background:#fff;border:1px solid #e2e8f0;border-radius:1.4rem;padding:1.5rem;width:100%;box-shadow:0 18px 50px rgba(15,23,42,.06)}.op-panel h1{font-size:1.7rem;font-weight:900}.op-panel p{color:#64748b;margin-top:.35rem}.op-panel label,.checkout-grid label,.op-product-config label{display:flex;flex-direction:column;gap:.4rem;font-size:.78rem;font-weight:800;color:#475569}
.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:1rem;align-items:start}.pos-products,.pos-cart{background:#fff;border:1px solid #e2e8f0;border-radius:1.4rem;box-shadow:0 14px 40px rgba(15,23,42,.045)}.pos-products{padding:1rem;min-height:70vh}.pos-search-row{display:flex;flex-direction:column;gap:.75rem;position:sticky;top:75px;background:#fff;z-index:5;padding-bottom:.75rem}.pos-search-row>input{width:100%;font-size:1rem}.pos-categories{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.15rem}.pos-categories button{white-space:nowrap;border:1px solid #dbe3ef;background:#fff;color:#475569;padding:.6rem .85rem;border-radius:999px;font-weight:800}.pos-categories button.active{background:#0f172a;color:#fff;border-color:#0f172a}.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:.8rem}.pos-product{border:1px solid #e2e8f0;background:#fff;border-radius:1.15rem;padding:.65rem;text-align:left;cursor:pointer;transition:.18s ease;overflow:hidden}.pos-product:hover{transform:translateY(-2px);border-color:#bfdbfe;box-shadow:0 10px 24px rgba(37,99,235,.09)}.pos-product img,.pos-no-image{width:100%;aspect-ratio:1/1;object-fit:contain;background:#f8fafc;border-radius:.8rem;display:grid;place-items:center}.pos-no-image i{font-size:2rem;color:#cbd5e1}.pos-product>span{display:block;padding:.65rem .15rem .15rem}.pos-product strong{display:block;font-size:.9rem;line-height:1.2}.pos-product small{display:block;color:#64748b;margin-top:.3rem;font-size:.72rem}.pos-product b{display:block;color:#1d4ed8;margin-top:.45rem;font-size:1rem}.pos-product em{display:block;color:#64748b;font-style:normal;font-size:.7rem;margin-top:.3rem}.pos-cart{position:sticky;top:76px;min-height:calc(100vh - 100px);display:flex;flex-direction:column;justify-content:space-between;padding:1rem}.pos-cart h2{font-size:1.3rem;font-weight:900}.pos-cart>div>p{color:#94a3b8;font-size:.9rem;margin-top:.5rem}.pos-cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.55rem;align-items:center;border-bottom:1px solid #eef2f7;padding:.85rem 0}.pos-cart-copy strong{display:block;font-size:.88rem}.pos-cart-copy small{display:block;color:#64748b;font-size:.68rem;margin-top:.15rem}.pos-cart-copy b{display:block;color:#1d4ed8;margin-top:.25rem;font-size:.82rem}.pos-qty{display:flex;align-items:center;border:1px solid #e2e8f0;border-radius:.7rem;overflow:hidden}.pos-qty button{border:0;background:#f8fafc;width:30px;height:32px;font-weight:900}.pos-qty span{min-width:28px;text-align:center;font-size:.82rem;font-weight:900}.pos-remove{border:0;background:#fef2f2;color:#dc2626;width:30px;height:30px;border-radius:.7rem;font-weight:900}.pos-cart-total{border-top:1px solid #e2e8f0;padding-top:1rem}.pos-cart-total>div{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.55rem}.pos-cart-total span{color:#64748b;font-size:.82rem}.pos-cart-total strong{font-size:1.08rem}
.op-dialog{width:min(94vw,680px);max-height:90vh;overflow:auto;border:0;border-radius:1.4rem;padding:1.25rem;box-shadow:0 30px 100px rgba(15,23,42,.25)}.op-dialog::backdrop{background:rgba(15,23,42,.58);backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1rem}.dialog-head small{font-size:.7rem;letter-spacing:.12em;font-weight:900;color:#2563eb}.dialog-head h2{font-size:1.55rem;font-weight:900}.dialog-close{border:0;background:#f1f5f9;border-radius:999px;width:36px;height:36px;font-size:1.4rem;cursor:pointer}.op-product-config,.checkout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.checkout-grid textarea{min-height:90px;resize:vertical}.checkout-total{display:flex;justify-content:space-between;align-items:center;margin:1rem 0;padding:1rem;background:#eff6ff;border-radius:1rem}.checkout-total strong{font-size:1.25rem;color:#1d4ed8}.op-stepper{display:flex;border:1px solid #dbe3ef;border-radius:.9rem;overflow:hidden;background:#fff;min-height:44px}.op-stepper button{width:44px;border:0;background:#f8fafc;font-weight:900;font-size:1.2rem}.op-stepper span{display:grid;place-items:center;min-width:50px;font-weight:900}.pending-payment-row{display:grid;grid-template-columns:minmax(150px,1fr) 130px 150px auto;gap:.6rem;align-items:center;border-top:1px solid #e2e8f0;padding:.8rem 0}.pending-payment-row strong,.pending-payment-row small{display:block}.pending-payment-row small{color:#64748b;margin-top:.2rem}
.kitchen-live{font-size:.8rem;color:#64748b;display:flex;align-items:center;gap:.45rem}.kitchen-live span{width:8px;height:8px;background:#22c55e;border-radius:50%;box-shadow:0 0 0 4px rgba(34,197,94,.12)}.kitchen-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:1rem}.kitchen-ticket{background:#fff;border:1px solid #dbe3ef;border-radius:1.2rem;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.04)}.kitchen-ticket header{display:flex;justify-content:space-between;gap:1rem;padding:1rem;background:#0f172a;color:#fff}.kitchen-ticket header strong{font-size:1.15rem}.kitchen-ticket header small{display:block;color:#cbd5e1;margin-top:.25rem;font-size:.72rem}.kitchen-ticket header>span{text-transform:uppercase;font-size:.66rem;font-weight:900;background:#fff1;color:#fff;padding:.4rem .55rem;border-radius:.5rem;height:max-content}.kitchen-items{padding:1rem}.kitchen-items>div{display:grid;grid-template-columns:34px 1fr;gap:.55rem;border-bottom:1px dashed #dbe3ef;padding:.65rem 0}.kitchen-items b{font-size:1.1rem;color:#1d4ed8}.kitchen-items span{font-weight:800}.kitchen-note{margin:0 1rem 1rem;padding:.7rem;background:#fff7ed;color:#9a3412;border-radius:.7rem;font-weight:800}.kitchen-ticket footer{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;padding:.8rem;background:#f8fafc}.kitchen-ticket footer button,.kitchen-ticket footer a{border:1px solid #dbe3ef;background:#fff;border-radius:.65rem;padding:.6rem .35rem;font-size:.68rem;font-weight:900;text-align:center;cursor:pointer;color:#334155}.kitchen-ticket footer button.primary{background:#2563eb;color:#fff;border-color:#2563eb}.kitchen-empty,.kitchen-loading{grid-column:1/-1;min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8;gap:.5rem}.kitchen-empty i{font-size:3rem;color:#22c55e}.kitchen-empty strong{font-size:1.2rem;color:#334155}
.delivery-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1rem}.delivery-card{background:#fff;border:1px solid #dbe3ef;border-radius:1.2rem;padding:1rem}.delivery-card header{display:flex;justify-content:space-between;gap:1rem}.delivery-card header small{color:#64748b}.delivery-card header h2{font-size:1.5rem;font-weight:900}.delivery-card header b{text-transform:uppercase;font-size:.68rem;color:#1d4ed8}.delivery-client{padding:1rem 0;border-bottom:1px solid #e2e8f0}.delivery-client strong,.delivery-client span{display:block}.delivery-client span,.delivery-client p{color:#64748b;font-size:.82rem;margin-top:.25rem}.delivery-deps{display:flex;flex-wrap:wrap;gap:.4rem;padding:.8rem 0}.delivery-deps span{font-size:.7rem;background:#fff7ed;color:#9a3412;padding:.4rem .55rem;border-radius:999px;font-weight:800}.delivery-deps span.done{background:#ecfdf5;color:#047857}.delivery-actions{display:flex;gap:.5rem}.delivery-actions a,.delivery-actions button{flex:1;border:0;border-radius:.8rem;padding:.75rem;text-align:center;font-weight:900;font-size:.8rem}.delivery-actions a{background:#eff6ff;color:#1d4ed8}.delivery-actions button{background:#2563eb;color:#fff}.kiosk-head{padding:1.1rem 1.5rem}.kiosk-theme .operation-main{max-width:1700px}.kiosk-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.kiosk-grid .pos-product strong{font-size:1rem}.kiosk-grid .pos-product b{font-size:1.1rem}.kiosk-success{min-height:75vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem}.kiosk-success i{font-size:5rem;color:#22c55e}.kiosk-success h1{font-size:2.3rem;font-weight:900}.kiosk-success p{max-width:560px;color:#64748b}.kiosk-success>strong{font-size:1.4rem}
@media(max-width:1024px){.pos-layout{grid-template-columns:minmax(0,1fr) 330px}.pos-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.pending-payment-row{grid-template-columns:1fr 1fr}.pending-payment-row>div{grid-column:1/-1}}
@media(max-width:760px){.operation-main{padding:.65rem}.operation-topbar{padding:.75rem}.operation-topbar>div:first-child{display:block}.operation-topbar span{display:block}.operation-user>span{display:none}.pos-layout{display:block}.pos-products{border-radius:1rem;padding:.7rem;min-height:auto;padding-bottom:190px}.pos-search-row{top:61px}.pos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.pos-product{padding:.5rem}.pos-cart{position:fixed;z-index:35;left:.55rem;right:.55rem;bottom:.55rem;top:auto;min-height:auto;max-height:42vh;border-radius:1rem;box-shadow:0 20px 60px rgba(15,23,42,.22);overflow:auto}.pos-cart>div:first-child h2{font-size:1rem}.pos-cart-line{padding:.5rem 0}.pos-cart-total{background:#fff;position:sticky;bottom:0}.op-product-config,.checkout-grid{grid-template-columns:1fr}.op-dialog{padding:1rem}.kitchen-board,.delivery-board{grid-template-columns:1fr}.kitchen-ticket footer{grid-template-columns:repeat(2,1fr)}.dashboard-quick-links{grid-template-columns:1fr}.kiosk-head{padding:.75rem}.kiosk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* =========================================================
   APPIX V4.1.1 — Identidad operativa, alertas y producto
   ========================================================= */
.admin-theme{--accent:var(--brand-accent,#2563EB);--accent-contrast:var(--brand-accent-contrast,#FFFFFF);--surface:#FFFFFF;--surface-alt:color-mix(in srgb,var(--brand-accent,#2563EB) 5%,#FFFFFF);--page-bg:color-mix(in srgb,var(--brand-page-bg,#FFFFFF) 82%,var(--brand-accent,#2563EB) 5%);--text-color:var(--brand-text,#0F172A);--border-color:color-mix(in srgb,var(--brand-accent,#2563EB) 18%,#E2E8F0);--muted-color:color-mix(in srgb,var(--brand-text,#0F172A) 58%,#FFFFFF)}
.admin-sidebar,.admin-mobile-header{border-color:var(--border-color);box-shadow:8px 0 30px color-mix(in srgb,var(--accent) 7%,transparent)}
.admin-sidebar-brand{border-color:var(--border-color)}
.admin-link:hover,.admin-active{background:color-mix(in srgb,var(--accent) 9%,#FFFFFF);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.mobile-link{border-color:var(--border-color);background:color-mix(in srgb,var(--accent) 9%,#FFFFFF);color:var(--accent)}
.admin-theme .text-blue-700,.admin-theme .text-cyan-400{color:var(--accent)!important}
.admin-theme .bg-blue-50{background:color-mix(in srgb,var(--accent) 8%,#FFFFFF)!important}
.admin-theme .border-blue-100,.admin-theme .border-blue-200{border-color:var(--border-color)!important}
.admin-theme .card-premium{border-color:var(--border-color)}
.admin-nav-label{color:color-mix(in srgb,var(--text-color) 46%,#FFFFFF)}
.dashboard-quick-links a{border-color:var(--border-color);background:color-mix(in srgb,var(--accent) 5%,#FFFFFF);color:var(--accent)}
.operation-theme{--accent:var(--brand-accent,#2563EB);--accent-contrast:var(--brand-accent-contrast,#FFFFFF);--surface:#FFFFFF;--surface-alt:color-mix(in srgb,var(--brand-accent,#2563EB) 5%,#FFFFFF);--border-color:color-mix(in srgb,var(--brand-accent,#2563EB) 18%,#E2E8F0);--muted-color:color-mix(in srgb,var(--brand-text,#0F172A) 58%,#FFFFFF);background:color-mix(in srgb,var(--brand-page-bg,#FFFFFF) 86%,var(--brand-accent,#2563EB) 4%);color:var(--brand-text,#0F172A)}
.operation-topbar,.kiosk-head{background:color-mix(in srgb,var(--brand-page-bg,#FFFFFF) 92%,#FFFFFF);border-color:var(--border-color)}
.operation-brand{display:flex!important;align-items:center!important;gap:.75rem!important}
.operation-brand-copy{display:flex;align-items:baseline;gap:.65rem;min-width:0}
.operation-brand-logo{width:42px;height:42px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid var(--border-color);padding:3px;flex:0 0 auto}
.operation-brand-fallback{width:42px;height:42px;display:grid!important;place-items:center;border-radius:12px;background:var(--accent)!important;color:var(--accent-contrast)!important;flex:0 0 auto}
.operation-brand-fallback i{font-size:1.1rem}
.operation-topbar strong,.kiosk-head strong,.operation-user a{color:var(--accent)}
.operation-topbar span,.kiosk-head span{color:var(--muted-color)}
.op-primary{background:var(--accent);color:var(--accent-contrast);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 20%,transparent)}
.op-secondary{border-color:var(--border-color);color:var(--brand-text,#0F172A)}
.op-select,.pos-search-row input,.checkout-grid input,.checkout-grid select,.checkout-grid textarea,.op-product-config select,.op-panel input,.pending-payment-row input,.pending-payment-row select{border-color:var(--border-color);color:var(--brand-text,#0F172A)}
.op-select:focus,.pos-search-row input:focus,.checkout-grid input:focus,.checkout-grid select:focus,.checkout-grid textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}
.pos-products,.pos-cart,.delivery-card,.kitchen-ticket,.op-panel{border-color:var(--border-color)}
.pos-categories button{border-color:var(--border-color);color:var(--brand-text,#0F172A)}
.pos-categories button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}
.pos-product{border-color:var(--border-color)}
.pos-product:hover{border-color:var(--accent);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 12%,transparent)}
.pos-product b,.pos-cart-copy b,.dialog-head small,.checkout-total strong,.delivery-card header b{color:var(--accent)}
.checkout-total,.delivery-actions a{background:color-mix(in srgb,var(--accent) 8%,#FFFFFF);color:var(--accent)}
.delivery-actions button,.kitchen-ticket footer button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}
.kitchen-ticket header{background:color-mix(in srgb,var(--accent) 35%,#0F172A);color:#fff}
.kitchen-items b{color:var(--accent)}
.kitchen-live span{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}
.operation-live-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.op-alert-toggle{display:inline-flex;align-items:center;gap:.45rem;padding:.62rem .8rem;min-height:38px}
.op-alert-toggle.is-enabled{background:color-mix(in srgb,var(--accent) 10%,#FFFFFF);border-color:var(--accent);color:var(--accent)}
.operation-login-brand{display:flex;align-items:center;gap:.85rem}
.operation-login-brand img,.operation-login-brand>span{width:54px;height:54px;border-radius:15px;object-fit:contain;border:1px solid var(--border-color);background:#fff;padding:4px}
.operation-login-brand>span{display:grid;place-items:center;background:var(--accent);color:var(--accent-contrast)}
.operation-login-brand strong,.operation-login-brand small{display:block}.operation-login-brand strong{font-size:1.15rem;color:var(--accent)}.operation-login-brand small{font-size:.68rem;letter-spacing:.12em;font-weight:900;color:var(--muted-color);margin-top:.15rem}
.op-dialog{width:min(96vw,920px)}
.op-product-dialog-layout{display:grid;grid-template-columns:minmax(240px,42%) minmax(0,1fr);gap:1.2rem;align-items:start}
.op-product-dialog-media{aspect-ratio:4/5;display:grid;place-items:center;border:1px solid var(--border-color);border-radius:1.1rem;background:color-mix(in srgb,var(--accent) 3%,#FFFFFF);overflow:hidden}
.op-product-dialog-media img{width:100%;height:100%;object-fit:contain;display:block}.op-product-dialog-placeholder{color:color-mix(in srgb,var(--accent) 35%,#CBD5E1);font-size:3rem}.op-product-dialog-copy{min-width:0}.op-product-dialog-copy .dialog-head{margin-top:.15rem}
@media(max-width:760px){.operation-brand-copy{display:block}.operation-brand-logo,.operation-brand-fallback{width:38px;height:38px}.operation-user a{font-size:.75rem}.op-product-dialog-layout{grid-template-columns:1fr}.op-product-dialog-media{aspect-ratio:16/10;max-height:260px}}

/* ================================================================
   APPIX V4.1.2 · refinamiento visual admin + vistas operativas
   - El panel usa una base neutra clara para garantizar contraste.
   - La identidad del negocio se conserva mediante acentos de marca.
   - Las vistas operativas toman el fondo público sin mezclarlo en marrón.
   ================================================================ */

/* ---------- ADMIN: identidad de marca sin sacrificar legibilidad ---------- */
.admin-theme{
    --accent:var(--brand-accent,#2563EB);
    --accent-contrast:var(--brand-accent-contrast,#FFFFFF);
    --surface:#FFFFFF;
    --surface-alt:color-mix(in srgb,var(--accent) 4%,#F8FAFC);
    --page-bg:#F5F7FB;
    --text-color:#162033;
    --border-color:color-mix(in srgb,var(--accent) 15%,#DCE3EC);
    --muted-color:#667085;
    background:
      radial-gradient(circle at 14% 0%,color-mix(in srgb,var(--accent) 6%,transparent) 0,transparent 31rem),
      linear-gradient(180deg,#F8FAFD 0,#F4F6FA 100%) !important;
    color:var(--text-color)!important;
}
.admin-theme main>section{color:var(--text-color)}
.admin-theme .admin-sidebar,.admin-theme .admin-mobile-header{
    background:rgba(255,255,255,.97);
    border-color:var(--border-color);
    box-shadow:10px 0 34px rgba(15,23,42,.045);
}
.admin-theme .admin-sidebar-brand{border-color:var(--border-color)}
.admin-theme .admin-sidebar-brand h1,
.admin-theme .admin-mobile-header strong{color:var(--accent)!important}
.admin-theme .admin-sidebar-brand p{color:#7B8495!important}
.admin-theme .admin-nav-label{color:#A1A8B5!important;letter-spacing:.13em}
.admin-theme .admin-link{color:#445066}
.admin-theme .admin-link:hover,.admin-theme .admin-active{
    background:color-mix(in srgb,var(--accent) 8%,#FFFFFF);
    color:var(--accent);
    box-shadow:inset 3px 0 0 var(--accent);
}
.admin-theme .mobile-link{
    border-color:var(--border-color);
    background:color-mix(in srgb,var(--accent) 7%,#FFFFFF);
    color:var(--accent);
}
.admin-theme .neon-text,
.admin-theme h1.neon-text,
.admin-theme h2.neon-text{color:var(--accent)!important;text-shadow:none!important}
.admin-theme h1,.admin-theme h2,.admin-theme h3,.admin-theme h4,
.admin-theme .card-premium h1,.admin-theme .card-premium h2,.admin-theme .card-premium h3,
.admin-theme strong{color:var(--text-color)}
.admin-theme .text-zinc-300,.admin-theme .text-zinc-400,.admin-theme .text-zinc-500,
.admin-theme .text-slate-400,.admin-theme .text-slate-500,.admin-theme .text-slate-600{color:var(--muted-color)!important}
.admin-theme .text-blue-600,.admin-theme .text-blue-700,.admin-theme .text-cyan-400{color:var(--accent)!important}
.admin-theme .bg-blue-50,.admin-theme .bg-blue-100{background:color-mix(in srgb,var(--accent) 8%,#FFFFFF)!important}
.admin-theme .border-blue-100,.admin-theme .border-blue-200{border-color:var(--border-color)!important}
.admin-theme .card-premium{
    background:#FFFFFF!important;
    color:var(--text-color)!important;
    border:1px solid var(--border-color)!important;
    box-shadow:0 14px 38px rgba(15,23,42,.045);
}
.admin-theme .card-premium:hover{box-shadow:0 18px 46px rgba(15,23,42,.075)}
.admin-theme input,.admin-theme select,.admin-theme textarea{
    background:#FFFFFF!important;
    color:#162033!important;
    border-color:var(--border-color)!important;
}
.admin-theme input::placeholder,.admin-theme textarea::placeholder{color:#98A2B3!important}
.admin-theme input:focus,.admin-theme select:focus,.admin-theme textarea:focus{
    border-color:var(--accent)!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)!important;
}
.admin-theme button:not(.dialog-close):not(.builder-remove),
.admin-theme .btn-primary{--tw-ring-color:color-mix(in srgb,var(--accent) 15%,transparent)}
.admin-theme table{color:var(--text-color)}
.admin-theme table thead{color:#667085}
.admin-theme table tbody tr{border-color:#E7EAF0}
.admin-theme code{color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,#FFFFFF);padding:.12rem .3rem;border-radius:.35rem}

/* ---------- Centro de vistas del negocio ---------- */
.business-views-hero{
    position:relative;overflow:hidden;margin-bottom:1.25rem;padding:1.35rem 1.45rem;border:1px solid var(--border-color);
    border-radius:1.5rem;background:linear-gradient(120deg,#FFFFFF 0,color-mix(in srgb,var(--accent) 7%,#FFFFFF) 100%);
    box-shadow:0 14px 38px rgba(15,23,42,.045)
}
.business-views-hero:after{content:"";position:absolute;width:230px;height:230px;right:-90px;top:-120px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,transparent)}
.business-views-hero>*{position:relative;z-index:1}
.business-views-hero small{display:block;color:var(--accent);font-size:.7rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase}
.business-views-hero h1{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:950;line-height:1.05;margin-top:.3rem}
.business-views-hero p{max-width:740px;color:var(--muted-color);margin-top:.5rem;line-height:1.5}
.business-views-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.business-view-card{
    position:relative;overflow:hidden;min-height:220px;padding:1.15rem!important;display:flex!important;flex-direction:column;
    border-radius:1.35rem!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important
}
.business-view-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--accent)}
.business-view-card:hover{transform:translateY(-3px)!important;border-color:color-mix(in srgb,var(--accent) 35%,var(--border-color))!important;box-shadow:0 22px 48px rgba(15,23,42,.10)!important}
.business-view-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 9%,#FFFFFF);color:var(--accent);font-size:1.35rem;border:1px solid color-mix(in srgb,var(--accent) 12%,#FFFFFF)}
.business-view-type{display:inline-flex;align-self:flex-start;margin-top:1rem;padding:.28rem .52rem;border-radius:999px;background:#F4F6F8;color:#7B8495;font-size:.64rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.business-view-card h2{font-size:1.2rem;font-weight:950;margin-top:.55rem;color:#162033!important}
.business-view-card p{font-size:.84rem;color:#667085!important;line-height:1.45;margin-top:.38rem}
.business-view-open{margin-top:auto;padding-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--accent)!important;font-weight:900;font-size:.82rem}
.business-view-open i{width:32px;height:32px;border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,#FFFFFF);display:grid;place-items:center}
.business-access-note{display:flex;align-items:flex-start;gap:.8rem;margin-top:1rem}
.business-access-note>i{flex:0 0 38px;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 8%,#FFFFFF);color:var(--accent)}
.business-access-note p{margin-top:.2rem;color:var(--muted-color)}
@media(max-width:1180px){.business-views-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.business-views-grid{grid-template-columns:1fr}.business-view-card{min-height:190px}.business-views-hero{padding:1.05rem}}

/* ---------- OPERACIÓN: usar la marca sin contaminar superficies ---------- */
.operation-theme{
    --accent:var(--brand-accent,#2563EB);
    --accent-contrast:var(--brand-accent-contrast,#FFFFFF);
    --surface:#FFFFFF;
    --surface-alt:#F7F8FA;
    --border-color:color-mix(in srgb,var(--accent) 16%,#D7DEE8);
    --muted-color:#697386;
    min-height:100vh;
    color:#162033;
    background:
      radial-gradient(circle at 13% -5%,color-mix(in srgb,var(--accent) 13%,transparent) 0,transparent 31rem),
      radial-gradient(circle at 95% 3%,color-mix(in srgb,var(--accent) 8%,transparent) 0,transparent 27rem),
      var(--brand-page-bg,#111111)!important;
    background-attachment:fixed!important;
}
.operation-topbar,.kiosk-head{
    background:color-mix(in srgb,var(--brand-page-bg,#111111) 88%,transparent)!important;
    border-bottom:1px solid color-mix(in srgb,var(--accent) 24%,transparent)!important;
    box-shadow:0 8px 34px rgba(0,0,0,.12);
    backdrop-filter:blur(18px) saturate(130%)
}
.operation-topbar strong,.kiosk-head strong,.operation-user a{color:var(--accent)!important}
.operation-topbar span,.kiosk-head span,.operation-user>span{color:var(--brand-page-contrast,#FFFFFF)!important;opacity:.72}
.operation-brand-logo{box-shadow:0 5px 18px rgba(0,0,0,.14)}
.operation-main{width:min(1780px,calc(100% - 1.4rem));max-width:1780px;padding:1.15rem .7rem 2rem}
.pos-layout{grid-template-columns:minmax(0,1fr) minmax(340px,410px);gap:1rem}
.pos-products,.pos-cart,.delivery-card,.kitchen-ticket,.op-panel{
    background:#FFFFFF!important;
    color:#162033!important;
    border-color:var(--border-color)!important;
    box-shadow:0 18px 48px rgba(0,0,0,.11)!important
}
.pos-products{padding:1.05rem;min-height:calc(100vh - 110px)}
.pos-search-row{background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px)}
.pos-product{border-color:#E4E8EE!important;background:#FFFFFF!important}
.pos-product:hover{border-color:var(--accent)!important;box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 13%,rgba(15,23,42,.08))!important}
.pos-product img,.pos-no-image{background:#F7F8FA!important}
.pos-product strong,.pos-cart h2,.pos-cart-copy strong,.dialog-head h2,.op-panel h1{color:#162033!important}
.pos-product small,.pos-product em,.pos-cart>div>p,.pos-cart-copy small,.pos-cart-total span,.op-panel p{color:#697386!important}
.pos-product b,.pos-cart-copy b,.dialog-head small,.checkout-total strong{color:var(--accent)!important}
.pos-categories button{background:#FFFFFF!important;color:#445066!important;border-color:#E1E6ED!important}
.pos-categories button.active{background:var(--accent)!important;color:var(--accent-contrast)!important;border-color:var(--accent)!important}
.pos-cart-total{background:#FFFFFF!important}
.op-dialog{background:#FFFFFF!important;color:#162033!important;border:1px solid color-mix(in srgb,var(--accent) 14%,#D7DEE8)}
.op-dialog::backdrop{background:rgba(5,8,13,.68);backdrop-filter:blur(7px)}
.op-select,.pos-search-row input,.checkout-grid input,.checkout-grid select,.checkout-grid textarea,.op-product-config select,.op-panel input,.pending-payment-row input,.pending-payment-row select{
    background:#FFFFFF!important;color:#162033!important;border-color:#DCE2EA!important
}
.op-primary{background:var(--accent)!important;color:var(--accent-contrast)!important}
.op-secondary{background:#FFFFFF!important;color:#162033!important;border-color:#DCE2EA!important}
.delivery-card header h2,.delivery-client strong,.kitchen-ticket .kitchen-items span{color:#162033!important}
.delivery-card header small,.delivery-client span,.delivery-client p,.kitchen-empty,.kiosk-success p{color:#697386!important}
.kitchen-ticket header{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 62%,#111827),#111827)!important}
.kitchen-ticket header strong,.kitchen-ticket header span{color:#FFFFFF!important}
.operation-alert.success,.operation-alert.error{box-shadow:0 10px 30px rgba(0,0,0,.06)}
@media(max-width:760px){
  .operation-main{width:100%;padding:.65rem}
  .pos-products{min-height:auto}
  .operation-topbar,.kiosk-head{background:color-mix(in srgb,var(--brand-page-bg,#111111) 91%,transparent)!important}
}

/* ================================================================
   APPIX V4.1.3 · ADMIN AZUL + OPERACIÓN CON IDENTIDAD DEL CATÁLOGO
   - El administrador vuelve a la identidad azul fija de Appix.
   - Caja, meseros, cocina, kiosco y delivery sí heredan la marca pública.
   - Las superficies operativas dejan de ser grandes bloques blancos y se
     integran al fondo del catálogo manteniendo contraste y legibilidad.
   ================================================================ */

/* ---------- ADMINISTRADOR: azul fijo, independiente de la marca pública ---------- */
.admin-theme{
    --accent:#2563EB!important;
    --accent-contrast:#FFFFFF!important;
    --surface:#FFFFFF!important;
    --surface-alt:#F8FAFC!important;
    --page-bg:#F3F7FF!important;
    --text-color:#0F172A!important;
    --border-color:#DBEAFE!important;
    --muted-color:#64748B!important;
    background:#F3F7FF!important;
    color:#0F172A!important;
}
.admin-theme .admin-sidebar,.admin-theme .admin-mobile-header{
    background:rgba(255,255,255,.98)!important;
    border-color:#DBEAFE!important;
    box-shadow:8px 0 30px rgba(37,99,235,.06)!important;
}
.admin-theme .admin-sidebar-brand{border-color:#DBEAFE!important}
.admin-theme .admin-sidebar-brand h1,.admin-theme .admin-mobile-header strong,
.admin-theme .neon-text,.admin-theme h1.neon-text,.admin-theme h2.neon-text,
.admin-theme .text-blue-600,.admin-theme .text-blue-700,.admin-theme .text-cyan-400{color:#2563EB!important;text-shadow:none!important}
.admin-theme h1,.admin-theme h2,.admin-theme h3,.admin-theme h4,.admin-theme strong{color:#0F172A}
.admin-theme .admin-link{color:#475569!important}
.admin-theme .admin-link:hover,.admin-theme .admin-active{
    background:#EFF6FF!important;color:#1D4ED8!important;box-shadow:inset 3px 0 0 #2563EB!important
}
.admin-theme .mobile-link{background:#EFF6FF!important;color:#1D4ED8!important;border-color:#DBEAFE!important}
.admin-theme .admin-nav-label{color:#94A3B8!important}
.admin-theme .card-premium{background:#FFFFFF!important;color:#0F172A!important;border-color:#DBEAFE!important;box-shadow:0 12px 34px rgba(37,99,235,.045)!important}
.admin-theme .card-premium:hover{box-shadow:0 16px 38px rgba(37,99,235,.07)!important}
.admin-theme input,.admin-theme select,.admin-theme textarea{background:#FFFFFF!important;color:#0F172A!important;border-color:#DBEAFE!important}
.admin-theme input:focus,.admin-theme select:focus,.admin-theme textarea:focus{border-color:#2563EB!important;box-shadow:0 0 0 3px rgba(37,99,235,.12)!important}
.admin-theme .btn-neon,.admin-theme .btn-primary,.admin-theme button[type="submit"]:not(.builder-remove):not(.dialog-close){background:#2563EB!important;color:#FFFFFF!important;border-color:#2563EB!important}
.admin-theme .config-tab.is-active{background:#2563EB!important;color:#FFFFFF!important}
.admin-theme input[type="checkbox"],.admin-theme input[type="radio"]{accent-color:#2563EB!important}
.admin-theme code{color:#1D4ED8!important;background:#EFF6FF!important}
.admin-theme .business-views-hero{background:linear-gradient(120deg,#FFFFFF 0,#EFF6FF 100%)!important;border-color:#DBEAFE!important}
.admin-theme .business-views-hero:after{background:rgba(37,99,235,.09)!important}
.admin-theme .business-views-hero small,.admin-theme .business-view-open{color:#2563EB!important}
.admin-theme .business-view-card:before{background:#2563EB!important}
.admin-theme .business-view-icon{background:#EFF6FF!important;color:#2563EB!important;border-color:#DBEAFE!important}
.admin-theme .business-view-open i,.admin-theme .business-access-note>i{background:#EFF6FF!important;color:#2563EB!important}

/* ---------- VISTAS DEL NEGOCIO: identidad real del catálogo ---------- */
.operation-theme{
    --op-bg:var(--brand-page-bg,#0B0B0D);
    --op-text:var(--brand-page-contrast,#FFFFFF);
    --op-surface:color-mix(in srgb,var(--op-bg) 88%,var(--op-text) 12%);
    --op-surface-2:color-mix(in srgb,var(--op-bg) 82%,var(--op-text) 18%);
    --op-surface-soft:color-mix(in srgb,var(--op-bg) 94%,var(--op-text) 6%);
    --op-border:color-mix(in srgb,var(--brand-accent,#2563EB) 34%,var(--op-text) 10%);
    --op-muted:color-mix(in srgb,var(--op-text) 68%,var(--op-bg) 32%);
    --op-shadow:rgba(0,0,0,.28);
    background:
      radial-gradient(circle at 12% -10%,color-mix(in srgb,var(--brand-accent,#2563EB) 15%,transparent) 0,transparent 32rem),
      radial-gradient(circle at 96% 4%,color-mix(in srgb,var(--brand-accent,#2563EB) 8%,transparent) 0,transparent 26rem),
      var(--op-bg)!important;
    color:var(--op-text)!important;
}
.operation-topbar,.kiosk-head{
    background:color-mix(in srgb,var(--op-bg) 92%,transparent)!important;
    border-bottom:1px solid color-mix(in srgb,var(--brand-accent,#2563EB) 36%,transparent)!important;
    box-shadow:0 10px 30px rgba(0,0,0,.18)!important;
}
.operation-brand-copy strong,.operation-user a,.kiosk-head strong{color:var(--brand-accent,#2563EB)!important}
.operation-brand-copy span,.operation-user>span,.kiosk-head span{color:var(--op-text)!important;opacity:.74!important}
.operation-brand-logo{background:color-mix(in srgb,var(--op-bg) 72%,#FFFFFF 28%)!important;border-color:var(--op-border)!important}
.operation-main{width:min(1680px,calc(100% - 2rem))!important;max-width:1680px!important;padding:1.2rem 0 2rem!important}
.operation-toolbar{margin-bottom:1rem!important}
.operation-toolbar,.operation-toolbar label,.kitchen-live{color:var(--op-muted)!important}

/* POS / mesero / kiosco: ya no hay una gran caja blanca */
.pos-layout{grid-template-columns:minmax(0,1fr) minmax(340px,390px)!important;gap:1rem!important}
.pos-products{
    background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;color:var(--op-text)!important
}
.pos-search-row{
    top:70px!important;padding:.15rem 0 .9rem!important;background:color-mix(in srgb,var(--op-bg) 88%,transparent)!important;
    backdrop-filter:blur(18px) saturate(130%)!important
}
.pos-search-row input,.op-select,
.checkout-grid input,.checkout-grid select,.checkout-grid textarea,.op-product-config select,
.op-panel input,.pending-payment-row input,.pending-payment-row select{
    background:var(--op-surface)!important;color:var(--op-text)!important;border:1px solid var(--op-border)!important;
    box-shadow:inset 0 1px 0 color-mix(in srgb,var(--op-text) 5%,transparent)!important
}
.pos-search-row input::placeholder,.checkout-grid input::placeholder,.checkout-grid textarea::placeholder,
.pending-payment-row input::placeholder{color:var(--op-muted)!important}
.pos-search-row input:focus,.op-select:focus,.checkout-grid input:focus,.checkout-grid select:focus,.checkout-grid textarea:focus{
    border-color:var(--brand-accent,#2563EB)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-accent,#2563EB) 18%,transparent)!important
}
.pos-categories{gap:.55rem!important;padding:.05rem .05rem .1rem!important}
.pos-categories button{
    background:var(--op-surface)!important;color:var(--op-text)!important;border:1px solid var(--op-border)!important;
    box-shadow:0 5px 16px rgba(0,0,0,.08)!important
}
.pos-categories button.active{background:var(--brand-accent,#2563EB)!important;color:var(--brand-accent-contrast,#FFFFFF)!important;border-color:var(--brand-accent,#2563EB)!important}
.pos-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))!important;gap:.9rem!important;align-content:start!important}
.pos-product{
    background:var(--op-surface)!important;color:var(--op-text)!important;border:1px solid color-mix(in srgb,var(--brand-accent,#2563EB) 20%,var(--op-text) 8%)!important;
    border-radius:1.15rem!important;padding:.62rem!important;box-shadow:0 12px 30px rgba(0,0,0,.11)!important
}
.pos-product:hover{transform:translateY(-3px)!important;border-color:var(--brand-accent,#2563EB)!important;box-shadow:0 18px 36px color-mix(in srgb,var(--brand-accent,#2563EB) 12%,rgba(0,0,0,.26))!important}
.pos-product img,.pos-no-image{background:var(--op-surface-2)!important;border:1px solid color-mix(in srgb,var(--op-text) 9%,transparent)!important}
.pos-product strong{color:var(--op-text)!important;font-weight:900!important}
.pos-product small,.pos-product em{color:var(--op-muted)!important}
.pos-product b{color:var(--brand-accent,#2563EB)!important;font-size:1.02rem!important}

.pos-cart{
    background:var(--op-surface)!important;color:var(--op-text)!important;border:1px solid var(--op-border)!important;
    box-shadow:0 22px 56px var(--op-shadow)!important;min-height:calc(100vh - 128px)!important;border-radius:1.35rem!important
}
.pos-cart h2,.pos-cart-copy strong,.pos-cart-total strong{color:var(--op-text)!important}
.pos-cart>div>p,.pos-cart-copy small,.pos-cart-total span{color:var(--op-muted)!important}
.pos-cart-copy b{color:var(--brand-accent,#2563EB)!important}
.pos-cart-line{border-color:color-mix(in srgb,var(--op-text) 12%,transparent)!important}
.pos-cart-total{background:transparent!important;border-color:color-mix(in srgb,var(--op-text) 12%,transparent)!important}
.pos-qty{border-color:var(--op-border)!important;background:var(--op-surface-2)!important}
.pos-qty button{background:var(--op-surface-2)!important;color:var(--op-text)!important}
.pos-qty span{color:var(--op-text)!important}
.op-primary{background:var(--brand-accent,#2563EB)!important;color:var(--brand-accent-contrast,#FFFFFF)!important;border-color:var(--brand-accent,#2563EB)!important;box-shadow:0 10px 26px color-mix(in srgb,var(--brand-accent,#2563EB) 22%,transparent)!important}
.op-secondary{background:var(--op-surface)!important;color:var(--op-text)!important;border:1px solid var(--op-border)!important}
.op-secondary:hover{border-color:var(--brand-accent,#2563EB)!important}

/* Modales operativos con la misma estética del negocio */
.op-dialog{
    background:var(--op-surface)!important;color:var(--op-text)!important;border:1px solid var(--op-border)!important;
    box-shadow:0 34px 110px rgba(0,0,0,.5)!important
}
.dialog-head h2,.op-product-dialog-copy h2,.op-panel h1{color:var(--op-text)!important}
.dialog-head small,.checkout-total strong{color:var(--brand-accent,#2563EB)!important}
.dialog-close{background:var(--op-surface-2)!important;color:var(--op-text)!important}
.op-product-dialog-media{background:var(--op-surface-2)!important;border-color:var(--op-border)!important}
.op-product-config label,.checkout-grid label,.op-panel label{color:var(--op-muted)!important}
.op-stepper{background:var(--op-surface-2)!important;border-color:var(--op-border)!important;color:var(--op-text)!important}
.op-stepper button{background:var(--op-surface-2)!important;color:var(--op-text)!important}
.checkout-total{background:color-mix(in srgb,var(--brand-accent,#2563EB) 12%,var(--op-surface))!important;color:var(--op-text)!important}

/* Cocina */
.kitchen-board,.delivery-board{align-items:start!important}
.kitchen-ticket,.delivery-card,.op-panel{
    background:var(--op-surface)!important;color:var(--op-text)!important;border:1px solid var(--op-border)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.18)!important
}
.kitchen-ticket header{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-accent,#2563EB) 45%,var(--op-surface)),var(--op-surface-2))!important;border-bottom:1px solid var(--op-border)!important}
.kitchen-ticket header strong,.kitchen-ticket header span,.kitchen-ticket .kitchen-items span{color:var(--op-text)!important}
.kitchen-ticket header small,.delivery-card header small,.delivery-client span,.delivery-client p{color:var(--op-muted)!important}
.kitchen-items>div{border-color:color-mix(in srgb,var(--op-text) 14%,transparent)!important}
.kitchen-items b,.delivery-card header b{color:var(--brand-accent,#2563EB)!important}
.kitchen-ticket footer{background:var(--op-surface-soft)!important}
.kitchen-ticket footer button,.kitchen-ticket footer a{background:var(--op-surface-2)!important;color:var(--op-text)!important;border-color:var(--op-border)!important}
.kitchen-ticket footer button.primary{background:var(--brand-accent,#2563EB)!important;color:var(--brand-accent-contrast,#FFFFFF)!important;border-color:var(--brand-accent,#2563EB)!important}
.kitchen-note{background:color-mix(in srgb,#F59E0B 14%,var(--op-surface))!important;color:color-mix(in srgb,#F59E0B 70%,var(--op-text))!important}
.kitchen-live{color:var(--op-muted)!important}
.kitchen-empty,.kitchen-loading{
    min-height:54vh!important;border:1px dashed var(--op-border)!important;border-radius:1.5rem!important;background:var(--op-surface-soft)!important;
    color:var(--op-muted)!important;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--op-text) 4%,transparent)!important
}
.kitchen-empty strong{color:var(--op-text)!important}
.kitchen-empty i{color:var(--brand-accent,#2563EB)!important}

/* Delivery */
.delivery-card header h2,.delivery-client strong{color:var(--op-text)!important}
.delivery-client{border-color:color-mix(in srgb,var(--op-text) 12%,transparent)!important}
.delivery-deps span{background:color-mix(in srgb,#F59E0B 12%,var(--op-surface))!important;color:color-mix(in srgb,#F59E0B 76%,var(--op-text))!important}
.delivery-deps span.done{background:color-mix(in srgb,#22C55E 13%,var(--op-surface))!important;color:color-mix(in srgb,#22C55E 72%,var(--op-text))!important}
.operation-theme .delivery-actions a{background:var(--op-surface-2)!important;color:var(--op-text)!important;border:1px solid var(--op-border)!important}
.operation-theme .delivery-actions button{background:var(--brand-accent,#2563EB)!important;color:var(--brand-accent-contrast,#FFFFFF)!important}

/* Kiosco: más visual y cercano al catálogo público */
.kiosk-theme .operation-main{width:min(1740px,calc(100% - 2rem))!important;max-width:1740px!important}
.kiosk-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr))!important}
.kiosk-grid .pos-product{padding:.72rem!important}
.kiosk-grid .pos-product img{aspect-ratio:4/5!important;object-fit:contain!important}
.kiosk-grid .pos-product strong{font-size:1rem!important}
.kiosk-grid .pos-product b{font-size:1.12rem!important}
.kiosk-success{color:var(--op-text)!important}
.kiosk-success h1,.kiosk-success>strong{color:var(--op-text)!important}
.kiosk-success p{color:var(--op-muted)!important}

/* Acceso de personal */
.operation-login-brand strong{color:var(--brand-accent,#2563EB)!important}
.operation-login-brand small{color:var(--op-muted)!important}
.operation-login-brand img{background:var(--op-surface-2)!important;border-color:var(--op-border)!important}

@media(max-width:1024px){
    .operation-main{width:min(100% - 1.2rem,1400px)!important}
    .pos-layout{grid-template-columns:minmax(0,1fr) 330px!important}
    .pos-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))!important}
}
@media(max-width:760px){
    .operation-main{width:100%!important;padding:.7rem!important}
    .operation-topbar,.kiosk-head{background:color-mix(in srgb,var(--op-bg) 94%,transparent)!important}
    .pos-layout{display:block!important}
    .pos-search-row{top:61px!important}
    .pos-grid,.kiosk-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.65rem!important}
    .pos-product{padding:.5rem!important}
    .pos-cart{background:var(--op-surface)!important;min-height:auto!important;max-height:44vh!important;box-shadow:0 24px 70px rgba(0,0,0,.52)!important}
    .pos-cart-total{background:var(--op-surface)!important}
    .kitchen-empty,.kitchen-loading{min-height:58vh!important}
}

/* Appix V4.2 · carrito coherente con la identidad del catálogo */
.catalog-theme .delivery-fields input,
.catalog-theme .delivery-fields textarea{
    width:100%;
    min-width:0;
    border:1px solid var(--border-color);
    border-radius:.8rem;
    padding:.72rem .78rem;
    background:var(--surface);
    color:var(--text-color);
    outline:none;
    caret-color:var(--accent);
}
.catalog-theme .delivery-fields input::placeholder,
.catalog-theme .delivery-fields textarea::placeholder{
    color:var(--muted-color);
    opacity:.85;
}
.catalog-theme .delivery-fields input:focus,
.catalog-theme .delivery-fields textarea:focus{
    border-color:var(--accent);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent);
}

/* Appix V4.2 · control privado de planes */
.appix-owner-zone{border:1px solid #bfdbfe;box-shadow:0 18px 45px rgba(37,99,235,.08)}
.owner-lock-card{display:flex;gap:1rem;align-items:flex-start;padding:1rem;border:1px dashed #93c5fd;border-radius:18px;background:#eff6ff;color:#1e3a8a}
.owner-lock-card>i{font-size:1.6rem;color:#2563eb}.owner-lock-card strong{display:block;color:#0f172a}.owner-lock-card p{font-size:.82rem;color:#64748b;margin-top:.2rem}
.owner-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.owner-summary>div{padding:1rem;border:1px solid #dbeafe;border-radius:16px;background:#f8fbff}.owner-summary small{display:block;color:#64748b;font-size:.72rem}.owner-summary strong{display:block;color:#1d4ed8;font-size:1.25rem;margin-top:.2rem}
.owner-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.owner-plan-card{position:relative}.owner-plan-card input{position:absolute;opacity:0;pointer-events:none}.owner-plan-card>span{display:block;height:100%;padding:1rem;border:1px solid #dbeafe;border-radius:17px;background:#fff;cursor:pointer;transition:.18s ease}.owner-plan-card strong,.owner-plan-card em,.owner-plan-card small{display:block}.owner-plan-card strong{font-weight:900;color:#0f172a}.owner-plan-card em{font-style:normal;font-size:1.05rem;font-weight:900;color:#2563eb;margin-top:.15rem}.owner-plan-card small{font-size:.76rem;color:#64748b;margin-top:.35rem;line-height:1.4}.owner-plan-card input:checked+span{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 2px rgba(37,99,235,.08)}
.owner-price-preview{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff}.owner-price-preview span{font-size:.78rem;color:#64748b}.owner-price-preview strong{font-size:1.3rem;color:#1d4ed8}
.owner-credentials-details{border-top:1px solid #e2e8f0;padding-top:1rem}.owner-credentials-details summary{cursor:pointer;font-weight:800;color:#334155}
@media(max-width:700px){.owner-summary,.owner-plan-grid{grid-template-columns:1fr}}


/* ===== Appix V4.2.1 · carrito móvil compacto + solicitudes web ===== */
.cart-drawer .drawer-header{
    background:color-mix(in srgb,var(--surface) 94%,transparent);
    backdrop-filter:blur(14px);
}
.cart-drawer .card-premium{
    background:var(--surface-alt);
    border:1px solid var(--border-color);
    box-shadow:none;
}
.cart-drawer .delivery-order-card{
    background:var(--surface-alt);
    border:1px solid var(--border-color);
    border-radius:1.1rem;
    padding:1rem;
    margin-bottom:.85rem;
}
.catalog-theme .cart-drawer .delivery-fields input,
.catalog-theme .cart-drawer .delivery-fields textarea{
    background:color-mix(in srgb,var(--surface) 88%,var(--text-color) 4%);
    border-color:color-mix(in srgb,var(--text-color) 16%,transparent);
    color:var(--text-color);
}
.catalog-theme .cart-drawer .delivery-actions button{
    background:color-mix(in srgb,var(--accent) 14%,var(--surface-alt));
    color:var(--text-color);
    border:1px solid color-mix(in srgb,var(--accent) 65%,var(--border-color));
    min-height:46px;
    justify-content:center;
}
.catalog-theme .cart-drawer .delivery-actions button:hover{
    background:color-mix(in srgb,var(--accent) 22%,var(--surface-alt));
}
.cart-drawer .cart-grand-total{
    padding:.25rem .1rem .35rem;
}
.cart-drawer .drawer-footer>button:last-child{
    background:transparent;
}
@media(max-width:640px){
    .cart-drawer{
        width:100%!important;
        max-width:none!important;
        overflow-y:auto!important;
        overscroll-behavior:contain;
    }
    .cart-drawer .drawer-header{
        position:sticky;
        top:0;
        z-index:8;
        padding:1rem;
    }
    .cart-drawer .drawer-content{
        flex:0 0 auto!important;
        overflow:visible!important;
        padding:1rem 1rem .35rem!important;
    }
    .cart-drawer .drawer-footer{
        padding:.35rem 1rem 1.25rem!important;
        border-top:0!important;
        margin-top:0!important;
    }
    .cart-drawer .drawer-content>.card-premium{
        border-radius:1.05rem!important;
    }
    .cart-drawer .delivery-actions{
        display:grid!important;
        grid-template-columns:1fr 1fr;
    }
    .cart-drawer .delivery-actions button{
        width:100%;
        padding:.7rem .55rem;
    }
}

/* ===== Appix Catálogo V4.2.2 · campañas, crédito, configurables y admin móvil ===== */
.product-credit-box{margin:.9rem 0;padding:1rem;border-radius:1rem;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border-color));background:color-mix(in srgb,var(--accent) 8%,var(--surface-alt))}
.product-credit-heading{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.75rem}.product-credit-heading strong{font-size:1rem}.product-credit-heading span{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:.35rem .55rem;border-radius:999px;background:var(--accent);color:var(--accent-contrast)}
.product-credit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.product-credit-grid>div{padding:.7rem;border-radius:.8rem;background:var(--surface);border:1px solid var(--border-color)}.product-credit-grid span{display:block;color:var(--muted-color);font-size:.72rem}.product-credit-grid strong{display:block;margin-top:.15rem;font-size:.92rem;color:var(--text-color)}
.product-config-note{padding:.75rem .9rem;margin:.8rem 0;border-radius:.85rem;background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-left:3px solid var(--accent);font-size:.84rem;color:var(--text-color)}
.product-config-section{margin:1rem 0;padding:1rem;border:1px solid var(--border-color);border-radius:1rem;background:var(--surface-alt)}.product-config-heading{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.75rem}.product-config-heading strong{font-size:.95rem}.product-config-heading span{font-size:.75rem;color:var(--muted-color)}.product-config-list{display:grid;gap:.55rem}
.config-choice-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem .75rem;background:var(--surface);border:1px solid var(--border-color);border-radius:.85rem}.config-choice-row>div:first-child{min-width:0}.config-choice-row strong{display:block;font-size:.85rem;color:var(--text-color)}.config-choice-row span{display:block;font-size:.7rem;color:var(--muted-color);margin-top:.12rem}.config-choice-row.is-compact{padding:.55rem .65rem;margin-top:.45rem}
.config-toggle{border:1px solid var(--border-color);border-radius:.7rem;padding:.5rem .7rem;font-size:.72rem;font-weight:900;background:var(--surface-alt);color:var(--muted-color);white-space:nowrap}.config-toggle.is-active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:var(--accent);color:var(--text-color)}
.config-qty-control{display:grid;grid-template-columns:30px 32px 30px;align-items:center;border:1px solid var(--border-color);border-radius:.7rem;overflow:hidden;background:var(--surface-alt);flex:none}.config-qty-control button{height:32px;background:transparent;color:var(--text-color);font-weight:900}.config-qty-control strong{text-align:center;font-size:.78rem}.config-complement-group{padding:.75rem;border:1px solid var(--border-color);border-radius:.9rem;background:color-mix(in srgb,var(--surface) 88%,var(--accent) 3%)}.config-complement-head strong{display:block;font-size:.87rem}.config-complement-head span{font-size:.7rem;color:var(--muted-color)}
.product-share-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:.75rem 0}.product-share-row .btn-dark{display:flex;align-items:center;justify-content:center;text-align:center;min-height:42px}.product-config-error{padding:.7rem .8rem;border-radius:.75rem;background:#FEF2F2;color:#B91C1C;border:1px solid #FECACA;font-size:.78rem;font-weight:700;margin:.65rem 0}

/* Campañas y configuración avanzada */
.section-divider{padding-top:1.25rem;border-top:1px solid #E2E8F0}.builder-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.campaign-product-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;max-height:420px;overflow:auto;padding:.15rem}.campaign-product-picker label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.65rem;border:1px solid #DBEAFE;border-radius:14px;background:#fff}.campaign-product-picker label:has(input:checked){border-color:#2563EB;background:#EFF6FF}.campaign-product-picker input{width:18px;height:18px}.campaign-product-picker label>span{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:.6rem;align-items:center;min-width:0}.campaign-product-picker img{width:44px;height:44px;object-fit:cover;border-radius:10px;grid-row:1/3}.campaign-product-picker strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.campaign-product-picker small{color:#64748B}.campaign-preview{width:110px;height:80px;object-fit:cover;border-radius:12px;border:1px solid #DBEAFE}.campaign-schedule-row{display:grid;grid-template-columns:1fr 1fr .8fr 1fr 1.1fr auto;gap:.5rem;align-items:center;margin-bottom:.55rem}.campaign-schedule-row>button{width:42px;height:42px;border-radius:12px;border:1px solid #FECACA;color:#DC2626;background:#FEF2F2}.campaign-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.85rem;border:1px solid #DBEAFE;border-radius:14px;background:#F8FBFF}.campaign-list-item strong,.campaign-list-item span{display:block}.campaign-list-item span{font-size:.74rem;color:#64748B;margin-top:.15rem}.status-pill{font-size:.65rem;font-weight:900;text-transform:uppercase;padding:.3rem .5rem;border-radius:999px;background:#EFF6FF;color:#1D4ED8}.advanced-product-tabs{display:flex;gap:.45rem;overflow:auto;padding:.1rem .1rem .45rem;scrollbar-width:none}.advanced-product-tabs a{white-space:nowrap;padding:.55rem .75rem;border:1px solid #DBEAFE;border-radius:999px;background:#fff;font-size:.75rem;font-weight:800;color:#334155}.advanced-product-tabs a:hover{border-color:#2563EB;color:#1D4ED8}

/* Tabla administrativa que se transforma en fichas en móvil. */
.admin-responsive-table{overflow-x:auto}.admin-responsive-table table{border-collapse:collapse}.admin-responsive-table th{padding:.8rem;text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#64748B;background:#F8FAFC;border-bottom:1px solid #E2E8F0}.admin-responsive-table td{padding:.85rem;border-bottom:1px solid #E2E8F0;color:#334155}

/* Navegación móvil nativa-like: siempre accesible, sin menú horizontal comprimido. */
.admin-mobile-header{background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid #DBEAFE;box-shadow:0 8px 25px rgba(37,99,235,.06)}.admin-mobile-logo-fallback{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#2563EB;color:#fff;font-size:.7rem;font-weight:900}.admin-mobile-logout{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#FEF2F2;color:#DC2626}.admin-app-bottom-nav{position:fixed;z-index:70;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:.45rem max(.25rem,env(safe-area-inset-left)) calc(.45rem + env(safe-area-inset-bottom)) max(.25rem,env(safe-area-inset-right));background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border-top:1px solid #DBEAFE;box-shadow:0 -10px 30px rgba(15,23,42,.08)}.admin-app-bottom-nav a{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.3rem .05rem;color:#64748B;border-radius:10px}.admin-app-bottom-nav i{font-size:1.02rem;line-height:1}.admin-app-bottom-nav span{font-size:.57rem;font-weight:800;line-height:1;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.admin-app-bottom-nav a.is-active{color:#1D4ED8;background:#EFF6FF}.admin-main-mobile>section{padding-bottom:calc(5.4rem + env(safe-area-inset-bottom))}

/* Página pública de URL directa. */
.direct-product-page{min-height:100vh;background:var(--page-bg);color:var(--text-color)}.direct-product-header{max-width:1180px;margin:auto;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.direct-product-brand{display:flex;align-items:center;gap:.65rem;color:var(--text-color);min-width:0}.direct-product-brand img,.direct-product-logo-fallback{width:42px;height:42px;border-radius:12px;object-fit:contain;background:var(--surface,#fff);border:1px solid var(--border-color,#e2e8f0);padding:.3rem}.direct-product-logo-fallback{display:grid;place-items:center;color:var(--accent)}.direct-product-brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.direct-product-shell{max-width:1180px;margin:auto;padding:1.5rem 1.25rem 5rem}.direct-product-preview{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(300px,1fr);gap:2rem;align-items:center;padding:clamp(1rem,3vw,2.5rem);border:1px solid color-mix(in srgb,var(--accent) 18%,#e2e8f0);border-radius:2rem;background:color-mix(in srgb,var(--page-bg) 88%,var(--accent) 4%);box-shadow:0 30px 80px rgba(15,23,42,.08)}.direct-product-preview>img,.direct-product-preview>.product-image-placeholder{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:1.5rem;background:#fff}.direct-product-preview span{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.direct-product-preview h1{font-size:clamp(2rem,6vw,4.4rem);line-height:.95;font-weight:950;margin:.6rem 0}.direct-product-preview>div>strong{display:block;font-size:1.7rem;color:var(--accent);margin:.7rem 0}.direct-product-preview p{color:color-mix(in srgb,var(--text-color) 65%,transparent);max-width:58ch;margin-bottom:1rem}

@media(max-width:900px){.campaign-schedule-row{grid-template-columns:1fr 1fr}.campaign-schedule-row>button{width:100%}.campaign-product-picker{grid-template-columns:1fr}.direct-product-preview{grid-template-columns:1fr;gap:1.2rem}.direct-product-preview>img{max-height:48vh}}
@media(max-width:640px){.product-credit-grid{grid-template-columns:1fr 1fr}.product-share-row{grid-template-columns:1fr}.config-choice-row{padding:.62rem}.campaign-list-item{flex-direction:column}.builder-heading{align-items:flex-start;flex-direction:column}.builder-heading .input-dark{width:100%!important}.admin-responsive-table{overflow:visible}.admin-responsive-table table,.admin-responsive-table tbody,.admin-responsive-table tr,.admin-responsive-table td{display:block;width:100%}.admin-responsive-table thead{display:none}.admin-responsive-table tr{padding:.75rem;border-bottom:1px solid #DBEAFE}.admin-responsive-table td{border:0;padding:.3rem .15rem;display:grid;grid-template-columns:105px 1fr;gap:.6rem;align-items:start}.admin-responsive-table td::before{content:attr(data-label);font-size:.68rem;font-weight:900;text-transform:uppercase;color:#94A3B8}.direct-product-header{padding:.75rem}.direct-product-header .btn-dark{font-size:.7rem;padding:.55rem .65rem}.direct-product-shell{padding:.75rem .75rem 5rem}.direct-product-preview{border-radius:1.3rem;padding:1rem}.direct-product-preview h1{font-size:2.3rem}.product-detail-modal{max-height:94vh}}
.product-editor-nav{display:flex;gap:.5rem;overflow-x:auto;margin:0 0 1rem;padding:.2rem 0 .55rem;scrollbar-width:none}.product-editor-nav a{flex:none;padding:.55rem .8rem;border-radius:999px;border:1px solid #DBEAFE;background:#fff;color:#475569;font-size:.74rem;font-weight:850}.product-editor-nav a.is-active{background:#2563EB;color:#fff;border-color:#2563EB}.product-editor-quicknav{display:grid;grid-template-columns:1fr;gap:.5rem}.input-prefix-row{display:grid;grid-template-columns:auto 1fr;align-items:center;border:1px solid #CBD5E1;border-radius:12px;background:#F8FAFC;overflow:hidden}.input-prefix-row>span{padding:0 .8rem;color:#64748B;font-size:.8rem;font-weight:800}.input-prefix-row .input-dark{border:0!important;border-left:1px solid #E2E8F0!important;border-radius:0!important}.credit-toggle-card,.switch-card{border:1px solid #DBEAFE;border-radius:14px;background:#F8FBFF}.credit-toggle-card label,.switch-card{display:flex;align-items:center;gap:.75rem;padding:1rem;cursor:pointer}.credit-toggle-card input,.switch-card input{width:20px;height:20px;accent-color:#2563EB}.credit-toggle-card strong,.credit-toggle-card small{display:block}.credit-toggle-card small{font-size:.72rem;color:#64748B;margin-top:.15rem}.advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.advanced-builder{padding:1rem;border:1px solid #DBEAFE;border-radius:16px;background:#F8FBFF}.advanced-builder.advanced-wide{grid-column:1/-1}.advanced-builder h3{font-weight:900;color:#0F172A}.advanced-builder p{font-size:.75rem;color:#64748B;margin-top:.15rem}.advanced-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.5rem;align-items:center;margin-top:.55rem}.advanced-row-3{grid-template-columns:minmax(0,1.3fr) .75fr .6fr auto}.complement-admin-row{grid-template-columns:1fr .55fr .65fr .55fr .75fr 1.2fr auto}.builder-admin-row{grid-template-columns:1.2fr .65fr .55fr .55fr .55fr auto}.advanced-row>button{width:42px;height:42px;border-radius:12px;background:#FEF2F2;border:1px solid #FECACA;color:#DC2626}.advanced-row textarea{min-height:72px}
@media(max-width:900px){.advanced-grid{grid-template-columns:1fr}.advanced-builder.advanced-wide{grid-column:auto}.complement-admin-row,.builder-admin-row,.advanced-row,.advanced-row-3{grid-template-columns:1fr 1fr}.advanced-row>button{width:100%}}
.mobile-product-editor-tabs{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));gap:.45rem;overflow-x:auto;margin:0 0 1rem;padding:.35rem;border:1px solid #DBEAFE;border-radius:16px;background:#F8FBFF;scrollbar-width:none}.mobile-product-editor-tabs button,.mobile-product-editor-tabs a{min-width:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.55rem .35rem;border-radius:12px;color:#64748B;font-size:.63rem;font-weight:850}.mobile-product-editor-tabs i{font-size:1rem}.mobile-product-editor-tabs button.is-active{background:#2563EB;color:#fff;box-shadow:0 6px 16px rgba(37,99,235,.18)}
@media(min-width:768px){.mobile-product-editor-tabs{display:none!important}}

/* V4.2.2 mobile admin full-menu hotfix */
.admin-app-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.admin-app-bottom-nav button{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.3rem .05rem;color:#64748B;border:0;background:transparent;border-radius:10px;font:inherit}
.admin-app-bottom-nav button i{font-size:1.02rem;line-height:1}.admin-app-bottom-nav button span{font-size:.57rem;font-weight:800;line-height:1;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.admin-app-bottom-nav button.is-active{color:#1D4ED8;background:#EFF6FF}
.admin-mobile-more-backdrop{position:fixed;inset:0;z-index:78;background:rgba(15,23,42,.48);backdrop-filter:blur(2px);opacity:0;transition:opacity .2s ease}.admin-mobile-more-backdrop.is-open{opacity:1}
.admin-mobile-more-sheet{position:fixed;left:0;right:0;bottom:0;z-index:79;max-height:min(82vh,720px);display:flex;flex-direction:column;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -20px 60px rgba(15,23,42,.22);transform:translateY(105%);transition:transform .24s ease;padding-bottom:env(safe-area-inset-bottom)}.admin-mobile-more-sheet.is-open{transform:translateY(0)}
.admin-mobile-more-handle{width:46px;height:5px;border-radius:999px;background:#CBD5E1;margin:.6rem auto .25rem}.admin-mobile-more-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem 1rem;border-bottom:1px solid #E2E8F0}.admin-mobile-more-head>div{min-width:0}.admin-mobile-more-head strong{display:block;font-size:1.05rem;color:#0F172A}.admin-mobile-more-head span{display:block;font-size:.72rem;color:#64748B;margin-top:.1rem}.admin-mobile-more-head button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:12px;background:#F1F5F9;color:#334155}
.admin-mobile-more-content{overflow-y:auto;overscroll-behavior:contain;padding:.85rem 1rem 1rem}.admin-mobile-more-section+.admin-mobile-more-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #E2E8F0}.admin-mobile-more-label{display:block;margin-bottom:.55rem;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#94A3B8}.admin-mobile-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.admin-mobile-more-grid a{min-width:0;min-height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.38rem;padding:.6rem .35rem;text-align:center;border:1px solid #DBEAFE;border-radius:14px;background:#F8FBFF;color:#334155}.admin-mobile-more-grid a i{font-size:1.15rem;color:#2563EB}.admin-mobile-more-grid a span{font-size:.68rem;font-weight:800;line-height:1.12;word-break:break-word}.admin-mobile-more-grid a.is-active{background:#EFF6FF;border-color:#2563EB;color:#1D4ED8;box-shadow:0 5px 14px rgba(37,99,235,.1)}.admin-mobile-more-grid a.is-danger{color:#B91C1C;background:#FEF2F2;border-color:#FECACA}.admin-mobile-more-grid a.is-danger i{color:#DC2626}
body.admin-more-open{overflow:hidden}
@media(max-width:380px){.admin-mobile-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V4.2.2 mobilefix2 hardening */
.admin-mobile-more-backdrop[hidden],.admin-mobile-more-sheet[hidden]{display:none!important}
@media(max-width:767.98px){.admin-app-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important}.admin-mobile-more-sheet{top:auto!important;display:flex!important;overflow:hidden!important}.admin-mobile-more-content{min-height:0!important;-webkit-overflow-scrolling:touch!important}.admin-mobile-more-grid a{text-decoration:none!important}}


/* V4.2.2 UX HOTFIX: direct link separated from credit + explicit advanced labels */
.feature-independent-badge,.optional-label{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;font-size:.7rem;font-weight:850}.feature-independent-badge{padding:.45rem .7rem;background:#ECFDF5;color:#047857;border:1px solid #A7F3D0}.optional-label{padding:.2rem .5rem;background:#F1F5F9;color:#64748B;vertical-align:middle;margin-left:.35rem}.direct-link-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.direct-url-preview{font-size:.82rem!important;color:#334155!important;background:#F8FAFC!important}.direct-link-actions{display:flex;flex-wrap:wrap;gap:.65rem}.admin-info-note,.credit-disabled-note,.admin-example-note{display:flex;align-items:flex-start;gap:.55rem;border-radius:12px;padding:.75rem .9rem;font-size:.76rem;line-height:1.45}.admin-info-note{background:#EFF6FF;border:1px solid #BFDBFE;color:#1E40AF}.credit-disabled-note{background:#F8FAFC;border:1px dashed #CBD5E1;color:#64748B}.admin-example-note{margin:.75rem 0;background:#FFF7ED;border:1px solid #FED7AA;color:#9A3412}.field-tip{font-size:.67rem;color:#94A3B8;margin-top:.28rem}.credit-fields-panel[hidden],.credit-disabled-note[hidden]{display:none!important}.advanced-help-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.advanced-help-grid>div{padding:.8rem;border-radius:12px;background:#F8FAFC;border:1px solid #E2E8F0}.advanced-help-grid strong,.advanced-help-grid span{display:block}.advanced-help-grid strong{font-size:.76rem;color:#0F172A}.advanced-help-grid span{font-size:.68rem;color:#64748B;margin-top:.2rem;line-height:1.35}.labeled-admin-row{align-items:end}.advanced-field{min-width:0}.advanced-field>label{display:block;font-size:.66rem;font-weight:800;color:#64748B;margin:0 0 .28rem .15rem;line-height:1.2}.ingredient-admin-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto}.addon-admin-row{grid-template-columns:minmax(0,1.3fr) .8fr .75fr auto}.complement-admin-row-v2{grid-template-columns:1fr .65fr .8fr .65fr .8fr 1.25fr auto}.builder-admin-row-v2{grid-template-columns:1.3fr .75fr .65fr .65fr .65fr auto}.labeled-admin-row>button{align-self:end}
@media(max-width:1000px){.advanced-help-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.complement-admin-row-v2,.builder-admin-row-v2{grid-template-columns:repeat(2,minmax(0,1fr))}.labeled-admin-row>button{width:100%;grid-column:1/-1}}
@media(max-width:767px){.direct-link-admin-grid{grid-template-columns:1fr}.direct-link-actions{display:grid;grid-template-columns:1fr}.direct-link-actions>*{width:100%;justify-content:center}.advanced-help-grid{grid-template-columns:1fr 1fr}.ingredient-admin-row,.addon-admin-row,.complement-admin-row-v2,.builder-admin-row-v2{grid-template-columns:1fr}.labeled-admin-row>button{grid-column:auto}.advanced-field>label{font-size:.72rem}.feature-independent-badge{margin-top:.5rem}}

/* APPIX V4.3.0 HOTFIX TUTORIAL — cierre real y persistente */
.appix-tour-card{padding-right:56px}
.appix-tour-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:999px;background:#f1f5f9;color:#334155;display:grid;place-items:center;font-size:1.55rem;font-weight:700;line-height:1;cursor:pointer;z-index:2;transition:background .16s ease,transform .16s ease,color .16s ease}
.appix-tour-close:hover{background:#e2e8f0;color:#0f172a;transform:scale(1.04)}
.appix-tour-close:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}
@media(max-width:560px){.appix-tour-card{padding-right:52px}.appix-tour-close{top:10px;right:10px;width:34px;height:34px}}

