@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--primary:#f4c430;--primary-dark:#c89a13;--secondary:#050505;--bg:#050505;--bg-soft:#0d0d0d;--bg-card:#121212;--text:#fff;--muted:#9f9f9f;--border:rgba(var(--primary-rgb), .12);--shadow:0 24px 70px rgba(0,0,0,.65)}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;background:radial-gradient(circle at top left,rgba(var(--primary-rgb), .08),transparent 30%),radial-gradient(circle at top right,rgba(var(--primary-rgb), .045),transparent 22%),var(--bg);color:var(--text);min-height:100vh}a{text-decoration:none;color:inherit}button,input,select,textarea{font-family:inherit}
.header{position:sticky;top:0;z-index:50;background:rgba(5,5,5,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.header__content{max-width:1220px;margin:auto;padding:16px 22px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:14px}.brand__logo{width:76px;height:76px;border-radius:18px;display:grid;place-items:center;overflow:hidden;background:#000;border:1px solid rgba(var(--primary-rgb), .18);box-shadow:0 12px 30px rgba(var(--primary-rgb), .12)}.brand__logo img{width:100%;height:100%;object-fit:cover}.brand h1{font-size:18px;font-weight:900}.brand p{color:var(--muted);font-size:13px}.header__status{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.04);font-size:13px;font-weight:800}.dot{width:9px;height:9px;border-radius:50%;background:#21c55d;box-shadow:0 0 0 5px rgba(33,197,93,.15)}
.hero{max-width:1220px;margin:auto;padding:74px 22px 56px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:48px}.hero__tag{display:inline-flex;padding:10px 14px;border-radius:999px;background:rgba(var(--primary-rgb), .12);border:1px solid rgba(var(--primary-rgb), .28);color:var(--primary);font-weight:900;font-size:13px;margin-bottom:24px}.hero h2{font-family:Anton,sans-serif;font-size:clamp(48px,7vw,92px);line-height:.95;letter-spacing:.5px;max-width:720px;text-transform:uppercase}.hero p{color:#c9c9c9;max-width:560px;font-size:17px;line-height:1.7;margin-top:24px}.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{padding:15px 22px;border-radius:14px;font-weight:950;transition:.25s}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#111;box-shadow:0 18px 35px rgba(var(--primary-rgb), .28)}.btn-secondary{background:rgba(255,255,255,.06);border:1px solid var(--border)}.btn:hover{transform:translateY(-2px)}
.hero__image{display:flex;justify-content:center}.burger-card{position:relative;width:min(430px,100%);aspect-ratio:1/1;border-radius:36px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.01)),radial-gradient(circle at 50% 35%,rgba(var(--primary-rgb), .22),transparent 55%),var(--bg-soft);border:1px solid var(--border);box-shadow:var(--shadow);display:grid;place-items:center;overflow:hidden}.burger-card img{width:88%;max-height:82%;object-fit:contain;filter:drop-shadow(0 30px 24px rgba(0,0,0,.55))}.discount{position:absolute;top:24px;right:24px;z-index:4;background:var(--primary);color:#111;font-weight:950;padding:10px 14px;border-radius:999px;transform:rotate(6deg)}
.main{max-width:1220px;margin:auto;padding:0 22px 110px}.search-panel{background:rgba(255,255,255,.045);border:1px solid var(--border);border-radius:28px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:18px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.search-box{height:64px;background:#fff;color:#111;border-radius:18px;padding:0 20px;display:flex;align-items:center;gap:12px}.search-box input{width:100%;border:0;outline:0;font-size:15px}.delivery-info{display:flex;gap:12px}.delivery-info div{min-width:150px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid var(--border)}.delivery-info strong{display:block;font-size:14px}.delivery-info span{display:block;color:var(--muted);font-size:12px}.categories{margin:28px 0 44px;display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}.categories::-webkit-scrollbar{height:0}.categories a{white-space:nowrap;padding:13px 17px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid var(--border);color:#d4d4d4;font-size:14px;font-weight:850;cursor:pointer}.categories a.active,.categories a:hover{background:var(--primary);color:#111}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}.section-heading span{color:var(--primary);text-transform:uppercase;font-weight:950;font-size:12px;letter-spacing:1px}.section-heading h2{font-family:Anton,sans-serif;font-size:42px;text-transform:uppercase;margin-top:6px}.section-heading p{color:var(--muted);max-width:390px;line-height:1.5}.products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.product-card{display:grid;grid-template-columns:190px 1fr;gap:18px;padding:16px;border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),var(--bg-card);border:1px solid var(--border);box-shadow:0 18px 44px rgba(0,0,0,.24);transition:.25s}.product-card:hover{transform:translateY(-4px);border-color:rgba(var(--primary-rgb), .24)}.product-card__image{position:relative;min-height:180px;border-radius:22px;background:radial-gradient(circle at center,rgba(var(--primary-rgb), .12),transparent 62%),#0d0d0d;display:grid;place-items:center;overflow:hidden}.product-card__image img{width:92%;height:92%;object-fit:contain}.badge{position:absolute;top:12px;left:12px;background:var(--primary);color:#111;font-size:11px;font-weight:950;padding:7px 10px;border-radius:999px;z-index:2}.product-card__body{display:flex;flex-direction:column;justify-content:space-between;padding:6px 0}.product-card__top{display:flex;justify-content:space-between;gap:12px}.product-card h3{font-size:20px;font-weight:950}.product-card__top span{color:var(--primary);font-size:11px;font-weight:950;text-transform:uppercase}.product-card p{color:var(--muted);line-height:1.5;font-size:14px;margin:12px 0 18px}.product-card__footer{display:flex;justify-content:space-between;align-items:center;gap:16px}.price small{display:block;color:#777;text-decoration:line-through;font-weight:900}.price strong{font-size:25px;font-weight:950;color:var(--primary)}.product-card button,.checkout-btn{border:0;background:#fff;color:#111;padding:12px 17px;border-radius:14px;font-weight:950;cursor:pointer}.product-card button:hover,.checkout-btn:hover{background:var(--primary)}
.cart-floating{position:fixed;right:26px;bottom:26px;z-index:80;min-width:170px;height:62px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#111;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 14px 0 20px;box-shadow:0 18px 42px rgba(var(--primary-rgb), .30);cursor:pointer}.cart-floating div{display:flex;align-items:center;gap:9px}.cart-floating small{width:32px;height:32px;border-radius:50%;background:#111;color:white;display:grid;place-items:center;font-weight:950}.cart-drawer{position:fixed;right:-420px;top:0;width:380px;max-width:90%;height:100vh;background:#111;z-index:100;border-left:1px solid var(--border);padding:24px;transition:.25s;box-shadow:-20px 0 60px rgba(0,0,0,.45);overflow:auto}.cart-drawer.open{right:0}.cart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.cart-head button{font-size:28px;background:none;color:#fff;border:0}.cart-item{display:flex;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid var(--border)}.cart-actions button{padding:4px 9px;border-radius:8px;border:0;margin-left:4px}.cart-total{display:flex;justify-content:space-between;margin:22px 0;font-size:22px;font-weight:950}.checkout-link{display:block;text-align:center;background:var(--primary);color:#111;padding:14px;border-radius:14px;font-weight:950}.checkout-card{margin-top:50px;background:rgba(255,255,255,.045);border:1px solid var(--border);border-radius:28px;padding:24px}.checkout-card h2{font-family:Anton,sans-serif;font-size:36px;margin-bottom:20px}.checkout-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.checkout-grid input,.checkout-grid select,.checkout-grid textarea{width:100%;padding:15px;border-radius:14px;border:1px solid var(--border);background:#fff;color:#111}.checkout-grid textarea{grid-column:1/-1;min-height:90px}.checkout-btn{margin-top:16px;background:var(--primary)}.center-page{display:grid;place-items:center;min-height:100vh}.success-card{background:#111;border:1px solid var(--border);border-radius:28px;padding:34px;text-align:center;max-width:440px}.success-card img{width:110px;border-radius:20px;margin-bottom:20px}.success-card p{color:var(--muted);margin:14px 0 24px}
@media(max-width:980px){.hero{grid-template-columns:1fr;padding-top:54px}.hero__image{justify-content:flex-start}.search-panel{grid-template-columns:1fr}.delivery-info{display:grid;grid-template-columns:repeat(3,1fr)}.products-grid{grid-template-columns:1fr}}@media(max-width:700px){.header__content{align-items:flex-start;flex-direction:column}.brand__logo{width:66px;height:66px}.hero h2{font-size:54px}.delivery-info{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.section-heading h2{font-size:34px}.product-card{grid-template-columns:1fr}.product-card__image{min-height:230px}.cart-floating{left:18px;right:18px;bottom:18px;width:auto}.checkout-grid{grid-template-columns:1fr}}@media(max-width:460px){.header__content,.hero,.main{padding-left:16px;padding-right:16px}.header__status{width:100%;justify-content:center}.hero h2{font-size:46px}.hero__actions{flex-direction:column}.btn{width:100%;text-align:center}.product-card__footer{align-items:stretch;flex-direction:column}.product-card button{width:100%}}


.store-alert {
    margin-bottom: 18px;
    padding: 14px 16px;
    background: rgba(255, 77, 77, 0.12);
    border: 1px solid rgba(255, 77, 77, 0.25);
    border-radius: 16px;
    color: #ffb6b6;
    font-weight: 850;
}

.closed-dot {
    background: #ff4d4d;
    box-shadow: 0 0 0 5px rgba(255, 77, 77, 0.15);
}

.cart-item-info {
    flex: 1;
}

.cart-note {
    width: 100%;
    margin-top: 8px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fff;
    color: #111;
    outline: none;
}

.cart-empty,
.cart-help {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.cart-help {
    display: block;
    margin-top: -12px;
    margin-bottom: 16px;
}


.product-card__image img,
.burger-card img {
    display: block;
}


/* Product image display fix */
.product-card__image {
    background: #111 !important;
}

.product-card__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.product-card__image img[src$="burger-demo.svg"] {
    width: 92% !important;
    height: 92% !important;
    object-fit: contain !important;
}


/* v5 store sections + checkout validation */
.store-products-heading {
    align-items: flex-start;
}

.store-products-heading p {
    margin-top: 8px;
    color: var(--muted);
    max-width: 560px;
}

.store-category-section {
    margin-bottom: 36px;
}

.store-section-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 16px;
}

.store-section-title h3 {
    font-size: 24px;
    font-weight: 950;
}

.store-section-title span {
    color: var(--muted);
    font-weight: 800;
    font-size: 13px;
}

.hero-image-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.hero-image-card img[src$="burger-demo.svg"] {
    width: 88% !important;
    height: 82% !important;
    object-fit: contain !important;
}

.checkout-methods {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.checkout-method {
    border: 1px solid var(--border);
    background: rgba(255,255,255,.05);
    color: #fff;
    padding: 12px 14px;
    border-radius: 14px;
    font-weight: 900;
}

.checkout-method.active {
    background: var(--primary);
    color: #111;
}

.phone-verify-box {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 16px;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,.04);
    margin-bottom: 16px;
}

.phone-verify-box p,
.phone-verify-box small {
    color: var(--muted);
    line-height: 1.5;
}

.phone-verify-box strong {
    display: block;
    margin-bottom: 6px;
}

.phone-code-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
}

.phone-code-grid input {
    padding: 13px 14px;
    border-radius: 13px;
    border: 0;
}

.phone-code-grid button {
    border: 0;
    background: var(--primary);
    color: #111;
    border-radius: 13px;
    padding: 0 14px;
    font-weight: 950;
}

#verifyStatus.verified {
    color: #22c55e;
}

.checkout-disabled {
    opacity: .45;
    pointer-events: none;
    filter: grayscale(.4);
}

@media (max-width: 760px) {
    .phone-verify-box {
        grid-template-columns: 1fr;
    }

    .phone-code-grid {
        grid-template-columns: 1fr;
    }

    .store-section-title h3 {
        font-size: 20px;
    }
}


/* v7 hero image fill correction */
.hero-image-card {
    padding: 0 !important;
}

.hero-image-card img {
    max-height: none !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.hero-image-card img[src$="burger-demo.svg"] {
    padding: 36px !important;
    object-fit: contain !important;
}


/* v8 store formal flow */
.header__status {
    border-radius: 8px !important;
}

.status-closed {
    border-color: rgba(255,77,77,.25) !important;
    background: rgba(255,77,77,.08) !important;
}

.status-open {
    border-color: rgba(34,197,94,.25) !important;
    background: rgba(34,197,94,.08) !important;
}

.store-closed-notice {
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid rgba(255,77,77,.25);
    background: rgba(255,77,77,.08);
    color: #fff;
    display: grid;
    gap: 4px;
    border-radius: 8px;
}

.store-closed-notice span {
    color: var(--muted);
}

.cart-drawer,
.checkout-card,
.product-card,
.search-panel,
.burger-card,
.flow-card {
    border-radius: 10px !important;
}

.checkout-link {
    width: 100%;
    border: 0;
    cursor: pointer;
}

.flow-modal {
    position: fixed;
    inset: 0;
    z-index: 300;
    display: none;
    place-items: center;
    padding: 20px;
    background: rgba(0,0,0,.72);
    backdrop-filter: blur(8px);
}

.flow-modal.open {
    display: grid;
}

.flow-card {
    position: relative;
    width: min(860px, 100%);
    max-height: min(760px, 92vh);
    overflow: auto;
    padding: 24px;
    background: #111;
    border: 1px solid var(--border);
    box-shadow: 0 24px 80px rgba(0,0,0,.55);
}

.flow-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,.05);
    color: #fff;
    border-radius: 8px;
    cursor: pointer;
}

.flow-step {
    display: none;
}

.flow-step.active {
    display: block;
}

.flow-step h2 {
    font-size: 30px;
    margin-bottom: 8px;
}

.flow-step p {
    color: var(--muted);
    margin-bottom: 18px;
}

.flow-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.flow-options button {
    text-align: left;
    display: grid;
    gap: 8px;
    padding: 18px;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,.045);
    color: #fff;
    cursor: pointer;
}

.flow-options button i {
    color: var(--primary);
    font-size: 24px;
}

.flow-options button strong {
    font-size: 17px;
}

.flow-options button span {
    color: var(--muted);
}

.flow-back {
    margin-top: 14px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,.05);
    color: #fff;
    padding: 11px 14px;
    border-radius: 8px;
    cursor: pointer;
}

.toast {
    position: fixed;
    left: 50%;
    bottom: 28px;
    transform: translate(-50%, 20px);
    z-index: 360;
    background: #111;
    color: #fff;
    border: 1px solid var(--border);
    padding: 12px 16px;
    border-radius: 8px;
    opacity: 0;
    pointer-events: none;
    transition: .2s ease;
    box-shadow: 0 18px 60px rgba(0,0,0,.4);
    font-weight: 800;
}

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

@media (max-width: 760px) {
    .flow-options {
        grid-template-columns: 1fr;
    }

    .flow-card {
        padding: 18px;
    }

    .flow-step h2 {
        font-size: 24px;
    }
}


/* v9 index countdown + white food sticker background */
body {
    background-color: #000 !important;
    position: relative;
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    opacity: .075;
    background-image:
        url("data:image/svg+xml,%3Csvg width='420' height='420' viewBox='0 0 420 420' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M69 113c8-43 132-43 140 0 2 12-7 23-21 23H90c-14 0-23-11-21-23Z'/%3E%3Cpath d='M78 152h124'/%3E%3Cpath d='M84 176c18 13 98 13 116 0'/%3E%3Cpath d='M58 199h160c-2 28-25 49-55 49h-50c-30 0-53-21-55-49Z'/%3E%3Cpath d='M299 80h54l-9 145h-36L299 80Z'/%3E%3Cpath d='M291 62h70'/%3E%3Cpath d='M328 62l19-35h22'/%3E%3Cpath d='M282 265h35l-9 74h-17l-9-74Z'/%3E%3Cpath d='M319 265h35l-9 74h-17l-9-74Z'/%3E%3Cpath d='M356 265h35l-9 74h-17l-9-74Z'/%3E%3Cpath d='M275 339h124l-18 40h-88l-18-40Z'/%3E%3Cpath d='M82 320l48-35 56 35-56 35-48-35Z'/%3E%3Cpath d='M104 320h52'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 420px 420px;
    background-position: 18px 24px;
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(circle at 20% 10%, rgba(var(--primary-rgb), .08), transparent 30%),
        radial-gradient(circle at 85% 28%, rgba(var(--primary-rgb), .06), transparent 26%),
        linear-gradient(180deg, rgba(0,0,0,.35), #000 55%);
}

.header,
.hero,
.main,
.cart-drawer,
.flow-card {
    position: relative;
}

.header__status {
    gap: 8px !important;
    font-weight: 950;
}

.store-status-main {
    color: #fff;
}

.store-countdown {
    display: inline-flex;
    align-items: center;
    padding: 4px 7px;
    border-radius: 6px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.08);
    color: var(--primary);
    font-variant-numeric: tabular-nums;
    letter-spacing: .5px;
}

.status-open .store-countdown::before {
    content: "⏱";
    margin-right: 5px;
    font-size: 12px;
    opacity: .85;
}

@media (max-width: 760px) {
    body::before {
        opacity: .055;
        background-size: 330px 330px;
    }

    .header__status {
        flex-wrap: wrap;
    }

    .store-countdown {
        font-size: 12px;
    }
}


/* v10 sticky index header + reliable countdown + active order button */
.header {
    position: sticky !important;
    top: 0 !important;
    z-index: 120 !important;
    background: rgba(0,0,0,.88) !important;
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(255,255,255,.06);
}

body::before,
body::after {
    background-attachment: fixed !important;
}

.btn-order-hero {
    opacity: 1 !important;
    pointer-events: auto !important;
    color: #fff !important;
    border-color: rgba(var(--primary-rgb), .28) !important;
    background: rgba(255,255,255,.06) !important;
}

.btn-order-hero:hover {
    background: rgba(var(--primary-rgb), .13) !important;
    color: var(--primary) !important;
}

.store-countdown {
    min-width: 82px;
    justify-content: center;
    text-align: center;
}


/* v11 definitive header/cart/countdown fixes */
.header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 250 !important;
    background: rgba(0,0,0,.88) !important;
    backdrop-filter: blur(14px) !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
}

body {
    padding-top: 86px !important;
}

.header__content {
    max-width: 1240px;
    margin: 0 auto;
}

.cart-floating {
    position: fixed !important;
    right: 22px !important;
    bottom: 22px !important;
    left: auto !important;
    width: auto !important;
    min-width: 156px !important;
    z-index: 260 !important;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    cursor: pointer;
    border-radius: 999px !important;
    box-shadow: 0 18px 60px rgba(0,0,0,.45);
}

.cart-floating * {
    pointer-events: none;
}

.cart-drawer {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(420px, 92vw) !important;
    height: 100vh !important;
    z-index: 300 !important;
    transform: translateX(105%) !important;
    transition: transform .22s ease !important;
    overflow-y: auto !important;
}

.cart-drawer.open {
    transform: translateX(0) !important;
}

.store-countdown {
    min-width: 92px !important;
    text-align: center;
}

@media (max-width: 760px) {
    body {
        padding-top: 74px !important;
    }

    .header {
        min-height: 64px !important;
    }

    .header__content {
        padding: 10px 14px !important;
    }

    .brand h1,
    .brand p {
        display: none !important;
    }

    .brand__logo {
        width: 46px !important;
        height: 46px !important;
    }

    .header__status {
        margin-left: auto !important;
        font-size: 12px !important;
        padding: 9px 10px !important;
        max-width: calc(100vw - 80px);
    }

    .store-countdown {
        min-width: 78px !important;
        font-size: 12px !important;
    }

    .cart-floating {
        right: 12px !important;
        bottom: 12px !important;
        min-width: 148px !important;
        max-width: calc(100vw - 24px) !important;
        height: 54px !important;
        padding: 0 15px !important;
    }

    .cart-drawer {
        width: 92vw !important;
    }
}


/* v12 clean header + cart positions + Prograsan footer */
.header {
    height: 78px !important;
    display: flex !important;
    align-items: center !important;
}

body {
    padding-top: 78px !important;
}

.header__content {
    width: 100% !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

.brand {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
    color: #fff !important;
}

.brand__logo {
    width: 50px !important;
    height: 50px !important;
    flex: 0 0 50px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    background: #070707 !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
}

.brand__logo img {
    width: 82% !important;
    height: 82% !important;
    object-fit: contain !important;
}

.brand__text {
    min-width: 0 !important;
}

.brand__text h1 {
    font-size: 17px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
}

.brand__text p {
    margin: 3px 0 0 !important;
    font-size: 12px !important;
    color: var(--muted) !important;
    white-space: nowrap !important;
}

.header__right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-left: auto !important;
}

.header__status {
    height: 42px !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
}

.header-cart-btn {
    height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    border: 1px solid rgba(var(--primary-rgb), .25);
    background: var(--primary);
    color: #111;
    border-radius: 8px;
    padding: 0 13px;
    font-weight: 950;
    cursor: pointer;
}

.header-cart-btn small {
    min-width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #111;
    color: #fff;
    font-size: 12px;
}

/* Desktop: no floating cart, it lives in the header */
@media (min-width: 761px) {
    .cart-floating {
        display: none !important;
    }
}

.site-footer {
    max-width: 1240px;
    margin: 56px auto 28px;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: var(--muted);
    border-top: 1px solid rgba(255,255,255,.06);
    font-size: 13px;
}

.site-footer strong {
    color: var(--primary);
    font-weight: 950;
}

/* Mobile: clean header, full-width cart button */
@media (max-width: 760px) {
    .header {
        height: 72px !important;
    }

    body {
        padding-top: 72px !important;
        padding-bottom: 82px !important;
    }

    .header__content {
        padding: 0 12px !important;
        gap: 10px !important;
    }

    .brand__logo {
        width: 46px !important;
        height: 46px !important;
        flex-basis: 46px !important;
    }

    .brand__text {
        display: none !important;
    }

    .header__right {
        gap: 8px !important;
        flex: 1 !important;
    }

    .header__status {
        flex: 1 !important;
        max-width: none !important;
        height: 46px !important;
        padding: 0 10px !important;
        font-size: 12px !important;
    }

    .store-countdown {
        min-width: 78px !important;
    }

    .header-cart-btn {
        display: none !important;
    }

    .cart-floating {
        position: fixed !important;
        left: 12px !important;
        right: 12px !important;
        bottom: 12px !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 58px !important;
        z-index: 260 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 18px !important;
        border-radius: 8px !important;
        box-shadow: 0 16px 46px rgba(0,0,0,.45) !important;
    }

    .cart-floating div {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .cart-floating small {
        min-width: 28px !important;
        height: 28px !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 999px !important;
        background: #111 !important;
        color: #fff !important;
    }

    .site-footer {
        margin-bottom: 96px;
    }
}

@media (max-width: 390px) {
    .header__status {
        font-size: 11px !important;
        gap: 5px !important;
    }

    .store-countdown {
        min-width: 72px !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}


/* v13 store header/cart final */
.header {
    height: auto !important;
    min-height: 74px !important;
}

.header__content {
    padding: 11px 22px !important;
}

.header__right {
    flex-wrap: nowrap !important;
}

.header-cart-btn {
    display: none !important;
}

/* Desktop: compact floating cart icon/button fixed near content edge */
@media (min-width: 761px) {
    .cart-floating {
        display: flex !important;
        position: fixed !important;
        right: 28px !important;
        bottom: 28px !important;
        left: auto !important;
        width: auto !important;
        min-width: 148px !important;
        height: 52px !important;
        padding: 0 16px !important;
        border-radius: 8px !important;
        z-index: 260 !important;
    }
}

.cart-backdrop {
    position: fixed;
    inset: 0;
    z-index: 295;
    display: none;
    background: rgba(0,0,0,.46);
}

.cart-backdrop.open {
    display: block;
}

/* Mobile header: logo + status in one clean row */
@media (max-width: 760px) {
    .header {
        min-height: 68px !important;
    }

    body {
        padding-top: 68px !important;
        padding-bottom: 86px !important;
    }

    .header__content {
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 10px 12px !important;
    }

    .brand {
        min-width: 0 !important;
        width: 44px !important;
    }

    .brand__logo {
        width: 44px !important;
        height: 44px !important;
        flex: 0 0 44px !important;
    }

    .brand__text {
        display: none !important;
    }

    .header__right {
        min-width: 0 !important;
        width: 100% !important;
        justify-content: flex-end !important;
    }

    .header__status {
        width: 100% !important;
        height: 44px !important;
        justify-content: center !important;
        padding: 0 8px !important;
        font-size: 12px !important;
        overflow: hidden !important;
    }

    .store-status-main {
        flex: 0 0 auto;
    }

    .store-countdown {
        min-width: 82px !important;
        max-width: 82px !important;
        font-size: 12px !important;
        overflow: hidden;
    }

    .cart-floating {
        left: 12px !important;
        right: 12px !important;
        bottom: 12px !important;
        width: auto !important;
        min-width: 0 !important;
        height: 58px !important;
        border-radius: 8px !important;
        justify-content: space-between !important;
        padding: 0 18px !important;
    }
}


/* v14 carrito: subtotal fijo abajo + fondo completo en mobile */
.cart-drawer {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

.cart-head {
    flex: 0 0 auto !important;
}

#cartItems {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    padding-bottom: 16px !important;
}

.cart-total,
.cart-help,
.checkout-link {
    flex: 0 0 auto !important;
}

.cart-total {
    margin-top: auto !important;
    position: sticky !important;
    bottom: 0 !important;
    background: #111 !important;
    border-top: 1px solid rgba(255,255,255,.09) !important;
    padding-top: 16px !important;
    z-index: 2 !important;
}

.cart-help {
    display: block !important;
    background: #111 !important;
    padding-top: 4px !important;
}

.checkout-link {
    margin-top: 12px !important;
}

/* Mobile: el patrón de iconos cubre toda la pantalla y se ve más completo.
   Monitor se mantiene igual que estaba. */
@media (max-width: 760px) {
    body::before {
        opacity: .085 !important;
        background-size: 230px 230px !important;
        background-position: top left !important;
        background-repeat: repeat !important;
        transform: none !important;
    }

    body::after {
        background:
            linear-gradient(180deg, rgba(0,0,0,.10), #000 72%),
            radial-gradient(circle at 18% 12%, rgba(var(--primary-rgb), .06), transparent 28%) !important;
    }

    .cart-drawer {
        width: 100vw !important;
        max-width: 100vw !important;
        right: 0 !important;
        left: auto !important;
        top: 0 !important;
        bottom: 0 !important;
        height: 100dvh !important;
        padding-bottom: 82px !important;
        border-radius: 0 !important;
    }

    .cart-head {
        padding-bottom: 14px !important;
    }

    #cartItems {
        min-height: 0 !important;
    }

    .cart-total {
        margin-left: -1px !important;
        margin-right: -1px !important;
    }
}

@media (max-width: 430px) {
    body::before {
        background-size: 190px 190px !important;
        opacity: .09 !important;
    }
}


/* v15 cart flow + organized cart products + flexible product sections */
.cart-floating {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(14px) !important;
    transition: opacity .2s ease, transform .2s ease !important;
}

.cart-floating.visible {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

/* Cart product item with image */
.cart-item {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: start !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.07) !important;
}

.cart-item-photo {
    width: 58px;
    height: 58px;
    border-radius: 8px;
    overflow: hidden;
    background: #080808;
    border: 1px solid rgba(255,255,255,.08);
}

.cart-item-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-item-info {
    min-width: 0 !important;
}

.cart-item-info strong {
    display: block;
    margin-bottom: 3px;
}

.cart-item-info small {
    display: block;
    color: var(--muted);
    margin-bottom: 8px;
}

.cart-note {
    width: 100% !important;
}

/* First add question */
.first-add-modal {
    position: fixed;
    inset: 0;
    z-index: 340;
    display: none;
    place-items: center;
    padding: 20px;
    background: rgba(0,0,0,.62);
    backdrop-filter: blur(8px);
}

.first-add-modal.open {
    display: grid;
}

.first-add-card {
    position: relative;
    width: min(430px, 100%);
    background: #111;
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 24px 80px rgba(0,0,0,.55);
}

.first-add-card h2 {
    font-size: 25px;
    margin-bottom: 8px;
}

.first-add-card p {
    color: var(--muted);
    line-height: 1.5;
    margin-bottom: 18px;
}

.first-add-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

/* Product cards more organized with product photo */
.product-card {
    overflow: hidden;
}

.product-card__image {
    min-height: 150px !important;
}

.product-card__body {
    display: grid !important;
    gap: 12px !important;
}

.product-card__top {
    align-items: flex-start !important;
    gap: 10px !important;
}

.product-card__top h3 {
    line-height: 1.1 !important;
}

.product-card__body p {
    min-height: 38px !important;
}

/* Mobile: cart is a bottom sheet, not full screen */
@media (max-width: 760px) {
    .cart-drawer {
        top: auto !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: min(82dvh, 620px) !important;
        border-radius: 14px 14px 0 0 !important;
        padding: 18px 18px 82px !important;
        transform: translateY(105%) !important;
        border-top: 1px solid rgba(var(--primary-rgb), .20) !important;
    }

    .cart-drawer.open {
        transform: translateY(0) !important;
    }

    .cart-item {
        grid-template-columns: 52px minmax(0, 1fr) auto !important;
        gap: 10px !important;
    }

    .cart-item-photo {
        width: 52px;
        height: 52px;
    }

    .cart-actions {
        display: grid !important;
        gap: 6px !important;
    }

    .cart-actions button {
        width: 30px !important;
        height: 30px !important;
    }

    .cart-total {
        padding-top: 14px !important;
    }

    .first-add-actions {
        grid-template-columns: 1fr !important;
    }
}


/* v16 serious product cards + first add modal */
.products-grid {
    align-items: stretch;
}

.modern-product-card {
    display: grid !important;
    grid-template-rows: 210px minmax(0, 1fr) !important;
    min-height: 460px !important;
    background: #151515 !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: none !important;
}

.modern-product-card .product-card__image {
    min-height: 0 !important;
    height: 210px !important;
    background: #0b0b0b !important;
    border-bottom: 1px solid rgba(255,255,255,.07) !important;
}

.modern-product-card .product-card__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.modern-product-card .product-card__image img[src$="burger-demo.svg"],
.modern-product-card .product-card__image img[src$="drink-demo.svg"],
.modern-product-card .product-card__image img[src$="fries-demo.svg"],
.modern-product-card .product-card__image img[src$="chivito-demo.svg"] {
    object-fit: contain !important;
    padding: 28px !important;
}

.modern-product-card .product-card__body {
    display: grid !important;
    grid-template-rows: auto auto 1fr auto !important;
    gap: 12px !important;
    padding: 18px !important;
}

.product-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.product-card__meta span,
.product-card__meta strong {
    font-size: 11px;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .45px;
    font-weight: 950;
}

.product-card__meta span {
    color: var(--primary);
}

.product-card__meta strong {
    color: #111;
    background: var(--primary);
    padding: 7px 9px;
    border-radius: 4px;
}

.modern-product-card h3 {
    font-size: 22px !important;
    line-height: 1.08 !important;
    letter-spacing: -.35px;
}

.modern-product-card p {
    min-height: 0 !important;
    color: var(--muted) !important;
    line-height: 1.45 !important;
    font-size: 14px !important;
}

.modern-product-card .product-card__footer {
    align-items: end !important;
    gap: 14px !important;
    margin-top: 4px !important;
}

.modern-product-card .price strong {
    font-size: 28px !important;
}

.modern-product-card .product-card__footer button {
    min-width: 130px !important;
    height: 46px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    font-weight: 950 !important;
    border: 0 !important;
}

.modern-product-card .product-card__footer button i {
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(0,0,0,.14);
    font-style: normal;
}

/* Reduce excessive page bottom spacing */
.store-category-sections {
    margin-bottom: 0 !important;
}

.store-category-section:last-child {
    margin-bottom: 18px !important;
}

.site-footer.compact-footer {
    margin-top: 24px !important;
    margin-bottom: 20px !important;
    padding-top: 16px !important;
}

/* More serious first-add notification */
.serious-first-add {
    padding: 22px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(var(--primary-rgb), .20) !important;
    background: #121212 !important;
}

.first-add-product {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 12px;
    align-items: center;
    padding: 10px;
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    margin-bottom: 16px;
}

.first-add-product img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 7px;
    background: #070707;
}

.first-add-product span {
    display: block;
    color: var(--primary);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .45px;
    font-weight: 950;
    margin-bottom: 4px;
}

.first-add-product strong {
    color: #fff;
    font-size: 18px;
    line-height: 1.1;
}

.serious-first-add h2 {
    font-size: 24px !important;
    line-height: 1.12;
    margin-bottom: 8px !important;
}

.serious-first-add p {
    margin-bottom: 18px !important;
}

.first-add-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
}

.first-primary,
.first-secondary {
    height: 48px;
    border-radius: 6px;
    border: 1px solid transparent;
    font-weight: 950;
    cursor: pointer;
}

.first-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--primary);
    color: #111;
}

