:root {
    --bg: #e5e7eb;
    --panel: #ffffff;
    --text: #111827;
    --muted: #4b5563;
    --line: #d1d5db;
    --brand: #0f766e;
    --brand-dark: #115e59;
    --danger: #b91c1c;
    --warning: #92400e;
    --success: #166534;
    --shadow: 0 16px 40px rgba(17, 24, 39, 0.10);
    --soft-shadow: 0 4px 18px rgba(17, 24, 39, 0.08);
}

/* Storefront premium finish */
.public-store-body {
    background:
        radial-gradient(circle at 18% 0%, rgba(20, 184, 166, 0.14), transparent 31%),
        radial-gradient(circle at 82% 8%, rgba(14, 165, 233, 0.10), transparent 28%),
        linear-gradient(180deg, #fbfdff 0%, #eef4f8 48%, #e7edf3 100%);
    color: #0f172a;
}

.public-store-body::before {
    background:
        linear-gradient(90deg, rgba(15, 23, 42, 0.03) 1px, transparent 1px),
        linear-gradient(180deg, rgba(15, 23, 42, 0.025) 1px, transparent 1px);
    background-size: 56px 56px;
    content: "";
    inset: 0;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.72), transparent 62%);
    pointer-events: none;
    position: fixed;
    z-index: 0;
}

.public-store-container {
    max-width: 900px;
    padding: 18px clamp(14px, 4vw, 34px) 0;
    position: relative;
    z-index: 1;
}

.sf-app {
    --sf-ink: #101828;
    --sf-muted: #667085;
    --sf-panel: rgba(255, 255, 255, 0.74);
    --sf-panel-strong: rgba(255, 255, 255, 0.92);
    --sf-stroke: rgba(255, 255, 255, 0.82);
    --sf-line: rgba(148, 163, 184, 0.34);
    --sf-shadow: 0 26px 80px rgba(15, 23, 42, 0.15);
    --sf-soft-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
    gap: 18px;
    isolation: isolate;
    position: relative;
}

.sf-app::before {
    background: radial-gradient(circle, color-mix(in srgb, var(--store-color) 18%, transparent), transparent 68%);
    content: "";
    height: 460px;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: -130px;
    transform: translateX(-50%);
    width: min(760px, 100%);
    z-index: -1;
}

.sf-header-wrap {
    display: grid;
    margin: 0 0 6px;
    position: relative;
}

.sf-hero {
    background-color: #0f172a;
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: 8px;
    box-shadow: 0 32px 78px rgba(15, 23, 42, 0.25);
    height: 320px;
    margin: 0;
    outline: 1px solid rgba(15, 23, 42, 0.05);
}

.sf-hero::before {
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.22), transparent 36%),
        radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.18), transparent 22%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.04), rgba(15, 23, 42, 0.26));
    content: "";
    inset: 0;
    position: absolute;
}

.sf-hero-overlay {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.04) 12%, rgba(15, 23, 42, 0.22) 48%, rgba(15, 23, 42, 0.82) 100%);
}

.sf-hero-actions {
    gap: 8px;
    right: 14px;
    top: 14px;
}

.sf-icon-btn {
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    align-items: center;
    backdrop-filter: blur(20px) saturate(160%);
    background: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.54);
    border-radius: 8px;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.20), inset 0 1px 0 rgba(255, 255, 255, 0.26);
    color: #ffffff;
    gap: 7px;
    height: 46px;
    min-width: 46px;
    padding: 0 12px;
    transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.sf-icon-btn:hover {
    background: rgba(255, 255, 255, 0.34);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.32);
    transform: translateY(-2px);
}

.sf-wa {
    background: rgba(18, 140, 126, 0.92);
    border-color: rgba(255, 255, 255, 0.30);
}

.sf-ui-icon {
    height: 23px;
    width: 23px;
}

.sf-ui-info::before {
    border: 2px solid currentColor;
    border-radius: 50%;
    content: "i";
    display: grid;
    font-size: 13px;
    height: 20px;
    line-height: 1;
    place-items: center;
    width: 20px;
}

.sf-ui-wa::before {
    border: 2px solid currentColor;
    border-radius: 8px;
    content: "";
    height: 17px;
    transform: rotate(-6deg);
    width: 19px;
}

.sf-ui-wa::after {
    border-bottom: 2px solid currentColor;
    border-left: 2px solid currentColor;
    bottom: 3px;
    content: "";
    height: 7px;
    left: 2px;
    position: absolute;
    transform: skewX(-25deg);
    width: 8px;
}

.sf-ui-phone::before {
    border: 2px solid currentColor;
    border-radius: 8px;
    content: "";
    height: 18px;
    transform: rotate(-28deg);
    width: 9px;
}

.sf-ui-phone::after {
    background: currentColor;
    border-radius: 2px;
    content: "";
    height: 2px;
    position: absolute;
    top: 5px;
    transform: rotate(-28deg);
    width: 7px;
}

.sf-status-pill {
    -webkit-backdrop-filter: blur(18px) saturate(150%);
    backdrop-filter: blur(18px) saturate(150%);
    background: rgba(220, 38, 38, 0.82);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.22);
    right: 14px;
}

.sf-status-pill.open {
    background: rgba(5, 150, 105, 0.86);
}

.sf-avatar-wrap {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.94);
    border-radius: 8px;
    box-shadow: 0 24px 58px rgba(15, 23, 42, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.76);
    height: 124px;
    padding: 7px;
    top: 258px;
    width: 124px;
}

.sf-avatar-wrap img {
    border-radius: 6px;
}

.sf-avatar-wrap strong {
    align-items: center;
    background: color-mix(in srgb, var(--store-color) 12%, #ffffff);
    border-radius: 6px;
    color: var(--store-color);
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
}

.sf-store-title {
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    backdrop-filter: blur(24px) saturate(160%);
    background: rgba(255, 255, 255, 0.66);
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 8px;
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.10);
    margin: -28px auto 0;
    padding: 86px clamp(18px, 4vw, 34px) 24px;
    text-align: center;
    width: calc(100% - 24px);
}

.sf-store-title h1 {
    color: var(--sf-ink);
    font-size: clamp(30px, 5vw, 48px);
    font-weight: 950;
    line-height: 0.98;
    margin: 0;
}

.sf-store-title p {
    color: var(--sf-muted);
    font-size: 16px;
    line-height: 1.55;
    margin-top: 12px;
    max-width: 680px;
}

.sf-map-card,
.sf-about-card,
.sf-products-shell {
    -webkit-backdrop-filter: blur(28px) saturate(170%);
    backdrop-filter: blur(28px) saturate(170%);
    background: var(--sf-panel);
    border: 1px solid var(--sf-stroke);
    border-radius: 8px;
    box-shadow: var(--sf-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.66);
}

.sf-map-card {
    transition: box-shadow 180ms ease, transform 180ms ease;
}

.sf-map-card:hover {
    box-shadow: 0 34px 84px rgba(15, 23, 42, 0.17), inset 0 1px 0 rgba(255, 255, 255, 0.66);
    transform: translateY(-2px);
}

.sf-map-copy {
    align-items: center;
    padding: 18px;
}

.sf-map-copy strong,
.sf-about-card h2 {
    color: var(--sf-ink);
    font-weight: 950;
    letter-spacing: -0.2px;
}

.sf-map-copy p,
.sf-about-card .hours-list,
.sf-about-card p {
    color: var(--sf-muted);
}

.sf-map-copy > span {
    -webkit-backdrop-filter: blur(14px);
    align-items: center;
    backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.88);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    color: var(--store-color);
    display: inline-flex;
    gap: 7px;
}

.sf-map-card iframe {
    height: 190px;
    filter: saturate(0.88) contrast(1.02);
}

.sf-products-shell {
    padding: 18px;
}

.sf-search {
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.74);
    min-height: 58px;
    padding: 9px 12px;
}

.sf-search:focus-within {
    border-color: color-mix(in srgb, var(--store-color) 42%, #ffffff);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.82);
    transform: translateY(-1px);
}

.sf-search-leading {
    align-items: center;
    color: var(--store-color);
    display: inline-flex;
    gap: 7px;
    letter-spacing: 0.02em;
}

.sf-search input {
    color: var(--sf-ink);
    font-size: 15px;
}

.sf-search button {
    color: var(--sf-muted);
}

.sf-catalog {
    gap: 30px;
}

.sf-category {
    gap: 13px;
}

.sf-category-head {
    -webkit-backdrop-filter: blur(22px) saturate(160%);
    align-items: center;
    backdrop-filter: blur(22px) saturate(160%);
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.88);
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.62);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 76px;
    padding: 12px;
    top: 12px;
}

.sf-category-head.has-thumb {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.sf-category-thumb {
    aspect-ratio: 1;
    background: #eef2f7;
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.10);
    object-fit: cover;
    width: 52px;
}

.sf-category-head h2 {
    color: var(--sf-ink);
    font-size: 21px;
    font-weight: 950;
    letter-spacing: -0.25px;
}

.sf-category-head p {
    color: var(--sf-muted);
    display: -webkit-box;
    line-height: 1.35;
    margin-top: 3px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.sf-category-head > span {
    align-items: center;
    background: color-mix(in srgb, var(--store-color) 10%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--store-color) 22%, #ffffff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76);
    color: var(--store-color);
    display: inline-flex;
    height: 34px;
    justify-content: center;
    min-width: 40px;
}

.sf-product-list {
    gap: 12px;
}

.sf-product-card {
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    align-items: center;
    backdrop-filter: blur(20px) saturate(160%);
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.66);
    grid-template-columns: 98px minmax(0, 1fr) 46px;
    min-height: 120px;
    padding: 10px;
    transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.sf-product-card:hover {
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 22px 54px rgba(15, 23, 42, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.74);
    transform: translateY(-2px);
}

.sf-product-image {
    background: linear-gradient(135deg, #eef2f7, #ffffff);
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.05);
}

.sf-product-image img {
    transition: transform 240ms ease;
}

.sf-product-card:hover .sf-product-image img {
    transform: scale(1.04);
}

.sf-product-image span {
    align-items: center;
    color: #94a3b8;
    display: flex;
    font-size: 11px;
    font-weight: 900;
    height: 100%;
    justify-content: center;
    padding: 8px;
    text-transform: uppercase;
}

.sf-product-title {
    color: var(--sf-ink);
    font-size: 17px;
    font-weight: 950;
    letter-spacing: -0.15px;
    line-height: 1.18;
}

.sf-product-main p {
    color: var(--sf-muted);
    font-size: 13px;
    line-height: 1.38;
    margin: 5px 0 8px;
    -webkit-line-clamp: 2;
}

.sf-product-main strong {
    background: color-mix(in srgb, var(--store-color) 11%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--store-color) 20%, #ffffff);
    border-radius: 8px;
    color: color-mix(in srgb, var(--store-color) 82%, #0f172a);
    display: inline-flex;
    font-size: 13px;
    font-weight: 950;
    padding: 5px 8px;
}

.sf-add-btn {
    align-items: center;
    background: linear-gradient(180deg, color-mix(in srgb, var(--store-color) 92%, #ffffff), color-mix(in srgb, var(--store-color) 80%, #0f172a));
    border: 1px solid color-mix(in srgb, var(--store-color) 60%, #ffffff);
    box-shadow: 0 14px 28px color-mix(in srgb, var(--store-color) 32%, transparent), inset 0 1px 0 rgba(255, 255, 255, 0.36);
    color: #ffffff;
    display: inline-flex;
    font-size: 0;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.sf-add-btn:active {
    transform: scale(0.96);
}

.sf-cart-footer {
    padding-bottom: max(18px, env(safe-area-inset-bottom));
}

.sf-cart-bar {
    -webkit-backdrop-filter: blur(26px) saturate(170%);
    backdrop-filter: blur(26px) saturate(170%);
    background: rgba(15, 23, 42, 0.90);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 22px 70px rgba(15, 23, 42, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.14);
    max-width: 560px;
}

.sf-cart-badge {
    background: linear-gradient(180deg, color-mix(in srgb, var(--store-color) 88%, #ffffff), var(--store-color));
    box-shadow: 0 9px 18px color-mix(in srgb, var(--store-color) 34%, transparent);
}

.sf-cart-bar strong {
    letter-spacing: -0.2px;
}

.sf-cart-bar button,
#sfAddToCart,
.sf-checkout-modal > .button.full {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    justify-content: center;
}

#sfAddToCart,
.sf-checkout-modal > .button.full {
    background: linear-gradient(180deg, color-mix(in srgb, var(--store-color) 88%, #ffffff), color-mix(in srgb, var(--store-color) 82%, #0f172a));
    border: 1px solid color-mix(in srgb, var(--store-color) 56%, #ffffff);
    box-shadow: 0 14px 28px color-mix(in srgb, var(--store-color) 26%, transparent);
}

.sf-modal-backdrop {
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    background: rgba(15, 23, 42, 0.48);
}

.sf-modal-card {
    -webkit-backdrop-filter: blur(28px) saturate(165%);
    backdrop-filter: blur(28px) saturate(165%);
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.88);
    box-shadow: 0 34px 90px rgba(15, 23, 42, 0.36), inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.sf-modal-close {
    -webkit-backdrop-filter: blur(16px);
    align-items: center;
    backdrop-filter: blur(16px);
    background: rgba(248, 250, 252, 0.82);
    border: 1px solid rgba(226, 232, 240, 0.86);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    color: #334155;
    display: inline-flex;
    gap: 6px;
}

.sf-viewer {
    background:
        radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.85), transparent 34%),
        #edf2f7;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.05);
}

.sf-viewer-nav,
.sf-qty-stepper button,
.sf-cart-stepper button {
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(203, 213, 225, 0.78);
}

.sf-thumbs button {
    background: rgba(255, 255, 255, 0.84);
    border-color: rgba(203, 213, 225, 0.72);
}

.sf-thumbs button.active {
    border-color: var(--store-color);
    box-shadow: 0 10px 18px color-mix(in srgb, var(--store-color) 22%, transparent);
}

.sf-choice-wrap,
.sf-delivery-box,
.sf-info-block,
.sf-cart-item,
.sf-summary,
.fulfillment-card {
    background: rgba(248, 250, 252, 0.82);
    border: 1px solid rgba(226, 232, 240, 0.88);
    border-radius: 8px;
}

.sf-choice-card {
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(226, 232, 240, 0.88);
}

.sf-choice-card:has(input:checked),
.fulfillment-card:has(input:checked) {
    background: color-mix(in srgb, var(--store-color) 10%, #ffffff);
    border-color: color-mix(in srgb, var(--store-color) 44%, #ffffff);
    box-shadow: 0 12px 24px color-mix(in srgb, var(--store-color) 14%, transparent);
}

.sf-checkout-modal input,
.sf-checkout-modal textarea,
.sf-checkout-modal select,
.sf-modal-card input,
.sf-modal-card textarea {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(203, 213, 225, 0.82);
    border-radius: 8px;
    color: #0f172a;
}

.sf-style-dark.public-store-body,
.sf-style-dark {
    --sf-ink: #f8fafc;
    --sf-muted: #cbd5e1;
    --sf-panel: rgba(15, 23, 42, 0.72);
    --sf-panel-strong: rgba(15, 23, 42, 0.92);
    --sf-stroke: rgba(71, 85, 105, 0.72);
    --sf-line: rgba(100, 116, 139, 0.62);
}

.sf-style-dark .sf-store-title,
.sf-style-dark .sf-map-card,
.sf-style-dark .sf-about-card,
.sf-style-dark .sf-products-shell,
.sf-style-dark .sf-category-head,
.sf-style-dark .sf-product-card,
.sf-style-dark .sf-modal-card {
    background: rgba(15, 23, 42, 0.78);
    border-color: rgba(71, 85, 105, 0.72);
    color: #f8fafc;
}

.sf-style-dark .sf-product-title,
.sf-style-dark .sf-category-head h2,
.sf-style-dark .sf-map-copy strong,
.sf-style-dark .sf-about-card h2 {
    color: #f8fafc;
}

.sf-style-dark .sf-store-title p,
.sf-style-dark .sf-product-main p,
.sf-style-dark .sf-category-head p,
.sf-style-dark .sf-map-copy p {
    color: #cbd5e1;
}

.sf-style-dark .sf-search,
.sf-style-dark .sf-choice-wrap,
.sf-style-dark .sf-delivery-box,
.sf-style-dark .sf-info-block,
.sf-style-dark .sf-cart-item,
.sf-style-dark .sf-summary,
.sf-style-dark .fulfillment-card {
    background: rgba(30, 41, 59, 0.88);
    border-color: rgba(71, 85, 105, 0.76);
    color: #f8fafc;
}

.sf-style-editorial .sf-hero {
    height: 270px;
}

.sf-style-editorial .sf-avatar-wrap {
    top: 210px;
}

.sf-style-editorial .sf-store-title {
    padding-top: 84px;
}

@media (max-width: 860px) {
    .public-store-container {
        padding: 0 12px;
    }

    .sf-app {
        gap: 14px;
        padding-bottom: 108px;
    }

    .sf-hero,
    .sf-style-editorial .sf-hero {
        height: 232px;
        margin: 0 -6px;
    }

    .sf-hero-actions {
        right: 10px;
        top: 10px;
    }

    .sf-icon-btn {
        height: 42px;
        min-width: 42px;
        padding: 0 10px;
    }

    .sf-icon-btn .sf-action-label {
        display: none;
    }

    .sf-status-pill {
        bottom: 12px;
        right: 10px;
    }

    .sf-avatar-wrap,
    .sf-style-editorial .sf-avatar-wrap {
        height: 98px;
        top: 176px;
        width: 98px;
    }

    .sf-store-title,
    .sf-style-editorial .sf-store-title {
        margin-top: -20px;
        padding: 66px 16px 18px;
        width: calc(100% - 8px);
    }

    .sf-store-title h1 {
        font-size: 30px;
    }

    .sf-store-title p {
        font-size: 14px;
    }

    .sf-products-shell,
    .sf-about-card {
        padding: 12px;
    }

    .sf-map-copy {
        gap: 12px;
    }

    .sf-category-head {
        grid-template-columns: minmax(0, 1fr) auto;
        top: 8px;
    }

    .sf-category-head.has-thumb {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .sf-category-thumb {
        width: 44px;
    }

    .sf-category-head h2 {
        font-size: 18px;
    }

    .sf-category-head p {
        font-size: 12px;
    }

    .sf-product-card,
    .sf-style-editorial .sf-product-card {
        gap: 10px;
        grid-template-columns: 78px minmax(0, 1fr) 42px;
        min-height: 98px;
        padding: 8px;
    }

    .sf-product-title {
        font-size: 15px;
    }

    .sf-product-main p {
        display: none;
    }

    .sf-add-btn {
        height: 42px;
        width: 42px;
    }

    .sf-cart-bar {
        width: min(100%, 540px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .sf-icon-btn,
    .sf-map-card,
    .sf-product-card,
    .sf-product-image img,
    .sf-add-btn,
    .sf-search {
        transition: none;
    }
}

/* Public storefront final override */
body.public-store-body {
    background:
        radial-gradient(circle at 50% -12%, rgba(148, 163, 184, 0.22), transparent 34%),
        linear-gradient(180deg, #fafafa 0%, #f3f5f7 100%);
}

body.public-store-body::before {
    opacity: 0.35;
}

.public-store-body .public-store-container {
    max-width: 760px;
    padding: 14px clamp(12px, 4vw, 28px) 0;
}

.public-store-body .sf-app {
    gap: 16px;
    margin: 0 auto;
}

.public-store-body .sf-hero,
.public-store-body .sf-style-editorial .sf-hero {
    background-image:
        linear-gradient(180deg, rgba(15, 23, 42, 0.02), rgba(15, 23, 42, 0.68)),
        linear-gradient(135deg, #111827, #1f2937);
    box-shadow: 0 22px 54px rgba(15, 23, 42, 0.18);
    height: clamp(230px, 38vw, 300px);
}

.public-store-body .sf-avatar-wrap,
.public-store-body .sf-style-editorial .sf-avatar-wrap {
    top: calc(clamp(230px, 38vw, 300px) - 54px);
}

.public-store-body .sf-store-title,
.public-store-body .sf-style-editorial .sf-store-title {
    background: transparent;
    border: 0;
    box-shadow: none;
    margin-top: -22px;
    padding: 74px 4px 12px;
    width: 100%;
}

.public-store-body .sf-store-meta span {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #475569;
    padding: 0;
}

.public-store-body .sf-store-meta span + span::before {
    color: #94a3b8;
    content: "/";
    margin-right: 8px;
}

.public-store-body .sf-products-shell {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.public-store-body .sf-category-head {
    background: rgba(247, 249, 252, 0.86);
    border-color: rgba(226, 232, 240, 0.72);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
    min-height: 58px;
}

.public-store-body .sf-category-head > span {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #64748b;
    font-size: 12px;
    padding: 0;
    white-space: nowrap;
}

.public-store-body .sf-product-list {
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr;
}

.public-store-body .sf-product-card,
.public-store-body .sf-style-editorial .sf-product-card {
    align-items: center;
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(226, 232, 240, 0.80);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    gap: 12px;
    grid-template-columns: 82px minmax(0, 1fr) 38px;
    min-height: 0;
    overflow: hidden;
    padding: 8px;
    position: static;
}

.public-store-body .sf-product-image {
    aspect-ratio: 1;
    width: 82px;
}

.public-store-body .sf-product-main {
    display: grid;
    gap: 5px;
    min-height: 0;
    padding: 0;
}

.public-store-body .sf-product-title {
    font-size: 15px;
    min-height: 0;
}

.public-store-body .sf-product-main p {
    display: -webkit-box;
    font-size: 12px;
    margin: 0;
    min-height: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.public-store-body .sf-product-main strong {
    align-self: end;
    justify-self: start;
    max-width: 100%;
}

.public-store-body .sf-add-btn {
    height: 38px;
    position: static;
    width: 38px;
}

.public-store-body .sf-customer-map {
    height: 300px;
    min-height: 260px;
}

@media (max-width: 720px) {
    .public-store-body .public-store-container {
        padding: 0 10px;
    }

    .public-store-body .sf-hero,
    .public-store-body .sf-style-editorial .sf-hero {
        height: 220px;
    }

    .public-store-body .sf-avatar-wrap,
    .public-store-body .sf-style-editorial .sf-avatar-wrap {
        top: 176px;
    }

    .public-store-body .sf-store-title,
    .public-store-body .sf-style-editorial .sf-store-title {
        margin-top: -18px;
        padding-left: 14px;
        padding-right: 14px;
    }

    .public-store-body .sf-product-list {
        grid-template-columns: 1fr;
    }

    .public-store-body .sf-product-card,
    .public-store-body .sf-style-editorial .sf-product-card {
        grid-template-columns: 76px minmax(0, 1fr) 36px;
        min-height: 0;
        padding: 7px;
    }

    .public-store-body .sf-product-image {
        width: 76px;
        aspect-ratio: 1;
    }

    .public-store-body .sf-product-main {
        min-height: 78px;
    }

    .public-store-body .sf-product-title {
        font-size: 14px;
        min-height: 0;
    }

    .public-store-body .sf-product-main p {
        display: -webkit-box;
        -webkit-line-clamp: 1;
    }

    .public-store-body .sf-product-main strong {
        font-size: 11px;
        max-width: calc(100% - 42px);
        padding: 5px 6px;
    }

    .public-store-body .sf-add-btn {
        height: 34px;
        width: 34px;
    }

    .public-store-body .sf-customer-map {
        height: 240px;
        min-height: 220px;
    }
}

.public-store-container {
    max-width: 840px;
}

.sf-app {
    gap: 16px;
    margin: 0 auto;
}

.sf-hero,
.sf-style-editorial .sf-hero {
    background-image:
        linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent 34%),
        linear-gradient(135deg, #0f172a, var(--store-color));
    height: clamp(250px, 42vw, 340px);
}

.sf-store-title,
.sf-style-editorial .sf-store-title {
    background: rgba(255, 255, 255, 0.72);
    margin-top: -44px;
    padding-bottom: 20px;
}

.sf-store-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 14px;
}

.sf-store-meta span {
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    background: transparent;
    border: 0;
    border-radius: 8px;
    box-shadow: none;
    color: #475569;
    font-size: 12px;
    font-weight: 900;
    padding: 0;
}

.sf-store-meta span + span::before {
    color: #94a3b8;
    content: "/";
    margin-right: 8px;
}

.sf-products-shell {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.sf-catalog {
    gap: 34px;
}

.sf-category {
    gap: 14px;
}

.sf-category-head {
    background: rgba(247, 249, 252, 0.86);
    border-color: rgba(226, 232, 240, 0.72);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
    min-height: 58px;
}

.sf-product-list {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.sf-product-card,
.sf-style-editorial .sf-product-card {
    align-items: stretch;
    gap: 10px;
    grid-template-columns: 1fr;
    min-height: 0;
    overflow: hidden;
    padding: 8px;
    position: relative;
}

.sf-product-image {
    aspect-ratio: 1 / 0.86;
    width: 100%;
}

.sf-product-main {
    display: grid;
    gap: 6px;
    min-height: 94px;
    padding: 0 5px 5px;
}

.sf-product-title {
    font-size: 16px;
    min-height: 38px;
}

.sf-product-main p {
    font-size: 12px;
    margin: 0;
    min-height: 32px;
}

.sf-product-main strong {
    align-self: end;
    justify-self: start;
    max-width: calc(100% - 48px);
}

.sf-add-btn {
    bottom: 13px;
    height: 38px;
    position: absolute;
    right: 13px;
    width: 38px;
}

.sf-cart-bar {
    max-width: 520px;
}

.sf-checkout-modal {
    max-width: 640px;
}

.sf-customer-map {
    background:
        radial-gradient(circle at 50% 35%, rgba(255, 255, 255, 0.22), transparent 40%),
        #0f172a;
    height: 300px;
    min-height: 260px;
}

.sf-customer-map iframe {
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
}

.sf-delivery-box .form-hint {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    margin: -2px 0 2px;
}

.sf-delivery-box .leaflet-container {
    font: inherit;
}

.sf-delivery-box .leaflet-control-attribution {
    font-size: 10px;
}

.sf-style-dark .sf-store-meta span {
    background: rgba(30, 41, 59, 0.78);
    border-color: rgba(71, 85, 105, 0.76);
    color: #cbd5e1;
}

@media (max-width: 720px) {
    .public-store-container {
        padding: 0 10px;
    }

    .sf-hero,
    .sf-style-editorial .sf-hero {
        height: 238px;
    }

    .sf-store-title,
    .sf-style-editorial .sf-store-title {
        margin-top: -34px;
        padding-left: 14px;
        padding-right: 14px;
    }

    .sf-product-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sf-product-card,
    .sf-style-editorial .sf-product-card {
        padding: 7px;
    }

    .sf-product-image {
        aspect-ratio: 1;
    }

    .sf-product-main {
        min-height: 78px;
    }

    .sf-product-title {
        font-size: 13px;
        min-height: 32px;
    }

    .sf-product-main p {
        display: none;
    }

    .sf-product-main strong {
        font-size: 11px;
        max-width: calc(100% - 42px);
        padding: 5px 6px;
    }

    .sf-add-btn {
        bottom: 10px;
        height: 34px;
        right: 10px;
        width: 34px;
    }

    .sf-customer-map {
        height: 240px;
        min-height: 220px;
    }
}

/* Public storefront remake */
.public-store-container {
    max-width: 840px;
}

.sf-app {
    gap: 16px;
    margin: 0 auto;
}

.sf-hero,
.sf-style-editorial .sf-hero {
    background-image:
        linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent 34%),
        linear-gradient(135deg, #0f172a, var(--store-color));
    height: clamp(250px, 42vw, 340px);
}

.sf-store-title,
.sf-style-editorial .sf-store-title {
    background: rgba(255, 255, 255, 0.72);
    margin-top: -44px;
    padding-bottom: 20px;
}

.sf-store-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 14px;
}

.sf-store-meta span {
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, 0.70);
    border: 1px solid rgba(255, 255, 255, 0.86);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.07);
    color: #475569;
    font-size: 12px;
    font-weight: 900;
    padding: 7px 10px;
}

.sf-products-shell {
    background: rgba(255, 255, 255, 0.62);
}

.sf-catalog {
    gap: 34px;
}

.sf-category {
    gap: 14px;
}

.sf-category-head {
    min-height: 68px;
}

.sf-product-list {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.sf-product-card,
.sf-style-editorial .sf-product-card {
    align-items: stretch;
    gap: 10px;
    grid-template-columns: 1fr;
    min-height: 0;
    overflow: hidden;
    padding: 8px;
    position: relative;
}

.sf-product-image {
    aspect-ratio: 1 / 0.86;
    width: 100%;
}

.sf-product-main {
    display: grid;
    gap: 6px;
    min-height: 94px;
    padding: 0 5px 5px;
}

.sf-product-title {
    font-size: 16px;
    min-height: 38px;
}

.sf-product-main p {
    font-size: 12px;
    margin: 0;
    min-height: 32px;
}

.sf-product-main strong {
    align-self: end;
    justify-self: start;
    max-width: calc(100% - 48px);
}

.sf-add-btn {
    bottom: 13px;
    height: 38px;
    position: absolute;
    right: 13px;
    width: 38px;
}

.sf-cart-bar {
    max-width: 520px;
}

.sf-checkout-modal {
    max-width: 640px;
}

.sf-customer-map {
    background:
        radial-gradient(circle at 50% 35%, rgba(255, 255, 255, 0.22), transparent 40%),
        #0f172a;
    height: 300px;
    min-height: 260px;
}

.sf-customer-map iframe {
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
}

.sf-delivery-box .form-hint {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    margin: -2px 0 2px;
}

.sf-delivery-box .leaflet-container {
    font: inherit;
}

.sf-delivery-box .leaflet-control-attribution {
    font-size: 10px;
}

.sf-style-dark .sf-store-meta span {
    background: rgba(30, 41, 59, 0.78);
    border-color: rgba(71, 85, 105, 0.76);
    color: #cbd5e1;
}

@media (max-width: 720px) {
    .public-store-container {
        padding: 0 10px;
    }

    .sf-hero,
    .sf-style-editorial .sf-hero {
        height: 238px;
    }

    .sf-store-title,
    .sf-style-editorial .sf-store-title {
        margin-top: -34px;
        padding-left: 14px;
        padding-right: 14px;
    }

    .sf-product-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sf-product-card,
    .sf-style-editorial .sf-product-card {
        padding: 7px;
    }

    .sf-product-image {
        aspect-ratio: 1;
    }

    .sf-product-main {
        min-height: 78px;
    }

    .sf-product-title {
        font-size: 13px;
        min-height: 32px;
    }

    .sf-product-main p {
        display: none;
    }

    .sf-product-main strong {
        font-size: 11px;
        max-width: calc(100% - 42px);
        padding: 5px 6px;
    }

    .sf-add-btn {
        bottom: 10px;
        height: 34px;
        right: 10px;
        width: 34px;
    }

    .sf-customer-map {
        height: 240px;
        min-height: 220px;
    }
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: linear-gradient(180deg, #f3f4f6 0%, var(--bg) 42%, #d1d5db 100%);
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5;
    min-height: 100vh;
}

a {
    color: var(--brand-dark);
}

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

.topbar {
    align-items: center;
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, 0.82);
    border-bottom: 1px solid rgba(209, 213, 219, 0.72);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    min-height: 68px;
    padding: 14px clamp(16px, 4vw, 48px);
    position: sticky;
    top: 0;
    z-index: 5;
}

.brand {
    color: var(--text);
    font-size: 20px;
    font-weight: 800;
    text-decoration: none;
}

.nav {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.nav a {
    color: var(--text);
    font-weight: 700;
    text-decoration: none;
}

.container {
    margin: 0 auto;
    max-width: 1180px;
    padding: 28px clamp(16px, 4vw, 48px) 60px;
}

.hero,
.auth-card,
.card,
.order-card,
.product-row,
.product-card,
.stat,
.store-hero {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 8px;
    box-shadow: var(--shadow);
}

.hero {
    align-items: center;
    display: grid;
    min-height: 360px;
    padding: clamp(28px, 5vw, 64px);
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1 {
    font-size: 48px;
    line-height: 1.04;
    margin-bottom: 14px;
}

h2 {
    font-size: 22px;
}

h3 {
    font-size: 18px;
}

.eyebrow {
    color: var(--brand-dark);
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.actions,
.row-actions,
.status-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}



/* Garantiza que el atributo hidden gane aunque .button use display:inline-flex. */
[hidden],
.button[hidden],
button[hidden],
button.button[hidden] {
    display: none !important;
}

.button,
button.button {
    align-items: center;
    background: var(--brand);
    border: 1px solid var(--brand);
    border-radius: 8px;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-size: 15px;
    font-weight: 800;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px;
    text-decoration: none;
    transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.button:hover {
    background: var(--brand-dark);
    box-shadow: var(--soft-shadow);
    transform: translateY(-1px);
}

.button.secondary {
    background: #ffffff;
    color: var(--brand-dark);
}

.button.danger {
    background: var(--danger);
    border-color: var(--danger);
}

.button.small {
    font-size: 13px;
    min-height: 36px;
    padding: 8px 12px;
}

.button.full {
    width: 100%;
}

.inline-form {
    display: inline;
}

.link-button {
    background: transparent;
    border: 0;
    color: var(--text);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    padding: 0;
}

.grid {
    display: grid;
    gap: 18px;
}

.grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.align-start {
    align-items: start;
}

.stack {
    display: grid;
    gap: 16px;
}

.card,
.auth-card,
.order-card,
.stat {
    padding: 22px;
}

.auth-card {
    margin: 36px auto;
    max-width: 520px;
}

.wizard-shell {
    display: grid;
    gap: 24px;
    margin: 0 auto;
    max-width: 980px;
}

.wizard-intro {
    background: linear-gradient(135deg, #111827 0%, #0f766e 100%);
    border-radius: 8px;
    color: #ffffff;
    overflow: hidden;
    padding: 38px;
    position: relative;
}

.wizard-intro::after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent);
    content: "";
    height: 100%;
    left: -55%;
    position: absolute;
    top: 0;
    transform: skewX(-16deg);
    width: 34%;
}

.wizard-intro:hover::after {
    animation: sheen 900ms ease;
}

.wizard-intro .eyebrow {
    color: #99f6e4;
}

.wizard-card {
    backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 8px;
    box-shadow: var(--shadow);
    display: grid;
    gap: 24px;
    padding: clamp(22px, 4vw, 36px);
}

.wizard-progress {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(8, minmax(0, 1fr));
}

.wizard-progress span {
    align-items: center;
    background: rgba(229, 231, 235, 0.78);
    border-radius: 8px;
    color: var(--muted);
    display: flex;
    font-size: 13px;
    font-weight: 800;
    justify-content: center;
    min-height: 34px;
}

.wizard-progress span.active {
    background: var(--brand);
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 118, 110, 0.24);
}

.wizard-step {
    display: none;
    gap: 16px;
    min-height: 360px;
    opacity: 0;
    transform: translateY(8px);
}

.wizard-step.active {
    animation: stepIn 220ms ease forwards;
    display: grid;
}

.wizard-step h2 {
    font-size: 34px;
    line-height: 1.08;
    margin-bottom: 0;
}

.wizard-actions {
    align-items: center;
    border-top: 1px solid var(--line);
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding-top: 18px;
}

.wizard-step-status {
    color: var(--danger);
    flex: 1;
    font-weight: 800;
    margin: 0;
    min-height: 24px;
    text-align: center;
}

.slug-preview {
    background: rgba(243, 244, 246, 0.86);
    border: 1px solid rgba(209, 213, 219, 0.84);
    border-radius: 8px;
    color: var(--brand-dark);
    font-weight: 800;
    overflow-wrap: anywhere;
    padding: 12px 14px;
}

.slug-status {
    font-weight: 900;
    min-height: 22px;
}

.slug-status[data-status="idle"],
.slug-status[data-status="pending"] {
    color: var(--muted);
}

.slug-status[data-status="available"],
.slug-status[data-status="current"],
.slug-status[data-status="ok"] {
    color: var(--success);
}

.slug-status[data-status="taken"],
.slug-status[data-status="reserved"],
.slug-status[data-status="invalid"],
.slug-status[data-status="error"] {
    color: var(--danger);
}

.ai-status {
    color: var(--muted);
    font-weight: 700;
    min-height: 24px;
}

.ai-inline {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ai-inline .ai-status {
    margin: 0;
}

.field-title {
    font-weight: 800;
    margin-bottom: 10px;
}

.form {
    display: grid;
    gap: 16px;
}

label {
    color: var(--text);
    display: grid;
    font-weight: 800;
    gap: 7px;
}

small {
    color: var(--muted);
    font-weight: 400;
}

input,
textarea,
select {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(209, 213, 219, 0.94);
    border-radius: 8px;
    color: var(--text);
    font: inherit;
    min-height: 44px;
    padding: 10px 12px;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    width: 100%;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.14);
    outline: 0;
}

input[type="file"] {
    font-size: 14px;
}

textarea {
    resize: vertical;
}

.checkbox-label {
    align-items: center;
    display: flex;
    gap: 10px;
}

.checkbox-label input {
    min-height: 0;
    width: auto;
}

.alert {
    background: #ffffff;
    border: 1px solid var(--line);
    border-left: 5px solid var(--brand);
    border-radius: 8px;
    margin-bottom: 18px;
    padding: 14px 16px;
}

.media-picker-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.media-picker {
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(209, 213, 219, 0.9);
    border-radius: 8px;
    box-shadow: var(--soft-shadow);
    cursor: pointer;
    display: grid;
    gap: 14px;
    overflow: hidden;
    padding: 14px;
    position: relative;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.media-picker:hover {
    border-color: rgba(15, 118, 110, 0.58);
    box-shadow: var(--shadow);
    transform: translateY(-2px);
}

.media-picker input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.media-preview {
    align-items: center;
    background: #111827;
    background-position: center;
    background-size: cover;
    border-radius: 8px;
    color: #ffffff;
    display: flex;
    font-weight: 800;
    isolation: isolate;
    justify-content: center;
    min-height: 168px;
    overflow: hidden;
    position: relative;
}

.media-preview::after {
    background: rgba(17, 24, 39, 0.42);
    content: "";
    inset: 0;
    position: absolute;
    z-index: 0;
}

.media-preview.has-image::after {
    background: rgba(17, 24, 39, 0.10);
}

.media-preview {
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.28);
}

.logo-preview {
    aspect-ratio: 1;
    margin: 0 auto;
    min-height: 0;
    width: min(178px, 100%);
}

.banner-preview {
    aspect-ratio: 16 / 9;
    min-height: 0;
}

.category-preview {
    aspect-ratio: 4 / 3;
    min-height: 0;
}

.compact-media-picker {
    align-self: stretch;
}

.media-copy {
    display: grid;
    gap: 4px;
}

.media-copy small {
    color: var(--muted);
}

.media-copy em {
    color: var(--brand-dark);
    font-style: normal;
    font-weight: 800;
    margin-top: 6px;
    overflow-wrap: anywhere;
}

.multi-media-picker {
    align-items: center;
    background: rgba(255, 255, 255, 0.86);
    border: 1px dashed rgba(15, 118, 110, 0.58);
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 16px;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.multi-media-picker:hover {
    border-color: var(--brand);
    box-shadow: var(--soft-shadow);
    transform: translateY(-1px);
}

.multi-media-picker input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.multi-media-picker span {
    display: grid;
    gap: 4px;
}

.multi-media-picker em {
    color: var(--brand-dark);
    font-style: normal;
    font-weight: 800;
    overflow-wrap: anywhere;
    text-align: right;
}

.multi-preview-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.multi-preview-grid > span,
.existing-image {
    align-items: end;
    aspect-ratio: 1;
    background-color: #111827;
    background-position: center;
    background-size: cover;
    border-radius: 8px;
    color: #ffffff;
    display: flex;
    font-size: 11px;
    font-weight: 800;
    overflow: hidden;
    padding: 8px;
    position: relative;
    text-shadow: 0 1px 7px rgba(0, 0, 0, 0.48);
}

.existing-gallery {
    display: grid;
    gap: 10px;
}

.gallery-editor-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.gallery-editor-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
}

.gallery-editor-item {
    align-items: center;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(209, 213, 219, 0.82);
    border-radius: 8px;
    display: grid;
    gap: 8px;
    grid-template-columns: auto 72px minmax(0, 1fr);
    padding: 8px;
    transition: border-color 160ms ease, opacity 160ms ease, transform 160ms ease;
}

.gallery-editor-item:hover {
    border-color: rgba(15, 118, 110, 0.42);
}

.gallery-editor-item.dragging {
    opacity: 0.48;
    transform: scale(0.99);
}

.gallery-editor-preview {
    aspect-ratio: 1;
    background-color: #111827;
    background-position: center;
    background-size: cover;
    border-radius: 8px;
    display: block;
    width: 72px;
}

.image-drag-handle {
    min-height: 72px;
    width: 48px;
}

.compact-check {
    font-size: 12px;
    font-weight: 900;
    gap: 7px;
}

.existing-image {
    cursor: pointer;
}

.existing-image input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.existing-image span {
    background: rgba(185, 28, 28, 0.88);
    border-radius: 8px;
    padding: 4px 7px;
}

.existing-image:has(input:checked) {
    outline: 3px solid var(--danger);
}

.option-editor {
    background: rgba(255, 255, 255, 0.54);
    border: 1px solid rgba(209, 213, 219, 0.82);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    padding: 16px;
}

.option-editor-head {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.option-editor-head h3 {
    margin: 0;
}

.muted-text {
    color: var(--muted);
    margin: 0;
}

.option-list {
    display: grid;
    gap: 12px;
}

.option-row {
    align-items: end;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(209, 213, 219, 0.76);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.06);
    display: grid;
    gap: 10px;
    grid-template-columns: auto minmax(150px, 1fr) 120px 90px 96px auto auto;
    padding: 12px;
    transition: border-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease, transform 160ms ease;
}

.option-row:hover {
    border-color: rgba(15, 118, 110, 0.34);
    box-shadow: 0 14px 30px rgba(17, 24, 39, 0.10);
}

.option-image-input {
    cursor: pointer;
}

.option-image-input input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.option-image-preview {
    align-items: center;
    aspect-ratio: 1;
    background: #111827;
    background-position: center;
    background-size: cover;
    border-radius: 8px;
    color: #ffffff;
    display: flex;
    font-size: 11px;
    font-weight: 800;
    justify-content: center;
    overflow: hidden;
    padding: 6px;
    text-align: center;
    text-shadow: 0 1px 7px rgba(0, 0, 0, 0.48);
    width: 76px;
}

.danger-check {
    color: var(--danger);
}

.schedule-grid {
    display: grid;
    gap: 10px;
}

.schedule-row {
    align-items: center;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(209, 213, 219, 0.9);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: 150px minmax(0, 1fr);
    padding: 12px;
    transition: opacity 160ms ease, transform 160ms ease, border-color 160ms ease;
}

.schedule-row:hover {
    border-color: rgba(15, 118, 110, 0.46);
    transform: translateY(-1px);
}

.schedule-row.is-closed {
    opacity: 0.62;
}

.schedule-toggle {
    align-items: center;
    display: flex;
    gap: 10px;
}

.schedule-toggle input {
    accent-color: var(--brand);
    min-height: 0;
    width: auto;
}

.schedule-times {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.advanced-media {
    background: rgba(243, 244, 246, 0.78);
    border: 1px solid rgba(209, 213, 219, 0.9);
    border-radius: 8px;
    padding: 12px;
}

.advanced-media summary {
    cursor: pointer;
    font-weight: 800;
}

.advanced-media .grid {
    margin-top: 12px;
}

.alert.success {
    border-left-color: var(--success);
}

.alert.danger {
    border-left-color: var(--danger);
}

.alert.warning {
    border-left-color: var(--warning);
}

.page-heading {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 22px;
}

.page-heading h1 {
    margin-bottom: 0;
}

.stat {
    display: grid;
    gap: 8px;
}

.stat span {
    color: var(--muted);
    font-weight: 800;
}

.stat strong {
    font-size: 32px;
}

.store-link {
    background: #f3f4f6;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: inline-block;
    font-weight: 800;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: 10px 12px;
}

.store-editor-shell {
    display: grid;
    gap: 22px;
    position: relative;
}

.store-editor-shell::before {
    background:
        radial-gradient(circle at 14% 6%, color-mix(in srgb, var(--store-preview-color) 18%, transparent), transparent 34%),
        radial-gradient(circle at 88% 14%, rgba(14, 165, 233, 0.12), transparent 24%);
    content: "";
    height: 420px;
    inset: 6px 0 auto;
    pointer-events: none;
    position: absolute;
    z-index: 0;
}

.store-editor-shell > * {
    position: relative;
    z-index: 1;
}

.store-editor-preview {
    background:
        linear-gradient(180deg, rgba(6, 14, 31, 0.98) 0%, rgba(10, 19, 36, 0.96) 58%, rgba(17, 24, 39, 0.92) 100%);
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 30px;
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.26);
    isolation: isolate;
    overflow: hidden;
    padding: 18px 18px 24px;
    position: relative;
}

.store-editor-preview::before {
    background:
        radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--store-preview-color) 30%, transparent), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.10), transparent 36%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: -1;
}

.store-editor-preview[data-preview-style="dark"] {
    background:
        linear-gradient(180deg, rgba(2, 6, 23, 0.99) 0%, rgba(7, 14, 28, 0.98) 52%, rgba(15, 23, 42, 0.94) 100%);
}

.store-editor-preview[data-preview-style="editorial"] {
    background:
        linear-gradient(180deg, rgba(26, 26, 26, 0.98) 0%, rgba(41, 37, 36, 0.96) 56%, rgba(28, 25, 23, 0.93) 100%);
}

.store-editor-preview[data-preview-style="sunset"] {
    background:
        linear-gradient(180deg, rgba(124, 45, 18, 0.98) 0%, rgba(159, 18, 57, 0.95) 52%, rgba(251, 146, 60, 0.92) 100%);
}

.store-editor-preview[data-preview-style="neon"] {
    background:
        linear-gradient(180deg, rgba(2, 6, 23, 0.99) 0%, rgba(17, 24, 39, 0.97) 48%, rgba(76, 29, 149, 0.92) 100%);
}

.store-editor-preview[data-preview-style="paper"] {
    background:
        linear-gradient(180deg, rgba(245, 241, 232, 0.99) 0%, rgba(244, 238, 225, 0.97) 54%, rgba(226, 232, 240, 0.92) 100%);
}

.store-editor-preview[data-preview-style="candy"] {
    background:
        linear-gradient(180deg, rgba(244, 114, 182, 0.98) 0%, rgba(168, 85, 247, 0.95) 52%, rgba(251, 191, 36, 0.90) 100%);
}

.store-editor-preview[data-preview-style="brutal"] {
    background:
        linear-gradient(180deg, rgba(250, 204, 21, 0.98) 0%, rgba(249, 115, 22, 0.95) 48%, rgba(239, 68, 68, 0.92) 100%);
}

.store-editor-preview[data-preview-style="forest"] {
    background:
        linear-gradient(180deg, rgba(17, 94, 89, 0.98) 0%, rgba(22, 101, 52, 0.96) 54%, rgba(101, 163, 13, 0.90) 100%);
}

.store-editor-preview[data-preview-style="luxe"] {
    background:
        linear-gradient(180deg, rgba(10, 10, 10, 0.99) 0%, rgba(28, 25, 23, 0.97) 54%, rgba(120, 113, 108, 0.92) 100%);
}

.store-editor-preview[data-preview-style="techlab"] {
    background:
        linear-gradient(180deg, rgba(2, 12, 24, 0.99) 0%, rgba(6, 23, 38, 0.97) 52%, rgba(8, 47, 73, 0.92) 100%);
}

.store-editor-preview[data-preview-style="sweetshop"] {
    background:
        linear-gradient(180deg, rgba(255, 241, 242, 0.99) 0%, rgba(254, 242, 232, 0.97) 52%, rgba(254, 215, 170, 0.92) 100%);
}

.store-editor-preview[data-preview-style="digital"] {
    background:
        linear-gradient(180deg, rgba(12, 18, 39, 0.99) 0%, rgba(30, 27, 75, 0.97) 52%, rgba(6, 182, 212, 0.20) 100%);
}

.store-editor-preview[data-preview-style="builder"] {
    background:
        linear-gradient(180deg, rgba(38, 38, 38, 0.99) 0%, rgba(64, 64, 64, 0.97) 48%, rgba(234, 179, 8, 0.90) 100%);
}

.store-editor-preview[data-preview-style="advisor"] {
    background:
        linear-gradient(180deg, rgba(248, 246, 240, 0.99) 0%, rgba(241, 245, 249, 0.97) 54%, rgba(203, 213, 225, 0.92) 100%);
}

.store-editor-preview[data-preview-style="atelier"] {
    background:
        linear-gradient(180deg, rgba(36, 18, 34, 0.99) 0%, rgba(91, 33, 65, 0.96) 52%, rgba(244, 214, 226, 0.88) 100%);
}

.store-editor-preview[data-preview-style="wellness"] {
    background:
        linear-gradient(180deg, rgba(245, 252, 246, 0.99) 0%, rgba(236, 253, 245, 0.97) 54%, rgba(187, 247, 208, 0.90) 100%);
}

.store-editor-preview[data-preview-style="market"] {
    background:
        linear-gradient(180deg, rgba(67, 20, 7, 0.99) 0%, rgba(120, 53, 15, 0.96) 52%, rgba(163, 230, 53, 0.22) 100%);
}

.store-preview-banner {
    align-items: flex-end;
    background:
        radial-gradient(circle at 18% 14%, color-mix(in srgb, var(--store-preview-color) 44%, rgba(255, 255, 255, 0.2)), transparent 30%),
        linear-gradient(135deg, #0f172a 0%, color-mix(in srgb, var(--store-preview-color) 58%, #111827) 70%, #020617 100%);
    background-position: center;
    background-size: cover;
    border-radius: 24px;
    box-shadow: inset 0 -110px 130px rgba(15, 23, 42, 0.46);
    color: #ffffff;
    display: flex;
    font-weight: 900;
    gap: 16px;
    height: clamp(300px, 36vw, 420px);
    justify-content: space-between;
    overflow: hidden;
    padding: 24px;
    position: relative;
}

.store-editor-preview[data-preview-style="dark"] .store-preview-banner {
    background:
        radial-gradient(circle at 20% 16%, rgba(14, 165, 233, 0.24), transparent 28%),
        linear-gradient(135deg, #020617 0%, #0f172a 46%, #164e63 100%);
}

.store-editor-preview[data-preview-style="editorial"] .store-preview-banner {
    background:
        radial-gradient(circle at 24% 14%, rgba(245, 158, 11, 0.16), transparent 32%),
        linear-gradient(135deg, #1c1917 0%, #292524 46%, #44403c 100%);
}

.store-editor-preview[data-preview-style="sunset"] .store-preview-banner {
    background:
        radial-gradient(circle at 18% 12%, rgba(254, 240, 138, 0.34), transparent 26%),
        linear-gradient(135deg, #7c2d12 0%, #be123c 50%, #fb923c 100%);
}

.store-editor-preview[data-preview-style="neon"] .store-preview-banner {
    background:
        radial-gradient(circle at 20% 16%, rgba(34, 211, 238, 0.34), transparent 24%),
        radial-gradient(circle at 82% 20%, rgba(192, 38, 211, 0.34), transparent 22%),
        linear-gradient(135deg, #020617 0%, #1d4ed8 46%, #a21caf 100%);
}

.store-editor-preview[data-preview-style="paper"] .store-preview-banner {
    background:
        linear-gradient(90deg, rgba(120, 113, 108, 0.10) 1px, transparent 1px),
        linear-gradient(180deg, rgba(120, 113, 108, 0.08) 1px, transparent 1px),
        linear-gradient(135deg, #e7dcc4 0%, #f5f5f4 60%, #d6d3d1 100%);
    background-size: 34px 34px, 34px 34px, auto;
}

.store-editor-preview[data-preview-style="paper"] .store-preview-content {
    background: linear-gradient(180deg, rgba(255, 251, 235, 0.98), rgba(250, 245, 235, 0.92));
}

.store-editor-preview[data-preview-style="paper"] .store-preview-main h2,
.store-editor-preview[data-preview-style="luxe"] .store-preview-main h2 {
    font-family: Georgia, "Times New Roman", serif;
}

.store-editor-preview[data-preview-style="candy"] .store-preview-banner {
    background:
        radial-gradient(circle at 24% 18%, rgba(255, 255, 255, 0.26), transparent 22%),
        linear-gradient(135deg, #f472b6 0%, #a855f7 52%, #fbbf24 100%);
}

.store-editor-preview[data-preview-style="candy"] .store-preview-banner,
.store-editor-preview[data-preview-style="candy"] .store-preview-content,
.store-editor-preview[data-preview-style="candy"] .store-preview-logo {
    border-radius: 32px;
}

.store-editor-preview[data-preview-style="brutal"] .store-preview-banner {
    background:
        linear-gradient(90deg, rgba(17, 24, 39, 0.18) 2px, transparent 2px),
        linear-gradient(180deg, rgba(17, 24, 39, 0.16) 2px, transparent 2px),
        linear-gradient(135deg, #facc15 0%, #f97316 58%, #ef4444 100%);
    background-size: 42px 42px, 42px 42px, auto;
}

.store-editor-preview[data-preview-style="brutal"] .store-preview-content {
    border: 3px solid #111827;
    border-radius: 14px;
    box-shadow: 12px 12px 0 rgba(17, 24, 39, 0.88);
}

.store-editor-preview[data-preview-style="brutal"] .store-preview-logo {
    border-color: #111827;
    border-radius: 14px;
}

.store-editor-preview[data-preview-style="forest"] .store-preview-banner {
    background:
        radial-gradient(circle at 22% 14%, rgba(190, 242, 100, 0.24), transparent 28%),
        linear-gradient(135deg, #14532d 0%, #166534 46%, #0f766e 100%);
}

.store-editor-preview[data-preview-style="forest"] .store-preview-banner,
.store-editor-preview[data-preview-style="forest"] .store-preview-content {
    border-radius: 30px 30px 24px 24px;
}

.store-editor-preview[data-preview-style="luxe"] .store-preview-banner {
    background:
        radial-gradient(circle at 18% 14%, rgba(251, 191, 36, 0.14), transparent 28%),
        linear-gradient(135deg, #0a0a0a 0%, #292524 52%, #78716c 100%);
}

.store-editor-preview[data-preview-style="techlab"] .store-preview-banner {
    background:
        linear-gradient(90deg, rgba(34, 211, 238, 0.14) 1px, transparent 1px),
        linear-gradient(180deg, rgba(14, 165, 233, 0.10) 1px, transparent 1px),
        radial-gradient(circle at 20% 16%, rgba(34, 211, 238, 0.28), transparent 24%),
        linear-gradient(135deg, #020617 0%, #0f172a 44%, #155e75 100%);
    background-size: 28px 28px, 28px 28px, auto, auto;
}

.store-editor-preview[data-preview-style="techlab"] .store-preview-content {
    background: linear-gradient(180deg, rgba(7, 19, 32, 0.96), rgba(15, 23, 42, 0.90));
}

.store-editor-preview[data-preview-style="techlab"] .store-preview-main h2,
.store-editor-preview[data-preview-style="techlab"] .store-preview-main p,
.store-editor-preview[data-preview-style="techlab"] .store-preview-stats strong,
.store-editor-preview[data-preview-style="techlab"] .store-preview-accent {
    color: #d9f7ff;
    font-family: "Trebuchet MS", "Segoe UI", sans-serif;
}

.store-editor-preview[data-preview-style="techlab"] .store-preview-main h2 {
    letter-spacing: -0.04em;
    text-transform: uppercase;
}

.store-editor-preview[data-preview-style="techlab"] .store-preview-main p,
.store-editor-preview[data-preview-style="techlab"] .store-preview-stats span {
    color: rgba(186, 230, 253, 0.76);
}

.store-editor-preview[data-preview-style="sweetshop"] .store-preview-banner {
    background:
        radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.28), transparent 22%),
        radial-gradient(circle at 78% 24%, rgba(251, 191, 36, 0.22), transparent 20%),
        linear-gradient(135deg, #fb7185 0%, #f97316 50%, #fbbf24 100%);
}

.store-editor-preview[data-preview-style="sweetshop"] .store-preview-banner,
.store-editor-preview[data-preview-style="sweetshop"] .store-preview-content,
.store-editor-preview[data-preview-style="sweetshop"] .store-preview-logo {
    border-radius: 34px;
}

.store-editor-preview[data-preview-style="sweetshop"] .store-preview-main h2 {
    color: #831843;
    font-family: "Trebuchet MS", "Segoe UI", sans-serif;
}

.store-editor-preview[data-preview-style="digital"] .store-preview-banner {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px),
        radial-gradient(circle at 18% 18%, rgba(99, 102, 241, 0.28), transparent 22%),
        radial-gradient(circle at 80% 20%, rgba(34, 211, 238, 0.28), transparent 20%),
        linear-gradient(135deg, #0f172a 0%, #312e81 50%, #0ea5e9 100%);
    background-size: 32px 32px, auto, auto, auto;
}

.store-editor-preview[data-preview-style="digital"] .store-preview-content {
    backdrop-filter: blur(24px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(15, 23, 42, 0.30));
}

.store-editor-preview[data-preview-style="digital"] .store-preview-main h2,
.store-editor-preview[data-preview-style="digital"] .store-preview-main p,
.store-editor-preview[data-preview-style="digital"] .store-preview-stats strong,
.store-editor-preview[data-preview-style="digital"] .store-preview-accent {
    color: #eef2ff;
}

.store-editor-preview[data-preview-style="digital"] .store-preview-main p,
.store-editor-preview[data-preview-style="digital"] .store-preview-stats span {
    color: rgba(224, 231, 255, 0.76);
}

.store-editor-preview[data-preview-style="builder"] .store-preview-banner {
    background:
        linear-gradient(135deg, rgba(17, 24, 39, 0.18) 25%, transparent 25%) -18px 0 / 36px 36px,
        linear-gradient(225deg, rgba(17, 24, 39, 0.18) 25%, transparent 25%) -18px 0 / 36px 36px,
        linear-gradient(315deg, rgba(17, 24, 39, 0.18) 25%, transparent 25%) 0 0 / 36px 36px,
        linear-gradient(45deg, rgba(17, 24, 39, 0.18) 25%, transparent 25%) 0 0 / 36px 36px,
        linear-gradient(135deg, #262626 0%, #525252 48%, #eab308 100%);
}

.store-editor-preview[data-preview-style="builder"] .store-preview-content {
    border: 3px solid #1f2937;
    border-radius: 18px;
    box-shadow: 14px 14px 0 rgba(17, 24, 39, 0.74);
}

.store-editor-preview[data-preview-style="builder"] .store-preview-main h2 {
    color: #111827;
    letter-spacing: -0.05em;
    text-transform: uppercase;
}

.store-editor-preview[data-preview-style="advisor"] .store-preview-banner {
    background:
        radial-gradient(circle at 24% 16%, rgba(212, 175, 55, 0.16), transparent 24%),
        linear-gradient(135deg, #0f172a 0%, #1e293b 54%, #d4af37 100%);
}

.store-editor-preview[data-preview-style="advisor"] .store-preview-content {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 246, 240, 0.94));
}

.store-editor-preview[data-preview-style="advisor"] .store-preview-main h2 {
    color: #0f172a;
    font-family: "Palatino Linotype", Georgia, serif;
}

.store-editor-preview[data-preview-style="atelier"] .store-preview-banner {
    background:
        radial-gradient(circle at 20% 18%, rgba(244, 214, 226, 0.22), transparent 22%),
        linear-gradient(135deg, #241222 0%, #5b2141 52%, #f9a8d4 100%);
}

.store-editor-preview[data-preview-style="atelier"] .store-preview-banner {
    border-radius: 34px 18px 34px 18px;
}

.store-editor-preview[data-preview-style="atelier"] .store-preview-content {
    border-radius: 28px 16px 28px 16px;
}

.store-editor-preview[data-preview-style="atelier"] .store-preview-main h2 {
    color: #4a1234;
    font-family: "Palatino Linotype", Georgia, serif;
}

.store-editor-preview[data-preview-style="wellness"] .store-preview-banner {
    background:
        radial-gradient(circle at 22% 16%, rgba(255, 255, 255, 0.24), transparent 24%),
        linear-gradient(135deg, #166534 0%, #0f766e 50%, #bef264 100%);
}

.store-editor-preview[data-preview-style="wellness"] .store-preview-banner,
.store-editor-preview[data-preview-style="wellness"] .store-preview-content {
    border-radius: 36px;
}

.store-editor-preview[data-preview-style="wellness"] .store-preview-main h2 {
    color: #14532d;
    font-family: "Gill Sans", "Trebuchet MS", sans-serif;
}

.store-editor-preview[data-preview-style="market"] .store-preview-banner {
    background:
        radial-gradient(circle at 18% 16%, rgba(254, 215, 170, 0.24), transparent 24%),
        linear-gradient(135deg, #7c2d12 0%, #b45309 48%, #84cc16 100%);
}

.store-editor-preview[data-preview-style="market"] .store-preview-content {
    background: linear-gradient(180deg, rgba(255, 251, 235, 0.99), rgba(254, 242, 232, 0.93));
}

.store-editor-preview[data-preview-style="market"] .store-preview-main h2 {
    color: #78350f;
}

.store-editor-preview[data-preview-style="luxe"] .store-preview-content {
    background: linear-gradient(180deg, rgba(28, 25, 23, 0.94), rgba(41, 37, 36, 0.90));
}

.store-editor-preview[data-preview-style="luxe"] .store-preview-main h2,
.store-editor-preview[data-preview-style="luxe"] .store-preview-main p,
.store-editor-preview[data-preview-style="luxe"] .store-preview-stats strong,
.store-editor-preview[data-preview-style="luxe"] .store-preview-accent {
    color: #f5e7c2;
}

.store-editor-preview[data-preview-style="luxe"] .store-preview-main p,
.store-editor-preview[data-preview-style="luxe"] .store-preview-stats span {
    color: rgba(231, 229, 228, 0.78);
}

.store-preview-banner::before {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 54px 54px;
    content: "";
    inset: 0;
    opacity: 0.34;
    position: absolute;
}

.store-preview-banner::after {
    background: linear-gradient(180deg, rgba(17, 24, 39, 0.02) 0%, rgba(17, 24, 39, 0.68) 100%);
    content: "";
    inset: 0;
    position: absolute;
}

.store-preview-banner-copy {
    display: grid;
    gap: 12px;
    max-width: 320px;
    position: relative;
    z-index: 1;
}

.store-preview-kicker {
    color: rgba(255, 255, 255, 0.78);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.18em;
    margin: 0;
    text-transform: uppercase;
}

.store-preview-banner-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.store-preview-banner-pills span {
    backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 999px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
    padding: 8px 12px;
}

.store-preview-banner-pills span[data-state="live"] {
    background: rgba(16, 185, 129, 0.18);
    border-color: rgba(110, 231, 183, 0.38);
}

.store-preview-banner-pills span[data-state="draft"] {
    background: rgba(15, 23, 42, 0.22);
}

.store-preview-banner span,
.store-preview-logo span {
    position: relative;
    z-index: 1;
}

.store-preview-banner > span:last-child {
    align-self: flex-start;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.08em;
    padding: 8px 12px;
    text-transform: uppercase;
}

.store-preview-banner.has-image > span:last-child,
.store-preview-logo.has-image span {
    opacity: 0;
}

.store-preview-content {
    backdrop-filter: blur(18px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
    border: 1px solid rgba(255, 255, 255, 0.84);
    border-radius: 26px;
    box-shadow: 0 26px 54px rgba(15, 23, 42, 0.24);
    display: grid;
    gap: 0;
    grid-template-columns: 1fr;
    margin: -62px clamp(14px, 3vw, 30px) 0;
    min-height: 180px;
    padding: 28px clamp(18px, 3vw, 30px) 28px;
    position: relative;
}

.store-preview-content::before {
    background: linear-gradient(90deg, var(--store-preview-color), color-mix(in srgb, var(--store-preview-color) 14%, #ffffff));
    content: "";
    height: 6px;
    inset: 0 0 auto;
    position: absolute;
}

.store-preview-logo {
    align-items: center;
    aspect-ratio: 1;
    background: #0f172a;
    background-position: center;
    background-size: cover;
    border: 5px solid rgba(255, 255, 255, 0.94);
    border-radius: 26px;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.24);
    color: #ffffff;
    display: flex;
    font-size: 14px;
    font-weight: 900;
    justify-content: center;
    overflow: hidden;
    position: absolute;
    left: clamp(28px, 4vw, 42px);
    top: -42px;
    width: 106px;
    z-index: 2;
}

.store-preview-main {
    grid-column: 1 / -1;
    min-width: 0;
    padding-left: clamp(124px, 14vw, 150px);
    padding-top: 0;
    width: 100%;
}

.store-preview-overline {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    justify-content: space-between;
}

.store-preview-overline .eyebrow {
    margin: 0;
}

.store-preview-accent {
    background: color-mix(in srgb, var(--store-preview-color) 14%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--store-preview-color) 28%, rgba(209, 213, 219, 0.9));
    border-radius: 999px;
    color: #0f172a;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    padding: 8px 12px;
    text-transform: uppercase;
}

.store-preview-main h2 {
    font-size: clamp(30px, 4vw, 42px);
    letter-spacing: -0.03em;
    line-height: 1;
    margin: 0 0 10px;
    overflow-wrap: break-word;
    word-break: normal;
}

.store-preview-main p {
    color: var(--muted);
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 14px;
    max-width: 760px;
}

.store-preview-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.store-preview-meta span {
    background: color-mix(in srgb, var(--store-preview-color) 8%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--store-preview-color) 20%, rgba(209, 213, 219, 0.9));
    border-radius: 999px;
    color: #111827;
    font-size: 13px;
    font-weight: 900;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: 9px 12px;
}

.store-preview-stats {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 4px;
}

.store-preview-stats article {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(243, 244, 246, 0.82));
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 20px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
    display: grid;
    gap: 6px;
    min-height: 88px;
    padding: 14px 16px;
}

.store-editor-body .topbar {
    position: static;
}

.store-editor-body .store-section-tabs {
    top: 14px;
}

.store-preview-stats span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.store-preview-stats strong {
    color: #0f172a;
    font-size: 17px;
    line-height: 1.3;
    overflow-wrap: break-word;
    word-break: normal;
}

.store-section-tabs {
    align-items: center;
    backdrop-filter: blur(22px);
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 24px;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.10);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px;
    position: sticky;
    top: 82px;
    z-index: 4;
}

.store-section-tab {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(241, 245, 249, 0.84));
    border: 1px solid rgba(226, 232, 240, 0.88);
    border-radius: 999px;
    color: var(--text);
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    min-height: 46px;
    padding: 10px 16px;
    transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
}

.store-section-tab:hover {
    border-color: color-mix(in srgb, var(--store-preview-color) 24%, rgba(209, 213, 219, 0.94));
    box-shadow: var(--soft-shadow);
    transform: translateY(-2px);
}

.store-section-tab.active {
    background: linear-gradient(135deg, color-mix(in srgb, var(--store-preview-color) 84%, #0f172a), color-mix(in srgb, var(--store-preview-color) 58%, #111827));
    border-color: color-mix(in srgb, var(--store-preview-color) 58%, #0f172a);
    box-shadow: 0 16px 30px color-mix(in srgb, var(--store-preview-color) 20%, transparent);
    color: #ffffff;
}

.store-editor-shell .card {
    backdrop-filter: blur(18px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(247, 249, 252, 0.92));
    border: 1px solid rgba(255, 255, 255, 0.84);
    border-radius: 24px;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.10);
    padding: clamp(22px, 3vw, 34px);
}

.store-section-panel {
    display: none;
}

.store-section-panel.active {
    animation: stepIn 220ms ease forwards;
    display: grid;
    gap: 18px;
    opacity: 0;
    transform: translateY(6px);
}

.section-intro {
    border-bottom: 1px solid rgba(209, 213, 219, 0.72);
    display: grid;
    gap: 6px;
    padding-bottom: 18px;
    position: relative;
}

.section-intro::after {
    background: linear-gradient(90deg, var(--store-preview-color), transparent);
    border-radius: 999px;
    content: "";
    height: 4px;
    width: 58px;
}

.section-intro h2 {
    font-size: clamp(24px, 3vw, 32px);
    letter-spacing: -0.03em;
    margin-bottom: 0;
}

.section-intro p:last-child {
    color: var(--muted);
    margin: 0;
    max-width: 760px;
}

.store-identity-layout {
    align-items: start;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(250px, 0.7fr) minmax(0, 1.3fr);
}

.store-identity-side,
.store-identity-main,
.store-identity-grid,
.store-identity-notes {
    display: grid;
    gap: 16px;
}

.store-identity-intro {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(248, 250, 252, 0.54));
    border: 1px solid rgba(226, 232, 240, 0.82);
    border-radius: 22px;
    padding: 20px;
}

.store-identity-intro::after {
    width: 74px;
}

.store-identity-note {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), color-mix(in srgb, var(--store-preview-color) 6%, rgba(248, 250, 252, 0.88)));
    border: 1px solid color-mix(in srgb, var(--store-preview-color) 10%, rgba(226, 232, 240, 0.88));
    border-radius: 20px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
    display: grid;
    gap: 6px;
    padding: 16px 18px;
}

.store-identity-note span,
.store-field-heading,
.store-slug-preview span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.store-identity-note strong {
    color: #0f172a;
    font-size: 18px;
    line-height: 1.2;
}

.store-identity-note p {
    color: var(--muted);
    line-height: 1.6;
    margin: 0;
}

.store-identity-grid {
    align-items: stretch;
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.88fr);
}

.store-identity-field,
.store-slug-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.88));
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 22px;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.07);
}

.store-identity-field {
    gap: 10px;
    padding: 18px 18px 16px;
}

.store-identity-field-compact {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

.store-identity-field input,
.store-identity-field textarea {
    background: rgba(255, 255, 255, 0.96);
}

.store-identity-name input {
    font-size: 18px;
    font-weight: 800;
    min-height: 54px;
}

.store-identity-description textarea {
    line-height: 1.65;
    min-height: 174px;
    padding-top: 14px;
}

.store-slug-card {
    display: grid;
    gap: 14px;
    grid-template-rows: auto auto auto;
    padding: 18px;
}

.store-slug-preview {
    background: color-mix(in srgb, var(--store-preview-color) 7%, rgba(248, 250, 252, 0.94));
    border: 1px solid color-mix(in srgb, var(--store-preview-color) 18%, rgba(226, 232, 240, 0.9));
    border-radius: 18px;
    display: grid;
    gap: 7px;
    padding: 14px 16px;
}

.store-slug-preview strong {
    color: #0f172a;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.store-slug-card .slug-status {
    min-height: 20px;
}

.store-identity-ai {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), color-mix(in srgb, var(--store-preview-color) 5%, rgba(248, 250, 252, 0.92)));
    border: 1px dashed color-mix(in srgb, var(--store-preview-color) 24%, rgba(209, 213, 219, 0.92));
    border-radius: 20px;
    justify-content: space-between;
    padding: 14px 16px;
}

.store-identity-ai .ai-status {
    flex: 1;
    min-width: 220px;
}

.store-ai-shell,
.store-ai-summary,
.store-ai-controls,
.store-ai-context-list {
    display: grid;
    gap: 16px;
}

.store-ai-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.store-ai-summary-card,
.store-ai-credit-field,
.store-ai-context-row {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(248, 250, 252, 0.88));
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 22px;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
}

.store-ai-summary-card {
    display: grid;
    gap: 7px;
    min-height: 156px;
    padding: 18px 20px;
}

.store-ai-summary-card span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.store-ai-summary-card strong {
    color: #0f172a;
    font-size: 22px;
    line-height: 1.2;
}

.store-ai-summary-card p,
.store-ai-context-head p {
    color: var(--muted);
    line-height: 1.6;
    margin: 0;
}

.store-ai-controls {
    align-items: start;
    grid-template-columns: minmax(0, 0.9fr) minmax(220px, 0.45fr);
}

.store-ai-toggle {
    min-height: 62px;
}

.store-ai-credit-field {
    gap: 10px;
    padding: 18px;
}

.store-ai-context-head {
    align-items: end;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.store-ai-context-head strong {
    color: #0f172a;
    display: block;
    font-size: 20px;
    margin-bottom: 6px;
}

.store-ai-context-row {
    align-items: start;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr) auto;
    padding: 18px;
}

.store-ai-context-question,
.store-ai-context-answer {
    gap: 10px;
}

.store-ai-context-answer textarea {
    min-height: 122px;
}

.store-ai-context-row .button {
    align-self: center;
}

.store-upload-grid {
    align-items: stretch;
    gap: 16px;
}

.store-upload-picker {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--store-preview-color) 7%, rgba(239, 246, 255, 0.88)));
    border: 1.5px dashed color-mix(in srgb, var(--store-preview-color) 34%, rgba(209, 213, 219, 0.92));
    border-radius: 22px;
    min-height: 182px;
    padding: 20px;
}

.store-upload-picker::before {
    background: color-mix(in srgb, var(--store-preview-color) 16%, transparent);
    border-radius: 999px;
    content: "";
    height: 150px;
    position: absolute;
    right: -44px;
    top: -30px;
    width: 150px;
}

.store-upload-picker .media-copy {
    align-content: center;
    gap: 6px;
    position: relative;
    z-index: 1;
}

.store-upload-picker .media-copy strong {
    font-size: 18px;
}

.store-editor-shell input[type="color"] {
    min-height: 58px;
    padding: 4px;
}

.publish-toggle {
    align-self: end;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), color-mix(in srgb, var(--store-preview-color) 6%, rgba(241, 245, 249, 0.9)));
    border: 1px solid color-mix(in srgb, var(--store-preview-color) 14%, rgba(209, 213, 219, 0.9));
    border-radius: 18px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
    min-height: 54px;
    padding: 14px 16px;
}

.publish-toggle input {
    accent-color: var(--store-preview-color);
}

.store-editor-actions {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    position: static;
    z-index: 3;
}

.store-editor-actions p {
    color: var(--muted);
    margin: 4px 0 0;
}

.store-editor-actions .button {
    min-width: 220px;
}

.store-style-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.style-choice {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
    border: 1px solid rgba(209, 213, 219, 0.9);
    border-radius: 24px;
    cursor: pointer;
    min-height: 190px;
    overflow: hidden;
    padding: 16px;
    position: relative;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.style-choice::before {
    background: linear-gradient(135deg, #111827, #0f766e);
    border-radius: 18px;
    content: "";
    height: 92px;
    inset: 16px 16px auto;
    position: absolute;
}

.style-choice::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(241, 245, 249, 0.64));
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 16px;
    content: "";
    inset: 56px 16px 54px;
    position: absolute;
}

.style-choice-dark::before {
    background: linear-gradient(135deg, #030712, #164e63);
}

.style-choice-editorial::before {
    background: linear-gradient(135deg, #1c1917, #57534e);
}

.style-choice-sunset::before {
    background: linear-gradient(135deg, #7c2d12, #be123c 58%, #fb923c);
}

.style-choice-neon::before {
    background:
        radial-gradient(circle at 24% 18%, rgba(34, 211, 238, 0.72), transparent 22%),
        linear-gradient(135deg, #020617, #1d4ed8 54%, #a21caf);
}

.style-choice-paper::before {
    background:
        linear-gradient(90deg, rgba(120, 113, 108, 0.16) 1px, transparent 1px),
        linear-gradient(180deg, rgba(120, 113, 108, 0.12) 1px, transparent 1px),
        linear-gradient(135deg, #f5f5f4, #e7e5e4 56%, #d6d3d1);
    background-size: 24px 24px, 24px 24px, auto;
}

.style-choice-candy::before {
    background: linear-gradient(135deg, #f472b6, #a855f7 52%, #fbbf24);
}

.style-choice-brutal::before {
    background:
        linear-gradient(90deg, rgba(17, 24, 39, 0.22) 2px, transparent 2px),
        linear-gradient(180deg, rgba(17, 24, 39, 0.18) 2px, transparent 2px),
        linear-gradient(135deg, #facc15, #f97316 58%, #ef4444);
    background-size: 18px 18px, 18px 18px, auto;
}

.style-choice-forest::before {
    background: linear-gradient(135deg, #14532d, #166534 58%, #0f766e);
}

.style-choice-luxe::before {
    background: linear-gradient(135deg, #0a0a0a, #292524 54%, #a16207);
}

.style-choice-techlab::before {
    background:
        linear-gradient(90deg, rgba(34, 211, 238, 0.16) 1px, transparent 1px),
        linear-gradient(180deg, rgba(34, 211, 238, 0.12) 1px, transparent 1px),
        linear-gradient(135deg, #020617, #0f172a 54%, #155e75);
    background-size: 18px 18px, 18px 18px, auto;
}

.style-choice-sweetshop::before {
    background:
        radial-gradient(circle at 24% 22%, rgba(255, 255, 255, 0.28), transparent 18%),
        linear-gradient(135deg, #fb7185, #fb923c 56%, #fbbf24);
}

.style-choice-digital::before {
    background:
        radial-gradient(circle at 22% 18%, rgba(99, 102, 241, 0.42), transparent 20%),
        radial-gradient(circle at 82% 20%, rgba(34, 211, 238, 0.32), transparent 18%),
        linear-gradient(135deg, #0f172a, #312e81 54%, #0ea5e9);
}

.style-choice-builder::before {
    background:
        linear-gradient(135deg, rgba(17, 24, 39, 0.16) 25%, transparent 25%) -12px 0 / 24px 24px,
        linear-gradient(225deg, rgba(17, 24, 39, 0.16) 25%, transparent 25%) -12px 0 / 24px 24px,
        linear-gradient(135deg, #262626, #525252 56%, #eab308);
}

.style-choice-advisor::before {
    background:
        radial-gradient(circle at 22% 18%, rgba(212, 175, 55, 0.18), transparent 20%),
        linear-gradient(135deg, #0f172a, #334155 56%, #d4af37);
}

.style-choice-atelier::before {
    background:
        radial-gradient(circle at 24% 18%, rgba(244, 214, 226, 0.22), transparent 20%),
        linear-gradient(135deg, #241222, #5b2141 56%, #f9a8d4);
}

.style-choice-wellness::before {
    background:
        radial-gradient(circle at 24% 20%, rgba(255, 255, 255, 0.24), transparent 20%),
        linear-gradient(135deg, #166534, #0f766e 56%, #bef264);
}

.style-choice-market::before {
    background:
        radial-gradient(circle at 22% 18%, rgba(254, 215, 170, 0.22), transparent 20%),
        linear-gradient(135deg, #7c2d12, #b45309 56%, #84cc16);
}

.style-choice input {
    accent-color: var(--store-preview-color);
    position: absolute;
    right: 18px;
    top: 18px;
    width: auto;
    z-index: 1;
}

.style-choice span {
    display: grid;
    gap: 5px;
    padding-top: 116px;
    position: relative;
    z-index: 1;
}

.style-choice strong {
    font-size: 20px;
}

.style-choice small {
    color: var(--muted);
    line-height: 1.55;
}

.style-choice:hover,
.style-choice:has(input:checked) {
    border-color: color-mix(in srgb, var(--store-preview-color) 42%, rgba(15, 23, 42, 0.3));
    box-shadow: 0 22px 36px rgba(15, 23, 42, 0.12);
    transform: translateY(-4px);
}

.style-choice:has(input:checked)::after {
    border-color: color-mix(in srgb, var(--store-preview-color) 26%, rgba(255, 255, 255, 0.92));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--store-preview-color) 18%, transparent);
}

.osm-location-tool {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 245, 249, 0.82));
    border: 1px solid rgba(226, 232, 240, 0.88);
    border-radius: 22px;
    display: grid;
    gap: 14px;
    padding: 18px;
}

.osm-search-row {
    align-items: center;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
}

.osm-search-row input {
    flex: 1 1 240px;
    border: 0;
    box-shadow: none;
}

.osm-results {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(226, 232, 240, 0.8);
    border-radius: 18px;
    color: var(--muted);
    display: grid;
    gap: 8px;
    font-weight: 800;
    min-height: 58px;
    padding: 12px;
}

.osm-result-button {
    background: #ffffff;
    border: 1px solid rgba(209, 213, 219, 0.9);
    border-radius: 14px;
    color: var(--text);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    padding: 10px 12px;
    text-align: left;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.osm-result-button:hover {
    border-color: rgba(15, 118, 110, 0.5);
    box-shadow: var(--soft-shadow);
    transform: translateY(-1px);
}

.osm-map {
    background: #111827;
    border: 1px solid rgba(209, 213, 219, 0.82);
    border-radius: 22px;
    box-shadow: 0 20px 44px rgba(15, 23, 42, 0.16);
    height: 320px;
    min-height: 260px;
    overflow: hidden;
    width: 100%;
}

.interactive-osm-map .leaflet-control-attribution {
    font-size: 11px;
}

.products-workbench {
    align-items: start;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(440px, 0.95fr) minmax(0, 1.05fr);
}

.product-studio {
    backdrop-filter: blur(22px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.90));
    border-color: rgba(255, 255, 255, 0.86);
    position: sticky;
    top: 92px;
}

.product-form-head {
    align-items: flex-start;
    border-bottom: 1px solid rgba(209, 213, 219, 0.72);
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding-bottom: 14px;
}

.product-form-head h2 {
    margin: 0;
}

.product-form-head-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.product-editor-modal {
    align-items: center;
    display: none;
    inset: 0;
    justify-content: center;
    padding: 18px;
    position: fixed;
    z-index: 18;
}

.product-editor-modal.is-open {
    display: flex;
}

.product-editor-backdrop {
    background: rgba(17, 24, 39, 0.60);
    inset: 0;
    position: absolute;
}

.product-editor-panel {
    animation: stepIn 180ms ease forwards;
    max-height: calc(100vh - 36px);
    max-width: 980px;
    overflow: auto;
    position: relative;
    top: auto;
    width: min(980px, 100%);
    z-index: 1;
}

.product-field-card {
    background: rgba(243, 244, 246, 0.78);
    border: 1px solid rgba(209, 213, 219, 0.78);
    border-radius: 8px;
    display: grid;
    gap: 8px;
    padding: 14px;
}

.catalog-manager {
    backdrop-filter: blur(22px);
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 8px;
    box-shadow: var(--shadow);
    display: grid;
    gap: 14px;
    padding: 14px;
}

.catalog-manager-head {
    align-items: center;
    background: rgba(17, 24, 39, 0.92);
    border-radius: 8px;
    color: #ffffff;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 18px;
}

.catalog-manager-head .eyebrow {
    color: #99f6e4;
}

.catalog-manager-head h2 {
    margin: 0;
}

.sort-status {
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
    font-weight: 800;
    margin: 0;
    text-align: right;
}

.category-creator {
    align-items: center;
    display: none;
    inset: 0;
    justify-content: center;
    padding: 18px;
    position: fixed;
    z-index: 20;
}

.category-creator.is-open {
    display: flex;
}

.category-creator-backdrop {
    background: rgba(17, 24, 39, 0.58);
    border: 0;
    cursor: pointer;
    inset: 0;
    position: absolute;
}

.category-creator-panel {
    animation: stepIn 180ms ease forwards;
    backdrop-filter: blur(22px);
    background: rgba(255, 255, 255, 0.96);
    max-height: calc(100vh - 36px);
    max-width: 520px;
    overflow: auto;
    position: relative;
    width: min(520px, 100%);
    z-index: 1;
}

.category-creator-head {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.category-creator-head h2 {
    margin: 0;
}

.product-sort-list,
.category-sort-list {
    display: grid;
    gap: 12px;
}

.catalog-category {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(209, 213, 219, 0.82);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(17, 24, 39, 0.07);
    display: grid;
    gap: 8px;
    padding: 10px;
    transition: border-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease, transform 160ms ease;
}

.catalog-category:hover {
    border-color: rgba(15, 118, 110, 0.36);
    box-shadow: var(--shadow);
}

.catalog-category.dragging {
    opacity: 0.48;
    transform: scale(0.99);
}

.catalog-category-head {
    align-items: center;
    background: rgba(243, 244, 246, 0.82);
    border: 1px solid rgba(209, 213, 219, 0.76);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: auto auto minmax(0, 1fr) auto auto;
    min-height: 52px;
    padding: 8px;
}

.catalog-category-image {
    aspect-ratio: 1;
    border-radius: 8px;
    object-fit: cover;
    width: 42px;
}

.catalog-category-image-placeholder {
    background: linear-gradient(135deg, #d1d5db, #f3f4f6);
}

.category-drag-spacer {
    min-height: 34px;
    width: 46px;
}

.catalog-category-title {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.catalog-category-title h3,
.catalog-category-title p {
    margin: 0;
}

.catalog-category-title p {
    color: var(--muted);
    display: -webkit-box;
    font-size: 13px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.category-product-list {
    display: grid;
    gap: 7px;
    min-height: 42px;
    transition: background 160ms ease, box-shadow 160ms ease;
}

.category-product-list.is-drop-target {
    background: rgba(15, 118, 110, 0.08);
    border-radius: 8px;
    box-shadow: inset 0 0 0 2px rgba(15, 118, 110, 0.18);
}

.empty-category-note {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    margin: 0;
    padding: 8px 10px;
}

.product-row {
    align-items: center;
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.82);
    display: grid;
    gap: 14px;
    grid-template-columns: 64px 96px minmax(0, 1fr) auto;
    overflow: hidden;
    padding: 12px;
    transition: border-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease, transform 160ms ease;
}

.compact-product-row {
    gap: 8px;
    grid-template-columns: 52px 46px minmax(0, 1fr) auto;
    min-height: 58px;
    padding: 7px;
}

.product-row:hover {
    border-color: rgba(15, 118, 110, 0.38);
    box-shadow: var(--shadow);
    transform: translateY(-2px);
}

.product-row.dragging,
.option-row.dragging {
    opacity: 0.48;
    transform: scale(0.99);
}

.product-row img,
.image-placeholder {
    aspect-ratio: 1;
    border-radius: 8px;
    object-fit: cover;
    width: 96px;
}

.compact-product-row img,
.compact-product-row .image-placeholder {
    font-size: 10px;
    width: 46px;
}

.image-placeholder {
    align-items: center;
    background: #f3f4f6;
    border: 1px dashed var(--line);
    color: var(--muted);
    display: flex;
    font-size: 13px;
    justify-content: center;
    text-align: center;
}

.product-row-body {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.product-row-body h3 {
    font-size: 15px;
    line-height: 1.15;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.product-row-body p {
    color: var(--muted);
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.product-row-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    line-height: 1.1;
}

.product-row-meta strong {
    margin-right: 2px;
}

.product-row-meta span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.state-on {
    color: var(--success) !important;
}

.state-off {
    color: var(--warning) !important;
}

.drag-handle {
    align-items: center;
    background: linear-gradient(180deg, #ffffff, #f3f4f6);
    border: 1px solid rgba(209, 213, 219, 0.88);
    border-radius: 8px;
    color: #374151;
    cursor: grab;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    justify-content: center;
    min-height: 36px;
    padding: 8px 10px;
    text-transform: uppercase;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.drag-handle:hover {
    background: #ffffff;
    border-color: rgba(15, 118, 110, 0.48);
    color: var(--brand-dark);
    transform: translateY(-1px);
}

.drag-handle:active {
    cursor: grabbing;
}

.product-drag-handle {
    align-self: center;
    min-height: 74px;
    width: 52px;
}

.compact-product-row .product-drag-handle,
.category-drag-handle {
    min-height: 34px;
    width: 46px;
}

.option-drag-handle {
    align-self: center;
    min-height: 64px;
    width: 58px;
}

.compact-row-actions {
    flex-wrap: nowrap;
}

.compact-row-actions .button {
    min-height: 32px;
    padding: 6px 9px;
}

.badge {
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    padding: 4px 8px;
}

.badge.success {
    background: #dcfce7;
    color: var(--success);
}

.badge.muted {
    background: #e5e7eb;
    color: var(--muted);
}

.order-head,
.order-items li {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.order-items {
    border-top: 1px solid var(--line);
    list-style: none;
    margin: 18px 0;
    padding: 16px 0 0;
}

.order-items small {
    color: var(--muted);
    display: block;
    font-weight: 700;
    margin-top: 4px;
}

.muted-box {
    background: #f3f4f6;
    border: 1px solid var(--line);
    border-radius: 8px;
    margin-bottom: 16px;
    padding: 12px;
}

.muted-box p:last-child,
.product-row p:last-child,
.card p:last-child,
.order-card p:last-child {
    margin-bottom: 0;
}

.store-hero {
    margin-bottom: 20px;
    overflow: hidden;
    padding: 0;
}

.store-banner {
    height: 240px;
    object-fit: cover;
    width: 100%;
}

.store-identity {
    align-items: center;
    border-top: 6px solid var(--store-color);
    display: flex;
    gap: 18px;
    padding: 24px;
}

.store-logo {
    border: 3px solid #ffffff;
    border-radius: 8px;
    box-shadow: var(--shadow);
    height: 82px;
    object-fit: cover;
    width: 82px;
}

.checkout-layout {
    align-items: start;
    grid-template-columns: minmax(0, 1fr) 360px;
}

.catalog {
    display: grid;
    gap: 16px;
}

.category-block {
    display: grid;
    gap: 12px;
}

.category-title,
.category-title-card {
    background: #111827;
    border-radius: 8px;
    color: #ffffff;
    margin: 0;
    padding: 10px 14px;
}

.category-title-card {
    align-items: center;
    display: flex;
    gap: 12px;
}

.category-title-card img {
    aspect-ratio: 1;
    border-radius: 8px;
    object-fit: cover;
    width: 64px;
}

.category-title-card h2 {
    margin: 0;
}

.category-title-card p {
    color: rgba(255, 255, 255, 0.82);
    margin: 4px 0 0;
}

.product-card {
    align-items: center;
    display: grid;
    gap: 16px;
    grid-template-columns: 160px 1fr 130px;
    padding: 16px;
}

.product-card.no-gallery {
    grid-template-columns: 1fr 130px;
}

.choice-group {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.choice-group p {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    margin: 0;
    text-transform: uppercase;
}

.choice-card {
    align-items: center;
    background: #f3f4f6;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 8px;
    grid-template-columns: auto 42px minmax(0, 1fr) auto;
    padding: 8px;
}

.choice-card input {
    min-height: 0;
    width: auto;
}

.choice-card img {
    aspect-ratio: 1;
    border-radius: 8px;
    object-fit: cover;
    width: 42px;
}

.product-card img {
    aspect-ratio: 4 / 3;
    border-radius: 8px;
    object-fit: cover;
    width: 160px;
}

.product-gallery {
    display: grid;
    gap: 8px;
    width: 160px;
}

.product-gallery .product-main-image {
    aspect-ratio: 4 / 3;
    width: 160px;
}

.product-thumbs {
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.product-thumbs img {
    aspect-ratio: 1;
    border-radius: 6px;
    object-fit: cover;
    width: 100%;
}

.qty-control {
    align-self: center;
}

.store-hours {
    background: #f3f4f6;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    margin-top: 12px;
    padding: 10px 12px;
}

.hours-list {
    display: grid;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.hours-list li {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.checkout-card {
    position: sticky;
    top: 92px;
}

.public-store-body {
    background: #e5e7eb;
}

.public-store-container {
    max-width: 1280px;
    padding-top: 22px;
}

.public-store-page {
    color: var(--text);
    display: grid;
    gap: 22px;
}

.public-store-hero {
    background: #111827;
    border-radius: 8px;
    box-shadow: var(--shadow);
    overflow: hidden;
    padding: 10px;
}

.public-store-cover {
    background: linear-gradient(135deg, #111827, var(--store-color));
    background-position: center;
    background-size: cover;
    border-radius: 8px;
    height: 360px;
    position: relative;
}

.public-store-cover::after {
    background: linear-gradient(180deg, rgba(17, 24, 39, 0.04), rgba(17, 24, 39, 0.74));
    content: "";
    inset: 0;
    position: absolute;
}

.public-store-card {
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.86);
    border-top: 6px solid var(--store-color);
    border-radius: 8px;
    box-shadow: 0 24px 56px rgba(17, 24, 39, 0.24);
    display: grid;
    gap: 20px;
    grid-template-columns: auto minmax(0, 1fr) minmax(260px, 0.38fr);
    margin: -88px clamp(12px, 3vw, 34px) 18px;
    min-height: 158px;
    padding: 28px;
    position: relative;
}

.public-store-logo {
    aspect-ratio: 1;
    background: #111827;
    border: 4px solid #ffffff;
    border-radius: 8px;
    box-shadow: 0 18px 34px rgba(17, 24, 39, 0.24);
    color: #ffffff;
    display: grid;
    font-size: 36px;
    font-weight: 900;
    object-fit: cover;
    place-items: center;
    width: 118px;
}

.public-store-info {
    min-width: 0;
}

.public-store-info h1 {
    font-size: 42px;
    line-height: 1.02;
    margin-bottom: 10px;
    overflow-wrap: anywhere;
}

.public-store-info p {
    color: var(--muted);
    max-width: 760px;
}

.public-store-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.public-store-pills span {
    background: #f3f4f6;
    border: 1px solid rgba(209, 213, 219, 0.88);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: 7px 10px;
}

.public-hours-card {
    align-self: start;
    background: #f3f4f6;
    border: 1px solid rgba(209, 213, 219, 0.86);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    max-height: 340px;
    overflow: auto;
    padding: 12px;
}

.public-order-layout {
    align-items: start;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(0, 1fr) 380px;
}

.public-catalog {
    display: grid;
    gap: 18px;
}

.public-category {
    gap: 12px;
}

.public-category-card {
    background: #111827;
    box-shadow: var(--soft-shadow);
    padding: 16px;
}

.public-category-card .eyebrow {
    color: #99f6e4;
}

.public-product-card {
    align-items: start;
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.84);
    box-shadow: var(--soft-shadow);
    grid-template-columns: 220px minmax(0, 1fr) 120px;
    padding: 14px;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.public-product-card:hover {
    border-color: rgba(15, 118, 110, 0.34);
    box-shadow: var(--shadow);
    transform: translateY(-2px);
}

.public-product-card.no-gallery {
    grid-template-columns: minmax(0, 1fr) 120px;
}

.public-product-gallery,
.public-product-gallery .product-main-image {
    width: 220px;
}

.public-product-gallery .product-main-image {
    aspect-ratio: 1;
    box-shadow: inset 0 0 0 1px rgba(17, 24, 39, 0.08);
}

.product-thumb-button {
    background: transparent;
    border: 0;
    cursor: pointer;
    padding: 0;
}

.public-product-info h3 {
    font-size: 22px;
    margin-bottom: 6px;
}

.public-product-info p {
    color: var(--muted);
}

.public-product-price {
    color: var(--brand-dark);
    display: inline-block;
    font-size: 18px;
    margin-bottom: 4px;
}

.public-choice-card {
    background: rgba(243, 244, 246, 0.92);
}

.public-choice-card img {
    aspect-ratio: 1;
    width: 42px;
}

.public-choice-card:has(input:checked),
.fulfillment-card:has(input:checked) {
    border-color: var(--store-color);
    box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.14);
}

.public-qty-control {
    align-self: start;
}

.public-checkout-card {
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, 0.96);
    border-color: rgba(255, 255, 255, 0.86);
    top: 22px;
}

.public-checkout-card h2 {
    font-size: 28px;
    margin-bottom: 2px;
}

.fulfillment-options {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fulfillment-card {
    align-items: center;
    background: #f3f4f6;
    border: 1px solid rgba(209, 213, 219, 0.88);
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    gap: 10px;
    padding: 10px;
}

.fulfillment-card input {
    min-height: 0;
    width: auto;
}

.fulfillment-card span {
    display: grid;
    gap: 2px;
}

.delivery-fields {
    background: rgba(243, 244, 246, 0.84);
    border: 1px solid rgba(209, 213, 219, 0.86);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    padding: 12px;
}

.delivery-fields[hidden] {
    display: none;
}

.delivery-estimate {
    background: #ffffff;
    border: 1px solid rgba(209, 213, 219, 0.88);
    border-left: 5px solid var(--store-color);
    border-radius: 8px;
    font-weight: 900;
    margin: 0;
    padding: 10px 12px;
}

.public-empty-store {
    text-align: center;
}

.public-store-style-dark {
    --text: #f9fafb;
    --muted: #cbd5e1;
}

.public-store-style-dark .public-store-card,
.public-store-style-dark .public-product-card,
.public-store-style-dark .public-checkout-card {
    background: rgba(17, 24, 39, 0.94);
    border-color: rgba(75, 85, 99, 0.82);
    color: #f9fafb;
}

.public-store-style-dark .public-store-info p,
.public-store-style-dark .public-product-info p {
    color: #cbd5e1;
}

.public-store-style-dark .public-store-pills span,
.public-store-style-dark .public-hours-card,
.public-store-style-dark .public-choice-card,
.public-store-style-dark .fulfillment-card,
.public-store-style-dark .delivery-fields {
    background: rgba(31, 41, 55, 0.92);
    border-color: rgba(75, 85, 99, 0.86);
    color: #f9fafb;
}

.public-store-style-dark .public-product-price {
    color: #5eead4;
}

.public-store-style-dark input,
.public-store-style-dark textarea,
.public-store-style-dark select,
.public-store-style-dark .delivery-estimate,
.public-store-style-dark .osm-result-button {
    background: #ffffff;
    color: #111827;
}

.public-store-style-editorial .public-store-cover {
    height: 300px;
}

.public-store-style-editorial .public-store-card {
    grid-template-columns: auto minmax(0, 1fr);
}

.public-store-style-editorial .public-hours-card {
    grid-column: 1 / -1;
}

.public-store-style-editorial .public-product-card {
    grid-template-columns: 170px minmax(0, 1fr) 110px;
}

.public-store-style-editorial .public-product-gallery,
.public-store-style-editorial .public-product-gallery .product-main-image {
    width: 170px;
}

.sf-app {
    color: #0f172a;
    display: grid;
    gap: 22px;
    padding-bottom: 118px;
}

.sf-header-wrap {
    margin-bottom: 4px;
    position: relative;
}

.sf-hero {
    background: linear-gradient(135deg, #0f172a, var(--store-color));
    background-position: center;
    background-size: cover;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 24px 52px rgba(15, 23, 42, 0.22);
    height: 260px;
    margin: -22px calc(-1 * clamp(16px, 4vw, 48px)) 0;
    overflow: hidden;
    position: relative;
}

.sf-hero-overlay {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.02), rgba(15, 23, 42, 0.72));
    inset: 0;
    position: absolute;
}

.sf-hero-actions {
    display: flex;
    gap: 8px;
    position: absolute;
    right: 18px;
    top: 18px;
    z-index: 2;
}

.sf-icon-btn {
    align-items: center;
    backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.44);
    border-radius: 8px;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    height: 44px;
    justify-content: center;
    min-width: 44px;
    padding: 0 12px;
    text-decoration: none;
}

.sf-wa {
    background: #16a34a;
    border-color: #16a34a;
}

.sf-status-pill {
    align-items: center;
    background: #b91c1c;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 8px;
    bottom: 18px;
    color: #ffffff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 7px;
    padding: 7px 12px;
    position: absolute;
    right: 18px;
    text-transform: uppercase;
    z-index: 2;
}

.sf-status-pill.open {
    background: #16a34a;
}

.sf-status-pill span {
    background: currentColor;
    border-radius: 999px;
    height: 8px;
    width: 8px;
}

.sf-avatar-wrap {
    align-items: center;
    background: #ffffff;
    border: 5px solid #ffffff;
    border-radius: 8px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.22);
    display: flex;
    height: 118px;
    justify-content: center;
    left: 50%;
    overflow: hidden;
    position: absolute;
    top: 198px;
    transform: translateX(-50%);
    width: 118px;
    z-index: 3;
}

.sf-avatar-wrap img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.sf-avatar-wrap strong {
    color: var(--store-color);
    font-size: 42px;
    font-weight: 900;
}

.sf-store-title {
    padding-top: 74px;
    text-align: center;
}

.sf-store-title h1 {
    font-size: 34px;
    letter-spacing: -0.5px;
    line-height: 1.05;
    margin-bottom: 8px;
}

.sf-store-title p {
    color: #64748b;
    margin: 0 auto;
    max-width: 720px;
}

.sf-map-card,
.sf-about-card,
.sf-products-shell {
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.86);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

.sf-map-card {
    cursor: pointer;
}

.sf-map-copy {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
}

.sf-map-copy strong,
.sf-about-card h2 {
    font-size: 18px;
    margin: 0;
}

.sf-map-copy p {
    color: #64748b;
    margin: 4px 0 0;
}

.sf-map-copy span {
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    color: var(--store-color);
    font-weight: 900;
    padding: 8px 12px;
    white-space: nowrap;
}

.sf-map-card iframe {
    border: 0;
    display: block;
    height: 170px;
    width: 100%;
}

.sf-about-card {
    padding: 16px;
}

.sf-products-shell {
    padding: 16px;
}

.sf-search {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    display: flex;
    gap: 10px;
    padding: 8px 12px;
}

.sf-search span {
    color: var(--store-color);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.sf-search input {
    background: transparent;
    border: 0;
    box-shadow: none;
    flex: 1;
    min-height: 38px;
    padding: 6px;
}

.sf-search input:focus {
    box-shadow: none;
}

.sf-search button {
    background: transparent;
    border: 0;
    color: #64748b;
    cursor: pointer;
    font-weight: 900;
}

.sf-search-info,
.sf-empty-search {
    color: #64748b;
    font-weight: 800;
    margin: 8px 0 0;
}

.sf-catalog {
    display: grid;
    gap: 28px;
    margin-top: 18px;
}

.sf-category {
    display: grid;
    gap: 12px;
}

.sf-category-head {
    align-items: center;
    backdrop-filter: blur(12px);
    background: rgba(243, 244, 246, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
    display: flex;
    justify-content: space-between;
    padding: 12px 14px;
    position: sticky;
    top: 10px;
    z-index: 2;
}

.sf-category-head h2 {
    font-size: 20px;
    margin: 0;
}

.sf-category-head p {
    color: #64748b;
    margin: 4px 0 0;
}

.sf-category-head > span {
    background: #ffffff;
    border-radius: 8px;
    color: var(--store-color);
    font-weight: 900;
    padding: 6px 10px;
}

.sf-product-list {
    display: grid;
    gap: 10px;
}

.sf-product-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid rgba(209, 213, 219, 0.82);
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
    display: grid;
    gap: 14px;
    grid-template-columns: 96px minmax(0, 1fr) 44px;
    padding: 10px;
}

.sf-product-image {
    aspect-ratio: 1;
    background: #f3f4f6;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    overflow: hidden;
    padding: 0;
}

.sf-product-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.sf-product-title {
    background: transparent;
    border: 0;
    color: #0f172a;
    cursor: pointer;
    display: block;
    font: inherit;
    font-size: 17px;
    font-weight: 900;
    padding: 0;
    text-align: left;
}

.sf-product-main p {
    color: #64748b;
    display: -webkit-box;
    margin: 4px 0 6px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.sf-product-main strong {
    color: var(--store-color);
}

.sf-add-btn {
    background: var(--store-color);
    border: 0;
    border-radius: 8px;
    color: #ffffff;
    cursor: pointer;
    font-size: 24px;
    font-weight: 900;
    height: 44px;
    width: 44px;
}

.sf-cart-footer {
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    padding: 0 16px 22px;
    pointer-events: none;
    position: fixed;
    right: 0;
    z-index: 20;
}

.sf-cart-bar {
    align-items: center;
    background: rgba(15, 23, 42, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.34);
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    max-width: 520px;
    padding: 10px 10px 10px 16px;
    pointer-events: auto;
    width: min(100%, 520px);
}

.sf-cart-bar div {
    align-items: center;
    display: flex;
    gap: 10px;
}

.sf-cart-bar span {
    align-items: center;
    background: var(--store-color);
    border-radius: 8px;
    display: inline-flex;
    font-weight: 900;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.sf-cart-bar button {
    background: #ffffff;
    border: 0;
    border-radius: 8px;
    color: #0f172a;
    cursor: pointer;
    font-weight: 900;
    min-height: 44px;
    padding: 10px 16px;
}

.sf-cart-bar button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.sf-toast {
    background: #0f172a;
    border-radius: 8px;
    bottom: 98px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.24);
    color: #ffffff;
    font-weight: 900;
    left: 50%;
    opacity: 0;
    padding: 10px 18px;
    pointer-events: none;
    position: fixed;
    transform: translate(-50%, 16px);
    transition: opacity 160ms ease, transform 160ms ease;
    z-index: 30;
}

.sf-toast.show {
    opacity: 1;
    transform: translate(-50%, 0);
}

.sf-modal {
    align-items: center;
    display: none;
    inset: 0;
    justify-content: center;
    padding: 18px;
    position: fixed;
    z-index: 40;
}

.sf-modal.is-open {
    display: flex;
}

.sf-modal-backdrop {
    background: rgba(15, 23, 42, 0.62);
    inset: 0;
    position: absolute;
}

.sf-modal-card {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.34);
    max-height: 90vh;
    max-width: 560px;
    overflow: auto;
    padding: 18px;
    position: relative;
    width: min(100%, 560px);
    z-index: 1;
}

.sf-modal-close {
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 900;
    min-height: 36px;
    padding: 6px 10px;
    position: absolute;
    right: 14px;
    top: 14px;
    z-index: 2;
}

.sf-info-head {
    align-items: center;
    display: flex;
    gap: 12px;
    padding-right: 82px;
}

.sf-info-head img {
    border-radius: 8px;
    height: 64px;
    object-fit: cover;
    width: 64px;
}

.sf-info-block {
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    margin-top: 14px;
    padding: 12px;
}

.sf-viewer {
    aspect-ratio: 1;
    background: #f3f4f6;
    border-radius: 8px;
    margin-bottom: 10px;
    overflow: hidden;
    position: relative;
}

.sf-viewer img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.sf-viewer-nav {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #d1d5db;
    border-radius: 8px;
    cursor: pointer;
    font-size: 28px;
    font-weight: 900;
    height: 44px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
}

.sf-viewer-nav.prev {
    left: 10px;
}

.sf-viewer-nav.next {
    right: 10px;
}

.sf-viewer span {
    background: rgba(15, 23, 42, 0.82);
    border-radius: 8px;
    bottom: 10px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
    padding: 5px 9px;
    position: absolute;
    right: 10px;
}

.sf-thumbs {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-bottom: 14px;
}

.sf-thumbs button {
    aspect-ratio: 1;
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    cursor: pointer;
    overflow: hidden;
    padding: 0;
    opacity: 0.62;
}

.sf-thumbs button.active {
    border-color: var(--store-color);
    opacity: 1;
}

.sf-thumbs img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.sf-choice-wrap,
.sf-delivery-box {
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    margin-top: 12px;
    padding: 12px;
}

.sf-choice-wrap[hidden],
.sf-delivery-box[hidden] {
    display: none;
}

.sf-choice-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    cursor: pointer;
    display: grid;
    gap: 8px;
    grid-template-columns: auto 42px minmax(0, 1fr) auto;
    padding: 8px;
}

.sf-choice-card img {
    aspect-ratio: 1;
    border-radius: 8px;
    object-fit: cover;
    width: 42px;
}

.sf-buy-row {
    align-items: center;
    border-top: 1px solid #e5e7eb;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 16px;
    padding-top: 16px;
}

.sf-qty-stepper,
.sf-cart-stepper {
    align-items: center;
    display: flex;
    gap: 8px;
}

.sf-qty-stepper button,
.sf-cart-stepper button {
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 900;
    height: 40px;
    width: 40px;
}

.sf-add-to-cart,
#sfAddToCart {
    background: var(--store-color);
    border: 0;
    border-radius: 8px;
    color: #ffffff;
    cursor: pointer;
    flex: 1;
    font-weight: 900;
    min-height: 44px;
    padding: 10px 16px;
}

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

.sf-cart-list {
    display: grid;
    gap: 10px;
    margin-bottom: 12px;
}

.sf-cart-item {
    align-items: center;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    padding: 8px;
}

.sf-cart-item img,
.sf-cart-item > span {
    aspect-ratio: 1;
    background: #e5e7eb;
    border-radius: 8px;
    object-fit: cover;
    width: 54px;
}

.sf-cart-item small,
.sf-cart-item em {
    color: #64748b;
    display: block;
    font-style: normal;
}

.sf-summary {
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr auto;
    padding: 12px;
}

body.sf-modal-open {
    overflow: hidden;
}

/* Storefront polish layer */
.public-store-body {
    background:
        radial-gradient(circle at 50% -10%, rgba(15, 118, 110, 0.10), transparent 34%),
        linear-gradient(180deg, #f8fafc 0%, #eef2f7 52%, #e2e8f0 100%);
}

.public-store-container {
    max-width: 860px;
    padding-top: 0;
}

.sf-app {
    --sf-ink: #0f172a;
    --sf-muted: #64748b;
    --sf-panel: rgba(255, 255, 255, 0.78);
    --sf-panel-strong: rgba(255, 255, 255, 0.94);
    --sf-stroke: rgba(255, 255, 255, 0.82);
    --sf-line: rgba(203, 213, 225, 0.74);
    --sf-shadow: 0 22px 55px rgba(15, 23, 42, 0.14);
    --sf-soft-shadow: 0 10px 26px rgba(15, 23, 42, 0.09);
    gap: 18px;
}

.sf-hero {
    border: 1px solid rgba(255, 255, 255, 0.58);
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.24);
    height: 300px;
    margin: 0;
}

.sf-hero::before {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.16), transparent 42%),
        linear-gradient(0deg, rgba(15, 23, 42, 0.20), rgba(15, 23, 42, 0.20));
    content: "";
    inset: 0;
    position: absolute;
}

.sf-hero-overlay {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.00) 18%, rgba(15, 23, 42, 0.78) 100%);
}

.sf-hero-actions {
    gap: 10px;
    right: 16px;
    top: 16px;
}

.sf-icon-btn {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.42);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
    gap: 8px;
    min-width: 46px;
    overflow: hidden;
    transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.sf-icon-btn:hover {
    background: rgba(255, 255, 255, 0.28);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.22);
    transform: translateY(-1px);
}

.sf-icon-btn .sf-action-label {
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-width 180ms ease, opacity 180ms ease;
    white-space: nowrap;
}

.sf-icon-btn:hover .sf-action-label {
    max-width: 90px;
    opacity: 1;
}

.sf-wa {
    background: rgba(22, 163, 74, 0.92);
    border-color: rgba(22, 163, 74, 0.92);
}

.sf-ui-icon {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 950;
    height: 22px;
    justify-content: center;
    line-height: 1;
    position: relative;
    width: 22px;
}

.sf-ui-info::before {
    content: "i";
}

.sf-ui-wa::before {
    content: "WA";
    font-size: 10px;
}

.sf-ui-phone::before {
    content: "TEL";
    font-size: 9px;
}

.sf-ui-pin::before {
    content: "";
    background: currentColor;
    border-radius: 8px 8px 8px 0;
    height: 13px;
    transform: rotate(-45deg);
    width: 13px;
}

.sf-ui-pin::after {
    content: "";
    background: #ffffff;
    border-radius: 50%;
    height: 5px;
    position: absolute;
    width: 5px;
}

.sf-ui-search::before {
    content: "";
    border: 2px solid currentColor;
    border-radius: 50%;
    height: 12px;
    width: 12px;
}

.sf-ui-search::after {
    content: "";
    background: currentColor;
    border-radius: 999px;
    height: 7px;
    position: absolute;
    right: 2px;
    top: 14px;
    transform: rotate(-45deg);
    width: 2px;
}

.sf-ui-plus::before,
.sf-ui-plus::after,
.sf-ui-close::before,
.sf-ui-close::after {
    background: currentColor;
    border-radius: 999px;
    content: "";
    height: 2px;
    position: absolute;
    width: 14px;
}

.sf-ui-plus::after {
    transform: rotate(90deg);
}

.sf-ui-close::before {
    transform: rotate(45deg);
}

.sf-ui-close::after {
    transform: rotate(-45deg);
}

.sf-ui-bag::before {
    border: 2px solid currentColor;
    border-radius: 5px;
    content: "";
    height: 13px;
    margin-top: 4px;
    width: 15px;
}

.sf-ui-bag::after {
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    content: "";
    height: 7px;
    position: absolute;
    top: 2px;
    width: 8px;
}

.sf-status-pill {
    backdrop-filter: blur(16px);
    background: rgba(185, 28, 28, 0.86);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.20);
}

.sf-status-pill.open {
    background: rgba(22, 163, 74, 0.88);
}

.sf-avatar-wrap {
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 22px 48px rgba(15, 23, 42, 0.20);
    height: 126px;
    top: 236px;
    width: 126px;
}

.sf-store-title {
    padding-top: 80px;
}

.sf-store-title h1 {
    color: var(--sf-ink);
    font-size: 36px;
    font-weight: 950;
}

.sf-store-title p {
    color: var(--sf-muted);
    font-size: 16px;
    line-height: 1.6;
}

.sf-map-card,
.sf-about-card,
.sf-products-shell {
    backdrop-filter: blur(24px);
    background: var(--sf-panel);
    border-color: var(--sf-stroke);
    box-shadow: var(--sf-shadow);
}

.sf-map-card {
    transition: box-shadow 160ms ease, transform 160ms ease;
}

.sf-map-card:hover {
    box-shadow: 0 28px 60px rgba(15, 23, 42, 0.15);
    transform: translateY(-2px);
}

.sf-map-copy {
    padding: 18px;
}

.sf-map-copy span {
    align-items: center;
    background: rgba(255, 255, 255, 0.92);
    display: inline-flex;
    gap: 7px;
}

.sf-about-card,
.sf-products-shell {
    padding: 18px;
}

.sf-search {
    background: rgba(255, 255, 255, 0.96);
    border-color: var(--sf-line);
    box-shadow: var(--sf-soft-shadow);
    padding: 10px 12px;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.sf-search:focus-within {
    border-color: color-mix(in srgb, var(--store-color) 50%, #ffffff);
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.12);
    transform: translateY(-1px);
}

.sf-search-leading {
    align-items: center;
    display: inline-flex;
    gap: 6px;
}

.sf-category-head {
    background: rgba(255, 255, 255, 0.84);
    border-color: rgba(255, 255, 255, 0.88);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.09);
    top: 8px;
}

.sf-product-list {
    gap: 12px;
}

.sf-product-card {
    background: rgba(255, 255, 255, 0.94);
    border-color: rgba(255, 255, 255, 0.92);
    box-shadow: var(--sf-soft-shadow);
    grid-template-columns: 104px minmax(0, 1fr) 48px;
    min-height: 128px;
    padding: 12px;
    transition: box-shadow 160ms ease, transform 160ms ease, border-color 160ms ease;
}

.sf-product-card:hover {
    border-color: rgba(255, 255, 255, 1);
    box-shadow: 0 20px 42px rgba(15, 23, 42, 0.14);
    transform: translateY(-2px);
}

.sf-product-image {
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.04);
}

.sf-product-title {
    letter-spacing: -0.2px;
}

.sf-product-main strong {
    background: color-mix(in srgb, var(--store-color) 10%, #ffffff);
    border-radius: 8px;
    display: inline-flex;
    font-size: 14px;
    padding: 5px 8px;
}

.sf-add-btn {
    align-items: center;
    box-shadow: 0 12px 26px color-mix(in srgb, var(--store-color) 30%, transparent);
    display: inline-flex;
    font-size: 0;
    justify-content: center;
    transition: box-shadow 160ms ease, transform 160ms ease;
}

.sf-add-btn:hover {
    box-shadow: 0 18px 34px color-mix(in srgb, var(--store-color) 36%, transparent);
    transform: translateY(-1px);
}

.sf-cart-bar {
    backdrop-filter: blur(24px);
    background: rgba(15, 23, 42, 0.92);
    border-color: rgba(255, 255, 255, 0.18);
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.38);
}

.sf-cart-badge {
    box-shadow: 0 8px 18px color-mix(in srgb, var(--store-color) 36%, transparent);
}

.sf-cart-bar button {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.sf-modal-backdrop {
    backdrop-filter: blur(8px);
    background: rgba(15, 23, 42, 0.52);
}

.sf-modal-card {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.86);
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.36);
}

.sf-modal-close {
    align-items: center;
    display: inline-flex;
    gap: 6px;
}

.sf-choice-card:has(input:checked),
.sf-cart-item,
.sf-summary {
    border-color: color-mix(in srgb, var(--store-color) 36%, #d1d5db);
}

.sf-style-dark .sf-category-head,
.sf-style-dark .sf-product-card {
    background: rgba(15, 23, 42, 0.86);
}

.sf-style-dark .sf-search {
    background: rgba(255, 255, 255, 0.94);
}

.sf-style-dark {
    color: #f9fafb;
}

.sf-style-dark .sf-store-title h1,
.sf-style-dark .sf-product-title {
    color: #f9fafb;
}

.sf-style-dark .sf-store-title p,
.sf-style-dark .sf-product-main p,
.sf-style-dark .sf-category-head p {
    color: #cbd5e1;
}

.sf-style-dark .sf-map-card,
.sf-style-dark .sf-about-card,
.sf-style-dark .sf-products-shell,
.sf-style-dark .sf-product-card,
.sf-style-dark .sf-category-head {
    background: rgba(15, 23, 42, 0.94);
    border-color: rgba(71, 85, 105, 0.88);
    color: #f9fafb;
}

.sf-style-dark .sf-search,
.sf-style-dark .sf-info-block,
.sf-style-dark .sf-choice-wrap,
.sf-style-dark .sf-delivery-box,
.sf-style-dark .sf-cart-item,
.sf-style-dark .sf-summary {
    background: rgba(30, 41, 59, 0.96);
    border-color: rgba(71, 85, 105, 0.88);
    color: #f9fafb;
}

.sf-style-dark input,
.sf-style-dark textarea {
    background: #ffffff;
    color: #111827;
}

.sf-style-editorial .sf-product-card {
    grid-template-columns: 74px minmax(0, 1fr) 44px;
}

.sf-style-editorial .sf-hero {
    height: 220px;
}

.sf-style-editorial .sf-avatar-wrap {
    top: 166px;
}

.sf-style-editorial .sf-store-title {
    padding-top: 70px;
}

code {
    background: #f3f4f6;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 2px 5px;
}

@keyframes stepIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes sheen {
    to {
        left: 120%;
    }
}

@media (max-width: 860px) {
    h1 {
        font-size: 34px;
    }

    .store-preview-banner {
        border-radius: 20px;
        height: 236px;
        padding: 18px;
    }

    .store-preview-content {
        grid-template-columns: 1fr;
        margin: -52px 8px 10px;
        padding: 18px 16px 18px;
    }

    .store-preview-logo {
        left: 0;
        margin-top: -66px;
        position: relative;
        top: 0;
        width: 92px;
    }

    .store-preview-main {
        padding-left: 0;
        padding-top: 0;
    }

    .store-preview-overline {
        align-items: flex-start;
        flex-direction: column;
    }

    .store-preview-stats {
        grid-template-columns: 1fr;
    }

    .store-identity-layout,
    .store-identity-grid {
        grid-template-columns: 1fr;
    }

    .store-identity-field,
    .store-slug-card,
    .store-identity-intro,
    .store-identity-note,
    .store-identity-ai {
        border-radius: 18px;
    }

    .store-identity-name input {
        font-size: 16px;
    }

    .store-identity-description textarea {
        min-height: 150px;
    }

    .store-ai-summary,
    .store-ai-controls,
    .store-ai-context-row {
        grid-template-columns: 1fr;
    }

    .store-ai-context-head {
        align-items: stretch;
        flex-direction: column;
    }

    .store-ai-summary-card,
    .store-ai-credit-field,
    .store-ai-context-row {
        border-radius: 18px;
    }

    .store-ai-context-row .button {
        justify-content: center;
        width: 100%;
    }

    .store-section-tabs {
        position: static;
    }

    .store-editor-actions {
        align-items: stretch;
        flex-direction: column;
        position: static;
    }

    .store-editor-actions .button {
        width: 100%;
    }

    .sf-app {
        padding-bottom: 112px;
    }

    .sf-hero,
    .sf-style-editorial .sf-hero {
        height: 220px;
    }

    .sf-avatar-wrap,
    .sf-style-editorial .sf-avatar-wrap {
        height: 96px;
        top: 170px;
        width: 96px;
    }

    .sf-store-title {
        padding-top: 60px;
    }

    .sf-store-title h1 {
        font-size: 28px;
    }

    .sf-product-card,
    .sf-style-editorial .sf-product-card {
        gap: 10px;
        grid-template-columns: 78px minmax(0, 1fr) 42px;
    }

    .sf-field-grid,
    .sf-choice-card,
    .sf-cart-item {
        grid-template-columns: 1fr;
    }

    .sf-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .sf-buy-row,
    .sf-map-copy {
        align-items: stretch;
        flex-direction: column;
    }

    .sf-add-btn {
        height: 42px;
        width: 42px;
    }

    .store-style-grid,
    .public-order-layout,
    .public-store-card,
    .public-store-style-editorial .public-store-card {
        grid-template-columns: 1fr;
    }

    .osm-search-row {
        align-items: stretch;
        flex-direction: column;
    }

    .public-store-cover,
    .public-store-style-editorial .public-store-cover {
        height: 230px;
    }

    .public-store-card {
        margin: -58px 8px 14px;
        padding: 66px 16px 18px;
    }

    .public-store-logo {
        position: absolute;
        top: -48px;
        width: 92px;
    }

    .public-store-info h1 {
        font-size: 34px;
    }

    .public-product-card,
    .public-product-card.no-gallery,
    .public-store-style-editorial .public-product-card {
        grid-template-columns: 1fr;
    }

    .public-product-gallery,
    .public-product-gallery .product-main-image,
    .public-store-style-editorial .public-product-gallery,
    .public-store-style-editorial .public-product-gallery .product-main-image {
        width: 100%;
    }

    .public-checkout-card {
        position: static;
    }

    .fulfillment-options {
        grid-template-columns: 1fr;
    }

    .wizard-card {
        padding: 20px;
    }

    .wizard-progress {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .wizard-step {
        min-height: 0;
    }

    .wizard-step h2 {
        font-size: 28px;
    }

    .product-studio {
        position: static;
    }

    .catalog-manager-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .product-form-head,
    .category-creator-head {
        flex-direction: column;
    }

    .product-form-head-actions {
        justify-content: flex-start;
    }

    .sort-status {
        text-align: left;
    }

    .product-drag-handle,
    .option-drag-handle {
        align-self: auto;
        min-height: 38px;
        width: 100%;
        writing-mode: horizontal-tb;
    }

    .catalog-category-head {
        grid-template-columns: 1fr;
    }

    .category-drag-spacer,
    .catalog-category-image-placeholder {
        display: none;
    }

    .topbar,
    .page-heading,
    .store-identity,
    .order-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .grid.two,
    .grid.three,
    .checkout-layout,
    .media-picker-grid,
    .multi-preview-grid,
    .product-card,
    .product-row,
    .products-workbench,
    .schedule-row,
    .schedule-times {
        grid-template-columns: 1fr;
    }

    .product-card img,
    .product-gallery,
    .product-gallery .product-main-image,
    .product-row img,
    .image-placeholder {
        width: 100%;
    }

    .checkout-card {
        position: static;
    }

    .option-row,
    .choice-card {
        grid-template-columns: 1fr;
    }

    .gallery-editor-grid,
    .gallery-editor-item {
        grid-template-columns: 1fr;
    }

    .gallery-editor-preview,
    .image-drag-handle {
        min-height: 0;
        width: 100%;
    }

    .compact-product-row {
        grid-template-columns: 42px 42px minmax(0, 1fr);
    }

    .compact-product-row .product-drag-handle {
        min-height: 42px;
        width: 42px;
    }

    .compact-product-row img,
    .compact-product-row .image-placeholder {
        width: 42px;
    }

    .compact-row-actions {
        grid-column: 1 / -1;
    }
}

/* Storefront final app polish */
.public-store-body {
    background:
        radial-gradient(circle at 18% 0%, rgba(20, 184, 166, 0.14), transparent 31%),
        radial-gradient(circle at 82% 8%, rgba(14, 165, 233, 0.10), transparent 28%),
        linear-gradient(180deg, #fbfdff 0%, #eef4f8 48%, #e7edf3 100%);
    color: #0f172a;
}

.public-store-body::before {
    background:
        linear-gradient(90deg, rgba(15, 23, 42, 0.03) 1px, transparent 1px),
        linear-gradient(180deg, rgba(15, 23, 42, 0.025) 1px, transparent 1px);
    background-size: 56px 56px;
    content: "";
    inset: 0;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.72), transparent 62%);
    pointer-events: none;
    position: fixed;
    z-index: 0;
}

.public-store-container {
    max-width: 900px;
    padding: 18px clamp(14px, 4vw, 34px) 0;
    position: relative;
    z-index: 1;
}

.sf-app {
    --sf-ink: #101828;
    --sf-muted: #667085;
    --sf-panel: rgba(255, 255, 255, 0.74);
    --sf-stroke: rgba(255, 255, 255, 0.82);
    --sf-line: rgba(148, 163, 184, 0.34);
    --sf-shadow: 0 26px 80px rgba(15, 23, 42, 0.15);
    --sf-soft-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
    gap: 18px;
    isolation: isolate;
    position: relative;
}

.sf-app::before {
    background: radial-gradient(circle, color-mix(in srgb, var(--store-color) 18%, transparent), transparent 68%);
    content: "";
    height: 460px;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: -130px;
    transform: translateX(-50%);
    width: min(760px, 100%);
    z-index: -1;
}

.sf-header-wrap {
    display: grid;
    margin: 0 0 6px;
    position: relative;
}

.sf-hero,
.sf-style-editorial .sf-hero {
    background-color: #0f172a;
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: 8px;
    box-shadow: 0 32px 78px rgba(15, 23, 42, 0.25);
    height: 320px;
    margin: 0;
    outline: 1px solid rgba(15, 23, 42, 0.05);
}

.sf-hero::before {
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.22), transparent 36%),
        radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.18), transparent 22%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.04), rgba(15, 23, 42, 0.26));
    content: "";
    inset: 0;
    position: absolute;
}

.sf-hero-overlay {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.04) 12%, rgba(15, 23, 42, 0.22) 48%, rgba(15, 23, 42, 0.82) 100%);
}

.sf-hero-actions {
    gap: 8px;
    right: 14px;
    top: 14px;
}

.sf-icon-btn {
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    backdrop-filter: blur(20px) saturate(160%);
    background: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.54);
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.20), inset 0 1px 0 rgba(255, 255, 255, 0.26);
    gap: 7px;
    height: 46px;
    min-width: 46px;
    padding: 0 12px;
    transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.sf-icon-btn:hover {
    background: rgba(255, 255, 255, 0.34);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.32);
    transform: translateY(-2px);
}

.sf-wa {
    background: rgba(18, 140, 126, 0.92);
    border-color: rgba(255, 255, 255, 0.30);
}

.sf-ui-icon {
    height: 23px;
    width: 23px;
}

.sf-ui-info::before {
    border: 2px solid currentColor;
    border-radius: 50%;
    content: "i";
    display: grid;
    font-size: 13px;
    height: 20px;
    line-height: 1;
    place-items: center;
    width: 20px;
}

.sf-ui-wa::before {
    border: 2px solid currentColor;
    border-radius: 8px;
    content: "";
    height: 17px;
    transform: rotate(-6deg);
    width: 19px;
}

.sf-ui-wa::after {
    border-bottom: 2px solid currentColor;
    border-left: 2px solid currentColor;
    bottom: 3px;
    content: "";
    height: 7px;
    left: 2px;
    position: absolute;
    transform: skewX(-25deg);
    width: 8px;
}

.sf-ui-phone::before {
    border: 2px solid currentColor;
    border-radius: 8px;
    content: "";
    height: 18px;
    transform: rotate(-28deg);
    width: 9px;
}

.sf-ui-phone::after {
    background: currentColor;
    border-radius: 2px;
    content: "";
    height: 2px;
    position: absolute;
    top: 5px;
    transform: rotate(-28deg);
    width: 7px;
}

.sf-status-pill {
    -webkit-backdrop-filter: blur(18px) saturate(150%);
    backdrop-filter: blur(18px) saturate(150%);
    background: rgba(220, 38, 38, 0.82);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.22);
    right: 14px;
}

.sf-status-pill.open {
    background: rgba(5, 150, 105, 0.86);
}

.sf-avatar-wrap,
.sf-style-editorial .sf-avatar-wrap {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.94);
    box-shadow: 0 24px 58px rgba(15, 23, 42, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.76);
    height: 124px;
    padding: 7px;
    top: 258px;
    width: 124px;
}

.sf-avatar-wrap img {
    border-radius: 6px;
}

.sf-avatar-wrap strong {
    align-items: center;
    background: color-mix(in srgb, var(--store-color) 12%, #ffffff);
    border-radius: 6px;
    color: var(--store-color);
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
}

.sf-store-title,
.sf-style-editorial .sf-store-title {
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    backdrop-filter: blur(24px) saturate(160%);
    background: rgba(255, 255, 255, 0.66);
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 8px;
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.10);
    margin: -28px auto 0;
    padding: 86px clamp(18px, 4vw, 34px) 24px;
    text-align: center;
    width: calc(100% - 24px);
}

.sf-store-title h1 {
    color: var(--sf-ink);
    font-size: clamp(30px, 5vw, 48px);
    font-weight: 950;
    line-height: 0.98;
    margin: 0;
}

.sf-store-title p {
    color: var(--sf-muted);
    font-size: 16px;
    line-height: 1.55;
    margin-top: 12px;
    max-width: 680px;
}

.sf-map-card,
.sf-about-card,
.sf-products-shell {
    -webkit-backdrop-filter: blur(28px) saturate(170%);
    backdrop-filter: blur(28px) saturate(170%);
    background: var(--sf-panel);
    border: 1px solid var(--sf-stroke);
    box-shadow: var(--sf-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.66);
}

.sf-map-card:hover {
    box-shadow: 0 34px 84px rgba(15, 23, 42, 0.17), inset 0 1px 0 rgba(255, 255, 255, 0.66);
    transform: translateY(-2px);
}

.sf-map-copy {
    align-items: center;
    padding: 18px;
}

.sf-map-copy strong,
.sf-about-card h2 {
    color: var(--sf-ink);
    font-weight: 950;
    letter-spacing: -0.2px;
}

.sf-map-copy > span {
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.88);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    color: var(--store-color);
}

.sf-map-card iframe {
    filter: saturate(0.88) contrast(1.02);
    height: 190px;
}

.sf-products-shell,
.sf-about-card {
    padding: 18px;
}

.sf-search {
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.74);
    min-height: 58px;
    padding: 9px 12px;
}

.sf-search:focus-within {
    border-color: color-mix(in srgb, var(--store-color) 42%, #ffffff);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.82);
    transform: translateY(-1px);
}

.sf-search-leading {
    align-items: center;
    color: var(--store-color);
    display: inline-flex;
    gap: 7px;
}

.sf-catalog {
    gap: 30px;
}

.sf-category-head {
    -webkit-backdrop-filter: blur(22px) saturate(160%);
    backdrop-filter: blur(22px) saturate(160%);
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.88);
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.62);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 76px;
    padding: 12px;
    top: 12px;
}

.sf-category-head.has-thumb {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.sf-category-thumb {
    aspect-ratio: 1;
    background: #eef2f7;
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.10);
    object-fit: cover;
    width: 52px;
}

.sf-category-head h2 {
    color: var(--sf-ink);
    font-size: 21px;
    font-weight: 950;
    letter-spacing: -0.25px;
}

.sf-category-head p {
    color: var(--sf-muted);
    display: -webkit-box;
    line-height: 1.35;
    margin-top: 3px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.sf-category-head > span {
    background: color-mix(in srgb, var(--store-color) 10%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--store-color) 22%, #ffffff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76);
    color: var(--store-color);
}

.sf-product-card {
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    backdrop-filter: blur(20px) saturate(160%);
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.66);
    grid-template-columns: 98px minmax(0, 1fr) 46px;
    min-height: 120px;
    padding: 10px;
    transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.sf-product-card:hover {
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 22px 54px rgba(15, 23, 42, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.74);
    transform: translateY(-2px);
}

.sf-product-image {
    background: linear-gradient(135deg, #eef2f7, #ffffff);
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.05);
}

.sf-product-image img {
    transition: transform 240ms ease;
}

.sf-product-card:hover .sf-product-image img {
    transform: scale(1.04);
}

.sf-product-image span {
    align-items: center;
    color: #94a3b8;
    display: flex;
    font-size: 11px;
    font-weight: 900;
    height: 100%;
    justify-content: center;
    padding: 8px;
    text-transform: uppercase;
}

.sf-product-title {
    color: var(--sf-ink);
    font-size: 17px;
    font-weight: 950;
    letter-spacing: -0.15px;
    line-height: 1.18;
}

.sf-product-main p {
    color: var(--sf-muted);
    font-size: 13px;
    line-height: 1.38;
    margin: 5px 0 8px;
    -webkit-line-clamp: 2;
}

.sf-product-main strong {
    background: color-mix(in srgb, var(--store-color) 11%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--store-color) 20%, #ffffff);
    color: color-mix(in srgb, var(--store-color) 82%, #0f172a);
    font-size: 13px;
    font-weight: 950;
    padding: 5px 8px;
}

.sf-add-btn {
    align-items: center;
    background: linear-gradient(180deg, color-mix(in srgb, var(--store-color) 92%, #ffffff), color-mix(in srgb, var(--store-color) 80%, #0f172a));
    border: 1px solid color-mix(in srgb, var(--store-color) 60%, #ffffff);
    box-shadow: 0 14px 28px color-mix(in srgb, var(--store-color) 32%, transparent), inset 0 1px 0 rgba(255, 255, 255, 0.36);
    color: #ffffff;
    display: inline-flex;
    font-size: 0;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.sf-cart-footer {
    padding-bottom: max(18px, env(safe-area-inset-bottom));
}

.sf-cart-bar {
    -webkit-backdrop-filter: blur(26px) saturate(170%);
    backdrop-filter: blur(26px) saturate(170%);
    background: rgba(15, 23, 42, 0.90);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 22px 70px rgba(15, 23, 42, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.14);
    max-width: 560px;
}

.sf-cart-badge {
    background: linear-gradient(180deg, color-mix(in srgb, var(--store-color) 88%, #ffffff), var(--store-color));
    box-shadow: 0 9px 18px color-mix(in srgb, var(--store-color) 34%, transparent);
}

.sf-cart-bar button,
#sfAddToCart,
.sf-checkout-modal > .button.full {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    justify-content: center;
}

#sfAddToCart,
.sf-checkout-modal > .button.full {
    background: linear-gradient(180deg, color-mix(in srgb, var(--store-color) 88%, #ffffff), color-mix(in srgb, var(--store-color) 82%, #0f172a));
    border: 1px solid color-mix(in srgb, var(--store-color) 56%, #ffffff);
    box-shadow: 0 14px 28px color-mix(in srgb, var(--store-color) 26%, transparent);
}

.sf-modal-backdrop {
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    background: rgba(15, 23, 42, 0.48);
}

.sf-modal-card {
    -webkit-backdrop-filter: blur(28px) saturate(165%);
    backdrop-filter: blur(28px) saturate(165%);
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.88);
    box-shadow: 0 34px 90px rgba(15, 23, 42, 0.36), inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.sf-modal-close {
    -webkit-backdrop-filter: blur(16px);
    align-items: center;
    backdrop-filter: blur(16px);
    background: rgba(248, 250, 252, 0.82);
    border: 1px solid rgba(226, 232, 240, 0.86);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    color: #334155;
    display: inline-flex;
    gap: 6px;
}

.sf-viewer {
    background:
        radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.85), transparent 34%),
        #edf2f7;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.05);
}

.sf-viewer-nav,
.sf-qty-stepper button,
.sf-cart-stepper button {
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(203, 213, 225, 0.78);
}

.sf-choice-wrap,
.sf-delivery-box,
.sf-info-block,
.sf-cart-item,
.sf-summary,
.fulfillment-card {
    background: rgba(248, 250, 252, 0.82);
    border: 1px solid rgba(226, 232, 240, 0.88);
    border-radius: 8px;
}

.sf-choice-card {
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(226, 232, 240, 0.88);
}

.sf-choice-card:has(input:checked),
.fulfillment-card:has(input:checked) {
    background: color-mix(in srgb, var(--store-color) 10%, #ffffff);
    border-color: color-mix(in srgb, var(--store-color) 44%, #ffffff);
    box-shadow: 0 12px 24px color-mix(in srgb, var(--store-color) 14%, transparent);
}

.sf-checkout-modal input,
.sf-checkout-modal textarea,
.sf-checkout-modal select,
.sf-modal-card input,
.sf-modal-card textarea {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(203, 213, 225, 0.82);
    border-radius: 8px;
    color: #0f172a;
}

.sf-style-dark {
    --sf-ink: #f8fafc;
    --sf-muted: #cbd5e1;
    --sf-panel: rgba(15, 23, 42, 0.72);
    --sf-stroke: rgba(71, 85, 105, 0.72);
    --sf-line: rgba(100, 116, 139, 0.62);
}

.sf-style-dark .sf-store-title,
.sf-style-dark .sf-map-card,
.sf-style-dark .sf-about-card,
.sf-style-dark .sf-products-shell,
.sf-style-dark .sf-category-head,
.sf-style-dark .sf-product-card,
.sf-style-dark .sf-modal-card {
    background: rgba(15, 23, 42, 0.78);
    border-color: rgba(71, 85, 105, 0.72);
    color: #f8fafc;
}

.sf-style-dark .sf-product-title,
.sf-style-dark .sf-category-head h2,
.sf-style-dark .sf-map-copy strong,
.sf-style-dark .sf-about-card h2 {
    color: #f8fafc;
}

.sf-style-dark .sf-store-title p,
.sf-style-dark .sf-product-main p,
.sf-style-dark .sf-category-head p,
.sf-style-dark .sf-map-copy p {
    color: #cbd5e1;
}

.sf-style-dark .sf-search,
.sf-style-dark .sf-choice-wrap,
.sf-style-dark .sf-delivery-box,
.sf-style-dark .sf-info-block,
.sf-style-dark .sf-cart-item,
.sf-style-dark .sf-summary,
.sf-style-dark .fulfillment-card {
    background: rgba(30, 41, 59, 0.88);
    border-color: rgba(71, 85, 105, 0.76);
    color: #f8fafc;
}

@media (max-width: 860px) {
    .public-store-container {
        padding: 0 12px;
    }

    .sf-app {
        gap: 14px;
        padding-bottom: 108px;
    }

    .sf-hero,
    .sf-style-editorial .sf-hero {
        height: 232px;
        margin: 0 -6px;
    }

    .sf-icon-btn {
        height: 42px;
        min-width: 42px;
        padding: 0 10px;
    }

    .sf-icon-btn .sf-action-label {
        display: none;
    }

    .sf-status-pill {
        bottom: 12px;
        right: 10px;
    }

    .sf-avatar-wrap,
    .sf-style-editorial .sf-avatar-wrap {
        height: 98px;
        top: 176px;
        width: 98px;
    }

    .sf-store-title,
    .sf-style-editorial .sf-store-title {
        margin-top: -20px;
        padding: 66px 16px 18px;
        width: calc(100% - 8px);
    }

    .sf-store-title h1 {
        font-size: 30px;
    }

    .sf-store-title p {
        font-size: 14px;
    }

    .sf-products-shell,
    .sf-about-card {
        padding: 12px;
    }

    .sf-category-head {
        grid-template-columns: minmax(0, 1fr) auto;
        top: 8px;
    }

    .sf-category-head.has-thumb {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .sf-category-thumb {
        width: 44px;
    }

    .sf-category-head h2 {
        font-size: 18px;
    }

    .sf-category-head p {
        font-size: 12px;
    }

    .sf-product-card,
    .sf-style-editorial .sf-product-card {
        gap: 10px;
        grid-template-columns: 78px minmax(0, 1fr) 42px;
        min-height: 98px;
        padding: 8px;
    }

    .sf-product-title {
        font-size: 15px;
    }

    .sf-product-main p {
        display: none;
    }

    .sf-add-btn {
        height: 42px;
        width: 42px;
    }

    .sf-cart-bar {
        width: min(100%, 540px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .sf-icon-btn,
    .sf-map-card,
    .sf-product-card,
    .sf-product-image img,
    .sf-add-btn,
    .sf-search {
        transition: none;
    }
}


/* Marketplace público por modo de compra/distancia */
.market-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
    gap: 24px;
    align-items: stretch;
    margin: 28px 0 24px;
}

.market-hero-copy,
.market-mode-card,
.market-location-panel,
.market-controls,
.market-section {
    border: 1px solid rgba(15, 23, 42, .08);
    background: rgba(255,255,255,.92);
    box-shadow: 0 24px 70px rgba(15, 23, 42, .08);
    border-radius: 28px;
}

.market-hero-copy {
    padding: clamp(26px, 4vw, 52px);
    background:
        radial-gradient(circle at 15% 10%, rgba(16,185,129,.16), transparent 32%),
        linear-gradient(135deg, #ffffff, #f8fafc);
}

.market-hero-copy h1 {
    max-width: 850px;
    font-size: clamp(2.2rem, 5vw, 4.8rem);
    line-height: .95;
    letter-spacing: -.08em;
    margin: 0 0 18px;
}

.market-hero-copy p {
    max-width: 760px;
    color: #64748b;
    font-size: 1.06rem;
}

.market-hero-actions,
.market-start-actions,
.market-card-actions,
.market-address-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.market-mode-card {
    padding: 26px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
}

.market-mode-card span,
.market-product-meta,
.market-section-head > span {
    color: #64748b;
    font-size: .84rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.market-mode-card strong {
    color: #0f172a;
    font-size: 1.65rem;
    line-height: 1;
}

.market-mode-card p {
    color: #64748b;
    margin: 0 0 12px;
}

.market-location-panel {
    padding: 26px;
    display: grid;
    grid-template-columns: minmax(240px, .45fr) minmax(0, 1fr);
    gap: 22px;
    margin-bottom: 22px;
}

.market-address-tool {
    display: grid;
    gap: 12px;
}

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

.market-recipient-grid label {
    color: #334155;
    display: grid;
    gap: 7px;
    font-size: .86rem;
    font-weight: 800;
}

.market-recipient-grid label:last-child {
    grid-column: 1 / -1;
}

.market-recipient-grid input,
.market-recipient-grid textarea,
.market-address-row input,
.market-search-box input,
.market-address-tool textarea {
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 18px;
    padding: 13px 14px;
    background: #fff;
    min-height: 46px;
}

.market-address-row input {
    flex: 1 1 280px;
}

.market-address-tool textarea {
    width: 100%;
    resize: vertical;
}

.market-address-results {
    display: grid;
    gap: 8px;
    color: #64748b;
}

.market-address-result {
    border: 1px solid rgba(15,23,42,.1);
    background: #fff;
    border-radius: 16px;
    padding: 10px 12px;
    text-align: left;
    cursor: pointer;
}

.market-address-result:hover {
    border-color: #10b981;
    background: #ecfdf5;
}

.market-map {
    min-height: 320px;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(15,23,42,.1);
    background: #e2e8f0;
}

.market-controls {
    padding: 18px;
    display: grid;
    gap: 16px;
    margin-bottom: 22px;
}

.market-search-box {
    display: flex;
    gap: 10px;
}

.market-search-box input {
    flex: 1;
}

.market-category-rail {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.market-category-chip {
    white-space: nowrap;
    border: 1px solid rgba(15,23,42,.1);
    background: #fff;
    border-radius: 999px;
    padding: 9px 14px;
    font-weight: 800;
    cursor: pointer;
}

.market-category-chip span {
    color: #94a3b8;
    margin-left: 4px;
}

.market-category-chip.is-active {
    color: #052e16;
    background: #bbf7d0;
    border-color: #86efac;
}

.market-section {
    padding: 24px;
    margin-bottom: 22px;
}

.market-section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
    margin-bottom: 18px;
}

.market-section-head h2 {
    margin: 0;
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    letter-spacing: -.04em;
}

.market-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 16px;
}

.market-featured-grid {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.market-product-card {
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 24px;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    box-shadow: 0 12px 34px rgba(15,23,42,.07);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.market-product-card:hover {
    transform: translateY(-3px);
    border-color: rgba(16,185,129,.38);
    box-shadow: 0 18px 42px rgba(15,23,42,.11);
}

.market-product-card[hidden] {
    display: none;
}

.market-product-image {
    height: 180px;
    background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
    display: grid;
    place-items: center;
    color: #0f766e;
    font-size: 3rem;
    font-weight: 900;
    text-decoration: none;
}

.market-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.market-product-body {
    padding: 16px;
    display: grid;
    gap: 10px;
    flex: 1;
}

.market-product-meta {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.market-product-meta [data-distance-label] {
    color: #0f766e;
}

.market-product-body h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1.15rem;
    line-height: 1.15;
}

.market-product-body p {
    margin: 0;
    color: #64748b;
    font-size: .93rem;
}

.market-store-line {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #334155;
    font-weight: 800;
    font-size: .9rem;
}

.market-store-line img {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    object-fit: cover;
}

.market-card-actions {
    justify-content: space-between;
    margin-top: auto;
}

.market-card-actions strong {
    color: #0f172a;
    font-size: 1.05rem;
}

.market-empty {
    text-align: center;
    background: #f8fafc;
    border: 1px dashed rgba(15,23,42,.18);
    border-radius: 24px;
    padding: 30px;
    margin-top: 18px;
}

.market-start-modal {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .56);
    backdrop-filter: blur(10px);
    display: grid;
    place-items: center;
    z-index: 80;
    padding: 18px;
}

.market-start-modal[hidden] {
    display: none;
}

.market-start-dialog {
    width: min(520px, 100%);
    border-radius: 30px;
    padding: 32px;
    background: #fff;
    box-shadow: 0 35px 80px rgba(15,23,42,.24);
}

.market-start-dialog h2 {
    font-size: clamp(1.8rem, 4vw, 3rem);
    letter-spacing: -.06em;
    line-height: .98;
    margin: 0 0 12px;
}

@media (max-width: 860px) {
    .market-hero,
    .market-location-panel {
        grid-template-columns: 1fr;
    }

    .market-section,
    .market-location-panel,
    .market-controls {
        border-radius: 22px;
    }

    .market-recipient-grid {
        grid-template-columns: 1fr;
    }

    .market-product-grid {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    }

    .market-product-image {
        height: 150px;
    }
}

/* Delinvento onboarding modal */
.market-page-shell[hidden] {
    display: none !important;
}

body.market-modal-open {
    overflow: hidden;
}

.delinvento-hero .market-hero-copy {
    background:
        radial-gradient(circle at 12% 16%, rgba(250,204,21,.25), transparent 32%),
        radial-gradient(circle at 86% 8%, rgba(34,197,94,.18), transparent 28%),
        linear-gradient(135deg, #07111f, #10233d 58%, #0f172a);
    color: #fff;
    border-color: rgba(250,204,21,.24);
    position: relative;
    overflow: hidden;
}

.delinvento-hero .market-hero-copy::after {
    content: '';
    position: absolute;
    right: -100px;
    bottom: -120px;
    width: 310px;
    height: 310px;
    border-radius: 999px;
    background: rgba(250,204,21,.18);
    filter: blur(3px);
}

.delinvento-hero .market-hero-copy h1,
.delinvento-hero .market-hero-copy p,
.delinvento-hero .market-hero-copy .eyebrow,
.delinvento-hero .market-hero-actions {
    position: relative;
    z-index: 1;
}

.delinvento-hero .market-hero-copy p {
    color: rgba(255,255,255,.78);
}

.market-recipient-grid select,
.market-recipient-grid input,
.market-recipient-grid textarea,
.market-address-row input,
.market-search-box input,
.market-address-tool textarea {
    width: 100%;
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 18px;
    padding: 13px 14px;
    background: #fff;
    min-height: 46px;
    font: inherit;
}

.market-start-modal {
    background:
        radial-gradient(circle at 18% 18%, rgba(250,204,21,.24), transparent 26%),
        radial-gradient(circle at 90% 12%, rgba(34,197,94,.20), transparent 26%),
        rgba(2, 6, 23, .78);
    z-index: 2000;
    overflow: auto;
    align-items: start;
}

.delinvento-setup-dialog {
    width: min(980px, 100%);
    max-height: calc(100vh - 36px);
    overflow: auto;
    padding: clamp(20px, 3vw, 34px);
    border: 1px solid rgba(255,255,255,.55);
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
    box-shadow: 0 40px 110px rgba(2,6,23,.34);
}

.delinvento-setup-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    margin-bottom: 18px;
}

.delinvento-logo-mark {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #facc15, #22c55e);
    color: #07111f;
    font-weight: 950;
    font-size: 2rem;
    box-shadow: 0 18px 38px rgba(250,204,21,.32);
}

.delinvento-setup-head h2 {
    margin: 0 0 6px;
    font-size: clamp(2rem, 4vw, 3.8rem);
    line-height: .92;
    letter-spacing: -.075em;
    color: #07111f;
}

.delinvento-setup-head p:last-child,
.delinvento-setup-panel > p,
.delinvento-setup-footer span {
    color: #64748b;
    margin: 0;
}

.delinvento-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.delinvento-choice {
    border: 1px solid rgba(15,23,42,.10);
    background: #fff;
    border-radius: 24px;
    padding: 18px;
    text-align: left;
    cursor: pointer;
    display: grid;
    gap: 6px;
    box-shadow: 0 14px 32px rgba(15,23,42,.06);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.delinvento-choice:hover,
.delinvento-choice.is-active {
    transform: translateY(-2px);
    border-color: rgba(34,197,94,.58);
    box-shadow: 0 18px 44px rgba(15,23,42,.12);
    background: linear-gradient(135deg, #ffffff, #f0fdf4);
}

.delinvento-choice span {
    color: #052e16;
    font-size: 1.1rem;
    font-weight: 950;
}

.delinvento-choice strong {
    color: #64748b;
    font-size: .92rem;
    line-height: 1.35;
}

.delinvento-assistant-progress {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 16px;
}

.delinvento-assistant-progress span {
    border: 1px solid rgba(15,23,42,.10);
    background: rgba(255,255,255,.76);
    color: #64748b;
    border-radius: 999px;
    padding: 8px 12px;
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .02em;
}

.delinvento-assistant-progress span.is-active {
    background: #0f766e;
    color: #fff;
    border-color: #0f766e;
    box-shadow: 0 10px 24px rgba(15,118,110,.18);
}

.delinvento-account-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.delinvento-account-grid[hidden],
.delinvento-choice-grid[hidden],
.delinvento-logged-summary[hidden] {
    display: none !important;
}

.delinvento-account-choice {
    position: relative;
    border: 1px solid rgba(15,23,42,.10);
    background: #fff;
    border-radius: 26px;
    padding: 18px;
    min-height: 154px;
    display: grid;
    align-content: start;
    gap: 8px;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 14px 34px rgba(15,23,42,.07);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.delinvento-account-choice::after {
    content: '›';
    position: absolute;
    right: 16px;
    bottom: 12px;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #facc15;
    color: #07111f;
    font-size: 1.5rem;
    font-weight: 950;
}

.delinvento-account-choice:hover,
.delinvento-account-choice.is-active {
    transform: translateY(-2px);
    border-color: rgba(15,118,110,.50);
    box-shadow: 0 22px 54px rgba(15,23,42,.13);
}

.delinvento-account-choice span {
    color: #07111f;
    font-size: 1.12rem;
    font-weight: 950;
    letter-spacing: -.02em;
}

.delinvento-account-choice strong {
    color: #64748b;
    font-size: .92rem;
    line-height: 1.35;
    padding-right: 10px;
}

.delinvento-account-choice em {
    color: #0f766e;
    font-style: normal;
    font-weight: 950;
    font-size: .84rem;
    margin-top: 4px;
}

.delinvento-logged-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid rgba(15,118,110,.18);
    background: linear-gradient(135deg, #ecfdf5, #fff);
    border-radius: 22px;
    padding: 14px 16px;
    margin: 12px 0 16px;
}

.delinvento-logged-summary strong {
    color: #064e3b;
    font-weight: 950;
}

.delinvento-logged-summary span {
    color: #475569;
    font-weight: 750;
    flex: 1;
}

.delinvento-logged-summary a {
    color: #0f766e;
    font-weight: 950;
    text-decoration: none;
}

.delinvento-setup-panel {
    border: 1px solid rgba(15,23,42,.08);
    background: rgba(255,255,255,.88);
    border-radius: 26px;
    padding: 20px;
    display: grid;
    gap: 14px;
    margin-top: 12px;
}

.delinvento-setup-panel[hidden] {
    display: none !important;
}

.delinvento-setup-panel h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1.35rem;
    letter-spacing: -.03em;
}

.market-modal-error {
    margin-top: 14px;
    border: 1px solid rgba(220,38,38,.25);
    background: #fef2f2;
    color: #991b1b;
    border-radius: 18px;
    padding: 12px 14px;
    font-weight: 800;
}

.market-modal-error[hidden] {
    display: none !important;
}

.delinvento-setup-footer {
    position: sticky;
    bottom: -1px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
    padding-top: 16px;
    background: linear-gradient(180deg, rgba(248,250,252,0), rgba(248,250,252,.98) 34%);
}

.delinvento-setup-footer .button {
    min-width: 170px;
}

@media (max-width: 760px) {
    .delinvento-choice-grid,
    .delinvento-account-grid,
    .delinvento-setup-head {
        grid-template-columns: 1fr;
    }

    .delinvento-account-choice {
        min-height: 122px;
    }

    .delinvento-logged-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .delinvento-logo-mark {
        width: 58px;
        height: 58px;
    }

    .delinvento-setup-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .delinvento-setup-footer .button {
        width: 100%;
    }
}

/* Delinvento v6 marketplace home + roles */
.delinvento-topbar {
    background: rgba(255, 255, 255, .92);
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    box-shadow: 0 10px 34px rgba(15, 23, 42, .06);
    min-height: 72px;
    z-index: 1200;
}

.delinvento-brand {
    align-items: center;
    display: inline-flex;
    gap: 10px;
    letter-spacing: -.03em;
}

.brand-badge {
    align-items: center;
    background: linear-gradient(135deg, #0f766e, #14b8a6);
    border-radius: 14px;
    color: #fff;
    display: inline-flex;
    font-size: 15px;
    height: 34px;
    justify-content: center;
    width: 34px;
    box-shadow: 0 12px 24px rgba(15, 118, 110, .24);
}

.delinvento-nav a:first-child {
    background: #0f766e;
    border-radius: 999px;
    color: #fff;
    padding: 10px 17px;
}

.container:has(.delinvento-home) {
    max-width: 1380px;
    padding-top: 28px;
}

.delinvento-home {
    display: grid;
    gap: 26px;
}

.delinvento-home-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 22px;
    align-items: stretch;
}

.delinvento-hero-slider {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(240px, .8fr);
    gap: 18px;
}

.delinvento-banner-card {
    background:
        linear-gradient(120deg, rgba(2, 6, 23, .82), rgba(15, 118, 110, .55)),
        var(--banner-bg, linear-gradient(135deg, #0f172a, #0f766e));
    background-position: center;
    background-size: cover;
    border: 1px solid rgba(255, 255, 255, .62);
    border-radius: 32px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .16);
    color: #fff;
    min-height: 290px;
    overflow: hidden;
    padding: clamp(24px, 4vw, 46px);
    position: relative;
}

.delinvento-banner-card::after {
    background: radial-gradient(circle, rgba(250, 204, 21, .23), transparent 62%);
    bottom: -110px;
    content: '';
    height: 260px;
    position: absolute;
    right: -90px;
    width: 260px;
}

.delinvento-banner-card > div {
    max-width: 620px;
    position: relative;
    z-index: 1;
}

.delinvento-banner-card span {
    color: rgba(255, 255, 255, .78);
    display: inline-block;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    margin-bottom: 13px;
    text-transform: uppercase;
}

.delinvento-banner-card h3 {
    font-size: clamp(30px, 5vw, 64px);
    letter-spacing: -.07em;
    line-height: .95;
    margin: 0 0 14px;
}

.delinvento-banner-card p {
    color: rgba(255, 255, 255, .82);
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 22px;
}

.delinvento-banner-card a {
    background: #facc15;
    border-radius: 999px;
    color: #111827;
    display: inline-flex;
    font-weight: 900;
    padding: 11px 18px;
    text-decoration: none;
}

.delinvento-banner-card.is-side {
    background:
        linear-gradient(135deg, rgba(255,255,255,.88), rgba(240,253,250,.84)),
        var(--banner-bg, linear-gradient(135deg, #ecfeff, #fef9c3));
    color: #0f172a;
}

.delinvento-banner-card.is-side span,
.delinvento-banner-card.is-side p {
    color: #64748b;
}

.delinvento-banner-card.is-side a {
    background: #0f766e;
    color: #fff;
}

.delinvento-location-card {
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 32px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .12);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
}

.delinvento-location-card > span {
    color: #64748b;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.delinvento-location-card strong {
    color: #0f172a;
    display: block;
    font-size: 28px;
    letter-spacing: -.04em;
    margin-top: 8px;
}

.delinvento-location-card p {
    color: #64748b;
    line-height: 1.6;
}

.delinvento-location-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.delinvento-search-panel {
    backdrop-filter: blur(18px);
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 28px;
    box-shadow: 0 18px 50px rgba(15,23,42,.08);
    padding: 18px;
}

.delinvento-promo-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.delinvento-banner-card.is-promo {
    min-height: 190px;
    padding: 24px;
}

.delinvento-banner-card.is-promo h3 {
    font-size: clamp(24px, 3vw, 34px);
}

.delinvento-product-row {
    display: grid;
    gap: 16px;
    grid-auto-flow: column;
    grid-auto-columns: minmax(186px, 1fr);
    overflow-x: auto;
    padding-bottom: 10px;
    scroll-snap-type: x mandatory;
}

.delinvento-product-card {
    border-radius: 20px;
    border: 1px solid rgba(15, 118, 110, .16);
    box-shadow: 0 12px 32px rgba(15, 23, 42, .07);
    min-width: 0;
    overflow: hidden;
    scroll-snap-align: start;
}

.delinvento-product-card .market-product-image {
    background: linear-gradient(180deg, #fff, #f8fafc);
    height: 172px;
}

.delinvento-product-card .market-product-body h3 {
    font-size: 15px;
    line-height: 1.3;
    min-height: 40px;
}

.delinvento-product-card .market-product-meta span:first-child {
    background: #dcfce7;
    border-radius: 999px;
    color: #166534;
    font-size: 11px;
    font-weight: 900;
    padding: 4px 8px;
}

.delinvento-category-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.delinvento-category-card {
    background: linear-gradient(135deg, #ecfeff, #f8fafc);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 24px;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .06);
    cursor: pointer;
    min-height: 118px;
    overflow: hidden;
    padding: 18px;
    position: relative;
    text-align: left;
}

.delinvento-category-card img {
    bottom: -18px;
    height: 90px;
    object-fit: contain;
    opacity: .38;
    position: absolute;
    right: -12px;
    width: 110px;
}

.delinvento-category-card span {
    color: #0f766e;
    display: block;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: -.04em;
    position: relative;
    z-index: 1;
}

.delinvento-category-card small {
    color: #64748b;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.delinvento-catalog-grid {
    grid-template-columns: repeat(auto-fill, minmax(205px, 1fr));
}

.delinvento-footer {
    background: #111827;
    border-radius: 30px 30px 0 0;
    color: #d1d5db;
    display: grid;
    gap: 28px;
    grid-template-columns: 1.3fr .7fr .8fr;
    margin-top: 30px;
    padding: 34px;
}

.delinvento-footer strong {
    color: #fff;
    font-size: 22px;
}

.delinvento-footer span {
    color: #facc15;
    display: block;
    font-weight: 900;
    margin-bottom: 8px;
}

.delinvento-footer a {
    color: #e5e7eb;
    display: block;
    margin: 6px 0;
    text-decoration: none;
}

#marketLocationFields[hidden] {
    display: none !important;
}

.delinvento-location-panel {
    margin-top: 14px;
}

.internal-login-card,
.client-login-card {
    border-radius: 30px;
    margin: 30px auto;
    max-width: 560px;
}

.muted-note,
.client-login-note {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    color: #64748b;
    line-height: 1.5;
    margin-top: 18px;
    padding: 14px;
}

.client-login-note a {
    color: #0f766e;
    display: block;
    font-weight: 900;
    margin-top: 6px;
}

.grid.four,
.role-dashboard-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.marketing-admin-grid .card {
    border-radius: 26px;
}

.compact-form {
    gap: 12px;
}

.mini-grid {
    gap: 10px;
}

.banner-admin-list {
    display: grid;
    gap: 12px;
}

.banner-admin-item {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    padding: 12px 14px;
}

.banner-admin-item summary {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.banner-admin-item summary span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.danger-text {
    color: #dc2626 !important;
    margin-top: 10px;
}

.table-wrap {
    overflow-x: auto;
}

.table-wrap table {
    border-collapse: collapse;
    width: 100%;
}

.table-wrap th,
.table-wrap td {
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    padding: 10px;
    text-align: left;
}

@media (max-width: 1100px) {
    .delinvento-home-hero,
    .delinvento-hero-slider,
    .delinvento-promo-grid,
    .delinvento-footer {
        grid-template-columns: 1fr;
    }

    .delinvento-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .container:has(.delinvento-home) {
        padding-left: 12px;
        padding-right: 12px;
    }

    .delinvento-topbar {
        padding-left: 14px;
        padding-right: 14px;
    }

    .delinvento-home-hero,
    .delinvento-hero-slider {
        gap: 14px;
    }

    .delinvento-banner-card {
        border-radius: 24px;
        min-height: 245px;
        padding: 24px;
    }

    .delinvento-banner-card h3 {
        font-size: 38px;
    }

    .delinvento-category-grid,
    .grid.four,
    .role-dashboard-grid {
        grid-template-columns: 1fr 1fr;
    }

    .delinvento-product-row {
        grid-auto-columns: minmax(170px, 78vw);
    }
}

/* Delinvento v7 roles, carrito y Tito */
.client-auth-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:22px; align-items:start; }
.client-register-box { background:linear-gradient(180deg,#f8fffb,#eefcf6); border:1px solid rgba(15,118,110,.18); border-radius:22px; padding:18px; }
.role-module-list { display:grid; gap:10px; }
.role-module-list a { padding:12px 14px; border:1px solid rgba(15,23,42,.1); border-radius:14px; background:#fff; font-weight:800; text-decoration:none; color:#0f172a; }
.delivery-card-list { display:grid; gap:14px; }
.delivery-job { display:grid; grid-template-columns:1.4fr .75fr .9fr; gap:12px; align-items:center; padding:16px; border:1px solid rgba(15,23,42,.08); border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(15,23,42,.06); }
.pin-form { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.pin-form input { min-width:90px; border:1px solid rgba(15,23,42,.14); border-radius:12px; padding:9px 10px; }
.pill { display:inline-flex; align-items:center; border-radius:999px; padding:4px 9px; background:#dcfce7; color:#065f46; font-size:12px; font-weight:900; }
.inline-delivery-form { display:flex; gap:6px; align-items:center; margin:3px 0; }
.inline-delivery-form select { max-width:150px; border:1px solid rgba(15,23,42,.14); border-radius:10px; padding:7px; }
.delinvento-cart-button { white-space:nowrap; }
.product-detail-modal { position:fixed; inset:0; z-index:90; display:grid; place-items:center; padding:20px; background:rgba(15,23,42,.55); backdrop-filter:blur(8px); }
.product-detail-modal[hidden] { display:none; }
.product-detail-dialog { position:relative; width:min(880px, 96vw); max-height:90vh; overflow:auto; background:#fff; border-radius:28px; padding:24px; box-shadow:0 30px 90px rgba(0,0,0,.25); }
.product-detail-close { position:absolute; top:14px; right:16px; width:38px; height:38px; border:0; border-radius:50%; background:#0f172a; color:#fff; font-size:24px; cursor:pointer; }
.detail-main { display:grid; grid-template-columns:minmax(180px, 320px) 1fr; gap:24px; align-items:center; }
.detail-main img { width:100%; aspect-ratio:1/1; object-fit:contain; border-radius:24px; background:#f8fafc; }
.detail-main span { color:#0f766e; text-transform:uppercase; font-size:12px; letter-spacing:.08em; font-weight:900; }
.detail-main h2 { margin:8px 0; font-size:32px; }
.detail-main strong { display:block; margin:12px 0; font-size:24px; color:#0f172a; }
.detail-related { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px; margin-top:12px; }
.detail-related button { text-align:left; border:1px solid rgba(15,23,42,.1); background:#f8fafc; border-radius:16px; padding:12px; font-weight:900; cursor:pointer; }
.detail-related small { display:block; margin-top:4px; color:#64748b; font-weight:700; }
.tito-chat-widget { position:fixed; right:22px; bottom:22px; z-index:80; font-family:inherit; }
.tito-bubble { display:flex; gap:8px; align-items:center; border:0; border-radius:999px; background:#0f766e; color:#fff; padding:13px 16px; font-weight:950; box-shadow:0 18px 45px rgba(15,118,110,.35); cursor:pointer; }
.tito-panel { position:absolute; right:0; bottom:62px; width:min(390px, calc(100vw - 34px)); height:520px; background:#fff; border:1px solid rgba(15,23,42,.1); border-radius:26px; box-shadow:0 30px 80px rgba(15,23,42,.25); overflow:hidden; display:flex; flex-direction:column; }
.tito-panel[hidden] { display:none; }
.tito-panel header { display:flex; justify-content:space-between; align-items:center; padding:14px 16px; background:linear-gradient(135deg,#0f766e,#064e3b); color:#fff; }
.tito-panel header button { border:0; background:rgba(255,255,255,.16); color:#fff; border-radius:50%; width:30px; height:30px; font-size:20px; cursor:pointer; }
.tito-messages { flex:1; overflow:auto; padding:14px; background:#f8fafc; display:flex; flex-direction:column; gap:10px; }
.tito-message { max-width:92%; border-radius:18px; padding:11px 12px; font-size:14px; line-height:1.35; }
.tito-message.bot { align-self:flex-start; background:#fff; border:1px solid rgba(15,23,42,.08); }
.tito-message.user { align-self:flex-end; background:#0f766e; color:#fff; }
.tito-form { display:flex; gap:8px; padding:12px; border-top:1px solid rgba(15,23,42,.08); }
.tito-form input { flex:1; border:1px solid rgba(15,23,42,.14); border-radius:14px; padding:10px 12px; }
.tito-form button, .tito-products button { border:0; border-radius:12px; background:#0f766e; color:#fff; font-weight:900; padding:9px 10px; cursor:pointer; }
.tito-products { display:grid; gap:8px; margin-top:10px; }
.tito-products article { border:1px solid rgba(15,23,42,.08); border-radius:14px; padding:9px; background:#f8fafc; display:grid; gap:5px; }
.tito-products small { display:block; color:#64748b; font-size:12px; }
.tito-products button + button { background:#e2e8f0; color:#0f172a; margin-left:5px; }
@media (max-width: 760px) {
  .client-auth-grid, .delivery-job, .detail-main { grid-template-columns:1fr; }
  .tito-chat-widget { right:14px; bottom:14px; }
  .product-detail-dialog { padding:18px; }
}

/* Delinvento v8 header estilo marketplace */
body:has(.delinvento-home) {
    background: #f5f6f8;
}

.delinvento-shop-header {
    background: #111923;
    color: #fff;
    position: sticky;
    top: 0;
    z-index: 1400;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .18);
}

.delinvento-shop-mainbar {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 142px auto 174px minmax(280px, 1fr) auto;
    min-height: 64px;
    padding: 10px clamp(12px, 2vw, 24px);
}

.delinvento-shop-logo {
    align-items: flex-start;
    color: #fff;
    display: inline-flex;
    flex-direction: column;
    font-weight: 950;
    letter-spacing: -.04em;
    line-height: .86;
    text-decoration: none;
    text-transform: uppercase;
}

.delinvento-logo-super,
.delinvento-logo-market {
    font-size: 19px;
}

.delinvento-logo-flag {
    background: #ef4444;
    border: 2px solid rgba(255,255,255,.8);
    border-radius: 7px;
    color: #fff;
    font-size: 10px;
    letter-spacing: .06em;
    margin-top: 4px;
    padding: 2px 6px;
}

.delinvento-header-category-btn,
.delinvento-header-location,
.delinvento-header-search button,
.delinvento-icon-action,
.delinvento-pay-action,
.delinvento-header-meta button {
    border: 0;
    cursor: pointer;
    font-family: inherit;
}

.delinvento-header-category-btn {
    align-items: center;
    background: #ffd43b;
    border-radius: 10px;
    color: #061225;
    display: inline-flex;
    font-size: 15px;
    font-weight: 850;
    gap: 8px;
    height: 44px;
    justify-content: center;
    padding: 0 18px;
    white-space: nowrap;
}

.delinvento-header-category-btn span {
    font-size: 22px;
    line-height: 1;
}

.delinvento-header-location {
    align-items: center;
    background: #ffd43b;
    border-left: 1px solid rgba(17, 24, 39, .16);
    border-radius: 10px;
    color: #101827;
    display: inline-flex;
    gap: 8px;
    height: 44px;
    justify-content: flex-start;
    max-width: 174px;
    min-width: 0;
    overflow: hidden;
    padding: 0 12px;
    text-align: left;
}

.delinvento-location-pin {
    font-size: 18px;
    line-height: 1;
}

.delinvento-header-location small,
.delinvento-client-login small {
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .02em;
    line-height: 1.05;
    opacity: .78;
    text-transform: uppercase;
}

.delinvento-header-location strong {
    display: block;
    font-size: 12px;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.delinvento-header-search {
    align-items: center;
    background: #fff;
    border: 2px solid transparent;
    border-radius: 8px;
    display: grid;
    grid-template-columns: 1fr 48px;
    height: 44px;
    overflow: hidden;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.delinvento-header-search:focus-within {
    border-color: #ffd43b;
    box-shadow: 0 0 0 4px rgba(255, 212, 59, .18);
}

.delinvento-header-search input {
    border: 0;
    color: #111827;
    font-size: 15px;
    height: 100%;
    min-width: 0;
    outline: none;
    padding: 0 14px;
}

.delinvento-header-search button {
    align-items: center;
    background: #ffd43b;
    color: #07111f;
    display: inline-flex;
    font-size: 25px;
    font-weight: 950;
    height: 100%;
    justify-content: center;
}

.delinvento-header-actions {
    align-items: center;
    display: inline-flex;
    gap: 12px;
    justify-content: flex-end;
    white-space: nowrap;
}

.delinvento-client-login {
    align-items: center;
    color: #fff;
    display: inline-grid;
    gap: 0 8px;
    grid-template-columns: auto auto;
    line-height: 1.05;
    text-decoration: none;
}

.delinvento-client-login span {
    font-size: 19px;
    grid-row: span 2;
}

.delinvento-client-login strong {
    color: #fff;
    font-size: 14px;
}

.delinvento-icon-action {
    background: transparent;
    color: #fff;
    font-size: 22px;
    position: relative;
}

.delinvento-icon-action span {
    align-items: center;
    background: #ef233c;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    height: 18px;
    justify-content: center;
    min-width: 18px;
    padding: 0 5px;
    position: absolute;
    right: -8px;
    top: -8px;
}

.delinvento-pay-action {
    background: transparent;
    color: #fff;
    font-size: 15px;
    font-weight: 850;
}

.delinvento-shop-menubar {
    align-items: center;
    background: #1e2b3a;
    border-top: 1px solid rgba(255,255,255,.08);
    display: flex;
    gap: 18px;
    justify-content: space-between;
    min-height: 48px;
    padding: 0 clamp(12px, 2vw, 24px);
}

.delinvento-public-links {
    align-items: center;
    display: flex;
    gap: clamp(12px, 2vw, 28px);
    overflow: auto;
    scrollbar-width: none;
}

.delinvento-public-links::-webkit-scrollbar,
.delinvento-header-category-rail::-webkit-scrollbar {
    display: none;
}

.delinvento-public-links a,
.delinvento-header-meta a {
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.delinvento-public-links a:hover,
.delinvento-header-meta a:hover {
    color: #ffd43b;
}

.delinvento-header-meta {
    align-items: center;
    display: inline-flex;
    gap: 10px;
    white-space: nowrap;
}

.delinvento-header-meta button {
    background: #223246;
    border: 1px solid rgba(255,255,255,.26);
    border-radius: 7px;
    color: #fff;
    font-size: 14px;
    font-weight: 850;
    min-height: 32px;
    padding: 0 12px;
}

.delinvento-header-category-rail {
    align-items: center;
    background: #ffd43b;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 8px clamp(12px, 2vw, 24px);
    scrollbar-width: none;
}

.delinvento-header-category-rail button {
    background: #fff;
    border: 0;
    border-radius: 6px;
    color: #0b1b34;
    cursor: pointer;
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 900;
    padding: 6px 13px;
    white-space: nowrap;
}

.delinvento-header-category-rail button:hover,
.delinvento-header-category-rail button.is-active {
    background: #0f766e;
    color: #fff;
}

.delinvento-main-container {
    max-width: 1380px;
    padding-top: 26px;
}

@media (max-width: 1080px) {
    .delinvento-shop-mainbar {
        grid-template-columns: 120px auto 1fr auto;
    }
    .delinvento-header-location {
        display: none;
    }
    .delinvento-header-meta a {
        display: none;
    }
}

@media (max-width: 760px) {
    .delinvento-shop-mainbar {
        grid-template-columns: 1fr auto auto;
        gap: 8px;
        padding: 8px 10px;
    }
    .delinvento-shop-logo {
        grid-column: 1;
    }
    .delinvento-header-category-btn {
        display: none;
    }
    .delinvento-header-search {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
    }
    .delinvento-header-actions {
        grid-column: 2 / -1;
        grid-row: 1;
        gap: 8px;
    }
    .delinvento-pay-action,
    .delinvento-client-login small,
    .delinvento-shop-menubar {
        display: none;
    }
    .delinvento-logo-super,
    .delinvento-logo-market {
        font-size: 17px;
    }
    .delinvento-header-category-rail {
        padding: 7px 10px;
    }
    .delinvento-header-category-rail button {
        font-size: 13px;
        padding: 6px 10px;
    }
}


/* =========================================================
   Delinvento v9: header marketplace, home limpio y login cliente
   ========================================================= */

.delinvento-header-v9 {
    position: sticky;
    top: 0;
    z-index: 80;
    background: #0b1420;
    box-shadow: 0 16px 40px rgba(9, 20, 34, .18);
}

.delinvento-header-v9 .delinvento-shop-mainbar {
    display: grid;
    grid-template-columns: minmax(160px, 220px) auto minmax(360px, 1fr) minmax(190px, 255px) auto;
    align-items: center;
    gap: 10px;
    padding: 12px clamp(14px, 2vw, 28px);
    background:
        radial-gradient(circle at 12% 0%, rgba(17, 196, 167, .24), transparent 28%),
        linear-gradient(135deg, #08111d 0%, #0d1b2c 72%, #102232 100%);
}

.delinvento-header-v9 .delinvento-shop-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
    min-width: 0;
}

.delinvento-logo-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 16px;
    background: linear-gradient(135deg, #ffd23f 0%, #12a08f 100%);
    color: #07101c;
    font-weight: 1000;
    font-size: 22px;
    box-shadow: 0 10px 28px rgba(18, 160, 143, .28);
}

.delinvento-logo-text {
    display: grid;
    line-height: 1;
}

.delinvento-logo-text strong {
    font-size: 20px;
    letter-spacing: -.04em;
    color: #fff;
}

.delinvento-logo-text small {
    color: #ffd23f;
    text-transform: uppercase;
    font-weight: 900;
    font-size: 10px;
    letter-spacing: .24em;
    margin-top: 5px;
}

.delinvento-header-v9 .delinvento-header-category-btn {
    height: 46px;
    padding: 0 16px;
    border: 0;
    border-radius: 16px;
    background: #ffd23f;
    color: #091421;
    font-weight: 950;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(255, 210, 63, .22);
    white-space: nowrap;
}

.delinvento-header-v9 svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 auto;
}

.delinvento-header-v9 .delinvento-header-search {
    display: grid;
    grid-template-columns: 1fr 50px;
    min-width: 0;
    height: 50px;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 12px 30px rgba(0,0,0,.16);
}

.delinvento-header-v9 .delinvento-header-search input {
    border: 0;
    outline: 0;
    padding: 0 18px;
    font-size: 15px;
    min-width: 0;
}

.delinvento-header-v9 .delinvento-header-search button {
    border: 0;
    background: #ffd23f;
    color: #07101c;
    cursor: pointer;
    display: grid;
    place-items: center;
}

.delinvento-header-v9 .delinvento-header-location {
    height: 50px;
    min-width: 0;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
    color: #fff;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 13px;
    cursor: pointer;
    backdrop-filter: blur(12px);
}

.delinvento-header-v9 .delinvento-header-location svg {
    color: #ffd23f;
}

.delinvento-header-v9 .delinvento-header-location span {
    min-width: 0;
    display: grid;
    line-height: 1.05;
    text-align: left;
}

.delinvento-header-v9 .delinvento-header-location small {
    color: rgba(255,255,255,.62);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-weight: 850;
}

.delinvento-header-v9 .delinvento-header-location strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    color: #fff;
    max-width: 170px;
}

.delinvento-header-v9 .delinvento-header-actions {
    display: inline-flex;
    justify-content: flex-end;
    gap: 8px;
}

.delinvento-header-v9 .delinvento-icon-action {
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 17px;
    display: grid;
    place-items: center;
    color: #fff;
    background: rgba(255,255,255,.08);
    text-decoration: none;
    position: relative;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.delinvento-header-v9 .delinvento-icon-action:hover {
    transform: translateY(-1px);
    background: rgba(255,255,255,.14);
    border-color: rgba(255,210,63,.55);
}

.delinvento-header-v9 .delinvento-icon-action span[data-cart-count] {
    position: absolute;
    right: -5px;
    top: -5px;
    min-width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    padding: 0 5px;
    border-radius: 99px;
    background: #ef233c;
    color: #fff;
    font-size: 11px;
    font-weight: 950;
    border: 2px solid #0b1420;
}

.delinvento-header-v9 .delinvento-shop-menubar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 9px clamp(14px, 2vw, 28px);
    background: #172538;
    border-top: 1px solid rgba(255,255,255,.08);
}

.delinvento-header-v9 .delinvento-public-links {
    display: flex;
    align-items: center;
    gap: clamp(10px, 1.6vw, 24px);
    overflow-x: auto;
    scrollbar-width: none;
}

.delinvento-header-v9 .delinvento-public-links::-webkit-scrollbar {
    display: none;
}

.delinvento-header-v9 .delinvento-public-links a {
    color: #fff;
    opacity: .94;
    text-decoration: none;
    font-size: 14px;
    font-weight: 750;
    white-space: nowrap;
}

.delinvento-header-v9 .delinvento-public-links a:hover {
    color: #ffd23f;
}

.delinvento-header-v9 .delinvento-header-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    white-space: nowrap;
}

.delinvento-header-v9 .delinvento-header-meta button {
    height: 34px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,.2);
    background: rgba(255,255,255,.06);
    color: #fff;
    padding: 0 10px;
    font-weight: 850;
}

.delinvento-header-v9 .delinvento-header-meta a {
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    opacity: .95;
}

.delinvento-header-v9 .delinvento-header-category-rail {
    display: flex;
    gap: 7px;
    align-items: center;
    overflow-x: auto;
    padding: 7px clamp(14px, 2vw, 28px);
    background: #ffd23f;
    scrollbar-width: none;
}

.delinvento-header-v9 .delinvento-header-category-rail::-webkit-scrollbar {
    display: none;
}

.delinvento-header-v9 .delinvento-header-category-rail button {
    border: 0;
    background: #fff;
    color: #061225;
    border-radius: 9px;
    padding: 6px 12px;
    font-weight: 850;
    white-space: nowrap;
    cursor: pointer;
}

.delinvento-header-v9 .delinvento-header-category-rail button.is-active,
.delinvento-header-v9 .delinvento-header-category-rail button:hover {
    background: #0f8a7d;
    color: #fff;
}

.delinvento-internal-controls {
    display: none !important;
}

.delinvento-home {
    padding-top: 24px;
}

.delinvento-promo-grid {
    margin-top: 0 !important;
}

.delinvento-home > .delinvento-promo-grid:first-of-type {
    margin-top: 0;
}

.delinvento-promo-grid .delinvento-banner-card {
    min-height: 210px;
}

.client-login-v9 {
    max-width: 1040px;
    margin: 42px auto;
    padding: clamp(24px, 4vw, 42px);
    border-radius: 34px;
    background:
        radial-gradient(circle at 0% 0%, rgba(18,160,143,.13), transparent 34%),
        #fff;
    box-shadow: 0 24px 70px rgba(9, 20, 34, .12);
}

.client-login-hero {
    max-width: 720px;
    margin-bottom: 24px;
}

.client-login-hero h1 {
    margin: 0;
    font-size: clamp(34px, 5vw, 58px);
    line-height: .95;
    letter-spacing: -.07em;
}

.client-login-hero p {
    color: #607087;
    font-size: 16px;
}

.client-auth-single {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(280px, .78fr);
    gap: 20px;
    align-items: stretch;
}

.client-login-form,
.client-register-teaser,
.client-register-dialog {
    border: 1px solid rgba(9,20,34,.08);
    background: #fff;
    border-radius: 26px;
    padding: 24px;
    box-shadow: 0 14px 34px rgba(9,20,34,.08);
}

.client-register-teaser {
    background:
        radial-gradient(circle at 80% 10%, rgba(255,210,63,.35), transparent 34%),
        linear-gradient(135deg, #071421 0%, #0e433f 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.client-register-teaser span {
    color: #ffd23f;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: 12px;
    font-weight: 950;
}

.client-register-teaser h3 {
    color: #fff;
    font-size: 28px;
    line-height: 1.05;
    margin: 10px 0;
}

.client-register-teaser p {
    color: rgba(255,255,255,.78);
}

.client-register-modal[hidden] {
    display: none !important;
}

.client-register-modal {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(6, 18, 31, .66);
    backdrop-filter: blur(12px);
}

.client-register-dialog {
    width: min(620px, 100%);
    position: relative;
    max-height: calc(100vh - 38px);
    overflow: auto;
}

.client-register-close {
    position: absolute;
    right: 16px;
    top: 14px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 14px;
    background: #eef3f7;
    color: #061225;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.client-register-open {
    overflow: hidden;
}

@media (max-width: 1080px) {
    .delinvento-header-v9 .delinvento-shop-mainbar {
        grid-template-columns: auto auto minmax(220px, 1fr) auto;
    }

    .delinvento-header-v9 .delinvento-header-location {
        grid-column: 2 / 4;
        order: 5;
        width: 100%;
    }

    .delinvento-header-v9 .delinvento-header-actions {
        grid-column: 4;
    }
}

@media (max-width: 780px) {
    .delinvento-header-v9 .delinvento-shop-mainbar {
        grid-template-columns: 1fr auto auto;
        gap: 8px;
    }

    .delinvento-header-v9 .delinvento-header-category-btn {
        width: 46px;
        padding: 0;
        justify-content: center;
    }

    .delinvento-header-v9 .delinvento-header-category-btn span {
        display: none;
    }

    .delinvento-header-v9 .delinvento-header-search {
        grid-column: 1 / -1;
        order: 10;
    }

    .delinvento-header-v9 .delinvento-header-location {
        grid-column: 1 / -1;
        order: 11;
    }

    .delinvento-header-v9 .delinvento-shop-menubar {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .delinvento-header-v9 .delinvento-header-meta a {
        display: none;
    }

    .client-auth-single {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 540px) {
    .delinvento-logo-text strong {
        font-size: 17px;
    }

    .delinvento-logo-text small {
        letter-spacing: .16em;
    }

    .delinvento-logo-icon {
        width: 38px;
        height: 38px;
        border-radius: 14px;
    }

    .delinvento-header-v9 .delinvento-icon-action {
        width: 44px;
        height: 44px;
        border-radius: 15px;
    }
}

/* Delinvento Backoffice: header interno sin buscador ni barra pública */
.backoffice-body {
    background: radial-gradient(circle at top left, rgba(15, 118, 110, .10), transparent 34%), #eef2f6;
}
.backoffice-main-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 34px 24px 56px;
}
.delinvento-backoffice-header {
    position: sticky;
    top: 0;
    z-index: 90;
    background: linear-gradient(135deg, #071722, #0f2233 58%, #0f766e);
    color: #fff;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .18);
}
.delinvento-backoffice-bar {
    max-width: 1320px;
    margin: 0 auto;
    min-height: 76px;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    gap: 18px;
}
.delinvento-backoffice-brand {
    color: #fff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: max-content;
}
.delinvento-backoffice-brand span {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: inline-grid;
    place-items: center;
    color: #06251f;
    font-weight: 950;
    background: linear-gradient(135deg, #ffcf32, #7ee787);
    box-shadow: 0 14px 30px rgba(0,0,0,.22);
}
.delinvento-backoffice-brand strong {
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .92rem;
}
.delinvento-backoffice-nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-left: auto;
}
.delinvento-backoffice-nav a,
.delinvento-backoffice-user a {
    color: #e5f7f5;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.08);
    border-radius: 999px;
    padding: 10px 14px;
    font-weight: 850;
    font-size: .88rem;
}
.delinvento-backoffice-nav a:hover,
.delinvento-backoffice-user a:hover {
    background: rgba(255,255,255,.16);
}
.delinvento-backoffice-user {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-left: 10px;
}
.delinvento-backoffice-user span {
    color: #cbd5e1;
    font-size: .88rem;
    font-weight: 800;
    max-width: 210px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 860px) {
    .delinvento-backoffice-bar { align-items: flex-start; flex-direction: column; }
    .delinvento-backoffice-nav { margin-left: 0; }
    .delinvento-backoffice-user { margin-left: 0; }
}

/* Delinvento v12: home limpio, fotos reales y categorías por zona */
.delinvento-catalog-grid {
    align-items: stretch;
}

.delinvento-product-card .market-product-image {
    background: radial-gradient(circle at 50% 25%, #ffffff 0, #f8fafc 58%, #eef2f7 100%);
    border-bottom: 1px solid rgba(15, 23, 42, .06);
    height: 178px;
    overflow: hidden;
    padding: 12px;
}

.delinvento-product-card .market-product-image img {
    border-radius: 14px;
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.delinvento-product-card .market-product-image span {
    align-items: center;
    background: linear-gradient(135deg, rgba(15, 118, 110, .12), rgba(255, 205, 51, .2));
    border-radius: 22px;
    color: #0f766e;
    display: inline-flex;
    font-size: 42px;
    height: 88px;
    justify-content: center;
    width: 88px;
}

.delinvento-category-showcase .market-section-head {
    align-items: end;
    border-bottom: 1px solid rgba(15, 23, 42, .06);
    margin-bottom: 18px;
    padding-bottom: 12px;
}

.delinvento-category-grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.delinvento-category-card {
    align-items: stretch;
    background: #ffffff;
    border: 1px solid rgba(15, 118, 110, .14);
    display: grid;
    min-height: 134px;
    padding: 0;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.delinvento-category-card:hover {
    border-color: rgba(15, 118, 110, .42);
    box-shadow: 0 18px 38px rgba(15, 23, 42, .09);
    transform: translateY(-2px);
}

.delinvento-category-card[hidden] {
    display: none;
}

.delinvento-category-card img {
    background: linear-gradient(135deg, #f0fdfa, #f8fafc);
    border-radius: 18px 18px 0 0;
    bottom: auto;
    height: 84px;
    left: auto;
    object-fit: cover;
    opacity: 1;
    position: relative;
    right: auto;
    top: auto;
    width: 100%;
}

.delinvento-category-card span,
.delinvento-category-card small {
    padding-left: 14px;
    padding-right: 14px;
}

.delinvento-category-card span {
    color: #0f172a;
    font-size: 17px;
    line-height: 1.08;
    margin-top: 12px;
}

.delinvento-category-card small {
    color: #0f766e;
    font-size: 12px;
    margin-bottom: 14px;
    margin-top: 4px;
}

@media (max-width: 720px) {
    .delinvento-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .delinvento-product-card .market-product-image {
        height: 150px;
    }
}

/* v13: home cards, detail modal, global cart and Tito product images */
.delinvento-product-card {
  cursor: pointer;
  overflow: hidden;
}
.delinvento-product-card .market-product-image {
  border: 0;
  appearance: none;
  width: 100%;
  cursor: pointer;
  background: linear-gradient(180deg, #f8fafc 0%, #eef7f5 100%);
  display: grid;
  place-items: center;
  padding: 0;
}
.delinvento-product-card .market-product-image:hover img {
  transform: scale(1.04);
}
.delinvento-product-card .market-product-image img {
  transition: transform .2s ease;
}
.delinvento-product-card .market-store-line {
  text-decoration: none;
  color: inherit;
  width: fit-content;
}
.delinvento-product-card .market-store-line:hover span {
  color: #0f766e;
  text-decoration: underline;
}
.delinvento-product-card .market-card-actions {
  gap: 10px;
}
.delinvento-product-card .market-card-actions strong {
  font-size: 16px;
}
.detail-main {
  display: grid;
  grid-template-columns: minmax(260px, .9fr) 1fr;
  gap: 24px;
  align-items: center;
}
.detail-image {
  min-height: 320px;
  border-radius: 24px;
  background: linear-gradient(180deg, #f8fafc 0%, #eef7f5 100%);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.detail-image img {
  width: 100%;
  height: 100%;
  max-height: 420px;
  object-fit: contain;
  padding: 22px;
}
.detail-image.is-empty span {
  font-size: 90px;
  font-weight: 1000;
  color: #0f766e;
}
.detail-info {
  display: grid;
  gap: 14px;
}
.detail-info h2 {
  font-size: clamp(30px, 4vw, 52px);
  line-height: .95;
  margin: 0;
}
.detail-info p {
  color: #64748b;
  line-height: 1.6;
  margin: 0;
}
.detail-category {
  width: fit-content;
  border-radius: 999px;
  padding: 7px 12px;
  background: #dcfce7;
  color: #047857;
  font-size: 12px;
  font-weight: 1000;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.detail-store {
  color: #0f766e;
  font-weight: 900;
  text-decoration: none;
}
.detail-store:hover { text-decoration: underline; }
.detail-info > strong {
  font-size: 24px;
  color: #0f172a;
}
.detail-related-title {
  margin: 26px 0 12px;
}
.detail-related {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}
.detail-related button {
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 18px;
  background: #fff;
  padding: 10px;
  text-align: left;
  cursor: pointer;
  display: grid;
  gap: 7px;
}
.detail-related img,
.detail-related span {
  width: 100%;
  height: 100px;
  border-radius: 14px;
  background: #f8fafc;
  object-fit: contain;
  display: grid;
  place-items: center;
  color: #0f766e;
  font-size: 34px;
  font-weight: 1000;
}
.detail-related strong { font-size: 13px; }
.detail-related small { color: #64748b; }
.cart-modal {
  position: fixed;
  inset: 0;
  z-index: 95;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(15, 23, 42, .58);
  backdrop-filter: blur(8px);
}
.cart-modal[hidden] { display: none; }
.cart-dialog {
  position: relative;
  width: min(820px, 96vw);
  max-height: 92vh;
  overflow: auto;
  background: #fff;
  border-radius: 30px;
  box-shadow: 0 30px 100px rgba(0,0,0,.25);
  padding: 24px;
}
.cart-close {
  position: absolute;
  right: 16px;
  top: 16px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 999px;
  background: #0f172a;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
}
.cart-head h2 { margin: 0; font-size: clamp(28px, 4vw, 44px); }
.cart-head p { color: #64748b; margin-bottom: 18px; }
.cart-items { display: grid; gap: 12px; }
.cart-item {
  display: grid;
  grid-template-columns: 92px 1fr auto auto 32px;
  gap: 14px;
  align-items: center;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 20px;
  padding: 10px;
  background: #f8fafc;
}
.cart-item-image {
  border: 0;
  background: #fff;
  border-radius: 16px;
  width: 92px;
  height: 82px;
  display: grid;
  place-items: center;
  cursor: pointer;
  overflow: hidden;
}
.cart-item-image img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.cart-item-image span { font-size: 32px; color: #0f766e; font-weight: 1000; }
.cart-item-info { display: grid; gap: 4px; }
.cart-item-info strong { color: #0f172a; }
.cart-item-info span, .cart-item-info small { color: #64748b; }
.cart-qty {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  background: #fff;
  padding: 6px;
  border: 1px solid rgba(15,23,42,.08);
}
.cart-qty button,
.cart-remove {
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 1000;
}
.cart-qty button { width: 28px; height: 28px; background: #e2e8f0; }
.cart-remove { width: 30px; height: 30px; background: #fee2e2; color: #991b1b; }
.cart-line-total { white-space: nowrap; }
.cart-summary {
  margin-top: 18px;
  border-top: 1px solid rgba(15,23,42,.08);
  padding-top: 18px;
  display: grid;
  gap: 12px;
}
.cart-summary > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 18px;
}
.cart-summary small { color: #64748b; }
.cart-empty {
  border: 1px dashed rgba(15,23,42,.18);
  border-radius: 20px;
  padding: 24px;
  display: grid;
  gap: 4px;
  color: #64748b;
}
.cart-empty[hidden] { display: none; }
.cart-message {
  margin: 0;
  border-radius: 14px;
  padding: 12px;
  background: #fff7ed;
  color: #9a3412;
  font-weight: 800;
}
.tito-products article {
  grid-template-columns: 62px 1fr;
  align-items: center;
}
.tito-products article > img,
.tito-product-letter {
  width: 58px;
  height: 58px;
  border-radius: 14px;
  background: #fff;
  object-fit: contain;
  display: grid;
  place-items: center;
  color: #0f766e;
  font-weight: 1000;
  font-size: 24px;
}
@media (max-width: 760px) {
  .detail-main { grid-template-columns: 1fr; }
  .detail-image { min-height: 240px; }
  .cart-item { grid-template-columns: 72px 1fr; }
  .cart-item-image { width: 72px; height: 66px; }
  .cart-qty, .cart-line-total, .cart-remove { grid-column: 2; justify-self: start; }
}

/* v14: opciones de producto, zonas excluidas y limpieza de home */
.market-product-meta [data-distance-label] {
    display: none !important;
}

.detail-options {
    display: grid;
    gap: 14px;
    margin: 18px 0;
    padding: 14px;
    border: 1px solid rgba(15, 118, 110, .18);
    border-radius: 18px;
    background: rgba(15, 118, 110, .045);
}

.detail-option-group {
    display: grid;
    gap: 10px;
}

.detail-option-group > strong {
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #0f766e;
}

.detail-size-list,
.detail-addon-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

.detail-size-choice,
.detail-addon-choice {
    cursor: pointer;
    display: grid;
    grid-template-columns: auto 34px 1fr;
    align-items: center;
    gap: 8px;
    padding: 10px;
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.detail-size-choice:has(input:checked),
.detail-addon-choice:has(input:checked) {
    border-color: #0f766e;
    box-shadow: 0 12px 28px rgba(15, 118, 110, .16);
}

.detail-size-choice img,
.detail-addon-choice img {
    width: 34px;
    height: 34px;
    object-fit: cover;
    border-radius: 10px;
    background: #f8fafc;
}

.detail-size-choice b,
.detail-addon-choice b {
    grid-column: 2 / -1;
    font-size: .82rem;
    color: #0f766e;
}

.cart-item-info em {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(250, 204, 21, .18);
    color: #854d0e;
    font-style: normal;
    font-weight: 800;
    font-size: .76rem;
}

.delivery-excluded-zones {
    margin-top: 20px;
    padding: 18px;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(15, 118, 110, .07), rgba(250, 204, 21, .10));
    border: 1px solid rgba(15, 118, 110, .14);
}

.section-intro.compact {
    margin-bottom: 14px;
}

.excluded-zones-list {
    display: grid;
    gap: 10px;
    margin-bottom: 12px;
}

.excluded-zone-row {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 10px;
    align-items: center;
}

.excluded-zone-row select {
    width: 100%;
    min-height: 44px;
}

@media (max-width: 720px) {
    .excluded-zone-row {
        grid-template-columns: 1fr;
    }
}

/* v14: producto clicable y card más limpia */
.delinvento-catalog-grid {
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 18px;
}

.delinvento-product-card {
    cursor: pointer;
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.delinvento-product-card:hover {
    transform: translateY(-4px);
    border-color: rgba(15, 118, 110, .34);
    box-shadow: 0 24px 52px rgba(15, 23, 42, .13);
}

.delinvento-product-card .market-product-image {
    min-height: 172px;
    padding: 16px;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.delinvento-product-card .market-product-image img {
    width: 100%;
    height: 142px;
    object-fit: contain;
    transition: transform .18s ease;
}

.delinvento-product-card:hover .market-product-image img {
    transform: scale(1.04);
}

.delinvento-product-card .market-product-body h3 {
    min-height: 42px;
    line-height: 1.2;
}

.delinvento-product-card .market-card-actions {
    align-items: center;
}

.delinvento-product-card .market-card-actions .button {
    border-radius: 12px;
    padding-inline: 12px;
}

/* v15 refinamientos */
.delinvento-promo-grid{display:none!important}
.store-filter-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;padding:14px 16px;border:1px solid rgba(15,118,110,.18);border-radius:20px;background:#f0fdfa;color:#0f172a;font-weight:800}
.market-store-line{appearance:none;border:0;background:transparent;padding:0;margin:0;display:flex;align-items:center;gap:8px;color:#334155;cursor:pointer;text-align:left;font:inherit;font-weight:800;text-decoration:none}
.market-store-line:hover span,.detail-store:hover{text-decoration:underline}
.detail-store{border:0;background:#eefdf9;color:#0f766e;padding:9px 12px;border-radius:999px;font-weight:900;cursor:pointer;width:max-content;text-decoration:none;display:inline-flex;align-items:center}
.detail-added-message{margin:10px 0 0;padding:10px 12px;border-radius:14px;background:#dcfce7;color:#166534;font-weight:900}
.cart-destination-box{display:grid;gap:10px;margin:12px 0;padding:14px;border:1px solid rgba(15,118,110,.16);border-radius:18px;background:#f8fffd}
.cart-destination-options{display:flex;flex-wrap:wrap;gap:10px}
.cart-destination-options .is-active{background:#0f766e;color:white;border-color:#0f766e}
.delivery-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.delivery-mode-option{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid rgba(15,118,110,.18);border-radius:18px;background:#fff;cursor:pointer}
.delivery-mode-option input{margin-top:4px}.delivery-mode-option strong{display:block}.delivery-mode-option small{display:block;color:#64748b;margin-top:4px}
.delivery-allowed-zones,.delivery-area-mode-card{margin-top:18px;padding:18px;border-radius:22px;border:1px solid rgba(15,118,110,.14);background:#fbfffe}
.delinvento-catalog-grid .market-product-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.delinvento-catalog-grid .market-product-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(15,23,42,.12);border-color:rgba(15,118,110,.26)}
@media(max-width:760px){.delivery-mode-options{grid-template-columns:1fr}.store-filter-notice{align-items:flex-start;flex-direction:column}}

/* Delinvento v16: cuenta del cliente en header y seguimiento de pedidos */
.delinvento-client-header-menu {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.delinvento-client-orders-button {
    align-items: center;
    background: linear-gradient(135deg, #facc15, #f59e0b);
    border: 1px solid rgba(250,204,21,.72);
    border-radius: 17px;
    box-shadow: 0 10px 26px rgba(245,158,11,.18);
    color: #111827;
    display: inline-flex;
    gap: 8px;
    height: 48px;
    padding: 0 14px;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
    white-space: nowrap;
}

.delinvento-client-orders-button:hover {
    box-shadow: 0 14px 32px rgba(245,158,11,.28);
    filter: brightness(1.03);
    transform: translateY(-1px);
}

.delinvento-client-orders-button svg {
    fill: none;
    height: 21px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 21px;
}

.delinvento-client-orders-button span {
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .02em;
}

.delinvento-client-account {
    align-items: center;
    color: #fff;
    display: inline-flex;
    flex-direction: column;
    gap: 3px;
    min-width: 58px;
    text-decoration: none;
}

.delinvento-client-avatar {
    align-items: center;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 17px;
    display: inline-flex;
    height: 48px;
    justify-content: center;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
    width: 48px;
}

.delinvento-client-account:hover .delinvento-client-avatar {
    background: rgba(255,255,255,.14);
    border-color: rgba(255,210,63,.55);
    transform: translateY(-1px);
}

.delinvento-client-avatar svg {
    fill: none;
    height: 23px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 23px;
}

.delinvento-client-name {
    color: rgba(255,255,255,.92);
    display: block;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    max-width: 72px;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.delinvento-client-logout {
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    color: rgba(255,255,255,.88);
    font-size: 11px;
    font-weight: 900;
    padding: 8px 10px;
    text-decoration: none;
}

.delinvento-client-logout:hover {
    background: rgba(255,255,255,.12);
    color: #fff;
}

.client-orders-page {
    display: grid;
    gap: 24px;
    padding-bottom: 50px;
}

.client-orders-hero {
    align-items: center;
    background: linear-gradient(135deg, #07111f, #0f766e);
    border-radius: 34px;
    color: #fff;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    padding: clamp(24px, 4vw, 44px);
    box-shadow: 0 24px 60px rgba(15,23,42,.18);
}

.client-orders-hero .eyebrow { color: #facc15; }
.client-orders-hero h1 { color: #fff; font-size: clamp(34px, 5vw, 58px); margin: 0 0 10px; }
.client-orders-hero p { color: rgba(255,255,255,.82); max-width: 720px; }
.client-orders-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.button.danger-soft { background: rgba(239,68,68,.12); border: 1px solid rgba(239,68,68,.25); color: #991b1b; }
.client-orders-hero .button.danger-soft { color:#fff; border-color:rgba(255,255,255,.25); }

.client-empty-orders,
.client-order-card {
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 30px;
    box-shadow: 0 18px 50px rgba(15,23,42,.08);
    padding: clamp(20px, 3vw, 30px);
}

.client-empty-orders { text-align:center; display:grid; justify-items:center; gap:12px; }
.client-empty-orders span { font-size:42px; }
.client-orders-stack { display:grid; gap:22px; }

.client-order-head {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 22px;
}

.client-order-head h2 { font-size: clamp(24px, 3vw, 36px); margin: 0 0 6px; }
.client-order-head p { color: #64748b; margin: 0; }

.client-order-status-pill {
    border-radius: 999px;
    font-size: 12px;
    font-weight: 950;
    padding: 9px 12px;
    text-transform: uppercase;
    white-space: nowrap;
}
.client-order-status-pill.ok { background:#dcfce7; color:#047857; }
.client-order-status-pill.danger { background:#fee2e2; color:#b91c1c; }

.client-order-warning {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 22px;
    color: #9a3412;
    margin-bottom: 18px;
    padding: 15px 16px;
}
.client-order-warning p { margin: 5px 0 0; }

.delivery-flow {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 22px 0;
    position: relative;
}

.delivery-flow-step {
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 20px;
    display: grid;
    gap: 6px;
    min-height: 122px;
    padding: 14px;
    position: relative;
}

.delivery-flow-step span {
    align-items: center;
    background: #e2e8f0;
    border-radius: 999px;
    color: #64748b;
    display: inline-flex;
    font-size: 12px;
    font-weight: 950;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.delivery-flow-step strong { color: #0f172a; font-size: 14px; }
.delivery-flow-step small { color: #64748b; line-height: 1.35; }
.delivery-flow-step.is-active { background: #ecfdf5; border-color: rgba(15,118,110,.22); }
.delivery-flow-step.is-active span { background: #0f766e; color:#fff; }
.delivery-flow-step.is-current { box-shadow: 0 14px 35px rgba(15,118,110,.16); transform: translateY(-2px); }

.client-order-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1.4fr) minmax(240px, .7fr);
    margin: 18px 0;
}

.client-order-info-card {
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.07);
    border-radius: 22px;
    padding: 18px;
}
.client-order-info-card h3,
.client-order-products h3 { margin: 0 0 12px; }
.client-order-info-card p { color:#475569; margin: 8px 0; }
.client-order-info-card strong { color:#0f172a; }

.client-delivery-pin {
    background: #07111f;
    border-radius: 20px;
    color: #fff;
    display: inline-grid;
    gap: 3px;
    margin-top: 10px;
    padding: 14px 18px;
}
.client-delivery-pin span { color:#facc15; font-size:11px; font-weight:950; letter-spacing:.12em; text-transform:uppercase; }
.client-delivery-pin strong { color:#fff; font-size:28px; letter-spacing:.18em; }
.client-delivery-pin small { color:rgba(255,255,255,.72); }

.client-order-products { margin-top: 18px; }
.client-order-items { display:grid; gap:10px; }
.client-order-items article {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 18px;
    display: grid;
    gap: 12px;
    grid-template-columns: 64px 1fr auto;
    padding: 10px;
}
.client-order-items img,
.client-order-item-letter {
    align-items:center;
    background:#f1f5f9;
    border-radius:14px;
    display:flex;
    height:64px;
    justify-content:center;
    object-fit:contain;
    width:64px;
}
.client-order-item-letter { color:#0f766e; font-size:26px; font-weight:950; }
.client-order-items small { color:#64748b; display:block; margin-top:4px; }
.client-order-items b { white-space:nowrap; }

.client-order-events {
    border-top: 1px solid rgba(15,23,42,.08);
    margin-top: 18px;
    padding-top: 14px;
}
.client-order-events summary { cursor:pointer; font-weight:900; }
.client-order-events ul { display:grid; gap:10px; list-style:none; margin:12px 0 0; padding:0; }
.client-order-events li { background:#f8fafc; border-radius:16px; padding:12px; }
.client-order-events span { color:#64748b; display:block; font-size:12px; }
.client-order-events p { color:#475569; margin:5px 0 0; }
.checkout-result-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }

@media (max-width: 900px) {
    .client-orders-hero,
    .client-order-head { align-items: stretch; flex-direction: column; }
    .client-orders-actions { justify-content:flex-start; }
    .delivery-flow { grid-template-columns: 1fr; }
    .delivery-flow-step { min-height:auto; }
    .client-order-grid { grid-template-columns: 1fr; }
    .client-order-items article { grid-template-columns: 56px 1fr; }
    .client-order-items b { grid-column: 2; }
    .delinvento-client-logout { display:none; }
}

/* Delinvento v17: checkout/login refinements */
.robot-trap {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
.client-register-note {
    margin: 0 0 14px;
    color: #526174;
    line-height: 1.5;
}
#cartTestCheckoutBtn {
    margin-top: 8px;
}

/* v18 - Store admin + public store refinements */
.store-editor-body .store-editor-shell {
    max-width: 1180px;
    margin: 0 auto 48px;
}
.store-editor-body .page-heading {
    max-width: 1180px;
    margin: 32px auto 18px;
    align-items: center;
}
.store-editor-body .store-editor-preview {
    border-radius: 30px;
    overflow: hidden;
    background: linear-gradient(135deg, #071827, #0d3e40 55%, #0f766e);
    box-shadow: 0 28px 70px rgba(15, 23, 42, .18);
}
.store-editor-body .store-preview-banner {
    min-height: 220px;
}
.store-editor-body .store-section-tabs {
    position: sticky;
    top: 12px;
    z-index: 20;
    border-radius: 24px;
    background: rgba(255,255,255,.88);
    backdrop-filter: blur(14px);
    padding: 12px;
    box-shadow: 0 16px 45px rgba(15, 23, 42, .10);
}
.store-editor-body .store-section-tab {
    border-radius: 999px;
    font-weight: 850;
}
.store-editor-body .store-section-panel,
.store-editor-body .store-editor-actions {
    border: 1px solid rgba(15, 118, 110, .10);
    border-radius: 28px;
    box-shadow: 0 22px 55px rgba(15, 23, 42, .08);
}
.delivery-mode-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.delivery-mode-option {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    border: 1px solid rgba(15, 118, 110, .18);
    border-radius: 20px;
    padding: 16px;
    background: #fff;
    cursor: pointer;
}
.delivery-mode-option:has(input:checked) {
    background: #ecfdf5;
    border-color: #0f766e;
    box-shadow: 0 14px 34px rgba(15, 118, 110, .12);
}
.store-zone-checkbox-panel {
    margin-top: 18px;
    border: 1px dashed rgba(15, 118, 110, .28);
    border-radius: 24px;
    padding: 18px;
    background: linear-gradient(180deg, #f8fffd, #fff);
}
.store-zone-tools {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.store-zone-accordion {
    display: grid;
    gap: 12px;
}
.store-zone-province {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 20px;
    overflow: hidden;
}
.store-zone-province[open] {
    border-color: rgba(15, 118, 110, .35);
    box-shadow: 0 16px 34px rgba(15, 23, 42, .06);
}
.store-zone-province summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
}
.store-zone-province summary::-webkit-details-marker { display: none; }
.store-zone-province summary strong {
    display: block;
    color: #0f172a;
}
.store-zone-province summary small {
    color: #64748b;
    font-weight: 800;
}
.store-zone-all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffcf33;
    color: #08111f;
    padding: 9px 13px;
    border-radius: 999px;
    font-weight: 900;
}
.store-zone-municipality-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
    padding: 0 18px 18px;
}
.store-zone-check {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .08);
    font-weight: 800;
}
.store-zone-check:has(input:checked) {
    background: #ecfdf5;
    border-color: rgba(15, 118, 110, .40);
    color: #0f766e;
}

.delinvento-store-lite-body .delinvento-main-container {
    max-width: 1180px;
}
.delinvento-store-lite {
    display: grid;
    gap: 24px;
    padding: 26px 0 56px;
}
.store-lite-hero {
    position: relative;
    min-height: 310px;
    border-radius: 34px;
    overflow: hidden;
    background: linear-gradient(135deg, #071827, #0f766e), var(--store-banner, none) center/cover;
    color: #fff;
    display: flex;
    align-items: flex-end;
    gap: 22px;
    padding: 34px;
    box-shadow: 0 30px 80px rgba(15, 23, 42, .20);
}
.store-lite-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(2,6,23,.84), rgba(2,6,23,.50), rgba(15,118,110,.20));
}
.store-lite-logo,
.store-lite-copy {
    position: relative;
    z-index: 1;
}
.store-lite-logo {
    width: 112px;
    height: 112px;
    border-radius: 28px;
    display: grid;
    place-items: center;
    background: #fff;
    color: #0f766e;
    font-size: 44px;
    font-weight: 950;
    box-shadow: 0 18px 42px rgba(0,0,0,.22);
    overflow: hidden;
    flex: 0 0 auto;
}
.store-lite-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.store-lite-copy h1 {
    margin: 0 0 8px;
    font-size: clamp(2.2rem, 6vw, 4.8rem);
    letter-spacing: -.07em;
    line-height: .95;
}
.store-lite-copy p {
    max-width: 720px;
    font-size: 1.05rem;
    color: rgba(255,255,255,.88);
}
.store-lite-tags {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 16px;
}
.store-lite-tags span {
    border: 1px solid rgba(255,255,255,.28);
    background: rgba(255,255,255,.12);
    padding: 8px 12px;
    border-radius: 999px;
    font-weight: 850;
}
.store-lite-filters {
    border-radius: 28px;
    padding: 20px;
    display: grid;
    gap: 14px;
}
.store-lite-search-row input {
    min-height: 52px;
    border-radius: 18px;
}
.store-lite-chips,
.store-lite-categories {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
}
.store-lite-chips button,
.store-lite-category {
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 999px;
    background: #fff;
    padding: 10px 15px;
    font-weight: 900;
    white-space: nowrap;
    cursor: pointer;
}
.store-lite-chips button.is-active {
    background: #0f766e;
    color: #fff;
}
.store-lite-category {
    min-width: 190px;
    border-radius: 22px;
    display: grid;
    gap: 6px;
    text-align: left;
    background: linear-gradient(135deg, #ecfeff, #fff);
}
.store-lite-category img {
    width: 100%;
    height: 70px;
    object-fit: cover;
    border-radius: 16px;
}
.store-lite-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 18px;
}
.store-lite-product-card {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .09);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}
.store-lite-product-photo {
    width: 100%;
    height: 190px;
    border: 0;
    background: linear-gradient(180deg, #f8fafc, #eef2f7);
    display: grid;
    place-items: center;
    cursor: pointer;
}
.store-lite-product-photo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 14px;
}
.store-lite-product-photo span {
    font-size: 56px;
    font-weight: 950;
    color: #0f766e;
}
.store-lite-product-info {
    padding: 14px;
    display: grid;
    gap: 8px;
}
.store-lite-product-info > span {
    width: fit-content;
    background: #dcfce7;
    color: #0f766e;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 950;
    text-transform: uppercase;
}
.store-lite-product-info button[data-store-open-detail] {
    border: 0;
    background: transparent;
    padding: 0;
    text-align: left;
    cursor: pointer;
    color: #0f172a;
    font: inherit;
}
.store-lite-product-info p {
    margin: 0;
    min-height: 38px;
    color: #64748b;
    font-size: .9rem;
}
.store-lite-product-info div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.detail-main.store-lite-detail-main {
    display: grid;
    grid-template-columns: minmax(220px, 360px) 1fr;
    gap: 22px;
}
.detail-image {
    background: #f8fafc;
    border-radius: 24px;
    min-height: 320px;
    display: grid;
    place-items: center;
    overflow: hidden;
}
.detail-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 16px;
}
.detail-options {
    display: grid;
    gap: 8px;
    margin: 14px 0;
}
.detail-options label {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 16px;
    padding: 10px 12px;
    cursor: pointer;
}
.detail-options label:has(input:checked) {
    background: #ecfdf5;
    border-color: #0f766e;
}
.detail-added-msg {
    margin: 10px 0 0;
    color: #0f766e;
    font-weight: 900;
}
.detail-similar div {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
}
.detail-similar button {
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 18px;
    background: #fff;
    padding: 10px;
    text-align: left;
    cursor: pointer;
}
.detail-similar img {
    width: 100%;
    height: 80px;
    object-fit: contain;
}
.cart-added-toast {
    position: fixed;
    right: 22px;
    bottom: 92px;
    z-index: 10000;
    padding: 14px 18px;
    background: #0f766e;
    color: #fff;
    border-radius: 999px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .20);
    font-weight: 950;
}
@media (max-width: 820px) {
    .delivery-mode-options,
    .detail-main.store-lite-detail-main { grid-template-columns: 1fr; }
    .store-lite-hero { flex-direction: column; align-items: flex-start; }
}

/* ===== Delinvento v19 - Store/backoffice rebuilt ===== */
.backoffice-body {
    background: radial-gradient(circle at top left, rgba(15, 118, 110, .10), transparent 32rem), #eef2f6;
}
.backoffice-main-container {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 28px 0 60px;
}
.delinvento-backoffice-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: #071321;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.delinvento-backoffice-bar {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    min-height: 70px;
    display: flex;
    align-items: center;
    gap: 20px;
}
.delinvento-backoffice-brand {
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 900;
    letter-spacing: -.02em;
}
.delinvento-backoffice-brand span {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(135deg, #facc15, #0f766e);
    color: #082f2a;
    box-shadow: 0 14px 36px rgba(15, 118, 110, .35);
}
.delinvento-backoffice-nav {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-left: auto;
}
.delinvento-backoffice-nav a,
.delinvento-backoffice-user a {
    color: #e5eef6;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 999px;
    padding: 9px 13px;
    font-weight: 800;
    font-size: .9rem;
}
.delinvento-backoffice-nav a:hover,
.delinvento-backoffice-user a:hover {
    background: rgba(255,255,255,.08);
}
.delinvento-backoffice-user {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #cbd5e1;
    font-size: .9rem;
}
.store-v19-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}
.store-v19-heading h1 {
    font-size: clamp(2.2rem, 5vw, 4.3rem);
    line-height: .95;
    letter-spacing: -.06em;
    margin: 4px 0 10px;
    color: #071321;
}
.store-v19-heading p:not(.eyebrow) {
    color: #506070;
    max-width: 760px;
    margin: 0;
    font-size: 1.02rem;
}
.store-v19-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.store-v19-form {
    display: grid;
    gap: 18px;
}
.store-v19-preview {
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .10);
}
.store-v19-banner {
    min-height: 220px;
    background: radial-gradient(circle at 80% 80%, rgba(250, 204, 21, .28), transparent 18rem), linear-gradient(135deg, #071321, #0f766e);
    background-size: cover;
    background-position: center;
    position: relative;
}
.store-v19-banner.has-image { background-size: cover; background-position: center; }
.store-v19-banner span {
    position: absolute;
    top: 18px;
    right: 18px;
    padding: 7px 11px;
    border-radius: 999px;
    color: #fff;
    background: rgba(255,255,255,.14);
    font-weight: 900;
    font-size: .76rem;
    text-transform: uppercase;
}
.store-v19-profile {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 18px;
    align-items: center;
    padding: 0 28px 28px;
    margin-top: -48px;
    position: relative;
    z-index: 2;
}
.store-v19-logo {
    width: 110px;
    height: 110px;
    border-radius: 28px;
    background: linear-gradient(135deg, #f8fafc, #dff7f2);
    border: 7px solid #fff;
    box-shadow: 0 18px 35px rgba(15,23,42,.18);
    display: grid;
    place-items: center;
    font-size: 2rem;
    font-weight: 900;
    color: #0f766e;
    background-size: cover;
    background-position: center;
}
.store-v19-logo.has-image span { display: none; }
.store-v19-profile h2 {
    margin: 0;
    font-size: clamp(1.7rem, 3vw, 2.7rem);
    line-height: 1;
    letter-spacing: -.04em;
    color: #071321;
}
.store-v19-profile p:not(.eyebrow) {
    margin: 8px 0 12px;
    color: #607080;
}
.store-v19-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.store-v19-badges span {
    border: 1px solid #dbe7ef;
    background: #f8fafc;
    color: #0f766e;
    font-weight: 900;
    border-radius: 999px;
    padding: 7px 10px;
    font-size: .78rem;
}
.store-v19-tabs {
    position: sticky;
    top: 76px;
    z-index: 30;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 12px;
    border-radius: 22px;
    background: rgba(255,255,255,.86);
    backdrop-filter: blur(14px);
    box-shadow: 0 16px 36px rgba(15,23,42,.08);
}
.store-v19-tabs button {
    border: 1px solid #dbe7ef;
    background: #fff;
    color: #071321;
    padding: 10px 14px;
    border-radius: 999px;
    font-weight: 900;
    cursor: pointer;
    white-space: nowrap;
}
.store-v19-tabs button.active {
    background: #0f766e;
    color: #fff;
    border-color: #0f766e;
    box-shadow: 0 12px 28px rgba(15,118,110,.22);
}
.store-v19-panel {
    display: none;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 28px;
    padding: 28px;
    box-shadow: 0 24px 70px rgba(15,23,42,.08);
}
.store-v19-panel.active { display: grid; gap: 18px; }
.store-v19-intro {
    border-left: 5px solid #0f766e;
    padding-left: 14px;
}
.store-v19-intro h2 {
    margin: 0 0 6px;
    font-size: 1.7rem;
    letter-spacing: -.04em;
    color: #071321;
}
.store-v19-intro p:not(.eyebrow) { margin: 0; color: #607080; }
.store-v19-card-grid,
.store-v19-upload-grid,
.store-v19-toggle-grid,
.store-v19-delivery-mode,
.store-v19-location-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.store-v19-panel label {
    display: grid;
    gap: 8px;
    font-weight: 900;
    color: #132033;
}
.store-v19-panel small {
    color: #64748b;
    font-weight: 700;
}
.store-v19-panel input:not([type="checkbox"]):not([type="radio"]),
.store-v19-panel select,
.store-v19-panel textarea,
.store-v19-search-row input {
    width: 100%;
    border: 1px solid #dbe7ef;
    border-radius: 14px;
    padding: 13px 14px;
    background: #fbfdff;
    color: #071321;
    font: inherit;
    outline: none;
}
.store-v19-panel input:focus,
.store-v19-panel select:focus,
.store-v19-panel textarea:focus,
.store-v19-search-row input:focus {
    border-color: #0f766e;
    box-shadow: 0 0 0 4px rgba(15,118,110,.10);
}
.store-v19-upload {
    min-height: 130px;
    border: 1px dashed #9fcac6;
    border-radius: 22px;
    padding: 20px;
    background: #f7fffd;
    cursor: pointer;
}
.store-v19-advanced {
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 14px;
    background: #f8fafc;
}
.store-v19-location-grid {
    align-items: stretch;
}
.store-v19-location-form { display: grid; gap: 14px; }
.store-v19-search-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 8px;
}
.store-v19-map {
    min-height: 460px;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid #dbe7ef;
    background: #e2e8f0;
}
.osm-results {
    color: #64748b;
    font-size: .92rem;
    display: grid;
    gap: 8px;
}
.osm-result-button {
    border: 1px solid #dbe7ef;
    background: #fff;
    border-radius: 12px;
    padding: 10px 12px;
    cursor: pointer;
    text-align: left;
    color: #0f172a;
}
.store-v19-toggle,
.store-v19-radio {
    grid-template-columns: auto 1fr;
    align-items: center;
    border: 1px solid #dbe7ef;
    border-radius: 20px;
    padding: 16px;
    background: #f8fafc;
}
.store-v19-toggle input,
.store-v19-radio input { width: 20px; height: 20px; accent-color: #0f766e; }
.store-v19-toggle span,
.store-v19-radio span { display: grid; gap: 4px; }
.store-v19-toggle small,
.store-v19-radio small { display: block; }
.store-v19-radius-panel,
.store-v19-zones-panel {
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    padding: 18px;
    background: #fbfdff;
}
.store-v19-zone-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 14px;
}
.store-v19-zone-head h3 { margin: 0 0 4px; }
.store-v19-zone-head p { margin: 0; color: #64748b; }
.store-v19-zone-accordion { display: grid; gap: 10px; max-height: 560px; overflow: auto; padding-right: 4px; }
.store-v19-province {
    border: 1px solid #dbe7ef;
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
}
.store-v19-province summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    padding: 14px 16px;
    list-style: none;
}
.store-v19-province summary::-webkit-details-marker { display: none; }
.store-v19-province summary span { display: grid; gap: 3px; }
.store-v19-province summary small { color: #64748b; }
.store-v19-province summary label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #0f766e;
    background: #ecfdf5;
    padding: 8px 10px;
    border-radius: 999px;
}
.store-v19-municipality-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 8px;
    padding: 0 16px 16px;
}
.store-v19-municipality-grid label {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f8fafc;
    border: 1px solid #edf2f7;
    border-radius: 12px;
    padding: 9px 10px;
    font-weight: 800;
}
.store-v19-ai-list { display: grid; gap: 12px; }
.store-v19-ai-row {
    display: grid;
    grid-template-columns: minmax(180px, .6fr) 1fr auto;
    gap: 12px;
    align-items: end;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 14px;
    background: #f8fafc;
}
.store-v19-savebar {
    position: sticky;
    bottom: 14px;
    z-index: 35;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background: #071321;
    color: #fff;
    border-radius: 24px;
    padding: 18px 20px;
    box-shadow: 0 24px 55px rgba(7,19,33,.25);
}
.store-v19-savebar p { margin: 2px 0 0; color: #cbd5e1; }
.store-v19-savebar .button { background: #facc15; color: #071321; }
.role-dashboard-grid .stat,
.grid .stat {
    border: 1px solid #dbe7ef;
    border-radius: 22px;
    padding: 20px;
    background: linear-gradient(135deg, #fff, #f8fafc);
    box-shadow: 0 18px 45px rgba(15,23,42,.06);
}
.stat span { display: block; color: #64748b; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; }
.stat strong { display: block; color: #071321; font-size: 2rem; letter-spacing: -.04em; margin-top: 6px; }
.role-module-list { display: grid; gap: 10px; }
.role-module-list a {
    text-decoration: none;
    color: #0f766e;
    font-weight: 900;
    padding: 14px 16px;
    border: 1px solid #dbe7ef;
    border-radius: 16px;
    background: #f8fafc;
}
@media (max-width: 900px) {
    .delinvento-backoffice-bar,
    .store-v19-heading,
    .store-v19-zone-head,
    .store-v19-savebar { flex-direction: column; align-items: stretch; }
    .delinvento-backoffice-nav { margin-left: 0; }
    .store-v19-card-grid,
    .store-v19-upload-grid,
    .store-v19-toggle-grid,
    .store-v19-delivery-mode,
    .store-v19-location-grid,
    .store-v19-profile,
    .store-v19-ai-row { grid-template-columns: 1fr; }
    .store-v19-search-row { grid-template-columns: 1fr; }
    .store-v19-map { min-height: 330px; }
    .store-v19-tabs { top: 0; }
}

/* ===== Delinvento v19 - Vista pública simple de tienda ===== */
.delinvento-store-lite {
    display: grid;
    gap: 22px;
    padding: 28px 0 60px;
}
.store-lite-hero {
    min-height: 280px;
    border-radius: 34px;
    overflow: hidden;
    position: relative;
    background: var(--store-banner, linear-gradient(135deg, #071321, #0f766e));
    background-size: cover;
    background-position: center;
    box-shadow: 0 24px 70px rgba(15,23,42,.14);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 22px;
    align-items: end;
    padding: 30px;
}
.store-lite-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(7,19,33,.88), rgba(7,19,33,.44), rgba(15,118,110,.20));
}
.store-lite-logo,
.store-lite-copy { position: relative; z-index: 2; }
.store-lite-logo {
    width: 110px;
    height: 110px;
    border-radius: 28px;
    background: #fff;
    display: grid;
    place-items: center;
    box-shadow: 0 20px 50px rgba(0,0,0,.22);
    overflow: hidden;
    color: #0f766e;
    font-size: 2.4rem;
    font-weight: 900;
}
.store-lite-logo img { width: 100%; height: 100%; object-fit: cover; }
.store-lite-copy { color: #fff; max-width: 720px; }
.store-lite-copy h1 {
    margin: 4px 0 10px;
    font-size: clamp(2.2rem, 6vw, 4.4rem);
    line-height: .95;
    letter-spacing: -.06em;
}
.store-lite-copy p { color: rgba(255,255,255,.88); font-size: 1.08rem; }
.store-lite-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.store-lite-tags span {
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.22);
    color: #fff;
    border-radius: 999px;
    padding: 8px 11px;
    font-weight: 900;
    font-size: .78rem;
}
.store-lite-filters {
    display: grid;
    gap: 14px;
    border-radius: 28px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 18px 50px rgba(15,23,42,.07);
}
.store-lite-filters h2 { margin: 0; font-size: 2rem; letter-spacing: -.04em; }
.store-lite-search-row input {
    width: 100%;
    border: 1px solid #dbe7ef;
    border-radius: 18px;
    padding: 14px 16px;
    background: #fbfdff;
    font: inherit;
}
.store-lite-chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.store-lite-chips button,
.store-lite-category {
    border: 1px solid #dbe7ef;
    background: #fff;
    color: #071321;
    font-weight: 900;
    border-radius: 999px;
    padding: 9px 12px;
    cursor: pointer;
}
.store-lite-chips button.is-active { background: #0f766e; color: #fff; border-color: #0f766e; }
.store-lite-categories {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
}
.store-lite-category {
    min-height: 110px;
    border-radius: 22px;
    padding: 14px;
    text-align: left;
    display: grid;
    align-content: end;
    overflow: hidden;
    position: relative;
    background: linear-gradient(135deg, #f0fdfa, #f8fafc);
}
.store-lite-category img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 48%;
    height: 100%;
    object-fit: cover;
    opacity: .45;
}
.store-lite-category strong,
.store-lite-category span { position: relative; z-index: 1; }
.store-lite-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}
.store-lite-product-card {
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 16px 45px rgba(15,23,42,.06);
    transition: transform .18s ease, box-shadow .18s ease;
}
.store-lite-product-card:hover { transform: translateY(-3px); box-shadow: 0 22px 55px rgba(15,23,42,.12); }
.store-lite-product-photo {
    width: 100%;
    height: 170px;
    border: 0;
    background: linear-gradient(135deg, #f8fafc, #eef6f5);
    display: grid;
    place-items: center;
    cursor: pointer;
}
.store-lite-product-photo img { width: 100%; height: 100%; object-fit: contain; padding: 14px; }
.store-lite-product-photo span { font-size: 2.5rem; font-weight: 900; color: #0f766e; }
.store-lite-product-info { padding: 14px; display: grid; gap: 8px; }
.store-lite-product-info > span { color: #0f766e; font-size: .76rem; text-transform: uppercase; font-weight: 900; }
.store-lite-product-info button[data-store-open-detail] {
    border: 0;
    background: transparent;
    text-align: left;
    padding: 0;
    color: #071321;
    font: inherit;
    cursor: pointer;
}
.store-lite-product-info p { margin: 0; color: #64748b; min-height: 2.8em; }
.store-lite-product-info > div { display: flex; justify-content: space-between; align-items: center; gap: 10px; }

/* ===== Delinvento v20 - Store delivery checkboxes + order details ===== */
.store-v19-province summary label,
.store-v19-municipality-grid label {
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
}
.store-v19-province summary label {
    gap: 6px;
    padding: 6px 9px;
}
.store-v19-municipality-grid {
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 6px;
}
.store-v19-municipality-grid label {
    min-height: 36px;
    padding: 7px 9px;
    border-radius: 10px;
}
.store-v19-municipality-grid label span {
    overflow: hidden;
    text-overflow: ellipsis;
}
.store-v19-municipality-grid input[type="checkbox"],
.store-v19-province input[type="checkbox"] {
    width: 15px;
    height: 15px;
    min-width: 15px;
    accent-color: #0f766e;
    margin: 0;
}

.store-orders-heading {
    align-items: center;
    gap: 18px;
}
.store-orders-heading p {
    color: #64748b;
    max-width: 760px;
}
.store-orders-empty {
    border-radius: 24px;
}
.store-orders-list {
    display: grid;
    gap: 14px;
}
.store-order-detail-card {
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 26px;
    box-shadow: 0 18px 50px rgba(15,23,42,.07);
    overflow: hidden;
}
.store-order-detail-card[open] {
    box-shadow: 0 26px 70px rgba(15,23,42,.12);
}
.store-order-summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    list-style: none;
    padding: 18px 20px;
}
.store-order-summary::-webkit-details-marker { display: none; }
.store-order-summary-main {
    align-items: center;
    display: flex;
    gap: 14px;
    min-width: 0;
}
.store-order-number {
    align-items: center;
    background: #071321;
    border-radius: 16px;
    color: #fff;
    display: inline-flex;
    font-weight: 950;
    justify-content: center;
    min-height: 48px;
    min-width: 72px;
    padding: 8px 12px;
}
.store-order-summary h2 {
    color: #071321;
    font-size: clamp(18px, 2.4vw, 24px);
    margin: 0 0 4px;
}
.store-order-summary p {
    color: #64748b;
    margin: 0;
}
.store-order-summary-side {
    align-items: flex-end;
    display: grid;
    gap: 6px;
    justify-items: end;
    text-align: right;
}
.store-order-summary-side strong {
    color: #071321;
    font-size: 20px;
}
.store-order-summary-side small {
    color: #94a3b8;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.store-order-badge {
    border-radius: 999px;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .04em;
    padding: 7px 10px;
    text-transform: uppercase;
}
.store-order-badge.info { background: #e0f2fe; color: #0369a1; }
.store-order-badge.warning { background: #fef3c7; color: #92400e; }
.store-order-badge.success { background: #dcfce7; color: #047857; }
.store-order-badge.danger { background: #fee2e2; color: #b91c1c; }
.store-order-expanded {
    border-top: 1px solid rgba(15,23,42,.08);
    display: grid;
    gap: 16px;
    padding: 18px;
}
.store-order-top-grid,
.store-order-grid {
    display: grid;
    gap: 14px;
}
.store-order-top-grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .8fr);
}
.store-order-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.store-order-info-panel,
.store-order-products-panel,
.store-order-events-panel {
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.07);
    border-radius: 20px;
    padding: 16px;
}
.store-order-info-panel.important {
    background: linear-gradient(135deg, #071321, #0f766e);
    color: #fff;
}
.store-order-info-panel h3,
.store-order-products-panel h3,
.store-order-events-panel h3 {
    margin: 0 0 12px;
}
.store-order-info-panel p {
    color: #475569;
    margin: 8px 0;
}
.store-order-info-panel.important p,
.store-order-info-panel.important h3 {
    color: #fff;
}
.store-order-status-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.store-order-status-grid span {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    display: grid;
    gap: 4px;
    padding: 12px;
}
.store-order-status-grid small {
    color: rgba(255,255,255,.68);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.store-order-status-grid strong {
    color: #fff;
    font-size: 15px;
}
.store-order-status-form {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr auto;
}
.store-order-items-grid {
    display: grid;
    gap: 10px;
}
.store-order-item-card {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 18px;
    display: grid;
    gap: 12px;
    grid-template-columns: 76px 1fr auto;
    padding: 10px;
}
.store-order-item-image,
.store-order-item-image img {
    align-items: center;
    background: #eef7f4;
    border-radius: 15px;
    display: flex;
    height: 76px;
    justify-content: center;
    object-fit: contain;
    width: 76px;
}
.store-order-item-image span {
    color: #0f766e;
    font-size: 28px;
    font-weight: 950;
}
.store-order-item-card h4 {
    color: #071321;
    margin: 0 0 4px;
}
.store-order-item-card p,
.store-order-item-card small,
.store-order-item-card em {
    color: #64748b;
    display: block;
    font-size: 13px;
    margin: 4px 0 0;
}
.store-order-item-money {
    display: grid;
    gap: 4px;
    justify-items: end;
    text-align: right;
}
.store-order-item-money span {
    color: #64748b;
    font-size: 13px;
    font-weight: 850;
}
.store-order-item-money strong {
    color: #071321;
    font-size: 16px;
}
.store-order-events-list {
    display: grid;
    gap: 10px;
}
.store-order-events-list article {
    background: #fff;
    border: 1px solid rgba(15,23,42,.07);
    border-radius: 16px;
    padding: 12px;
}
.store-order-events-list span {
    color: #64748b;
    display: block;
    font-size: 12px;
    margin-top: 3px;
}
.store-order-events-list p {
    color: #475569;
    margin: 7px 0 0;
}
.muted-text {
    color: #64748b;
}

@media (max-width: 980px) {
    .store-order-summary,
    .store-orders-heading {
        align-items: stretch;
        flex-direction: column;
    }
    .store-order-summary-side {
        align-items: start;
        justify-items: start;
        text-align: left;
    }
    .store-order-top-grid,
    .store-order-grid {
        grid-template-columns: 1fr;
    }
    .store-order-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .store-order-item-card {
        grid-template-columns: 62px 1fr;
    }
    .store-order-item-image,
    .store-order-item-image img {
        height: 62px;
        width: 62px;
    }
    .store-order-item-money {
        grid-column: 2;
        justify-items: start;
        text-align: left;
    }
}

/* ===== Delinvento v22 - Admin completo ===== */
.admin-hero {
    align-items: center;
    background: linear-gradient(135deg, #071321, #102238 58%, #123c33);
    border-radius: 30px;
    color: #fff;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    margin: 22px 0;
    padding: 28px;
    position: relative;
    overflow: hidden;
}
.admin-hero::after {
    background: radial-gradient(circle at center, rgba(250,204,21,.3), transparent 60%);
    content: "";
    height: 220px;
    position: absolute;
    right: -80px;
    top: -90px;
    width: 220px;
}
.admin-hero > * { position: relative; z-index: 1; }
.admin-hero h1 { color: #fff; font-size: clamp(28px, 4vw, 44px); margin: 4px 0 8px; }
.admin-hero p { color: rgba(255,255,255,.75); margin: 0; max-width: 760px; }
.admin-hero .eyebrow { color: #fde047; }
.admin-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.admin-stat-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0 0 18px;
}
.admin-stat-grid article {
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 24px;
    box-shadow: 0 18px 50px rgba(15,23,42,.06);
    padding: 18px;
}
.admin-stat-grid span { color: #64748b; display: block; font-size: 13px; font-weight: 800; text-transform: uppercase; }
.admin-stat-grid strong { color: #071321; display: block; font-size: 30px; margin-top: 6px; }
.admin-stat-grid small { color: #94a3b8; display: block; margin-top: 4px; }
.admin-layout-two { display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin: 18px 0; }
.admin-panel-card { border: 1px solid rgba(15,23,42,.08); border-radius: 26px; box-shadow: 0 18px 60px rgba(15,23,42,.07); }
.admin-shortcuts { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-shortcuts a {
    align-items: center;
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 18px;
    color: #0f172a;
    display: flex;
    font-weight: 900;
    justify-content: space-between;
    padding: 14px;
    text-decoration: none;
}
.admin-shortcuts a::after { content: "→"; color: #f59e0b; }
.admin-section-title { align-items: center; display: flex; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.admin-section-title h2 { margin: 0; }
.admin-store-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-store-card {
    background: linear-gradient(180deg, #fff, #f8fafc);
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 22px;
    display: grid;
    gap: 12px;
    padding: 16px;
}
.admin-store-top { align-items: center; display: flex; gap: 12px; }
.admin-store-top strong { display: block; font-size: 18px; }
.admin-store-top span { color: #64748b; display: block; font-size: 13px; }
.admin-store-logo, .admin-order-item-img {
    align-items: center;
    background: #fef3c7;
    border-radius: 18px;
    display: grid;
    font-weight: 950;
    height: 52px;
    overflow: hidden;
    place-items: center;
    width: 52px;
}
.admin-store-logo img, .admin-order-item-img img { height: 100%; object-fit: cover; width: 100%; }
.admin-store-metrics { display: flex; flex-wrap: wrap; gap: 8px; }
.admin-store-metrics span {
    background: #eef2ff;
    border-radius: 999px;
    color: #334155;
    font-size: 12px;
    font-weight: 850;
    padding: 7px 10px;
}
.admin-card-actions, .admin-user-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.admin-user-columns { display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.admin-user-columns h3 { margin-top: 0; }
.admin-user-card, .admin-order-card, .banner-admin-item {
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 20px;
    margin-bottom: 10px;
    overflow: hidden;
}
.admin-user-card > summary, .admin-order-card > summary, .banner-admin-item > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    list-style: none;
    padding: 15px;
}
.admin-user-card > summary::-webkit-details-marker, .admin-order-card > summary::-webkit-details-marker, .banner-admin-item > summary::-webkit-details-marker { display: none; }
.admin-user-card summary strong, .admin-order-card summary strong { color: #071321; display: block; }
.admin-user-card summary span, .admin-order-card summary span { color: #64748b; font-size: 13px; }
.admin-user-card > p, .admin-user-card > div, .banner-admin-item > form, .banner-admin-item > .form { padding: 0 15px 15px; }
.admin-inline-form { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.admin-inline-form input, .admin-inline-form select { min-height: 38px; max-width: 220px; }
.pill.danger { background: #fee2e2; color: #991b1b; }
.admin-order-list { display: grid; gap: 12px; }
.admin-order-card-side { align-items: end; display: grid; gap: 6px; justify-items: end; }
.admin-order-detail-grid { border-top: 1px solid rgba(15,23,42,.06); display: grid; gap: 16px; grid-template-columns: 1.2fr .8fr; padding: 16px; }
.admin-order-detail-grid h4, .admin-order-card h4 { margin: 0 0 9px; }
.admin-order-detail-grid p { color: #475569; margin: 5px 0; }
.admin-order-items { display: grid; gap: 10px; padding: 0 16px 16px; }
.admin-order-items article { align-items: center; background: #f8fafc; border-radius: 16px; display: grid; gap: 10px; grid-template-columns: 52px minmax(0, 1fr) auto; padding: 10px; }
.admin-order-items small { color: #64748b; display: block; margin-top: 3px; }
.admin-order-item-money { display: grid; justify-items: end; }
.admin-event-list { display: grid; gap: 8px; padding: 0 16px 16px; }
.admin-event-list article { background: #fff7ed; border: 1px solid rgba(251,146,60,.18); border-radius: 14px; padding: 10px; }
.admin-event-list span { color: #9a3412; display: block; font-size: 12px; }
.admin-event-list p { margin: 4px 0 0; }
.admin-zone-picker { background: #f8fafc; border: 1px solid rgba(15,23,42,.08); border-radius: 20px; max-height: 360px; overflow: auto; padding: 10px; }
.admin-zone-province { background: #fff; border: 1px solid rgba(15,23,42,.07); border-radius: 16px; margin-bottom: 8px; }
.admin-zone-province summary { align-items: center; cursor: pointer; display: flex; justify-content: space-between; list-style: none; padding: 10px 12px; }
.admin-zone-province summary::-webkit-details-marker { display: none; }
.admin-zone-province summary span { color: #64748b; font-size: 12px; }
.admin-zone-all { background: #fefce8; border-bottom: 1px solid rgba(15,23,42,.06); display: block; font-weight: 900; padding: 9px 12px; }
.admin-zone-checks { display: grid; gap: 6px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px 12px 12px; }
.admin-zone-checks label, .admin-zone-all { color: #334155; font-size: 13px; }
.admin-zone-checks input, .admin-zone-all input { height: 14px; margin-right: 5px; width: 14px; }
.admin-zone-box[hidden] { display: none !important; }
@media (max-width: 1050px) {
    .admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-layout-two, .admin-store-grid, .admin-user-columns, .admin-order-detail-grid { grid-template-columns: 1fr; }
    .admin-hero { align-items: stretch; flex-direction: column; }
}
@media (max-width: 650px) {
    .admin-stat-grid { grid-template-columns: 1fr; }
    .admin-zone-checks { grid-template-columns: 1fr; }
    .admin-order-items article { grid-template-columns: 52px 1fr; }
    .admin-order-item-money { grid-column: 2; justify-items: start; }
}

/* v23 - Control inteligente de reparticiones */
.delivery-control-stack,
.rider-route-stack {
    display: grid;
    gap: 16px;
}
.delivery-group-card,
.rider-route-card {
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 18px 55px rgba(15, 23, 42, .07);
    overflow: hidden;
}
.delivery-group-card > summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    align-items: center;
}
.delivery-group-card > summary::-webkit-details-marker { display: none; }
.delivery-group-card h3,
.rider-route-card h3 { margin: 0; font-size: 1.22rem; }
.delivery-group-card summary span,
.rider-route-card header p { color: #64748b; font-size: .92rem; }
.delivery-group-summary-side { text-align: right; display: grid; gap: 8px; justify-items: end; }
.delivery-group-summary-side strong { font-size: 1.18rem; color: #0f172a; }
.delivery-intelligence-box {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 0 20px 18px;
}
.delivery-intelligence-box > div {
    border: 1px solid rgba(14, 165, 233, .16);
    background: rgba(240, 249, 255, .75);
    border-radius: 18px;
    padding: 14px;
}
.delivery-intelligence-box span { display:block; color:#0369a1; font-weight:800; font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; }
.delivery-intelligence-box strong { display:block; color:#0f172a; margin-top:4px; }
.delivery-intelligence-box p { margin:6px 0 0; color:#64748b; font-size:.86rem; }
.delivery-route-map {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 14px;
    padding: 0 20px 18px;
}
.delivery-route-map section {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 20px;
    padding: 14px;
    background: #fff;
}
.delivery-route-map h4 { margin: 0 0 12px; }
.delivery-store-stop,
.delivery-stop,
.delivery-destination-stop {
    display: flex;
    gap: 12px;
    align-items: center;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    padding: 10px;
    margin-bottom: 10px;
    background: #f8fafc;
}
.delivery-store-logo,
.admin-order-item-img {
    flex: 0 0 auto;
}
.delivery-store-logo {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    overflow: hidden;
    background: #e2e8f0;
    display:grid;
    place-items:center;
    font-weight:900;
    color:#0f172a;
}
.delivery-store-logo img { width:100%; height:100%; object-fit:cover; }
.delivery-store-stop > div:nth-child(2),
.delivery-stop > div,
.delivery-destination-stop { min-width: 0; }
.delivery-store-stop small,
.delivery-stop small,
.delivery-destination-stop small { display:block; color:#64748b; font-size:.82rem; margin-top:2px; }
.delivery-store-status-form,
.inline-delivery-form,
.rider-route-actions,
.route-pin-form {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
.delivery-store-status-form { margin-left: auto; }
.delivery-store-status-form select,
.inline-delivery-form select,
.inline-delivery-form input,
.route-pin-form input {
    min-height: 36px;
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 12px;
    padding: 7px 10px;
    background: #fff;
}
.delivery-group-actions {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 12px;
    padding: 0 20px 18px;
}
.delivery-group-products { padding: 0 20px 20px; }
.delivery-order-mini {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    background: #fff;
    margin-top: 10px;
    overflow: hidden;
}
.delivery-order-mini summary {
    cursor:pointer;
    padding: 12px 14px;
    font-weight: 800;
}
.admin-order-items.compact article { padding: 8px 12px; }
.rider-route-card { padding: 18px; }
.rider-route-card header {
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    margin-bottom:14px;
}
.rider-route-actions { margin: 0 0 12px; }
.route-pin-form { margin-top: 8px; }
.delivery-group-card.danger { border-color: rgba(239,68,68,.35); }
.delivery-group-card.warning { border-color: rgba(245,158,11,.35); }
.delivery-group-card.multi { border-color: rgba(59,130,246,.30); }
.pill.danger { background: #fee2e2; color:#991b1b; }
@media (max-width: 900px) {
    .delivery-intelligence-box,
    .delivery-route-map,
    .delivery-group-actions { grid-template-columns: 1fr; }
    .delivery-store-stop { align-items:flex-start; }
    .delivery-store-status-form { margin-left: 0; width:100%; }
}

/* v24 - checkout fulfillment + delivery filters */
.cart-fulfillment-box { margin-top: 10px; }
.cart-fulfillment-options,
.cart-destination-options { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.cart-fulfillment-options .button.is-active,
.cart-destination-options .button.is-active { background: #0f766e; color: #fff; border-color: #0f766e; }
.delivery-filter-panel {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 24px;
    padding: 18px;
    margin-bottom: 18px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
}
.delivery-filter-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 14px; }
.delivery-filter-head h3 { margin: 2px 0 0; }
.delivery-filter-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.delivery-filter-grid { display: grid; grid-template-columns: repeat(5, minmax(150px, 1fr)); gap: 10px; }
.delivery-filter-grid label { display: grid; gap: 6px; font-weight: 800; font-size: 12px; color: #475569; text-transform: uppercase; letter-spacing: .04em; }
.delivery-filter-grid input,
.delivery-filter-grid select { min-height: 42px; border: 1px solid rgba(15, 23, 42, .14); border-radius: 14px; padding: 8px 10px; font: inherit; background: #fff; color: #0f172a; text-transform: none; letter-spacing: 0; }
@media (max-width: 1100px) { .delivery-filter-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); } }
@media (max-width: 700px) { .delivery-filter-grid { grid-template-columns: 1fr; } .delivery-filter-head { flex-direction: column; } }

.turnstile-box {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0 4px;
}

.turnstile-box .cf-turnstile {
    max-width: 100%;
}
/* Delinvento v25: entrega por proveedor */
.cart-provider-delivery {
  display: grid !important;
  gap: 6px;
  padding: 12px 14px;
  border: 1px solid rgba(15,118,110,.18);
  border-radius: 16px;
  background: #f0fdfa;
}
.cart-provider-delivery[hidden] { display: none !important; }
.cart-provider-delivery strong { color: #0f172a; font-size: 15px; }
.cart-provider-delivery small { display: block; color: #475569; line-height: 1.35; }

/* v27 · Mapas y seguimiento de repartición */
.delivery-map-panel{
    margin:18px 0;
    border:1px solid rgba(15,23,42,.10);
    border-radius:22px;
    overflow:hidden;
    background:linear-gradient(180deg,#ffffff,#f8fafc);
    box-shadow:0 14px 34px rgba(15,23,42,.08);
}
.osm-route-map{
    width:100%;
    min-height:280px;
    border-radius:22px 22px 0 0;
    overflow:hidden;
    background:#e5eef4;
    cursor:pointer;
    position:relative;
}
.rider-map-panel .osm-route-map{ min-height:340px; }
.osm-map-fallback{
    min-height:260px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    text-align:center;
    font-weight:800;
    color:#334155;
    background:repeating-linear-gradient(135deg,#f8fafc,#f8fafc 12px,#eef2ff 12px,#eef2ff 24px);
}
.delivery-map-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    border-top:1px solid rgba(15,23,42,.08);
}
.delivery-map-actions small{
    color:#64748b;
    font-weight:700;
}
.mini-map-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    margin-top:8px;
    padding:7px 10px;
    border-radius:999px;
    background:#ecfeff;
    color:#0e7490;
    font-size:.78rem;
    font-weight:900;
    text-decoration:none;
    border:1px solid rgba(14,116,144,.20);
}
.mini-map-link:hover{ background:#cffafe; }
.rider-route-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:14px 0;
}
.client-order-events[open]{
    border-color:rgba(15,118,110,.22);
    background:linear-gradient(180deg,#ffffff,#f0fdfa);
}
.client-order-events-placeholder{
    border:1px dashed rgba(15,23,42,.18);
    border-radius:18px;
    padding:14px;
    background:#f8fafc;
    color:#475569;
}
.client-order-events-placeholder strong{ color:#0f172a; }
@media (max-width: 760px){
    .delivery-map-actions{ align-items:flex-start; flex-direction:column; }
    .osm-route-map,.rider-map-panel .osm-route-map{ min-height:260px; }
}

/* Delinvento v28: indicador de stock */
.stock-chip { display:inline-flex; align-items:center; gap:6px; width:max-content; border:1px solid rgba(15,118,110,.16); background:#ecfdf5; color:#0f766e; border-radius:999px; padding:4px 9px; font-size:.76rem; font-weight:900; }
button[disabled], .button[disabled] { opacity:.55; cursor:not-allowed; filter:grayscale(.2); }


@media(max-width:760px){
    .delinvento-client-orders-button{width:48px;padding:0;justify-content:center}
    .delinvento-client-orders-button span{display:none}
}

/* v29: respeta el atributo hidden en avisos con display:flex */
.store-filter-notice[hidden]{display:none!important}

/* =========================================================
   Delinvento v30: logo horizontal WebP + header móvil compacto
   ========================================================= */
.delinvento-header-v9 .delinvento-shop-logo {
    align-items: center;
    min-width: 0;
    line-height: 1;
}
.delinvento-header-v9 .delinvento-logo-img {
    display: block;
    width: min(184px, 100%);
    height: auto;
    max-height: 48px;
    object-fit: contain;
}
.delinvento-header-v9 .delinvento-logo-icon,
.delinvento-header-v9 .delinvento-logo-text {
    display: none !important;
}
@media (max-width: 780px) {
    .delinvento-header-v9 {
        box-shadow: 0 8px 20px rgba(9, 20, 34, .16);
    }
    .delinvento-header-v9 .delinvento-shop-mainbar {
        grid-template-columns: minmax(126px, 1fr) auto auto;
        align-items: center;
        gap: 8px;
        min-height: 54px;
        padding: 6px 9px 8px;
        background: linear-gradient(135deg, #07111d 0%, #0d1b2c 100%);
    }
    .delinvento-header-v9 .delinvento-shop-logo {
        grid-column: 1;
        min-height: 42px;
        justify-content: flex-start;
    }
    .delinvento-header-v9 .delinvento-logo-img {
        width: 148px;
        max-height: 39px;
    }
    .delinvento-header-v9 .delinvento-header-category-btn {
        display: inline-flex !important;
        grid-column: 2;
        grid-row: 1;
        width: 42px;
        height: 42px;
        min-width: 42px;
        border-radius: 14px;
        padding: 0;
        box-shadow: none;
    }
    .delinvento-header-v9 .delinvento-header-category-btn span {
        display: none !important;
    }
    .delinvento-header-v9 .delinvento-header-actions {
        grid-column: 3;
        grid-row: 1;
        align-items: center;
        gap: 6px;
        min-width: max-content;
    }
    .delinvento-header-v9 .delinvento-icon-action,
    .delinvento-header-v9 .delinvento-client-orders-button,
    .delinvento-header-v9 .delinvento-client-account {
        width: 42px;
        height: 42px;
        border-radius: 14px;
        padding: 0;
    }
    .delinvento-header-v9 .delinvento-client-orders-button span,
    .delinvento-header-v9 .delinvento-client-name,
    .delinvento-header-v9 .delinvento-client-logout {
        display: none !important;
    }
    .delinvento-header-v9 .delinvento-header-search {
        grid-column: 1 / -1;
        grid-row: 2;
        order: initial;
        height: 42px;
        border-radius: 14px;
        grid-template-columns: 1fr 48px;
        box-shadow: none;
    }
    .delinvento-header-v9 .delinvento-header-search input {
        font-size: 14px;
        padding: 0 14px;
    }
    .delinvento-header-v9 .delinvento-header-search button svg {
        width: 18px;
        height: 18px;
    }
    .delinvento-header-v9 .delinvento-header-location {
        display: inline-flex !important;
        grid-column: 1 / -1;
        grid-row: 3;
        order: initial;
        width: 100%;
        height: 36px;
        min-height: 36px;
        border-radius: 13px;
        padding: 0 12px;
        background: rgba(255,255,255,.075);
    }
    .delinvento-header-v9 .delinvento-header-location svg {
        width: 17px;
        height: 17px;
    }
    .delinvento-header-v9 .delinvento-header-location small {
        font-size: 9px;
        letter-spacing: .1em;
    }
    .delinvento-header-v9 .delinvento-header-location strong {
        font-size: 12px;
        max-width: none;
    }
    .delinvento-header-v9 .delinvento-shop-menubar {
        display: none !important;
    }
    .delinvento-header-v9 .delinvento-header-category-rail {
        padding: 7px 9px;
        gap: 6px;
        background: #ffd23f;
    }
    .delinvento-header-v9 .delinvento-header-category-rail button {
        border-radius: 9px;
        padding: 6px 11px;
        font-size: 13px;
    }
    .delinvento-main-container {
        padding-top: 14px;
    }
}
@media (max-width: 420px) {
    .delinvento-header-v9 .delinvento-shop-mainbar {
        grid-template-columns: minmax(112px, 1fr) auto auto;
        gap: 6px;
        padding-left: 8px;
        padding-right: 8px;
    }
    .delinvento-header-v9 .delinvento-logo-img {
        width: 132px;
        max-height: 36px;
    }
    .delinvento-header-v9 .delinvento-icon-action,
    .delinvento-header-v9 .delinvento-client-orders-button,
    .delinvento-header-v9 .delinvento-client-account,
    .delinvento-header-v9 .delinvento-header-category-btn {
        width: 39px;
        height: 39px;
        min-width: 39px;
        border-radius: 13px;
    }
    .delinvento-header-v9 svg {
        width: 18px;
        height: 18px;
    }
}


/* =========================================================
   Delinvento v31: Mis pedidos en modo lista desplegable
   ========================================================= */
.client-order-card-collapsible{
    padding:0;
    overflow:hidden;
}
.client-order-card-collapsible .client-order-summary-toggle{
    width:100%;
    border:0;
    background:linear-gradient(135deg,#ffffff,#f8fafc);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:clamp(16px,2.4vw,24px);
    text-align:left;
    font:inherit;
    color:inherit;
}
.client-order-card-collapsible .client-order-summary-toggle:hover{
    background:linear-gradient(135deg,#ffffff,#ecfdf5);
}
.client-order-card-collapsible .client-order-summary-toggle:focus-visible{
    outline:3px solid rgba(15,118,110,.35);
    outline-offset:-6px;
}
.client-order-summary-main{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
}
.client-order-summary-icon{
    width:58px;
    height:58px;
    border-radius:18px;
    background:#ecfdf5;
    border:1px solid rgba(15,118,110,.16);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#0f766e;
    font-weight:950;
    flex:0 0 auto;
    overflow:hidden;
}
.client-order-summary-icon img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:7px;
}
.client-order-summary-main .eyebrow{
    display:block;
    color:#0f766e;
    font-size:11px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin:0 0 3px;
}
.client-order-summary-main strong{
    color:#0f172a;
    display:block;
    font-size:clamp(18px,2.2vw,25px);
    line-height:1.12;
}
.client-order-summary-main small{
    display:block;
    color:#64748b;
    font-size:13px;
    font-weight:750;
    margin-top:5px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    max-width:min(640px,55vw);
}
.client-order-summary-side{
    display:flex;
    align-items:center;
    gap:12px;
    flex:0 0 auto;
}
.client-order-summary-side b{
    color:#0f172a;
    font-size:16px;
    white-space:nowrap;
}
.client-order-open-label{
    border:1px solid rgba(15,118,110,.18);
    background:#0f766e;
    color:#fff;
    border-radius:999px;
    padding:9px 12px;
    font-size:12px;
    font-weight:950;
    white-space:nowrap;
}
.client-order-card-collapsible.is-open .client-order-summary-toggle{
    border-bottom:1px solid rgba(15,23,42,.08);
}
.client-order-card-collapsible.is-open .client-order-open-label{
    background:#0f172a;
}
.client-order-card-collapsible .client-order-details{
    padding:clamp(18px,2.6vw,28px);
}
.client-order-card-collapsible .client-order-head{
    display:none;
}
@media(max-width:760px){
    .client-order-card-collapsible .client-order-summary-toggle{
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
    }
    .client-order-summary-main{
        width:100%;
    }
    .client-order-summary-icon{
        width:50px;
        height:50px;
        border-radius:16px;
    }
    .client-order-summary-main small{
        max-width:calc(100vw - 122px);
        font-size:12px;
    }
    .client-order-summary-side{
        width:100%;
        justify-content:space-between;
        gap:8px;
        flex-wrap:wrap;
    }
    .client-order-summary-side .client-order-status-pill{
        font-size:10px;
        padding:7px 9px;
        max-width:100%;
        white-space:normal;
    }
    .client-order-summary-side b{
        font-size:15px;
    }
    .client-order-open-label{
        padding:8px 10px;
        font-size:11px;
    }
}


/* =========================================================
   Delinvento v32: header móvil ultra compacto, categorías por vista y zona
   ========================================================= */
body.delinvento-home-category-mode #marketCatalogSection {
    display: none !important;
}
body.delinvento-home-category-mode #marketCategoryShowcase {
    margin-top: 0;
}
.store-lite-unavailable {
    border: 1px solid rgba(239, 68, 68, .22);
    background: #fff7f7;
    color: #7f1d1d;
    margin: 18px 0;
}
.store-lite-unavailable strong {
    display: block;
    color: #991b1b;
    font-size: 1.05rem;
    margin-bottom: 6px;
}
.store-lite-unavailable p {
    margin: 0 0 14px;
    color: #7f1d1d;
}
.store-lite-unavailable div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
body.store-lite-out-of-zone .store-lite-filters,
body.store-lite-out-of-zone .store-lite-categories,
body.store-lite-out-of-zone .store-lite-products {
    display: none !important;
}
.store-filter-notice {
    align-items: center;
    background: #eefdf9;
    border: 1px solid rgba(15, 118, 110, .18);
    border-radius: 18px;
    color: #0f3f3a;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 12px 14px;
}
.delinvento-product-card .market-store-line {
    align-items: center;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .07);
    border-radius: 14px;
    color: #0f172a;
    display: grid;
    gap: 8px;
    grid-template-columns: 24px minmax(0, 1fr);
    max-width: 100%;
    padding: 7px 9px;
    width: 100%;
}
.delinvento-product-card .market-store-line img {
    width: 24px;
    height: 24px;
    border-radius: 8px;
}
.delinvento-product-card .market-store-line span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.delinvento-product-card .market-store-line:hover {
    background: #ecfdf5;
    border-color: rgba(15, 118, 110, .22);
}
@media (max-width: 780px) {
    .delinvento-header-v9 {
        position: sticky;
        top: 0;
        z-index: 1400;
        box-shadow: 0 6px 16px rgba(9, 20, 34, .18);
    }
    .delinvento-header-v9 .delinvento-shop-mainbar {
        grid-template-columns: minmax(96px, 1fr) auto auto;
        gap: 5px;
        min-height: 40px;
        padding: 4px 7px 5px;
    }
    .delinvento-header-v9 .delinvento-shop-logo {
        min-height: 32px;
    }
    .delinvento-header-v9 .delinvento-logo-img {
        width: 116px;
        max-height: 30px;
    }
    .delinvento-header-v9 .delinvento-header-category-btn,
    .delinvento-header-v9 .delinvento-icon-action,
    .delinvento-header-v9 .delinvento-client-orders-button,
    .delinvento-header-v9 .delinvento-client-account {
        width: 34px;
        height: 34px;
        min-width: 34px;
        border-radius: 11px;
    }
    .delinvento-header-v9 .delinvento-header-actions {
        gap: 4px;
    }
    .delinvento-header-v9 svg {
        width: 16px;
        height: 16px;
        stroke-width: 2.25;
    }
    .delinvento-header-v9 .delinvento-icon-action span[data-cart-count] {
        min-width: 17px;
        height: 17px;
        font-size: 10px;
        right: -4px;
        top: -5px;
        border-width: 1.5px;
    }
    .delinvento-header-v9 .delinvento-header-search {
        height: 35px;
        border-radius: 12px;
        grid-template-columns: 1fr 40px;
    }
    .delinvento-header-v9 .delinvento-header-search input {
        font-size: 13px;
        padding: 0 11px;
    }
    .delinvento-header-v9 .delinvento-header-search button svg {
        width: 15px;
        height: 15px;
    }
    .delinvento-header-v9 .delinvento-header-location {
        height: 29px;
        min-height: 29px;
        border-radius: 10px;
        padding: 0 9px;
        gap: 7px;
    }
    .delinvento-header-v9 .delinvento-header-location svg {
        width: 14px;
        height: 14px;
    }
    .delinvento-header-v9 .delinvento-header-location small {
        display: none;
    }
    .delinvento-header-v9 .delinvento-header-location strong {
        font-size: 11px;
        line-height: 1;
    }
    .delinvento-header-v9 .delinvento-header-category-rail {
        display: none !important;
    }
    .delinvento-main-container {
        padding-top: 8px;
    }
    .delinvento-home {
        padding-top: 10px;
    }
    .market-section-head {
        align-items: flex-start;
        gap: 8px;
    }
    .market-section-head h2 {
        font-size: 1.35rem;
    }
    .delinvento-catalog-grid,
    .market-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .market-product-card {
        border-radius: 16px;
        box-shadow: 0 8px 22px rgba(15,23,42,.07);
    }
    .market-product-image {
        height: 112px;
    }
    .market-product-body {
        gap: 6px;
        padding: 10px;
    }
    .market-product-meta span:first-child {
        border-radius: 999px;
        font-size: 9px;
        padding: 4px 7px;
    }
    .market-product-body h3 {
        font-size: .94rem;
        line-height: 1.12;
    }
    .delinvento-product-card .market-store-line {
        border-radius: 11px;
        gap: 6px;
        grid-template-columns: 20px minmax(0, 1fr);
        padding: 5px 7px;
    }
    .delinvento-product-card .market-store-line img {
        width: 20px;
        height: 20px;
        border-radius: 7px;
    }
    .delinvento-product-card .market-store-line span {
        font-size: 12px;
        line-height: 1.1;
    }
    .market-card-actions {
        display: grid;
        gap: 6px;
        justify-items: start;
    }
    .market-card-actions strong {
        font-size: .95rem;
    }
    .stock-chip {
        font-size: 10px;
        padding: 4px 7px;
    }
    .market-card-actions .button.small {
        min-height: 31px;
        padding: 0 10px;
        font-size: 12px;
        border-radius: 10px;
    }
    .delinvento-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .delinvento-category-card {
        min-height: 112px;
        border-radius: 16px;
        padding: 12px;
    }
    .delinvento-category-card img {
        max-height: 54px;
        object-fit: contain;
    }
    .store-filter-notice {
        align-items: stretch;
        border-radius: 14px;
        flex-direction: column;
        gap: 8px;
        padding: 10px;
    }
}
@media (max-width: 420px) {
    .delinvento-header-v9 .delinvento-shop-mainbar {
        grid-template-columns: minmax(84px, 1fr) auto auto;
        gap: 4px;
        padding-left: 6px;
        padding-right: 6px;
    }
    .delinvento-header-v9 .delinvento-logo-img {
        width: 104px;
        max-height: 28px;
    }
    .delinvento-header-v9 .delinvento-header-category-btn,
    .delinvento-header-v9 .delinvento-icon-action,
    .delinvento-header-v9 .delinvento-client-orders-button,
    .delinvento-header-v9 .delinvento-client-account {
        width: 32px;
        height: 32px;
        min-width: 32px;
        border-radius: 10px;
    }
}

/* =========================================================
   Delinvento v33: header compacto también en escritorio
   ========================================================= */
@media (min-width: 781px) {
    .delinvento-header-v9 {
        box-shadow: 0 8px 20px rgba(9, 20, 34, .16);
    }
    .delinvento-header-v9 .delinvento-shop-mainbar {
        grid-template-columns: minmax(132px, 180px) auto minmax(280px, 1fr) minmax(150px, 210px) auto;
        gap: 8px;
        min-height: 50px;
        padding: 6px clamp(12px, 1.7vw, 22px);
    }
    .delinvento-header-v9 .delinvento-shop-logo {
        min-height: 38px;
    }
    .delinvento-header-v9 .delinvento-logo-img {
        width: 150px;
        max-height: 34px;
    }
    .delinvento-header-v9 .delinvento-header-category-btn {
        height: 38px;
        border-radius: 12px;
        gap: 6px;
        padding: 0 12px;
        font-size: 13px;
        box-shadow: 0 8px 16px rgba(255, 210, 63, .16);
    }
    .delinvento-header-v9 svg {
        width: 18px;
        height: 18px;
        stroke-width: 2.15;
    }
    .delinvento-header-v9 .delinvento-header-search {
        height: 38px;
        border-radius: 13px;
        grid-template-columns: 1fr 42px;
        box-shadow: 0 8px 18px rgba(0, 0, 0, .10);
    }
    .delinvento-header-v9 .delinvento-header-search input {
        font-size: 14px;
        padding: 0 13px;
    }
    .delinvento-header-v9 .delinvento-header-search button svg {
        width: 17px;
        height: 17px;
    }
    .delinvento-header-v9 .delinvento-header-location {
        height: 38px;
        border-radius: 13px;
        gap: 7px;
        padding: 0 10px;
    }
    .delinvento-header-v9 .delinvento-header-location small {
        font-size: 9px;
        letter-spacing: .1em;
    }
    .delinvento-header-v9 .delinvento-header-location strong {
        font-size: 12px;
        max-width: 150px;
    }
    .delinvento-header-v9 .delinvento-header-actions,
    .delinvento-client-header-menu {
        gap: 6px;
    }
    .delinvento-header-v9 .delinvento-icon-action,
    .delinvento-header-v9 .delinvento-client-orders-button,
    .delinvento-header-v9 .delinvento-client-account {
        min-width: 38px;
        height: 38px;
        border-radius: 13px;
    }
    .delinvento-header-v9 .delinvento-icon-action {
        width: 38px;
    }
    .delinvento-header-v9 .delinvento-client-orders-button {
        padding: 0 10px;
        gap: 6px;
    }
    .delinvento-header-v9 .delinvento-client-orders-button span {
        font-size: 11px;
    }
    .delinvento-header-v9 .delinvento-client-account {
        align-items: center;
        flex-direction: row;
        gap: 6px;
    }
    .delinvento-header-v9 .delinvento-client-avatar {
        width: 38px;
        height: 38px;
        border-radius: 13px;
    }
    .delinvento-header-v9 .delinvento-client-avatar svg {
        width: 18px;
        height: 18px;
    }
    .delinvento-header-v9 .delinvento-client-name {
        max-width: 66px;
        font-size: 10px;
    }
    .delinvento-header-v9 .delinvento-client-logout {
        align-items: center;
        display: inline-flex;
        min-height: 28px;
        padding: 0 8px;
    }
    .delinvento-header-v9 .delinvento-icon-action span[data-cart-count] {
        min-width: 17px;
        height: 17px;
        font-size: 10px;
        right: -4px;
        top: -5px;
        border-width: 1.5px;
    }
    .delinvento-header-v9 .delinvento-shop-menubar {
        min-height: 31px;
        padding: 4px clamp(12px, 1.7vw, 22px);
        gap: 10px;
    }
    .delinvento-header-v9 .delinvento-public-links {
        gap: clamp(8px, 1.3vw, 18px);
    }
    .delinvento-header-v9 .delinvento-public-links a,
    .delinvento-header-v9 .delinvento-header-meta a {
        font-size: 12px;
        line-height: 1;
    }
    .delinvento-header-v9 .delinvento-header-meta {
        gap: 6px;
    }
    .delinvento-header-v9 .delinvento-header-meta button {
        height: 27px;
        border-radius: 9px;
        font-size: 12px;
        padding: 0 9px;
    }
    .delinvento-header-v9 .delinvento-header-category-rail {
        display: none !important;
    }
    .delinvento-main-container {
        padding-top: 16px;
    }
    .delinvento-home {
        padding-top: 16px;
    }
}

@media (min-width: 781px) and (max-width: 1080px) {
    .delinvento-header-v9 .delinvento-shop-mainbar {
        grid-template-columns: minmax(124px, 160px) 38px minmax(210px, 1fr) minmax(126px, 175px) auto;
    }
    .delinvento-header-v9 .delinvento-header-category-btn {
        width: 38px;
        min-width: 38px;
        padding: 0;
        justify-content: center;
    }
    .delinvento-header-v9 .delinvento-header-category-btn span {
        display: none;
    }
    .delinvento-header-v9 .delinvento-header-location {
        grid-column: auto !important;
        order: initial !important;
        width: auto !important;
    }
    .delinvento-header-v9 .delinvento-header-actions {
        grid-column: auto !important;
    }
    .delinvento-header-v9 .delinvento-logo-img {
        width: 136px;
        max-height: 32px;
    }
    .delinvento-header-v9 .delinvento-header-location strong {
        max-width: 118px;
    }
    .delinvento-header-v9 .delinvento-client-orders-button span,
    .delinvento-header-v9 .delinvento-client-name,
    .delinvento-header-v9 .delinvento-client-logout {
        display: none !important;
    }
    .delinvento-header-v9 .delinvento-client-orders-button {
        width: 38px;
        padding: 0;
        justify-content: center;
    }
}

.market-recipient-grid-wide{grid-column:1/-1;}

/* =========================================================
   Delinvento v36: menú de cuenta, favoritos y evaluaciones
   ========================================================= */
.delinvento-client-account-wrap{position:relative;display:inline-flex;align-items:center;}
.delinvento-client-account{border:0;background:transparent;cursor:pointer;font:inherit;padding:0;}
.delinvento-client-avatar.has-image{overflow:hidden;background:#fff;}
.delinvento-client-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.delinvento-account-dropdown{position:absolute;right:0;top:calc(100% + 10px);z-index:2500;min-width:220px;background:#fff;color:#0f172a;border:1px solid rgba(15,23,42,.12);border-radius:18px;box-shadow:0 24px 55px rgba(15,23,42,.22);padding:10px;display:grid;gap:4px;}
.delinvento-account-dropdown[hidden]{display:none!important;}
.delinvento-account-dropdown::before{content:"";position:absolute;right:22px;top:-7px;width:14px;height:14px;background:#fff;border-left:1px solid rgba(15,23,42,.12);border-top:1px solid rgba(15,23,42,.12);transform:rotate(45deg);}
.delinvento-account-dropdown strong{font-size:13px;padding:10px 10px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.delinvento-account-dropdown a{color:#0f172a;text-decoration:none;font-size:13px;font-weight:900;border-radius:12px;padding:10px;}
.delinvento-account-dropdown a:hover{background:#ecfdf5;color:#0f766e;}
.market-product-card{position:relative;}
.market-favorite-btn{position:absolute;right:10px;top:10px;z-index:6;width:36px;height:36px;border-radius:999px;border:1px solid rgba(15,23,42,.10);background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(15,23,42,.12);cursor:pointer;display:grid;place-items:center;color:#0f172a;font-size:22px;line-height:1;transition:transform .16s ease,background .16s ease,color .16s ease;}
.market-favorite-btn:hover{transform:translateY(-1px) scale(1.03);background:#fff7ed;color:#ea580c;}
.market-favorite-btn.is-favorite{background:#fee2e2;color:#dc2626;border-color:#fecaca;}
.market-favorite-btn:disabled{opacity:.65;cursor:wait;}
.market-rating-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#92400e;font-size:11px;font-weight:950;line-height:1.2;}
.market-rating-row span,.market-rating-row b{display:inline-flex;align-items:center;gap:3px;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:4px 7px;color:#92400e;}
.market-rating-row small{color:#b45309;font-weight:900;}
.detail-rating-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.detail-rating-row span{background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;color:#92400e;font-size:12px;font-weight:950;padding:7px 10px;text-transform:none;letter-spacing:0;}
.client-profile-page,.client-favorites-page{display:grid;gap:22px;padding-bottom:54px;}
.client-profile-hero{align-items:center;background:linear-gradient(135deg,#07111f,#0f766e);border-radius:34px;color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:18px;padding:clamp(22px,4vw,38px);box-shadow:0 24px 60px rgba(15,23,42,.18);}
.client-profile-hero h1{color:#fff;margin:0;font-size:clamp(30px,4vw,48px);}
.client-profile-hero p:not(.eyebrow){color:rgba(255,255,255,.78);margin:6px 0 0;}
.client-profile-hero .eyebrow{color:#facc15;}
.client-profile-avatar-large{width:96px;height:96px;border-radius:28px;overflow:hidden;background:#fff;display:grid;place-items:center;color:#0f766e;font-size:42px;font-weight:950;border:1px solid rgba(255,255,255,.35);}
.client-profile-avatar-large img{width:100%;height:100%;object-fit:cover;}
.client-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.client-profile-card{display:grid;gap:10px;}
.client-profile-card h2{margin:0;}
.client-profile-card p{margin:0;color:#64748b;}
.client-favorites-grid{display:grid;gap:14px;}
.client-favorite-card{display:grid;grid-template-columns:90px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:14px;box-shadow:0 18px 46px rgba(15,23,42,.08);}
.client-favorite-image{width:90px;height:90px;border-radius:18px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;color:#0f766e;font-size:34px;font-weight:950;text-decoration:none;}
.client-favorite-image img{width:100%;height:100%;object-fit:contain;padding:8px;}
.client-favorite-card strong{display:block;color:#0f172a;font-size:18px;}
.client-favorite-card small{color:#64748b;font-weight:850;}
.client-favorite-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.client-store-review-card{margin-top:18px;padding:16px;border:1px solid rgba(15,118,110,.14);background:#f8fffd;border-radius:22px;display:grid;grid-template-columns:minmax(180px,.6fr) 1fr;gap:14px;align-items:center;}
.client-store-review-card h3{margin:0 0 5px;}
.client-store-review-card p{margin:0;color:#64748b;}
.client-review-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap;}
.client-review-form label{display:grid;gap:4px;color:#0f172a;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;}
.client-review-form select,.client-review-form input{border:1px solid #dbe7ef;border-radius:12px;background:#fff;color:#0f172a;font:inherit;font-weight:800;min-height:38px;padding:0 10px;}
.client-review-form input{min-width:min(270px,100%);}
.client-review-form-inline{margin-top:9px;}
.client-order-items article{align-items:start;}
.client-order-items article > div{min-width:0;}
@media(max-width:900px){.client-profile-hero{grid-template-columns:1fr;text-align:left}.client-profile-grid,.client-store-review-card{grid-template-columns:1fr}.client-favorite-card{grid-template-columns:72px 1fr}.client-favorite-image{width:72px;height:72px}.client-favorite-actions{grid-column:1/-1;justify-content:flex-start}.client-review-form input{min-width:100%;}.client-review-form{align-items:stretch}.client-review-form label,.client-review-form button{width:100%;}.client-review-form select{width:100%;}}
@media(max-width:780px){.market-favorite-btn{width:31px;height:31px;right:7px;top:7px;font-size:18px}.market-rating-row{font-size:10px;gap:4px}.market-rating-row span,.market-rating-row b{padding:3px 5px}.delinvento-account-dropdown{right:-44px;top:calc(100% + 8px);min-width:210px}.delinvento-client-account-wrap{position:static}.delinvento-header-actions{position:relative}}


/* =========================================================
   Delinvento v37: cards compactas, stock inteligente y reviews limpias
   ========================================================= */
.delinvento-catalog-grid,
.market-product-grid{
    grid-template-columns:repeat(auto-fill,minmax(165px,1fr));
    gap:12px;
}
.market-product-card.delinvento-product-card{
    border-radius:18px;
    box-shadow:0 10px 26px rgba(15,23,42,.065);
}
.delinvento-product-card .market-product-image,
.market-product-image{
    height:132px;
}
.delinvento-product-card .market-product-image{
    padding:8px;
}
.delinvento-product-card .market-product-image img{
    border-radius:12px;
}
.market-product-body{
    padding:10px 12px 12px;
    gap:7px;
}
.market-product-meta{
    min-height:0;
}
.market-product-meta span:first-child{
    font-size:10px;
    padding:4px 8px;
    border-radius:999px;
}
.market-product-body h3{
    font-size:1rem;
    line-height:1.08;
    min-height:1.08em;
}
.market-rating-row{margin:0;gap:5px;font-size:10px;}
.market-rating-row span,.market-rating-row b{padding:3px 6px;}
.delinvento-product-card .market-store-line{
    width:100%;
    max-width:100%;
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    align-items:center;
    gap:6px;
    padding:5px 7px;
    border-radius:12px;
    background:#f8fafc;
    border:1px solid rgba(15,23,42,.07);
}
.delinvento-product-card .market-store-line img{
    width:22px;
    height:22px;
    border-radius:7px;
}
.delinvento-product-card .market-store-line span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px;
}
.market-card-actions{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:end;
    gap:8px;
    margin-top:2px;
}
.market-price-stock{
    display:grid;
    align-content:end;
    justify-items:start;
    gap:5px;
    min-width:0;
}
.market-card-actions strong{
    font-size:1rem;
    line-height:1.05;
}
.stock-chip{
    border-radius:999px;
    padding:3px 7px;
    font-size:10px;
    line-height:1.1;
    white-space:nowrap;
}
.stock-chip.is-many{
    background:#ecfdf5;
    border-color:#a7f3d0;
    color:#0f766e;
}
.stock-chip.is-low{
    background:#fef2f2;
    border-color:#fecaca;
    color:#b91c1c;
}
.stock-chip.is-out{
    background:#f1f5f9;
    border-color:#cbd5e1;
    color:#475569;
}
.market-card-actions .button.small{
    min-height:34px;
    padding:0 12px;
    border-radius:12px;
    font-size:12px;
    white-space:nowrap;
}
.market-wishlist-action{
    background:#fff7ed!important;
    color:#9a3412!important;
    border:1px solid #fed7aa!important;
    box-shadow:none!important;
}
.market-wishlist-action.is-favorite{
    background:#fee2e2!important;
    color:#b91c1c!important;
    border-color:#fecaca!important;
}
.market-favorite-btn{
    width:32px;
    height:32px;
    right:8px;
    top:8px;
    font-size:19px;
}
.detail-rating-row:empty,.market-rating-row:empty{display:none;}
.detail-info .stock-chip{width:max-content;}
@media(min-width:1180px){
    .delinvento-catalog-grid,
    .market-product-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));}
}
@media(max-width:780px){
    .delinvento-catalog-grid,
    .market-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
    .market-product-card.delinvento-product-card{border-radius:15px;}
    .delinvento-product-card .market-product-image,.market-product-image{height:104px;}
    .market-product-body{padding:8px;gap:5px;}
    .market-product-body h3{font-size:.9rem;}
    .market-product-meta span:first-child{font-size:8.5px;padding:3px 6px;}
    .delinvento-product-card .market-store-line{grid-template-columns:18px minmax(0,1fr);gap:5px;padding:4px 6px;border-radius:10px;}
    .delinvento-product-card .market-store-line img{width:18px;height:18px;border-radius:6px;}
    .delinvento-product-card .market-store-line span{font-size:11px;}
    .market-card-actions{grid-template-columns:1fr;gap:5px;align-items:start;}
    .market-card-actions strong{font-size:.92rem;}
    .stock-chip{font-size:9px;padding:3px 6px;}
    .market-card-actions .button.small{min-height:29px;font-size:11px;padding:0 9px;border-radius:10px;}
    .market-favorite-btn{width:29px;height:29px;right:6px;top:6px;font-size:17px;}
}


/* V38 - Dirección por provincia/municipio + dirección exacta + referencia + GPS */
.market-zone-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 10px 0;
}
.market-zone-grid label,
.market-field-label {
    display: grid;
    gap: 6px;
    font-weight: 900;
    color: #062836;
}
.market-zone-grid select,
.market-field-label textarea {
    width: 100%;
    border: 1px solid rgba(0, 105, 92, .18);
    border-radius: 14px;
    background: #fff;
    padding: 11px 12px;
    font: inherit;
    color: #061727;
    outline: none;
}
.market-zone-grid select:focus,
.market-field-label textarea:focus,
.market-address-row input:focus {
    border-color: rgba(0, 128, 112, .48);
    box-shadow: 0 0 0 3px rgba(0, 128, 112, .10);
}
.market-field-label {
    margin: 10px 0;
}
.market-gps-status {
    margin: 8px 0 10px;
    border: 1px dashed rgba(0, 105, 92, .30);
    background: rgba(224, 255, 247, .62);
    color: #0a5950;
    border-radius: 14px;
    padding: 9px 12px;
    font-size: .9rem;
    font-weight: 800;
}
.market-gps-status.is-ready {
    border-style: solid;
    background: #eafff7;
    color: #006b58;
}
@media (max-width: 680px) {
    .market-zone-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .market-field-label textarea {
        min-height: 66px;
    }
}


/* Delinvento v39 - selector GPS a pantalla completa */
.market-exact-warning {
    display: grid;
    gap: 4px;
    border: 1px solid rgba(245, 158, 11, .35);
    background: linear-gradient(135deg, #fffbeb, #fff7ed);
    color: #78350f;
    border-radius: 18px;
    padding: 12px 14px;
    font-weight: 800;
}

.market-exact-warning span {
    color: #92400e;
    font-size: .9rem;
    line-height: 1.35;
}

.market-gps-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    border: 1px solid rgba(13, 148, 136, .22);
    background: linear-gradient(135deg, #f0fdfa, #ffffff);
    border-radius: 22px;
    padding: 14px;
}

.market-gps-card > div {
    display: grid;
    gap: 4px;
}

.market-gps-card strong {
    color: #0f172a;
    font-size: .98rem;
}

.market-gps-card span {
    color: #0f766e;
    font-weight: 900;
}

.market-gps-card small {
    color: #64748b;
    font-weight: 700;
}

.market-gps-card .button {
    flex: 0 0 auto;
    white-space: nowrap;
}

.market-gps-modal {
    position: fixed;
    inset: 0;
    z-index: 2600;
    background: rgba(2, 6, 23, .72);
    backdrop-filter: blur(10px);
    padding: 12px;
    display: grid;
    place-items: stretch;
}

.market-gps-modal[hidden] {
    display: none !important;
}

body.market-gps-open {
    overflow: hidden;
}

.market-gps-dialog {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.18);
    background: #f8fafc;
    border-radius: 28px;
    box-shadow: 0 40px 110px rgba(0,0,0,.38);
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr);
}

.market-gps-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px 10px;
    background: linear-gradient(135deg, #07111f, #0f766e);
    color: #fff;
}

.market-gps-head span {
    display: inline-flex;
    color: #facc15;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .76rem;
    margin-bottom: 4px;
}

.market-gps-head strong {
    display: block;
    font-size: clamp(1.25rem, 3vw, 2.15rem);
    letter-spacing: -.05em;
    line-height: 1;
}

.market-gps-head p {
    margin: 7px 0 0;
    color: rgba(255,255,255,.78);
    font-weight: 700;
}

.market-gps-close {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.24);
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
}

.market-gps-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto auto;
    gap: 10px;
    padding: 12px 14px;
    background: #ffffff;
    border-bottom: 1px solid rgba(15,23,42,.08);
}

.market-gps-toolbar input {
    width: 100%;
    min-height: 44px;
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 16px;
    padding: 0 14px;
    font: inherit;
    font-weight: 700;
}

.market-gps-dialog .market-address-results {
    max-height: 142px;
    overflow: auto;
    padding: 0 14px 10px;
    background: #fff;
}

.market-gps-dialog .market-address-result {
    margin-top: 8px;
}

.market-gps-map-wrap {
    min-height: 0;
    position: relative;
    background: #dbeafe;
}

.market-map-fullscreen {
    height: 100%;
    min-height: 100%;
    border: 0;
    border-radius: 0;
}

.market-gps-floating-tip {
    position: absolute;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    z-index: 500;
    width: min(720px, calc(100% - 28px));
    border: 1px solid rgba(250, 204, 21, .5);
    background: rgba(7, 17, 31, .88);
    color: #fff;
    border-radius: 18px;
    padding: 10px 14px;
    font-weight: 900;
    text-align: center;
    box-shadow: 0 18px 44px rgba(15,23,42,.28);
}

@media (max-width: 820px) {
    .market-gps-card {
        align-items: stretch;
        flex-direction: column;
    }

    .market-gps-card .button {
        width: 100%;
    }

    .market-gps-modal {
        padding: 0;
    }

    .market-gps-dialog {
        border-radius: 0;
    }

    .market-gps-toolbar {
        grid-template-columns: 1fr 1fr;
    }

    .market-gps-toolbar input {
        grid-column: 1 / -1;
    }

    .market-gps-toolbar .button {
        min-height: 42px;
        padding-inline: 10px;
    }
}


/* ===== Delinvento v40 - tienda pública corregida y compacta ===== */
.delinvento-store-lite-body .public-container,
.delinvento-store-lite-body .public-store-container,
.delinvento-store-lite{
    max-width:1120px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}
.delinvento-store-lite{
    gap:14px!important;
    padding:24px 14px 56px!important;
}
.store-lite-hero{
    min-height:210px!important;
    border-radius:24px!important;
    padding:26px!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:18px!important;
    align-items:end!important;
}
.store-lite-logo{
    width:92px!important;
    height:92px!important;
    border-radius:22px!important;
    flex:0 0 auto!important;
}
.store-lite-copy h1{
    font-size:clamp(2rem,4.8vw,3.7rem)!important;
    line-height:.96!important;
    margin:4px 0 8px!important;
}
.store-lite-copy p{
    margin:0!important;
    font-size:.98rem!important;
}
.store-lite-tags{
    margin-top:10px!important;
    gap:6px!important;
}
.store-lite-tags span{
    padding:6px 9px!important;
    font-size:.72rem!important;
}
.store-lite-filters.card{
    padding:16px!important;
    border-radius:22px!important;
    gap:10px!important;
}
.store-lite-filters h2{
    font-size:1.45rem!important;
    line-height:1.05!important;
}
.store-lite-search-row input{
    min-height:42px!important;
    padding:10px 13px!important;
    border-radius:14px!important;
}
.store-lite-chips button{
    padding:7px 10px!important;
    font-size:.82rem!important;
}
.store-lite-categories{
    grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;
    gap:10px!important;
}
.store-lite-category{
    min-height:74px!important;
    border-radius:16px!important;
    padding:10px!important;
}
.store-lite-category img{
    width:44%!important;
    opacity:.34!important;
}
.store-lite-category strong{
    font-size:.86rem!important;
    max-width:75%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.store-lite-category span{
    font-size:.74rem!important;
}
.store-lite-products{
    display:grid!important;
    grid-template-columns:repeat(auto-fill,minmax(185px,1fr))!important;
    gap:12px!important;
    align-items:start!important;
}
.store-lite-product-card{
    position:relative!important;
    border-radius:18px!important;
    overflow:hidden!important;
    box-shadow:0 10px 30px rgba(15,23,42,.07)!important;
    min-width:0!important;
}
.store-lite-product-card:hover{
    transform:translateY(-2px)!important;
    box-shadow:0 16px 40px rgba(15,23,42,.11)!important;
}
.store-lite-product-card.is-out-stock .store-lite-product-photo img{
    filter:grayscale(.25);
    opacity:.72;
}
.store-lite-product-photo{
    height:138px!important;
}
.store-lite-product-photo img{
    padding:10px!important;
}
.store-lite-product-info{
    padding:10px!important;
    gap:5px!important;
}
.store-lite-product-info > span{
    width:max-content!important;
    max-width:100%!important;
    background:#dcfce7!important;
    color:#0f766e!important;
    padding:3px 7px!important;
    border-radius:999px!important;
    font-size:9px!important;
    line-height:1.1!important;
    letter-spacing:.04em!important;
}
.store-lite-product-info button[data-store-open-detail] strong{
    display:block;
    font-size:.98rem!important;
    line-height:1.1!important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.store-lite-product-info p{
    min-height:0!important;
    height:2.55em!important;
    overflow:hidden!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    font-size:.79rem!important;
    line-height:1.25!important;
}
.store-lite-card-actions,
.store-lite-product-info > div.store-lite-card-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:6px!important;
    align-items:center!important;
    margin-top:2px!important;
}
.store-lite-card-actions b{
    grid-column:1 / -1!important;
    color:#071321!important;
    font-size:.98rem!important;
    line-height:1.05!important;
    white-space:normal!important;
}
.store-lite-card-actions .stock-chip{
    grid-column:1!important;
    justify-self:start!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.store-lite-card-actions .button.small{
    grid-column:2!important;
    min-height:32px!important;
    min-width:76px!important;
    padding:0 9px!important;
    border-radius:11px!important;
    font-size:.76rem!important;
    white-space:nowrap!important;
}
.store-lite-favorite-btn{
    position:absolute;
    right:8px;
    top:8px;
    z-index:4;
    width:32px;
    height:32px;
    border:1px solid rgba(15,23,42,.10);
    border-radius:999px;
    background:rgba(255,255,255,.92);
    color:#0f172a;
    display:grid;
    place-items:center;
    font-size:18px;
    font-weight:950;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(15,23,42,.10);
}
.store-lite-favorite-btn.is-favorite,
.store-lite-wishlist-action.is-favorite{
    color:#b91c1c!important;
    background:#fff1f2!important;
    border-color:#fecdd3!important;
}
.store-lite-wishlist-action{
    background:#fff7ed!important;
    color:#9a3412!important;
    border:1px solid #fed7aa!important;
    box-shadow:none!important;
}
.stock-chip{
    border:1px solid #a7f3d0;
    background:#ecfdf5;
    color:#0f766e;
    border-radius:999px;
    padding:3px 7px;
    font-size:10px;
    font-weight:950;
    line-height:1.1;
    white-space:nowrap;
}
.stock-chip.is-many{background:#ecfdf5;border-color:#a7f3d0;color:#0f766e;}
.stock-chip.is-low{background:#fef2f2;border-color:#fecaca;color:#b91c1c;}
.stock-chip.is-out{background:#f1f5f9;border-color:#cbd5e1;color:#475569;}
.detail-copy .stock-chip{display:inline-block;width:max-content;margin:6px 0 12px;}
.detail-image{min-height:260px!important;}
.detail-copy h2{font-size:clamp(1.5rem,3vw,2.3rem)!important;line-height:1.05!important;}
@media(max-width:900px){
    .delinvento-store-lite{padding:16px 10px 42px!important;}
    .store-lite-hero{min-height:170px!important;border-radius:20px!important;padding:18px!important;gap:12px!important;}
    .store-lite-logo{width:72px!important;height:72px!important;border-radius:18px!important;}
    .store-lite-copy h1{font-size:clamp(1.7rem,8vw,2.5rem)!important;}
    .store-lite-copy p{font-size:.86rem!important;}
    .store-lite-tags span{font-size:.66rem!important;padding:5px 7px!important;}
    .store-lite-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}
    .store-lite-product-photo{height:116px!important;}
    .store-lite-product-info{padding:8px!important;gap:4px!important;}
    .store-lite-product-info button[data-store-open-detail] strong{font-size:.9rem!important;}
    .store-lite-product-info p{font-size:.72rem!important;height:2.4em!important;}
    .store-lite-card-actions{grid-template-columns:1fr!important;align-items:start!important;}
    .store-lite-card-actions b,.store-lite-card-actions .stock-chip,.store-lite-card-actions .button.small{grid-column:1!important;}
    .store-lite-card-actions .button.small{width:100%!important;min-width:0!important;min-height:30px!important;}
    .store-lite-categories{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:420px){
    .store-lite-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .store-lite-product-photo{height:104px!important;}
    .store-lite-favorite-btn{width:29px;height:29px;font-size:16px;right:6px;top:6px;}
}


/* =========================================================
   Delinvento v41: mapa de tiendas disponibles en Home
   ========================================================= */
.delinvento-header-v9 .delinvento-header-map-btn{
    height:42px;
    min-width:42px;
    border:1px solid rgba(255,210,63,.45);
    border-radius:14px;
    background:#ffd23f;
    color:#07101c;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 12px;
    font-weight:950;
    cursor:pointer;
    white-space:nowrap;
    box-shadow:0 10px 20px rgba(255,210,63,.16);
}
.delinvento-header-v9 .delinvento-header-map-btn:hover{filter:brightness(.98);transform:translateY(-1px)}
.delinvento-header-v9 .delinvento-header-map-btn svg{width:18px;height:18px}
.store-map-modal[hidden]{display:none!important}
.store-map-modal{
    position:fixed;
    inset:0;
    z-index:9998;
    background:rgba(3,10,18,.72);
    backdrop-filter:blur(10px);
    display:flex;
    align-items:stretch;
    justify-content:center;
    padding:14px;
}
body.store-map-open{overflow:hidden}
.store-map-dialog{
    width:min(1440px,100%);
    height:calc(100vh - 28px);
    background:#f5f8fb;
    border:1px solid rgba(255,255,255,.25);
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 24px 80px rgba(0,0,0,.32);
    display:grid;
    grid-template-rows:auto 1fr;
}
.store-map-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:16px 18px;
    background:linear-gradient(135deg,#07111d,#102338 70%,#0b756b);
    color:#fff;
}
.store-map-head span{
    display:block;
    color:#ffd23f;
    text-transform:uppercase;
    font-weight:950;
    font-size:11px;
    letter-spacing:.16em;
    margin-bottom:3px;
}
.store-map-head strong{display:block;font-size:24px;line-height:1.05;letter-spacing:-.04em}
.store-map-head p{margin:6px 0 0;color:rgba(255,255,255,.76);font-size:13px;max-width:760px}
.store-map-head-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.store-map-close{
    width:42px;
    height:42px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.1);
    color:#fff;
    font-size:28px;
    line-height:1;
    cursor:pointer;
}
.store-map-content{display:grid;grid-template-columns:minmax(290px,360px) 1fr;min-height:0}
.store-map-sidebar{
    background:#fff;
    border-right:1px solid #dce8ef;
    padding:14px;
    overflow:auto;
    display:flex;
    flex-direction:column;
    gap:12px;
}
.store-map-user-location{
    border:1px solid #d7ece7;
    background:#effdfa;
    border-radius:18px;
    padding:13px;
    display:grid;
    gap:7px;
}
.store-map-user-location strong{color:#073b36;font-size:14px}
.store-map-user-location span{color:#46616c;font-size:13px;line-height:1.35}
.store-map-message{
    border:1px solid #ffe1a3;
    background:#fff8e6;
    color:#7a4c00;
    border-radius:16px;
    padding:12px;
    font-weight:800;
    font-size:13px;
}
.store-map-list{display:grid;gap:9px}
.store-map-list-item{
    width:100%;
    border:1px solid #dce8ef;
    background:#fff;
    border-radius:18px;
    padding:10px;
    display:grid;
    grid-template-columns:46px 1fr auto;
    align-items:center;
    gap:10px;
    cursor:pointer;
    text-align:left;
    transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.store-map-list-item:hover{transform:translateY(-1px);border-color:#0f8a7d;box-shadow:0 14px 30px rgba(15,138,125,.12)}
.store-map-list-logo{
    width:46px;
    height:46px;
    border-radius:15px;
    background:#effdfa;
    border:1px solid #c6eee5;
    display:grid;
    place-items:center;
    overflow:hidden;
    color:#0f8a7d;
    font-weight:1000;
}
.store-map-list-logo img{width:100%;height:100%;object-fit:cover}
.store-map-list-info{display:grid;gap:3px;min-width:0}
.store-map-list-info strong{color:#07101c;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.store-map-list-info small{color:#617282;font-weight:750;font-size:12px;line-height:1.25}
.store-map-list-item em{font-style:normal;color:#0f8a7d;font-weight:950;font-size:12px}
.store-map-canvas{min-height:0;width:100%;height:100%;background:#dce8ef}
.delinvento-store-map-marker{background:transparent;border:0}
.delinvento-store-map-marker div{
    width:52px;
    height:52px;
    border-radius:19px 19px 19px 6px;
    transform:rotate(-45deg);
    background:#ffd23f;
    border:4px solid #fff;
    box-shadow:0 12px 26px rgba(3,10,18,.28);
    overflow:hidden;
    display:grid;
    place-items:center;
}
.delinvento-store-map-marker img,
.delinvento-store-map-marker span{
    transform:rotate(45deg);
}
.delinvento-store-map-marker img{width:40px;height:40px;border-radius:13px;object-fit:cover;background:#fff}
.delinvento-store-map-marker span{font-weight:1000;color:#07101c;font-size:20px}
.delinvento-user-map-marker{background:transparent;border:0}
.delinvento-user-map-marker div{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#0f8a7d;
    color:#fff;
    border:4px solid #fff;
    box-shadow:0 10px 24px rgba(3,10,18,.28);
    font-size:20px;
}
@media (max-width: 980px){
    .delinvento-header-v9 .delinvento-header-map-btn span{display:none}
    .delinvento-header-v9 .delinvento-header-map-btn{width:42px;padding:0}
    .store-map-modal{padding:0}
    .store-map-dialog{height:100vh;border-radius:0;width:100%}
    .store-map-content{grid-template-columns:1fr;grid-template-rows:auto 1fr}
    .store-map-sidebar{max-height:34vh;border-right:0;border-bottom:1px solid #dce8ef;order:2}
    .store-map-canvas{min-height:55vh;order:1}
    .store-map-head{padding:12px 13px}
    .store-map-head strong{font-size:19px}
    .store-map-head p{display:none}
}
@media (max-width: 520px){
    .delinvento-header-v9 .delinvento-header-map-btn{width:39px;height:39px;min-width:39px;border-radius:13px}
    .store-map-head-actions .button{display:none}
    .store-map-list-item{grid-template-columns:42px 1fr auto;padding:9px;border-radius:16px}
    .store-map-list-logo{width:42px;height:42px;border-radius:14px}
}

/* v42 checkout pago domicilio */
.cart-dialog {
  max-width: min(760px, calc(100vw - 28px));
}
.cart-head {
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(15, 118, 110, .10);
}
.cart-head h2 {
  font-size: clamp(24px, 3vw, 34px);
}
.cart-summary {
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(240,253,250,.78), rgba(255,255,255,.96));
  border: 1px solid rgba(15,118,110,.14);
  box-shadow: 0 18px 45px rgba(15,23,42,.08);
  padding: 14px;
  gap: 10px;
}
.cart-summary > div:not(.cart-destination-box):not(.cart-provider-delivery) {
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.07);
}
.cart-provider-delivery {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(15,118,110,.12);
}
.cart-provider-delivery > strong {
  color: #064e3b;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.checkout-free-shipping-meter {
  display: grid;
  gap: 6px;
  padding: 10px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}
.checkout-free-shipping-meter.is-free {
  background: #ecfdf5;
  border-color: rgba(16,185,129,.25);
}
.checkout-free-shipping-meter.is-paid {
  background: #fff7ed;
  border-color: rgba(249,115,22,.20);
}
.checkout-free-shipping-meter.is-pending {
  background: #f1f5f9;
}
.checkout-meter-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
}
.checkout-meter-title span {
  font-weight: 1000;
  color: #0f766e;
  white-space: nowrap;
}
.checkout-free-shipping-meter.is-paid .checkout-meter-title span {
  color: #c2410c;
}
.checkout-meter-track {
  height: 9px;
  border-radius: 999px;
  background: rgba(15,23,42,.10);
  overflow: hidden;
}
.checkout-meter-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f59e0b, #0f766e);
}
.checkout-free-shipping-meter small,
.checkout-surcharge-line {
  color: #64748b;
  font-weight: 800;
}
.checkout-surcharge-line {
  color: #9a3412 !important;
}
.cart-destination-box.cart-payment-box {
  border-color: rgba(245, 158, 11, .28);
  background: #fffbeb;
}
.cart-payment-options,
.cart-fulfillment-options,
.cart-destination-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cart-payment-options .is-active,
.cart-fulfillment-options .is-active,
.cart-destination-options .is-active {
  background: #0f766e !important;
  border-color: #0f766e !important;
  color: #fff !important;
}
#cartPayOnDeliverySurcharge strong {
  color: #c2410c;
}
#cartCheckoutBtn {
  min-height: 46px;
  border-radius: 16px;
  font-size: 15px;
  box-shadow: 0 15px 32px rgba(15,118,110,.20);
}
@media (max-width: 640px) {
  .cart-dialog { padding: 16px; }
  .cart-summary { padding: 10px; border-radius: 18px; }
  .checkout-meter-title { align-items: flex-start; flex-direction: column; gap: 2px; }
}


/* v43 - selector GPS: búsqueda más fácil por dirección o código postal */
.market-address-results-title {
    font-weight: 1000;
    color: #0f172a;
    margin: 2px 0 8px;
}
.market-gps-dialog .market-address-result {
    display: block;
    width: 100%;
    text-align: left;
    line-height: 1.25;
}
.market-gps-dialog .market-address-result strong {
    display: block;
    color: #0f172a;
    font-size: 13px;
}
.market-gps-dialog .market-address-result small {
    display: block;
    color: #64748b;
    font-size: 11px;
    margin-top: 3px;
}
@media (max-width: 760px) {
    .market-zone-grid {
        grid-template-columns: 1fr;
    }
}


/* v44 invitado + dirección de cliente */
.checkout-access-modal[hidden], .client-gps-modal[hidden]{display:none!important}
.checkout-access-modal,.client-gps-modal{position:fixed;inset:0;z-index:99999;background:rgba(3,15,28,.58);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}
.checkout-access-dialog{width:min(560px,96vw);background:#fff;border-radius:28px;padding:24px;box-shadow:0 30px 90px rgba(2,8,23,.35);position:relative;border:1px solid rgba(15,118,110,.16)}
.checkout-access-close{position:absolute;right:16px;top:14px;border:0;background:#0f172a;color:#fff;border-radius:999px;width:34px;height:34px;font-size:22px;cursor:pointer}
.checkout-access-dialog h2{margin:4px 0 8px;font-size:clamp(24px,4vw,38px);line-height:1}
.checkout-access-dialog p{color:#475569;margin:0 0 16px}.checkout-access-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.checkout-guest-form{display:grid;gap:12px}.checkout-guest-form label,.client-address-register-box label{display:grid;gap:6px;font-weight:900;color:#0f172a}.checkout-guest-form input,.checkout-guest-form select,.client-address-register-box input,.client-address-register-box select,.client-address-register-box textarea{width:100%;border:1px solid #dbeafe;border-radius:14px;padding:11px 12px;font:inherit;background:#fff}.checkout-guest-note{padding:10px 12px;border-radius:14px;background:#ecfdf5;border:1px solid #bbf7d0;color:#065f46;font-weight:800;font-size:13px}
.client-address-register-box{display:grid;gap:10px;padding:14px;border:1px solid rgba(15,118,110,.18);background:linear-gradient(180deg,#f8fffd,#effaf5);border-radius:20px;margin:8px 0}.client-address-register-box>strong{font-size:16px}.client-address-register-box>small{color:#64748b;font-weight:800}.client-address-gps-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:16px;background:#fff;border:1px solid rgba(15,118,110,.18)}.client-address-gps-card span{font-weight:900;color:#0f766e}
.client-gps-dialog{width:min(1180px,98vw);height:min(850px,94vh);background:#fff;border-radius:24px;overflow:hidden;display:grid;grid-template-rows:auto auto auto 1fr;box-shadow:0 30px 90px rgba(2,8,23,.45)}.client-gps-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 20px;background:linear-gradient(135deg,#071827,#0f766e);color:#fff}.client-gps-dialog header span{color:#fde047;text-transform:uppercase;font-weight:950;letter-spacing:.08em}.client-gps-dialog header strong{display:block;font-size:28px;line-height:1.05}.client-gps-dialog header p{margin:6px 0 0;color:#dffcf5}.client-gps-dialog header button{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.16);color:#fff;width:42px;height:42px;border-radius:999px;font-size:28px;cursor:pointer}.client-gps-toolbar{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;padding:12px;background:#fff;border-bottom:1px solid #e2e8f0}.client-gps-toolbar input{border:1px solid #cbd5e1;border-radius:14px;padding:12px;font:inherit}.client-gps-results{max-height:140px;overflow:auto;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.client-gps-result{display:block;width:100%;text-align:left;border:1px solid #dbeafe;background:#fff;border-radius:14px;padding:10px 12px;margin:6px 0;cursor:pointer}.client-gps-result strong{font-size:13px;color:#0f172a}.client-gps-map{min-height:420px}.client-gps-map .leaflet-container{height:100%}.client-profile-address-form small{color:#64748b;font-weight:800}
@media (max-width:720px){.checkout-access-choice{grid-template-columns:1fr}.client-gps-dialog{height:96vh;border-radius:0}.client-gps-toolbar{grid-template-columns:1fr 1fr}.client-gps-toolbar input{grid-column:1/-1}.client-gps-dialog header strong{font-size:22px}}

/* v47 - bienvenida ligera y registro sin fricción */
.delinvento-welcome-assistant .market-full-address-fields[hidden],
.delinvento-location-panel .market-full-address-fields[hidden] { display: none !important; }
.delinvento-welcome-assistant .delinvento-account-choice em { white-space: nowrap; }
.delinvento-welcome-assistant .market-gps-card { border: 1px solid rgba(20, 184, 166, .28); background: linear-gradient(135deg, rgba(240,253,250,.96), rgba(255,255,255,.96)); }
.delinvento-welcome-assistant .market-gps-card strong { color: #075e54; }
.client-address-register-optional { border: 1px solid rgba(15,118,110,.18); border-radius: 20px; padding: 14px 16px; background: #f8fffd; }
.client-address-register-optional summary { cursor: pointer; display: grid; gap: 4px; font-weight: 900; color: #063b36; }
.client-address-register-optional summary small { font-weight: 700; color: #64748b; }
.client-address-register-optional[open] summary { margin-bottom: 12px; }
.client-gps-result { width: 100%; text-align: left; border: 1px solid rgba(15,118,110,.18); border-radius: 14px; padding: 10px 12px; background: #fff; margin: 6px 0; cursor: pointer; }
.client-gps-result:hover { border-color: rgba(15,118,110,.45); background: #f0fdfa; }


/* v48 - entrada tipo Amazon: visita libre, popover de usuario y compra con cuenta/dirección */
.delinvento-guest-account-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.delinvento-guest-popover {
  position: absolute;
  top: calc(100% + 12px);
  right: -10px;
  z-index: 12000;
  width: min(280px, 88vw);
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 16px;
  box-shadow: 0 22px 60px rgba(2, 8, 23, .22);
  padding: 14px;
  color: #0f172a;
  display: grid;
  gap: 8px;
}
.delinvento-guest-popover[hidden] {
  display: none !important;
}
.delinvento-guest-popover::before {
  content: "";
  position: absolute;
  top: -9px;
  right: 28px;
  width: 18px;
  height: 18px;
  background: #fff;
  border-left: 1px solid rgba(15, 23, 42, .12);
  border-top: 1px solid rgba(15, 23, 42, .12);
  transform: rotate(45deg);
}
.delinvento-guest-popover strong {
  font-size: 15px;
  font-weight: 1000;
}
.delinvento-guest-popover span,
.delinvento-guest-popover small {
  color: #475569;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 750;
}
.delinvento-guest-popover > a {
  display: grid;
  place-items: center;
  min-height: 38px;
  border-radius: 12px;
  background: #facc15;
  color: #111827;
  text-decoration: none;
  font-weight: 1000;
  box-shadow: inset 0 -1px 0 rgba(0,0,0,.12);
}
.delinvento-guest-popover small a {
  color: #0f766e;
  font-weight: 1000;
}
.delinvento-guest-popover button {
  justify-self: start;
  border: 0;
  background: transparent;
  color: #64748b;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  padding: 2px 0;
}

.delinvento-visitor-home {
  width: min(1180px, 100%);
  margin: 18px auto 28px;
  display: grid;
  gap: 18px;
}
.delinvento-visitor-home[hidden] {
  display: none !important;
}
.delinvento-visitor-head {
  display: grid;
  gap: 8px;
  padding: clamp(18px, 3vw, 30px);
  border-radius: 28px;
  background: linear-gradient(135deg, #071827, #0f766e);
  color: #fff;
  box-shadow: 0 24px 70px rgba(2, 8, 23, .16);
}
.delinvento-visitor-head span {
  color: #facc15;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 1000;
  font-size: 12px;
}
.delinvento-visitor-head h1 {
  margin: 0;
  font-size: clamp(30px, 5vw, 58px);
  line-height: .95;
  max-width: 820px;
}
.delinvento-visitor-head p {
  margin: 0;
  max-width: 840px;
  color: rgba(255,255,255,.86);
  font-weight: 750;
  line-height: 1.55;
}
.delinvento-hero-banners {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .75fr);
  gap: 16px;
}
.delinvento-hero-banners .delinvento-banner-card {
  min-height: 260px;
}
.delinvento-visitor-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(15, 118, 110, .14);
  background: rgba(255,255,255,.82);
  border-radius: 22px;
  box-shadow: 0 18px 48px rgba(2, 8, 23, .08);
}
.delinvento-visitor-actions .button {
  min-height: 42px;
  border-radius: 14px;
}
.delinvento-visitor-actions small {
  flex: 1 1 260px;
  color: #64748b;
  font-weight: 850;
}
.delinvento-promo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.delinvento-buy-access-dialog .checkout-access-choice a {
  text-align: center;
  text-decoration: none;
}
.visitor-continue-btn {
  margin-top: 10px;
  background: transparent !important;
  color: #64748b !important;
  box-shadow: none !important;
  border: 1px solid rgba(100, 116, 139, .25) !important;
}
@media (max-width: 900px) {
  .delinvento-hero-banners,
  .delinvento-promo-grid {
    grid-template-columns: 1fr;
  }
  .delinvento-hero-banners .delinvento-banner-card {
    min-height: 210px;
  }
}
@media (max-width: 640px) {
  .delinvento-visitor-home {
    margin-top: 12px;
    gap: 12px;
  }
  .delinvento-visitor-head {
    border-radius: 20px;
  }
  .delinvento-visitor-head h1 {
    font-size: 32px;
  }
  .delinvento-guest-popover {
    right: -54px;
    width: min(300px, 92vw);
  }
  .delinvento-guest-popover::before {
    right: 72px;
  }
}

/* =========================================================
   Delinvento v49: Home libre tipo marketplace + carga por bloques
   ========================================================= */
.delinvento-guest-popover {
  right: 0 !important;
  top: calc(100% + 10px);
  width: min(340px, calc(100vw - 18px));
  max-width: calc(100vw - 18px);
  border-radius: 20px;
  padding: 16px;
  gap: 10px;
  overflow: visible;
}
.delinvento-guest-popover::before {
  right: 18px !important;
}
.delinvento-guest-popover strong {
  font-size: 17px;
  line-height: 1.05;
}
.delinvento-guest-popover span {
  font-size: 12.5px;
  line-height: 1.42;
}
.delinvento-guest-popover-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  min-width: 0;
}
.delinvento-guest-popover-actions a,
.delinvento-guest-popover > a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 38px;
  border-radius: 12px;
  text-align: center;
  text-decoration: none;
  font-size: 12px;
  font-weight: 1000;
  line-height: 1.1;
  padding: 0 10px;
  white-space: normal;
  overflow: hidden;
}
.delinvento-guest-popover-actions .is-primary {
  background: #facc15;
  color: #111827;
  box-shadow: inset 0 -1px 0 rgba(0,0,0,.12);
}
.delinvento-guest-popover-actions .is-secondary {
  background: #ecfdf5;
  color: #0f766e;
  border: 1px solid rgba(15,118,110,.18);
}
.delinvento-guest-popover button {
  width: max-content;
  max-width: 100%;
  border-radius: 10px;
  padding: 5px 0;
}
.delinvento-load-more-wrap {
  display: grid;
  place-items: center;
  gap: 7px;
  margin: 18px 0 4px;
}
.delinvento-load-more-wrap[hidden] {
  display: none !important;
}
.delinvento-load-more-wrap .button {
  min-width: min(280px, 100%);
  border-radius: 999px;
}
.delinvento-load-more-wrap small {
  color: #64748b;
  font-weight: 850;
}
.delinvento-visitor-home + .delinvento-category-showcase,
.delinvento-visitor-home + .delinvento-category-showcase + #marketCatalogSection {
  margin-top: 18px;
}
body:not(.delinvento-home-category-mode) #marketCategoryShowcase {
  display: block;
}
@media (max-width: 640px) {
  .delinvento-guest-popover {
    position: fixed;
    top: 54px;
    right: 9px !important;
    left: auto;
    width: min(330px, calc(100vw - 18px));
  }
  .delinvento-guest-popover::before {
    right: 58px !important;
  }
  .delinvento-guest-popover-actions {
    grid-template-columns: 1fr;
  }
  .delinvento-visitor-actions {
    padding: 10px;
    gap: 8px;
  }
  .delinvento-visitor-actions .button {
    flex: 1 1 100%;
    min-height: 38px;
  }
}
#marketCategoryShowcase[hidden], #marketCatalogSection[hidden] { display: none !important; }

/* V50 - Botón de lista de deseos compacto y limpio en cards */
.delinvento-product-card[data-product-stock-class="is-out"] .market-card-actions,
.market-product-card[data-product-stock-class="is-out"] .market-card-actions{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:7px!important;
}
.delinvento-product-card[data-product-stock-class="is-out"] .market-price-stock,
.market-product-card[data-product-stock-class="is-out"] .market-price-stock{
    width:100%!important;
}
.delinvento-product-card .market-wishlist-action,
.market-product-card .market-wishlist-action,
.detail-info .market-wishlist-action{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:32px!important;
    height:32px!important;
    padding:0 10px!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#0f766e!important;
    border:1px solid rgba(15,118,110,.22)!important;
    box-shadow:0 6px 16px rgba(15,23,42,.06)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    line-height:1!important;
    font-size:11px!important;
    font-weight:950!important;
    letter-spacing:-.01em!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.delinvento-product-card .market-wishlist-action span,
.market-product-card .market-wishlist-action span,
.detail-info .market-wishlist-action span{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.delinvento-product-card .market-wishlist-action:hover,
.market-product-card .market-wishlist-action:hover,
.detail-info .market-wishlist-action:hover{
    background:#ecfdf5!important;
    border-color:rgba(15,118,110,.38)!important;
    color:#0b6f65!important;
    transform:translateY(-1px)!important;
}
.delinvento-product-card .market-wishlist-action.is-favorite,
.market-product-card .market-wishlist-action.is-favorite,
.detail-info .market-wishlist-action.is-favorite{
    background:#fff1f2!important;
    color:#be123c!important;
    border-color:#fecdd3!important;
}
.store-lite-card-actions .store-lite-wishlist-action{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:32px!important;
    height:32px!important;
    padding:0 10px!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#0f766e!important;
    border:1px solid rgba(15,118,110,.22)!important;
    box-shadow:0 6px 16px rgba(15,23,42,.06)!important;
    font-size:11px!important;
    font-weight:950!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.store-lite-card-actions .store-lite-wishlist-action span{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.store-lite-card-actions .store-lite-wishlist-action.is-favorite{
    background:#fff1f2!important;
    color:#be123c!important;
    border-color:#fecdd3!important;
}
@media(max-width:780px){
    .delinvento-product-card .market-wishlist-action,
    .market-product-card .market-wishlist-action,
    .store-lite-card-actions .store-lite-wishlist-action{
        min-height:29px!important;
        height:29px!important;
        font-size:10px!important;
        padding:0 8px!important;
    }
}


/* v51: Tito IA con DeepSeek Chat */
.tito-chat-widget { z-index: 120; }
.tito-bubble { min-height: 44px; padding: 11px 15px; }
.tito-panel { width: min(430px, calc(100vw - 28px)); height: min(620px, calc(100vh - 94px)); border-radius: 24px; }
.tito-panel header { gap: 12px; }
.tito-panel header div { display: grid; gap: 2px; }
.tito-panel header small { font-size: 11px; opacity: .78; font-weight: 750; }
.tito-messages { gap: 11px; }
.tito-message { word-break: break-word; }
.tito-message.typing { display: inline-flex; gap: 5px; align-items: center; min-width: 62px; }
.tito-message.typing span { width: 7px; height: 7px; border-radius: 99px; background: #0f766e; opacity: .35; animation: titoTyping 1s infinite ease-in-out; }
.tito-message.typing span:nth-child(2) { animation-delay: .15s; }
.tito-message.typing span:nth-child(3) { animation-delay: .3s; }
@keyframes titoTyping { 0%, 80%, 100% { transform: translateY(0); opacity: .35; } 40% { transform: translateY(-4px); opacity: 1; } }
.tito-quick { display: flex; gap: 7px; overflow-x: auto; padding: 9px 12px 0; background: #f8fafc; }
.tito-quick button { flex: 0 0 auto; border: 1px solid rgba(15, 118, 110, .18); background: #ecfdf5; color: #065f46; border-radius: 999px; font-size: 12px; font-weight: 900; padding: 8px 10px; cursor: pointer; }
.tito-products article { grid-template-columns: 58px 1fr; align-items: center; }
.tito-products article > img, .tito-product-letter { width: 58px; height: 58px; object-fit: cover; border-radius: 14px; background: #fff; }
.tito-product-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.tito-product-actions button, .tito-product-actions a { border: 0; border-radius: 999px; background: #0f766e; color: #fff; font-weight: 950; font-size: 12px; padding: 7px 9px; cursor: pointer; text-decoration: none; line-height: 1; }
.tito-product-actions button + button { background: #e2e8f0; color: #0f172a; margin-left: 0; }
.tito-product-actions a { background: #facc15; color: #0f172a; }
@media (max-width: 640px) {
  .tito-panel { right: -2px; bottom: 58px; height: min(560px, calc(100vh - 86px)); }
  .tito-bubble span { display: none; }
}


/* =========================================================
   Delinvento v54: popover de identificación corregido
   - No se corta en escritorio/móvil.
   - Botones compactos y legibles.
   - Estilo tipo marketplace/Amazon.
   ========================================================= */
.delinvento-header-v9 .delinvento-guest-account-wrap,
.delinvento-guest-account-wrap{
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  overflow: visible !important;
  isolation: isolate;
}
.delinvento-header-v9 .delinvento-guest-popover,
.delinvento-guest-popover{
  box-sizing: border-box !important;
  position: absolute !important;
  top: calc(100% + 12px) !important;
  right: 0 !important;
  left: auto !important;
  z-index: 120000 !important;
  width: 318px !important;
  max-width: min(318px, calc(100vw - 18px)) !important;
  padding: 12px !important;
  border: 1px solid rgba(15, 23, 42, .13) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  box-shadow: 0 22px 70px rgba(2, 8, 23, .28) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  overflow: visible !important;
  white-space: normal !important;
  transform: none !important;
}
.delinvento-header-v9 .delinvento-guest-popover[hidden],
.delinvento-guest-popover[hidden]{
  display: none !important;
}
.delinvento-header-v9 .delinvento-guest-popover::before,
.delinvento-guest-popover::before{
  content: "" !important;
  position: absolute !important;
  top: -8px !important;
  right: 19px !important;
  width: 16px !important;
  height: 16px !important;
  background: #fff !important;
  border-left: 1px solid rgba(15, 23, 42, .13) !important;
  border-top: 1px solid rgba(15, 23, 42, .13) !important;
  transform: rotate(45deg) !important;
  z-index: -1;
}
.delinvento-guest-popover-head{
  display: grid !important;
  gap: 1px !important;
  min-width: 0 !important;
}
.delinvento-guest-popover-head span{
  display: block !important;
  color: #0f766e !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}
.delinvento-header-v9 .delinvento-guest-popover strong,
.delinvento-guest-popover strong{
  display: block !important;
  color: #0f172a !important;
  font-size: 16px !important;
  line-height: 1.12 !important;
  font-weight: 1000 !important;
  letter-spacing: -.02em !important;
  margin: 0 !important;
  white-space: normal !important;
}
.delinvento-header-v9 .delinvento-guest-popover p,
.delinvento-guest-popover p{
  margin: 0 !important;
  color: #475569 !important;
  font-size: 12px !important;
  line-height: 1.38 !important;
  font-weight: 750 !important;
}
.delinvento-header-v9 .delinvento-guest-popover-actions,
.delinvento-guest-popover-actions{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  min-width: 0 !important;
  width: 100% !important;
}
.delinvento-header-v9 .delinvento-guest-popover-actions a,
.delinvento-guest-popover-actions a{
  box-sizing: border-box !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 9px !important;
  border-radius: 11px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  text-decoration: none !important;
  font-size: 12px !important;
  line-height: 1.05 !important;
  font-weight: 1000 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.delinvento-header-v9 .delinvento-guest-popover-actions .is-primary,
.delinvento-guest-popover-actions .is-primary{
  background: #facc15 !important;
  color: #111827 !important;
  border: 1px solid #facc15 !important;
  box-shadow: inset 0 -1px 0 rgba(0,0,0,.14) !important;
}
.delinvento-header-v9 .delinvento-guest-popover-actions .is-secondary,
.delinvento-guest-popover-actions .is-secondary{
  background: #ecfdf5 !important;
  color: #0f766e !important;
  border: 1px solid rgba(15,118,110,.22) !important;
  box-shadow: none !important;
}
.delinvento-header-v9 .delinvento-guest-continue,
.delinvento-guest-continue{
  align-self: flex-start !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #64748b !important;
  box-shadow: none !important;
  cursor: pointer !important;
  font: inherit !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  padding: 4px 0 !important;
  text-align: left !important;
}
.delinvento-header-v9 .delinvento-guest-continue:hover,
.delinvento-guest-continue:hover{
  color: #0f766e !important;
  text-decoration: underline !important;
}
@media (max-width: 720px){
  .delinvento-header-v9 .delinvento-guest-popover,
  .delinvento-guest-popover{
    position: fixed !important;
    top: 56px !important;
    right: 8px !important;
    left: auto !important;
    width: min(304px, calc(100vw - 16px)) !important;
    max-width: calc(100vw - 16px) !important;
    border-radius: 15px !important;
    padding: 11px !important;
  }
  .delinvento-header-v9 .delinvento-guest-popover::before,
  .delinvento-guest-popover::before{
    right: 47px !important;
  }
  .delinvento-header-v9 .delinvento-guest-popover-actions,
  .delinvento-guest-popover-actions{
    grid-template-columns: 1fr !important;
  }
  .delinvento-header-v9 .delinvento-guest-popover-actions a,
  .delinvento-guest-popover-actions a{
    height: 34px !important;
    min-height: 34px !important;
  }
}


/* V55 - política de pago por tienda */
.cart-payment-options .button.is-disabled,
.cart-payment-options .button:disabled {
    opacity: .55;
    cursor: not-allowed;
    filter: grayscale(.15);
}
.checkout-payment-policy {
    display: block;
    margin-top: 4px;
    font-weight: 800;
    color: #0f766e;
}
.checkout-payment-policy.is-card-only {
    color: #b45309;
}
.store-v19-toggle input#storePayOnDeliveryInput:not(:checked) + span {
    border-color: rgba(245, 158, 11, .35);
}

/* V56 - buscador de productos + biblioteca reutilizable */
.catalog-tools {
    display: grid;
    grid-template-columns: minmax(260px, 1.7fr) minmax(160px, .8fr) minmax(150px, .7fr) auto;
    gap: 12px;
    align-items: end;
    margin: 0 0 16px;
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, .08);
    background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,253,250,.74));
}
.catalog-tools label {
    margin: 0;
}
.catalog-search-main input,
.catalog-tools select,
.product-copy-search input {
    min-height: 44px;
}
.catalog-filter-count {
    grid-column: 1 / -1;
    margin: 0;
    color: #64748b;
    font-weight: 800;
    font-size: 13px;
}
.product-filter-empty {
    margin: 0 0 16px;
    padding: 18px;
    color: #64748b;
    font-weight: 800;
    text-align: center;
}
.product-copy-modal,
.product-copy-modal[aria-hidden="true"] {
    position: fixed;
    inset: 0;
    z-index: 140;
    display: none;
}
.product-copy-modal.is-open {
    display: block;
}
.product-copy-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    border: 0;
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(8px);
    cursor: pointer;
}
.product-copy-panel {
    position: relative;
    width: min(1040px, calc(100vw - 28px));
    max-height: calc(100vh - 42px);
    margin: 20px auto;
    overflow: auto;
    border-radius: 28px;
    padding: 22px;
    box-shadow: 0 24px 80px rgba(15, 23, 42, .25);
}
.product-copy-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 16px;
}
.product-copy-head h2 {
    margin-bottom: 6px;
}
.product-copy-head p:last-child,
.copy-library-note {
    color: #64748b;
    margin: 0;
    font-weight: 700;
}
.product-copy-search {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 8px;
}
.product-copy-results {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 12px;
    margin-top: 14px;
}
.copy-library-card {
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 12px;
    align-items: start;
    padding: 12px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .07);
}
.copy-library-card img,
.copy-library-image-placeholder {
    width: 82px;
    height: 82px;
    object-fit: cover;
    border-radius: 16px;
    background: #f1f5f9;
}
.copy-library-image-placeholder {
    display: grid;
    place-items: center;
    color: #94a3b8;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
}
.copy-library-card-body {
    min-width: 0;
}
.copy-library-source {
    display: block;
    color: #0f766e;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 4px;
}
.copy-library-card h3 {
    margin: 0 0 4px;
    font-size: 16px;
    line-height: 1.2;
}
.copy-library-card p {
    margin: 0 0 8px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.copy-library-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}
.copy-library-meta strong,
.copy-library-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-size: 11px;
    font-weight: 900;
}
.copy-library-meta strong {
    background: #ecfdf5;
    color: #0f766e;
}
.copy-library-card > .button {
    grid-column: 1 / -1;
    width: 100%;
}
.copy-library-empty {
    grid-column: 1 / -1;
    padding: 18px;
    border-radius: 18px;
    background: #f8fafc;
    color: #64748b;
    font-weight: 800;
    text-align: center;
}
@media (max-width: 860px) {
    .catalog-tools,
    .product-copy-search {
        grid-template-columns: 1fr;
    }
    .catalog-tools .button,
    .product-copy-search .button {
        width: 100%;
    }
    .product-copy-panel {
        width: min(100vw - 14px, 1000px);
        margin: 7px auto;
        max-height: calc(100vh - 14px);
        border-radius: 22px;
        padding: 16px;
    }
    .product-copy-head {
        flex-direction: column;
    }
}

/* V57 - Product manager limpio, ancho completo y biblioteca con filtro por categoría */
.products-workbench{
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
}
.products-workbench > .catalog-manager{
    order: 1;
}
.products-workbench > .product-studio{
    order: 2;
}
.product-studio:not(.product-editor-panel){
    position: static !important;
    width: min(1120px, 100%);
    justify-self: center;
}
.catalog-manager{
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: 24px !important;
    padding: 16px !important;
    overflow: visible;
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,250,252,.86)) !important;
    border: 1px solid rgba(226,232,240,.95) !important;
}
.catalog-manager-head{
    border-radius: 20px !important;
    padding: 20px !important;
    min-height: auto;
    flex-wrap: wrap;
}
.catalog-manager-actions{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}
.catalog-manager-actions .sort-status{
    flex: 1 1 100%;
}
.catalog-tools{
    grid-template-columns: minmax(280px, 2fr) minmax(190px, .9fr) minmax(170px, .75fr) auto !important;
    border-radius: 20px !important;
    box-shadow: 0 14px 38px rgba(15,23,42,.06);
}
.catalog-tools input,
.catalog-tools select,
.product-copy-search input,
.product-copy-search select{
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    text-overflow: ellipsis;
}
.catalog-category{
    border-radius: 20px !important;
    padding: 12px !important;
    background: #fff !important;
}
.catalog-category-head{
    border-radius: 16px !important;
    grid-template-columns: auto 58px minmax(0, 1fr) auto auto !important;
    padding: 10px !important;
}
.catalog-category-image{
    width: 50px !important;
    border-radius: 14px !important;
}
.compact-product-row{
    border-radius: 16px;
    grid-template-columns: 54px 58px minmax(220px, 1fr) minmax(300px, auto) !important;
    gap: 10px !important;
    padding: 10px !important;
    overflow: visible !important;
}
.compact-product-row img,
.compact-product-row .image-placeholder{
    width: 54px !important;
    border-radius: 14px !important;
}
.compact-product-row .product-drag-handle{
    width: 48px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
}
.compact-row-actions{
    justify-content: flex-end;
    flex-wrap: wrap !important;
    gap: 8px !important;
    min-width: 0;
}
.compact-row-actions form{
    margin: 0;
}
.compact-row-actions .button{
    border-radius: 11px;
    min-height: 34px;
    padding: 7px 11px;
    white-space: nowrap;
}
.product-row-body h3{
    white-space: normal !important;
    overflow-wrap: anywhere;
}
.product-row-meta small{
    color: #475569;
    font-size: 12px;
    font-weight: 800;
}
.product-copy-search{
    grid-template-columns: minmax(260px, 1.35fr) minmax(210px, .75fr) auto !important;
}
.product-copy-panel{
    width: min(1120px, calc(100vw - 28px)) !important;
    border-radius: 28px !important;
}
.copy-library-card{
    border-radius: 22px !important;
}
@media (max-width: 980px){
    .catalog-manager-head{
        align-items: flex-start;
        flex-direction: column;
    }
    .catalog-manager-actions{
        width: 100%;
        justify-content: flex-start;
    }
    .catalog-tools,
    .product-copy-search{
        grid-template-columns: 1fr !important;
    }
    .compact-product-row{
        grid-template-columns: 48px 52px minmax(0, 1fr) !important;
    }
    .compact-row-actions{
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}
@media (max-width: 640px){
    .catalog-manager{
        padding: 10px !important;
        border-radius: 18px !important;
    }
    .catalog-manager-head{
        padding: 16px !important;
        border-radius: 16px !important;
    }
    .catalog-tools{
        padding: 12px !important;
    }
    .catalog-category-head{
        grid-template-columns: 1fr !important;
    }
    .catalog-category-image,
    .category-drag-spacer,
    .catalog-category-image-placeholder{
        display: none !important;
    }
    .compact-product-row{
        grid-template-columns: 42px 46px minmax(0, 1fr) !important;
    }
    .compact-product-row img,
    .compact-product-row .image-placeholder{
        width: 46px !important;
    }
    .compact-row-actions .button{
        flex: 1 1 auto;
        justify-content: center;
    }
}

/* V58 - productos en primer plano + copia segura */
.product-editor-modal{
    z-index: 160 !important;
}
.product-editor-backdrop{
    background: rgba(15, 23, 42, .64) !important;
    backdrop-filter: blur(8px);
}
.product-editor-panel{
    width: min(1040px, calc(100vw - 28px)) !important;
    max-width: 1040px !important;
    max-height: calc(100vh - 28px) !important;
    border-radius: 28px !important;
    padding: 22px !important;
    box-shadow: 0 28px 90px rgba(15,23,42,.30) !important;
}
.category-creator{
    z-index: 170 !important;
}
.product-copy-modal{
    z-index: 180 !important;
}
.catalog-category-head{
    grid-template-columns: auto 58px minmax(0, 1fr) auto auto auto !important;
}
.catalog-category-head .button{
    white-space: nowrap;
}
.floating-product-create{
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 120;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 18px;
    border-radius: 999px;
    background: #0f766e;
    color: #fff !important;
    font-weight: 950;
    text-decoration: none;
    box-shadow: 0 18px 42px rgba(15,118,110,.30);
    border: 1px solid rgba(255,255,255,.35);
}
.floating-product-create:hover{
    transform: translateY(-1px);
    box-shadow: 0 22px 52px rgba(15,118,110,.36);
}
.copy-library-card p{
    -webkit-line-clamp: 3;
}
@media (max-width: 980px){
    .catalog-category-head{
        grid-template-columns: 48px 52px minmax(0, 1fr) !important;
    }
    .catalog-category-head .badge,
    .catalog-category-head .button{
        grid-column: 1 / -1;
        width: 100%;
        justify-content: center;
    }
    .product-editor-panel{
        width: min(100vw - 14px, 1040px) !important;
        max-height: calc(100vh - 14px) !important;
        padding: 16px !important;
        border-radius: 22px !important;
    }
}
@media (max-width: 640px){
    .floating-product-create{
        right: 14px;
        left: 14px;
        bottom: 14px;
        width: auto;
    }
    .products-workbench{
        padding-bottom: 74px;
    }
}

/* Delinvento v62: Direcciones y familiares del cliente */
.client-address-page{display:grid;gap:22px;padding-bottom:60px;}
.client-address-hero{align-items:center;background:linear-gradient(135deg,#07111f,#0f766e);border-radius:34px;color:#fff;display:flex;justify-content:space-between;gap:18px;padding:clamp(22px,4vw,38px);box-shadow:0 24px 60px rgba(15,23,42,.18);}
.client-address-hero h1{color:#fff;margin:0;font-size:clamp(30px,4vw,50px);line-height:1.02;}
.client-address-hero p:not(.eyebrow){color:rgba(255,255,255,.78);margin:8px 0 0;max-width:780px;}
.client-address-hero .eyebrow{color:#facc15;margin:0 0 6px;}
.client-address-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:18px;align-items:start;}
.client-address-form-card,.client-address-list-card{display:grid;gap:16px;border-radius:28px;}
.client-address-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.client-address-section-head span{display:block;color:#0f766e;font-weight:950;text-transform:uppercase;font-size:12px;letter-spacing:.08em;margin-bottom:4px;}
.client-address-section-head h2{margin:0;color:#0f172a;}
.client-check-row{display:flex!important;align-items:center;gap:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px 14px!important;color:#334155;font-weight:900;}
.client-check-row input{width:18px!important;height:18px;accent-color:#0f766e;}
.client-address-cards{display:grid;gap:12px;}
.client-address-card{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.06);}
.client-address-card.is-default{border-color:#14b8a6;background:linear-gradient(135deg,#f0fdfa,#fff);}
.client-address-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px;}
.client-address-card-title strong{font-size:18px;color:#0f172a;}
.client-address-card-title span{background:#ccfbf1;color:#0f766e;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:950;}
.client-address-card p{margin:0 0 4px;color:#334155;font-weight:850;}
.client-address-card small,.client-address-card em{display:block;color:#64748b;font-style:normal;font-weight:750;margin-top:3px;line-height:1.35;}
.client-address-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.client-address-actions form{display:inline-flex;margin:0;}
.client-empty-state{border:1px dashed #cbd5e1;border-radius:22px;padding:22px;background:#f8fafc;color:#64748b;}
.client-empty-state strong{display:block;color:#0f172a;font-size:18px;margin-bottom:6px;}
.client-empty-state p{margin:0;}
.client-address-form .mini-grid,.client-relative-form .mini-grid{gap:12px;}
@media(max-width:980px){.client-address-layout{grid-template-columns:1fr}.client-address-hero{align-items:flex-start;flex-direction:column}.client-address-card{grid-template-columns:1fr}.client-address-actions{justify-content:flex-start}.client-address-actions .button{width:100%;}.client-address-actions form{width:100%;}.client-address-section-head{flex-direction:column}.client-address-section-head .button{width:100%;}}
.market-saved-data-box{display:grid;gap:10px;margin:12px 0;padding:14px;border:1px solid #ccfbf1;background:linear-gradient(135deg,#f0fdfa,#fff);border-radius:18px;}
.market-saved-data-box.is-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;}
.market-saved-data-box label{display:grid;gap:6px;font-weight:950;color:#0f172a;}
.market-saved-data-box select{width:100%;border:1px solid #cbd5e1;border-radius:14px;padding:12px;font:inherit;background:#fff;font-weight:850;color:#0f172a;}
.market-saved-data-box a{color:#0f766e;font-weight:950;text-decoration:none;align-self:center;}
@media(max-width:760px){.market-saved-data-box.is-grid{grid-template-columns:1fr}}

/* v63: direcciones desde mercado + acciones claras */
.client-address-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;min-width:min(100%,420px)}
.client-address-draft-note{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border:1px solid rgba(20,184,166,.32);background:linear-gradient(135deg,#ecfdf5,#f8fffd);border-radius:22px;padding:14px 16px;box-shadow:0 16px 34px rgba(15,23,42,.08);color:#334155}
.client-address-draft-note[hidden]{display:none!important}
.client-address-draft-note strong{color:#0f766e;font-weight:950}
.client-address-draft-note span{font-weight:800;line-height:1.35;flex:1 1 280px}
.client-empty-state .button{margin-top:12px;width:max-content;max-width:100%}
@media(max-width:760px){.client-address-hero-actions{width:100%;justify-content:stretch}.client-address-hero-actions .button{width:100%}.client-address-draft-note{align-items:flex-start;flex-direction:column}.client-address-draft-note .button{width:100%}}
.client-address-inline-relative{display:grid;gap:12px;border:1px solid rgba(15,118,110,.22);background:linear-gradient(135deg,#f0fdfa,#ffffff);border-radius:20px;padding:14px;margin:2px 0 4px}
.client-address-inline-relative[hidden]{display:none!important}

/* v64 - direcciones: formulario bajo demanda + selector GPS */
.client-address-gps-picker {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(15, 118, 110, .18);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(240, 253, 250, .95), rgba(255, 255, 255, .98));
}
.client-address-gps-picker strong {
  display: block;
  color: #064e3b;
  font-weight: 1000;
}
.client-address-gps-picker small {
  display: block;
  color: #64748b;
  font-weight: 800;
  margin-top: 3px;
}
.client-address-gps-actions,
.client-address-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.client-address-form-actions .button {
  flex: 1 1 170px;
}
.client-address-form-card[hidden] {
  display: none !important;
}
.client-gps-map {
  min-height: 460px;
}
.client-gps-map .leaflet-container,
#addressMap {
  height: 100%;
  width: 100%;
}
body.client-gps-open {
  overflow: hidden;
}
@media (max-width: 760px) {
  .client-address-gps-picker {
    align-items: stretch;
    flex-direction: column;
  }
  .client-address-gps-actions .button,
  .client-address-form-actions .button {
    width: 100%;
  }
}


/* =========================================================
   Delinvento v71: Mis pedidos con pago manual profesional
   ========================================================= */
.client-order-status-pill.pay { background:#fef3c7; color:#92400e; }
.client-order-status-pill.info { background:#dbeafe; color:#1d4ed8; }

.client-order-payment-card.needs-payment {
    background: linear-gradient(180deg, #fffbeb, #ffffff);
    border-color: rgba(245,158,11,.28);
}

.client-manual-payment-box {
    background:#fff;
    border:1px solid rgba(245,158,11,.28);
    border-radius:20px;
    box-shadow:0 12px 32px rgba(15,23,42,.06);
    display:grid;
    gap:12px;
    margin-top:14px;
    padding:14px;
}

.client-manual-payment-box > strong {
    color:#0f172a;
    display:block;
    font-size:16px;
    font-weight:950;
}

.client-manual-payment-box > p {
    color:#475569;
    margin:0;
}

.client-manual-payment-box.pago_reportado {
    background:linear-gradient(180deg,#eff6ff,#ffffff);
    border-color:rgba(37,99,235,.25);
}

.client-manual-payment-box.pago_rechazado {
    background:linear-gradient(180deg,#fef2f2,#ffffff);
    border-color:rgba(220,38,38,.25);
}

.client-payment-facts {
    display:grid;
    gap:10px;
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.client-payment-facts div {
    background:#f8fafc;
    border:1px solid rgba(15,23,42,.06);
    border-radius:16px;
    display:grid;
    gap:4px;
    min-width:0;
    padding:11px 12px;
}

.client-payment-facts div.is-wide {
    grid-column:1 / -1;
}

.client-payment-facts span {
    color:#64748b;
    font-size:11px;
    font-weight:950;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.client-payment-facts b {
    color:#0f172a;
    font-size:14px;
    overflow-wrap:anywhere;
}

.client-payment-facts pre {
    background:#0f172a;
    border-radius:14px;
    color:#e2e8f0;
    font-size:13px;
    line-height:1.45;
    margin:0;
    overflow:auto;
    padding:12px;
    white-space:pre-wrap;
}

.client-payment-actions {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

@media(max-width:760px){
    .client-payment-facts { grid-template-columns:1fr; }
    .client-payment-facts div.is-wide { grid-column:auto; }
}

/* Delinvento V72 - acciones de pago por tienda */
.store-order-payment-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:.9rem;padding-top:.8rem;border-top:1px solid rgba(15,23,42,.08)}
.store-order-payment-actions form{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center;margin:0}
.store-order-payment-actions input[type="text"]{min-width:190px;border:1px solid #cbd5e1;border-radius:12px;padding:.55rem .7rem}
.store-v19-payment-note{margin-top:1rem;padding:1rem;border-radius:18px;background:#ecfeff;border:1px solid #a5f3fc;color:#155e75}

/* V73 - Panel económico de tienda y conciliación de pagos */
.store-orders-heading-actions {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.store-payment-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 1rem 0 1.15rem;
}
.store-payment-kpi {
    display: block;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid rgba(15, 23, 42, .10);
    background: rgba(255,255,255,.92);
    text-decoration: none;
    color: inherit;
    box-shadow: 0 16px 34px rgba(15,23,42,.06);
}
.store-payment-kpi:hover,
.store-payment-kpi.active {
    transform: translateY(-1px);
    border-color: rgba(30, 64, 175, .28);
    box-shadow: 0 22px 46px rgba(15,23,42,.10);
}
.store-payment-kpi span,
.store-payment-kpi small {
    display: block;
    color: #64748b;
    font-size: .84rem;
}
.store-payment-kpi strong {
    display: block;
    font-size: 1.7rem;
    line-height: 1.1;
    margin: .28rem 0;
    color: #0f172a;
}
.store-orders-filter-card {
    margin-bottom: 1rem;
}
.store-orders-filter-form {
    display: grid;
    grid-template-columns: minmax(220px, 1.6fr) minmax(180px, .9fr) auto auto;
    align-items: end;
    gap: .85rem;
}
.store-orders-filter-form label {
    display: grid;
    gap: .35rem;
    margin: 0;
    font-size: .88rem;
    color: #475569;
    font-weight: 700;
}
.store-orders-filter-form input,
.store-orders-filter-form select {
    width: 100%;
    min-height: 42px;
    border-radius: 14px;
    border: 1px solid rgba(15,23,42,.13);
    padding: .68rem .8rem;
    background: #fff;
}
.store-order-payment-mini {
    margin-top: .25rem !important;
    color: #475569;
    font-size: .87rem;
}
.store-order-badge.muted {
    background: #e2e8f0;
    color: #334155;
}
.store-order-badge.info {
    background: #dbeafe;
    color: #1d4ed8;
}
.store-order-badge.warning {
    background: #fef3c7;
    color: #92400e;
}
.store-order-badge.success {
    background: #dcfce7;
    color: #166534;
}
.store-order-badge.danger {
    background: #fee2e2;
    color: #991b1b;
}
.store-order-detail-card.needs-payment-review {
    border-color: rgba(245, 158, 11, .45);
    box-shadow: 0 24px 48px rgba(245, 158, 11, .10);
}
.finance-focus-panel,
.payment-decision-panel {
    border-color: rgba(30, 64, 175, .18) !important;
    background: linear-gradient(180deg, rgba(239,246,255,.92), rgba(255,255,255,.96));
}
.finance-payment-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: .8rem;
}
.finance-payment-actions form {
    margin: 0;
}
.finance-payment-actions input[type="text"] {
    min-width: min(280px, 100%);
}
@media (max-width: 900px) {
    .store-payment-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .store-orders-filter-form {
        grid-template-columns: 1fr;
    }
    .store-orders-heading-actions {
        justify-content: flex-start;
    }
}
@media (max-width: 560px) {
    .store-payment-kpi-grid {
        grid-template-columns: 1fr;
    }
    .finance-payment-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* V74 - Panel económico: comprobante visible y número de atención */
.finance-proof-mini{display:flex;align-items:center;gap:.7rem;margin-top:.75rem;padding:.75rem;border:1px solid #bfdbfe;background:#eff6ff;border-radius:16px;text-decoration:none;color:#1e3a8a}.finance-proof-mini img{width:72px;height:72px;object-fit:cover;border-radius:12px;border:1px solid #dbeafe;background:#fff}.finance-proof-mini span{display:grid;place-items:center;width:72px;height:72px;border-radius:12px;background:#fff;color:#1d4ed8;font-weight:900;border:1px solid #dbeafe}.finance-proof-mini b{font-size:.95rem}.finance-attention-box{margin:.9rem 0;padding:.9rem;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0}.finance-attention-box strong{display:block;color:#0f172a;margin-bottom:.2rem}.finance-attention-box p{margin:.15rem 0 .65rem;color:#475569}.finance-proof-viewer{margin:1rem 0;padding:1rem;border-radius:20px;background:#0f172a;color:#fff;box-shadow:0 16px 40px rgba(15,23,42,.18)}.finance-proof-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.finance-proof-viewer-head strong{display:block}.finance-proof-viewer-head span{display:block;color:#cbd5e1;font-size:.85rem}.finance-proof-image-link{display:block;border-radius:18px;overflow:hidden;background:#020617;border:1px solid rgba(255,255,255,.12)}.finance-proof-image-link img{display:block;width:100%;max-height:460px;object-fit:contain;background:#020617}.finance-proof-file{display:flex;align-items:center;justify-content:center;min-height:160px;border-radius:18px;border:1px dashed rgba(255,255,255,.4);background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font-weight:800}.client-payment-support-number{display:inline-flex;align-items:center;padding:.55rem .75rem;border-radius:999px;background:#f1f5f9;color:#334155;font-weight:800;font-size:.88rem}@media(max-width:760px){.finance-proof-viewer-head{align-items:flex-start;flex-direction:column}.finance-proof-mini{align-items:flex-start}.finance-proof-image-link img{max-height:320px}}

/* V75 - Panel administrador de tienda con barra lateral */
.store-admin-dashboard-body .backoffice-main-container{max-width:1680px;width:min(1680px,calc(100vw - 32px));}
.store-admin-hero-v75{margin-bottom:18px;}
.store-admin-shell-v75{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start;}
.store-admin-sidebar-v75{position:sticky;top:88px;z-index:5;display:flex;flex-direction:column;gap:10px;background:#0f172a;border-radius:24px;padding:14px;box-shadow:0 18px 50px rgba(15,23,42,.18);}
.store-admin-sidebar-v75 a{display:block;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:13px 14px;background:rgba(255,255,255,.045);transition:.18s ease;}
.store-admin-sidebar-v75 a:hover{transform:translateX(3px);background:rgba(20,184,166,.18);border-color:rgba(45,212,191,.36);}
.store-admin-sidebar-v75 span{display:block;font-weight:900;font-size:14px;letter-spacing:.01em;}
.store-admin-sidebar-v75 small{display:block;margin-top:3px;color:#b8c4d9;font-size:12px;line-height:1.25;}
.store-admin-content-v75{min-width:0;display:flex;flex-direction:column;gap:18px;}
.store-admin-section-v75{scroll-margin-top:110px;}
.compact-title-v75{align-items:center;margin-bottom:14px;}
.store-admin-stats-v75{grid-template-columns:repeat(5,minmax(150px,1fr));margin-bottom:0;}
.store-admin-stats-v75 article{min-height:112px;}
.store-admin-info-grid-v75{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.store-admin-info-grid-v75>div{border:1px solid #d9e6e6;background:linear-gradient(135deg,#fff,#f4fffd);border-radius:18px;padding:14px;}
.store-admin-info-grid-v75 span{display:block;color:#66758b;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.04em;}
.store-admin-info-grid-v75 strong{display:block;margin-top:5px;color:#0f172a;font-size:16px;}
.store-admin-team-grid-v75,.store-admin-economy-grid-v75{display:grid;grid-template-columns:minmax(320px,480px) minmax(0,1fr);gap:16px;align-items:start;}
.compact-team-list-v75{max-height:560px;overflow:auto;padding-right:4px;}
.economy-stats-v75{grid-template-columns:repeat(5,minmax(140px,1fr));margin-bottom:16px;}
.payment-review-list-v75{display:flex;flex-direction:column;gap:10px;max-height:560px;overflow:auto;padding-right:4px;}
.payment-review-item-v75{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid #e1e9ef;border-radius:18px;background:#fff;padding:13px;}
.payment-review-item-v75.needs-review{border-color:#14b8a6;background:linear-gradient(135deg,#ecfffb,#fff);box-shadow:0 10px 28px rgba(20,184,166,.12);}
.payment-review-item-v75 strong{display:block;color:#0f172a;font-size:14px;}
.payment-review-item-v75 span{display:block;color:#42526a;font-weight:700;font-size:13px;margin-top:2px;}
.payment-review-item-v75 small{display:block;color:#64748b;font-weight:800;font-size:12px;margin-top:2px;}
.payment-review-actions-v75{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.reports-card-v75{margin-top:16px;}
.store-admin-deliveries-v75{padding:22px;overflow:visible;}
.store-admin-deliveries-v75 .delivery-filter-panel{position:relative;z-index:2;}
.store-admin-deliveries-v75 .delivery-group-card{max-width:none;}
.store-admin-deliveries-v75 .delivery-map{min-height:300px;}
@media (max-width:1180px){
  .store-admin-shell-v75{grid-template-columns:1fr;}
  .store-admin-sidebar-v75{position:relative;top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .store-admin-stats-v75,.economy-stats-v75{grid-template-columns:repeat(2,minmax(0,1fr));}
  .store-admin-info-grid-v75,.store-admin-team-grid-v75,.store-admin-economy-grid-v75{grid-template-columns:1fr;}
}
@media (max-width:680px){
  .store-admin-dashboard-body .backoffice-main-container{width:min(100%,calc(100vw - 16px));}
  .store-admin-sidebar-v75{grid-template-columns:1fr;border-radius:18px;}
  .payment-review-item-v75{align-items:flex-start;flex-direction:column;}
  .payment-review-actions-v75{justify-content:flex-start;}
}

/* V76 - Panel de tienda por módulos: solo un apartado visible */
.store-admin-sidebar-v75 a.is-active{
  background:linear-gradient(135deg,#14b8a6,#0f766e);
  border-color:rgba(255,255,255,.38);
  box-shadow:0 14px 32px rgba(20,184,166,.26);
  transform:translateX(3px);
}
.store-admin-section-v75[hidden]{display:none!important;}
.store-admin-section-v75.is-active{animation:storeAdminModuleIn .18s ease-out;}
@keyframes storeAdminModuleIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.zone-config-panel-v76{margin-top:16px;border-top:1px solid #e2e8f0;padding-top:16px;}
.zone-config-panel-v76[hidden]{display:none!important;}
.zone-config-form-v76 textarea{min-height:70px;}
.payment-method-cards-v76{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 16px;}
.payment-method-toggle-v76{display:flex!important;align-items:flex-start;gap:10px;padding:13px;border:1px solid #d9e6e6;border-radius:18px;background:linear-gradient(135deg,#fff,#f7fffd);font-weight:800;cursor:pointer;min-height:88px;}
.payment-method-toggle-v76 input{margin-top:4px;transform:scale(1.15);accent-color:#0f766e;}
.payment-method-toggle-v76 span{display:block;}
.payment-method-toggle-v76 strong{display:block;color:#0f172a;font-size:15px;}
.payment-method-toggle-v76 small{display:block;color:#64748b;font-weight:700;font-size:12px;line-height:1.35;margin-top:3px;}
.payment-method-toggle-v76.disabled{opacity:.62;background:#f8fafc;cursor:not-allowed;}
.form-subtitle-v76{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:#0f766e;margin:8px 0 10px;}
.compact-zone-switches-v76{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:760px){.payment-method-cards-v76,.compact-zone-switches-v76{grid-template-columns:1fr;}}

/* V77 - Configuración visual de zonas dentro del panel de administrador de tienda */
.zone-config-form-v76 .zone-config-location-v77 {
    margin-top: 12px;
}
.zone-config-form-v76 .store-v19-map {
    min-height: 380px;
}
.zone-config-form-v76 .store-v19-delivery-mode {
    margin-top: 14px;
}
.zone-config-form-v76 .store-v19-radius-panel,
.zone-config-form-v76 .store-v19-zones-panel {
    margin-top: 12px;
}
.zone-config-form-v76 .store-v19-zone-accordion {
    max-height: 520px;
}
@media (max-width: 900px) {
    .zone-config-form-v76 .store-v19-location-grid,
    .zone-config-form-v76 .store-v19-delivery-mode {
        grid-template-columns: 1fr;
    }
    .zone-config-form-v76 .store-v19-search-row {
        grid-template-columns: 1fr;
    }
}

/* V78 - Economía de tienda: métodos dinámicos, CUP, TropiPay y reportes */
.economy-command-v78{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:1rem;align-items:start}.economy-config-card-v78,.economy-actions-card-v78{overflow:hidden}.payment-method-cards-v78{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem}.economy-method-panel-v78{margin-top:1rem;padding:1rem;border:1px solid rgba(20,184,166,.18);border-radius:20px;background:linear-gradient(135deg,rgba(240,253,250,.92),rgba(255,255,255,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.economy-method-panel-v78[hidden]{display:none!important}.economy-method-panel-v78 h4{margin:0 0 .45rem;color:#064e3b;font-size:1.05rem}.economy-method-panel-v78 p{margin:.25rem 0 .8rem;color:#64748b;font-weight:700}.economy-muted-box-v78{padding:.85rem;border:1px dashed rgba(15,118,110,.35);border-radius:16px;background:#f8fafc;color:#475569;font-weight:700}.economy-report-filter-v78{display:flex;align-items:end;gap:.5rem}.economy-report-filter-v78 label{display:grid;gap:.25rem;font-weight:800;color:#334155}.economy-report-filter-v78 select{border:1px solid #cbd5e1;border-radius:12px;padding:.65rem .8rem;background:#fff;font-weight:800}.economy-report-summary-v78{display:flex;flex-wrap:wrap;gap:.75rem;margin:.75rem 0 1rem}.economy-report-summary-v78 span{padding:.8rem 1rem;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-weight:800}.economy-report-summary-v78 strong{color:#0f766e}.economy-chart-v78{height:240px;display:flex;align-items:flex-end;gap:.55rem;padding:1rem .8rem 2.1rem;border-radius:22px;background:linear-gradient(180deg,#f8fafc,#eefcf8);border:1px solid #dbeafe;overflow-x:auto;position:relative}.economy-chart-bar-v78{height:100%;min-width:54px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.45rem;position:relative}.economy-chart-bar-v78 span{width:100%;min-height:8px;border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,#0f766e,#14b8a6);box-shadow:0 10px 24px rgba(15,118,110,.18)}.economy-chart-bar-v78 small{position:absolute;bottom:-1.6rem;font-size:.72rem;color:#475569;font-weight:900;white-space:nowrap;transform:rotate(-18deg);transform-origin:center}.reports-card-v78 h4{margin:1.2rem 0 .6rem}.economy-payment-form-v78 input[type=password]{letter-spacing:.04em}@media(max-width:1000px){.economy-command-v78{grid-template-columns:1fr}.economy-chart-v78{height:210px}.economy-chart-bar-v78{min-width:48px}}

/* V79 - Economía compacta por método activo */
.store-admin-section-v75[data-store-admin-section="economia"] .economy-stats-v75{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:.75rem;
}
.economy-command-v78{
  grid-template-columns:minmax(430px,1.08fr) minmax(340px,.82fr)!important;
  gap:1rem!important;
  align-items:start!important;
}
.economy-side-v79{
  display:grid;
  gap:1rem;
  align-content:start;
}
.economy-config-card-v78{
  padding:1rem!important;
}
.economy-config-card-v78>.admin-section-title{
  margin-bottom:.35rem!important;
}
.economy-config-card-v78>p{
  margin:.2rem 0 .75rem!important;
  font-size:.88rem;
  line-height:1.35;
}
.payment-method-cards-v78{
  grid-template-columns:repeat(auto-fit,minmax(135px,1fr))!important;
  gap:.55rem!important;
}
.payment-method-cards-v78 .payment-method-toggle-v76{
  padding:.65rem!important;
  border-radius:16px!important;
  min-height:72px;
  transition:.18s ease;
}
.payment-method-cards-v78 .payment-method-toggle-v76.is-active{
  border-color:rgba(20,184,166,.55)!important;
  background:linear-gradient(135deg,rgba(236,253,245,.95),#fff)!important;
  box-shadow:0 10px 22px rgba(15,118,110,.08)!important;
}
.payment-method-cards-v78 .payment-method-toggle-v76 input{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px;
}
.payment-method-cards-v78 .payment-method-toggle-v76 strong{
  font-size:.88rem!important;
  line-height:1.05!important;
}
.payment-method-cards-v78 .payment-method-toggle-v76 small{
  font-size:.7rem!important;
  line-height:1.15!important;
}
.economy-method-panel-v78{
  margin-top:.65rem!important;
  padding:.75rem!important;
  border-radius:16px!important;
}
.economy-method-panel-v78[hidden]{display:none!important;}
.economy-method-panel-v78 h4{
  font-size:.92rem!important;
  margin:0 0 .35rem!important;
}
.economy-method-panel-v78 p{
  font-size:.78rem!important;
  line-height:1.35!important;
  margin:.15rem 0 .55rem!important;
}
.economy-method-panel-v78 .mini-grid{
  gap:.55rem!important;
}
.economy-method-panel-v78 label{
  font-size:.76rem!important;
  gap:.22rem!important;
}
.economy-method-panel-v78 input,
.economy-method-panel-v78 select,
.economy-method-panel-v78 textarea{
  padding:.55rem .65rem!important;
  border-radius:10px!important;
  font-size:.82rem!important;
}
.economy-muted-box-v78{
  padding:.6rem!important;
  border-radius:12px!important;
  font-size:.78rem!important;
  line-height:1.35!important;
}
.reports-card-v78{
  padding:1rem!important;
}
.economy-side-v79 .reports-card-v78{
  order:0;
}
.economy-side-v79 .economy-actions-card-v78{
  order:1;
}
.reports-card-v78 .admin-section-title{
  gap:.7rem!important;
  margin-bottom:.45rem!important;
}
.reports-card-v78 .admin-section-title h3{
  font-size:1rem!important;
}
.economy-report-filter-v78 select{
  padding:.45rem .55rem!important;
  border-radius:10px!important;
  font-size:.82rem!important;
}
.economy-report-summary-v78{
  gap:.45rem!important;
  margin:.45rem 0 .65rem!important;
}
.economy-report-summary-v78 span{
  padding:.5rem .6rem!important;
  border-radius:12px!important;
  font-size:.78rem!important;
}
.economy-chart-v78{
  height:135px!important;
  padding:.6rem .55rem 1.55rem!important;
  border-radius:16px!important;
  gap:.35rem!important;
}
.economy-chart-bar-v78{
  min-width:36px!important;
  gap:.25rem!important;
}
.economy-chart-bar-v78 small{
  font-size:.62rem!important;
  bottom:-1.2rem!important;
  transform:rotate(-12deg)!important;
}
.reports-card-v78 h4{
  margin:.8rem 0 .35rem!important;
  font-size:.9rem!important;
}
.reports-card-v78 .table-wrap{
  max-height:210px;
  overflow:auto;
}
.reports-card-v78 table th,
.reports-card-v78 table td{
  padding:.45rem .5rem!important;
  font-size:.78rem!important;
}
.economy-actions-card-v78{
  padding:1rem!important;
}
.economy-actions-card-v78 h3{
  font-size:1rem!important;
}
.payment-review-item-v75{
  padding:.65rem!important;
}
.payment-review-item-v75 strong,
.payment-review-item-v75 span,
.payment-review-item-v75 small{
  font-size:.78rem!important;
}
@media(max-width:1100px){
  .economy-command-v78{grid-template-columns:1fr!important;}
  .economy-side-v79{grid-template-columns:1fr;}
}
@media(min-width:1350px){
  .economy-command-v78{grid-template-columns:minmax(520px,1fr) minmax(420px,.72fr)!important;}
}

/* V81 - Reparticiones de tienda: tablero operativo compacto */
.store-admin-deliveries-v75{
  padding:18px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f6fffd 100%);
}
.store-admin-deliveries-v75 .compact-title-v75{
  position:sticky;
  top:70px;
  z-index:4;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  padding:14px 16px;
  box-shadow:0 14px 36px rgba(15,23,42,.07);
}
.delivery-workbench-v81{
  display:grid;
  gap:14px;
  margin-bottom:16px;
}
.delivery-command-bar-v81{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding:16px;
  border:1px solid rgba(15,118,110,.16);
  border-radius:24px;
  background:linear-gradient(135deg,#ecfffb,#fff);
  box-shadow:0 16px 40px rgba(15,23,42,.06);
}
.delivery-command-bar-v81 h3{margin:2px 0 4px;font-size:1.24rem;color:#071322;}
.delivery-command-bar-v81 p:not(.eyebrow){margin:0;color:#64748b;font-weight:700;line-height:1.35;}
.delivery-command-actions-v81{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.delivery-kpi-grid-v81{
  display:grid;
  grid-template-columns:repeat(6,minmax(120px,1fr));
  gap:10px;
}
.delivery-kpi-grid-v81 article{
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  padding:13px 14px;
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,42,.05);
  min-height:92px;
}
.delivery-kpi-grid-v81 article.danger{border-color:rgba(239,68,68,.26);background:linear-gradient(135deg,#fff5f5,#fff);}
.delivery-kpi-grid-v81 span{display:block;font-size:.72rem;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.055em;}
.delivery-kpi-grid-v81 strong{display:block;margin-top:6px;color:#0f172a;font-size:1.32rem;line-height:1.05;}
.delivery-kpi-grid-v81 small{display:block;margin-top:5px;color:#64748b;font-weight:700;}
.delivery-status-rail-v81{
  display:flex;
  gap:8px;
  overflow:auto;
  padding:4px 2px 8px;
  scrollbar-width:thin;
}
.delivery-status-rail-v81 a{
  white-space:nowrap;
  text-decoration:none;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  color:#334155;
  font-weight:900;
  font-size:.9rem;
  border-radius:999px;
  padding:10px 13px;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.delivery-status-rail-v81 a.is-active{
  background:#0f766e;
  color:#fff;
  border-color:#0f766e;
}
.delivery-status-rail-v81 a.danger,
.delivery-status-rail-v81 a.is-active.danger{background:#b91c1c;color:#fff;border-color:#b91c1c;}
.delivery-filters-drawer-v81{
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
  overflow:hidden;
}
.delivery-filters-drawer-v81>summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  font-weight:900;
  color:#0f172a;
}
.delivery-filters-drawer-v81>summary::-webkit-details-marker{display:none;}
.delivery-filters-drawer-v81>summary small{color:#64748b;font-weight:800;}
.delivery-filter-panel-v81{
  margin:0!important;
  border:0!important;
  border-top:1px solid rgba(15,23,42,.08)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.delivery-group-card-v81{
  border-radius:22px;
  box-shadow:0 10px 28px rgba(15,23,42,.055);
  border-left:6px solid rgba(15,118,110,.35);
}
.delivery-group-card-v81.warning{border-left-color:#f59e0b;}
.delivery-group-card-v81.danger{border-left-color:#dc2626;}
.delivery-group-card-v81.multi{border-left-color:#2563eb;}
.delivery-group-card-v81>summary{
  padding:14px 16px;
  min-height:86px;
  background:linear-gradient(135deg,#ffffff,#fbfdfd);
}
.delivery-group-card-v81>summary h3{font-size:1.05rem;margin-top:1px;}
.delivery-group-card-v81>summary .eyebrow{margin-bottom:2px;}
.delivery-group-card-v81 .delivery-group-summary-side strong{font-size:1.02rem;}
.delivery-group-card-v81:not([open])>summary{border-bottom:0;}
.delivery-group-card-v81[open]>summary{border-bottom:1px solid rgba(15,23,42,.08);}
.delivery-group-card-v81 .delivery-intelligence-box{
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:14px 16px;
}
.delivery-group-card-v81 .delivery-intelligence-box>div{padding:12px;border-radius:16px;}
.delivery-group-card-v81 .delivery-map-panel{padding:0 16px 14px;}
.delivery-group-card-v81 .osm-route-map{min-height:260px;border-radius:18px;}
.delivery-group-card-v81 .delivery-route-map{padding:0 16px 14px;grid-template-columns:1fr 1fr;}
.delivery-group-card-v81 .delivery-group-actions{padding:0 16px 14px;grid-template-columns:1fr 1.2fr;}
.delivery-group-card-v81 .delivery-group-products{padding:0 16px 16px;}
.delivery-group-card-v81 .delivery-store-stop,.delivery-group-card-v81 .delivery-destination-stop{border-radius:14px;padding:9px;}
.delivery-group-card-v81 .mini-map-link{display:inline-flex;margin-top:5px;font-size:.8rem;font-weight:900;color:#0f766e;text-decoration:none;}
@media(max-width:1380px){
  .delivery-kpi-grid-v81{grid-template-columns:repeat(3,minmax(0,1fr));}
  .delivery-group-card-v81 .delivery-intelligence-box{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:900px){
  .delivery-command-bar-v81{flex-direction:column;}
  .delivery-command-actions-v81{justify-content:flex-start;}
  .delivery-kpi-grid-v81{grid-template-columns:repeat(2,minmax(0,1fr));}
  .delivery-group-card-v81 .delivery-route-map,
  .delivery-group-card-v81 .delivery-group-actions{grid-template-columns:1fr;}
}
@media(max-width:620px){
  .delivery-kpi-grid-v81{grid-template-columns:1fr;}
  .delivery-group-card-v81 .delivery-intelligence-box{grid-template-columns:1fr;}
  .delivery-group-card-v81>summary{align-items:flex-start;flex-direction:column;}
  .delivery-group-summary-side{justify-items:start;text-align:left;}
}

/* V82 - reparticiones: filtros por periodo y contacto cliente */
.delivery-period-form-v82{display:flex;align-items:center;gap:8px;background:#ffffff;border:1px solid rgba(15,118,110,.18);border-radius:14px;padding:6px 8px;box-shadow:0 8px 18px rgba(15,23,42,.05)}
.delivery-period-form-v82 label{display:flex;align-items:center;gap:8px;margin:0;font-size:.78rem;font-weight:900;color:#0f766e;white-space:nowrap}
.delivery-period-form-v82 select{height:34px;border:1px solid #d5e5e3;border-radius:10px;padding:0 28px 0 10px;background:#f8fffe;font-size:.82rem;font-weight:800;color:#0f172a;min-width:130px}
.delivery-contact-actions-v82{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.delivery-contact-actions-v82 .button.small{min-height:30px;padding:6px 10px;font-size:.78rem}
.delivery-destination-stop span{display:block;color:#334155;font-size:.84rem;margin-top:3px;font-weight:800}
@media (max-width: 760px){.delivery-period-form-v82{width:100%}.delivery-period-form-v82 label{width:100%;justify-content:space-between}.delivery-period-form-v82 select{flex:1}.delivery-contact-actions-v82 .button,.delivery-contact-actions-v82 .mini-map-link{width:100%;justify-content:center;text-align:center}}

/* v82 - Panel administrador general: cobros mensuales por tienda */
.admin-stat-grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.general-stores-control-v82 { overflow: hidden; }
.store-control-head-v82 { align-items: flex-start; }
.store-control-head-v82 p { color: #64748b; margin: 6px 0 0; max-width: 760px; }
.bill-period-form-v82 { min-width: 190px; }
.bill-period-form-v82 label { color: #475569; display: grid; font-size: .82rem; font-weight: 900; gap: 6px; text-transform: uppercase; }
.bill-period-form-v82 select,
.store-bill-form-v82 select,
.store-bill-form-v82 input {
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 14px;
    min-height: 40px;
    padding: 8px 11px;
    background: #fff;
}
.billing-kpi-grid-v82 {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 12px 0 18px;
}
.billing-kpi-grid-v82 article {
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 22px;
    padding: 15px;
}
.billing-kpi-grid-v82 article.danger-soft { background: linear-gradient(180deg, #fff, #fff7ed); border-color: rgba(249,115,22,.18); }
.billing-kpi-grid-v82 span { color: #64748b; display: block; font-size: .72rem; font-weight: 950; letter-spacing: .06em; text-transform: uppercase; }
.billing-kpi-grid-v82 strong { color: #071321; display: block; font-size: 1.45rem; margin-top: 5px; }
.billing-kpi-grid-v82 small { color: #94a3b8; display: block; margin-top: 4px; }
.admin-store-grid-v82 { grid-template-columns: 1fr; }
.store-super-card-v82 { padding: 0; }
.store-super-card-v82.has-debt { border-color: rgba(239,68,68,.26); box-shadow: 0 20px 55px rgba(239,68,68,.08); }
.store-super-summary-v82 {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    list-style: none;
    padding: 16px;
}
.store-super-summary-v82::-webkit-details-marker { display: none; }
.store-super-summary-v82 .admin-store-top small { color: #94a3b8; display: block; font-size: .78rem; margin-top: 2px; }
.store-super-debt-v82 { display: grid; gap: 4px; justify-items: end; min-width: 150px; text-align: right; }
.store-super-debt-v82 strong { color: #0f172a; font-size: 1.35rem; }
.store-super-debt-v82 small { color: #94a3b8; font-size: .78rem; }
.bill-status-pill-v82 {
    border-radius: 999px;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 950;
    padding: 6px 10px;
}
.bill-status-pill-v82.success { background: #dcfce7; color: #166534; }
.bill-status-pill-v82.warning { background: #fef3c7; color: #92400e; }
.bill-status-pill-v82.danger { background: #fee2e2; color: #991b1b; }
.bill-status-pill-v82.neutral { background: #e2e8f0; color: #334155; }
.store-super-body-v82 { border-top: 1px solid rgba(15,23,42,.07); display: grid; gap: 14px; padding: 16px; }
.store-super-metrics-v82 { display: grid; gap: 10px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.store-super-metrics-v82 article { background: #f8fafc; border: 1px solid rgba(15,23,42,.07); border-radius: 18px; padding: 12px; }
.store-super-metrics-v82 span { color: #64748b; display: block; font-size: .70rem; font-weight: 950; letter-spacing: .04em; text-transform: uppercase; }
.store-super-metrics-v82 strong { color: #0f172a; display: block; font-size: 1.05rem; margin-top: 4px; }
.store-super-metrics-v82 small { color: #94a3b8; display: block; margin-top: 4px; }
.store-params-grid-v82 { display: flex; flex-wrap: wrap; gap: 8px; }
.param-pill-v82 { background: #f1f5f9; border: 1px solid rgba(15,23,42,.08); border-radius: 999px; color: #64748b; font-size: .78rem; font-weight: 900; padding: 7px 10px; }
.param-pill-v82.on { background: #ecfdf5; border-color: rgba(16,185,129,.18); color: #047857; }
.param-pill-v82.off { background: #fff7ed; border-color: rgba(249,115,22,.18); color: #9a3412; }
.store-quick-actions-v82 { display: flex; flex-wrap: wrap; gap: 8px; }
.store-bill-form-v82 { align-items: end; background: #0f172a; border-radius: 20px; display: grid; gap: 10px; grid-template-columns: 180px 150px minmax(220px, 1fr) auto; padding: 14px; }
.store-bill-form-v82 label { color: #e2e8f0; display: grid; font-size: .76rem; font-weight: 900; gap: 6px; text-transform: uppercase; }
.store-bill-form-v82 button { min-height: 40px; }
.bill-paid-at-v82 { color: #64748b; display: block; margin-top: -4px; }
@media (max-width: 1050px) {
    .billing-kpi-grid-v82,
    .store-super-metrics-v82 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .store-bill-form-v82 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
    .store-control-head-v82,
    .store-super-summary-v82 { align-items: stretch; flex-direction: column; }
    .store-super-debt-v82 { justify-items: start; text-align: left; }
    .billing-kpi-grid-v82,
    .store-super-metrics-v82,
    .store-bill-form-v82 { grid-template-columns: 1fr; }
    .bill-period-form-v82 { min-width: 0; width: 100%; }
}

/* V83 - administrador general: usuarios agrupados por negocio */
.users-by-business-v83 .admin-section-title p { color: #64748b; margin: 6px 0 0; max-width: 820px; }
.business-user-columns-v83 { align-items: start; }
.business-group-list-v83 { display: grid; gap: 12px; }
.business-group-card-v83 {
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 22px;
    overflow: hidden;
}
.business-group-card-v83 > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    list-style: none;
    padding: 15px;
}
.business-group-card-v83 > summary::-webkit-details-marker { display: none; }
.business-group-card-v83 > summary strong { color: #0f172a; display: block; font-size: 1rem; }
.business-group-card-v83 > summary span { color: #64748b; display: block; font-size: .82rem; margin-top: 3px; }
.business-group-card-v83 > summary em {
    background: #eef2ff;
    border-radius: 999px;
    color: #3730a3;
    font-size: .72rem;
    font-style: normal;
    font-weight: 950;
    padding: 7px 10px;
    white-space: nowrap;
}
.client-group-card-v83 > summary em { background: #ecfdf5; color: #047857; }
.business-group-actions-v83 { border-top: 1px solid rgba(15,23,42,.06); padding: 10px 15px 0; }
.compact-user-card-v83 {
    border-radius: 16px;
    margin: 10px 12px;
}
.compact-user-card-v83 > summary { padding: 12px; }
.compact-user-card-v83 > p { color: #475569; font-size: .86rem; margin: 0; padding: 0 12px 12px; }
.user-role-store-form-v83 select { max-width: 260px; }
.muted-v83 { color: #94a3b8 !important; font-size: .82rem !important; }
@media (max-width: 900px) {
    .business-group-card-v83 > summary { align-items: flex-start; flex-direction: column; }
    .business-group-card-v83 > summary em { white-space: normal; }
}

/* V84 promos accionables */
.delinvento-banner-card.is-clickable { cursor: pointer; }
.delinvento-banner-card button[data-promo-action] {
    background: #facc15;
    border: 0;
    border-radius: 999px;
    color: #111827;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 900;
    padding: 11px 18px;
    text-decoration: none;
}
.delinvento-banner-card.is-side button[data-promo-action] {
    background: #0f766e;
    color: #fff;
}
.promo-action-fields {
    background: rgba(15, 23, 42, .035);
    border: 1px dashed rgba(15, 23, 42, .12);
    border-radius: 18px;
    display: grid;
    gap: 10px;
    padding: 12px;
}
.promo-stats-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0;
}
.promo-stats-strip span {
    background: rgba(15, 118, 110, .08);
    border: 1px solid rgba(15, 118, 110, .14);
    border-radius: 999px;
    color: #0f172a;
    font-size: 12px;
    font-weight: 800;
    padding: 7px 10px;
}
.banner-admin-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 15px 15px;
}
.inline-period-form label {
    align-items: center;
    background: rgba(255,255,255,.8);
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 999px;
    display: inline-flex;
    gap: 8px;
    padding: 8px 12px;
}
.inline-period-form select {
    border: 0;
    background: transparent;
    font-weight: 800;
    outline: none;
}

/* V85 marketing principal: fotos, panel visual y promos siempre visibles */
.marketing-command-grid-v85 {
    align-items: start;
    gap: 22px;
    grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr);
}
.promo-kpi-row-v85 {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 16px 0 22px;
}
.promo-kpi-row-v85 article {
    background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(240,253,250,.88));
    border: 1px solid rgba(15, 118, 110, .12);
    border-radius: 24px;
    box-shadow: 0 18px 48px rgba(15,23,42,.08);
    padding: 18px;
}
.promo-kpi-row-v85 span,
.promo-section-title-v85 > span {
    color: #0f766e;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.promo-kpi-row-v85 strong {
    color: #0f172a;
    display: block;
    font-size: clamp(26px, 3vw, 38px);
    letter-spacing: -.06em;
    margin-top: 4px;
}
.promo-kpi-row-v85 small {
    color: #64748b;
    font-weight: 800;
}
.promo-section-title-v85 {
    align-items: center;
    border-bottom: 1px solid rgba(15,23,42,.07);
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: -4px 0 16px;
    padding-bottom: 14px;
}
.promo-section-title-v85 h2,
.promo-section-title-v85 .eyebrow { margin: 0; }
.promo-builder-card-v85,
.promo-library-card-v85 {
    border: 1px solid rgba(15, 118, 110, .13);
    box-shadow: 0 22px 70px rgba(15,23,42,.10);
}
.promo-live-preview-v85 {
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 28px;
    display: grid;
    gap: 10px;
    margin-bottom: 16px;
    padding: 10px;
}
.promo-live-image-v85,
.promo-existing-image-v85 {
    background:
        linear-gradient(120deg, rgba(2,6,23,.84), rgba(15,118,110,.58)),
        var(--preview-bg, linear-gradient(135deg, #0f172a, #0f766e));
    background-position: center;
    background-size: cover;
    border-radius: 24px;
    color: #fff;
    min-height: 210px;
    overflow: hidden;
    padding: 24px;
    position: relative;
}
.promo-live-image-v85::after,
.promo-existing-image-v85::after {
    background: radial-gradient(circle, rgba(250,204,21,.30), transparent 60%);
    bottom: -80px;
    content: '';
    height: 180px;
    position: absolute;
    right: -54px;
    width: 180px;
}
.promo-live-image-v85 span,
.promo-existing-image-v85 span {
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.26);
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .12em;
    margin-bottom: 14px;
    padding: 7px 10px;
    position: relative;
    text-transform: uppercase;
    z-index: 1;
}
.promo-live-image-v85 strong,
.promo-existing-image-v85 strong {
    display: block;
    font-size: clamp(26px, 3.4vw, 42px);
    letter-spacing: -.06em;
    line-height: .96;
    max-width: 560px;
    position: relative;
    z-index: 1;
}
.promo-live-image-v85 small,
.promo-existing-image-v85 small {
    color: rgba(255,255,255,.82);
    display: block;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.45;
    margin-top: 10px;
    max-width: 540px;
    position: relative;
    z-index: 1;
}
.promo-live-preview-v85 p {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    margin: 0 4px 4px;
}
.promo-admin-item-v85 {
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 16px 42px rgba(15,23,42,.07);
    padding: 12px;
}
.promo-admin-item-v85 > summary {
    align-items: center;
    background: #f8fafc;
    border-radius: 18px;
    padding: 12px 14px;
}
.promo-admin-item-v85 > summary strong {
    color: #0f172a;
    font-size: 15px;
    letter-spacing: -.02em;
}
.promo-existing-preview-v85 {
    display: grid;
    gap: 12px;
    margin: 12px 0;
}
.promo-existing-preview-v85.is-paused .promo-existing-image-v85,
.promo-existing-preview-v85.is-removed .promo-existing-image-v85 {
    filter: grayscale(.55);
    opacity: .82;
}
.promo-existing-meta-v85 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.promo-existing-meta-v85 span {
    background: rgba(15, 118, 110, .08);
    border: 1px solid rgba(15, 118, 110, .12);
    border-radius: 999px;
    color: #0f172a;
    font-size: 12px;
    font-weight: 900;
    padding: 7px 10px;
}
.promo-library-card-v85 .banner-admin-list {
    gap: 16px;
}
.delinvento-marketing-strip-v85 {
    background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(236,253,245,.80));
    border: 1px solid rgba(15, 118, 110, .11);
    border-radius: 32px;
    box-shadow: 0 22px 70px rgba(15,23,42,.08);
    margin-bottom: 24px;
    padding: clamp(18px, 3vw, 26px);
}
.delinvento-marketing-strip-v85 .market-section-head {
    align-items: end;
    margin-bottom: 16px;
}
.delinvento-marketing-strip-v85 .market-section-head small {
    color: #64748b;
    font-weight: 800;
    max-width: 420px;
    text-align: right;
}
.delinvento-marketing-strip-grid-v85 {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1.15fr) repeat(2, minmax(210px, .72fr));
}
.delinvento-banner-card.is-main-promo-v85 {
    min-height: 260px;
}
.delinvento-banner-card.is-promo-v85 {
    min-height: 260px;
    padding: 24px;
}
.delinvento-banner-card.is-promo-v85 h3 {
    font-size: clamp(24px, 3vw, 36px);
}
.delinvento-banner-card.is-main-promo-v85:nth-child(n+4),
.delinvento-banner-card.is-promo-v85:nth-child(n+4) {
    min-height: 210px;
}
@media (max-width: 1100px) {
    .marketing-command-grid-v85,
    .promo-kpi-row-v85,
    .delinvento-marketing-strip-grid-v85 {
        grid-template-columns: 1fr 1fr;
    }
    .delinvento-banner-card.is-main-promo-v85 { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
    .marketing-command-grid-v85,
    .promo-kpi-row-v85,
    .delinvento-marketing-strip-grid-v85 {
        grid-template-columns: 1fr;
    }
    .delinvento-marketing-strip-v85 .market-section-head {
        align-items: start;
    }
    .delinvento-marketing-strip-v85 .market-section-head small {
        text-align: left;
    }
    .promo-live-image-v85,
    .promo-existing-image-v85,
    .delinvento-banner-card.is-main-promo-v85,
    .delinvento-banner-card.is-promo-v85 {
        min-height: 190px;
    }
}

/* =========================================================
   Delinvento v86: Promos imagen limpia + dos formatos + Home ancho
   ========================================================= */
.container:has(.delinvento-home) {
    max-width: min(1880px, calc(100vw - 18px));
    width: 100%;
    padding: 16px 9px 44px;
}
.delinvento-home {
    gap: 16px;
}
.delinvento-home .market-section,
.delinvento-marketing-strip-v85 {
    border-radius: 24px;
    margin-bottom: 16px;
    padding: clamp(14px, 1.6vw, 22px);
}
.delinvento-home .market-section-head {
    margin-bottom: 12px;
}
.delinvento-home .market-section-head h2 {
    font-size: clamp(1.35rem, 2.2vw, 2rem);
}
.delinvento-marketing-strip-v85 .market-section-head small {
    max-width: 520px;
}
.promo-card-accessible {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}
.delinvento-banner-card.is-image-only {
    background: var(--banner-bg, linear-gradient(135deg, #f8fafc, #e2e8f0));
    background-color: #fff;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    border: 1px solid rgba(15, 23, 42, .08);
    box-shadow: 0 16px 44px rgba(15, 23, 42, .08);
    color: #0f172a;
    min-height: unset;
    padding: 0;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.delinvento-banner-card.is-image-only::after {
    display: none;
}
.delinvento-banner-card.is-image-only:hover {
    border-color: rgba(15, 118, 110, .22);
    box-shadow: 0 20px 54px rgba(15, 23, 42, .13);
    transform: translateY(-2px);
}
.delinvento-banner-card.is-image-only.is-format-horizontal {
    aspect-ratio: 12 / 5;
    grid-column: span 2;
}
.delinvento-banner-card.is-image-only.is-format-square {
    aspect-ratio: 1 / 1;
    grid-column: span 1;
}
.delinvento-banner-card.is-image-only > div:not(.promo-no-image-fallback) {
    display: none;
}
.promo-no-image-fallback {
    align-content: center;
    background: linear-gradient(135deg, #0f172a, #0f766e);
    color: #fff;
    display: grid;
    height: 100%;
    padding: 22px;
    width: 100%;
}
.promo-no-image-fallback h3 {
    font-size: clamp(22px, 3vw, 38px);
    letter-spacing: -.055em;
    line-height: 1;
    margin: 0;
}
.promo-no-image-fallback p {
    color: rgba(255,255,255,.82);
    margin: 8px 0 0;
}
.delinvento-marketing-strip-grid-v85,
.delinvento-promo-grid {
    align-items: stretch;
    display: grid;
    gap: 12px;
    grid-auto-flow: dense;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.delinvento-marketing-strip-grid-v85 .delinvento-banner-card,
.delinvento-promo-grid .delinvento-banner-card {
    border-radius: 22px;
}
.promo-live-image-v85.is-clean-preview,
.promo-existing-image-v85.is-clean-preview {
    background: var(--preview-bg, linear-gradient(135deg, #f8fafc, #e2e8f0));
    background-color: #fff;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    border: 1px dashed rgba(15, 118, 110, .24);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.78);
    color: #64748b;
    display: grid;
    min-height: unset;
    padding: 0;
    place-items: center;
}
.promo-live-image-v85.is-clean-preview::after,
.promo-existing-image-v85.is-clean-preview::after {
    display: none;
}
.promo-live-image-v85.is-clean-preview.is-format-horizontal,
.promo-existing-image-v85.is-clean-preview.is-format-horizontal {
    aspect-ratio: 12 / 5;
}
.promo-live-image-v85.is-clean-preview.is-format-square,
.promo-existing-image-v85.is-clean-preview.is-format-square {
    aspect-ratio: 1 / 1;
    max-width: 420px;
}
.promo-live-image-v85.is-clean-preview span,
.promo-existing-image-v85.is-clean-preview span {
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(15,23,42,.08);
    color: #64748b;
    margin: 0;
}
.marketing-command-grid-v85 {
    grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr);
}
@media (min-width: 1280px) {
    .market-product-grid {
        grid-template-columns: repeat(auto-fill, minmax(178px, 1fr));
    }
}
@media (max-width: 1100px) {
    .delinvento-marketing-strip-grid-v85,
    .delinvento-promo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .delinvento-banner-card.is-image-only.is-format-horizontal {
        grid-column: 1 / -1;
    }
}
@media (max-width: 720px) {
    .container:has(.delinvento-home) {
        max-width: 100%;
        padding-left: 8px;
        padding-right: 8px;
    }
    .delinvento-marketing-strip-grid-v85,
    .delinvento-promo-grid {
        grid-template-columns: 1fr;
    }
    .delinvento-banner-card.is-image-only.is-format-horizontal,
    .delinvento-banner-card.is-image-only.is-format-square {
        grid-column: 1 / -1;
    }
    .delinvento-banner-card.is-image-only.is-format-horizontal {
        aspect-ratio: 12 / 5;
    }
}
.delinvento-promo-grid { display: grid !important; }
@media (max-width: 720px) {
    .delinvento-banner-card.is-image-only {
        background-image: var(--banner-mobile-bg, var(--banner-bg, linear-gradient(135deg, #f8fafc, #e2e8f0)));
    }
}

/* =========================================================
   Delinvento v87: Home limpio + Ofertas + marcado tienda
   ========================================================= */
.delinvento-marketing-strip-v85.is-clean-home-promos-v87 {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}
.delinvento-marketing-strip-v85.is-clean-home-promos-v87 .delinvento-marketing-strip-grid-v85 {
    margin: 0;
}
.delinvento-offers-section-v87 {
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,251,235,.72));
    border: 1px solid rgba(245, 158, 11, .16);
}
.home-offer-category-grid-v87 {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    margin-bottom: 14px;
}
.home-offer-category-card-v87 {
    align-items: flex-start;
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 22px;
    box-shadow: 0 12px 34px rgba(15,23,42,.07);
    cursor: pointer;
    display: grid;
    gap: 8px;
    min-height: 150px;
    overflow: hidden;
    padding: 0 0 14px;
    text-align: left;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.home-offer-category-card-v87:hover {
    border-color: rgba(245, 158, 11, .32);
    box-shadow: 0 18px 48px rgba(15,23,42,.12);
    transform: translateY(-2px);
}
.home-offer-category-card-v87 img {
    aspect-ratio: 12 / 5;
    height: auto;
    object-fit: cover;
    width: 100%;
}
.home-offer-category-card-v87 span,
.home-offer-category-card-v87 strong,
.home-offer-category-card-v87 small {
    margin-left: 14px;
    margin-right: 14px;
}
.home-offer-category-card-v87 span,
.home-offer-pill-v87,
.offer-badge-v87 {
    background: rgba(245, 158, 11, .12);
    border: 1px solid rgba(245, 158, 11, .18);
    border-radius: 999px;
    color: #92400e;
    display: inline-flex;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .04em;
    line-height: 1;
    padding: 6px 9px;
    text-transform: uppercase;
    width: fit-content;
}
.home-offer-category-card-v87 strong {
    color: #0f172a;
    font-size: 18px;
    letter-spacing: -.035em;
    line-height: 1.05;
}
.home-offer-category-card-v87 small {
    color: #64748b;
    font-weight: 850;
}
.delinvento-offer-product-grid-v87 {
    grid-template-columns: repeat(auto-fill, minmax(178px, 1fr));
}
.offer-editor-box-v87 {
    background: linear-gradient(135deg, rgba(255,251,235,.88), rgba(255,255,255,.92));
    border: 1px solid rgba(245, 158, 11, .20);
    border-radius: 20px;
    display: grid;
    gap: 12px;
    padding: 14px;
}
.inline-offer-form-v87 {
    margin: 0;
}
.product-row-meta .offer-badge-v87 {
    margin-left: 0;
}
@media (max-width: 720px) {
    .home-offer-category-grid-v87,
    .delinvento-offer-product-grid-v87 {
        grid-template-columns: 1fr 1fr;
    }
    .home-offer-category-card-v87 strong {
        font-size: 15px;
    }
}
.store-admin-offer-callout-v87 {
    background: linear-gradient(135deg, rgba(255,251,235,.9), rgba(255,255,255,.95));
    border: 1px solid rgba(245, 158, 11, .22);
    border-radius: 18px;
    color: #0f172a;
    display: grid;
    gap: 4px;
    margin-top: 14px;
    padding: 14px;
}
.store-admin-offer-callout-v87 strong { color: #92400e; font-size: 14px; letter-spacing: .02em; text-transform: uppercase; }
.store-admin-offer-callout-v87 span { color: #475569; font-weight: 750; }

/* =========================================================
   Delinvento v89: filtros de ofertas por descuento
   ========================================================= */
.home-offer-filter-row-v89 {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: -4px 0 16px;
}
.home-offer-filter-row-v89 button {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 999px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .06);
    color: #334155;
    cursor: pointer;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .02em;
    padding: 9px 12px;
    text-transform: uppercase;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, color .16s ease, background .16s ease;
}
.home-offer-filter-row-v89 button:hover,
.home-offer-filter-row-v89 button.is-active {
    background: linear-gradient(135deg, #f59e0b, #f97316);
    border-color: rgba(245, 158, 11, .42);
    box-shadow: 0 12px 28px rgba(245, 158, 11, .20);
    color: #ffffff;
    transform: translateY(-1px);
}
.delinvento-offer-product-grid-v87 .market-product-card[data-offer-discount] {
    border-color: rgba(245, 158, 11, .18);
}
.delinvento-offer-product-grid-v87 .home-offer-pill-v87 {
    background: linear-gradient(135deg, #f59e0b, #f97316);
    border-color: rgba(249, 115, 22, .35);
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(249, 115, 22, .20);
}
@media (max-width: 720px) {
    .home-offer-filter-row-v89 {
        flex-wrap: nowrap;
        margin-bottom: 12px;
        overflow-x: auto;
        padding-bottom: 4px;
    }
    .home-offer-filter-row-v89 button {
        flex: 0 0 auto;
    }
}

/* V90 - Ofertas como pantalla y descuentos reales */
.market-price-stock .home-offer-price-v90 {
  color: #047857;
}
.home-offer-original-v90,
.cart-item-info small del,
#detailCurrentPrice del,
.detail-option-offer-v90 del {
  color: #94a3b8;
  text-decoration-thickness: 2px;
  margin-left: 6px;
}
.cart-item-info small em,
#detailCurrentPrice em {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #dcfce7;
  color: #047857;
  font-style: normal;
  font-weight: 900;
  font-size: .72rem;
}
#detailCurrentPrice {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
.detail-offer-price-v90 {
  color: #047857;
}
.detail-offer-badge-v90 {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  background: #dcfce7;
  color: #047857;
  font-weight: 950;
  font-size: .8rem;
  letter-spacing: .02em;
}
.detail-option-offer-v90 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.detail-option-offer-v90 span {
  color: #047857;
}
.delinvento-home.is-offers-page-v90 {
  max-width: min(1540px, calc(100vw - 28px));
  padding-top: 18px;
}
.is-offers-page-section-v90 {
  display: block !important;
  min-height: 58vh;
}
.is-offers-page-section-v90 .market-section-head h2 {
  font-size: clamp(2rem, 4vw, 4rem);
}
.delinvento-empty-offers-v90 {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 12px;
  background: linear-gradient(135deg, #ffffff, #ecfdf5);
  border: 1px solid rgba(15, 118, 110, .14);
}
.delinvento-empty-offers-v90 h2 {
  margin: 0;
  font-size: clamp(1.6rem, 3vw, 2.6rem);
}
.delinvento-empty-offers-v90 p {
  max-width: 620px;
  color: #64748b;
  font-weight: 750;
}
@media (max-width: 760px) {
  .delinvento-home.is-offers-page-v90 {
    max-width: calc(100vw - 14px);
    padding-inline: 0;
  }
  .is-offers-page-section-v90 .market-section-head h2 {
    font-size: 2rem;
  }
}

/* =========================================================
   Delinvento v92: header móvil optimizado + ubicación como icono
   ========================================================= */
.delinvento-header-v9 .delinvento-shop-mainbar{
    grid-template-columns:minmax(132px,180px) auto minmax(280px,1fr) auto !important;
}
.delinvento-header-v9 .delinvento-header-search{
    grid-template-columns:minmax(0,1fr) minmax(128px,210px) 42px !important;
    align-items:stretch;
}
.delinvento-header-v9 .delinvento-header-search .delinvento-header-location{
    width:auto;
    height:100%;
    min-width:0;
    border:0;
    border-left:1px solid rgba(15,23,42,.10);
    border-radius:0;
    background:#f8fafc;
    color:#0f172a;
    box-shadow:none;
    backdrop-filter:none;
    padding:0 11px;
    justify-content:center;
}
.delinvento-header-v9 .delinvento-header-search .delinvento-header-location svg{
    color:#0f766e;
}
.delinvento-header-v9 .delinvento-header-search .delinvento-header-location small{
    color:#64748b;
}
.delinvento-header-v9 .delinvento-header-search .delinvento-header-location strong{
    color:#0f172a;
    max-width:132px;
}
.delinvento-header-v9 .delinvento-header-search-submit{
    border:0;
    background:#ffd23f;
    color:#07101c;
    cursor:pointer;
    display:grid;
    place-items:center;
    width:42px;
    height:100%;
    padding:0;
}
.delinvento-header-v9 .delinvento-header-actions,
.delinvento-header-v9 .delinvento-client-header-menu{
    gap:8px;
}

@media (min-width:781px) and (max-width:1080px){
    .delinvento-header-v9 .delinvento-shop-mainbar{
        grid-template-columns:minmax(118px,150px) 38px minmax(210px,1fr) auto !important;
    }
    .delinvento-header-v9 .delinvento-header-search{
        grid-template-columns:minmax(0,1fr) 42px 42px !important;
    }
    .delinvento-header-v9 .delinvento-header-search .delinvento-header-location span{
        display:none !important;
    }
    .delinvento-header-v9 .delinvento-header-search .delinvento-header-location{
        padding:0;
    }
}

@media (max-width:780px){
    .delinvento-header-v9 .delinvento-shop-mainbar{
        grid-template-columns:minmax(92px,1fr) 42px max-content !important;
        gap:8px !important;
        padding:7px 10px 8px !important;
    }
    .delinvento-header-v9 .delinvento-shop-logo{
        grid-column:1 !important;
        grid-row:1 !important;
    }
    .delinvento-header-v9 .delinvento-logo-img{
        width:130px !important;
        max-height:34px !important;
    }
    .delinvento-header-v9 .delinvento-header-category-btn{
        grid-column:2 !important;
        grid-row:1 !important;
        width:42px !important;
        height:42px !important;
        min-width:42px !important;
        border-radius:14px !important;
        padding:0 !important;
    }
    .delinvento-header-v9 .delinvento-header-actions{
        grid-column:3 !important;
        grid-row:1 !important;
        gap:8px !important;
        align-items:center;
    }
    .delinvento-header-v9 .delinvento-header-map-btn,
    .delinvento-header-v9 .delinvento-icon-action,
    .delinvento-header-v9 .delinvento-client-orders-button,
    .delinvento-header-v9 .delinvento-client-account{
        width:40px !important;
        min-width:40px !important;
        height:40px !important;
        border-radius:13px !important;
        padding:0 !important;
    }
    .delinvento-header-v9 .delinvento-client-avatar{
        width:40px !important;
        height:40px !important;
        border-radius:13px !important;
    }
    .delinvento-header-v9 .delinvento-header-search{
        grid-column:1 / -1 !important;
        grid-row:2 !important;
        display:grid !important;
        grid-template-columns:minmax(0,1fr) 42px 42px !important;
        height:42px !important;
        border-radius:14px !important;
        overflow:hidden !important;
        box-shadow:none !important;
    }
    .delinvento-header-v9 .delinvento-header-search input{
        min-width:0 !important;
        padding:0 13px !important;
        font-size:14px !important;
    }
    .delinvento-header-v9 .delinvento-header-search .delinvento-header-location{
        display:grid !important;
        place-items:center !important;
        width:42px !important;
        min-width:42px !important;
        height:42px !important;
        padding:0 !important;
        border-left:1px solid rgba(15,23,42,.10) !important;
        background:#fff8db !important;
        color:#0f766e !important;
    }
    .delinvento-header-v9 .delinvento-header-search .delinvento-header-location span{
        display:none !important;
    }
    .delinvento-header-v9 .delinvento-header-search .delinvento-header-location svg,
    .delinvento-header-v9 .delinvento-header-search-submit svg{
        width:18px !important;
        height:18px !important;
    }
    .delinvento-header-v9 .delinvento-header-search-submit{
        width:42px !important;
        height:42px !important;
        border-radius:0 !important;
    }
    .delinvento-header-v9 .delinvento-shop-menubar{
        display:flex !important;
        align-items:center !important;
        padding:7px 8px 8px !important;
        overflow:hidden !important;
        background:#122033 !important;
        border-top:1px solid rgba(255,255,255,.08) !important;
    }
    .delinvento-header-v9 .delinvento-public-links{
        display:flex !important;
        flex:1 1 auto !important;
        min-width:0 !important;
        gap:8px !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        padding:0 2px 2px !important;
        scroll-snap-type:x proximity;
        -webkit-overflow-scrolling:touch;
    }
    .delinvento-header-v9 .delinvento-public-links a{
        flex:0 0 auto !important;
        scroll-snap-align:start;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-height:34px !important;
        padding:0 14px !important;
        border-radius:999px !important;
        background:rgba(255,255,255,.10) !important;
        border:1px solid rgba(255,255,255,.13) !important;
        color:#fff !important;
        font-size:13px !important;
        font-weight:950 !important;
        line-height:1 !important;
        opacity:1 !important;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
    }
    .delinvento-header-v9 .delinvento-public-links a:first-child{
        background:#ffd23f !important;
        border-color:#ffd23f !important;
        color:#07101c !important;
    }
    .delinvento-header-v9 .delinvento-header-meta{
        display:none !important;
    }
}

@media (max-width:420px){
    .delinvento-header-v9 .delinvento-shop-mainbar{
        grid-template-columns:minmax(76px,1fr) 38px max-content !important;
        gap:6px !important;
        padding-left:7px !important;
        padding-right:7px !important;
    }
    .delinvento-header-v9 .delinvento-logo-img{
        width:112px !important;
        max-height:30px !important;
    }
    .delinvento-header-v9 .delinvento-header-category-btn,
    .delinvento-header-v9 .delinvento-header-map-btn,
    .delinvento-header-v9 .delinvento-icon-action,
    .delinvento-header-v9 .delinvento-client-orders-button,
    .delinvento-header-v9 .delinvento-client-account{
        width:38px !important;
        min-width:38px !important;
        height:38px !important;
        border-radius:12px !important;
    }
    .delinvento-header-v9 .delinvento-header-actions,
    .delinvento-header-v9 .delinvento-client-header-menu{
        gap:6px !important;
    }
    .delinvento-header-v9 .delinvento-public-links a{
        min-height:32px !important;
        padding:0 12px !important;
        font-size:12px !important;
    }
}

/* =========================================================
   Delinvento v93: header móvil definitivo
   - ubicación como icono dentro del buscador
   - botones inferiores con scroll horizontal real sin cortarse
   ========================================================= */
html, body {
    max-width: 100%;
    overflow-x: hidden;
}

@media (max-width: 780px) {
    .delinvento-shop-header,
    .delinvento-header-v9 {
        width: 100% !important;
        max-width: 100vw !important;
        overflow: hidden !important;
    }

    .delinvento-header-v9 .delinvento-shop-mainbar {
        width: 100% !important;
        max-width: 100vw !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 42px max-content !important;
        grid-template-rows: auto auto !important;
        gap: 8px !important;
        align-items: center !important;
        padding: 7px 10px 8px !important;
    }

    .delinvento-header-v9 .delinvento-shop-logo {
        grid-column: 1 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .delinvento-header-v9 .delinvento-logo-img {
        width: 126px !important;
        max-width: 100% !important;
        max-height: 32px !important;
        object-fit: contain !important;
    }

    .delinvento-header-v9 .delinvento-header-category-btn {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: grid !important;
        place-items: center !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        border-radius: 14px !important;
        padding: 0 !important;
    }

    .delinvento-header-v9 .delinvento-header-category-btn span {
        display: none !important;
    }

    .delinvento-header-v9 .delinvento-header-actions {
        grid-column: 3 !important;
        grid-row: 1 !important;
        display: inline-flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        gap: 8px !important;
        min-width: 0 !important;
        padding: 0 !important;
    }

    .delinvento-header-v9 .delinvento-header-map-btn,
    .delinvento-header-v9 .delinvento-icon-action,
    .delinvento-header-v9 .delinvento-client-orders-button,
    .delinvento-header-v9 .delinvento-client-account,
    .delinvento-header-v9 .delinvento-client-avatar {
        display: grid !important;
        place-items: center !important;
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        border-radius: 13px !important;
        padding: 0 !important;
        flex: 0 0 auto !important;
    }

    .delinvento-header-v9 .delinvento-header-map-btn span,
    .delinvento-header-v9 .delinvento-client-orders-button span,
    .delinvento-header-v9 .delinvento-client-name {
        display: none !important;
    }

    .delinvento-header-v9 .delinvento-header-search {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        order: initial !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 42px 42px !important;
        align-items: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 42px !important;
        border-radius: 15px !important;
        overflow: hidden !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .delinvento-header-v9 .delinvento-header-search input {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 42px !important;
        padding: 0 13px !important;
        font-size: 14px !important;
    }

    .delinvento-header-v9 .delinvento-header-search .delinvento-header-location {
        grid-column: 2 !important;
        grid-row: 1 !important;
        order: initial !important;
        position: static !important;
        display: grid !important;
        place-items: center !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        border: 0 !important;
        border-left: 1px solid rgba(15, 23, 42, .10) !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        background: #fff8dc !important;
        color: #0f766e !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
    }

    .delinvento-header-v9 .delinvento-header-search .delinvento-header-location span {
        display: none !important;
    }

    .delinvento-header-v9 .delinvento-header-search .delinvento-header-location svg,
    .delinvento-header-v9 .delinvento-header-search-submit svg {
        width: 18px !important;
        height: 18px !important;
    }

    .delinvento-header-v9 .delinvento-header-search-submit {
        grid-column: 3 !important;
        grid-row: 1 !important;
        display: grid !important;
        place-items: center !important;
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
        border: 0 !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        background: #ffd23f !important;
        color: #07101c !important;
    }

    .delinvento-header-v9 .delinvento-shop-menubar {
        display: flex !important;
        width: 100% !important;
        max-width: 100vw !important;
        min-height: 46px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 7px 0 8px !important;
        margin: 0 !important;
        overflow: hidden !important;
        background: #122033 !important;
        border-top: 1px solid rgba(255,255,255,.08) !important;
    }

    .delinvento-header-v9 .delinvento-public-links {
        display: flex !important;
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 10px 4px 10px !important;
        margin: 0 !important;
        scroll-padding-left: 10px !important;
        scroll-snap-type: x proximity !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .delinvento-header-v9 .delinvento-public-links::-webkit-scrollbar {
        display: none !important;
    }

    .delinvento-header-v9 .delinvento-public-links a {
        flex: 0 0 auto !important;
        scroll-snap-align: start !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 34px !important;
        min-width: max-content !important;
        padding: 0 14px !important;
        margin: 0 !important;
        border-radius: 999px !important;
        background: rgba(255,255,255,.10) !important;
        border: 1px solid rgba(255,255,255,.14) !important;
        color: #fff !important;
        opacity: 1 !important;
        font-size: 13px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
    }

    .delinvento-header-v9 .delinvento-public-links a:first-child {
        margin-left: 0 !important;
        background: #ffd23f !important;
        border-color: #ffd23f !important;
        color: #07101c !important;
    }

    .delinvento-header-v9 .delinvento-header-meta,
    .delinvento-header-v9 .delinvento-header-category-rail {
        display: none !important;
    }
}

@media (max-width: 420px) {
    .delinvento-header-v9 .delinvento-shop-mainbar {
        grid-template-columns: minmax(0, 1fr) 38px max-content !important;
        gap: 6px !important;
        padding-left: 7px !important;
        padding-right: 7px !important;
    }

    .delinvento-header-v9 .delinvento-logo-img {
        width: 112px !important;
        max-height: 30px !important;
    }

    .delinvento-header-v9 .delinvento-header-category-btn,
    .delinvento-header-v9 .delinvento-header-map-btn,
    .delinvento-header-v9 .delinvento-icon-action,
    .delinvento-header-v9 .delinvento-client-orders-button,
    .delinvento-header-v9 .delinvento-client-account,
    .delinvento-header-v9 .delinvento-client-avatar {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        border-radius: 12px !important;
    }

    .delinvento-header-v9 .delinvento-header-actions,
    .delinvento-header-v9 .delinvento-client-header-menu {
        gap: 6px !important;
    }

    .delinvento-header-v9 .delinvento-header-search {
        grid-template-columns: minmax(0, 1fr) 40px 40px !important;
        height: 40px !important;
    }

    .delinvento-header-v9 .delinvento-header-search input,
    .delinvento-header-v9 .delinvento-header-search .delinvento-header-location,
    .delinvento-header-v9 .delinvento-header-search-submit {
        height: 40px !important;
    }

    .delinvento-header-v9 .delinvento-header-search .delinvento-header-location,
    .delinvento-header-v9 .delinvento-header-search-submit {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
    }

    .delinvento-header-v9 .delinvento-public-links {
        padding-left: 8px !important;
        padding-right: 8px !important;
        gap: 7px !important;
    }

    .delinvento-header-v9 .delinvento-public-links a {
        min-height: 32px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
    }
}

/* =========================================================
   Delinvento v95: ubicación del header limpia en escritorio
   - La ubicación queda como botón de icono dentro del buscador.
   - Evita que el texto ZONA / Configurar deforme la barra en desktop.
   ========================================================= */
.delinvento-header-v9 .delinvento-shop-mainbar {
    grid-template-columns: minmax(132px, 180px) auto minmax(320px, 1fr) auto !important;
    align-items: center !important;
}

.delinvento-header-v9 .delinvento-header-search {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 52px 52px !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #fff !important;
}

.delinvento-header-v9 .delinvento-header-search input {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
}

.delinvento-header-v9 .delinvento-header-search .delinvento-header-location {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: static !important;
    display: grid !important;
    place-items: center !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-left: 1px solid rgba(15, 23, 42, .10) !important;
    border-radius: 0 !important;
    background: #f8fafc !important;
    color: #0f766e !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.delinvento-header-v9 .delinvento-header-search .delinvento-header-location:hover {
    background: #ecfdf5 !important;
    color: #0f766e !important;
}

.delinvento-header-v9 .delinvento-header-search .delinvento-header-location span {
    display: none !important;
}

.delinvento-header-v9 .delinvento-header-search .delinvento-header-location svg {
    width: 20px !important;
    height: 20px !important;
    color: currentColor !important;
}

.delinvento-header-v9 .delinvento-header-search-submit {
    grid-column: 3 !important;
    grid-row: 1 !important;
    display: grid !important;
    place-items: center !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffd23f !important;
    color: #07101c !important;
}

.delinvento-header-v9 .delinvento-header-actions,
.delinvento-header-v9 .delinvento-client-header-menu {
    gap: 10px !important;
}

@media (min-width: 781px) and (max-width: 1080px) {
    .delinvento-header-v9 .delinvento-shop-mainbar {
        grid-template-columns: minmax(118px, 150px) 42px minmax(220px, 1fr) auto !important;
    }

    .delinvento-header-v9 .delinvento-header-search {
        grid-template-columns: minmax(0, 1fr) 46px 46px !important;
        height: 46px !important;
    }

    .delinvento-header-v9 .delinvento-header-search .delinvento-header-location,
    .delinvento-header-v9 .delinvento-header-search-submit {
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
    }
}

@media (max-width: 780px) {
    .delinvento-header-v9 .delinvento-shop-mainbar {
        grid-template-columns: minmax(92px, 1fr) 42px max-content !important;
    }

    .delinvento-header-v9 .delinvento-header-search {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        grid-template-columns: minmax(0, 1fr) 42px 42px !important;
        height: 42px !important;
        border-radius: 14px !important;
    }

    .delinvento-header-v9 .delinvento-header-search .delinvento-header-location,
    .delinvento-header-v9 .delinvento-header-search-submit {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
    }

    .delinvento-header-v9 .delinvento-header-actions,
    .delinvento-header-v9 .delinvento-client-header-menu {
        gap: 8px !important;
    }
}

/* =========================================================
   Delinvento v96: menú lateral tipo supermercado + categorías
   ========================================================= */
.delinvento-side-menu-backdrop[hidden],
.delinvento-side-menu[hidden] {
    display: none !important;
}

.delinvento-side-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9900;
    background: rgba(7, 14, 25, .62);
    opacity: 0;
    transition: opacity .18s ease;
}

.delinvento-side-menu {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 9901;
    width: min(365px, 88vw);
    max-width: 100vw;
    background: #fff;
    color: #1f2937;
    box-shadow: 28px 0 70px rgba(0, 0, 0, .28);
    transform: translateX(-105%);
    transition: transform .2s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

body.delinvento-side-menu-open {
    overflow: hidden;
}

body.delinvento-side-menu-open .delinvento-side-menu-backdrop {
    opacity: 1;
}

body.delinvento-side-menu-open .delinvento-side-menu {
    transform: translateX(0);
}

.delinvento-side-menu-panel {
    min-height: 100%;
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: #fff;
}

.delinvento-side-menu-head {
    min-height: 60px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #eef2f7;
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 2;
}

.delinvento-side-menu-head small {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: #0f766e;
    font-weight: 950;
    margin-bottom: 2px;
}

.delinvento-side-menu-head strong {
    font-size: 17px;
    font-weight: 950;
    color: #111827;
}

.delinvento-side-menu-head button {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 12px;
    background: #f3f6fb;
    color: #1f2937;
    display: grid;
    place-items: center;
    cursor: pointer;
    font-size: 26px;
    line-height: 1;
    font-weight: 500;
}

.delinvento-side-menu-head.is-category-head {
    justify-content: flex-start;
}

.delinvento-side-menu-head.is-category-head strong {
    flex: 1;
    text-align: left;
}

.delinvento-side-menu-head.is-category-head [data-back-side-menu] {
    font-size: 23px;
    background: transparent;
}

.delinvento-side-menu-login {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px 4px;
    color: #111827;
    text-decoration: none;
    font-size: 15px;
}

.delinvento-side-menu-login strong {
    font-weight: 850;
}

.delinvento-side-menu-settings {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 12px 16px;
}

.delinvento-side-menu-settings button {
    border: 0;
    background: transparent;
    color: #334155;
    font-size: 14px;
    cursor: pointer;
    padding: 0;
}

.delinvento-side-location {
    width: calc(100% - 32px);
    margin: 6px 16px 10px;
    min-height: 45px;
    border: 0;
    border-radius: 9px;
    background: #f3f4f6;
    color: #111827;
    display: grid;
    grid-template-columns: 24px 1fr 16px;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    text-align: left;
    cursor: pointer;
}

.delinvento-side-location svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #0f766e;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.delinvento-side-location span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 850;
    font-size: 14px;
}

.delinvento-side-location em,
.delinvento-side-menu-nav span {
    font-style: normal;
    color: #64748b;
    font-size: 25px;
    line-height: 1;
}

.delinvento-side-menu-nav {
    display: grid;
    border-top: 1px solid #edf2f7;
    margin-top: 10px;
    padding: 18px 0;
}

.delinvento-side-menu-nav a,
.delinvento-side-menu-nav button,
.delinvento-side-category-list button {
    min-height: 43px;
    width: 100%;
    padding: 0 16px;
    border: 0;
    border-bottom: 1px solid #edf2f7;
    background: #fff;
    color: #1f2937;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    font-size: 15px;
    font-weight: 650;
    text-align: left;
    cursor: pointer;
}

.delinvento-side-menu-nav a:hover,
.delinvento-side-menu-nav button:hover,
.delinvento-side-category-list button:hover {
    background: #f8fafc;
    color: #0f766e;
}

.delinvento-side-menu-social {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 16px 28px;
    color: #1f2937;
}

.delinvento-side-menu-social strong {
    font-size: 13px;
    font-weight: 900;
}

.delinvento-side-menu-social span {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 99px;
    color: #111827;
    font-size: 24px;
    font-weight: 900;
}

.delinvento-side-category-list {
    display: grid;
    padding: 0 0 24px;
}

.delinvento-side-category-list button {
    min-height: 40px;
    font-size: 16px;
    font-weight: 600;
}

.delinvento-side-category-list button[hidden] {
    display: none !important;
}

.delinvento-side-category-list em {
    font-style: normal;
    color: #1f2937;
    font-size: 23px;
    font-weight: 900;
    line-height: 1;
}

@media (min-width: 781px) {
    .delinvento-header-v9 .delinvento-header-category-btn span {
        font-size: 15px;
    }
}

@media (max-width: 780px) {
    .delinvento-side-menu {
        width: min(336px, 88vw);
    }
    .delinvento-side-menu-head {
        min-height: 58px;
    }
}

/* =========================================================
   Delinvento v97: logo oficial, Facebook funcional y home limpio
   ========================================================= */
.delinvento-visitor-home.is-removed-v97 {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.delinvento-side-menu-social {
    padding: 18px 16px 28px !important;
}
.delinvento-side-menu-social .delinvento-facebook-button {
    width: 100%;
    min-height: 48px;
    border-radius: 16px;
    background: linear-gradient(135deg, #1877f2 0%, #0b5fd3 100%);
    color: #fff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-weight: 950;
    box-shadow: 0 16px 34px rgba(24, 119, 242, .22);
    border: 1px solid rgba(255,255,255,.18);
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.delinvento-side-menu-social .delinvento-facebook-button:hover,
.delinvento-side-menu-social .delinvento-facebook-button:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 20px 42px rgba(24, 119, 242, .30);
    filter: saturate(1.08);
    outline: none;
}
.delinvento-side-menu-social .delinvento-facebook-button span {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: rgba(255,255,255,.18);
    color: #fff;
    display: grid;
    place-items: center;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 22px;
    font-weight: 1000;
    line-height: 1;
}
.delinvento-side-menu-social .delinvento-facebook-button strong {
    color: #fff;
    font-size: 15px;
    font-weight: 950;
}


/* V98 - Selector inicial simple de provincia y municipio */
.market-quick-zone-modal {
    position: fixed;
    inset: 0;
    z-index: 2200;
    display: grid;
    place-items: center;
    padding: 18px;
    background:
        radial-gradient(circle at 18% 14%, rgba(250,204,21,.22), transparent 30%),
        radial-gradient(circle at 84% 22%, rgba(34,197,94,.22), transparent 28%),
        rgba(2, 6, 23, .82);
    backdrop-filter: blur(12px);
}

.market-quick-zone-modal[hidden] {
    display: none !important;
}

body.market-quick-zone-open {
    overflow: hidden;
}

.market-quick-zone-dialog {
    width: min(620px, 100%);
    border-radius: 32px;
    padding: clamp(22px, 4vw, 38px);
    background:
        linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,250,252,.97));
    border: 1px solid rgba(255,255,255,.72);
    box-shadow: 0 38px 110px rgba(2,6,23,.38);
    color: #07111f;
}

.market-quick-zone-logo {
    display: inline-grid;
    place-items: center;
    width: min(280px, 72vw);
    min-height: 82px;
    padding: 16px 18px;
    border-radius: 24px;
    background: #020617;
    box-shadow: 0 20px 46px rgba(2,6,23,.22);
    margin-bottom: 18px;
}

.market-quick-zone-logo img {
    display: block;
    max-width: 100%;
    height: auto;
}

.market-quick-zone-dialog h2 {
    margin: 0 0 10px;
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: .95;
    letter-spacing: -.075em;
    color: #07111f;
}

.market-quick-zone-dialog > p:not(.eyebrow):not(.market-modal-error) {
    margin: 0 0 18px;
    color: #475569;
    font-size: 1.02rem;
    line-height: 1.55;
}

.market-quick-zone-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0 12px;
}

.market-quick-zone-grid label,
.market-start-zone-fields label {
    font-weight: 900;
    color: #0f172a;
}

.market-quick-zone-grid select,
.market-start-zone-fields select,
.market-start-zone-fields input {
    width: 100%;
    margin-top: 7px;
    border: 1px solid rgba(15,23,42,.14);
    border-radius: 16px;
    padding: 13px 14px;
    background: #fff;
    color: #0f172a;
    font: inherit;
    font-weight: 750;
    outline: none;
    min-height: 50px;
    box-shadow: 0 10px 24px rgba(15,23,42,.06);
}

.market-quick-zone-grid select:focus,
.market-start-zone-fields select:focus,
.market-start-zone-fields input:focus {
    border-color: rgba(20,184,166,.55);
    box-shadow: 0 0 0 4px rgba(20,184,166,.14);
}

.market-quick-zone-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
}

.market-start-zone-fields {
    margin: 16px 0;
}

@media (max-width: 680px) {
    .market-quick-zone-dialog {
        border-radius: 26px;
    }

    .market-quick-zone-grid,
    .market-start-zone-fields {
        grid-template-columns: 1fr;
    }

    .market-quick-zone-actions .button {
        width: 100%;
    }
}

.delivery-time-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    margin: 6px 0 8px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(20, 184, 166, .12);
    border: 1px solid rgba(20, 184, 166, .24);
    color: #0f766e;
    font-weight: 900;
    font-size: .78rem;
    line-height: 1.2;
}

.detail-delivery-time {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 8px 0 12px;
    padding: 10px 12px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(20, 184, 166, .13), rgba(245, 158, 11, .10));
    border: 1px solid rgba(15, 23, 42, .08);
    color: #0f172a;
    font-weight: 800;
}

.cart-delivery-time {
    display: block;
    margin-top: 4px;
    color: #0f766e;
    font-weight: 850;
}

.visitor-zone-summary {
    display: grid;
    gap: 8px;
    margin: 16px 0 14px;
    padding: 14px;
    border-radius: 20px;
    background: rgba(15, 23, 42, .045);
    border: 1px solid rgba(15, 23, 42, .10);
}

.visitor-zone-summary span {
    color: #64748b;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.visitor-zone-summary strong {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 950;
}

.visitor-zone-summary .button {
    justify-self: start;
}

@media (max-width: 640px) {
    .visitor-zone-summary .button {
        width: 100%;
    }

    .detail-delivery-time {
        width: 100%;
    }
}

/* =======================================================================
   Delinvento V102 - Centro de ayuda tipo marketplace
   ======================================================================= */
.delinvento-help-page {
  display: grid;
  gap: 22px;
  padding: 18px 0 42px;
}
.help-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 22px;
  align-items: stretch;
  border-radius: 32px;
  padding: clamp(22px, 4vw, 42px);
  background:
    radial-gradient(circle at 14% 20%, rgba(255, 208, 51, .45), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(15, 118, 110, .24), transparent 32%),
    linear-gradient(135deg, #fff7cc 0%, #fff 52%, #e8fff8 100%);
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 24px 70px rgba(15, 23, 42, .10);
}
.help-hero::before,
.help-hero::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}
.help-hero::before {
  right: 22%;
  top: 24px;
  width: 92px;
  height: 92px;
  background: rgba(255, 210, 50, .32);
  filter: blur(2px);
  animation: helpFloat 8s ease-in-out infinite;
}
.help-hero::after {
  left: 42%;
  bottom: -42px;
  width: 180px;
  height: 180px;
  background: rgba(15, 118, 110, .10);
  animation: helpFloat 10s ease-in-out infinite reverse;
}
.help-hero-copy,
.help-hero-card {
  position: relative;
  z-index: 1;
}
.help-hero-copy h1 {
  max-width: 780px;
  margin: 8px 0 12px;
  color: #0f172a;
  font-size: clamp(32px, 5vw, 56px);
  line-height: .96;
  letter-spacing: -1.7px;
}
.help-hero-copy p:not(.eyebrow) {
  max-width: 700px;
  margin: 0;
  color: #475569;
  font-size: 17px;
  line-height: 1.65;
}
.help-hero-card {
  align-self: center;
  display: grid;
  gap: 10px;
  padding: 22px;
  min-height: 240px;
  border-radius: 28px;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 22px 52px rgba(15, 23, 42, .12);
  backdrop-filter: blur(14px);
}
.help-hero-card > span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: #0f766e;
  box-shadow: 0 14px 28px rgba(15, 118, 110, .22);
  font-size: 29px;
}
.help-hero-card strong {
  color: #0f172a;
  font-size: 22px;
  line-height: 1.1;
}
.help-hero-card small {
  color: #64748b;
  line-height: 1.45;
}
.help-hero-card button,
.help-support-actions button,
.help-empty-state button {
  border: 0;
  border-radius: 16px;
  padding: 12px 14px;
  background: #ffd233;
  color: #172033;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(255, 210, 51, .25);
}
.help-search-panel {
  display: grid;
  gap: 12px;
  margin-top: -34px;
  padding: 18px;
  border-radius: 26px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 22px 52px rgba(15, 23, 42, .12);
  position: relative;
  z-index: 2;
}
.help-search-panel label {
  color: #0f172a;
  font-weight: 950;
  font-size: 15px;
}
.help-search-box {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  border-radius: 18px;
  border: 2px solid rgba(15, 118, 110, .18);
  background: #f8fafc;
  padding: 0 14px;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.help-search-box:focus-within {
  border-color: rgba(15, 118, 110, .68);
  background: #fff;
  box-shadow: 0 0 0 5px rgba(15, 118, 110, .10);
}
.help-search-box svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: #0f766e;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
}
.help-search-box input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #0f172a;
  font-size: 16px;
  font-weight: 750;
}
.help-search-box input::placeholder { color: #94a3b8; font-weight: 650; }
.help-search-box button {
  border: 0;
  border-radius: 999px;
  background: #e2e8f0;
  color: #0f172a;
  padding: 8px 12px;
  font-weight: 900;
  cursor: pointer;
}
.help-suggestions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.help-suggestions button {
  border: 1px solid rgba(15, 23, 42, .10);
  background: #fff;
  color: #334155;
  border-radius: 999px;
  padding: 9px 12px;
  font-weight: 850;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.help-suggestions button:hover {
  transform: translateY(-1px);
  border-color: rgba(15, 118, 110, .35);
  background: #effdf8;
}
.help-quick-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.help-action-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 18px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
}
.help-action-card > span {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 17px;
  background: #f1f5f9;
  font-size: 23px;
}
.help-action-card strong { display: block; color: #0f172a; font-size: 17px; }
.help-action-card p { margin: 5px 0 0; color: #64748b; font-size: 13px; line-height: 1.45; }
.help-action-card a,
.help-action-card button {
  grid-column: 1 / -1;
  justify-self: start;
  border: 0;
  border-radius: 14px;
  background: #0f766e;
  color: #fff;
  padding: 10px 13px;
  text-decoration: none;
  font-weight: 950;
  cursor: pointer;
}
.help-layout {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.3fr);
  gap: 18px;
  align-items: start;
}
.help-topics-panel,
.help-results-panel,
.help-support-strip {
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(15, 23, 42, .08);
}
.help-topics-panel,
.help-results-panel { padding: 20px; }
.help-section-title { margin-bottom: 15px; }
.help-section-title h2 {
  margin: 4px 0 0;
  color: #0f172a;
  font-size: 26px;
  letter-spacing: -.65px;
}
.help-section-title.is-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.help-section-title.is-inline small {
  flex: 0 0 auto;
  border-radius: 999px;
  background: #f1f5f9;
  color: #334155;
  padding: 8px 12px;
  font-weight: 900;
}
.help-topic-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.help-topic-card {
  display: grid;
  gap: 7px;
  text-align: left;
  min-height: 150px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 22px;
  background: linear-gradient(180deg, #fff, #f8fafc);
  padding: 16px;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.help-topic-card:hover {
  transform: translateY(-3px);
  border-color: rgba(15, 118, 110, .25);
  box-shadow: 0 18px 34px rgba(15, 23, 42, .08);
}
.help-topic-card > span { font-size: 27px; }
.help-topic-card strong { color: #0f172a; font-size: 16px; }
.help-topic-card small { color: #64748b; line-height: 1.35; }
.help-faq-list { display: grid; gap: 10px; }
.help-faq-item {
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 18px;
  background: #fff;
}
.help-faq-item[hidden], .help-topic-card[hidden] { display: none !important; }
.help-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 16px;
  cursor: pointer;
  list-style: none;
  color: #0f172a;
  font-weight: 950;
}
.help-faq-item summary::-webkit-details-marker { display: none; }
.help-faq-item summary em {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #0f766e;
  font-style: normal;
  font-size: 18px;
  flex: 0 0 auto;
}
.help-faq-item[open] summary { border-bottom: 1px solid rgba(15, 23, 42, .07); }
.help-faq-item[open] summary em { transform: rotate(45deg); }
.help-faq-item div { padding: 0 16px 16px; }
.help-faq-item p {
  margin: 14px 0;
  color: #475569;
  line-height: 1.6;
}
.help-faq-item a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border-radius: 13px;
  background: #effdf8;
  color: #0f766e;
  padding: 0 13px;
  text-decoration: none;
  font-weight: 950;
}
.help-empty-state {
  display: grid;
  place-items: center;
  text-align: center;
  gap: 8px;
  padding: 24px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px dashed rgba(15, 23, 42, .16);
  margin-bottom: 12px;
}
.help-empty-state[hidden] { display: none !important; }
.help-empty-state span { font-size: 32px; }
.help-empty-state strong { color: #0f172a; font-size: 18px; }
.help-empty-state p { margin: 0; color: #64748b; }
.help-support-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px;
  background:
    radial-gradient(circle at 10% 20%, rgba(255, 210, 51, .20), transparent 25%),
    linear-gradient(135deg, #0f172a, #0f766e);
  color: #fff;
}
.help-support-strip h2 { margin: 4px 0 6px; color: #fff; font-size: 26px; }
.help-support-strip p:not(.eyebrow) { margin: 0; color: rgba(255,255,255,.78); line-height: 1.5; }
.help-support-strip .eyebrow { color: #ffd233; }
.help-support-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.help-support-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .20);
  color: #fff;
  padding: 0 14px;
  text-decoration: none;
  font-weight: 950;
}
@keyframes helpFloat {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(8px, -12px, 0) scale(1.05); }
}
@media (max-width: 1024px) {
  .help-hero { grid-template-columns: 1fr; }
  .help-hero-card { min-height: auto; }
  .help-quick-actions, .help-layout { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .delinvento-help-page { padding-top: 10px; gap: 16px; }
  .help-hero { border-radius: 24px; padding: 24px 18px 48px; }
  .help-search-panel { margin-top: -44px; border-radius: 22px; padding: 14px; }
  .help-search-box { min-height: 54px; }
  .help-topic-grid { grid-template-columns: 1fr; }
  .help-action-card { grid-template-columns: 1fr; }
  .help-support-strip { align-items: stretch; flex-direction: column; }
  .help-support-actions { justify-content: flex-start; }
}

/* Delinvento V103 - footer marketplace profesional */
.delinvento-footer {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(260px, 1.35fr) minmax(150px, .62fr) minmax(170px, .72fr) minmax(260px, .95fr);
  gap: 26px;
  margin-top: 38px;
  padding: 38px 34px 20px;
  border-radius: 34px 34px 0 0;
  color: rgba(255, 255, 255, .84);
  background:
    radial-gradient(circle at 10% 0%, rgba(255, 210, 51, .20), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(20, 184, 166, .20), transparent 24%),
    linear-gradient(135deg, #07121f 0%, #0d1b2f 52%, #0f172a 100%);
  box-shadow: 0 -18px 60px rgba(15, 23, 42, .16);
}
.delinvento-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.72), transparent 76%);
}
.delinvento-footer > * {
  position: relative;
  z-index: 1;
}
.delinvento-footer-brand p,
.delinvento-footer-help p,
.delinvento-footer-bottom p {
  margin: 0;
  line-height: 1.6;
  color: rgba(255, 255, 255, .72);
}
.delinvento-footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: #ffffff;
  font-size: 28px;
  font-weight: 950;
  letter-spacing: -.04em;
}
.delinvento-footer-logo::before {
  content: "✦";
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 14px;
  background: linear-gradient(135deg, #ffd233, #14b8a6);
  color: #08111f;
  font-size: 18px;
  box-shadow: 0 16px 34px rgba(20, 184, 166, .22);
}
.delinvento-footer-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
}
.delinvento-footer-badges span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin: 0;
  padding: 0 11px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .86);
  font-size: 12px;
  font-weight: 900;
  backdrop-filter: blur(10px);
}
.delinvento-footer-col span,
.delinvento-footer-help small {
  display: block;
  margin: 0 0 12px;
  color: #ffd233;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.delinvento-footer-col a,
.delinvento-footer-bottom a {
  display: block;
  width: fit-content;
  margin: 9px 0;
  color: rgba(255, 255, 255, .78);
  text-decoration: none;
  font-weight: 800;
  transition: transform .18s ease, color .18s ease;
}
.delinvento-footer-col a:hover,
.delinvento-footer-bottom a:hover {
  color: #ffffff;
  transform: translateX(3px);
}
.delinvento-footer-help {
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 24px;
  background: rgba(255, 255, 255, .08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter: blur(14px);
}
.delinvento-footer-help strong {
  display: block;
  margin-bottom: 8px;
  color: #ffffff;
  font-size: 19px;
  line-height: 1.2;
}
.delinvento-footer-help a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: 14px;
  padding: 0 16px;
  border-radius: 15px;
  background: #ffd233;
  color: #0f172a;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(250, 204, 21, .22);
}
.delinvento-footer-bottom {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 8px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .10);
}
.delinvento-footer-bottom div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 14px;
}
.delinvento-footer-bottom a {
  margin: 0;
}
@media (max-width: 1100px) {
  .delinvento-footer {
    grid-template-columns: 1.1fr .9fr;
  }
}
@media (max-width: 720px) {
  .delinvento-footer {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 28px;
    padding: 30px 20px 18px;
    border-radius: 28px 28px 0 0;
  }
  .delinvento-footer-logo { font-size: 25px; }
  .delinvento-footer-col {
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, .08);
  }
  .delinvento-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
  .delinvento-footer-bottom div {
    justify-content: flex-start;
  }
}

/* Delinvento Wallet / QR economy v104 */
.wallet-mini-pill,
.delinvento-wallet-chip {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border-radius: 999px;
    border: 1px solid rgba(250, 204, 21, .38);
    background: rgba(250, 204, 21, .12);
    color: #facc15;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}
.wallet-mini-pill { padding: .42rem .7rem; font-size: .82rem; }
.delinvento-wallet-chip { padding: .58rem .75rem; color: #0f172a; background: linear-gradient(135deg,#fef3c7,#facc15); border-color: rgba(180,83,9,.2); box-shadow: 0 12px 28px rgba(250,204,21,.22); }
.delinvento-wallet-chip svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.wallet-hero {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(240px,340px);
    gap: 1rem;
    align-items: stretch;
    padding: clamp(1.2rem, 3vw, 2rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at 15% 20%, rgba(250,204,21,.26), transparent 32%),
        radial-gradient(circle at 85% 0%, rgba(56,189,248,.18), transparent 30%),
        linear-gradient(135deg, #0f172a, #172033 55%, #0b1220);
    color: #fff;
    margin-bottom: 1rem;
    overflow: hidden;
    position: relative;
}
.wallet-hero:after { content:""; position:absolute; inset:auto -10% -55% 45%; height: 240px; background: radial-gradient(circle, rgba(255,255,255,.14), transparent 60%); transform: rotate(-10deg); pointer-events:none; }
.wallet-hero h1 { margin: .1rem 0 .45rem; font-size: clamp(2rem, 5vw, 3.7rem); line-height: .95; letter-spacing: -.06em; }
.wallet-hero p { max-width: 760px; color: rgba(255,255,255,.78); }
.wallet-balance-card {
    background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 24px;
    padding: 1.25rem;
    display: grid;
    align-content: center;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 22px 55px rgba(0,0,0,.22);
    backdrop-filter: blur(14px);
}
.wallet-balance-card span { color: rgba(255,255,255,.7); font-weight: 800; }
.wallet-balance-card strong { font-size: clamp(2rem, 5vw, 3.2rem); letter-spacing: -.05em; }
.wallet-balance-card small { color: #fde68a; font-weight: 900; }
.wallet-access-grid,
.wallet-grid-main,
.wallet-admin-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 1rem;
    align-items: start;
    margin: 1rem 0;
}
.wallet-panel,
.wallet-director-panel,
.wallet-redeem-focus {
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 18px 50px rgba(15,23,42,.08);
}
.wallet-panel h2,
.wallet-director-panel h2,
.wallet-redeem-focus h2 { margin-top: 0; letter-spacing: -.03em; }
.wallet-security-panel ul { margin: .6rem 0 0; padding-left: 1.1rem; color: #475569; line-height: 1.7; }
.wallet-code-preview {
    display: grid;
    gap: .25rem;
    padding: .9rem 1rem;
    border: 1px dashed rgba(15,23,42,.18);
    background: #f8fafc;
    border-radius: 18px;
    margin: .9rem 0;
    overflow-wrap: anywhere;
}
.wallet-code-preview span { color: #64748b; font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.wallet-code-preview strong { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; color: #0f172a; }
.wallet-actions-row { display: flex; gap: .7rem; flex-wrap: wrap; }
.wallet-redeem-focus {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.25rem;
    border-radius: 24px;
    background: linear-gradient(135deg,#fefce8,#fff 58%,#ecfeff);
    margin-bottom: 1rem;
}
.wallet-redeem-form { display: flex; gap: .6rem; flex-wrap: wrap; justify-content: flex-end; }
.wallet-code-form input { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; text-transform: uppercase; letter-spacing: .04em; }
.wallet-note { display:block; margin-top:.75rem; color:#64748b; line-height:1.55; }
.wallet-ledger-list { display: grid; gap: .65rem; }
.wallet-ledger-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: .8rem .9rem;
    border: 1px solid rgba(15,23,42,.07);
    border-radius: 16px;
    background: #fff;
}
.wallet-ledger-row span { display: grid; color:#0f172a; font-weight:800; }
.wallet-ledger-row span small { margin-top:.15rem; color:#94a3b8; font-weight:700; }
.wallet-ledger-row strong { white-space:nowrap; }
.wallet-ledger-row.is-credit strong { color:#16a34a; }
.wallet-ledger-row.is-debit strong { color:#dc2626; }
.wallet-director-panel { padding: 1.2rem; border-radius: 24px; background: linear-gradient(135deg,#fff,#f8fafc); }
.wallet-director-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:1rem; }
.wallet-director-badge { display:inline-flex; padding:.55rem .75rem; border-radius:999px; background:#0f172a; color:#facc15; font-size:.78rem; font-weight:900; white-space:nowrap; }
.wallet-issue-grid { align-items:end; }
.wallet-print-actions { display:flex; gap:.7rem; flex-wrap:wrap; justify-content:flex-end; margin:1rem 0; }
.wallet-card-sheet {
    display: grid;
    grid-template-columns: repeat(3, minmax(220px, 1fr));
    gap: 1rem;
    margin: 1rem 0 1.5rem;
}
.wallet-qr-card {
    background: radial-gradient(circle at 25% 12%, rgba(250,204,21,.32), transparent 28%), linear-gradient(145deg,#0f172a,#111827 62%,#020617);
    color: #fff;
    border-radius: 26px;
    padding: 1rem;
    min-height: 380px;
    display: grid;
    gap: .75rem;
    align-content: start;
    position: relative;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(2,6,23,.22);
    page-break-inside: avoid;
}
.wallet-qr-card:before { content:""; position:absolute; inset:auto -20% -30% 20%; height: 170px; background: radial-gradient(circle, rgba(255,255,255,.12), transparent 62%); pointer-events:none; }
.wallet-qr-card-top { display:flex; justify-content:space-between; align-items:start; gap:.75rem; position:relative; z-index:1; }
.wallet-qr-card-top span { font-weight:900; letter-spacing:-.02em; }
.wallet-qr-card-top strong { color:#facc15; font-size:1.25rem; }
.wallet-qr-box { background:#fff; border-radius:20px; padding:.6rem; display:grid; place-items:center; position:relative; z-index:1; min-height: 210px; }
.wallet-qr-card p { margin:0; color:rgba(255,255,255,.76); font-weight:800; position:relative; z-index:1; }
.wallet-qr-card code { display:block; padding:.65rem; border-radius:14px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.13); color:#fff; font-size:.82rem; overflow-wrap:anywhere; position:relative; z-index:1; }
.wallet-qr-card small { color:rgba(255,255,255,.6); position:relative; z-index:1; }
.wallet-admin-table-wrap { overflow:auto; }
.wallet-admin-table { width:100%; border-collapse:collapse; min-width: 640px; }
.wallet-admin-table th,
.wallet-admin-table td { text-align:left; padding:.72rem .65rem; border-bottom:1px solid rgba(15,23,42,.08); font-size:.92rem; }
.wallet-admin-table th { color:#64748b; font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; }

@media (max-width: 860px) {
    .wallet-hero,
    .wallet-access-grid,
    .wallet-grid-main,
    .wallet-admin-grid,
    .wallet-redeem-focus { grid-template-columns: 1fr; }
    .wallet-card-sheet { grid-template-columns: 1fr; }
    .wallet-redeem-form { justify-content: stretch; }
    .wallet-redeem-form .button { width:100%; }
    .delinvento-wallet-chip span { display:none; }
}

@media print {
    body * { visibility: hidden !important; }
    #walletCardSheet, #walletCardSheet * { visibility: visible !important; }
    #walletCardSheet { position: absolute; left: 0; top: 0; width: 100%; display:grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .wallet-qr-card { box-shadow:none; break-inside: avoid; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* v105 - Mercado entre tiendas */
.store-admin-hero-actions-v105 { display:flex; gap:.75rem; flex-wrap:wrap; justify-content:flex-end; align-items:center; }
.store-market-control-v105 { margin-top:1rem; }
.market-visibility-form-v105 { display:grid; grid-template-columns:minmax(220px,1fr) 1.2fr auto; gap:1rem; align-items:end; }
.market-visibility-form-v105 .muted { margin:0; color:#64748b; font-weight:700; font-size:.92rem; }
.b2b-hero-v105 { background: radial-gradient(circle at 15% 10%, rgba(20,184,166,.22), transparent 30%), radial-gradient(circle at 85% 0%, rgba(250,204,21,.22), transparent 30%), linear-gradient(135deg,#07111f,#102036 64%,#0f172a); color:#fff; }
.b2b-hero-v105 .eyebrow { color:#facc15; }
.b2b-hero-v105 p { color:rgba(255,255,255,.78); }
.b2b-stats-v105 article { background:linear-gradient(145deg,#fff,#f8fafc); }
.b2b-filter-card-v105 { margin:1rem 0; }
.b2b-filters-v105 { display:grid; grid-template-columns:1.6fr 1fr auto; gap:1rem; align-items:end; }
.b2b-layout-v105 { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:1rem; align-items:start; }
.b2b-main-v105, .b2b-side-v105 { min-width:0; }
.b2b-side-v105 { display:grid; gap:1rem; position:sticky; top:92px; }
.b2b-product-grid-v105 { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:1rem; }
.b2b-product-card-v105 { border:1px solid rgba(15,23,42,.08); border-radius:24px; overflow:hidden; background:#fff; box-shadow:0 16px 45px rgba(15,23,42,.07); display:flex; flex-direction:column; }
.b2b-product-image-v105 { min-height:150px; background:linear-gradient(135deg,#0f766e,#0f172a); display:grid; place-items:center; background-size:cover; background-position:center; position:relative; }
.b2b-product-image-v105:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent,rgba(2,6,23,.2)); }
.b2b-product-image-v105 span { position:relative; z-index:1; width:56px; height:56px; border-radius:20px; display:grid; place-items:center; background:rgba(255,255,255,.16); color:#fff; font-size:1.8rem; font-weight:1000; backdrop-filter:blur(12px); }
.b2b-product-image-v105.has-image span { opacity:0; }
.b2b-product-body-v105 { padding:1rem; display:grid; gap:.7rem; flex:1; }
.b2b-product-body-v105 small { color:#64748b; font-weight:900; }
.b2b-product-body-v105 h3 { margin:0; font-size:1.05rem; letter-spacing:-.02em; }
.b2b-product-body-v105 p { margin:0; color:#475569; font-size:.92rem; }
.b2b-product-meta-v105 { display:flex; gap:.4rem; flex-wrap:wrap; }
.b2b-product-meta-v105 span { border:1px solid rgba(15,23,42,.08); background:#f8fafc; color:#334155; padding:.35rem .55rem; border-radius:999px; font-size:.76rem; font-weight:900; }
.b2b-price-v105 { font-size:1.2rem; color:#0f766e; }
.b2b-buy-form-v105 { display:grid; gap:.65rem; margin-top:auto; }
.b2b-buy-form-v105 label { font-size:.82rem; font-weight:900; color:#334155; }
.b2b-buy-form-v105 input { margin-top:.25rem; }
.b2b-order-list-v105 { display:grid; gap:.8rem; }
.b2b-order-card-v105 { border:1px solid rgba(15,23,42,.08); background:linear-gradient(145deg,#fff,#f8fafc); border-radius:20px; padding:.9rem; display:grid; gap:.55rem; }
.b2b-order-card-v105 header { display:flex; justify-content:space-between; gap:.75rem; align-items:flex-start; }
.b2b-order-card-v105 header strong { font-size:.95rem; }
.b2b-order-card-v105 header span { background:#0f172a; color:#facc15; border-radius:999px; padding:.25rem .5rem; font-size:.72rem; font-weight:1000; white-space:nowrap; }
.b2b-order-card-v105 p { margin:0; color:#334155; font-size:.9rem; }
.b2b-order-card-v105 small { color:#64748b; font-weight:800; }
.b2b-order-card-v105 footer { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; }
.b2b-order-card-v105 footer form { margin:0; }

@media (max-width: 980px) {
    .b2b-layout-v105, .b2b-filters-v105, .market-visibility-form-v105 { grid-template-columns:1fr; }
    .b2b-side-v105 { position:static; }
    .store-admin-hero-actions-v105 { justify-content:flex-start; }
}

/* V106 - creación rápida de tiendas desde administración general */
.admin-create-store-form-v106 textarea {
    min-height: 74px;
    resize: vertical;
}
.admin-create-store-form-v106 h3 {
    margin: 4px 0 8px;
    font-size: 1rem;
    color: #0f172a;
}
.admin-create-store-form-v106 .muted,
.admin-panel-card > .muted {
    margin-top: -4px;
    color: #64748b;
    font-weight: 700;
    line-height: 1.45;
}
.soft-separator-v106 {
    border: 0;
    border-top: 1px solid rgba(15, 23, 42, .10);
    margin: 14px 0;
}

/* V107 - alta de administradores de tienda + filtros + marketing autocomplete */
.store-filter-form-v107 {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) repeat(5, minmax(150px, 1fr)) auto;
    gap: .8rem;
    align-items: end;
    width: 100%;
}
.store-filter-actions-v107 {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
}
.store-filter-summary-v107 {
    display: inline-flex;
    gap: .4rem;
    align-items: center;
    margin: .85rem 0;
    padding: .7rem .9rem;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .08);
    color: #475569;
    font-weight: 900;
}
.store-filter-summary-v107 strong { color: #0f172a; }
.store-filter-summary-v107 span { color: #64748b; font-size: .88rem; }
.empty-state-v107 {
    padding: 1.2rem;
    border-radius: 24px;
    border: 1px dashed rgba(15, 23, 42, .18);
    background: linear-gradient(145deg, #fff, #f8fafc);
    display: grid;
    gap: .35rem;
}
.empty-state-v107 strong { color: #0f172a; }
.empty-state-v107 span { color: #64748b; font-weight: 700; }
.marketing-autocomplete-group-v107 {
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(180px, .9fr) minmax(220px, 1.15fr);
}
.marketing-searchbox-v107 {
    position: relative;
    margin-top: .35rem;
}
.marketing-searchbox-v107 input[type="search"] {
    width: 100%;
    padding-left: .9rem;
    padding-right: .9rem;
}
.marketing-searchbox-v107 input:disabled {
    background: #f1f5f9;
    color: #94a3b8;
    cursor: not-allowed;
}
.marketing-suggestions-v107 {
    position: absolute;
    z-index: 60;
    left: 0;
    right: 0;
    top: calc(100% + 8px);
    max-height: 310px;
    overflow: auto;
    padding: .45rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, .98);
    border: 1px solid rgba(15, 23, 42, .10);
    box-shadow: 0 24px 70px rgba(15, 23, 42, .18);
    backdrop-filter: blur(16px);
}
.marketing-suggestions-v107 button {
    width: 100%;
    border: 0;
    background: transparent;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-areas: "media title" "media sub";
    gap: .1rem .65rem;
    align-items: center;
    text-align: left;
    padding: .55rem;
    border-radius: 14px;
    cursor: pointer;
}
.marketing-suggestions-v107 button:hover {
    background: #f1f5f9;
}
.marketing-suggestions-v107 img,
.marketing-suggestions-v107 button > span {
    grid-area: media;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    object-fit: cover;
    background: linear-gradient(135deg, #0f766e, #0f172a);
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 1000;
}
.marketing-suggestions-v107 strong {
    grid-area: title;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.marketing-suggestions-v107 small {
    grid-area: sub;
    color: #64748b;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.marketing-empty-v107 {
    padding: .8rem;
    color: #64748b;
    font-weight: 800;
}

@media (max-width: 1180px) {
    .store-filter-form-v107 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .store-filter-form-v107,
    .marketing-autocomplete-group-v107 { grid-template-columns: 1fr; }
    .store-filter-actions-v107 { justify-content: stretch; }
    .store-filter-actions-v107 .button { flex: 1; }
}

/* v108 - Borrado seguro de tiendas desde dirección */
.store-delete-zone-v108 {
    background: linear-gradient(180deg, #fff7f7, #ffffff);
    border: 1px solid rgba(220, 38, 38, .18);
    border-radius: 18px;
    overflow: hidden;
}
.store-delete-zone-v108 > summary {
    color: #991b1b;
    cursor: pointer;
    font-size: .82rem;
    font-weight: 950;
    list-style: none;
    padding: 12px 14px;
    text-transform: uppercase;
}
.store-delete-zone-v108 > summary::-webkit-details-marker { display: none; }
.store-delete-zone-v108 > div {
    border-top: 1px solid rgba(220, 38, 38, .12);
    display: grid;
    gap: 12px;
    padding: 14px;
}
.store-delete-zone-v108 p {
    color: #7f1d1d;
    font-size: .88rem;
    line-height: 1.55;
    margin: 0;
}
.store-delete-form-v108 {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(180px, 1fr) auto;
}
.store-delete-form-v108 label {
    color: #991b1b;
    display: grid;
    font-size: .74rem;
    font-weight: 950;
    gap: 6px;
    text-transform: uppercase;
}
.store-delete-form-v108 input {
    background: #fff;
    border: 1px solid rgba(220, 38, 38, .28);
    border-radius: 13px;
    min-height: 40px;
    padding: 8px 11px;
}
@media (max-width: 700px) {
    .store-delete-form-v108 { grid-template-columns: 1fr; }
}

/* ===== Delinvento v110 - Wizard de creación de tienda ===== */
.store-create-wizard-body {
    background:
        radial-gradient(circle at 12% 10%, rgba(250, 204, 21, .18), transparent 28rem),
        radial-gradient(circle at 88% 12%, rgba(15, 118, 110, .16), transparent 28rem),
        #f4f8fb;
}
.store-wizard-welcome {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    border: 1px solid rgba(15, 118, 110, .16);
    border-radius: 28px;
    background: linear-gradient(135deg, #071321, #0f766e);
    color: #fff;
    overflow: hidden;
    position: relative;
}
.store-wizard-welcome::after {
    content: '';
    position: absolute;
    width: 240px;
    height: 240px;
    right: -70px;
    top: -90px;
    border-radius: 50%;
    background: rgba(250, 204, 21, .24);
    filter: blur(2px);
}
.store-wizard-welcome > * { position: relative; z-index: 2; }
.store-wizard-welcome h2 {
    margin: 2px 0 8px;
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    letter-spacing: -.05em;
}
.store-wizard-welcome p { margin: 0; color: rgba(255,255,255,.82); max-width: 740px; }
.store-wizard-security {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
    max-width: 430px;
}
.store-wizard-security span {
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(255,255,255,.12);
    color: #fff;
    border-radius: 999px;
    padding: 9px 12px;
    font-weight: 900;
    white-space: nowrap;
}
.store-wizard-progress {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
    overflow: visible;
}
.store-wizard-progress button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    border-radius: 16px;
    font-size: .86rem;
}
.store-wizard-progress button span {
    width: 24px;
    height: 24px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: #eef7f5;
    color: #0f766e;
    font-size: .78rem;
}
.store-wizard-progress button.active span,
.store-wizard-progress button.done span {
    background: rgba(255,255,255,.24);
    color: #fff;
}
.store-wizard-progress button.done {
    background: #0f766e;
    border-color: #0f766e;
    color: #fff;
    opacity: .86;
}
.store-wizard-progress button:disabled {
    cursor: not-allowed;
    opacity: .48;
    box-shadow: none;
}
.store-wizard-step-status {
    border: 1px solid #cfe7e3;
    background: #ecfdf5;
    color: #0f766e;
    font-weight: 900;
    border-radius: 18px;
    padding: 13px 16px;
    box-shadow: 0 12px 24px rgba(15,118,110,.08);
}
.store-wizard-field-note {
    margin: 0;
    padding: 12px 14px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #64748b;
    font-weight: 800;
}
.store-wizard-savebar {
    background: linear-gradient(135deg, #071321, #0f172a);
    align-items: center;
}
.store-wizard-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.store-wizard-actions .button.secondary {
    background: rgba(255,255,255,.10);
    color: #fff;
    border-color: rgba(255,255,255,.22);
}
.store-wizard-error {
    margin: 7px 0 0;
    color: #fecaca !important;
    font-weight: 900;
}
.store-wizard-error:empty,
.store-wizard-error[hidden] { display: none; }
.store-create-wizard-form .store-v19-panel.active {
    animation: storeWizardIn .22s ease-out;
}
@keyframes storeWizardIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 1100px) {
    .store-wizard-progress { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .store-wizard-welcome,
    .store-wizard-savebar { flex-direction: column; align-items: stretch; }
    .store-wizard-progress { grid-template-columns: repeat(2, minmax(0, 1fr)); position: static; }
    .store-wizard-actions { justify-content: stretch; }
    .store-wizard-actions .button { flex: 1 1 100%; }
}

/* v113: wizard action buttons must obey hidden state even when styled as .button */
.store-wizard-actions .button[hidden],
.store-wizard-actions [hidden] {
    display: none !important;
}

/* V115 - privacidad de mapa, copia y combobox visual de categorías */
.category-combobox-v115{position:relative;display:block;width:100%;}
.category-combobox-v115 input[type="search"]{width:100%;}
.category-select-fallback-v115{margin-top:.55rem;}
.category-suggestions-v115{position:absolute;z-index:60;left:0;right:0;top:calc(100% + .35rem);display:grid;gap:.35rem;max-height:310px;overflow:auto;padding:.45rem;border:1px solid rgba(15,23,42,.13);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 24px 70px rgba(15,23,42,.20);backdrop-filter:blur(12px);}
.category-suggestion-item-v115,.category-suggestion-empty-v115{appearance:none;border:0;background:#fff;border-radius:15px;padding:.55rem .65rem;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;}
.category-suggestion-item-v115{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:.7rem;}
.category-suggestion-item-v115:hover,.category-suggestion-empty-v115:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(15,23,42,.12);background:#f8fafc;}
.category-suggestion-item-v115 em{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#e0f2fe,#dcfce7);font-style:normal;font-weight:900;color:#0f172a;}
.category-suggestion-item-v115 em img{width:100%;height:100%;object-fit:cover;display:block;}
.category-suggestion-item-v115 strong{font-size:.95rem;color:#0f172a;line-height:1.2;}
.category-suggestion-item-v115 small{font-size:.72rem;color:#64748b;background:#eef2ff;border-radius:999px;padding:.25rem .5rem;white-space:nowrap;}
.category-suggestion-empty-v115{color:#0f766e;font-weight:800;text-align:center;border:1px dashed rgba(15,118,110,.3);}
.allow-copy-toggle-v115 small,.map-visibility-toggle-v115 small{display:block;margin-top:.25rem;color:#64748b;font-weight:500;}

/* V116 - tiendas visibles dentro del mercado B2B aunque aún no tengan productos copiables */
.b2b-suppliers-card-v116 { margin:1rem 0; }
.b2b-supplier-grid-v116 { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:1rem; }
.b2b-supplier-card-v116 { overflow:hidden; border:1px solid rgba(15,23,42,.08); border-radius:24px; background:linear-gradient(145deg,#fff,#f8fafc); box-shadow:0 16px 45px rgba(15,23,42,.07); }
.b2b-supplier-cover-v116 { min-height:96px; background:radial-gradient(circle at 20% 20%, rgba(20,184,166,.25), transparent 35%), linear-gradient(135deg,#0f766e,#0f172a); background-size:cover; background-position:center; position:relative; }
.b2b-supplier-logo-v116 { position:absolute; left:1rem; bottom:-24px; width:56px; height:56px; border-radius:20px; display:grid; place-items:center; background:linear-gradient(135deg,#0f766e,#facc15); color:#fff; font-size:1.35rem; font-weight:1000; border:4px solid #fff; box-shadow:0 12px 30px rgba(15,23,42,.16); background-size:cover; background-position:center; }
.b2b-supplier-logo-v116.has-image { color:transparent; }
.b2b-supplier-body-v116 { padding:2rem 1rem 1rem; display:grid; gap:.65rem; }
.b2b-supplier-body-v116 h3 { margin:0; font-size:1.05rem; letter-spacing:-.02em; }
.b2b-supplier-body-v116 small { color:#64748b; font-weight:900; }
.b2b-supplier-body-v116 p { margin:0; }
@media (max-width: 760px) { .b2b-supplier-grid-v116 { grid-template-columns:1fr; } }

/* V123 - carrito mayorista interno dentro del portal de administrador */
.b2b-cart-v123 { border:1px solid rgba(15,118,110,.18); background:linear-gradient(145deg,#ffffff,#f8fffd); }
.b2b-cart-count-v123 { min-width:34px; height:34px; padding:0 .65rem; border-radius:999px; display:grid; place-items:center; background:#0f766e; color:#fff; font-weight:1000; box-shadow:0 10px 24px rgba(15,118,110,.22); }
.b2b-cart-store-v123 { border:1px dashed rgba(15,118,110,.22); border-radius:18px; padding:.75rem; display:grid; gap:.2rem; background:rgba(15,118,110,.04); }
.b2b-cart-store-v123 span { font-weight:1000; color:#0f172a; }
.b2b-cart-store-v123 small { color:#64748b; font-weight:800; }
.b2b-cart-empty-v123 { border:1px solid rgba(15,23,42,.08); border-radius:20px; padding:1rem; display:grid; gap:.25rem; background:#f8fafc; color:#334155; }
.b2b-cart-empty-v123 small { color:#64748b; font-weight:800; }
.b2b-cart-items-v123 { display:grid; gap:.7rem; }
.b2b-cart-row-v123 { display:grid; grid-template-columns:52px minmax(0,1fr); gap:.7rem; border:1px solid rgba(15,23,42,.08); border-radius:18px; padding:.7rem; background:#fff; box-shadow:0 10px 24px rgba(15,23,42,.05); }
.b2b-cart-thumb-v123 { width:52px; height:52px; border-radius:16px; display:grid; place-items:center; background:linear-gradient(135deg,#0f766e,#0f172a); color:#fff; font-weight:1000; background-size:cover; background-position:center; }
.b2b-cart-thumb-v123.has-image { color:transparent; }
.b2b-cart-row-v123 strong { display:block; font-size:.92rem; color:#0f172a; }
.b2b-cart-row-v123 small, .b2b-cart-row-v123 span { display:block; color:#64748b; font-size:.78rem; font-weight:800; }
.b2b-cart-qty-v123 { grid-column:1 / -1; display:grid; grid-template-columns:34px minmax(68px,1fr) 34px auto; gap:.4rem; align-items:center; }
.b2b-cart-qty-v123 button { border:0; border-radius:12px; padding:.5rem .65rem; background:#e2e8f0; color:#0f172a; font-weight:1000; cursor:pointer; }
.b2b-cart-qty-v123 button:last-child { background:#fee2e2; color:#991b1b; }
.b2b-cart-qty-v123 input { width:100%; text-align:center; padding:.5rem; border-radius:12px; }
.b2b-cart-summary-v123 { border-top:1px solid rgba(15,23,42,.08); padding-top:.75rem; display:grid; gap:.25rem; }
.b2b-cart-summary-v123 span { color:#64748b; font-weight:900; }
.b2b-cart-summary-v123 strong { font-size:1.3rem; color:#0f766e; }
.b2b-cart-summary-v123 small { color:#64748b; font-weight:800; }
.b2b-checkout-options-v123 { display:grid; gap:.65rem; }
.b2b-checkout-options-v123 .button { width:100%; justify-content:center; }
.b2b-cart-message-v123 { margin:0; }
.b2b-cart-message-v123.is-success { background:#dcfce7; color:#166534; border-color:#86efac; }
@media (max-width: 520px) {
    .b2b-cart-qty-v123 { grid-template-columns:32px 1fr 32px; }
    .b2b-cart-qty-v123 button:last-child { grid-column:1 / -1; }
}

/* V127 - compras mayoristas con filtros, status y PIN */
.b2b-order-filters-v127 {
    display:grid;
    grid-template-columns:1fr 1fr 1fr 1.2fr auto;
    gap:.55rem;
    align-items:end;
    margin:.8rem 0 1rem;
}
.b2b-order-filters-v127 label { font-size:.76rem; font-weight:1000; color:#334155; }
.b2b-order-filters-v127 select,
.b2b-order-filters-v127 input { margin-top:.22rem; min-height:42px; font-size:.86rem; }
.b2b-order-card-v127 { gap:.7rem; }
.b2b-order-status-grid-v127 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.38rem .55rem;
    padding:.65rem;
    border:1px dashed rgba(15,118,110,.18);
    border-radius:16px;
    background:rgba(240,253,250,.55);
}
.b2b-order-status-grid-v127 small { color:#334155; overflow-wrap:anywhere; }
.b2b-pin-v127 {
    background:#0f766e;
    color:#fff !important;
    padding:.3rem .5rem;
    border-radius:999px;
    width:max-content;
    max-width:100%;
}
@media (max-width:980px) {
    .b2b-order-filters-v127 { grid-template-columns:1fr; }
    .b2b-order-status-grid-v127 { grid-template-columns:1fr; }
}

.delivery-movements-log-v128{
    margin-top:18px;
    border-color:rgba(13,148,136,.20);
    background:linear-gradient(135deg,#f8fffd,#fff);
}
.delivery-movement-list-v128{
    display:grid;
    gap:10px;
    margin-top:12px;
}
.delivery-movement-row-v128{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    padding:12px 14px;
    border:1px solid rgba(15,23,42,.08);
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.delivery-movement-row-v128 strong,
.delivery-movement-row-v128 span,
.delivery-movement-row-v128 small{
    display:block;
}
.delivery-movement-row-v128 span{
    margin-top:3px;
    color:#0f766e;
    font-weight:900;
}
.delivery-movement-row-v128 small{
    margin-top:4px;
    color:#64748b;
    font-weight:700;
}
.delivery-movement-meta-v128{
    text-align:right;
    min-width:180px;
}
.delivery-movement-meta-v128 b{
    color:#0f172a;
    font-size:.82rem;
}
@media (max-width:720px){
    .delivery-movement-row-v128{grid-template-columns:1fr;}
    .delivery-movement-meta-v128{text-align:left;min-width:0;}
}

/* V129 - Bitácora operativa desplegable para control general de reparticiones */
.delivery-movement-card-v129{
    border:0;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 30px rgba(15,23,42,.06);
    overflow:hidden;
}
.delivery-movement-card-v129 > summary{
    list-style:none;
    cursor:pointer;
}
.delivery-movement-card-v129 > summary::-webkit-details-marker{display:none;}
.delivery-movement-card-v129[open] > summary.delivery-movement-row-v128{
    border-bottom-left-radius:0;
    border-bottom-right-radius:0;
    border-bottom-color:rgba(13,148,136,.18);
    background:linear-gradient(135deg,#ffffff,#f0fdfa);
}
.delivery-movement-card-v129 > summary.delivery-movement-row-v128::after{
    content:'Ver detalles';
    align-self:center;
    justify-self:end;
    color:#0f766e;
    border:1px solid rgba(15,118,110,.25);
    border-radius:999px;
    padding:.32rem .65rem;
    font-weight:900;
    font-size:.78rem;
    background:#fff;
}
.delivery-movement-card-v129[open] > summary.delivery-movement-row-v128::after{
    content:'Ocultar detalles';
}
.delivery-movement-detail-v129{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    padding:14px;
    border-left:1px solid rgba(15,23,42,.08);
    border-right:1px solid rgba(15,23,42,.08);
    background:#fff;
}
.delivery-movement-detail-v129 section,
.delivery-movement-products-v129,
.delivery-movement-history-v129{
    border:1px solid rgba(15,118,110,.14);
    border-radius:18px;
    padding:14px;
    background:linear-gradient(135deg,#ffffff,#f8fffd);
}
.delivery-movement-detail-v129 h4,
.delivery-movement-products-v129 h4,
.delivery-movement-history-v129 h4{
    margin:0 0 8px;
    color:#064e4b;
    font-size:.9rem;
    text-transform:uppercase;
    letter-spacing:.02em;
}
.delivery-movement-detail-v129 p{
    margin:.35rem 0;
    color:#334155;
    font-weight:700;
    overflow-wrap:anywhere;
}
.delivery-movement-detail-v129 b{color:#0f172a;}
.delivery-movement-actions-v129{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:10px;
}
.delivery-pin-chip-v129{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    padding:.25rem .55rem;
    border-radius:999px;
    background:#0f766e;
    color:#fff;
    font-weight:950;
    letter-spacing:.05em;
}
.delivery-movement-products-v129,
.delivery-movement-history-v129{
    margin:0 14px 14px;
}
.delivery-movement-history-v129{background:#fbfdff;}
@media (max-width:980px){
    .delivery-movement-detail-v129{grid-template-columns:1fr;}
}
@media (max-width:720px){
    .delivery-movement-card-v129 > summary.delivery-movement-row-v128::after{justify-self:start;}
}
.delivery-movement-card-v129 > summary.delivery-movement-row-v128{
    grid-template-columns:minmax(0,1fr) auto auto;
}
@media (max-width:720px){
    .delivery-movement-card-v129 > summary.delivery-movement-row-v128{grid-template-columns:1fr;}
}

/* Delinvento v130 - Notificaciones internas y cola de correos */
.notification-mini-pill-v130{display:inline-flex;align-items:center;gap:.25rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.55rem .8rem;background:rgba(255,255,255,.06);font-weight:800;text-decoration:none;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.notification-mini-pill-v130.has-unread{background:#facc15;color:#0f172a;border-color:#fde68a;box-shadow:0 12px 32px rgba(250,204,21,.22)}
.notifications-hero-v130{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.notifications-hero-actions-v130{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.notifications-panel-v130{margin-top:1rem}
.notification-filter-actions-v130{display:flex;gap:.5rem;flex-wrap:wrap}
.notifications-list-v130{display:grid;gap:1rem}
.notification-card-v130{display:flex;justify-content:space-between;gap:1rem;padding:1.05rem;border:1px solid #d9e8eb;border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.06)}
.notification-card-v130.is-unread{border-color:#14b8a6;background:linear-gradient(135deg,#ecfeff,#fff);box-shadow:0 16px 38px rgba(20,184,166,.13)}
.notification-card-v130 h3{margin:.15rem 0 .45rem;font-size:1.1rem}
.notification-card-v130 p{margin:.25rem 0;color:#52647d;font-weight:700}
.notification-card-v130.severity-danger{border-color:#fecaca;background:#fff7f7}
.notification-card-v130.severity-warning{border-color:#fde68a;background:#fffdf2}
.notification-card-v130.severity-success{border-color:#bbf7d0;background:#f7fff9}
.notification-meta-v130{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}
.notification-meta-v130 span{font-size:.82rem;color:#52647d;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.25rem .55rem;font-weight:800}
.notification-actions-v130{display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;min-width:140px}
.email-queue-table-v130{overflow:auto;border:1px solid #e2e8f0;border-radius:18px}
.email-queue-table-v130 table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}
.email-queue-table-v130 th,.email-queue-table-v130 td{padding:.75rem;border-bottom:1px solid #eef2f7;text-align:left;vertical-align:top}
.email-queue-table-v130 th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#52647d;background:#f8fafc}
@media (max-width:720px){.notification-card-v130{display:block}.notification-actions-v130{justify-content:flex-start;margin-top:.75rem}.notification-mini-pill-v130{padding:.5rem .65rem}}

/* Delinvento v134 - Aviso de privacidad, cookies y responsabilidad de tiendas */
.help-liability-card{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:16px;
    border:1px solid rgba(245,158,11,.24);
    border-radius:28px;
    padding:18px;
    background:linear-gradient(135deg,#fff7ed,#ffffff 62%,#ecfeff);
    box-shadow:0 20px 52px rgba(15,23,42,.08);
}
.help-liability-card > div{
    width:58px;
    height:58px;
    border-radius:22px;
    display:grid;
    place-items:center;
    background:#fff;
    box-shadow:0 14px 34px rgba(245,158,11,.18);
    font-size:28px;
}
.help-liability-card h2{
    margin:3px 0 6px;
    font-size:clamp(20px,2.4vw,28px);
    color:#0f172a;
    letter-spacing:-.03em;
}
.help-liability-card p:not(.eyebrow){
    margin:0;
    color:#475569;
    line-height:1.55;
    font-weight:700;
}
.help-liability-card a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 15px;
    border-radius:999px;
    background:#0f172a;
    color:#fff;
    text-decoration:none;
    font-weight:900;
    white-space:nowrap;
}
.delinvento-cookie-banner{
    position:fixed;
    left:18px;
    right:18px;
    bottom:18px;
    z-index:9998;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:16px;
    border:1px solid rgba(148,163,184,.26);
    border-radius:26px;
    background:rgba(255,255,255,.96);
    box-shadow:0 24px 70px rgba(15,23,42,.22);
    backdrop-filter:blur(16px);
}
.delinvento-cookie-banner[hidden]{display:none!important;}
.delinvento-cookie-copy{
    display:flex;
    align-items:flex-start;
    gap:12px;
    min-width:0;
}
.delinvento-cookie-copy > span{
    width:44px;
    height:44px;
    border-radius:18px;
    display:grid;
    place-items:center;
    background:#fef3c7;
    font-size:23px;
    flex:0 0 auto;
}
.delinvento-cookie-copy strong{
    display:block;
    color:#0f172a;
    font-size:16px;
    line-height:1.25;
}
.delinvento-cookie-copy p{
    margin:4px 0 0;
    color:#52647d;
    line-height:1.42;
    font-size:13px;
    font-weight:700;
}
.delinvento-cookie-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
    flex:0 0 auto;
}
.delinvento-cookie-actions a,
.delinvento-cookie-actions button{
    border:0;
    min-height:42px;
    padding:0 14px;
    border-radius:999px;
    font-weight:900;
    text-decoration:none;
    cursor:pointer;
    font-family:inherit;
}
.delinvento-cookie-actions a{color:#0f766e;background:#ecfeff;}
.delinvento-cookie-actions .is-secondary{color:#334155;background:#f1f5f9;}
.delinvento-cookie-actions .is-primary{color:#fff;background:#0f766e;box-shadow:0 12px 28px rgba(15,118,110,.24);}
.delinvento-privacy-page{
    display:grid;
    gap:20px;
    padding:18px 0 42px;
}
.privacy-hero{
    border-radius:32px;
    padding:clamp(24px,4vw,46px);
    background:radial-gradient(circle at 85% 10%,rgba(20,184,166,.28),transparent 36%),linear-gradient(135deg,#07131f,#0f766e);
    color:#fff;
    box-shadow:0 24px 70px rgba(15,23,42,.16);
}
.privacy-hero h1{
    max-width:850px;
    margin:6px 0 10px;
    font-size:clamp(30px,5vw,58px);
    line-height:.98;
    letter-spacing:-.055em;
}
.privacy-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.82);font-size:17px;line-height:1.55;font-weight:700;}
.privacy-hero small{display:inline-flex;margin-top:18px;color:#fde68a;font-weight:900;}
.privacy-layout{
    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    gap:18px;
    align-items:start;
}
.privacy-index,
.privacy-content{
    border:1px solid #e2e8f0;
    border-radius:26px;
    background:#fff;
    box-shadow:0 16px 42px rgba(15,23,42,.06);
}
.privacy-index{
    position:sticky;
    top:92px;
    display:grid;
    gap:8px;
    padding:16px;
}
.privacy-index strong{color:#0f172a;font-size:16px;}
.privacy-index a{
    padding:10px 12px;
    border-radius:14px;
    background:#f8fafc;
    color:#334155;
    text-decoration:none;
    font-weight:850;
}
.privacy-index a:hover{background:#ecfeff;color:#0f766e;}
.privacy-content{padding:clamp(18px,3vw,34px);}
.privacy-content section{scroll-margin-top:110px;padding:4px 0 22px;border-bottom:1px solid #eef2f7;}
.privacy-content section:last-child{border-bottom:0;padding-bottom:0;}
.privacy-content h2{margin:0 0 10px;color:#0f172a;font-size:clamp(22px,2.5vw,32px);letter-spacing:-.035em;}
.privacy-content p,.privacy-content li{color:#475569;line-height:1.65;font-weight:700;}
.privacy-content a{color:#0f766e;font-weight:900;}
.privacy-content ul{margin:0;padding-left:20px;}
.privacy-cookie-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;}
.privacy-cookie-types article{border:1px solid #e2e8f0;border-radius:20px;padding:14px;background:#f8fafc;}
.privacy-cookie-types strong{display:block;color:#0f172a;margin-bottom:5px;}
.privacy-cookie-types p{margin:0;font-size:13px;line-height:1.45;}
@media(max-width:920px){
    .help-liability-card{grid-template-columns:1fr;align-items:start;}
    .help-liability-card a{width:max-content;max-width:100%;}
    .delinvento-cookie-banner{align-items:flex-start;flex-direction:column;}
    .delinvento-cookie-actions{width:100%;justify-content:flex-start;}
    .privacy-layout{grid-template-columns:1fr;}
    .privacy-index{position:relative;top:auto;}
    .privacy-cookie-types{grid-template-columns:1fr;}
}
@media(max-width:560px){
    .delinvento-cookie-banner{left:10px;right:10px;bottom:10px;border-radius:22px;padding:13px;}
    .delinvento-cookie-copy{gap:10px;}
    .delinvento-cookie-copy > span{width:38px;height:38px;border-radius:15px;}
    .delinvento-cookie-actions a,.delinvento-cookie-actions button{flex:1 1 auto;padding:0 10px;font-size:13px;}
}

/* ===== Delinvento v136 - Header backoffice limpio y en una sola línea ===== */
.delinvento-backoffice-header{
    position:sticky;
    top:0;
    z-index:120;
    background:rgba(7,19,33,.96);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(255,255,255,.09);
    box-shadow:0 18px 44px rgba(2,6,23,.18);
}
.delinvento-backoffice-bar{
    width:min(1540px,calc(100% - 40px));
    min-height:68px;
    margin:0 auto;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:18px;
}
.delinvento-backoffice-brand{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-width:max-content;
    color:#fff;
    text-decoration:none;
}
.delinvento-backoffice-brand span{
    width:36px;
    height:36px;
    border-radius:13px;
    display:inline-grid;
    place-items:center;
    background:linear-gradient(135deg,#facc15 0%,#22c55e 100%);
    color:#06251f;
    font-size:16px;
    font-weight:950;
    box-shadow:0 12px 28px rgba(34,197,94,.22);
}
.delinvento-backoffice-brand strong{
    display:flex;
    flex-direction:column;
    gap:1px;
    color:#fff;
    font-size:14px;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
    white-space:nowrap;
}
.delinvento-backoffice-brand strong em{
    font-style:normal;
    color:#94a3b8;
    font-size:10px;
    letter-spacing:.18em;
    font-weight:850;
}
.delinvento-backoffice-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:nowrap;
    gap:6px;
    min-width:0;
    margin:0;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
}
.delinvento-backoffice-nav::-webkit-scrollbar{display:none;}
.delinvento-backoffice-nav a,
.delinvento-backoffice-user a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 13px;
    border-radius:999px;
    border:1px solid transparent;
    background:transparent;
    color:#cbd5e1;
    text-decoration:none;
    font-size:13px;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
    box-shadow:none;
    transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.delinvento-backoffice-nav a:hover,
.delinvento-backoffice-user a:hover,
.delinvento-backoffice-nav a.is-active,
.delinvento-backoffice-user a.is-active{
    background:rgba(255,255,255,.09);
    color:#fff;
    border-color:rgba(255,255,255,.12);
}
.delinvento-backoffice-user{
    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    min-width:0;
    margin:0;
    color:#cbd5e1;
}
.delinvento-backoffice-name{
    max-width:180px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#e2e8f0!important;
    font-size:13px!important;
    font-weight:850!important;
}
.delinvento-backoffice-user .wallet-mini-pill{
    background:rgba(20,184,166,.13);
    border-color:rgba(45,212,191,.28);
    color:#d1fae5;
}
.delinvento-backoffice-user .notification-mini-pill-v130{
    min-width:42px;
    width:auto;
    height:38px;
    padding:0 12px;
    gap:6px;
    background:rgba(255,255,255,.06);
    border-color:rgba(255,255,255,.10);
    color:#fff;
    box-shadow:none;
}
.delinvento-backoffice-user .notification-mini-pill-v130 b{
    font-size:12px;
    font-weight:950;
}
.delinvento-backoffice-user .notification-mini-pill-v130.has-unread{
    background:#facc15;
    border-color:#fef08a;
    color:#071321;
}
.delinvento-backoffice-user .account-mini-pill{
    background:rgba(255,255,255,.06);
    border-color:rgba(255,255,255,.10);
    color:#fff;
}
.delinvento-backoffice-user .logout-mini-pill{
    color:#fecaca;
}
.delinvento-backoffice-user .logout-mini-pill:hover{
    background:rgba(239,68,68,.13);
    border-color:rgba(248,113,113,.25);
    color:#fff;
}
@media(max-width:1180px){
    .delinvento-backoffice-bar{
        grid-template-columns:auto minmax(0,1fr);
        grid-template-areas:"brand user" "nav nav";
        gap:10px 14px;
        padding:10px 0;
    }
    .delinvento-backoffice-brand{grid-area:brand;}
    .delinvento-backoffice-nav{grid-area:nav;justify-content:flex-start;padding-bottom:2px;}
    .delinvento-backoffice-user{grid-area:user;}
}
@media(max-width:680px){
    .delinvento-backoffice-bar{
        width:min(100% - 24px,1540px);
        grid-template-columns:1fr;
        grid-template-areas:"brand" "user" "nav";
        align-items:stretch;
        min-height:auto;
    }
    .delinvento-backoffice-brand{justify-content:center;}
    .delinvento-backoffice-brand strong{font-size:13px;}
    .delinvento-backoffice-user{justify-content:flex-start;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;}
    .delinvento-backoffice-user::-webkit-scrollbar{display:none;}
    .delinvento-backoffice-name{display:none!important;}
    .delinvento-backoffice-nav a,
    .delinvento-backoffice-user a{min-height:36px;padding:0 12px;font-size:12px;}
}

/* Delinvento v139: Turnstile robusto en modal de registro */
.turnstile-box-v139 {
    min-height: 78px;
    display: grid;
    justify-items: center;
    align-items: center;
    gap: 8px;
}
.turnstile-widget-slot {
    min-height: 65px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.turnstile-status {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}
.turnstile-retry {
    border: 1px solid rgba(15,118,110,.22);
    background: #ecfdf5;
    color: #0f766e;
    border-radius: 999px;
    padding: 7px 12px;
    font-weight: 900;
    cursor: pointer;
}


/* v146: dirección visible y obligatoria dentro del carrito */
.cart-delivery-address {
  display: grid;
  gap: 8px;
  padding: 13px 14px;
  border-radius: 18px;
  background: #ecfdf5;
  border: 1px solid rgba(15, 118, 110, .22);
}
.cart-delivery-address[hidden] { display: none !important; }
.cart-delivery-address strong {
  color: #064e3b;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.cart-delivery-address p {
  margin: 0;
  color: #0f172a;
  font-weight: 900;
  line-height: 1.35;
}
.cart-delivery-address small {
  color: #475569;
  font-weight: 750;
  line-height: 1.35;
}
.cart-delivery-address.is-incomplete {
  background: #fff7ed;
  border-color: rgba(249, 115, 22, .28);
}
.cart-delivery-address.is-incomplete strong { color: #9a3412; }
.cart-delivery-address .button { justify-self: start; margin-top: 2px; }

/* v151: selección clara de dirección dentro del carrito */
.cart-address-topline{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.cart-address-topline > div{
  display:grid;
  gap:3px;
}
.cart-address-topline span{
  color:#475569;
  font-weight:750;
  line-height:1.35;
  font-size:13px;
}
.cart-address-picker{
  display:grid;
  gap:6px;
  font-weight:950;
  color:#0f172a;
}
.cart-address-picker span{
  font-size:13px;
  color:#064e3b;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.cart-address-picker select{
  width:100%;
  border:1px solid #99f6e4;
  border-radius:14px;
  padding:12px 13px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-weight:850;
  outline:none;
}
.cart-address-picker select:focus{
  border-color:#0f766e;
  box-shadow:0 0 0 3px rgba(15,118,110,.12);
}
.cart-address-preview{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(15,118,110,.12);
}
.cart-address-empty{
  display:grid;
  gap:4px;
  padding:12px;
  border-radius:14px;
  background:#fff7ed;
  border:1px solid rgba(249,115,22,.24);
  color:#7c2d12;
}
.cart-address-empty b{font-weight:950;}
.cart-address-empty span{font-weight:750;line-height:1.35;}
@media(max-width:640px){
  .cart-address-topline{display:grid;}
  .cart-address-topline .button{justify-self:start;}
}