.first-primary i {
    font-style: normal;
    font-size: 17px;
}

.first-secondary {
    background: rgba(255,255,255,.055);
    color: #fff;
    border-color: rgba(255,255,255,.10);
}

.first-secondary:hover {
    border-color: rgba(var(--primary-rgb), .24);
}

/* Cart product item more serious */
.cart-item {
    grid-template-columns: 64px minmax(0, 1fr) 40px !important;
}

.cart-actions {
    align-self: start;
}

.cart-actions button {
    border-radius: 6px !important;
    font-weight: 950 !important;
}

@media (max-width: 760px) {
    .modern-product-card {
        grid-template-rows: 220px minmax(0, 1fr) !important;
        min-height: 0 !important;
    }

    .modern-product-card .product-card__image {
        height: 220px !important;
    }

    .modern-product-card .product-card__body {
        padding: 16px !important;
    }

    .modern-product-card h3 {
        font-size: 21px !important;
    }

    .modern-product-card .product-card__footer {
        align-items: stretch !important;
    }

    .modern-product-card .product-card__footer button {
        min-width: 0 !important;
        flex: 1 !important;
    }

    .first-add-actions {
        grid-template-columns: 1fr !important;
    }

    .site-footer.compact-footer {
        margin-bottom: 90px !important;
    }
}


/* v17 corrección de espacios en tarjetas y footer */

/* En monitor las tarjetas vuelven a ser horizontales, compactas y sin huecos vacíos */
@media (min-width: 761px) {
    .products-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
        align-items: stretch !important;
    }

    .modern-product-card {
        display: grid !important;
        grid-template-columns: 190px minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        min-height: 190px !important;
        height: auto !important;
        padding: 14px !important;
        gap: 16px !important;
    }

    .modern-product-card .product-card__image {
        width: 190px !important;
        height: 170px !important;
        min-height: 170px !important;
        border: 1px solid rgba(255,255,255,.07) !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        align-self: start !important;
    }

    .modern-product-card .product-card__body {
        height: 170px !important;
        min-height: 170px !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-rows: auto auto 1fr auto !important;
        gap: 8px !important;
        align-content: start !important;
    }

    .modern-product-card h3 {
        font-size: 20px !important;
        line-height: 1.1 !important;
    }

    .modern-product-card p {
        font-size: 13px !important;
        line-height: 1.45 !important;
        margin: 0 !important;
        max-height: 42px !important;
        overflow: hidden !important;
    }

    .modern-product-card .product-card__footer {
        margin-top: 0 !important;
        align-items: center !important;
    }

    .modern-product-card .price strong {
        font-size: 26px !important;
    }

    .modern-product-card .product-card__footer button {
        min-width: 118px !important;
        height: 42px !important;
    }
}

/* En mobile la tarjeta queda vertical pero sin altura exagerada */
@media (max-width: 760px) {
    .products-grid {
        gap: 14px !important;
    }

    .modern-product-card {
        display: grid !important;
        grid-template-rows: auto auto !important;
        min-height: 0 !important;
        height: auto !important;
    }

    .modern-product-card .product-card__image {
        height: 210px !important;
        min-height: 210px !important;
    }

    .modern-product-card .product-card__body {
        grid-template-rows: auto auto auto auto !important;
        gap: 10px !important;
    }

    .modern-product-card p {
        min-height: 0 !important;
        margin: 0 !important;
    }
}

/* Quita el espacio excesivo entre última tarjeta, footer y final de página */
.main {
    padding-bottom: 0 !important;
}

.store-category-sections {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.store-category-section {
    margin-bottom: 22px !important;
}

.store-category-section:last-child {
    margin-bottom: 8px !important;
}

.products-grid:last-child {
    margin-bottom: 0 !important;
}

.site-footer,
.site-footer.compact-footer {
    margin-top: 18px !important;
    margin-bottom: 84px !important;
    padding-top: 14px !important;
    padding-bottom: 0 !important;
}

/* En monitor no hace falta reservar tanto espacio abajo porque el carrito es flotante */
@media (min-width: 761px) {
    body {
        padding-bottom: 0 !important;
    }

    .site-footer,
    .site-footer.compact-footer {
        margin-bottom: 24px !important;
    }
}

/* En mobile se deja solo el espacio necesario para que no tape el botón carrito */
@media (max-width: 760px) {
    body {
        padding-bottom: 74px !important;
    }

    .site-footer,
    .site-footer.compact-footer {
        margin-top: 14px !important;
        margin-bottom: 78px !important;
    }
}


/* v18 notificación checkout + tarjetas y carrito */

/* Modal de validación más serio */
.flow-card {
    background: #121212 !important;
    border: 1px solid rgba(var(--primary-rgb), .18) !important;
    border-radius: 10px !important;
    box-shadow: 0 26px 90px rgba(0,0,0,.66) !important;
}

.flow-step h2 {
    font-size: clamp(24px, 4vw, 34px) !important;
    line-height: 1.05 !important;
    margin-bottom: 10px !important;
}

.flow-step p {
    color: #b7b7b7 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
}

.phone-code-grid {
    display: grid !important;
    grid-template-columns: 1fr 150px !important;
    gap: 10px !important;
}

.phone-code-grid input {
    height: 48px !important;
    border-radius: 7px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: #eeeeee !important;
    color: #111 !important;
    font-weight: 750 !important;
}

.phone-code-grid button {
    height: 48px !important;
    border-radius: 7px !important;
    background: var(--primary) !important;
    color: #111 !important;
    font-weight: 950 !important;
}

.flow-back {
    height: 44px !important;
    border-radius: 7px !important;
    padding: 0 18px !important;
    margin-top: 16px !important;
}

/* Botón agregar más protagonista */
@media (min-width: 761px) {
    .modern-product-card .product-card__footer {
        display: grid !important;
        grid-template-columns: auto 160px !important;
        gap: 16px !important;
        align-items: end !important;
    }

    .modern-product-card .product-card__footer button {
        justify-self: end !important;
        width: 160px !important;
        min-width: 160px !important;
    }
}

@media (max-width: 760px) {
    .modern-product-card .product-card__footer {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .modern-product-card .product-card__footer button {
        width: 100% !important;
        min-width: 100% !important;
        height: 48px !important;
    }
}

/* Subtotal lo más abajo posible dentro del carrito */
.cart-drawer {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto auto auto !important;
}

#cartItems {
    min-height: 0 !important;
    overflow-y: auto !important;
}

.cart-total {
    align-self: end !important;
    margin-top: 0 !important;
    position: relative !important;
    bottom: auto !important;
    padding-top: 16px !important;
}

@media (max-width: 760px) {
    .cart-drawer {
        height: min(86dvh, 680px) !important;
        padding: 18px !important;
        padding-bottom: 18px !important;
    }

    .cart-total {
        margin-top: auto !important;
    }
}

@media (max-width: 520px) {
    .phone-code-grid {
        grid-template-columns: 1fr !important;
    }
}


/* v19 producto + carrito más profesional */

/* Espaciado entre iconos y títulos de secciones */
.store-section-title h3,
.section-heading h2 {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.store-section-title h3 {
    letter-spacing: -.35px;
}

/* Tarjeta de producto: promo pegada a derecha y botón más integrado */
.product-card__meta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
}

.product-card__meta span {
    min-width: 0;
}

.product-card__meta strong {
    justify-self: end !important;
    margin-left: auto !important;
    border-radius: 5px !important;
    padding: 7px 10px !important;
}

@media (min-width: 761px) {
    .modern-product-card .product-card__footer {
        grid-template-columns: minmax(0, 1fr) 190px !important;
        gap: 18px !important;
        align-items: end !important;
    }

    .modern-product-card .product-card__footer button {
        width: 190px !important;
        min-width: 190px !important;
        justify-self: end !important;
    }
}

@media (max-width: 760px) {
    .product-card__meta {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        align-items: start !important;
    }

    .product-card__meta strong {
        justify-self: start !important;
        margin-left: 0 !important;
    }

    .modern-product-card .product-card__footer button {
        width: 100% !important;
        min-width: 100% !important;
        justify-content: center !important;
    }
}

/* Carrito seleccionado: diseño más vendible */
.cart-drawer {
    background: #101010 !important;
    border-left: 1px solid rgba(var(--primary-rgb), .16) !important;
}

.cart-head {
    padding-bottom: 18px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    margin-bottom: 12px !important;
}

.cart-head h3 {
    font-size: 25px !important;
    letter-spacing: -.4px !important;
}

.cart-item {
    grid-template-columns: 74px minmax(0, 1fr) 38px !important;
    gap: 14px !important;
    align-items: start !important;
    padding: 14px !important;
    margin-bottom: 10px !important;
    background: #171717 !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 10px !important;
}

.cart-item-photo {
    width: 74px !important;
    height: 74px !important;
    border-radius: 8px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    background: #080808 !important;
}

.cart-item-info strong {
    font-size: 17px !important;
    line-height: 1.1 !important;
}

.cart-item-info small {
    color: #d4d4d4 !important;
    font-size: 14px !important;
    margin-top: 4px !important;
    margin-bottom: 10px !important;
}

.cart-note {
    height: 42px !important;
    border-radius: 7px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: #f1f1f1 !important;
    color: #111 !important;
    padding: 0 12px !important;
    font-weight: 650 !important;
}

.cart-actions {
    display: grid !important;
    gap: 8px !important;
}

.cart-actions button {
    width: 36px !important;
    height: 36px !important;
    border-radius: 7px !important;
    border: 0 !important;
    background: #eeeeee !important;
    color: #111 !important;
    font-weight: 950 !important;
}

.cart-actions button:last-child {
    background: rgba(255,77,77,.14) !important;
    color: #ff9b9b !important;
}

.cart-total {
    border-top: 1px solid rgba(var(--primary-rgb), .18) !important;
    background: #101010 !important;
}

.cart-total span,
.cart-total strong {
    letter-spacing: -.35px;
}

.checkout-link {
    border-radius: 8px !important;
    height: 50px !important;
    font-weight: 950 !important;
}

@media (max-width: 760px) {
    .cart-drawer {
        height: min(78dvh, 620px) !important;
        border-radius: 16px 16px 0 0 !important;
    }

    .cart-item {
        grid-template-columns: 60px minmax(0, 1fr) 34px !important;
        padding: 12px !important;
        gap: 12px !important;
    }

    .cart-item-photo {
        width: 60px !important;
        height: 60px !important;
    }

    .cart-actions button {
        width: 34px !important;
        height: 34px !important;
    }

    .cart-note {
        height: 38px !important;
    }
}


/* v20 Product card alignment + professional cart note */

/* Producto: contenido izquierdo y acciones a la derecha con la misma respiración visual */
@media (min-width: 761px) {
    .modern-product-card {
        grid-template-columns: 190px minmax(0, 1fr) !important;
        padding: 14px 18px 14px 14px !important;
    }

    .modern-product-card .product-card__body {
        width: 100% !important;
    }

    .product-card__meta {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .product-card__meta strong {
        justify-self: end !important;
        margin-right: 0 !important;
    }

    .modern-product-card .product-card__footer {
        grid-template-columns: minmax(0, 1fr) 210px !important;
        gap: 18px !important;
        align-items: end !important;
    }

    .modern-product-card .product-card__footer button {
        width: 210px !important;
        min-width: 210px !important;
        justify-self: end !important;
        margin-right: 0 !important;
    }
}

/* Mobile: etiqueta debajo, botón completo */
@media (max-width: 760px) {
    .modern-product-card .product-card__footer button {
        width: 100% !important;
        min-width: 100% !important;
    }
}

/* Carrito: producto seleccionado más profesional y observación debajo de la foto/info */
.cart-item {
    grid-template-columns: 74px minmax(0, 1fr) 38px !important;
    grid-template-areas:
        "photo info actions"
        "note note actions" !important;
    align-items: start !important;
}

.cart-item-photo {
    grid-area: photo !important;
}

.cart-item-info {
    grid-area: info !important;
}

.cart-actions {
    grid-area: actions !important;
}

.cart-note {
    grid-area: note !important;
    margin-top: 2px !important;
    width: 100% !important;
    display: block !important;
}

.cart-item-info strong {
    font-size: 18px !important;
}

.cart-item-info small {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

@media (max-width: 760px) {
    .cart-item {
        grid-template-columns: 62px minmax(0, 1fr) 36px !important;
        grid-template-areas:
            "photo info actions"
            "note note actions" !important;
    }

    .cart-note {
        height: 42px !important;
    }
}


/* v21 Ajuste preciso: tarjeta producto + carrito */

/* Producto desktop: el lado derecho queda pegado al borde como el izquierdo */
@media (min-width: 761px) {
    .modern-product-card {
        grid-template-columns: 190px minmax(0, 1fr) !important;
        padding: 14px !important;
        column-gap: 18px !important;
    }

    .modern-product-card .product-card__body {
        width: 100% !important;
        min-width: 0 !important;
        padding-right: 0 !important;
    }

    .modern-product-card .product-card__meta {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 16px !important;
    }

    .modern-product-card .product-card__meta strong {
        margin-left: auto !important;
        margin-right: 0 !important;
        justify-self: end !important;
        align-self: start !important;
    }

    .modern-product-card .product-card__footer {
        width: 100% !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: space-between !important;
        gap: 18px !important;
        margin-top: auto !important;
    }

    .modern-product-card .product-card__footer .price {
        flex: 0 0 auto !important;
    }

    .modern-product-card .product-card__footer button {
        width: 220px !important;
        min-width: 220px !important;
        max-width: 220px !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        justify-self: end !important;
    }
}

/* Mobile: promo baja ordenada y botón ocupa todo el ancho */
@media (max-width: 760px) {
    .modern-product-card .product-card__meta {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    .modern-product-card .product-card__meta strong {
        justify-self: start !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .modern-product-card .product-card__footer {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .modern-product-card .product-card__footer button {
        width: 100% !important;
        min-width: 100% !important;
        max-width: none !important;
    }
}

/* Carrito: producto seleccionado más profesional y observación abajo */
.cart-item {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) 38px !important;
    grid-template-areas:
        "photo info actions"
        "note note actions" !important;
    gap: 12px 14px !important;
    padding: 14px !important;
    background: #171717 !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 10px !important;
    align-items: start !important;
}

.cart-item-photo {
    grid-area: photo !important;
    width: 76px !important;
    height: 76px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #070707 !important;
    border: 1px solid rgba(255,255,255,.08) !important;
}

.cart-item-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.cart-item-info {
    grid-area: info !important;
    min-width: 0 !important;
    align-self: center !important;
}

.cart-item-info strong {
    display: block !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
    margin-bottom: 5px !important;
}

.cart-item-info small {
    color: #d5d5d5 !important;
    font-size: 14px !important;
}

.cart-actions {
    grid-area: actions !important;
    display: grid !important;
    gap: 8px !important;
    align-self: start !important;
}

.cart-note-wrap {
    grid-area: note !important;
    display: grid !important;
    gap: 6px !important;
}

.cart-note-wrap label {
    color: var(--primary) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .45px !important;
    text-transform: uppercase !important;
}

.cart-note {
    width: 100% !important;
    height: 42px !important;
    border-radius: 7px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: #f1f1f1 !important;
    color: #111 !important;
    padding: 0 12px !important;
    font-weight: 650 !important;
    outline: none !important;
}

@media (max-width: 760px) {
    .cart-item {
        grid-template-columns: 62px minmax(0, 1fr) 36px !important;
        grid-template-areas:
            "photo info actions"
            "note note note" !important;
        gap: 12px !important;
    }

    .cart-item-photo {
        width: 62px !important;
        height: 62px !important;
    }

    .cart-actions {
        grid-template-columns: repeat(3, 34px) !important;
        grid-auto-flow: column !important;
        justify-content: end !important;
    }
}


/* v22 Fix definitivo: tarjetas responsive, botón derecha, observación full */

/* Evita que el contenido se coma o se corte en anchos intermedios */
.products-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr)) !important;
}

.modern-product-card {
    min-width: 0 !important;
    overflow: hidden !important;
}

.modern-product-card .product-card__body,
.modern-product-card .product-card__footer,
.modern-product-card .product-card__meta {
    min-width: 0 !important;
}

/* Desktop amplio: tarjeta horizontal seria */
@media (min-width: 1021px) {
    .modern-product-card {
        display: grid !important;
        grid-template-columns: 190px minmax(0, 1fr) !important;
        min-height: 190px !important;
        height: auto !important;
        padding: 14px !important;
        gap: 18px !important;
    }

    .modern-product-card .product-card__image {
        width: 190px !important;
        height: 170px !important;
        min-height: 170px !important;
        align-self: start !important;
    }

    .modern-product-card .product-card__body {
        height: 170px !important;
        min-height: 170px !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-rows: auto auto 1fr auto !important;
        gap: 8px !important;
    }

    .modern-product-card .product-card__meta {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        width: 100% !important;
    }

    .modern-product-card .product-card__meta strong {
        margin-left: auto !important;
        margin-right: 0 !important;
        flex: 0 0 auto !important;
    }

    .modern-product-card .product-card__footer {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) max-content !important;
        align-items: end !important;
        gap: 14px !important;
        width: 100% !important;
    }

    .modern-product-card .product-card__footer button {
        width: 220px !important;
        min-width: 220px !important;
        max-width: 220px !important;
        justify-self: end !important;
        margin: 0 !important;
    }
}

/* Anchos intermedios: la tarjeta pasa a vertical para que no se rompa */
@media (min-width: 761px) and (max-width: 1020px) {
    .products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .modern-product-card {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 0 !important;
    }

    .modern-product-card .product-card__image {
        width: 100% !important;
        height: 210px !important;
        min-height: 210px !important;
        border-radius: 0 !important;
    }

    .modern-product-card .product-card__body {
        height: auto !important;
        min-height: 0 !important;
        padding: 16px !important;
        display: grid !important;
        grid-template-rows: auto auto auto auto !important;
        gap: 11px !important;
    }

    .modern-product-card .product-card__meta {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .modern-product-card .product-card__meta strong {
        justify-self: start !important;
        margin-left: 0 !important;
    }

    .modern-product-card .product-card__footer {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 13px !important;
    }

    .modern-product-card .product-card__footer button {
        width: 100% !important;
        min-width: 100% !important;
        max-width: none !important;
    }
}

/* Mobile: botón completo y etiqueta debajo */
@media (max-width: 760px) {
    .modern-product-card .product-card__footer button {
        width: 100% !important;
        min-width: 100% !important;
        max-width: none !important;
    }
}

/* Carrito: la observación ocupa todo el ancho real del contenedor */
.cart-item {
    grid-template-columns: 76px minmax(0, 1fr) 38px !important;
    grid-template-areas:
        "photo info actions"
        "note note note" !important;
}

.cart-note-wrap {
    grid-area: note !important;
    width: 100% !important;
    display: grid !important;
    gap: 7px !important;
    margin-top: 2px !important;
}

.cart-note {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 760px) {
    .cart-item {
        grid-template-columns: 62px minmax(0, 1fr) 36px !important;
        grid-template-areas:
            "photo info actions"
            "note note note" !important;
    }
}

/* v23 Ajustes solicitados Deseo Burger: tarjetas no estiradas, acciones a la derecha y carrito premium */
.store-products-heading > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
}

.store-products-heading span {
    display: block !important;
    line-height: 1 !important;
}

.store-products-heading h2 {
    display: block !important;
    margin: 0 !important;
    line-height: .92 !important;
}

@media (min-width: 1021px) {
    .products-grid {
        display: grid !important;
        grid-template-columns: repeat(auto-fill, 580px) !important;
        justify-content: start !important;
        align-items: stretch !important;
        gap: 18px !important;
    }

    .modern-product-card {
        width: 580px !important;
        max-width: 580px !important;
        min-height: 200px !important;
        grid-template-columns: 190px minmax(0, 1fr) !important;
        padding: 14px !important;
        gap: 18px !important;
    }

    .modern-product-card .product-card__body {
        min-width: 0 !important;
        width: 100% !important;
        height: 172px !important;
        min-height: 172px !important;
        display: grid !important;
        grid-template-rows: auto auto 1fr auto !important;
        align-content: stretch !important;
    }

    .modern-product-card .product-card__meta {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) max-content !important;
        align-items: start !important;
        width: 100% !important;
    }

    .modern-product-card .product-card__meta strong {
        justify-self: end !important;
        margin: 0 !important;
    }

    .modern-product-card .product-card__footer {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 220px !important;
        align-items: end !important;
        width: 100% !important;
        gap: 14px !important;
        margin-top: auto !important;
    }

    .modern-product-card .product-card__footer button {
        width: 220px !important;
        min-width: 220px !important;
        max-width: 220px !important;
        justify-self: end !important;
        margin: 0 !important;
    }
}

@media (min-width: 761px) and (max-width: 1020px) {
    .products-grid {
        grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .products-grid {
        grid-template-columns: 1fr !important;
    }
}

.cart-drawer {
    width: 430px !important;
    max-width: calc(100vw - 14px) !important;
    background: linear-gradient(180deg,#121212,#0d0d0d) !important;
}

#cartItems {
    display: grid !important;
    gap: 12px !important;
}

.cart-item {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) auto !important;
    grid-template-areas:
        "photo info actions"
        "note note note" !important;
    gap: 12px !important;
    padding: 14px !important;
    background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025)) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 12px !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
}

.cart-item-photo {
    grid-area: photo !important;
    width: 72px !important;
    height: 72px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #080808 !important;
    border: 1px solid rgba(255,255,255,.09) !important;
}

.cart-item-info {
    grid-area: info !important;
    align-self: center !important;
    min-width: 0 !important;
}

.cart-item-title-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    gap: 10px !important;
    align-items: start !important;
    margin-bottom: 5px !important;
}

.cart-item-title-row strong {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.12 !important;
    color: #fff !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.cart-item-title-row b {
    color: var(--primary) !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

.cart-item-info small {
    color: #b7b7b7 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.cart-actions {
    grid-area: actions !important;
    display: grid !important;
    grid-template-columns: 32px 28px 32px !important;
    grid-template-areas:
        "minus qty plus"
        "remove remove remove" !important;
    gap: 6px !important;
    align-self: start !important;
    justify-content: end !important;
}

.cart-actions .qty-btn,
.cart-actions .remove-btn {
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 8px !important;
    background: #f3f3f3 !important;
    color: #111 !important;
    font-weight: 950 !important;
    cursor: pointer !important;
}

.cart-actions .qty-btn:first-child { grid-area: minus !important; }
.cart-actions .qty-btn:nth-of-type(2) { grid-area: plus !important; }

.cart-qty-value {
    grid-area: qty !important;
    display: grid !important;
    place-items: center !important;
    color: #fff !important;
    font-weight: 950 !important;
    font-size: 13px !important;
}

.cart-actions .remove-btn {
    grid-area: remove !important;
    width: 100% !important;
    background: rgba(130,40,40,.62) !important;
    color: #fff !important;
}

.cart-note-wrap {
    grid-area: note !important;
    width: 100% !important;
    display: grid !important;
    gap: 7px !important;
    padding-top: 2px !important;
}

.cart-note-wrap label {
    color: var(--primary) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .55px !important;
    text-transform: uppercase !important;
}

.cart-note {
    width: 100% !important;
    min-height: 48px !important;
    resize: vertical !important;
    box-sizing: border-box !important;
    border-radius: 9px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: #f2f2f2 !important;
    color: #111 !important;
    padding: 12px !important;
    font: inherit !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    outline: none !important;
}

.cart-note:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb), .13) !important;
}

@media (max-width: 520px) {
    .cart-drawer {
        width: calc(100vw - 14px) !important;
        padding: 24px 16px 18px !important;
    }

    .cart-item {
        grid-template-columns: 62px minmax(0, 1fr) !important;
        grid-template-areas:
            "photo info"
            "actions actions"
            "note note" !important;
    }

    .cart-item-photo {
        width: 62px !important;
        height: 62px !important;
    }

    .cart-actions {
        grid-template-columns: 38px 1fr 38px 38px !important;
        grid-template-areas: "minus qty plus remove" !important;
        width: 100% !important;
    }

    .cart-actions .qty-btn,
    .cart-actions .remove-btn {
        width: 38px !important;
    }

    .cart-actions .remove-btn {
        width: 38px !important;
    }
}

/* v24 Fix monitor definitivo: promo y botón realmente pegados al lado derecho */
@media (min-width: 1021px) {
    .modern-product-card {
        position: relative !important;
        width: 580px !important;
        max-width: 580px !important;
        min-height: 200px !important;
        grid-template-columns: 190px minmax(0, 1fr) !important;
        gap: 18px !important;
        padding: 14px !important;
    }

    .modern-product-card .product-card__image {
        width: 190px !important;
        height: 170px !important;
        min-height: 170px !important;
    }

    .modern-product-card .product-card__body {
        position: relative !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 170px !important;
        height: 170px !important;
        display: block !important;
        padding-right: 0 !important;
    }

    .modern-product-card .product-card__meta {
        position: static !important;
        display: block !important;
        width: 100% !important;
        margin: 0 0 8px !important;
    }

    .modern-product-card .product-card__meta span {
        display: block !important;
        padding-right: 230px !important;
    }

    .modern-product-card .product-card__meta strong {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        margin: 0 !important;
        justify-self: auto !important;
        z-index: 2 !important;
    }

    .modern-product-card h3 {
        padding-right: 0 !important;
        margin-right: 0 !important;
    }

    .modern-product-card p {
        max-width: calc(100% - 0px) !important;
        margin-bottom: 18px !important;
    }

    .modern-product-card .product-card__footer {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        min-height: 54px !important;
    }

    .modern-product-card .product-card__footer .price {
        position: absolute !important;
        left: 0 !important;
        bottom: 0 !important;
        width: auto !important;
        padding-right: 240px !important;
    }

    .modern-product-card .product-card__footer button {
        position: absolute !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 220px !important;
        min-width: 220px !important;
        max-width: 220px !important;
        margin: 0 !important;
        justify-content: center !important;
    }
}

/* v25 Carrito mobile completo y producto seleccionado ordenado */
@media (max-width: 760px) {
    .cart-drawer {
        left: 0 !important;
        right: auto !important;
        top: auto !important;
        bottom: -62dvh !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: 58dvh !important;
        max-height: 58dvh !important;
        padding: 18px 16px 16px !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(var(--primary-rgb), .22) !important;
        border-radius: 18px 18px 0 0 !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto auto auto !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .cart-drawer.open {
        right: auto !important;
        bottom: 0 !important;
    }

    .cart-head {
        margin: 0 0 12px !important;
        padding-bottom: 12px !important;
    }

    #cartItems {
        min-height: 0 !important;
        overflow-y: auto !important;
        padding-right: 2px !important;
        padding-bottom: 8px !important;
        display: grid !important;
        gap: 12px !important;
        align-content: start !important;
    }

    .cart-total {
        flex: 0 0 auto !important;
        margin: 10px 0 8px !important;
        padding-top: 12px !important;
        border-top: 1px solid rgba(var(--primary-rgb), .18) !important;
    }

    .cart-help {
        display: block !important;
        margin-bottom: 12px !important;
    }

    .checkout-link {
        flex: 0 0 auto !important;
        width: 100% !important;
        height: 50px !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 8px !important;
    }

    .cart-item {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 64px minmax(0, 1fr) !important;
        grid-template-areas:
            "photo info"
            "actions actions"
            "note note" !important;
        gap: 12px !important;
        padding: 13px !important;
        border-radius: 13px !important;
        background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.025)) !important;
        border: 1px solid rgba(255,255,255,.11) !important;
        box-shadow: 0 10px 26px rgba(0,0,0,.22) !important;
        box-sizing: border-box !important;
    }

    .cart-item-photo {
        width: 64px !important;
        height: 64px !important;
        border-radius: 10px !important;
        align-self: start !important;
    }

    .cart-item-info {
        align-self: center !important;
        min-width: 0 !important;
    }

    .cart-item-title-row {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 10px !important;
        margin-bottom: 6px !important;
        width: 100% !important;
    }

    .cart-item-title-row strong {
        min-width: 0 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: unset !important;
        font-size: 16px !important;
        line-height: 1.15 !important;
    }

    .cart-item-title-row b {
        flex: 0 0 auto !important;
        color: var(--primary) !important;
        font-size: 16px !important;
        line-height: 1.1 !important;
        text-align: right !important;
    }

    .cart-item-info small {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        color: #bdbdbd !important;
        font-size: 13px !important;
        font-weight: 850 !important;
    }

    .cart-actions {
        grid-area: actions !important;
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 40px minmax(0, 1fr) 40px 40px !important;
        grid-template-areas: "minus qty plus remove" !important;
        gap: 8px !important;
        align-items: center !important;
        padding: 6px !important;
        border-radius: 11px !important;
        background: rgba(0,0,0,.22) !important;
        border: 1px solid rgba(255,255,255,.07) !important;
        box-sizing: border-box !important;
    }

    .cart-actions .qty-btn,
    .cart-actions .remove-btn {
        width: 40px !important;
        height: 36px !important;
        border-radius: 9px !important;
        display: grid !important;
        place-items: center !important;
        margin: 0 !important;
    }

    .cart-actions .qty-btn:first-child { grid-area: minus !important; }
    .cart-actions .qty-btn:nth-of-type(2) { grid-area: plus !important; }

    .cart-qty-value {
        grid-area: qty !important;
        height: 36px !important;
        border-radius: 9px !important;
        background: rgba(255,255,255,.055) !important;
        display: grid !important;
        place-items: center !important;
        color: #fff !important;
        font-weight: 950 !important;
    }

    .cart-actions .remove-btn {
        grid-area: remove !important;
        background: rgba(120,42,42,.72) !important;
        color: #fff !important;
    }

    .cart-note-wrap {
        grid-area: note !important;
        width: 100% !important;
        gap: 8px !important;
        padding-top: 0 !important;
    }

    .cart-note {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 54px !important;
        height: 54px !important;
        border-radius: 10px !important;
        resize: none !important;
        box-sizing: border-box !important;
        padding: 12px !important;
        line-height: 1.25 !important;
    }
}

@media (max-width: 380px) {
    .cart-drawer {
        height: 62dvh !important;
        max-height: 62dvh !important;
        bottom: -66dvh !important;
    }

    .cart-drawer.open {
        bottom: 0 !important;
    }
}

/* v26 Fix definitivo textarea observación carrito: ocupar ancho completo */
.cart-item .cart-note-wrap,
.cart-item > .cart-note-wrap {
    grid-area: note !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    display: block !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    margin: 0 !important;
    padding-top: 4px !important;
    box-sizing: border-box !important;
}

.cart-item .cart-note-wrap label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
}

.cart-item textarea.cart-note,
.cart-item .cart-note-wrap textarea.cart-note {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border-radius: 10px !important;
    min-height: 58px !important;
    height: 58px !important;
    resize: none !important;
    overflow-y: auto !important;
}

@media (max-width: 760px) {
    .cart-item .cart-note-wrap,
    .cart-item > .cart-note-wrap {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: none !important;
        display: block !important;
        justify-self: stretch !important;
    }

    .cart-item .cart-note-wrap textarea.cart-note {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        margin: 0 !important;
    }
}

/* v27 Corrección monitor: grilla hasta 3 columnas + carrito sin estirarse con 1 producto */
@media (min-width: 1021px) {
    .products-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 18px !important;
        align-items: start !important;
        justify-content: stretch !important;
        width: 100% !important;
    }

    .modern-product-card {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 430px !important;
        height: auto !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: 185px minmax(0, 1fr) !important;
        gap: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border-radius: 12px !important;
    }

    .modern-product-card .product-card__image {
        width: 100% !important;
        height: 185px !important;
        min-height: 185px !important;
        border-radius: 0 !important;
        align-self: stretch !important;
    }

    .modern-product-card .product-card__body {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        min-height: 245px !important;
        display: grid !important;
        grid-template-rows: auto auto minmax(54px, 1fr) auto !important;
        gap: 10px !important;
        padding: 16px !important;
        box-sizing: border-box !important;
    }

    .modern-product-card .product-card__meta {
        position: static !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .modern-product-card .product-card__meta span {
        display: block !important;
        padding-right: 0 !important;
        min-width: 0 !important;
    }

    .modern-product-card .product-card__meta strong {
        position: static !important;
        top: auto !important;
        right: auto !important;
        flex: 0 0 auto !important;
        margin-left: auto !important;
    }

    .modern-product-card h3 {
        margin: 0 !important;
        padding: 0 !important;
        font-size: 20px !important;
        line-height: 1.1 !important;
    }

    .modern-product-card p {
        margin: 0 !important;
        max-width: none !important;
        min-height: 0 !important;
        font-size: 13.5px !important;
        line-height: 1.35 !important;
    }

    .modern-product-card .product-card__footer {
        position: static !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin: 0 !important;
        align-self: end !important;
    }

    .modern-product-card .product-card__footer .price {
        position: static !important;
        left: auto !important;
        bottom: auto !important;
        width: 100% !important;
        padding-right: 0 !important;
    }

    .modern-product-card .product-card__footer button {
        position: static !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: none !important;
        height: 46px !important;
        margin: 0 !important;
        justify-self: stretch !important;
    }
}

@media (min-width: 1021px) and (max-width: 1180px) {
    .products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Carrito desktop: una sola tarjeta no debe ocupar todo el espacio del drawer */
@media (min-width: 761px) {
    .cart-drawer {
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto auto auto !important;
        overflow: hidden !important;
    }

    #cartItems {
        display: grid !important;
        grid-auto-rows: max-content !important;
        align-content: start !important;
        align-items: start !important;
        gap: 12px !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        padding-right: 4px !important;
    }

    #cartItems .cart-item {
        align-self: start !important;
        height: auto !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: 72px minmax(0, 1fr) !important;
        grid-template-areas:
            "photo info"
            "actions actions"
            "note note" !important;
        gap: 12px !important;
        padding: 14px !important;
        box-sizing: border-box !important;
    }

    #cartItems .cart-item-photo {
        width: 72px !important;
        height: 72px !important;
        align-self: start !important;
    }

    #cartItems .cart-item-info {
        align-self: center !important;
    }

    #cartItems .cart-actions {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) 42px 42px !important;
        grid-template-areas: "minus qty plus remove" !important;
        gap: 8px !important;
        align-items: center !important;
        padding: 6px !important;
        border-radius: 11px !important;
        background: rgba(0,0,0,.22) !important;
        border: 1px solid rgba(255,255,255,.07) !important;
        box-sizing: border-box !important;
    }

    #cartItems .cart-actions .qty-btn,
    #cartItems .cart-actions .remove-btn {
        width: 42px !important;
        height: 36px !important;
        margin: 0 !important;
        border-radius: 9px !important;
    }

    #cartItems .cart-actions .remove-btn {
        width: 42px !important;
    }

    #cartItems .cart-qty-value {
        height: 36px !important;
        border-radius: 9px !important;
        background: rgba(255,255,255,.055) !important;
        display: grid !important;
        place-items: center !important;
    }

    #cartItems .cart-note-wrap {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        display: block !important;
        margin: 0 !important;
        padding-top: 0 !important;
    }

    #cartItems .cart-note-wrap textarea.cart-note {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: 54px !important;
        min-height: 54px !important;
        box-sizing: border-box !important;
    }
}

/* v28 Fix definitivo tarjetas monitor: botón Agregar 100% real de la tarjeta */
@media (min-width: 1021px) {
    .modern-product-card .product-card__body {
        padding: 16px !important;
        overflow: visible !important;
    }

    .modern-product-card .product-card__footer {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        align-self: end !important;
        overflow: visible !important;
    }

    .modern-product-card .product-card__footer button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: calc(100% + 32px) !important;
        min-width: calc(100% + 32px) !important;
        max-width: calc(100% + 32px) !important;
        height: 46px !important;
        margin-left: -16px !important;
        margin-right: -16px !important;
        margin-bottom: 0 !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
    }

    .modern-product-card .product-card__footer .price {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}


/* vFINAL RESPONSIVE DESEO BURGER
   Corrige reglas anteriores: tarjetas flexibles, hasta 3 por fila,
   botón Agregar centrado al 100% real de la tarjeta y carrito estable. */

/* Grilla: máximo 3 tarjetas por fila */
.store-category-section .products-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
}

/* Tarjeta: estructura vertical flexible para que no se rompa */
.store-category-section .modern-product-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 0 !important;
    border-radius: 12px !important;
}

/* Imagen adaptable */
.store-category-section .modern-product-card .product-card__image {
    width: 100% !important;
    height: 190px !important;
    min-height: 190px !important;
    border-radius: 0 !important;
    align-self: stretch !important;
}

/* Cuerpo adaptable */
.store-category-section .modern-product-card .product-card__body {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 16px !important;
    box-sizing: border-box !important;
}

/* Anular posiciones absolutas anteriores */
.store-category-section .modern-product-card .product-card__meta,
.store-category-section .modern-product-card .product-card__meta span,
.store-category-section .modern-product-card .product-card__meta strong,
.store-category-section .modern-product-card .product-card__footer,
.store-category-section .modern-product-card .product-card__footer .price,
.store-category-section .modern-product-card .product-card__footer button {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
}

/* Meta superior */
.store-category-section .modern-product-card .product-card__meta {
    width: 100% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 0 8px !important;
}

.store-category-section .modern-product-card .product-card__meta span {
    min-width: 0 !important;
    padding-right: 0 !important;
}

.store-category-section .modern-product-card .product-card__meta strong {
    flex: 0 0 auto !important;
    margin-left: auto !important;
}

.store-category-section .modern-product-card h3,
.store-category-section .modern-product-card p {
    min-width: 0 !important;
}

.store-category-section .modern-product-card p {
    margin-bottom: 18px !important;
}

/* Footer de producto: precio arriba y botón centrado ocupando todo el ancho */
.store-category-section .modern-product-card .product-card__footer {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    gap: 14px !important;
    margin-top: auto !important;
    min-height: 0 !important;
}

.store-category-section .modern-product-card .product-card__footer .price {
    width: 100% !important;
    padding: 0 !important;
}

/* Botón: 100% del contenedor interno, centrado, sin quedar pegado a un lado */
.store-category-section .modern-product-card .product-card__footer button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    height: 46px !important;
    padding: 0 18px !important;
    text-align: center !important;
}

/* Intermedio: 2 columnas */
@media (max-width: 1180px) {
    .store-category-section .products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile: 1 columna */
@media (max-width: 700px) {
    .store-category-section .products-grid {
        grid-template-columns: 1fr !important;
    }

    .store-category-section .modern-product-card .product-card__image {
        height: 210px !important;
        min-height: 210px !important;
    }

    .store-category-section .modern-product-card .product-card__body {
        padding: 16px !important;
    }

    .store-category-section .modern-product-card .product-card__footer button {
        width: 100% !important;
    }
}

/* Carrito: en monitor no se rompe con 1 solo producto */
@media (min-width: 701px) {
    .cart-drawer {
        width: 430px !important;
        max-width: 430px !important;
    }

    #cartItems {
        display: grid !important;
        gap: 12px !important;
        align-content: start !important;
    }

    .cart-item {
        min-height: 0 !important;
        height: auto !important;
        grid-template-columns: 62px minmax(0, 1fr) !important;
        grid-template-areas:
            "photo info"
            "actions actions"
            "note note" !important;
        align-items: start !important;
    }

    .cart-actions {
        width: 100% !important;
        grid-template-columns: 38px minmax(0, 1fr) 38px 38px !important;
        grid-template-areas: "minus qty plus remove" !important;
        align-items: center !important;
    }

    .cart-note-wrap,
    .cart-note {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* Carrito mobile: ancho completo */
@media (max-width: 520px) {
    .cart-drawer {
        width: 100vw !important;
        max-width: 100vw !important;
        left: 0 !important;
        right: auto !important;
    }
}

/* vFINAL-2 Ajuste de proporción del botón Agregar */
.store-category-section .modern-product-card .product-card__footer button {
    min-height: 54px !important;
    height: 54px !important;
    padding: 0 20px !important;
    border-radius: 12px !important;
    font-size: 19px !important;
    line-height: 1 !important;
}

.store-category-section .modern-product-card .product-card__footer button span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

.store-category-section .modern-product-card .product-card__footer button i {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

@media (max-width: 700px) {
    .store-category-section .modern-product-card .product-card__footer button {
        min-height: 50px !important;
        height: 50px !important;
        border-radius: 10px !important;
        font-size: 18px !important;
    }

    .store-category-section .modern-product-card .product-card__footer button i {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        font-size: 14px !important;
    }
}


/* vCOLOR FIX Deseo Burger
   Hace que los degradados y brillos del index usen los colores configurados
   desde el panel: --primary, --primary-dark y --secondary. */

.hero,
body {
    background-color: var(--bg) !important;
}

.hero::before,
.main::before,
body::before {
    background:
        radial-gradient(circle at 22% 18%, color-mix(in srgb, var(--primary) 18%, transparent), transparent 34%),
        radial-gradient(circle at 82% 12%, color-mix(in srgb, var(--primary-dark) 16%, transparent), transparent 34%),
        linear-gradient(180deg, color-mix(in srgb, var(--primary) 8%, transparent), transparent 52%) !important;
}

.hero {
    background:
        radial-gradient(circle at 20% 18%, color-mix(in srgb, var(--primary) 18%, transparent), transparent 32%),
        radial-gradient(circle at 76% 24%, color-mix(in srgb, var(--primary-dark) 14%, transparent), transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, var(--primary) 10%, transparent), rgba(0,0,0,0) 58%) !important;
}

.hero__tag,
.discount,
.badge,
.product-card__meta strong {
    background: var(--primary) !important;
    color: #111 !important;
}

.hero__tag {
    border-color: color-mix(in srgb, var(--primary) 48%, transparent) !important;
    color: var(--primary) !important;
    background: color-mix(in srgb, var(--primary) 12%, transparent) !important;
}

.btn-primary,
.checkout-link,
.checkout-btn,
.header-cart-btn,
.cart-floating {
    background: linear-gradient(135deg, var(--primary), var(--primary-dark)) !important;
    color: #111 !important;
}

.btn-primary:hover,
.checkout-link:hover,
.checkout-btn:hover,
.header-cart-btn:hover {
    background: linear-gradient(135deg, var(--primary-dark), var(--primary)) !important;
}

.hero-image-card,
.burger-card,
.product-card__image {
    background:
        radial-gradient(circle at center, color-mix(in srgb, var(--primary) 18%, transparent), transparent 62%),
        #0d0d0d !important;
}

.product-card,
.search-panel,
.cart-drawer,
.flow-card,
.first-add-card {
    border-color: color-mix(in srgb, var(--primary) 22%, rgba(255,255,255,.08)) !important;
}

.product-card:hover {
    border-color: color-mix(in srgb, var(--primary) 38%, transparent) !important;
    box-shadow: 0 18px 44px color-mix(in srgb, var(--primary) 14%, rgba(0,0,0,.30)) !important;
}

.price strong,
.section-heading span,
.product-card__top span,
.product-card__meta span,
.store-section-title h3,
.cart-note-wrap label {
    color: var(--primary) !important;
}

.cart-total {
    border-top-color: color-mix(in srgb, var(--primary) 26%, transparent) !important;
}

.cart-note:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent) !important;
}

/* Fallback para navegadores sin color-mix */
@supports not (color: color-mix(in srgb, red, transparent)) {
    .hero,
    .hero::before,
    .main::before,
    body::before {
        background: linear-gradient(135deg, rgba(0,0,0,.92), rgba(0,0,0,.98)) !important;
    }
}


/* vCOLOR FIX 2 - Degradados 100% vinculados al color del panel
   Usa --primary-rgb y --primary-dark-rgb generados desde PHP. */

body {
    background:
        radial-gradient(circle at 18% 12%, rgba(var(--primary-rgb), .13), transparent 28%),
        radial-gradient(circle at 82% 10%, rgba(var(--primary-dark-rgb), .10), transparent 30%),
        #050505 !important;
}

body::before,
.hero::before,
.main::before {
    background:
        radial-gradient(circle at 20% 15%, rgba(var(--primary-rgb), .18), transparent 34%),
        radial-gradient(circle at 82% 18%, rgba(var(--primary-dark-rgb), .13), transparent 34%),
        linear-gradient(180deg, rgba(var(--primary-rgb), .08), transparent 58%) !important;
}

.hero {
    background:
        radial-gradient(circle at 18% 20%, rgba(var(--primary-rgb), .19), transparent 33%),
        radial-gradient(circle at 74% 22%, rgba(var(--primary-dark-rgb), .14), transparent 35%),
        linear-gradient(135deg, rgba(var(--primary-rgb), .10), rgba(0,0,0,0) 60%) !important;
}

.hero__tag,
.discount {
    border-color: rgba(var(--primary-rgb), .40) !important;
    color: var(--primary) !important;
    background: rgba(var(--primary-rgb), .12) !important;
}

.burger-card,
.hero-image-card,
.product-card__image {
    background:
        radial-gradient(circle at center, rgba(var(--primary-rgb), .18), transparent 62%),
        #0d0d0d !important;
}

.btn-primary,
.checkout-link,
.checkout-btn,
.header-cart-btn,
.cart-floating {
    background: linear-gradient(135deg, var(--primary), var(--primary-dark)) !important;
    color: #111 !important;
}

.product-card,
.search-panel,
.cart-drawer,
.first-add-card,
.flow-card {
    border-color: rgba(var(--primary-rgb), .22) !important;
}

.product-card:hover {
    border-color: rgba(var(--primary-rgb), .40) !important;
    box-shadow: 0 18px 44px rgba(var(--primary-rgb), .14) !important;
}

.cart-floating {
    box-shadow: 0 18px 42px rgba(var(--primary-rgb), .30) !important;
}

.store-closed-notice,
.store-alert {
    border-color: rgba(var(--primary-rgb), .26) !important;
}

.price strong,
.section-heading span,
.product-card__top span,
.product-card__meta span,
.store-section-title h3,
.cart-note-wrap label {
    color: var(--primary) !important;
}

.badge,
.product-card__meta strong {
    background: var(--primary) !important;
    color: #111 !important;
}

.cart-total {
    border-top-color: rgba(var(--primary-rgb), .24) !important;
}

.cart-note:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb), .16) !important;
}

/* Sobrescribe amarillos hardcodeados que habían quedado de versiones anteriores */
[style*="244,196,48"],
[style*="#f4c430"] {
    color: var(--primary) !important;
}


/* vBOX-SHADOW COLOR FIX
   Todos los brillos/sombras amarillas pasan a depender del color principal del panel. */

.header-cart-btn,
.cart-floating,
.btn-primary,
.checkout-link,
.checkout-btn {
    box-shadow: 0 18px 42px rgba(var(--primary-rgb), .30) !important;
}

.header__status.status-open,
.store-status-main,
.store-countdown {
    box-shadow: 0 10px 30px rgba(var(--primary-rgb), .12) !important;
}

.hero__tag,
.discount,
.badge,
.product-card__meta strong {
    box-shadow: 0 12px 30px rgba(var(--primary-rgb), .18) !important;
}

.burger-card,
.hero-image-card {
    box-shadow:
        0 24px 70px rgba(var(--primary-rgb), .16),
        0 20px 60px rgba(0,0,0,.36) !important;
}

.product-card {
    box-shadow:
        0 18px 44px rgba(0,0,0,.24),
        0 0 0 1px rgba(var(--primary-rgb), .04) !important;
}

.product-card:hover {
    box-shadow:
        0 22px 54px rgba(0,0,0,.30),
        0 0 32px rgba(var(--primary-rgb), .16) !important;
    border-color: rgba(var(--primary-rgb), .38) !important;
}

.search-panel,
.categories,
.cart-drawer,
.first-add-card,
.flow-card,
.checkout-card {
    box-shadow:
        0 18px 46px rgba(0,0,0,.32),
        0 0 0 1px rgba(var(--primary-rgb), .04) !important;
}

.cart-item {
    box-shadow:
        0 14px 34px rgba(0,0,0,.22),
        0 0 0 1px rgba(var(--primary-rgb), .035) !important;
}

.cart-note:focus,
.checkout-grid input:focus,
.checkout-grid select:focus,
.checkout-grid textarea:focus,
.search-box input:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb), .16) !important;
    outline: none !important;
}

/* Cualquier sombra puntual que hubiera quedado amarilla en componentes principales */
.hero,
.main,
.store-category-section,
.products-grid,
.modern-product-card,
.product-card__image,
.header {
    --shadow-primary-soft: rgba(var(--primary-rgb), .16);
    --shadow-primary-strong: rgba(var(--primary-rgb), .30);
}


/* vREMOVE-GRADIENT-KEEP-SHADOW
   Quita el degradado/mancha de color cortada del index.
   Se conservan los box-shadows dinámicos según el color principal. */

body,
.hero,
.main,
.store-category-sections,
.store-category-section {
    background-color: #050505 !important;
}

body::before,
.hero::before,
.main::before,
.store-category-sections::before,
.store-category-section::before {
    background: none !important;
    background-image: none !important;
    opacity: 0 !important;
    display: none !important;
    content: none !important;
}

/* Hero limpio: sin degradado de fondo, solo el fondo oscuro/patrón original */
.hero {
    background: transparent !important;
    background-image: none !important;
}

/* Mantiene las sombras/colores dinámicos del color principal */
.burger-card,
.hero-image-card {
    box-shadow:
        0 24px 70px rgba(var(--primary-rgb), .16),
        0 20px 60px rgba(0,0,0,.36) !important;
}

.product-card:hover {
    box-shadow:
        0 22px 54px rgba(0,0,0,.30),
        0 0 32px rgba(var(--primary-rgb), .16) !important;
}

.cart-floating,
.header-cart-btn,
.btn-primary,
.checkout-link,
.checkout-btn {
    box-shadow: 0 18px 42px rgba(var(--primary-rgb), .30) !important;
}


/* vSTICKERS RESTORE
   Se había ocultado body::before al quitar el degradado.
   Esta regla vuelve a mostrar únicamente los stickers de fondo,
   sin traer de vuelta la mancha/degradado de color. */

body {
    background-color: #050505 !important;
    position: relative !important;
    isolation: isolate !important;
}

body::before {
    content: "" !important;
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: -1 !important;
    pointer-events: none !important;
    opacity: .075 !important;
    background-image: url("data:image/svg+xml,%3Csvg width='420' height='420' viewBox='0 0 420 420' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M69 113c8-43 132-43 140 0 2 12-7 23-21 23H90c-14 0-23-11-21-23Z'/%3E%3Cpath d='M78 152h124'/%3E%3Cpath d='M84 176c18 13 98 13 116 0'/%3E%3Cpath d='M58 199h160c-2 28-25 49-55 49h-50c-30 0-53-21-55-49Z'/%3E%3Cpath d='M299 80h54l-9 145h-36L299 80Z'/%3E%3Cpath d='M291 62h70'/%3E%3Cpath d='M328 62l19-35h22'/%3E%3Cpath d='M282 265h35l-9 74h-17l-9-74Z'/%3E%3Cpath d='M319 265h35l-9 74h-17l-9-74Z'/%3E%3Cpath d='M356 265h35l-9 74h-17l-9-74Z'/%3E%3Cpath d='M275 339h124l-18 40h-88l-18-40Z'/%3E%3Cpath d='M82 320l48-35 56 35-56 35-48-35Z'/%3E%3Cpath d='M104 320h52'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-size: 420px 420px !important;
    background-position: 18px 24px !important;
    background-repeat: repeat !important;
}

/* El hero y el main siguen sin degradado cortado */
.hero,
.main,
.store-category-sections,
.store-category-section {
    background-image: none !important;
}


/* vTRANSPARENT MAIN BLOCK FIX
   Quita el bloque negro plano que tapaba los stickers de fondo
   debajo del buscador/categorías. Se mantienen las cards/paneles con su fondo propio. */

.main,
main.main,
.store-category-sections,
.store-category-section,
.store-products-heading,
.section-heading {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

.main::before,
.main::after,
main.main::before,
main.main::after,
.store-category-sections::before,
.store-category-sections::after,
.store-category-section::before,
.store-category-section::after,
.store-products-heading::before,
.store-products-heading::after,
.section-heading::before,
.section-heading::after {
    display: none !important;
    content: none !important;
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Si el contenedor de filtros/categorías generaba una franja oscura completa,
   deja solo los botones y el panel del buscador visibles. */
.categories {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

/* Mantener visibles los stickers del body por detrás de todo el contenido */
body::before {
    display: block !important;
    opacity: .075 !important;
}

.search-panel {
    background:
        linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)) !important;
}

/* vCARD BORDER + HOVER IMAGE FIX */
/* Borde de tarjetas más neutro */
.product-card,
.modern-product-card {
    border-color: rgba(255,255,255,.08) !important;
}

.product-card:hover,
.modern-product-card:hover {
    border-color: rgba(255,255,255,.12) !important;
    box-shadow: 0 22px 54px rgba(0,0,0,.32), 0 0 24px rgba(var(--primary-rgb), .10) !important;
}

/* La imagen queda mejor posicionada */
.product-card__image,
.modern-product-card .product-card__image {
    background: #0d0d0d !important;
}

.product-card__image img,
.modern-product-card .product-card__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 30% !important;
    transition: width .28s ease, height .28s ease, transform .28s ease, object-position .28s ease !important;
}

/* En hover de monitor se muestra más completa la foto del producto */
@media (hover: hover) and (pointer: fine) {
    .product-card:hover .product-card__image img,
    .modern-product-card:hover .product-card__image img {
        width: 88% !important;
        height: 88% !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: translateY(-2px) !important;
    }
}

/* Mantener los SVG demo centrados y completos siempre */
.product-card__image img[src$="burger-demo.svg"],
.product-card__image img[src$="drink-demo.svg"],
.product-card__image img[src$="fries-demo.svg"],
.product-card__image img[src$="chivito-demo.svg"],
.modern-product-card .product-card__image img[src$="burger-demo.svg"],
.modern-product-card .product-card__image img[src$="drink-demo.svg"],
.modern-product-card .product-card__image img[src$="fries-demo.svg"],
.modern-product-card .product-card__image img[src$="chivito-demo.svg"] {
    width: 88% !important;
    height: 88% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
}

/* vCARD IMAGE DOWN FIX */
/* Mantener la imagen grande y mostrar más la parte inferior */
.product-card__image img,
.modern-product-card .product-card__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 42% !important;
    transform: none !important;
    transition: transform .28s ease, object-position .28s ease !important;
}

@media (hover: hover) and (pointer: fine) {
    .product-card:hover .product-card__image img,
    .modern-product-card:hover .product-card__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center 58% !important;
        transform: translateY(10px) scale(1.02) !important;
    }
}

/* Los SVG demo siguen completos */
.product-card__image img[src$="burger-demo.svg"],
.product-card__image img[src$="drink-demo.svg"],
.product-card__image img[src$="fries-demo.svg"],
.product-card__image img[src$="chivito-demo.svg"],
.modern-product-card .product-card__image img[src$="burger-demo.svg"],
.modern-product-card .product-card__image img[src$="drink-demo.svg"],
.modern-product-card .product-card__image img[src$="fries-demo.svg"],
.modern-product-card .product-card__image img[src$="chivito-demo.svg"] {
    width: 88% !important;
    height: 88% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
}


/* vCARD IMAGE REVEAL FIX
   Al pasar el mouse, no se escala la imagen.
   Se estira la sección de imagen hacia abajo para revelar la foto completa. */

.product-card__image,
.modern-product-card .product-card__image {
    height: 190px !important;
    min-height: 190px !important;
    overflow: hidden !important;
    transition: height .28s ease, min-height .28s ease !important;
}

/* Imagen sin zoom ni achique: queda fija, el contenedor es el que se agranda */
.product-card__image img,
.modern-product-card .product-card__image img {
    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
    transform: none !important;
    transition: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .product-card:hover .product-card__image,
    .modern-product-card:hover .product-card__image {
        height: 285px !important;
        min-height: 285px !important;
    }

    .product-card:hover .product-card__image img,
    .modern-product-card:hover .product-card__image img {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        object-fit: cover !important;
        object-position: top center !important;
        transform: none !important;
    }
}

/* En mobile queda estable, sin hover ni saltos raros */
@media (max-width: 700px) {
    .product-card__image,
    .modern-product-card .product-card__image {
        height: 210px !important;
        min-height: 210px !important;
    }
}

/* Los SVG demo no se deforman */
.product-card__image img[src$="burger-demo.svg"],
.product-card__image img[src$="drink-demo.svg"],
.product-card__image img[src$="fries-demo.svg"],
.product-card__image img[src$="chivito-demo.svg"],
.modern-product-card .product-card__image img[src$="burger-demo.svg"],
.modern-product-card .product-card__image img[src$="drink-demo.svg"],
.modern-product-card .product-card__image img[src$="fries-demo.svg"],
.modern-product-card .product-card__image img[src$="chivito-demo.svg"] {
    width: 88% !important;
    height: 88% !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
}

/* vHOVER IMAGE REVEAL RETRY
   La imagen no escala ni se achica.
   La sección de imagen se estira hacia abajo para revelar la foto completa. */

/* Estado base: la imagen mantiene su tamaño real por ancho, pero queda recortada abajo */
.product-card__image,
.modern-product-card .product-card__image {
    position: relative !important;
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 190px !important;
    overflow: hidden !important;
    transition: max-height .32s ease !important;
    background: #0d0d0d !important;
}

.product-card__image img,
.modern-product-card .product-card__image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: initial !important;
    object-position: initial !important;
    transform: none !important;
    transition: none !important;
}

/* En hover monitor: se revela la imagen completa sin cambiar su tamaño */
@media (hover: hover) and (pointer: fine) {
    .product-card:hover .product-card__image,
    .modern-product-card:hover .product-card__image {
        max-height: 420px !important;
    }
}

/* En mobile se mantiene estable */
@media (max-width: 700px) {
    .product-card__image,
    .modern-product-card .product-card__image {
        max-height: 230px !important;
    }
}

/* Los SVG demo siguen viéndose completos */
.product-card__image img[src$="burger-demo.svg"],
.product-card__image img[src$="drink-demo.svg"],
.product-card__image img[src$="fries-demo.svg"],
.product-card__image img[src$="chivito-demo.svg"],
.modern-product-card .product-card__image img[src$="burger-demo.svg"],
.modern-product-card .product-card__image img[src$="drink-demo.svg"],
.modern-product-card .product-card__image img[src$="fries-demo.svg"],
.modern-product-card .product-card__image img[src$="chivito-demo.svg"] {
    width: 88% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
}

/* vHOVER FLUID + POINTER */
.product-card,
.modern-product-card {
    cursor: pointer !important;
    transition: transform .28s ease, box-shadow .38s ease, border-color .38s ease !important;
}

.product-card__image,
.modern-product-card .product-card__image {
    cursor: pointer !important;
    transition: max-height .52s cubic-bezier(.22, 1, .36, 1), min-height .52s cubic-bezier(.22, 1, .36, 1), box-shadow .32s ease !important;
    will-change: max-height;
}

.product-card__image img,
.modern-product-card .product-card__image img {
    cursor: pointer !important;
}

@media (hover: hover) and (pointer: fine) {
    .product-card:hover,
    .modern-product-card:hover {
        transform: translateY(-4px) !important;
    }

    .product-card:hover .product-card__image,
    .modern-product-card:hover .product-card__image {
        max-height: 430px !important;
        box-shadow: inset 0 -24px 40px rgba(0,0,0,.10) !important;
    }
}


/* vPRODUCT IMAGE HOVER OVERLAY FIX
   Base: la imagen no aparece con zoom exagerado.
   Hover: muestra la imagen completa en una capa propia, sin empujar ni mover la web. */

.product-card,
.modern-product-card {
    position: relative !important;
    cursor: pointer !important;
    overflow: visible !important;
}

/* Contenedor de imagen estable: no cambia el alto real de la tarjeta */
.product-card__image,
.modern-product-card .product-card__image {
    position: relative !important;
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
    overflow: hidden !important;
    background: #0d0d0d !important;
    cursor: pointer !important;
    transition: box-shadow .32s ease, filter .32s ease !important;
}

/* Imagen base centrada sin deformarse ni hacer zoom extremo */
.product-card__image img,
.modern-product-card .product-card__image img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    transition: filter .25s ease !important;
    cursor: pointer !important;
}

/* Capa de hover: se abre sobre la propia tarjeta y no afecta el layout */
.product-card::after,
.modern-product-card::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: 0 !important;
    z-index: 8 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    border-radius: 12px 12px 0 0 !important;
    background-color: #0d0d0d !important;
    background-image: var(--hover-product-image) !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
    box-shadow: 0 22px 54px rgba(0,0,0,.42) !important;
    transition:
        height .46s cubic-bezier(.22, 1, .36, 1),
        opacity .22s ease,
        box-shadow .32s ease !important;
}

/* En hover se muestra completa sin achicar/agrandar la imagen original y sin bajar otras tarjetas */
@media (hover: hover) and (pointer: fine) {
    .product-card:hover,
    .modern-product-card:hover {
        transform: translateY(-3px) !important;
        z-index: 20 !important;
    }

    .product-card:hover::after,
    .modern-product-card:hover::after {
        height: 320px !important;
        opacity: 1 !important;
    }

    .product-card:hover .product-card__image img,
    .modern-product-card:hover .product-card__image img {
        filter: brightness(.78) !important;
    }
}

/* En mobile no se abre la capa para evitar saltos raros */
@media (max-width: 700px) {
    .product-card__image,
    .modern-product-card .product-card__image {
        height: 210px !important;
        min-height: 210px !important;
        max-height: 210px !important;
    }

    .product-card::after,
    .modern-product-card::after {
        display: none !important;
    }
}

/* Los SVG demo quedan centrados y completos */
.product-card__image img[src$="burger-demo.svg"],
.product-card__image img[src$="drink-demo.svg"],
.product-card__image img[src$="fries-demo.svg"],
.product-card__image img[src$="chivito-demo.svg"],
.modern-product-card .product-card__image img[src$="burger-demo.svg"],
.modern-product-card .product-card__image img[src$="drink-demo.svg"],
.modern-product-card .product-card__image img[src$="fries-demo.svg"],
.modern-product-card .product-card__image img[src$="chivito-demo.svg"] {
    object-fit: contain !important;
    width: 88% !important;
    height: 88% !important;
    margin: auto !important;
}

/* vREMOVE HOVER + CENTERED IMAGE */
/* Quitar cualquier efecto hover de la tarjeta */
.product-card,
.modern-product-card {
    cursor: default !important;
    overflow: hidden !important;
    transform: none !important;
    transition: none !important;
}

.product-card:hover,
.modern-product-card:hover {
    transform: none !important;
    border-color: rgba(255,255,255,.08) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.24) !important;
}

.product-card::after,
.modern-product-card::after,
.product-card:hover::after,
.modern-product-card:hover::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    height: 0 !important;
    background: none !important;
}

.product-card__image,
.modern-product-card .product-card__image {
    position: relative !important;
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
    overflow: hidden !important;
    background: #0d0d0d !important;
    cursor: default !important;
    transition: none !important;
}

/* Imagen centrada y con menos zoom para apreciar bien el contenido */
.product-card__image img,
.modern-product-card .product-card__image img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    transition: none !important;
    padding: 10px !important;
    margin: 0 auto !important;
    background: transparent !important;
    filter: none !important;
    cursor: default !important;
}

@media (hover: hover) and (pointer: fine) {
    .product-card:hover .product-card__image,
    .modern-product-card:hover .product-card__image {
        height: 190px !important;
        min-height: 190px !important;
        max-height: 190px !important;
        box-shadow: none !important;
    }

    .product-card:hover .product-card__image img,
    .modern-product-card:hover .product-card__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
        filter: none !important;
        padding: 10px !important;
    }
}

@media (max-width: 700px) {
    .product-card__image,
    .modern-product-card .product-card__image {
        height: 210px !important;
        min-height: 210px !important;
        max-height: 210px !important;
    }
}

/* vFINAL IMAGE FILL + CENTER */
/* Sin hover. La imagen completa el cuadro de la tarjeta y queda centrada,
   con comportamiento similar a la imagen principal superior. */
.product-card,
.modern-product-card,
.product-card:hover,
.modern-product-card:hover {
    transform: none !important;
    transition: none !important;
}

.product-card::after,
.modern-product-card::after {
    display: none !important;
    content: none !important;
}

.product-card__image,
.modern-product-card .product-card__image {
    position: relative !important;
    overflow: hidden !important;
    background: #0d0d0d !important;
    display: grid !important;
    place-items: center !important;
}

.product-card__image img,
.modern-product-card .product-card__image img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    padding: 0 !important;
    margin: 0 !important;
    filter: none !important;
    background: transparent !important;
}

/* Los assets demo tipo SVG siguen viéndose completos y centrados */
.product-card__image img[src$="burger-demo.svg"],
.product-card__image img[src$="drink-demo.svg"],
.product-card__image img[src$="fries-demo.svg"],
.product-card__image img[src$="chivito-demo.svg"],
.modern-product-card .product-card__image img[src$="burger-demo.svg"],
.modern-product-card .product-card__image img[src$="drink-demo.svg"],
.modern-product-card .product-card__image img[src$="fries-demo.svg"],
.modern-product-card .product-card__image img[src$="chivito-demo.svg"] {
    position: absolute !important;
    inset: 50% auto auto 50% !important;
    width: 88% !important;
    height: 88% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: translate(-50%, -50%) !important;
}

@media (hover: hover) and (pointer: fine) {
    .product-card:hover .product-card__image,
    .modern-product-card:hover .product-card__image,
    .product-card:hover .product-card__image img,
    .modern-product-card:hover .product-card__image img {
        height: inherit !important;
        max-height: inherit !important;
        object-fit: cover !important;
        object-position: center center !important;
        filter: none !important;
        box-shadow: none !important;
    }
}

/* vFINAL CARD HOVER ONLY + PRODUCT IMAGE LESS ZOOM */
/* Mantener un hover suave en la tarjeta, pero sin animar ni modificar la imagen */
.product-card,
.modern-product-card {
    cursor: pointer !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.product-card:hover,
.modern-product-card:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(255,255,255,.12) !important;
    box-shadow: 0 22px 54px rgba(0,0,0,.28) !important;
}

/* Eliminar cualquier capa/efecto hover sobre la imagen */
.product-card::after,
.modern-product-card::after,
.product-card:hover::after,
.modern-product-card:hover::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    height: 0 !important;
    background: none !important;
}

.product-card__image,
.modern-product-card .product-card__image {
    position: relative !important;
    overflow: hidden !important;
    background: #0d0d0d !important;
    display: grid !important;
    place-items: center !important;
    transition: none !important;
}

/* Imagen centrada y con menos zoom, estilo similar a la imagen del hero */
.product-card__image img,
.modern-product-card .product-card__image img,
.product-card:hover .product-card__image img,
.modern-product-card:hover .product-card__image img {
    position: static !important;
    inset: auto !important;
    width: 88% !important;
    height: 88% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 88% !important;
    max-height: 88% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    filter: none !important;
    transition: none !important;
    background: transparent !important;
}

/* Si la foto es horizontal/vertical, se sigue centrando sin zoom excesivo */
.product-card__image img:not([src$="burger-demo.svg"]):not([src$="drink-demo.svg"]):not([src$="fries-demo.svg"]):not([src$="chivito-demo.svg"]),
.modern-product-card .product-card__image img:not([src$="burger-demo.svg"]):not([src$="drink-demo.svg"]):not([src$="fries-demo.svg"]):not([src$="chivito-demo.svg"]) {
    width: 90% !important;
    height: 90% !important;
    max-width: 90% !important;
    max-height: 90% !important;
    object-fit: contain !important;
}

@media (max-width: 700px) {
    .product-card:hover,
    .modern-product-card:hover {
        transform: none !important;
        box-shadow: 0 18px 44px rgba(0,0,0,.24) !important;
    }

    .product-card__image img,
    .modern-product-card .product-card__image img,
    .product-card:hover .product-card__image img,
    .modern-product-card:hover .product-card__image img {
        width: 92% !important;
        height: 92% !important;
        max-width: 92% !important;
        max-height: 92% !important;
        object-fit: contain !important;
    }
}

/* vFINAL PRODUCT CARD IMAGE AREA FIX */
/* Sin hover en la imagen ni efectos bruscos */
.product-card,
.modern-product-card {
    overflow: hidden !important;
}

.product-card:hover,
.modern-product-card:hover {
    transform: none !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.24) !important;
    border-color: rgba(255,255,255,.08) !important;
}

.product-card::after,
.modern-product-card::after,
.product-card:hover::after,
.modern-product-card:hover::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    background: none !important;
}

/* Sección de imagen más alta */
.product-card__image,
.modern-product-card .product-card__image {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    height: 250px !important;
    min-height: 250px !important;
    max-height: 250px !important;
    overflow: hidden !important;
    background: #0d0d0d !important;
}

/* Imagen centrada, completa y sin zoom excesivo */
.product-card__image img,
.modern-product-card .product-card__image img,
.product-card:hover .product-card__image img,
.modern-product-card:hover .product-card__image img {
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    padding: 14px 16px !important;
    margin: 0 auto !important;
    filter: none !important;
    transition: none !important;
    background: transparent !important;
}

/* Reducir espacios del contenido para que no quede tan saltado */
.product-card__body,
.modern-product-card .product-card__body {
    padding: 12px 14px 14px !important;
    gap: 0 !important;
}

.product-card__meta,
.modern-product-card .product-card__meta {
    margin-bottom: 8px !important;
}

.product-card h3,
.modern-product-card h3 {
    margin: 0 0 8px !important;
    line-height: 1.08 !important;
}

.product-card p,
.modern-product-card p {
    margin: 0 0 12px !important;
    line-height: 1.45 !important;
}

.product-card__footer,
.modern-product-card .product-card__footer {
    gap: 10px !important;
    margin-top: 0 !important;
}

.price,
.modern-product-card .price {
    margin-bottom: 0 !important;
}

.price strong,
.modern-product-card .price strong {
    font-size: 24px !important;
}

.product-card button,
.modern-product-card .product-card__footer button {
    margin-top: 0 !important;
}

/* Mobile: mantiene la imagen grande pero proporcionada */
@media (max-width: 700px) {
    .product-card__image,
    .modern-product-card .product-card__image {
        height: 230px !important;
        min-height: 230px !important;
        max-height: 230px !important;
    }

    .product-card__body,
    .modern-product-card .product-card__body {
        padding: 12px 14px 14px !important;
    }

    .product-card p,
    .modern-product-card p {
        margin-bottom: 10px !important;
    }
}

/* vULTIMO AJUSTE TARJETA PRODUCTO
   - sin hover en la imagen
   - imagen centrada mostrando el centro
   - sección de imagen más alta
   - menos espacio muerto en el contenido */

/* hover muy sutil solo para la tarjeta */
.product-card,
.modern-product-card {
    transition: box-shadow .18s ease, border-color .18s ease !important;
}

.product-card:hover,
.modern-product-card:hover {
    transform: none !important;
    border-color: rgba(255,255,255,.10) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.24) !important;
}

.product-card::after,
.modern-product-card::after,
.product-card:hover::after,
.modern-product-card:hover::after {
    display: none !important;
    content: none !important;
}

/* área de imagen más grande, menos rectangular */
.product-card__image,
.modern-product-card .product-card__image {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    height: 290px !important;
    min-height: 290px !important;
    max-height: 290px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #0d0d0d !important;
}

/* mostrar siempre el centro de la imagen sin hover */
.product-card__image img,
.modern-product-card .product-card__image img,
.product-card:hover .product-card__image img,
.modern-product-card:hover .product-card__image img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 86% !important;
    height: 86% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 86% !important;
    max-height: 86% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    filter: none !important;
    transition: none !important;
    background: transparent !important;
}

/* contenido más compacto */
.product-card__body,
.modern-product-card .product-card__body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 12px 14px 14px !important;
}

.product-card__meta,
.modern-product-card .product-card__meta {
    margin-bottom: 6px !important;
}

.product-card h3,
.modern-product-card h3 {
    margin: 0 0 6px !important;
    line-height: 1.08 !important;
}

.product-card p,
.modern-product-card p {
    margin: 0 0 10px !important;
    line-height: 1.4 !important;
}

.product-card__footer,
.modern-product-card .product-card__footer {
    margin-top: 0 !important;
    gap: 10px !important;
}

.price,
.modern-product-card .price {
    margin-bottom: 0 !important;
}

.price strong,
.modern-product-card .price strong {
    font-size: 22px !important;
}

/* mobile */
@media (max-width: 700px) {
    .product-card__image,
    .modern-product-card .product-card__image {
        height: 260px !important;
        min-height: 260px !important;
        max-height: 260px !important;
    }

    .product-card__image img,
    .modern-product-card .product-card__image img,
    .product-card:hover .product-card__image img,
    .modern-product-card:hover .product-card__image img {
        width: 88% !important;
        height: 88% !important;
        max-width: 88% !important;
        max-height: 88% !important;
    }

    .product-card__body,
    .modern-product-card .product-card__body {
        padding: 12px 14px 14px !important;
    }
}

/* vFINAL IMAGE COVER CENTER TALLER */
/* La imagen llena completamente el área, mostrando el centro,
   y el bloque de imagen es un poco más alto. */
.product-card__image,
.modern-product-card .product-card__image {
    position: relative !important;
    display: block !important;
    height: 320px !important;
    min-height: 320px !important;
    max-height: 320px !important;
    overflow: hidden !important;
    background: #0d0d0d !important;
    padding: 0 !important;
}

.product-card__image img,
.modern-product-card .product-card__image img,
.product-card:hover .product-card__image img,
.modern-product-card:hover .product-card__image img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    filter: none !important;
    transition: none !important;
    background: transparent !important;
}

/* Mantener demos SVG centrados y completos */
.product-card__image img[src$="burger-demo.svg"],
.product-card__image img[src$="drink-demo.svg"],
.product-card__image img[src$="fries-demo.svg"],
.product-card__image img[src$="chivito-demo.svg"],
.modern-product-card .product-card__image img[src$="burger-demo.svg"],
.modern-product-card .product-card__image img[src$="drink-demo.svg"],
.modern-product-card .product-card__image img[src$="fries-demo.svg"],
.modern-product-card .product-card__image img[src$="chivito-demo.svg"] {
    inset: 50% auto auto 50% !important;
    width: 88% !important;
    height: 88% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 88% !important;
    max-height: 88% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: translate(-50%, -50%) !important;
}

/* Compactar un poco el contenido para acompañar la imagen más alta */
.product-card__body,
.modern-product-card .product-card__body {
    padding: 12px 14px 14px !important;
}

.product-card h3,
.modern-product-card h3 {
    margin: 0 0 6px !important;
}

.product-card p,
.modern-product-card p {
    margin: 0 0 10px !important;
}

@media (max-width: 700px) {
    .product-card__image,
    .modern-product-card .product-card__image {
        height: 280px !important;
        min-height: 280px !important;
        max-height: 280px !important;
    }
}

/* vREAL FINAL PRODUCT IMAGE COVER + CENTER */
/* La imagen debe completar el contenedor mostrando su centro,
   y el sector de imagen debe ser más largo. */

/* Sector de imagen más largo */
.product-card__image,
.modern-product-card .product-card__image {
    position: relative !important;
    display: block !important;
    height: 340px !important;
    min-height: 340px !important;
    max-height: 340px !important;
    overflow: hidden !important;
    padding: 0 !important;
    background: #0d0d0d !important;
}

/* La imagen llena todo el campo y muestra el centro */
.product-card__image > img,
.modern-product-card .product-card__image > img,
.product-card:hover .product-card__image > img,
.modern-product-card:hover .product-card__image > img,
.product-card__image img:not([src$="burger-demo.svg"]):not([src$="drink-demo.svg"]):not([src$="fries-demo.svg"]):not([src$="chivito-demo.svg"]),
.modern-product-card .product-card__image img:not([src$="burger-demo.svg"]):not([src$="drink-demo.svg"]):not([src$="fries-demo.svg"]):not([src$="chivito-demo.svg"]) {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    filter: none !important;
    transition: none !important;
    background: transparent !important;
}

/* Los SVG de demo siguen completos */
.product-card__image > img[src$="burger-demo.svg"],
.product-card__image > img[src$="drink-demo.svg"],
.product-card__image > img[src$="fries-demo.svg"],
.product-card__image > img[src$="chivito-demo.svg"],
.modern-product-card .product-card__image > img[src$="burger-demo.svg"],
.modern-product-card .product-card__image > img[src$="drink-demo.svg"],
.modern-product-card .product-card__image > img[src$="fries-demo.svg"],
.modern-product-card .product-card__image > img[src$="chivito-demo.svg"] {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 88% !important;
    height: 88% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 88% !important;
    max-height: 88% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: translate(-50%, -50%) !important;
}

/* Compactar el contenido para que no quede tan separado */
.product-card__body,
.modern-product-card .product-card__body {
    padding: 10px 14px 14px !important;
}

.product-card__meta,
.modern-product-card .product-card__meta {
    margin-bottom: 6px !important;
}

.product-card h3,
.modern-product-card h3 {
    margin: 0 0 6px !important;
    line-height: 1.08 !important;
}

.product-card p,
.modern-product-card p {
    margin: 0 0 10px !important;
    line-height: 1.4 !important;
}

.product-card__footer,
.modern-product-card .product-card__footer {
    gap: 10px !important;
    margin-top: 0 !important;
}

@media (max-width: 700px) {
    .product-card__image,
    .modern-product-card .product-card__image {
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
    }

    .product-card__body,
    .modern-product-card .product-card__body {
        padding: 10px 14px 14px !important;
    }
}


/* vIMAGE CONTROLS FROM BACKOFFICE
   La tarjeta usa los ajustes configurados en Editar producto:
   zoom, rotación, posición X/Y y modo completar/mostrar completa. */

.product-card__image,
.modern-product-card .product-card__image {
    position: relative !important;
    overflow: hidden !important;
    background: #0d0d0d !important;
    display: block !important;
    height: 320px !important;
    min-height: 320px !important;
    max-height: 320px !important;
    padding: 0 !important;
}

.product-card__image img,
.modern-product-card .product-card__image img,
.product-card:hover .product-card__image img,
.modern-product-card:hover .product-card__image img {
    position: absolute !important;
    top: var(--product-img-y, 50%) !important;
    left: var(--product-img-x, 50%) !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: var(--product-img-fit, cover) !important;
    object-position: center center !important;
    transform: translate(-50%, -50%) scale(var(--product-img-zoom, 1)) rotate(var(--product-img-rotate, 0deg)) !important;
    transform-origin: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    filter: none !important;
    transition: none !important;
    background: transparent !important;
}

.product-card:hover,
.modern-product-card:hover {
    transform: none !important;
    border-color: rgba(255,255,255,.10) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.24) !important;
}

.product-card::after,
.modern-product-card::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 700px) {
    .product-card__image,
    .modern-product-card .product-card__image {
        height: 280px !important;
        min-height: 280px !important;
        max-height: 280px !important;
    }
}

/* vFINAL taller image area + promo badge without breaking layout */
/* Imagen más larga/alta dentro de la tarjeta */
.store-category-section .modern-product-card .product-card__image,
.store-category-section .product-card .product-card__image,
.modern-product-card .product-card__image,
.product-card__image {
    height: 380px !important;
    min-height: 380px !important;
    max-height: 380px !important;
    overflow: hidden !important;
}

/* La imagen llena el contenedor y muestra el centro */
.store-category-section .modern-product-card .product-card__image > img,
.store-category-section .product-card .product-card__image > img,
.modern-product-card .product-card__image > img,
.product-card__image > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Demo SVGs siguen completos */
.product-card__image > img[src$="burger-demo.svg"],
.product-card__image > img[src$="drink-demo.svg"],
.product-card__image > img[src$="fries-demo.svg"],
.product-card__image > img[src$="chivito-demo.svg"],
.modern-product-card .product-card__image > img[src$="burger-demo.svg"],
.modern-product-card .product-card__image > img[src$="drink-demo.svg"],
.modern-product-card .product-card__image > img[src$="fries-demo.svg"],
.modern-product-card .product-card__image > img[src$="chivito-demo.svg"] {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 88% !important;
    height: 88% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 88% !important;
    max-height: 88% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: translate(-50%, -50%) !important;
}

/* Promo absoluta para no empujar ni romper el contenido */
.store-category-section .modern-product-card .product-card__meta,
.modern-product-card .product-card__meta,
.product-card__meta {
    position: relative !important;
    min-height: 30px !important;
    display: block !important;
    margin-bottom: 8px !important;
}

.store-category-section .modern-product-card .product-card__meta span,
.modern-product-card .product-card__meta span,
.product-card__meta span {
    display: block !important;
    padding-right: 92px !important;
}

.store-category-section .modern-product-card .product-card__meta strong,
.modern-product-card .product-card__meta strong,
.product-card__meta strong {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    margin: 0 !important;
}

/* Contenido más compacto */
.store-category-section .modern-product-card .product-card__body,
.modern-product-card .product-card__body,
.product-card__body {
    padding: 12px 14px 14px !important;
}

.store-category-section .modern-product-card h3,
.modern-product-card h3,
.product-card h3 {
    margin: 0 0 8px !important;
}

.store-category-section .modern-product-card p,
.modern-product-card p,
.product-card p {
    margin: 0 0 12px !important;
}

@media (max-width: 700px) {
    .store-category-section .modern-product-card .product-card__image,
    .store-category-section .product-card .product-card__image,
    .modern-product-card .product-card__image,
    .product-card__image {
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
    }
}

/* vPROMO BADGE STABLE + CARD TAP EFFECT */
/* La etiqueta promo no debe empujar ni desordenar el contenido */
.product-card__body,
.modern-product-card .product-card__body {
    position: relative !important;
}

.product-card__meta,
.modern-product-card .product-card__meta,
.store-category-section .modern-product-card .product-card__meta {
    position: relative !important;
    display: block !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
}

.product-card__meta span,
.modern-product-card .product-card__meta span,
.store-category-section .modern-product-card .product-card__meta span {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    display: block !important;
    padding: 0 96px 0 0 !important;
    line-height: 24px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.product-card__meta strong,
.modern-product-card .product-card__meta strong,
.store-category-section .modern-product-card .product-card__meta strong {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 24px !important;
    padding: 0 12px !important;
    line-height: 24px !important;
    z-index: 2 !important;
}

/* El título y descripción quedan consistentes aunque exista promo */
.product-card h3,
.modern-product-card h3,
.store-category-section .modern-product-card h3 {
    margin-top: 0 !important;
}

/* Efecto suave al interactuar con la tarjeta */
.product-card,
.modern-product-card,
.store-category-section .modern-product-card {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
    will-change: transform, box-shadow !important;
}

@media (hover: hover) and (pointer: fine) {
    .product-card:hover,
    .modern-product-card:hover,
    .store-category-section .modern-product-card:hover {
        transform: translateY(-1px) !important;
        box-shadow: 0 22px 50px rgba(0,0,0,.30) !important;
        border-color: rgba(255,255,255,.12) !important;
    }
}

.product-card:active,
.modern-product-card:active,
.store-category-section .modern-product-card:active,
.product-card:focus-within,
.modern-product-card:focus-within,
.store-category-section .modern-product-card:focus-within {
    transform: translateY(-1px) !important;
    box-shadow: 0 22px 50px rgba(0,0,0,.30) !important;
    border-color: rgba(255,255,255,.12) !important;
}


/* vFIX subtotal background + image controls persistence */
/* Eliminar fondo negro debajo del subtotal */
.cart-total,
.cart-help {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

.cart-total::before,
.cart-total::after,
.cart-help::before,
.cart-help::after {
    display: none !important;
    content: none !important;
    background: none !important;
}

/* Ajustes de imagen guardados desde Backoffice */
.product-card__image,
.modern-product-card .product-card__image {
    position: relative !important;
    display: block !important;
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
    overflow: hidden !important;
    background: #0d0d0d !important;
    padding: 0 !important;
}

.product-card__image > img,
.modern-product-card .product-card__image > img,
.product-card:hover .product-card__image > img,
.modern-product-card:hover .product-card__image > img {
    position: absolute !important;
    top: var(--product-img-y, 50%) !important;
    left: var(--product-img-x, 50%) !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: var(--product-img-fit, cover) !important;
    object-position: center center !important;
    transform: translate(-50%, -50%) scale(var(--product-img-zoom, 1)) rotate(var(--product-img-rotate, 0deg)) !important;
    transform-origin: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    filter: none !important;
    transition: none !important;
    background: transparent !important;
}

@media (max-width: 700px) {
    .product-card__image,
    .modern-product-card .product-card__image {
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
    }
}

/* vFINAL promo badge stable + subtle card interaction */

/* La tarjeta mantiene un layout estable */
.product-card,
.modern-product-card,
.store-category-section .modern-product-card {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
    will-change: transform, box-shadow !important;
    cursor: pointer !important;
}

/* Solo un efecto breve y sutil al pasar/tocar */
@media (hover: hover) and (pointer: fine) {
    .product-card:hover,
    .modern-product-card:hover,
    .store-category-section .modern-product-card:hover {
        transform: translateY(-1px) !important;
        box-shadow: 0 20px 46px rgba(0,0,0,.30) !important;
        border-color: rgba(255,255,255,.12) !important;
    }
}

.product-card:active,
.modern-product-card:active,
.store-category-section .modern-product-card:active,
.product-card:focus-within,
.modern-product-card:focus-within,
.store-category-section .modern-product-card:focus-within {
    transform: translateY(-1px) !important;
    box-shadow: 0 20px 46px rgba(0,0,0,.30) !important;
    border-color: rgba(255,255,255,.12) !important;
}

/* La etiqueta Promo no debe empujar el contenido */
.product-card__body,
.modern-product-card .product-card__body,
.store-category-section .modern-product-card .product-card__body {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    position: relative !important;
}

.product-card__meta,
.modern-product-card .product-card__meta,
.store-category-section .modern-product-card .product-card__meta {
    position: relative !important;
    display: block !important;
    flex: 0 0 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    line-height: 24px !important;
}

.product-card__meta span,
.modern-product-card .product-card__meta span,
.store-category-section .modern-product-card .product-card__meta span {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: auto !important;
    display: block !important;
    height: 24px !important;
    line-height: 24px !important;
    padding: 0 96px 0 0 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.product-card__meta strong,
.modern-product-card .product-card__meta strong,
.store-category-section .modern-product-card .product-card__meta strong {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 24px !important;
    height: 24px !important;
    line-height: 24px !important;
    padding: 0 12px !important;
    margin: 0 !important;
    z-index: 2 !important;
}

/* El título y descripción quedan en la misma posición siempre */
.product-card h3,
.modern-product-card h3,
.store-category-section .modern-product-card h3 {
    margin: 0 0 8px !important;
    line-height: 1.08 !important;
}

.product-card p,
.modern-product-card p,
.store-category-section .modern-product-card p {
    margin: 0 0 12px !important;
    line-height: 1.4 !important;
}


/* vREAL IMAGE EDITOR + SUBTOTAL CLEAN */
.cart-total,
.cart-help {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

.cart-total::before,
.cart-total::after,
.cart-help::before,
.cart-help::after {
    display: none !important;
    content: none !important;
    background: none !important;
}

.product-card__image,
.modern-product-card .product-card__image {
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
    position: relative !important;
    overflow: hidden !important;
    background: #0d0d0d !important;
}

.product-card__image > img,
.modern-product-card .product-card__image > img {
    position: absolute !important;
    top: var(--product-img-y, 50%) !important;
    left: var(--product-img-x, 50%) !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: var(--product-img-fit, cover) !important;
    object-position: center center !important;
    transform: translate(-50%, -50%) scale(var(--product-img-zoom, 1)) rotate(var(--product-img-rotate, 0deg)) !important;
    transform-origin: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: none !important;
    filter: none !important;
}

@media (max-width: 700px) {
    .product-card__image,
    .modern-product-card .product-card__image {
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
    }
}


/* vFRONTEND IMAGE SETTINGS FINAL FALLBACK */
.cart-total,
.cart-help {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

.product-card__image,
.modern-product-card .product-card__image {
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
    position: relative !important;
    overflow: hidden !important;
    background: #0d0d0d !important;
}

.product-card__image > img,
.modern-product-card .product-card__image > img {
    position: absolute !important;
    top: var(--product-img-y, 50%) !important;
    left: var(--product-img-x, 50%) !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: var(--product-img-fit, cover) !important;
    object-position: center center !important;
    transform: translate(-50%, -50%) scale(var(--product-img-zoom, 1)) rotate(var(--product-img-rotate, 0deg)) !important;
    transform-origin: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    filter: none !important;
    transition: none !important;
}

@media (max-width: 700px) {
    .product-card__image,
    .modern-product-card .product-card__image {
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
    }
}


/* vFINAL STORE BUTTON HOVER TEXT */
.product-card button:hover,
.modern-product-card .product-card__footer button:hover,
.store-category-section .modern-product-card .product-card__footer button:hover {
    color: #fff !important;
}

.product-card button:hover span,
.product-card button:hover i,
.modern-product-card .product-card__footer button:hover span,
.modern-product-card .product-card__footer button:hover i,
.store-category-section .modern-product-card .product-card__footer button:hover span,
.store-category-section .modern-product-card .product-card__footer button:hover i {
    color: #fff !important;
}

.product-card button,
.modern-product-card .product-card__footer button,
.store-category-section .modern-product-card .product-card__footer button {
    transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

.product-card button:hover,
.modern-product-card .product-card__footer button:hover,
.store-category-section .modern-product-card .product-card__footer button:hover {
    box-shadow: 0 14px 32px rgba(var(--primary-rgb), .22) !important;
}


/* hero robusto: límite de título + responsive más estable */
.hero__content {
    min-width: 0;
}

.hero__title {
    max-width: min(100%, 14ch);
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow-wrap: anywhere;
    word-break: break-word;
    text-wrap: balance;
}

.hero__image {
    min-width: 0;
}

.hero-image-card {
    max-width: 100%;
}

@media (max-width: 1180px) {
    .hero {
        grid-template-columns: 1fr;
        gap: 34px;
        padding-top: 56px;
    }

    .hero__image {
        justify-content: flex-start;
    }

    .search-panel {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .hero__title {
        max-width: 100%;
        -webkit-line-clamp: 4;
        line-clamp: 4;
    }

    .delivery-info {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .delivery-info div {
        min-width: 0;
    }
}

@media (max-width: 640px) {
    .hero {
        padding-top: 42px;
        gap: 26px;
    }

    .hero h2,
    .hero__title {
        font-size: clamp(40px, 12vw, 58px);
        line-height: .94;
    }

    .search-panel {
        padding: 14px;
        border-radius: 22px;
        gap: 14px;
    }

    .search-box {
        height: 58px;
        padding: 0 16px;
    }

    .delivery-info {
        grid-template-columns: 1fr;
    }
}

/* vNEXT - carrito más claro y formal */
.cart-subtotal,
.cart-delivery {
    margin: 14px 0 0 !important;
    font-size: 15px !important;
    color: var(--muted);
    padding-top: 10px;
    border-top: 1px solid var(--border);
}
.cart-grand {
    margin: 12px 0 18px !important;
    padding: 14px 0 0;
    border-top: 1px solid var(--border);
    font-size: 22px !important;
}
.cart-note-wrap {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 8px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
}
.cart-note-wrap label {
    display: block;
    margin-bottom: 7px;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: var(--muted);
}
.cart-note-wrap .cart-note { margin-top: 0; min-height: 70px; resize: vertical; }
.cart-item { display: grid !important; grid-template-columns: 64px 1fr auto; align-items: start; }
.cart-item-photo { width:64px; height:64px; border-radius:14px; overflow:hidden; background:#0b0b0b; border:1px solid var(--border); }
.cart-item-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.cart-actions { display:flex; align-items:center; gap:4px; }
.cart-actions button { margin-left:0 !important; }
@media(max-width:520px){ .cart-item{ grid-template-columns:56px 1fr; } .cart-actions{ grid-column:2; } }

/* v10 - ajustes visuales del banner público desde backoffice */
.hero-image-card img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: var(--hero-img-fit, cover) !important;
    object-position: var(--hero-img-x, 50%) var(--hero-img-y, 50%) !important;
    transform: scale(var(--hero-img-zoom, 1)) rotate(var(--hero-img-rotate, 0deg)) !important;
    transform-origin: var(--hero-img-x, 50%) var(--hero-img-y, 50%) !important;
    filter: drop-shadow(0 26px 22px rgba(0,0,0,.48));
}

.hero-image-card img[src$="burger-demo.svg"] {
    width: 82% !important;
    height: 82% !important;
    object-fit: contain !important;
    transform: none !important;
}

/* v12 - movimiento real del banner público desde el editor */
.hero-image-card {
    overflow: hidden !important;
}

.hero-image-card img {
    object-position: center center !important;
    transform: translate(var(--hero-img-pan-x, 0%), var(--hero-img-pan-y, 0%)) scale(var(--hero-img-zoom, 1)) rotate(var(--hero-img-rotate, 0deg)) !important;
    transform-origin: center center !important;
    will-change: transform;
}

.hero-image-card img[src$="burger-demo.svg"] {
    transform: none !important;
}

/* v15 - ajuste visual del logo desde configuración */
.brand__logo img {
    object-fit: var(--logo-fit, contain) !important;
    transform: scale(var(--logo-zoom, 1)) !important;
    transform-origin: center center !important;
}

/* vEXTRAS_DYNAMIC - incluye y extras en tienda */
.product-includes{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(var(--primary-rgb),.20);background:rgba(var(--primary-rgb),.08);color:rgba(255,255,255,.82);font-size:13px;font-weight:800;line-height:1.3;}
.product-includes i{color:var(--primary);margin-top:2px;}
.cart-included{display:block;margin-top:4px;color:rgba(255,255,255,.55)!important;font-weight:700;line-height:1.35;}
.cart-modifiers-wrap{margin-top:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px;}
.cart-modifiers-wrap>label{display:block;color:rgba(255,255,255,.65);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;}
.cart-modifier-chips{display:flex;flex-wrap:wrap;gap:8px;}
.cart-modifier-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);border-radius:999px;padding:8px 10px;color:rgba(255,255,255,.80);font-size:12px;font-weight:900;cursor:pointer;}
.cart-modifier-chip input{accent-color:var(--primary);width:14px;height:14px;}
.cart-modifier-chip:has(input:checked){border-color:rgba(var(--primary-rgb),.50);background:rgba(var(--primary-rgb),.12);color:#fff;}
@media(max-width:640px){.cart-modifier-chips{display:grid;grid-template-columns:1fr}.cart-modifier-chip{justify-content:flex-start;border-radius:12px}}

/* Productos incluidos vinculados */
.product-includes-linked span{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.product-includes-linked a{display:inline-flex;align-items:center;border:1px solid rgba(var(--primary-rgb),.28);background:rgba(var(--primary-rgb),.12);color:#fff;text-decoration:none;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900;}
.product-includes-linked a:hover{background:rgba(var(--primary-rgb),.22);}
.product-card{scroll-margin-top:120px;}

/* Ajuste visual: productos incluidos mejor integrados en la tarjeta */
.product-card .product-includes,
.menu-card .product-includes{
  margin-top:14px!important;
  margin-bottom:14px!important;
  padding:9px 12px!important;
  border-radius:13px!important;
}
.product-card .product-includes + .price-block,
.product-card .product-includes + .product-price,
.menu-card .product-includes + .price-block,
.menu-card .product-includes + .product-price{
  margin-top:8px!important;
}
.product-includes-linked span{gap:7px!important;}
.product-includes-linked a{line-height:1.15!important;}

/* vFINAL PUBLIC IMAGE CROP FIX
   La tienda pública ahora usa exactamente los ajustes guardados en backoffice:
   zoom, rotación, posición X/Y y modo de imagen. */
.hero-image-card,
.product-card__image,
.modern-product-card .product-card__image {
    position: relative !important;
    overflow: hidden !important;
}

.hero-image-card img {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: var(--hero-img-fit, cover) !important;
    object-position: var(--hero-img-x, 50%) var(--hero-img-y, 50%) !important;
    transform: scale(var(--hero-img-zoom, 1)) rotate(var(--hero-img-rotate, 0deg)) !important;
    transform-origin: var(--hero-img-x, 50%) var(--hero-img-y, 50%) !important;
    transition: none !important;
}

.product-card__image img,
.modern-product-card .product-card__image img,
.product-card:hover .product-card__image img,
.modern-product-card:hover .product-card__image img {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: var(--product-img-fit, cover) !important;
    object-position: var(--product-img-x, 50%) var(--product-img-y, 50%) !important;
    transform: scale(var(--product-img-zoom, 1)) rotate(var(--product-img-rotate, 0deg)) !important;
    transform-origin: var(--product-img-x, 50%) var(--product-img-y, 50%) !important;
    transition: none !important;
}

.hero-image-card img[src$="burger-demo.svg"],
.product-card__image img[src$="burger-demo.svg"],
.product-card__image img[src$="drink-demo.svg"],
.product-card__image img[src$="fries-demo.svg"],
.product-card__image img[src$="chivito-demo.svg"] {
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    transform-origin: center center !important;
}

/* === Respeta encuadre guardado de productos en la tienda pública === */
.product-card.modern-product-card .product-card__image,
.modern-product-card .product-card__image,
.product-card .product-card__image {
    position: relative !important;
    overflow: hidden !important;
}
.product-card.modern-product-card .product-card__image > img,
.modern-product-card .product-card__image > img,
.product-card .product-card__image > img,
.product-card.modern-product-card:hover .product-card__image > img,
.modern-product-card:hover .product-card__image > img,
.product-card:hover .product-card__image > img {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: var(--product-img-fit, cover) !important;
    object-position: var(--product-img-x, 50%) var(--product-img-y, 50%) !important;
    transform: scale(var(--product-img-zoom, 1)) rotate(var(--product-img-rotate, 0deg)) !important;
    transform-origin: var(--product-img-x, 50%) var(--product-img-y, 50%) !important;
    transition: none !important;
}

/* === FIX definitivo: encuadre de productos en tienda pública igual al backoffice === */
.product-card.modern-product-card,
.modern-product-card,
.product-card {
    --product-img-pan-x: calc(var(--product-img-x, 50%) - 50%);
    --product-img-pan-y: calc(var(--product-img-y, 50%) - 50%);
}
.product-card.modern-product-card .product-card__image,
.modern-product-card .product-card__image,
.product-card .product-card__image {
    position: relative !important;
    overflow: hidden !important;
    background: #0d0d0d !important;
    display: block !important;
}
.product-card.modern-product-card .product-card__image > img,
.modern-product-card .product-card__image > img,
.product-card .product-card__image > img,
.product-card.modern-product-card:hover .product-card__image > img,
.modern-product-card:hover .product-card__image > img,
.product-card:hover .product-card__image > img {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    display: block !important;
    object-fit: var(--product-img-fit, cover) !important;
    object-position: center center !important;
    transform: translate(var(--product-img-pan-x, 0%), var(--product-img-pan-y, 0%)) scale(var(--product-img-zoom, 1)) rotate(var(--product-img-rotate, 0deg)) !important;
    transform-origin: center center !important;
    transition: none !important;
    filter: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.product-card__image > img[src$="burger-demo.svg"],
.product-card__image > img[src$="drink-demo.svg"],
.product-card__image > img[src$="fries-demo.svg"],
.product-card__image > img[src$="chivito-demo.svg"] {
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    transform-origin: center center !important;
}

/* ===== FIX FINAL REAL: tienda pública respeta encuadre guardado del producto ===== */
.product-card.modern-product-card,
.modern-product-card,
.product-card{
    --product-img-pan-x: calc(var(--product-img-x, 50%) - 50%);
    --product-img-pan-y: calc(var(--product-img-y, 50%) - 50%);
}
.product-card.modern-product-card .product-card__image,
.modern-product-card .product-card__image,
.product-card .product-card__image{
    position:relative!important;
    overflow:hidden!important;
    background:#0d0d0d!important;
}
.product-card.modern-product-card .product-card__image>img,
.modern-product-card .product-card__image>img,
.product-card .product-card__image>img,
.product-card.modern-product-card:hover .product-card__image>img,
.modern-product-card:hover .product-card__image>img,
.product-card:hover .product-card__image>img{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:var(--product-img-fit,cover)!important;
    object-position:center center!important;
    transform:translate(var(--product-img-pan-x,0%),var(--product-img-pan-y,0%)) scale(var(--product-img-zoom,1)) rotate(var(--product-img-rotate,0deg))!important;
    transform-origin:center center!important;
    transition:none!important;
    filter:none!important;
    margin:0!important;
    padding:0!important;
}
.product-card__image>img[src$="burger-demo.svg"],
.product-card__image>img[src$="drink-demo.svg"],
.product-card__image>img[src$="fries-demo.svg"],
.product-card__image>img[src$="chivito-demo.svg"]{
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    transform-origin:center center!important;
}


/* ===== PRODUCTOS: encuadre público fiel al backoffice ===== */
.product-card.modern-product-card .product-card__image,
.modern-product-card .product-card__image,
.product-card .product-card__image {
    position: relative !important;
    overflow: hidden !important;
    background: #0d0d0d !important;
}
.product-card.modern-product-card .product-card__image > img,
.modern-product-card .product-card__image > img,
.product-card .product-card__image > img,
.product-card.modern-product-card:hover .product-card__image > img,
.modern-product-card:hover .product-card__image > img,
.product-card:hover .product-card__image > img {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: var(--product-img-fit, cover) !important;
    object-position: var(--product-img-x, 50%) var(--product-img-y, 50%) !important;
    transform: scale(var(--product-img-zoom, 1)) rotate(var(--product-img-rotate, 0deg)) !important;
    transform-origin: var(--product-img-x, 50%) var(--product-img-y, 50%) !important;
    transition: none !important;
    filter: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.product-card__image > img[src$="burger-demo.svg"],
.product-card__image > img[src$="drink-demo.svg"],
.product-card__image > img[src$="fries-demo.svg"],
.product-card__image > img[src$="chivito-demo.svg"] {
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    transform-origin: center center !important;
}

/* La tarjeta pública usa el mismo ratio de encuadre que el editor de producto. */
.product-card.modern-product-card .product-card__image,
.modern-product-card .product-card__image,
.product-card .product-card__image {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

/* =========================================================
   PRODUCTOS - ENCUADRE FINAL UNIFICADO
   Misma lógica que el editor del backoffice:
   contenedor 16:9, imagen centrada, paneo por X/Y, zoom y rotación.
   ========================================================= */
.product-card.modern-product-card,
.modern-product-card,
.product-card {
    --product-img-pan-x: calc(var(--product-img-x, 50%) - 50%);
    --product-img-pan-y: calc(var(--product-img-y, 50%) - 50%);
}
.product-card.modern-product-card .product-card__image,
.modern-product-card .product-card__image,
.product-card .product-card__image {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    background: #0d0d0d !important;
    border-radius: 0 !important;
    padding: 0 !important;
}
.product-card.modern-product-card .product-card__image > img,
.modern-product-card .product-card__image > img,
.product-card .product-card__image > img,
.product-card.modern-product-card:hover .product-card__image > img,
.modern-product-card:hover .product-card__image > img,
.product-card:hover .product-card__image > img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: var(--product-img-fit, cover) !important;
    object-position: center center !important;
    transform: translate(-50%, -50%) translate(var(--product-img-pan-x, 0%), var(--product-img-pan-y, 0%)) scale(var(--product-img-zoom, 1)) rotate(var(--product-img-rotate, 0deg)) !important;
    transform-origin: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    filter: none !important;
    transition: none !important;
}
.product-card__image > img[src$="burger-demo.svg"],
.product-card__image > img[src$="drink-demo.svg"],
.product-card__image > img[src$="fries-demo.svg"],
.product-card__image > img[src$="chivito-demo.svg"],
.modern-product-card .product-card__image > img[src$="burger-demo.svg"],
.modern-product-card .product-card__image > img[src$="drink-demo.svg"],
.modern-product-card .product-card__image > img[src$="fries-demo.svg"],
.modern-product-card .product-card__image > img[src$="chivito-demo.svg"] {
    width: 88% !important;
    height: 88% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 88% !important;
    max-height: 88% !important;
    object-fit: contain !important;
    transform: translate(-50%, -50%) !important;
}

/* El alto de la foto no queda fijo en 210px: se calcula con 16:9 igual al editor. */
.product-card.modern-product-card,
.modern-product-card {
    grid-template-rows: auto minmax(0, 1fr) !important;
}

/* =========================================================
   FIX DEFINITIVO PRODUCTOS PÚBLICOS
   La tarjeta pública usa exactamente el mismo marco 1:1 y el
   mismo paneo que el editor del backoffice.
   ========================================================= */
.product-card.modern-product-card,
.modern-product-card,
.product-card{
    --product-img-pan-x:calc(var(--product-img-x,50%) - 50%);
    --product-img-pan-y:calc(var(--product-img-y,50%) - 50%);
}
.product-card.modern-product-card .product-card__image,
.modern-product-card .product-card__image,
.product-card .product-card__image{
    position:relative!important;
    display:block!important;
    width:100%!important;
    aspect-ratio:1 / 1!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    padding:0!important;
    border-radius:0!important;
    background:#080808!important;
}
.product-card.modern-product-card .product-card__image > img,
.modern-product-card .product-card__image > img,
.product-card .product-card__image > img,
.product-card.modern-product-card:hover .product-card__image > img,
.modern-product-card:hover .product-card__image > img,
.product-card:hover .product-card__image > img{
    position:absolute!important;
    top:50%!important;
    left:50%!important;
    right:auto!important;
    bottom:auto!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:var(--product-img-fit,cover)!important;
    object-position:center center!important;
    transform:translate(-50%,-50%) translate(var(--product-img-pan-x,0%),var(--product-img-pan-y,0%)) scale(var(--product-img-zoom,1)) rotate(var(--product-img-rotate,0deg))!important;
    transform-origin:center center!important;
    margin:0!important;
    padding:0!important;
    filter:none!important;
    transition:none!important;
}
.product-card__image > img[src$="burger-demo.svg"],
.product-card__image > img[src$="drink-demo.svg"],
.product-card__image > img[src$="fries-demo.svg"],
.product-card__image > img[src$="chivito-demo.svg"]{
    width:88%!important;
    height:88%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:88%!important;
    max-height:88%!important;
    object-fit:contain!important;
    transform:translate(-50%,-50%)!important;
}

/* === FIX DEFINITIVO IMAGEN PRODUCTO PÚBLICA ===
   La tarjeta pública usa exactamente el mismo marco cuadrado que el editor.
   Si el encuadre fue aplicado, la imagen ya viene recortada físicamente;
   si no, respeta los ajustes guardados por variables. */
.product-card .product-card__image,
.modern-product-card .product-card__image,
.store-category-section .modern-product-card .product-card__image {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #0d0d0d !important;
}

.product-card .product-card__image img,
.modern-product-card .product-card__image img,
.store-category-section .modern-product-card .product-card__image img,
.product-card:hover .product-card__image img,
.modern-product-card:hover .product-card__image img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: var(--product-img-fit, cover) !important;
    object-position: center center !important;
    transform: translate(var(--product-img-pan-x, 0%), var(--product-img-pan-y, 0%)) scale(var(--product-img-zoom, 1)) rotate(var(--product-img-rotate, 0deg)) !important;
    transform-origin: center center !important;
    padding: 0 !important;
    margin: 0 !important;
    filter: none !important;
    transition: none !important;
    background: transparent !important;
}

.product-card::after,
.modern-product-card::after,
.product-card:hover::after,
.modern-product-card:hover::after {
    display: none !important;
    content: none !important;
}

/* FIX: producto público usa la imagen recortada real, sin reinterpretar el encuadre */
.product-card .product-card__image,
.modern-product-card .product-card__image{
    position:relative!important;
    width:100%!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    overflow:hidden!important;
    padding:0!important;
}
.product-card .product-card__image>img,
.modern-product-card .product-card__image>img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
    margin:0!important;
    padding:0!important;
}

/* =========================================================
   FIX FINAL REAL - ENCUADRE DE PRODUCTOS EN TIENDA PUBLICA
   La tarjeta publica usa exactamente la misma logica visual
   que el preview del backoffice: mismo marco, mismo paneo,
   mismo zoom, rotacion y modo.
   ========================================================= */
.store-category-section .modern-product-card .product-card__image,
.product-card.modern-product-card .product-card__image,
.modern-product-card .product-card__image,
.product-card .product-card__image {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    background: #080909 !important;
}
.store-category-section .modern-product-card .product-card__image > img,
.product-card.modern-product-card .product-card__image > img,
.modern-product-card .product-card__image > img,
.product-card .product-card__image > img,
.product-card:hover .product-card__image > img,
.modern-product-card:hover .product-card__image > img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: var(--product-img-fit, cover) !important;
    object-position: center center !important;
    transform: translate(-50%, -50%) translate(var(--product-img-pan-x, 0%), var(--product-img-pan-y, 0%)) scale(var(--product-img-zoom, 1)) rotate(var(--product-img-rotate, 0deg)) !important;
    transform-origin: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    filter: none !important;
    transition: none !important;
    background: transparent !important;
}
.product-card__image > img[src$="burger-demo.svg"],
.product-card__image > img[src$="drink-demo.svg"],
.product-card__image > img[src$="fries-demo.svg"],
.product-card__image > img[src$="chivito-demo.svg"] {
    object-fit: contain !important;
    transform: translate(-50%, -50%) !important;
}

/* =========================================================
   FIX REAL PRODUCTOS 2026-05-21
   El producto público vuelve a usar el mismo criterio que el editor:
   object-position + zoom/rotación, sin paneos acumulados que mandaban
   la foto a una esquina.
   ========================================================= */
.product-card.modern-product-card,
.modern-product-card,
.product-card {
    --product-img-pan-x: 0% !important;
    --product-img-pan-y: 0% !important;
}
.store-category-section .modern-product-card .product-card__image,
.product-card.modern-product-card .product-card__image,
.modern-product-card .product-card__image,
.product-card .product-card__image {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #080909 !important;
    border-radius: 18px 18px 0 0 !important;
}
.store-category-section .modern-product-card .product-card__image > img,
.product-card.modern-product-card .product-card__image > img,
.modern-product-card .product-card__image > img,
.product-card .product-card__image > img,
.product-card.modern-product-card:hover .product-card__image > img,
.modern-product-card:hover .product-card__image > img,
.product-card:hover .product-card__image > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: var(--product-img-fit, cover) !important;
    object-position: var(--product-img-x, 50%) var(--product-img-y, 50%) !important;
    transform: scale(var(--product-img-zoom, 1)) rotate(var(--product-img-rotate, 0deg)) !important;
    transform-origin: var(--product-img-x, 50%) var(--product-img-y, 50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    filter: none !important;
    transition: none !important;
}
.product-card__image > img[src$="burger-demo.svg"],
.product-card__image > img[src$="drink-demo.svg"],
.product-card__image > img[src$="fries-demo.svg"],
.product-card__image > img[src$="chivito-demo.svg"] {
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    transform-origin: center center !important;
}

/* =========================================================
   FIX PRODUCT PUBLIC IMAGE 2026-05-21 - MISMO CÁLCULO QUE BACKOFFICE
   Evita que el producto se vaya a una esquina en la tienda.
   ========================================================= */
.product-card.modern-product-card,
.modern-product-card,
.product-card{
    --product-img-pan-x:0%!important;
    --product-img-pan-y:0%!important;
}
.store-category-section .modern-product-card .product-card__image,
.product-card.modern-product-card .product-card__image,
.modern-product-card .product-card__image,
.product-card .product-card__image{
    position:relative!important;
    display:block!important;
    width:100%!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
    background:#070808!important;
    border-radius:18px 18px 0 0!important;
}
.store-category-section .modern-product-card .product-card__image>img,
.product-card.modern-product-card .product-card__image>img,
.modern-product-card .product-card__image>img,
.product-card .product-card__image>img,
.product-card.modern-product-card:hover .product-card__image>img,
.modern-product-card:hover .product-card__image>img,
.product-card:hover .product-card__image>img{
    position:absolute!important;
    top:50%!important;
    left:50%!important;
    right:auto!important;
    bottom:auto!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:var(--product-img-fit,cover)!important;
    object-position:center center!important;
    transform:translate(calc(var(--product-img-x,50%) - 100%), calc(var(--product-img-y,50%) - 100%)) scale(var(--product-img-zoom,1)) rotate(var(--product-img-rotate,0deg))!important;
    transform-origin:center center!important;
    filter:none!important;
    transition:none!important;
}
.product-card__image>img[src$="burger-demo.svg"],
.product-card__image>img[src$="drink-demo.svg"],
.product-card__image>img[src$="fries-demo.svg"],
.product-card__image>img[src$="chivito-demo.svg"]{
    object-fit:contain!important;
    transform:translate(-50%,-50%)!important;
}

/* =========================================================
   CORRECCION REAL PRODUCTOS PUBLICOS 2026-05-21
   Misma lógica que el editor del backoffice. Se eliminan los
   translate acumulados para que 50/50 sea realmente centro.
   ========================================================= */
.product-card.modern-product-card,
.modern-product-card,
.product-card{
    --product-img-pan-x:0%!important;
    --product-img-pan-y:0%!important;
}
.store-category-section .modern-product-card .product-card__image,
.product-card.modern-product-card .product-card__image,
.modern-product-card .product-card__image,
.product-card .product-card__image{
    position:relative!important;
    display:block!important;
    width:100%!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
    background:#070808!important;
    border-radius:18px 18px 0 0!important;
}
.store-category-section .modern-product-card .product-card__image>img,
.product-card.modern-product-card .product-card__image>img,
.modern-product-card .product-card__image>img,
.product-card .product-card__image>img,
.product-card.modern-product-card:hover .product-card__image>img,
.modern-product-card:hover .product-card__image>img,
.product-card:hover .product-card__image>img{
    position:absolute!important;
    inset:0!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:var(--product-img-fit,cover)!important;
    object-position:var(--product-img-x,50%) var(--product-img-y,50%)!important;
    transform:scale(var(--product-img-zoom,1)) rotate(var(--product-img-rotate,0deg))!important;
    transform-origin:var(--product-img-x,50%) var(--product-img-y,50%)!important;
    filter:none!important;
    transition:none!important;
    background:transparent!important;
}
.product-card__image>img[src$="burger-demo.svg"],
.product-card__image>img[src$="drink-demo.svg"],
.product-card__image>img[src$="fries-demo.svg"],
.product-card__image>img[src$="chivito-demo.svg"]{
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    transform-origin:center center!important;
}

/* =========================================================
   FIX DEFINITIVO ENCUADRE PRODUCTO 2026-05-21
   La tarjeta pública queda sincronizada con el editor del backoffice.
   Sin translate/pan ni alturas fijas desde JS/CSS anteriores.
   ========================================================= */
.product-card.modern-product-card,
.modern-product-card,
.product-card{
    --product-img-pan-x:0%!important;
    --product-img-pan-y:0%!important;
}
.store-category-section .modern-product-card .product-card__image,
.product-card.modern-product-card .product-card__image,
.modern-product-card .product-card__image,
.product-card .product-card__image{
    position:relative!important;
    display:block!important;
    width:100%!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
    background:#070808!important;
    border-radius:18px 18px 0 0!important;
}
.store-category-section .modern-product-card .product-card__image>img,
.product-card.modern-product-card .product-card__image>img,
.modern-product-card .product-card__image>img,
.product-card .product-card__image>img,
.product-card.modern-product-card:hover .product-card__image>img,
.modern-product-card:hover .product-card__image>img,
.product-card:hover .product-card__image>img{
    position:absolute!important;
    inset:0!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:var(--product-img-fit,cover)!important;
    object-position:var(--product-img-x,50%) var(--product-img-y,50%)!important;
    transform:scale(var(--product-img-zoom,1)) rotate(var(--product-img-rotate,0deg))!important;
    transform-origin:var(--product-img-x,50%) var(--product-img-y,50%)!important;
    filter:none!important;
    transition:none!important;
    background:transparent!important;
}
.product-card__image>img[src$="burger-demo.svg"],
.product-card__image>img[src$="drink-demo.svg"],
.product-card__image>img[src$="fries-demo.svg"],
.product-card__image>img[src$="chivito-demo.svg"]{
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    transform-origin:center center!important;
}

/* =========================================================
   FIX 2026-05-21: mismo encuadre que el backoffice.
   X/Y mueve el centro de la imagen; no depende del zoom.
   ========================================================= */
.product-card .product-card__image img,
.modern-product-card .product-card__image img,
.store-category-section .modern-product-card .product-card__image img,
.product-card:hover .product-card__image img,
.modern-product-card:hover .product-card__image img{
    position:absolute!important;
    inset:auto!important;
    top:var(--product-img-y,50%)!important;
    left:var(--product-img-x,50%)!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    display:block!important;
    object-fit:var(--product-img-fit,cover)!important;
    object-position:center center!important;
    transform:translate(-50%,-50%) scale(var(--product-img-zoom,1)) rotate(var(--product-img-rotate,0deg))!important;
    transform-origin:center center!important;
    margin:0!important;
    padding:0!important;
    transition:none!important;
    pointer-events:none!important;
    user-select:none!important;
}

/* FIX producto público: mismo encuadre que backoffice + relleno difuminado automático */
.product-card__image{
    position:relative!important;
    overflow:hidden!important;
    isolation:isolate!important;
}
.product-card__image::before{
    content:"";
    position:absolute;
    inset:-18px;
    z-index:0;
    background-image:var(--product-fill-bg, none);
    background-size:cover;
    background-position:var(--product-fill-pos, 50% 50%);
    background-repeat:no-repeat;
    filter:blur(18px);
    transform:scale(1.08);
    opacity:.58;
    pointer-events:none;
}
.product-card__image > img{
    z-index:1!important;
}
.product-card__image .badge{
    z-index:3!important;
}

/* =========================================================
   FIX FINAL 2026-05-21 - Producto público igual al backoffice.
   La imagen principal usa contain + zoom/paneo; el fondo difuminado
   solo rellena espacios vacíos de la tarjeta pública.
   ========================================================= */
.product-card .product-card__image,
.modern-product-card .product-card__image,
.store-category-section .modern-product-card .product-card__image{
    position:relative!important;
    display:block!important;
    width:100%!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
    background:#070808!important;
    isolation:isolate!important;
}
.product-card .product-card__image::before,
.modern-product-card .product-card__image::before,
.store-category-section .modern-product-card .product-card__image::before{
    content:""!important;
    position:absolute!important;
    inset:-20px!important;
    z-index:0!important;
    background-image:var(--product-fill-bg, none)!important;
    background-size:cover!important;
    background-position:var(--product-fill-pos, 50% 50%)!important;
    background-repeat:no-repeat!important;
    filter:blur(18px)!important;
    transform:scale(1.1)!important;
    opacity:.62!important;
    pointer-events:none!important;
}
.product-card .product-card__image>img,
.modern-product-card .product-card__image>img,
.store-category-section .modern-product-card .product-card__image>img,
.product-card:hover .product-card__image>img,
.modern-product-card:hover .product-card__image>img{
    position:absolute!important;
    inset:0!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:50% 50%!important;
    transform:translate(var(--product-img-pan-x,0%), var(--product-img-pan-y,0%)) scale(var(--product-img-zoom,1)) rotate(var(--product-img-rotate,0deg))!important;
    transform-origin:50% 50%!important;
    margin:0!important;
    padding:0!important;
    filter:none!important;
    transition:none!important;
    pointer-events:none!important;
    user-select:none!important;
    z-index:1!important;
    background:transparent!important;
}
.product-card__image .badge{z-index:3!important;}

/* Descuentos en carrito */
.cart-discount-box{
    margin:14px 0;
    padding:14px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:16px;
    background:rgba(255,255,255,.035);
}
.cart-discount-box label{
    display:block;
    margin-bottom:8px;
    font-size:12px;
    font-weight:900;
    color:rgba(255,255,255,.78);
    text-transform:uppercase;
    letter-spacing:.4px;
}
.cart-discount-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
}
.cart-discount-row input{
    width:100%;
    min-width:0;
    border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
    background:rgba(0,0,0,.28);
    color:#fff;
    padding:11px 12px;
    font-weight:800;
    text-transform:uppercase;
}
.cart-discount-row button{
    border:0;
    border-radius:12px;
    background:var(--primary);
    color:#111;
    padding:0 14px;
    font-weight:950;
    cursor:pointer;
}
.cart-discount-box small{
    display:block;
    min-height:16px;
    margin-top:7px;
    color:rgba(255,255,255,.62);
    font-weight:700;
}
.cart-total.cart-discount strong{color:var(--primary);}
.store-global-discount-notice{
    margin:0 0 20px;
    padding:14px 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    border-radius:18px;
    border:1px solid rgba(var(--primary-rgb),.28);
    background:linear-gradient(135deg,rgba(var(--primary-rgb),.18),rgba(255,255,255,.035));
}
.store-global-discount-notice strong{color:var(--primary);font-size:18px;font-weight:950;}
.store-global-discount-notice span{color:rgba(255,255,255,.75);font-weight:800;}
@media(max-width:560px){.store-global-discount-notice{align-items:flex-start;flex-direction:column}.cart-discount-row{grid-template-columns:1fr}.cart-discount-row button{padding:12px 14px}}

/* =========================================================
   FIX 2026-05-22: carrito ordenado, desplegable de código y botones blancos
   ========================================================= */
.hero__actions .btn,
.hero__actions .btn-primary,
.hero__actions .btn-secondary,
.header-cart-btn,
.cart-floating,
.cart-floating.visible{
    background:#fff!important;
    color:#111!important;
    border-color:rgba(255,255,255,.82)!important;
    box-shadow:0 16px 38px rgba(0,0,0,.32)!important;
}
.hero__actions .btn *,
.header-cart-btn *,
.cart-floating *{
    color:#111!important;
}
.header-cart-btn small,
.cart-floating small{
    background:#111!important;
    color:#fff!important;
}

.cart-drawer{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    background:linear-gradient(180deg,#121212 0%,#0b0b0b 100%)!important;
    border-color:rgba(var(--primary-rgb),.24)!important;
    overflow:hidden!important;
}
.cart-head{
    flex:0 0 auto!important;
    padding-bottom:18px!important;
    margin-bottom:14px!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
}
.cart-head h3{
    font-size:25px!important;
    letter-spacing:-.5px!important;
}
#cartItems{
    flex:1 1 auto!important;
    overflow:auto!important;
    min-height:120px!important;
    padding:2px 4px 18px 0!important;
    margin:0!important;
}
#cartItems::-webkit-scrollbar{width:7px!important;}
#cartItems::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25)!important;border-radius:999px!important;}
.cart-item{
    width:100%!important;
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:14px!important;
    padding:16px!important;
    margin:0 0 14px!important;
    border:1px solid rgba(255,255,255,.08)!important;
    border-radius:18px!important;
    background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025))!important;
    box-shadow:0 16px 35px rgba(0,0,0,.25)!important;
}
.cart-item-photo{
    width:64px!important;
    height:64px!important;
    border-radius:12px!important;
    overflow:hidden!important;
    grid-column:1!important;
}
.cart-item-info{
    grid-column:2!important;
    min-width:0!important;
}
.cart-item-title-row{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    padding-bottom:10px!important;
    margin-bottom:8px!important;
}
.cart-item-title-row strong{font-size:17px!important;line-height:1.1!important;}
.cart-item-title-row b{color:var(--primary)!important;font-size:17px!important;white-space:nowrap!important;}
.cart-actions{
    grid-column:1/-1!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:52px 1fr 52px 46px!important;
    gap:8px!important;
    margin-top:10px!important;
}
.cart-actions button,
.cart-qty-value{
    min-height:42px!important;
    border-radius:10px!important;
    display:grid!important;
    place-items:center!important;
    font-weight:950!important;
}
.cart-note-wrap{
    grid-column:1/-1!important;
    margin-top:12px!important;
    padding:14px 12px 12px!important;
    border:1px solid rgba(var(--primary-rgb),.28)!important;
    border-radius:14px!important;
    background:rgba(var(--primary-rgb),.055)!important;
}
.cart-note-wrap label{
    display:block!important;
    margin:0 0 9px!important;
    color:var(--primary)!important;
    font-size:11px!important;
    line-height:1!important;
    letter-spacing:.5px!important;
    text-transform:uppercase!important;
}
.cart-note{
    width:100%!important;
    margin:0!important;
    border-radius:11px!important;
}

.cart-discount-box{
    flex:0 0 auto!important;
    width:100%!important;
    margin:8px 0 12px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:18px!important;
    background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025))!important;
    overflow:hidden!important;
}
.cart-discount-box summary{
    list-style:none!important;
    cursor:pointer!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:14px 16px!important;
    font-weight:950!important;
    text-transform:uppercase!important;
    letter-spacing:.35px!important;
    color:#fff!important;
}
.cart-discount-box summary::-webkit-details-marker{display:none!important;}
.cart-discount-box summary span{display:flex!important;align-items:center!important;gap:9px!important;font-size:12px!important;}
.cart-discount-box summary b{
    color:rgba(255,255,255,.60)!important;
    font-size:11px!important;
    font-weight:900!important;
    text-transform:none!important;
}
.cart-discount-box summary::after{
    content:'⌄'!important;
    width:26px!important;
    height:26px!important;
    border-radius:999px!important;
    display:grid!important;
    place-items:center!important;
    background:rgba(255,255,255,.08)!important;
    color:var(--primary)!important;
    transition:transform .2s ease!important;
}
.cart-discount-box[open] summary::after{transform:rotate(180deg)!important;}
.cart-discount-content{
    padding:0 14px 14px!important;
}
.cart-discount-content label{
    margin:0 0 8px!important;
    font-size:11px!important;
}
.cart-discount-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 92px!important;
    gap:8px!important;
    width:100%!important;
}
.cart-discount-row button{min-height:48px!important;}

.cart-totals-panel{
    flex:0 0 auto!important;
    width:100%!important;
    padding:6px 0 0!important;
    margin:0!important;
    border-top:1px solid rgba(var(--primary-rgb),.28)!important;
}
.cart-total{
    width:100%!important;
    max-width:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    margin:0!important;
    padding:15px 0!important;
    border-bottom:1px solid rgba(var(--primary-rgb),.20)!important;
    font-size:16px!important;
    line-height:1.1!important;
    text-align:left!important;
}
.cart-total span{
    display:block!important;
    flex:1 1 auto!important;
    min-width:0!important;
    color:rgba(255,255,255,.66)!important;
    font-weight:900!important;
    text-align:left!important;
}
.cart-total strong{
    display:block!important;
    flex:0 0 auto!important;
    margin-left:auto!important;
    color:#fff!important;
    font-weight:950!important;
    text-align:right!important;
    white-space:nowrap!important;
}
.cart-total.cart-discount strong{color:var(--primary)!important;}
.cart-grand{
    padding-top:18px!important;
    font-size:22px!important;
    border-bottom:0!important;
}
.cart-grand span,
.cart-grand strong{color:#fff!important;}
.cart-help{
    display:block!important;
    width:100%!important;
    margin:0 0 14px!important;
    padding-top:0!important;
    color:rgba(255,255,255,.55)!important;
    font-weight:600!important;
}
.checkout-link{
    flex:0 0 auto!important;
    width:100%!important;
    min-height:54px!important;
    margin:0!important;
    display:grid!important;
    place-items:center!important;
    border-radius:14px!important;
    background:var(--primary)!important;
    color:#111!important;
    font-weight:950!important;
    box-shadow:0 -14px 30px rgba(0,0,0,.20)!important;
}

@media(max-width:700px){
    .cart-drawer{
        top:72px!important;
        left:0!important;
        right:0!important;
        bottom:0!important;
        width:100%!important;
        height:calc(100dvh - 72px)!important;
        max-height:calc(100dvh - 72px)!important;
        border-radius:24px 24px 0 0!important;
        padding:20px 16px 14px!important;
        border-left:0!important;
        border-top:1px solid rgba(var(--primary-rgb),.40)!important;
    }
    .cart-drawer:not(.open){right:0!important;transform:translateY(110%)!important;}
    .cart-drawer.open{right:0!important;transform:translateY(0)!important;}
    #cartItems{min-height:0!important;padding-right:2px!important;}
    .cart-item{grid-template-columns:62px minmax(0,1fr)!important;padding:14px!important;gap:12px!important;}
    .cart-discount-row{grid-template-columns:minmax(0,1fr) 88px!important;}
    .cart-total{padding:13px 0!important;}
    .cart-grand{font-size:21px!important;}
    .checkout-link{min-height:52px!important;}
    .cart-floating{
        background:#fff!important;
        color:#111!important;
    }
}
.product-global-discount-badge{
    display:inline-flex!important;
    align-items:center!important;
    margin-top:4px!important;
    padding:4px 8px!important;
    border-radius:999px!important;
    background:rgba(var(--primary-rgb),.18)!important;
    color:var(--primary)!important;
    border:1px solid rgba(var(--primary-rgb),.25)!important;
    font-size:10px!important;
    font-style:normal!important;
    font-weight:950!important;
    letter-spacing:.3px!important;
}

/* =========================================================
   FIX Lucas 2026-05-22: botones con texto blanco, cupón claro y carrito limpio
   ========================================================= */
.hero__actions .btn,
.hero__actions .btn-primary,
.hero__actions .btn-secondary,
.header-cart-btn,
.cart-floating,
.cart-floating.visible{
    background:var(--primary)!important;
    color:#fff!important;
    border-color:rgba(var(--primary-rgb),.55)!important;
    box-shadow:0 16px 38px rgba(var(--primary-rgb),.18), 0 10px 26px rgba(0,0,0,.30)!important;
}
.hero__actions .btn *,
.header-cart-btn *,
.cart-floating *{
    color:#fff!important;
}
.header-cart-btn small,
.cart-floating small{
    background:rgba(0,0,0,.42)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.16)!important;
}
.hero__actions .btn:hover,
.header-cart-btn:hover,
.cart-floating:hover{
    filter:brightness(1.04)!important;
}

.cart-discount-box{
    margin:8px 0 12px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:none!important;
}
.cart-discount-box summary::after{
    content:'⌃'!important;
    transform:none!important;
}
.cart-discount-box[open] summary::after{
    content:'⌄'!important;
    transform:none!important;
}
.cart-totals-panel{
    border-top:0!important;
    padding-top:0!important;
}
.cart-total:first-child{
    border-top:1px solid rgba(var(--primary-rgb),.25)!important;
}
.cart-total{
    padding-left:0!important;
    padding-right:0!important;
}
.cart-modifiers-wrap,
.cart-modifier-chips,
.cart-modifier-chip{
    display:none!important;
}

@media(max-width:700px){
    .cart-floating,
    .cart-floating.visible{
        background:var(--primary)!important;
        color:#fff!important;
    }
    .cart-floating *{color:#fff!important;}
}

/* =========================================================
   FIX Lucas 2026-05-22: detalles carrito/cupon/header
   ========================================================= */
.hero__actions .btn,
.hero__actions .btn-primary,
.hero__actions .btn-secondary,
.header-cart-btn,
.cart-floating,
.cart-floating.visible{
    background:linear-gradient(135deg,var(--primary),var(--primary-dark))!important;
    color:#fff!important;
    border-color:rgba(var(--primary-rgb),.55)!important;
    box-shadow:0 14px 34px rgba(var(--primary-rgb),.25), 0 8px 18px rgba(0,0,0,.30)!important;
    transition:transform .18s ease, filter .18s ease, box-shadow .18s ease!important;
}
.hero__actions .btn *,
.header-cart-btn *,
.cart-floating *{color:#fff!important;}
.hero__actions .btn:hover,
.header-cart-btn:hover,
.cart-floating:hover,
.cart-floating.visible:hover{
    transform:translateY(-2px)!important;
    filter:brightness(1.08) saturate(1.05)!important;
    box-shadow:0 18px 42px rgba(var(--primary-rgb),.35), 0 10px 24px rgba(0,0,0,.34)!important;
}
.header-cart-btn small,
.cart-floating small{
    background:rgba(0,0,0,.42)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.15)!important;
}
.checkout-link{
    background:linear-gradient(135deg,var(--primary),var(--primary-dark))!important;
    color:#fff!important;
    text-shadow:0 1px 1px rgba(0,0,0,.22)!important;
}
.checkout-link:hover{filter:brightness(1.06)!important;}
.checkout-link *{color:#fff!important;}

.cart-note-wrap{
    padding:18px 12px 12px!important;
}
.cart-note-wrap label{
    margin:0 0 11px!important;
    padding-left:0!important;
}
.cart-note{
    display:block!important;
    margin-top:0!important;
}

.cart-discount-box summary{
    display:grid!important;
    grid-template-columns:1fr auto 30px!important;
    align-items:center!important;
    column-gap:12px!important;
}
.cart-discount-box summary span{
    justify-self:start!important;
}
.cart-discount-box summary b{
    justify-self:end!important;
    margin-right:2px!important;
}
.cart-discount-box summary::after{
    content:'▲'!important;
    width:26px!important;
    height:26px!important;
    border-radius:999px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
    font-size:9px!important;
    font-family:Arial,sans-serif!important;
    background:rgba(255,255,255,.08)!important;
    color:var(--primary)!important;
    transform:none!important;
    justify-self:end!important;
}
.cart-discount-box[open] summary::after{
    content:'▼'!important;
    transform:none!important;
}
.cart-discount-content{
    padding:0 14px 16px!important;
}
.cart-discount-content label{
    display:block!important;
    margin:0 0 8px!important;
    padding-left:0!important;
    text-align:left!important;
}
.cart-discount-row{align-items:center!important;}
.cart-discount-row input{min-height:48px!important;}
.cart-discount-row button{min-height:48px!important;color:#fff!important;}

.cart-totals-panel{
    border-top:1px solid rgba(var(--primary-rgb),.22)!important;
    padding-top:0!important;
}
.cart-total:first-child{border-top:0!important;}
.cart-total{
    width:100%!important;
    padding:15px 0!important;
    border-bottom:1px solid rgba(var(--primary-rgb),.20)!important;
}
.cart-grand{border-bottom:0!important;}

@media(max-width:700px){
    .hero__actions .btn,
    .header-cart-btn,
    .cart-floating,
    .cart-floating.visible{
        background:linear-gradient(135deg,var(--primary),var(--primary-dark))!important;
        color:#fff!important;
    }
    .hero__actions .btn *,
    .header-cart-btn *,
    .cart-floating *{color:#fff!important;}
}

/* =========================================================
   FIX Lucas 2026-05-22: simetría cupón + aire observación
   ========================================================= */
.cart-note-wrap{
    padding:24px 14px 14px!important;
    margin-top:14px!important;
    position:relative!important;
}
.cart-note-wrap label{
    display:block!important;
    margin:0 0 12px!important;
    padding:0!important;
    line-height:1.15!important;
}
.cart-note-wrap textarea.cart-note{
    display:block!important;
    width:100%!important;
    margin:0!important;
}

.cart-discount-box{
    padding:0!important;
    overflow:hidden!important;
}
.cart-discount-box summary{
    min-height:54px!important;
    padding:0 18px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto 32px!important;
    align-items:center!important;
    column-gap:12px!important;
    border-bottom:0!important;
}
.cart-discount-box summary span{
    justify-self:start!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
}
.cart-discount-box summary b{
    justify-self:end!important;
    margin:0!important;
    padding:0!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-align:right!important;
}
.cart-discount-box summary::after{
    justify-self:end!important;
    align-self:center!important;
    width:28px!important;
    height:28px!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    padding:0!important;
    line-height:28px!important;
    text-align:center!important;
    font-size:10px!important;
}
.cart-discount-content{
    padding:0 18px 18px!important;
    margin:0!important;
    border-top:0!important;
}
.cart-discount-content label{
    display:block!important;
    margin:0 0 8px!important;
    padding:0!important;
    text-align:left!important;
    line-height:1.1!important;
}
.cart-discount-row{
    width:100%!important;
    margin:0!important;
    gap:10px!important;
}
.cart-discount-box small#discountCodeStatus,
.cart-discount-box #discountCodeStatus{
    display:block!important;
    margin:9px 0 0!important;
    padding:0!important;
    text-align:left!important;
}

/* =========================================================
   FIX REAL Lucas 2026-05-22: simetría cupón + observación
   Esta regla queda al final para pisar todos los parches anteriores.
   ========================================================= */
.cart-item .cart-note-wrap,
#cartItems .cart-note-wrap,
.cart-note-wrap{
    box-sizing:border-box!important;
    grid-column:1 / -1!important;
    width:100%!important;
    margin:16px 0 0!important;
    padding:28px 18px 16px!important;
    border:1px solid rgba(var(--primary-rgb),.42)!important;
    border-radius:15px!important;
    background:rgba(var(--primary-rgb),.035)!important;
    overflow:visible!important;
}
.cart-item .cart-note-wrap label,
#cartItems .cart-note-wrap label,
.cart-note-wrap label{
    position:static!important;
    display:block!important;
    width:100%!important;
    margin:0 0 12px!important;
    padding:0!important;
    transform:none!important;
    line-height:1.15!important;
    color:var(--primary)!important;
    font-size:11px!important;
    font-weight:950!important;
    text-transform:uppercase!important;
    letter-spacing:.45px!important;
}
.cart-item .cart-note-wrap textarea.cart-note,
#cartItems .cart-note-wrap textarea.cart-note,
.cart-note-wrap textarea.cart-note,
.cart-note{
    display:block!important;
    width:100%!important;
    min-height:54px!important;
    margin:0!important;
    box-sizing:border-box!important;
}

.cart-discount-box,
#cartDiscountBox{
    box-sizing:border-box!important;
    width:100%!important;
    margin:16px 0 12px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.11)!important;
    border-radius:18px!important;
    background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.022))!important;
    box-shadow:none!important;
    overflow:hidden!important;
}
.cart-discount-box summary,
#cartDiscountBox summary{
    box-sizing:border-box!important;
    list-style:none!important;
    width:100%!important;
    min-height:58px!important;
    margin:0!important;
    padding:0 18px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto 30px!important;
    align-items:center!important;
    column-gap:12px!important;
    border:0!important;
    cursor:pointer!important;
}
.cart-discount-box summary::-webkit-details-marker,
#cartDiscountBox summary::-webkit-details-marker{display:none!important;}
.cart-discount-box summary span,
#cartDiscountBox summary span{
    justify-self:start!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:.35px!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
}
.cart-discount-box summary b,
#cartDiscountBox summary b{
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
    padding:0!important;
    color:rgba(255,255,255,.62)!important;
    font-size:11px!important;
    font-weight:850!important;
    line-height:1!important;
    text-align:right!important;
    white-space:nowrap!important;
    text-transform:none!important;
}
.cart-discount-box summary::after,
#cartDiscountBox summary::after{
    content:'▲'!important;
    justify-self:end!important;
    align-self:center!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    margin:0!important;
    padding:0!important;
    border-radius:999px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:rgba(255,255,255,.08)!important;
    color:var(--primary)!important;
    font-size:9px!important;
    line-height:1!important;
    font-family:Arial, sans-serif!important;
    text-align:center!important;
    transform:none!important;
    transition:background .18s ease, color .18s ease!important;
}
.cart-discount-box[open] summary::after,
#cartDiscountBox[open] summary::after{
    content:'▼'!important;
    transform:none!important;
}
.cart-discount-box summary:hover::after,
#cartDiscountBox summary:hover::after{
    background:rgba(var(--primary-rgb),.18)!important;
}
.cart-discount-content,
#cartDiscountBox .cart-discount-content{
    box-sizing:border-box!important;
    width:100%!important;
    margin:0!important;
    padding:0 18px 18px!important;
    border:0!important;
    border-top:0!important;
}
.cart-discount-content label,
#cartDiscountBox .cart-discount-content label{
    display:block!important;
    width:100%!important;
    margin:0 0 9px!important;
    padding:0!important;
    color:rgba(255,255,255,.72)!important;
    font-size:11px!important;
    font-weight:950!important;
    line-height:1.1!important;
    letter-spacing:.35px!important;
    text-transform:uppercase!important;
    text-align:left!important;
}
.cart-discount-row,
#cartDiscountBox .cart-discount-row{
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 92px!important;
    align-items:stretch!important;
    gap:10px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
}
.cart-discount-row input,
#cartDiscountBox .cart-discount-row input{
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    box-sizing:border-box!important;
}
.cart-discount-row button,
#cartDiscountBox .cart-discount-row button{
    width:92px!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    color:#fff!important;
    box-sizing:border-box!important;
}
.cart-discount-box #discountCodeStatus,
#cartDiscountBox #discountCodeStatus{
    display:block!important;
    width:100%!important;
    margin:10px 0 0!important;
    padding:0!important;
    text-align:left!important;
    line-height:1.25!important;
}
.checkout-link,
.checkout-link:visited{
    color:#fff!important;
}
.checkout-link *{color:#fff!important;}

@media(max-width:420px){
    .cart-discount-box summary,
    #cartDiscountBox summary{
        grid-template-columns:minmax(0,1fr) auto 28px!important;
        padding:0 16px!important;
        column-gap:9px!important;
    }
    .cart-discount-box summary span,
    #cartDiscountBox summary span{font-size:11px!important;}
    .cart-discount-box summary b,
    #cartDiscountBox summary b{font-size:10px!important;}
    .cart-discount-content,
    #cartDiscountBox .cart-discount-content{padding:0 16px 16px!important;}
    .cart-discount-row,
    #cartDiscountBox .cart-discount-row{grid-template-columns:minmax(0,1fr) 86px!important;}
    .cart-discount-row button,
    #cartDiscountBox .cart-discount-row button{width:86px!important;}
}

/* =========================================================
   FIX Lucas 2026-05-22: ajuste fino cupón, observación y botón hero
   ========================================================= */
.cart-item .cart-note-wrap,
#cartItems .cart-note-wrap,
.cart-note-wrap{
    padding:20px 18px 14px!important;
    margin-top:14px!important;
}
.cart-item .cart-note-wrap label,
#cartItems .cart-note-wrap label,
.cart-note-wrap label{
    margin:0 0 10px!important;
}

.cart-discount-box,
#cartDiscountBox{
    padding:0!important;
}
.cart-discount-box summary,
#cartDiscountBox summary{
    padding:0 18px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto 30px!important;
    column-gap:10px!important;
}
.cart-discount-box summary span,
#cartDiscountBox summary span{
    margin:0!important;
    padding:0!important;
    gap:0!important;
    line-height:1!important;
}
.cart-discount-box summary span i,
#cartDiscountBox summary span i{
    display:none!important;
}
.cart-discount-box summary b,
#cartDiscountBox summary b{
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
    padding:0!important;
    line-height:1!important;
}
.cart-discount-box summary::after,
#cartDiscountBox summary::after{
    justify-self:end!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
    padding:0!important;
    margin:0!important;
}
.cart-discount-content,
#cartDiscountBox .cart-discount-content{
    padding:0 18px 18px!important;
}
.cart-discount-content label,
#cartDiscountBox .cart-discount-content label,
.cart-discount-box #discountCodeStatus,
#cartDiscountBox #discountCodeStatus{
    margin-left:0!important;
    padding-left:0!important;
}
.cart-discount-row,
#cartDiscountBox .cart-discount-row{
    gap:10px!important;
}

.hero__actions .btn,
.hero__actions .btn-primary,
.hero__actions .btn-secondary,
.hero__actions .btn-order-hero{
    border:0!important;
    outline:0!important;
    color:#fff!important;
    box-shadow:0 14px 34px rgba(var(--primary-rgb),.25), 0 8px 18px rgba(0,0,0,.30)!important;
}
.hero__actions .btn *,
.hero__actions .btn-primary *,
.hero__actions .btn-secondary *,
.hero__actions .btn-order-hero *{
    color:#fff!important;
}
.hero__actions .btn::before,
.hero__actions .btn::after,
.hero__actions .btn-order-hero::before,
.hero__actions .btn-order-hero::after{
    border:0!important;
    box-shadow:none!important;
}

/* =========================================================
   VERSION CORRECTA Lucas 2026-05-22: carrito compacto/prolijo
   ========================================================= */
.cart-drawer #cartItems{
    flex:0 1 auto!important;
    max-height:min(42vh,430px)!important;
    overflow:auto!important;
    margin:0 0 14px!important;
    padding:2px 4px 10px 0!important;
}
.cart-item .cart-note-wrap,
#cartItems .cart-note-wrap,
.cart-note-wrap{
    margin:14px 0 0!important;
    padding:17px 16px 14px!important;
    border-radius:15px!important;
}
.cart-item .cart-note-wrap label,
#cartItems .cart-note-wrap label,
.cart-note-wrap label{
    margin:0 0 8px!important;
    line-height:1.1!important;
}
.cart-item .cart-note-wrap textarea.cart-note,
#cartItems .cart-note-wrap textarea.cart-note,
.cart-note-wrap textarea.cart-note{
    min-height:54px!important;
    padding:14px!important;
}
.cart-discount-box,
#cartDiscountBox{
    margin:8px 0 12px!important;
}
.cart-discount-box summary,
#cartDiscountBox summary{
    min-height:58px!important;
    padding:0 18px!important;
    grid-template-columns:minmax(0,1fr) auto 30px!important;
    align-items:center!important;
    column-gap:10px!important;
}
.cart-discount-box summary span,
#cartDiscountBox summary span,
.cart-discount-content label,
#cartDiscountBox .cart-discount-content label,
.cart-discount-box #discountCodeStatus,
#cartDiscountBox #discountCodeStatus{
    padding-left:0!important;
    margin-left:0!important;
}
.cart-discount-box summary::after,
#cartDiscountBox summary::after{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    line-height:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    margin:0!important;
    transform:none!important;
}
.cart-discount-box[open] summary::after,
#cartDiscountBox[open] summary::after{
    transform:none!important;
}
.cart-totals-panel{
    margin-top:0!important;
}
.cart-total{
    padding:14px 0!important;
}
.cart-grand{
    padding-top:16px!important;
}
.checkout-link,
.checkout-link:visited{
    background:linear-gradient(135deg,var(--primary),var(--primary-dark))!important;
    color:#fff!important;
    border:0!important;
    outline:0!important;
    opacity:1!important;
    box-shadow:0 16px 36px rgba(var(--primary-rgb),.28), 0 8px 18px rgba(0,0,0,.28)!important;
}
.checkout-link:hover{
    filter:brightness(1.07) saturate(1.04)!important;
    transform:translateY(-1px)!important;
}
.hero__actions .btn,
.hero__actions .btn-primary,
.hero__actions .btn-secondary,
.hero__actions .btn-order-hero,
.header-cart-btn,
.cart-floating,
.cart-floating.visible{
    border:0!important;
    outline:0!important;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark))!important;
    color:#fff!important;
    box-shadow:0 14px 34px rgba(var(--primary-rgb),.25), 0 8px 18px rgba(0,0,0,.30)!important;
}
.hero__actions .btn *,
.hero__actions .btn-primary *,
.hero__actions .btn-secondary *,
.hero__actions .btn-order-hero *,
.header-cart-btn *,
.cart-floating *,
.cart-floating.visible *{
    color:#fff!important;
}
.hero__actions .btn::before,
.hero__actions .btn::after,
.hero__actions .btn-primary::before,
.hero__actions .btn-primary::after,
.hero__actions .btn-secondary::before,
.hero__actions .btn-secondary::after,
.hero__actions .btn-order-hero::before,
.hero__actions .btn-order-hero::after{
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
}
.hero__actions .btn:hover,
.hero__actions .btn-primary:hover,
.hero__actions .btn-secondary:hover,
.hero__actions .btn-order-hero:hover,
.header-cart-btn:hover,
.cart-floating:hover,
.cart-floating.visible:hover{
    transform:translateY(-2px)!important;
    filter:brightness(1.08) saturate(1.05)!important;
    box-shadow:0 18px 42px rgba(var(--primary-rgb),.34), 0 10px 24px rgba(0,0,0,.34)!important;
}
@media(max-width:700px){
    .cart-drawer #cartItems{
        max-height:42vh!important;
        flex:0 1 auto!important;
    }
    .cart-item .cart-note-wrap,
    #cartItems .cart-note-wrap,
    .cart-note-wrap{
        padding:16px 14px 13px!important;
    }
    .cart-total{padding:13px 0!important;}
}

/* =========================================================
   FIX FINAL Lucas 2026-05-23: carrito más resumido entre bloques
   Reduce el espacio vertical entre info, cantidad y observación.
   ========================================================= */
.cart-item{
    gap:12px!important;
    padding:14px!important;
    margin:0 0 12px!important;
}

.cart-item-title-row{
    padding-bottom:8px!important;
    margin-bottom:6px!important;
}

.cart-item-info small{
    margin-bottom:4px!important;
}

.cart-actions{
    margin-top:4px!important;
    gap:8px!important;
}

.cart-actions button,
.cart-qty-value{
    min-height:40px!important;
}

.cart-item .cart-note-wrap,
#cartItems .cart-note-wrap,
.cart-note-wrap{
    margin:8px 0 0!important;
    padding:14px 14px 12px!important;
}

.cart-item .cart-note-wrap label,
#cartItems .cart-note-wrap label,
.cart-note-wrap label{
    margin:0 0 7px!important;
}

.cart-item .cart-note-wrap textarea.cart-note,
#cartItems .cart-note-wrap textarea.cart-note,
.cart-note-wrap textarea.cart-note{
    min-height:50px!important;
    padding:12px 14px!important;
}

@media(max-width:700px){
    .cart-item{
        gap:10px!important;
        padding:13px!important;
        margin:0 0 10px!important;
    }

    .cart-actions{
        margin-top:2px!important;
        gap:7px!important;
    }

    .cart-item .cart-note-wrap,
    #cartItems .cart-note-wrap,
    .cart-note-wrap{
        margin-top:6px!important;
        padding:13px 13px 11px!important;
    }
}

/* =========================================================
   FIX DEFINITIVO Lucas 2026-05-23:
   Producto compacto adentro + resumen/botón siempre abajo.
   ========================================================= */
.cart-drawer{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto auto auto!important;
    height:100dvh!important;
    overflow:hidden!important;
}

.cart-head{
    flex:0 0 auto!important;
}

.cart-drawer #cartItems,
#cartItems{
    min-height:0!important;
    max-height:none!important;
    height:auto!important;
    flex:unset!important;
    overflow-y:auto!important;
    margin:0!important;
    padding:2px 4px 12px 0!important;
}

.cart-discount-box,
#cartDiscountBox,
.cart-totals-panel,
.checkout-link{
    flex:0 0 auto!important;
}

.cart-discount-box,
#cartDiscountBox{
    margin:10px 0 12px!important;
}

.cart-totals-panel{
    margin-top:0!important;
    padding-top:0!important;
}

.checkout-link{
    align-self:end!important;
    margin-top:10px!important;
}

/* Compactar solamente las secciones internas del producto seleccionado */
#cartItems .cart-item,
.cart-item{
    gap:9px!important;
    padding:13px 14px!important;
    margin:0 0 12px!important;
}

#cartItems .cart-item-title-row,
.cart-item-title-row{
    padding-bottom:7px!important;
    margin-bottom:5px!important;
}

#cartItems .cart-item-info small,
.cart-item-info small{
    margin-bottom:2px!important;
}

#cartItems .cart-actions,
.cart-actions{
    margin-top:2px!important;
    gap:8px!important;
}

#cartItems .cart-actions button,
#cartItems .cart-qty-value,
.cart-actions button,
.cart-qty-value{
    min-height:40px!important;
}

#cartItems .cart-note-wrap,
.cart-item .cart-note-wrap,
.cart-note-wrap{
    margin-top:6px!important;
    padding:13px 14px 12px!important;
}

#cartItems .cart-note-wrap label,
.cart-item .cart-note-wrap label,
.cart-note-wrap label{
    margin-bottom:7px!important;
}

#cartItems .cart-note-wrap textarea.cart-note,
.cart-item .cart-note-wrap textarea.cart-note,
.cart-note-wrap textarea.cart-note{
    min-height:50px!important;
    padding:12px 14px!important;
}

@media(max-width:700px){
    .cart-drawer{
        height:100dvh!important;
        max-height:none!important;
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr) auto auto auto!important;
        overflow:hidden!important;
    }

    .cart-drawer #cartItems,
    #cartItems{
        max-height:none!important;
        min-height:0!important;
        flex:unset!important;
        overflow-y:auto!important;
    }

    #cartItems .cart-item,
    .cart-item{
        gap:8px!important;
        padding:12px 13px!important;
        margin-bottom:10px!important;
    }

    #cartItems .cart-actions,
    .cart-actions{
        margin-top:1px!important;
    }

    #cartItems .cart-note-wrap,
    .cart-item .cart-note-wrap,
    .cart-note-wrap{
        margin-top:5px!important;
        padding:12px 13px 11px!important;
    }
}

/* =========================================================
   AJUSTE DEFINITIVO: footer del carrito fijo abajo + productos compactos
   ========================================================= */
.cart-drawer{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto auto auto!important;
    overflow:hidden!important;
}

.cart-drawer #cartItems{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto!important;
    align-self:stretch!important;
}

#cartDiscountBox,
.cart-totals-panel,
.cart-drawer .checkout-link{
    align-self:end!important;
    flex:0 0 auto!important;
}

/* Compactado aplicado únicamente dentro de cada producto del carrito */
#cartItems .cart-item{
    gap:8px!important;
    padding:12px 13px!important;
    margin-bottom:10px!important;
}

#cartItems .cart-item-title-row{
    padding-bottom:6px!important;
    margin-bottom:4px!important;
}

#cartItems .cart-item-info small{
    margin-bottom:1px!important;
}

#cartItems .cart-actions{
    margin-top:1px!important;
    gap:7px!important;
}

#cartItems .cart-actions button,
#cartItems .cart-qty-value{
    min-height:39px!important;
}

#cartItems .cart-note-wrap{
    margin-top:5px!important;
    padding:12px 13px 11px!important;
}

#cartItems .cart-note-wrap label{
    margin-bottom:6px!important;
}

#cartItems .cart-note-wrap textarea.cart-note{
    min-height:48px!important;
    padding:11px 13px!important;
}

@media(max-width:700px){
    .cart-drawer{
        height:100dvh!important;
        max-height:none!important;
    }

    #cartItems .cart-item{
        gap:7px!important;
        padding:11px 12px!important;
    }

    #cartItems .cart-note-wrap{
        margin-top:4px!important;
    }
}

/* =========================================================
   FIX MOBILE FINAL Lucas 2026-05-23:
   El drawer empieza debajo del header y su alto no supera la pantalla.
   Así el botón Hacer pedido vuelve a quedar visible abajo.
   ========================================================= */
@media(max-width:700px){
    .cart-drawer{
        top:72px!important;
        bottom:0!important;
        left:0!important;
        right:0!important;
        width:100%!important;
        height:calc(100dvh - 72px)!important;
        max-height:calc(100dvh - 72px)!important;
        min-height:0!important;
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr) auto auto auto!important;
        overflow:hidden!important;
        padding:18px 16px max(12px, env(safe-area-inset-bottom))!important;
        border-radius:24px 24px 0 0!important;
        border-left:0!important;
        border-top:1px solid rgba(var(--primary-rgb),.40)!important;
    }

    .cart-drawer #cartItems,
    #cartItems{
        min-height:0!important;
        height:auto!important;
        max-height:none!important;
        overflow-y:auto!important;
        align-self:stretch!important;
        padding:2px 4px 8px 0!important;
        margin:0!important;
    }

    #cartDiscountBox,
    .cart-discount-box,
    .cart-totals-panel,
    .cart-drawer .checkout-link{
        flex:0 0 auto!important;
        align-self:end!important;
    }

    #cartDiscountBox,
    .cart-discount-box{
        margin:8px 0 10px!important;
    }

    .cart-total{
        padding:10px 0!important;
    }

    .cart-grand{
        padding-top:12px!important;
    }

    .cart-help{
        margin:0 0 10px!important;
    }

    .cart-drawer .checkout-link,
    .checkout-link{
        display:grid!important;
        place-items:center!important;
        width:100%!important;
        min-height:54px!important;
        height:54px!important;
        margin:0!important;
        padding:0 14px!important;
        flex:0 0 54px!important;
        visibility:visible!important;
        opacity:1!important;
    }
}

/* =========================================================
   FIX FINAL banner público: encuadre idéntico al backoffice
   50% / 50% = centro real. No se usa translate porque deformaba
   el resultado y podía mostrar la parte superior de la imagen.
   ========================================================= */
.hero-image-card,
.burger-card.hero-image-card {
    position: relative !important;
    overflow: hidden !important;
}

.hero-image-card > img,
.burger-card.hero-image-card > img,
.hero-image-card img {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    display: block !important;
    object-fit: var(--hero-img-fit, cover) !important;
    object-position: var(--hero-img-x, 50%) var(--hero-img-y, 50%) !important;
    transform: scale(var(--hero-img-zoom, 1)) rotate(var(--hero-img-rotate, 0deg)) !important;
    transform-origin: center center !important;
    transition: none !important;
}

.hero-image-card > img[src$="placeholder-demo.svg"],
.hero-image-card img[src$="placeholder-demo.svg"],
.hero-image-card > img[src$="burger-demo.svg"],
.hero-image-card img[src$="burger-demo.svg"] {
    width: 82% !important;
    height: 82% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    transform-origin: center center !important;
}

/* =========================================================
   FIX FINAL Lucas: banner público con el mismo drag directo X/Y
   ========================================================= */
.hero-image-card > img,
.burger-card.hero-image-card > img,
.hero-image-card img {
    object-position: center center !important;
    transform: translate3d(var(--hero-img-pan-x, 0%), var(--hero-img-pan-y, 0%), 0) scale(var(--hero-img-zoom, 1)) rotate(var(--hero-img-rotate, 0deg)) !important;
    transform-origin: center center !important;
}

.hero-image-card > img[src$="placeholder-demo.svg"],
.hero-image-card img[src$="placeholder-demo.svg"],
.hero-image-card > img[src$="burger-demo.svg"],
.hero-image-card img[src$="burger-demo.svg"] {
    transform: none !important;
}

/* =========================================================
   FIX checkout rápido + mobile sin zoom agresivo
   ========================================================= */
.flow-card{
    max-width:860px!important;
}
.flow-step h2{
    letter-spacing:-.05em!important;
}
.phone-code-grid-clean,
.phone-code-grid{
    align-items:stretch!important;
}
.phone-code-grid input,
.checkout-grid input,
.checkout-grid select,
.checkout-grid textarea{
    font-size:16px!important;
    border-radius:10px!important;
    min-height:48px!important;
    box-shadow:none!important;
}
.checkout-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
}
.checkout-grid textarea{
    grid-column:1/-1!important;
    min-height:92px!important;
    resize:vertical!important;
}
.checkout-btn{
    border-radius:13px!important;
    min-height:48px!important;
    padding:0 20px!important;
}
.flow-back{
    margin-top:12px!important;
}
#verifyStatus{
    display:block!important;
    margin-top:12px!important;
    line-height:1.35!important;
}
#verifyStatus.verified{
    color:#27d987!important;
}
@media(max-width:700px){
    .flow-modal{
        padding:10px!important;
        align-items:flex-start!important;
        overflow:auto!important;
    }
    .flow-card{
        width:100%!important;
        margin:10px 0!important;
        padding:22px 14px 18px!important;
        border-radius:16px!important;
        max-height:none!important;
    }
    .flow-close{
        top:12px!important;
        right:12px!important;
        width:38px!important;
        height:38px!important;
        border-radius:10px!important;
    }
    .flow-step h2{
        font-size:32px!important;
        line-height:1!important;
        padding-right:46px!important;
    }
    .flow-step p{
        font-size:14px!important;
        margin-top:8px!important;
    }
    .phone-code-grid,
    .phone-code-grid-clean,
    .checkout-grid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:10px!important;
    }
    .phone-code-grid button,
    .checkout-btn{
        width:100%!important;
        min-height:48px!important;
        border-radius:10px!important;
    }
    .checkout-grid input,
    .checkout-grid select,
    .checkout-grid textarea,
    .phone-code-grid input{
        width:100%!important;
        font-size:16px!important;
        min-height:48px!important;
        padding:13px 14px!important;
        border-radius:10px!important;
    }
    .checkout-grid textarea{
        min-height:86px!important;
    }
}


/* =========================================================
   FIX UX MOBILE 2026-05-23: carrito, campos y checkout rápido
   ========================================================= */
.cart-drawer input,
.cart-drawer textarea,
.cart-drawer select,
.flow-modal input,
.flow-modal textarea,
.flow-modal select,
.checkout-grid input,
.checkout-grid textarea,
.checkout-grid select{
    font-size:16px!important;
    -webkit-text-size-adjust:100%!important;
}

.cart-note,
.cart-note-wrap textarea.cart-note{
    font-size:16px!important;
    line-height:1.35!important;
    touch-action:manipulation!important;
}

.phone-verify-box{
    display:grid!important;
    gap:14px!important;
    margin-top:18px!important;
}

.phone-stage{display:none!important;}
.phone-stage.active{display:block!important;}
.phone-stage label{
    display:block!important;
    color:var(--primary)!important;
    font-size:12px!important;
    font-weight:950!important;
    text-transform:uppercase!important;
    letter-spacing:.5px!important;
    margin:0 0 8px!important;
}

.phone-stage-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 160px!important;
    gap:10px!important;
    align-items:stretch!important;
}

.phone-stage-row input,
.phone-stage-row button{
    min-height:52px!important;
    border-radius:12px!important;
}

.phone-stage-row button{
    border:0!important;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark))!important;
    color:#111!important;
    font-weight:950!important;
    cursor:pointer!important;
}

.phone-change-btn{
    margin-top:10px!important;
    background:transparent!important;
    border:1px solid rgba(255,255,255,.14)!important;
    color:rgba(255,255,255,.75)!important;
    border-radius:10px!important;
    padding:10px 12px!important;
    font-weight:900!important;
}

.payment-help{
    grid-column:1/-1!important;
    border:1px solid rgba(var(--primary-rgb),.30)!important;
    background:rgba(var(--primary-rgb),.08)!important;
    color:#fff!important;
    border-radius:12px!important;
    padding:13px 14px!important;
    font-size:14px!important;
    font-weight:800!important;
    line-height:1.4!important;
}

@media(max-width:700px){
    .cart-drawer{
        touch-action:pan-y!important;
    }

    .phone-stage-row,
    .phone-code-grid,
    .phone-code-grid-clean,
    .checkout-grid{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }

    .flow-card{
        width:calc(100% - 20px)!important;
        max-height:92dvh!important;
        overflow:auto!important;
        border-radius:16px!important;
        padding:22px!important;
    }

    .flow-card h2{
        font-size:30px!important;
        line-height:1.05!important;
    }

    .checkout-grid input,
    .checkout-grid select,
    .checkout-grid textarea,
    .phone-stage-row input,
    .phone-stage-row button{
        min-height:50px!important;
        border-radius:10px!important;
        font-size:16px!important;
    }

    .checkout-grid textarea{
        min-height:92px!important;
    }

    .checkout-btn{
        width:100%!important;
        min-height:52px!important;
        border-radius:12px!important;
    }
}


/* =========================================================
   FIX carrito móvil: cierre solo desde handle superior
   ========================================================= */
.cart-swipe-handle{
    display:none;
}

@media(max-width:700px){
    .cart-drawer{
        touch-action:auto!important;
        will-change:transform;
    }

    .cart-drawer.cart-dragging{
        transition:none!important;
    }

    .cart-swipe-handle{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        height:28px!important;
        width:100%!important;
        padding:2px 0 12px!important;
        cursor:grab!important;
        touch-action:pan-y!important;
        flex:0 0 auto!important;
        user-select:none!important;
    }

    .cart-swipe-handle span{
        display:block!important;
        width:46px!important;
        height:5px!important;
        border-radius:999px!important;
        background:rgba(255,255,255,.28)!important;
        box-shadow:0 1px 0 rgba(255,255,255,.08) inset!important;
    }

    #cartItems{
        touch-action:pan-y!important;
        overscroll-behavior:contain!important;
        -webkit-overflow-scrolling:touch!important;
    }

    .cart-note,
    .cart-note-wrap textarea.cart-note,
    .cart-drawer input,
    .cart-drawer textarea,
    .cart-drawer select{
        font-size:16px!important;
        -webkit-text-size-adjust:100%!important;
    }
}

/* =========================================================
   FIX carrito móvil: bottom sheet manipulable y suave
   ========================================================= */
@media(max-width:700px){
    .cart-drawer{
        --cart-drag-y:0px;
        transform:translateY(calc(var(--cart-drag-y, 0px)))!important;
        transition:transform .24s cubic-bezier(.22,1,.36,1), right .24s ease!important;
        will-change:transform!important;
        overscroll-behavior:contain!important;
    }

    .cart-drawer:not(.open){
        transform:translateY(110%)!important;
    }

    .cart-drawer.open{
        transform:translateY(var(--cart-drag-y, 0px))!important;
    }

    .cart-drawer.cart-dragging{
        transition:none!important;
    }

    .cart-drawer.cart-returning{
        transition:transform .22s cubic-bezier(.18,.9,.25,1)!important;
    }

    .cart-drawer.cart-closing{
        transition:transform .21s cubic-bezier(.55,.04,.67,.94)!important;
    }

    .cart-swipe-handle{
        height:34px!important;
        padding:5px 0 13px!important;
        touch-action:none!important;
        cursor:grab!important;
        -webkit-user-select:none!important;
        user-select:none!important;
    }

    .cart-swipe-handle:active{
        cursor:grabbing!important;
    }

    .cart-swipe-handle span{
        width:52px!important;
        height:5px!important;
        background:rgba(255,255,255,.34)!important;
        transition:background .18s ease, transform .18s ease!important;
    }

    .cart-drawer.cart-dragging .cart-swipe-handle span{
        background:rgba(255,255,255,.52)!important;
        transform:scaleX(1.12)!important;
    }

    #cartItems{
        overscroll-behavior:contain!important;
        -webkit-overflow-scrolling:touch!important;
    }
}
