.sz-app {
    --sz-primary: #e4572e;
    --sz-accent: #f3a712;
    --sz-background: #fffaf5;
    --sz-text: #18201b;
    --sz-card: #ffffff;
    --sz-muted: color-mix(in srgb, var(--sz-text) 62%, transparent);
    --sz-line: color-mix(in srgb, var(--sz-text) 10%, transparent);
    --sz-shadow: 0 14px 36px color-mix(in srgb, var(--sz-text) 11%, transparent);
    position: relative;
    width: 100%;
    max-width: 1180px;
    min-height: 650px;
    margin: 0 auto;
    padding: 0 0 125px;
    overflow: clip;
    color: var(--sz-text);
    background: var(--sz-background);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.45;
    isolation: isolate;
    -webkit-font-smoothing: antialiased;
}

html:has(.sz-standalone-body) { margin: 0 !important; }
.sz-standalone-body { margin: 0; min-height: 100%; background: var(--sz-background, #fffaf5); }
.sz-standalone-body .sz-app { width: 100%; max-width: none; min-height: 100dvh; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.sz-recent-order { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 7px; margin-top: 12px; padding: 8px 11px; border-radius: 99px; color: var(--sz-primary); background: color-mix(in srgb, var(--sz-primary) 9%, white); font-size: 11px; font-weight: 800; text-decoration: none; }
.sz-promo-banner { display: flex; align-items: center; gap: 10px; margin: 14px 18px 0; padding: 12px 14px; border-radius: 15px; color: color-mix(in srgb, var(--sz-text) 88%, #000); background: linear-gradient(135deg, color-mix(in srgb, var(--sz-accent) 28%, white), color-mix(in srgb, var(--sz-primary) 8%, white)); font-size: 12px; font-weight: 750; }
.sz-promo-banner span { font-size: 21px; }
.sz-home-banner { display: block; margin: 15px 18px 0; overflow: hidden; border: 1px solid var(--sz-line); border-radius: 20px; color: var(--sz-text); background: var(--sz-card); box-shadow: 0 10px 28px color-mix(in srgb, var(--sz-text) 8%, transparent); text-decoration: none; }
.sz-home-banner.is-image { aspect-ratio: 3 / 1; }
.sz-home-banner.is-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sz-home-banner.is-text > div { position: relative; display: grid; gap: 3px; min-height: 116px; align-content: center; padding: 20px 104px 20px 20px; overflow: hidden; background: linear-gradient(135deg, color-mix(in srgb, var(--sz-primary) 14%, white), color-mix(in srgb, var(--sz-accent) 26%, white)); }
.sz-home-banner.is-text > div::after { content: '✦'; position: absolute; right: 24px; color: color-mix(in srgb, var(--sz-primary) 48%, transparent); font-size: 64px; transform: rotate(12deg); }
.sz-home-banner.is-text span { color: var(--sz-primary); font-size: 9px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.sz-home-banner.is-text strong { font-size: clamp(17px, 4.5vw, 25px); line-height: 1.08; }
.sz-home-banner.is-text small { margin-top: 4px; color: var(--sz-primary); font-size: 10px; font-weight: 800; }

.sz-app *, .sz-app *::before, .sz-app *::after { box-sizing: border-box; }
.sz-app button, .sz-app input, .sz-app textarea, .sz-app select { font: inherit; }
.sz-app button { cursor: pointer; }
.sz-app button:focus-visible, .sz-app input:focus-visible, .sz-app textarea:focus-visible, .sz-app select:focus-visible { outline: 3px solid color-mix(in srgb, var(--sz-primary) 38%, transparent); outline-offset: 2px; }
.sz-app-loading { display: grid; place-items: center; min-height: 500px; gap: 12px; color: var(--sz-muted); }
.sz-app-loading span { width: 34px; height: 34px; border: 3px solid var(--sz-line); border-top-color: var(--sz-primary); border-radius: 50%; animation: mrSpin .85s linear infinite; }
@keyframes mrSpin { to { transform: rotate(360deg); } }

.sz-hero { position: relative; padding: clamp(28px, 6vw, 64px) clamp(18px, 5vw, 56px) 28px; overflow: hidden; border-radius: 0 0 38px 38px; background: linear-gradient(145deg, color-mix(in srgb, var(--sz-primary) 12%, var(--sz-background)), var(--sz-background) 62%); }
.sz-hero::before { content: ''; position: absolute; top: -115px; right: -95px; width: 260px; height: 260px; border: 60px solid color-mix(in srgb, var(--sz-accent) 20%, transparent); border-radius: 50%; opacity: .55; }
.sz-brand-row { position: relative; z-index: 1; display: flex; align-items: center; gap: 15px; }
.sz-public-logo { display: grid; place-items: center; flex: 0 0 clamp(64px, 16vw, 94px); width: clamp(64px, 16vw, 94px); height: clamp(64px, 16vw, 94px); overflow: hidden; border: 5px solid color-mix(in srgb, white 86%, transparent); border-radius: 26px; color: #fff; background: var(--sz-primary); box-shadow: var(--sz-shadow); font-size: 28px; font-weight: 900; }
.sz-public-logo.has-image { border-color: #fff !important; background: #fff !important; }
.sz-public-logo.is-fallback { background: var(--sz-primary); }
.sz-public-logo img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: contain; object-position: center; background: #fff !important; }
.sz-brand-copy { min-width: 0; }
.sz-eyebrow, .sz-section-title span, .sz-sheet-title span { display: block; margin-bottom: 3px; color: var(--sz-primary); font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.sz-brand-copy h1 { margin: 0; font-size: clamp(26px, 7vw, 43px); line-height: 1.02; letter-spacing: -.045em; text-wrap: balance; }
.sz-brand-copy p { max-width: 560px; margin: 6px 0 0; color: var(--sz-muted); font-size: clamp(13px, 3.7vw, 16px); }
.sz-status { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; margin-top: 17px; padding: 8px 11px; border-radius: 99px; color: #526059; background: color-mix(in srgb, white 72%, transparent); font-size: 12px; font-weight: 750; backdrop-filter: blur(8px); }
.sz-status i { width: 8px; height: 8px; border-radius: 50%; background: #a1aba6; }
.sz-status.is-open i { background: #29a66d; box-shadow: 0 0 0 4px rgba(41,166,109,.13); }
.sz-status.is-closed i { background: #df654f; box-shadow: 0 0 0 4px rgba(223,101,79,.13); }
.sz-search { position: relative; z-index: 1; display: flex; align-items: center; gap: 9px; margin-top: 22px; padding: 0 14px; border: 1px solid color-mix(in srgb, var(--sz-text) 8%, transparent); border-radius: 17px; background: color-mix(in srgb, white 90%, transparent); box-shadow: 0 8px 28px rgba(20, 30, 24, .07); backdrop-filter: blur(12px); }
.sz-search > span { color: var(--sz-primary); font-size: 25px; line-height: 1; transform: rotate(-15deg); }
.sz-search input { flex: 1; width: 100%; height: 54px; padding: 0; border: 0 !important; outline: 0 !important; color: var(--sz-text); background: transparent !important; box-shadow: none !important; }
.sz-search input::placeholder { color: color-mix(in srgb, var(--sz-text) 40%, transparent); }
.sz-search button { width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; color: var(--sz-muted); background: transparent; font-size: 20px; }

.sz-order-warning { display: flex; gap: 10px; align-items: flex-start; margin: 15px 18px 0; padding: 12px 14px; border: 1px solid color-mix(in srgb, #df9547 25%, transparent); border-radius: 15px; color: #7a4d1d; background: #fff6e9; font-size: 12px; }
.sz-order-warning.is-blocked { color: #843f3f; background: #fff0ef; border-color: #f5d0cc; }
.sz-order-warning span { font-size: 18px; }
.sz-order-warning p { margin: 1px 0 0; }

.sz-categories { position: sticky; top: 0; z-index: 25; display: flex; gap: 8px; padding: 14px 18px; overflow-x: auto; background: color-mix(in srgb, var(--sz-background) 92%, transparent); scrollbar-width: none; backdrop-filter: blur(14px); }
.sz-categories::-webkit-scrollbar { display: none; }
.sz-categories button, .sz-categories .sz-category-redirect-link { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 8px 15px; border: 1px solid var(--sz-line); border-radius: 99px; color: var(--sz-muted); background: color-mix(in srgb, var(--sz-card) 84%, transparent); font-size: 13px; font-weight: 730; text-decoration: none; white-space: nowrap; transition: .2s ease; }
.sz-categories button.is-active { color: #fff; border-color: var(--sz-primary); background: var(--sz-primary); box-shadow: 0 7px 18px color-mix(in srgb, var(--sz-primary) 27%, transparent); }

.sz-menu-content { padding: 4px clamp(16px, 4vw, 42px) 20px; }
.sz-featured-section { margin-bottom: 28px; padding: 4px clamp(16px, 4vw, 42px) 0; }
.sz-section-title { display: flex; justify-content: space-between; align-items: end; gap: 14px; margin: 12px 2px 14px; }
.sz-section-title h2 { margin: 0; font-size: clamp(23px, 5.7vw, 34px); line-height: 1.08; letter-spacing: -.035em; }
.sz-section-title > small { color: var(--sz-muted); font-size: 11px; }
.sz-featured-track { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; }
.sz-feature-card { display: flex; align-items: center; gap: 12px; width: 100%; min-width: 0; padding: 9px; border: 1px solid var(--sz-line); border-radius: 20px; color: var(--sz-text); background: var(--sz-card); box-shadow: 0 8px 22px rgba(22, 32, 27, .055); text-align: left; }
.sz-feature-card-link { color: var(--sz-text); text-decoration: none; cursor: pointer; }
.sz-feature-card > div { flex: 0 0 80px; width: 80px; height: 74px; overflow: hidden; border-radius: 14px; background: color-mix(in srgb, var(--sz-accent) 18%, white); }
.sz-feature-card img { width: 100%; height: 100%; object-fit: cover; }
.sz-feature-card > span { display: grid; min-width: 0; gap: 4px; }
.sz-feature-card strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.sz-feature-card small { color: var(--sz-primary); font-weight: 800; }
.sz-feature-card .sz-feature-sku { margin: 0; color: var(--sz-muted); font-size: 9px; font-weight: 800; }
.sz-featured-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.sz-featured-more { min-width: 150px; }
.sz-featured-collapse { min-width: 120px; }
.sz-home-blocks { display: grid; gap: 5px; }
.sz-home-content-block { min-width: 0; margin: 0 0 22px; }
.sz-home-block-grid { margin-bottom: 8px; }
.sz-home-html-content { min-width: 0; overflow-wrap: anywhere; }
.sz-home-html-content img, .sz-home-html-content video, .sz-home-html-content iframe { max-width: 100%; }
.sz-home-html-content img { height: auto; }
.sz-home-category-sections { display: grid; gap: 4px; margin-bottom: 28px; }
.sz-home-category-section { min-width: 0; margin-bottom: 12px; }
.sz-home-category-heading { display: flex; justify-content: space-between; align-items: end; gap: 12px; margin: 12px 2px; }
.sz-home-category-heading > div { min-width: 0; }
.sz-home-category-heading span { color: var(--sz-muted); font-size: 10px; font-weight: 700; }
.sz-home-category-heading h2 { margin: 2px 0 0; font-size: clamp(20px, 4.8vw, 29px); line-height: 1.1; letter-spacing: -.03em; }
.sz-home-category-heading button, .sz-home-category-heading .sz-home-category-link, .sz-home-catalog-link button, .sz-catalog-actions button { display: inline-flex; flex: 0 0 auto; align-items: center; min-height: 38px; padding: 8px 12px; border: 1px solid color-mix(in srgb, var(--sz-primary) 22%, var(--sz-line)); border-radius: 999px; color: var(--sz-primary); background: color-mix(in srgb, var(--sz-primary) 6%, var(--sz-card)); font-size: 10px; font-weight: 800; text-decoration: none; cursor: pointer; }
.sz-home-category-grid { margin-bottom: 8px; }
.sz-home-catalog-link { display: flex; justify-content: center; padding: 4px 0 18px; }
.sz-home-catalog-link button { min-height: 44px; padding-inline: 18px; font-size: 12px; }
.sz-catalog-actions { display: flex; justify-content: flex-end; }
.sz-home-mode-button { white-space: nowrap; }

.sz-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(11px, 3vw, 22px); }
.sz-product-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--sz-line); border-radius: 22px; background: var(--sz-card); box-shadow: 0 8px 25px rgba(22, 32, 27, .055); transition: transform .2s ease, box-shadow .2s ease; cursor: pointer; }
.sz-product-card:hover { transform: translateY(-2px); box-shadow: var(--sz-shadow); }
.sz-product-image { position: relative; aspect-ratio: 1.12 / 1; overflow: hidden; background: color-mix(in srgb, var(--sz-accent) 15%, white); }
.sz-product-image > img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.sz-product-card:hover .sz-product-image > img { transform: scale(1.035); }
.sz-image-placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: color-mix(in srgb, var(--sz-primary) 58%, white); background: linear-gradient(145deg, color-mix(in srgb, var(--sz-primary) 12%, white), color-mix(in srgb, var(--sz-accent) 17%, white)); font-size: 28px; font-weight: 900; }
.sz-product-badge { position: absolute; top: 10px; left: 10px; z-index: 2; max-width: calc(100% - 20px); padding: 5px 9px; overflow: hidden; border-radius: 99px; color: #fff; background: var(--sz-primary); box-shadow: 0 5px 12px color-mix(in srgb, var(--sz-primary) 24%, transparent); font-size: 9px; font-weight: 850; letter-spacing: .035em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.sz-soldout { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: rgba(22, 25, 23, .58); font-size: 13px; font-weight: 800; backdrop-filter: blur(2px); }
.sz-product-card.is-unavailable { opacity: .76; }
.sz-product-copy { display: grid; align-content: space-between; gap: 12px; min-height: 152px; padding: 14px; }
.sz-product-copy h3 { display: -webkit-box; margin: 0; overflow: hidden; font-size: clamp(15px, 4vw, 19px); line-height: 1.18; letter-spacing: -.02em; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.sz-product-sku { display: block; margin-top: 5px; overflow: hidden; color: var(--sz-primary); font-size: 9px; font-weight: 850; letter-spacing: .035em; text-overflow: ellipsis; white-space: nowrap; }
.sz-product-copy p { display: -webkit-box; margin: 6px 0 0; overflow: hidden; color: var(--sz-muted); font-size: 11px; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.sz-product-bottom { display: flex; justify-content: space-between; align-items: end; gap: 7px; }
.sz-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px; min-width: 0; }
.sz-price small { flex-basis: 100%; color: var(--sz-muted); font-size: 9px; }
.sz-price strong { color: var(--sz-primary); font-size: clamp(15px, 4.5vw, 20px); letter-spacing: -.02em; }
.sz-price del { color: var(--sz-muted); font-size: 10px; }
.sz-product-bottom button { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 13px; color: #fff; background: var(--sz-primary); box-shadow: 0 7px 16px color-mix(in srgb, var(--sz-primary) 28%, transparent); font-size: 23px; line-height: 1; }
.sz-product-bottom button:disabled { cursor: not-allowed; opacity: .45; box-shadow: none; }

.sz-empty-state { grid-column: 1 / -1; display: grid; justify-items: center; min-height: 260px; align-content: center; padding: 40px 20px; border: 1px dashed var(--sz-line); border-radius: 24px; color: var(--sz-muted); text-align: center; }
.sz-empty-state > span { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 13px; border-radius: 19px; color: var(--sz-primary); background: color-mix(in srgb, var(--sz-primary) 10%, transparent); font-size: 28px; }
.sz-empty-state strong { color: var(--sz-text); font-size: 18px; }
.sz-empty-state p { max-width: 300px; margin: 5px 0 0; font-size: 13px; }
.sz-public-footer { display: grid; justify-items: center; gap: 4px; padding: 35px 20px 60px; color: var(--sz-muted); text-align: center; }
.sz-public-footer strong { color: var(--sz-text); }
.sz-public-footer a, .sz-public-footer button { padding: 0; border: 0; color: var(--sz-muted); background: transparent; font-size: 10px; text-decoration: none; }
.sz-public-footer button { margin-top: 4px; text-decoration: underline; text-underline-offset: 3px; }
.sz-developer-cta { display: grid; justify-items: center; gap: 6px; width: min(100%, 520px); margin: 22px auto 8px; padding: 20px 18px; border: 1px solid var(--sz-line); border-radius: 20px; background: color-mix(in srgb, var(--sz-primary) 6%, #fff); box-shadow: 0 10px 30px rgba(16,25,20,.05); }
.sz-developer-cta strong { color: var(--sz-text); font-size: 15px; line-height: 1.25; }
.sz-developer-cta span { max-width: 390px; color: var(--sz-muted); font-size: 11px; line-height: 1.5; }
.sz-public-footer .sz-developer-cta a { margin-top: 5px; padding: 9px 14px; border-radius: 999px; color: #fff; background: var(--sz-primary); font-size: 11px; font-weight: 800; text-decoration: none; }
.sz-developer-cta a:hover { opacity: .9; }
.sz-developer-brand { display: grid; justify-items: center; gap: 2px; margin-top: 12px; }
.sz-developer-brand img { display: block; width: 126px; max-height: 44px; object-fit: contain; border-radius: 4px; mix-blend-mode: normal; }
.sz-developer-brand span { font-size: 9px; }

.sz-cart-bar { position: fixed; z-index: 9990; right: max(16px, calc((100vw - 690px) / 2)); bottom: 14px; left: max(16px, calc((100vw - 690px) / 2)); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; min-height: 62px; padding: 9px 15px 9px 10px; border: 1px solid color-mix(in srgb, white 28%, transparent); border-radius: 20px; color: #fff; background: color-mix(in srgb, var(--sz-text) 90%, var(--sz-primary)); box-shadow: 0 14px 38px rgba(16, 25, 20, .26); opacity: 0; pointer-events: none; transform: translateY(22px); transition: .25s ease; backdrop-filter: blur(12px); }
.sz-cart-bar.is-visible { opacity: 1; pointer-events: auto; transform: none; }
.sz-cart-icon { position: relative; display: grid; place-items: center; width: 43px; height: 43px; border-radius: 14px; color: var(--sz-text); background: var(--sz-accent); font-size: 23px; }
.sz-cart-icon b { position: absolute; top: -5px; right: -5px; display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border: 2px solid color-mix(in srgb, var(--sz-text) 90%, var(--sz-primary)); border-radius: 99px; color: #fff; background: var(--sz-primary); font-size: 9px; }
.sz-cart-bar strong { text-align: left; font-size: 14px; }
.sz-cart-bar em { font-size: 14px; font-style: normal; font-weight: 850; }

body.sz-sheet-open { overflow: hidden; }
.sz-sheet-host { position: fixed; z-index: 100000; inset: 0; pointer-events: none; }
.sz-sheet-backdrop { position: absolute; inset: 0; background: rgba(15, 22, 18, .45); opacity: 0; transition: .22s; backdrop-filter: blur(4px); }
.sz-bottom-sheet { position: absolute; right: 0; bottom: 0; left: 0; width: min(100%, 720px); max-height: min(92vh, 900px); margin: auto; overflow: hidden; border-radius: 30px 30px 0 0; color: var(--sz-text); background: var(--sz-background); box-shadow: 0 -18px 60px rgba(10, 18, 13, .23); transform: translateY(102%); transition: .27s cubic-bezier(.22,.78,.28,1); }
.sz-sheet-host.is-open { pointer-events: auto; }
.sz-sheet-host.is-open .sz-sheet-backdrop { opacity: 1; }
.sz-sheet-host.is-open .sz-bottom-sheet { transform: none; }
.sz-sheet-handle { position: absolute; z-index: 3; top: 9px; left: 50%; width: 45px; height: 5px; border-radius: 99px; background: color-mix(in srgb, var(--sz-text) 20%, transparent); transform: translateX(-50%); }
.sz-sheet-close { position: absolute; z-index: 5; top: 18px; right: 16px; display: grid; place-items: center; width: 37px; height: 37px; padding: 0; border: 0; border-radius: 50%; color: var(--sz-text); background: color-mix(in srgb, var(--sz-background) 88%, transparent); box-shadow: 0 5px 15px rgba(18,27,22,.08); font-size: 25px; backdrop-filter: blur(10px); }
.sz-sheet-scroll { max-height: min(92vh, 900px); padding: 27px 18px calc(24px + env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; }

.sz-modal-image { position: relative; display: grid; place-items: center; height: min(45vh, 360px); margin: -27px -18px 19px; overflow: hidden; background: color-mix(in srgb, var(--sz-accent) 18%, white); }
.sz-modal-image img { display: block; width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; object-position: center !important; }
.sz-modal-image > .sz-gallery-main { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; padding: 0; overflow: hidden; border: 0; border-radius: 0; color: inherit; background: transparent; cursor: zoom-in; }
.sz-gallery-main img { transition: opacity .2s ease; }
.sz-gallery-zoom-hint { position: absolute; top: 13px; right: 13px; bottom: auto; z-index: 4; display: inline-flex; align-items: center; gap: 5px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.6); border-radius: 99px; color: #fff; background: rgba(24,32,27,.66); box-shadow: 0 5px 16px rgba(20,25,22,.15); font-size: 10px; font-weight: 750; backdrop-filter: blur(9px); }
.sz-gallery-zoom-hint span { font-size: 18px; line-height: .8; }
.sz-modal-image .sz-product-badge { top: 20px; left: 18px; }
.sz-modal-image.has-gallery { touch-action: pan-y; user-select: none; }
.sz-gallery-arrow { position: absolute; z-index: 3; top: 50%; display: grid; place-items: center; width: 42px; height: 42px; padding: 0 0 3px; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; color: var(--sz-text); background: rgba(255,255,255,.88); box-shadow: 0 5px 18px rgba(20,25,22,.18); font-size: 31px !important; line-height: 1; transform: translateY(-50%); backdrop-filter: blur(8px); }
.sz-gallery-arrow.is-previous { left: 13px; }
.sz-gallery-arrow.is-next { right: 13px; }
.sz-gallery-arrow:hover { background: #fff; transform: translateY(-50%) scale(1.04); }
.sz-gallery-count { position: absolute; right: 14px; bottom: 13px; z-index: 3; min-width: 48px; padding: 5px 9px; border: 1px solid rgba(255,255,255,.45); border-radius: 99px; color: #fff; background: rgba(24,32,27,.62); font-size: 10px; font-weight: 800; text-align: center; backdrop-filter: blur(8px); }
.sz-gallery-thumbnails { display: flex; gap: 8px; margin: -10px 0 20px; padding: 2px 1px 7px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
.sz-gallery-thumb { flex: 0 0 62px; width: 62px; height: 62px; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 11px; background: var(--sz-card); opacity: .72; transition: border-color .18s ease, opacity .18s ease, transform .18s ease; }
.sz-gallery-thumb:hover { opacity: 1; transform: translateY(-1px); }
.sz-gallery-thumb.is-active { border-color: var(--sz-primary); opacity: 1; box-shadow: 0 4px 12px color-mix(in srgb, var(--sz-primary) 20%, transparent); }
.sz-gallery-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sz-gallery-lightbox-open { overflow: hidden !important; }
.sz-gallery-lightbox { position: fixed; z-index: 2147483000; inset: 0; display: grid; place-items: center; padding: max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)); color: var(--sz-text, #18201b); background: rgba(15,20,17,.93); font: 14px/1.4 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; isolation: isolate; }
.sz-gallery-lightbox-backdrop { position: absolute; inset: 0; background: rgba(15,20,17,.58); backdrop-filter: blur(12px); }
.sz-gallery-lightbox-panel { position: relative; z-index: 1; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: min(100%, 1320px); height: min(100%, 980px); min-height: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: clamp(18px, 2.8vw, 30px); color: var(--sz-text, #18201b); background: color-mix(in srgb, var(--sz-background, #fffaf5) 94%, transparent); box-shadow: 0 24px 90px rgba(0,0,0,.32); }
.sz-gallery-lightbox-header, .sz-gallery-lightbox-footer { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 17px; }
.sz-gallery-lightbox-header { border-bottom: 1px solid var(--sz-line, rgba(24,32,27,.1)); }
.sz-gallery-lightbox-header strong { overflow: hidden; font-size: 14px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.sz-gallery-lightbox-header button { display: grid; flex: 0 0 40px; place-items: center; width: 40px; height: 40px; padding: 0 0 2px; border: 1px solid var(--sz-line, rgba(24,32,27,.1)); border-radius: 50%; color: var(--sz-text, #18201b); background: var(--sz-card, #fff); font: 28px/1 sans-serif; cursor: pointer; }
.sz-gallery-lightbox-stage { position: relative; display: grid; place-items: center; min-height: 0; overflow: hidden; background: linear-gradient(145deg, color-mix(in srgb, var(--sz-primary, #e4572e) 8%, #fff), color-mix(in srgb, var(--sz-accent, #f3a712) 13%, #fff)); touch-action: pan-y; user-select: none; }
.sz-gallery-lightbox-blur { position: absolute !important; z-index: 0; inset: 0; display: block !important; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: cover !important; filter: blur(24px) saturate(.8); opacity: .22; transform: scale(1.08); }
.sz-gallery-lightbox-stage > img[data-gallery-lightbox-main] { position: relative; z-index: 1; display: block; width: 100% !important; height: 100% !important; min-width: 0 !important; min-height: 0 !important; max-width: 100% !important; max-height: 100% !important; padding: 0 !important; object-fit: contain !important; object-position: center !important; filter: drop-shadow(0 14px 32px rgba(8,14,10,.22)); }
.sz-gallery-lightbox-arrow { position: absolute; z-index: 2; top: 50%; display: grid; place-items: center; width: 50px; height: 50px; padding: 0 0 4px; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; color: var(--sz-text, #18201b); background: rgba(255,255,255,.88); box-shadow: 0 8px 24px rgba(12,18,14,.2); font: 36px/1 sans-serif; cursor: pointer; transform: translateY(-50%); backdrop-filter: blur(10px); }
.sz-gallery-lightbox-arrow.is-previous { left: 16px; }
.sz-gallery-lightbox-arrow.is-next { right: 16px; }
.sz-gallery-lightbox-arrow[hidden] { display: none; }
.sz-gallery-lightbox-footer { min-height: 49px; border-top: 1px solid var(--sz-line, rgba(24,32,27,.1)); }
.sz-gallery-lightbox-footer > span { padding: 5px 10px; border-radius: 99px; color: var(--sz-text, #18201b); background: color-mix(in srgb, var(--sz-primary, #e4572e) 13%, white); font-size: 11px; font-weight: 850; }
.sz-gallery-lightbox-footer small { color: var(--sz-muted, #6d756f); font-size: 10px; }
.sz-modal-copy h2 { margin: 0; padding-right: 45px; font-size: 27px; line-height: 1.08; letter-spacing: -.035em; }
.sz-modal-copy .sz-product-sku { margin-top: 7px; font-size: 10px; }
.sz-modal-copy p { margin: 8px 0 20px; color: var(--sz-muted); font-size: 13px; }
.sz-share-product { display: grid; gap: 10px; margin: 0 0 19px; padding: 14px; border: 1px solid var(--sz-line); border-radius: 16px; background: var(--sz-card); }
.sz-share-product > strong { font-size: 13px; }
.sz-share-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.sz-share-action { display: grid; place-items: center; min-width: 0; min-height: 39px; padding: 7px 6px; border: 1px solid var(--sz-line); border-radius: 11px; color: var(--sz-text); background: var(--sz-background); font-size: 10px !important; font-weight: 750; line-height: 1.15; text-align: center; text-decoration: none; }
.sz-share-action.is-primary { border-color: var(--sz-primary); color: #fff; background: var(--sz-primary); }
.sz-share-action.is-whatsapp { border-color: #b7e5c8; color: #17683c; background: #effaf3; }
.sz-share-link { display: grid; gap: 5px; min-width: 0; }
.sz-share-link span { color: var(--sz-muted); font-size: 10px; font-weight: 750; }
.sz-share-link input { width: 100%; min-width: 0; min-height: 38px; padding: 8px 10px; border: 1px solid var(--sz-line); border-radius: 9px; color: var(--sz-text); background: var(--sz-background); font: 10px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace; }
.sz-share-feedback { min-height: 14px; color: var(--sz-muted); font-size: 10px; }
@media (max-width: 360px) { .sz-share-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sz-option-group, .sz-methods { margin: 0 0 20px; padding: 0; border: 0; }
.sz-option-group legend, .sz-methods legend { width: 100%; margin-bottom: 9px; font-size: 14px; font-weight: 820; }
.sz-option-row { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 9px 12px; border-bottom: 1px solid var(--sz-line); cursor: pointer; }
.sz-option-row input { position: absolute; opacity: 0; }
.sz-option-row > span { display: grid; flex: 1; }
.sz-option-row strong { font-size: 13px; }
.sz-option-row small { color: var(--sz-muted); font-size: 11px; }
.sz-option-row i { position: relative; width: 22px; height: 22px; border: 2px solid color-mix(in srgb, var(--sz-text) 20%, transparent); border-radius: 50%; }
.sz-option-row input[type="checkbox"] + span + i { border-radius: 7px; }
.sz-option-row input:checked + span + i { border-color: var(--sz-primary); background: var(--sz-primary); box-shadow: inset 0 0 0 4px var(--sz-background); }
.sz-notes-field { display: grid; gap: 7px; margin-bottom: 20px; }
.sz-notes-field span { font-size: 14px; font-weight: 820; }
.sz-notes-field textarea, .sz-notes-field select, .sz-notes-field input[type="text"], .sz-notes-field input[type="file"], .sz-customer-fields input, .sz-customer-fields select { box-sizing: border-box; width: 100%; min-height: 49px; padding: 11px 12px; border: 1px solid var(--sz-line) !important; border-radius: 13px; color: var(--sz-text); background: var(--sz-card) !important; box-shadow: none !important; resize: vertical; }
.sz-notes-field input[type="file"] { min-height: 0; }
.sz-customer-personalization-help { display: block; margin: -6px 0 14px; color: var(--sz-muted); font-size: 12px; }
.sz-product-action { position: sticky; bottom: calc(-24px - env(safe-area-inset-bottom)); z-index: 4; display: grid; grid-template-columns: auto 1fr; gap: 9px; margin: 6px -18px calc(-24px - env(safe-area-inset-bottom)); padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--sz-line); background: color-mix(in srgb, var(--sz-background) 92%, transparent); backdrop-filter: blur(14px); }
.sz-quantity { display: grid; grid-template-columns: 35px 32px 35px; align-items: center; border: 1px solid var(--sz-line); border-radius: 14px; background: var(--sz-card); }
.sz-quantity button { height: 48px; padding: 0; border: 0; color: var(--sz-text); background: transparent; font-size: 20px; }
.sz-quantity strong { text-align: center; font-size: 13px; }
.sz-quantity-fixed { grid-template-columns: 1fr; min-width: 68px; min-height: 50px; }
.sz-primary-button { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 50px; padding: 10px 16px; border: 0; border-radius: 14px; color: #fff; background: var(--sz-primary); box-shadow: 0 8px 22px color-mix(in srgb, var(--sz-primary) 25%, transparent); font-size: 13px; }
.sz-primary-button:disabled { opacity: .45; box-shadow: none; cursor: not-allowed; }
.sz-primary-button strong { font-size: 14px; }
.sz-full-button { width: 100%; margin-top: 15px; }

.sz-sheet-title { margin: 8px 0 20px; }
.sz-sheet-title h2 { margin: 0; padding-right: 44px; font-size: 28px; line-height: 1.08; letter-spacing: -.04em; }
.sz-cart-items { display: grid; gap: 11px; }
.sz-cart-item { display: grid; grid-template-columns: 62px 1fr auto; gap: 11px; align-items: start; padding: 10px; border: 1px solid var(--sz-line); border-radius: 17px; background: var(--sz-card); }
.sz-cart-thumb { display: grid; place-items: center; width: 62px; height: 62px; overflow: hidden; border-radius: 13px; color: var(--sz-primary); background: color-mix(in srgb, var(--sz-primary) 10%, transparent); font-weight: 850; }
.sz-cart-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sz-cart-item-copy { display: grid; min-width: 0; gap: 2px; }
.sz-cart-item-copy > strong { font-size: 13px; }
.sz-cart-item-copy small { overflow: hidden; color: var(--sz-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.sz-cart-item-copy .sz-product-sku { margin: 0; color: var(--sz-primary); font-size: 9px; }
.sz-cart-item-copy button { width: max-content; margin-top: 4px; padding: 0; border: 0; color: #bf4d43; background: transparent; font-size: 10px; }
.sz-cart-side { display: grid; justify-items: end; gap: 9px; }
.sz-cart-side > strong { color: var(--sz-primary); font-size: 12px; }
.sz-small-quantity { display: grid; grid-template-columns: 27px 24px 27px; align-items: center; overflow: hidden; border: 1px solid var(--sz-line); border-radius: 10px; }
.sz-small-quantity button { height: 28px; padding: 0; border: 0; color: var(--sz-text); background: transparent; }
.sz-small-quantity span { text-align: center; font-size: 11px; }
.sz-cart-summary, .sz-checkout-summary { display: grid; gap: 7px; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--sz-line); }
.sz-checkout-items { display: grid; gap: 7px; margin-top: 18px; padding: 12px; border: 1px solid var(--sz-line); border-radius: 15px; background: var(--sz-card); }
.sz-checkout-shipping { display: grid; gap: 7px; margin-top: 12px; }
.sz-checkout-shipping > span { color: var(--sz-muted); font-size: 11px; font-weight: 750; }
.sz-checkout-shipping select { width: 100%; min-height: 44px; padding: 9px 35px 9px 11px; border: 1px solid var(--sz-line); border-radius: 11px; color: var(--sz-text); background: var(--sz-card); }
.sz-whatsapp-total { margin-top: 5px; padding-top: 12px; border-top: 1px solid var(--sz-line); color: var(--sz-text) !important; font-size: 15px !important; font-weight: 850; }
.sz-checkout-item { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--sz-line); }
.sz-checkout-item:last-child { border-bottom: 0; }
.sz-checkout-item > span { display: grid; min-width: 0; }
.sz-checkout-item strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.sz-checkout-item .sz-product-sku { margin: 2px 0 0; font-size: 9px; }
.sz-checkout-item > span > small:not(.sz-product-sku) { color: var(--sz-muted); font-size: 9px; }
.sz-checkout-item > b { flex: 0 0 auto; color: var(--sz-primary); font-size: 11px; }
.sz-cart-summary span, .sz-checkout-summary span { display: flex; justify-content: space-between; gap: 12px; color: var(--sz-muted); font-size: 12px; }
.sz-cart-summary strong, .sz-checkout-summary strong { color: var(--sz-text); }
.sz-form-alert { margin: 12px 0 0; padding: 10px 12px; border-radius: 12px; color: #894b16; background: #fff3df; font-size: 11px; }

.sz-back-button { padding: 0; border: 0; color: var(--sz-primary); background: transparent; font-size: 12px; font-weight: 750; }
.sz-methods > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.sz-method-card { position: relative; display: grid; justify-items: center; gap: 5px; min-height: 100px; align-content: center; padding: 9px; border: 2px solid transparent; border-radius: 16px; background: var(--sz-card); box-shadow: 0 5px 16px rgba(20,31,24,.06); text-align: center; cursor: pointer; }
.sz-method-card input { position: absolute; opacity: 0; }
.sz-method-card:has(input:checked) { border-color: var(--sz-primary); background: color-mix(in srgb, var(--sz-primary) 6%, var(--sz-card)); }
.sz-method-card > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: var(--sz-primary); background: color-mix(in srgb, var(--sz-primary) 9%, transparent); font-size: 19px; }
.sz-method-card strong { font-size: 10px; line-height: 1.2; }
.sz-method-card i { position: absolute; top: 7px; right: 7px; width: 13px; height: 13px; border: 1px solid var(--sz-line); border-radius: 50%; }
.sz-method-card input:checked ~ i { border-color: var(--sz-primary); background: var(--sz-primary); box-shadow: inset 0 0 0 3px var(--sz-card); }
.sz-payment-methods { margin-top: 18px; }
.sz-payment-method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.sz-payment-card { grid-template-columns: 34px minmax(0, 1fr); grid-template-rows: auto auto; justify-items: start; align-content: center; min-height: 76px; padding: 10px 12px; text-align: left; }
.sz-payment-card > span { grid-row: 1 / span 2; }
.sz-payment-card > strong { align-self: end; font-size: 11px; }
.sz-payment-card > small { color: var(--sz-muted); font-size: 9px; line-height: 1.3; }
.sz-payment-card > i { top: 8px; right: 8px; }
.sz-customer-fields { display: grid; gap: 11px; }
.sz-cart-customer-fields { margin: 15px 0; padding: 15px; border: 1px solid var(--sz-line); border-radius: 16px; background: color-mix(in srgb, var(--sz-card) 88%, var(--sz-background)); }
.sz-cart-customer-fields h3 { margin: 0; font-size: 14px; }
.sz-cart-customer-fields > small { color: var(--sz-muted); font-size: 10px; line-height: 1.45; }
.sz-cart-customer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sz-cart-customer-fields input { width: 100%; min-width: 0; min-height: 44px; padding: 9px 10px; border: 1px solid var(--sz-line) !important; border-radius: 11px; color: var(--sz-text); background: var(--sz-card) !important; box-shadow: none !important; }
.sz-cart-native-note { display: block; margin-top: 13px; color: var(--sz-muted); font-size: 10px; line-height: 1.5; }
.sz-customer-fields label { display: grid; gap: 6px; }
.sz-customer-fields label > span { color: var(--sz-muted); font-size: 11px; font-weight: 700; }
.sz-customer-fields [hidden] { display: none !important; }
.sz-checkout-summary [hidden] { display: none !important; }
.sz-checkout-summary b { font-weight: 650; }
.sz-checkout-summary .is-total { margin-top: 6px; padding-top: 11px; border-top: 1px solid var(--sz-line); color: var(--sz-text); font-size: 15px; font-weight: 820; }
.sz-whatsapp-button { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; width: 100%; min-height: 58px; margin-top: 15px; padding: 9px 14px 9px 10px; border: 0; border-radius: 17px; color: #fff; background: #1fae62; box-shadow: 0 10px 24px rgba(31,174,98,.24); }
.sz-whatsapp-button.is-payphone { background: var(--sz-primary); box-shadow: 0 10px 24px color-mix(in srgb, var(--sz-primary) 24%, transparent); }
.sz-whatsapp-button .sz-whatsapp-mark { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 13px; background: rgba(255,255,255,.18); font-size: 22px; }
.sz-whatsapp-button strong { text-align: left; font-size: 12px; }
.sz-whatsapp-button em { font-size: 12px; font-style: normal; font-weight: 850; }
.sz-whatsapp-button:disabled { opacity: .62; cursor: wait; }
.sz-order-success { display: grid; justify-items: center; padding: 28px 2px 10px; text-align: center; }
.sz-success-mark { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 23px; color: #fff; background: #22a869; box-shadow: 0 12px 28px rgba(34,168,105,.24); font-size: 30px; }
.sz-order-success h2 { margin: 17px 0 4px; font-size: 26px; }
.sz-order-success > strong { color: var(--sz-primary); font-size: 22px; letter-spacing: .06em; }
.sz-order-success p { max-width: 360px; color: var(--sz-muted); font-size: 12px; }
.sz-success-actions { display: grid; width: 100%; gap: 9px; margin-top: 14px; }
.sz-success-actions a { display: flex; justify-content: center; align-items: center; min-height: 50px; border-radius: 14px; color: #fff; background: var(--sz-primary); font-size: 12px; font-weight: 800; text-decoration: none; }
.sz-success-actions a.is-whatsapp { background: #20a964; }
.sz-toast { position: fixed; z-index: 100010; right: 50%; bottom: 90px; max-width: calc(100vw - 32px); padding: 10px 14px; border-radius: 99px; color: #fff; background: #1e2a23; box-shadow: 0 10px 28px rgba(13,21,16,.2); opacity: 0; pointer-events: none; transform: translate(50%, 12px); transition: .2s; font-size: 11px; font-weight: 700; white-space: nowrap; }
.sz-toast.is-visible { opacity: 1; transform: translate(50%, 0); }
.sz-noscript { margin: 20px; padding: 14px; border-radius: 12px; background: #fff0df; }
.sz-policies { padding-top: 4px; }
.sz-policies section { margin-top: 13px; padding: 15px; border: 1px solid var(--sz-line); border-radius: 15px; background: var(--sz-card); }
.sz-policies h3 { margin: 0 0 7px; font-size: 14px; }
.sz-policies p { margin: 0; color: var(--sz-muted); font-size: 12px; line-height: 1.65; }

/* Brasa: immersive dark header and stronger cards. */
.sz-template-brasa .sz-hero { color: #fff; background: radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--sz-accent) 26%, transparent), transparent 36%), linear-gradient(145deg, color-mix(in srgb, var(--sz-text) 82%, #000), color-mix(in srgb, var(--sz-primary) 52%, #151817)); }
.sz-template-brasa .sz-hero::before { opacity: .25; }
.sz-template-brasa .sz-brand-copy p, .sz-template-brasa .sz-status { color: rgba(255,255,255,.72); }
.sz-template-brasa .sz-eyebrow { color: var(--sz-accent); }
.sz-template-brasa .sz-status { background: rgba(255,255,255,.12); }
.sz-template-brasa .sz-product-card { border-radius: 16px; }
.sz-template-brasa .sz-product-image { aspect-ratio: 1 / 1.05; }
.sz-template-brasa .sz-product-bottom button { border-radius: 50%; }

/* Boutique: editorial details and restrained geometry. */
.sz-template-boutique { font-family: Georgia, "Times New Roman", serif; }
.sz-template-boutique .sz-brand-copy p, .sz-template-boutique .sz-status, .sz-template-boutique .sz-search input, .sz-template-boutique .sz-categories, .sz-template-boutique .sz-product-copy p, .sz-template-boutique .sz-section-title span, .sz-template-boutique .sz-eyebrow, .sz-template-boutique .sz-sheet-scroll { font-family: Inter, ui-sans-serif, sans-serif; }
.sz-template-boutique .sz-hero { border-radius: 0; background: linear-gradient(120deg, color-mix(in srgb, var(--sz-primary) 7%, var(--sz-background)), var(--sz-background)); }
.sz-template-boutique .sz-public-logo, .sz-template-boutique .sz-search, .sz-template-boutique .sz-product-card, .sz-template-boutique .sz-product-image, .sz-template-boutique .sz-product-bottom button, .sz-template-boutique .sz-feature-card { border-radius: 4px; }
.sz-template-boutique .sz-product-copy h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 600; }
.sz-template-boutique .sz-price strong { color: var(--sz-text); }

@media (min-width: 760px) {
    .sz-app { margin-block: 25px; border: 1px solid var(--sz-line); border-radius: 34px; box-shadow: 0 25px 80px rgba(17, 27, 21, .1); }
    .sz-categories { flex-wrap: wrap; justify-content: center; overflow: visible; }
    .sz-categories button, .sz-categories .sz-category-redirect-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; white-space: nowrap; }
    .sz-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sz-cart-bar { right: calc((100vw - min(690px, 100vw - 32px)) / 2); left: calc((100vw - min(690px, 100vw - 32px)) / 2); }
}

/* Pantalla independiente de seguimiento, sin cabecera ni catálogo del tema. */
.sz-tracking-app { --sz-card:#fff; --sz-muted:color-mix(in srgb,var(--sz-text) 62%,transparent); --sz-line:color-mix(in srgb,var(--sz-text) 10%,transparent); min-height:100dvh;padding:0 16px 50px;color:var(--sz-text);background:radial-gradient(circle at 90% 2%,color-mix(in srgb,var(--sz-accent) 24%,transparent),transparent 28%),var(--sz-background);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}.sz-tracking-app *{box-sizing:border-box}.sz-tracking-header{display:flex;justify-content:space-between;align-items:center;width:min(100%,680px);min-height:84px;margin:auto}.sz-tracking-brand{display:flex;align-items:center;gap:10px}.sz-tracking-brand>img,.sz-tracking-brand>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;object-fit:contain;color:#fff;background:var(--sz-primary);font-weight:900}.sz-tracking-brand p{display:grid;margin:0}.sz-tracking-brand small{color:var(--sz-muted);font-size:10px}.sz-tracking-header>a{padding:8px 12px;border-radius:99px;color:var(--sz-primary);background:color-mix(in srgb,var(--sz-primary) 9%,white);font-size:11px;font-weight:800;text-decoration:none}.sz-tracking-card{width:min(100%,680px);margin:22px auto 0;padding:clamp(22px,6vw,42px);border:1px solid var(--sz-line);border-radius:28px;background:var(--sz-card);box-shadow:0 22px 70px color-mix(in srgb,var(--sz-text) 10%,transparent)}.sz-tracking-eyebrow{color:var(--sz-primary);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.sz-tracking-card h1{margin:4px 0 0;font-size:clamp(31px,9vw,54px);letter-spacing:-.05em}.sz-tracking-card>p{margin:2px 0 20px;color:var(--sz-muted);font-size:12px}.sz-current-status{display:flex;align-items:center;gap:9px;padding:13px;border-radius:15px;color:#1b7549;background:#e8f7ed}.sz-current-status i{width:10px;height:10px;border-radius:50%;background:#26a967;box-shadow:0 0 0 5px rgba(38,169,103,.13)}.sz-timeline{display:grid;margin:24px 0}.sz-timeline>div{position:relative;display:grid;grid-template-columns:30px 1fr;gap:10px;min-height:58px}.sz-timeline>div:not(:last-child):before{content:"";position:absolute;top:28px;bottom:-3px;left:14px;width:2px;background:var(--sz-line)}.sz-timeline>div.is-done:not(:last-child):before{background:color-mix(in srgb,var(--sz-primary) 45%,var(--sz-line))}.sz-timeline>div>span{z-index:1;display:grid;place-items:center;width:30px;height:30px;border:2px solid var(--sz-line);border-radius:50%;color:#fff;background:#fff;font-size:11px}.sz-timeline>div.is-done>span{border-color:var(--sz-primary);background:var(--sz-primary)}.sz-timeline p{display:grid;margin:4px 0}.sz-timeline p strong{font-size:13px}.sz-timeline p small{color:var(--sz-muted);font-size:10px}.sz-tracking-summary{display:grid;gap:8px;padding:16px 0;border-block:1px solid var(--sz-line)}.sz-tracking-summary span{display:flex;justify-content:space-between;color:var(--sz-muted);font-size:12px}.sz-tracking-summary strong{color:var(--sz-text)}.sz-tracking-whatsapp,.sz-tracking-empty a{display:flex;justify-content:center;align-items:center;min-height:52px;margin-top:18px;border-radius:15px;color:#fff;background:#20a964;font-size:12px;font-weight:800;text-decoration:none}.sz-tracking-app footer{padding:26px;color:var(--sz-muted);font-size:9px;text-align:center}.sz-tracking-empty{display:grid;justify-items:center;width:min(100%,520px);min-height:100dvh;align-content:center;margin:auto;text-align:center}.sz-tracking-empty>span{display:grid;place-items:center;width:66px;height:66px;border-radius:22px;color:#fff;background:var(--sz-primary);font-size:28px}.sz-tracking-empty h1{margin:16px 0 3px}.sz-tracking-empty p{max-width:360px;margin:0;color:var(--sz-muted)}.sz-tracking-empty a{width:100%;background:var(--sz-primary)}

@media (min-width: 1050px) {
    .sz-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 390px) {
    .sz-hero { padding-inline: 15px; }
    .sz-public-logo { flex-basis: 60px; width: 60px; height: 60px; border-width: 3px; border-radius: 19px; }
    .sz-product-grid { gap: 9px; }
    .sz-product-copy { min-height: 148px; padding: 11px; }
    .sz-product-copy p { -webkit-line-clamp: 1; }
    .sz-product-bottom button { flex-basis: 34px; width: 34px; height: 34px; }
    .sz-methods > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sz-cart-customer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    .sz-home-category-heading { align-items: flex-start; flex-direction: column; }
    .sz-home-category-heading button, .sz-home-category-heading .sz-home-category-link { align-self: flex-start; }
    .sz-catalog-actions { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
    .sz-app *, .sz-app *::before, .sz-app *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* v3.0.5 — carga progresiva del catálogo. */
.sz-product-loader { grid-column: 1 / -1; display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 54px; padding: 12px; color: var(--sz-muted); font-size: 10px; font-weight: 750; }
.sz-product-loader > span { width: 15px; height: 15px; border: 2px solid color-mix(in srgb, var(--sz-primary) 18%, transparent); border-top-color: var(--sz-primary); border-radius: 50%; animation: sz-product-loader-spin .75s linear infinite; }
.sz-load-more { min-height: 42px; padding: 9px 14px; border: 1px solid color-mix(in srgb, var(--sz-primary) 20%, transparent); border-radius: 999px; color: var(--sz-primary); background: color-mix(in srgb, var(--sz-primary) 7%, white); font-size: 10px; font-weight: 850; cursor: pointer; }
@keyframes sz-product-loader-spin { to { transform: rotate(360deg); } }

/* Recibo, aviso de factura e impresión. */
.sz-invoice-success{padding:12px 14px;border:1px solid color-mix(in srgb,var(--sz-primary) 18%,transparent);border-radius:13px;background:color-mix(in srgb,var(--sz-primary) 6%,white)}
.sz-invoice-success strong{display:block;margin-top:3px;color:var(--sz-text)}
.sz-success-actions button{min-height:45px;padding:10px 15px;border:0;border-radius:13px;color:var(--sz-primary);background:color-mix(in srgb,var(--sz-primary) 9%,white);font-size:11px;font-weight:800;cursor:pointer}
.sz-customer-fields label>small{color:var(--sz-muted);font-size:10px}
.sz-customer-receipt{display:grid;gap:7px;margin:20px 0;padding:15px;border:1px solid var(--sz-line);border-radius:15px;background:color-mix(in srgb,var(--sz-background) 45%,white)}
.sz-customer-receipt>strong{margin-bottom:3px;font-size:13px}.sz-customer-receipt>small{color:var(--sz-muted);font-size:10px;line-height:1.4}.sz-customer-receipt span{display:flex;justify-content:space-between;gap:12px;color:var(--sz-muted);font-size:11px}.sz-customer-receipt b{color:var(--sz-text);font-weight:650}.sz-customer-receipt em{font-style:normal;white-space:nowrap}
.sz-invoice-notice{padding:13px;border-radius:14px;color:var(--sz-muted);background:color-mix(in srgb,var(--sz-accent) 13%,white);font-size:11px!important;line-height:1.5}.sz-invoice-notice strong{display:block;color:var(--sz-text)}
.sz-tracking-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.sz-tracking-actions button,.sz-tracking-actions a{display:flex;justify-content:center;align-items:center;min-height:52px;margin:0;padding:10px;border:0;border-radius:15px;font-size:11px;font-weight:800;cursor:pointer}.sz-tracking-actions button{color:var(--sz-primary);background:color-mix(in srgb,var(--sz-primary) 9%,white)}
@media(max-width:520px){.sz-tracking-actions{grid-template-columns:1fr}}
@media print{.sz-standalone-body{background:#fff!important}.sz-tracking-app{min-height:auto;padding:0;background:#fff!important}.sz-tracking-header>a,.sz-current-status,.sz-timeline,.sz-tracking-actions{display:none!important}.sz-tracking-header{min-height:58px}.sz-tracking-card{width:100%;margin:0;padding:20px;border:0;border-radius:0;box-shadow:none}.sz-tracking-app footer{padding:15px}.sz-tracking-card h1{font-size:32px}.sz-customer-receipt{break-inside:avoid}}

.sz-tracking-app footer .sz-developer-cta { margin: 18px auto 12px; }
.sz-tracking-app footer .sz-developer-cta a { display:inline-flex; padding:9px 14px; border-radius:999px; color:#fff; background:var(--sz-primary); font-size:11px; font-weight:800; text-decoration:none; }

/* v2.6.0 — cuenta privada de cliente, exclusiva del catálogo dla tienda */
.sz-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.sz-account-button{min-height:36px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--sz-primary) 18%,transparent);border-radius:999px;color:var(--sz-primary);background:color-mix(in srgb,var(--sz-primary) 7%,white);font-size:10px;font-weight:800;cursor:pointer;text-decoration:none!important}
.sz-customer-checkout-state{display:grid;gap:7px;padding:13px;border:1px solid color-mix(in srgb,var(--sz-primary) 16%,var(--sz-line));border-radius:14px;background:color-mix(in srgb,var(--sz-primary) 4%,white)}
.sz-customer-checkout-state>strong{font-size:12px}.sz-customer-checkout-state>span,.sz-customer-checkout-state>small{color:var(--sz-muted);font-size:10px;line-height:1.45}.sz-customer-checkout-state input{width:100%;min-height:47px;padding:10px 12px;border:1px solid var(--sz-line);border-radius:12px;color:var(--sz-text);background:#fff}.sz-customer-checkout-state.is-logged{border-color:color-mix(in srgb,var(--sz-primary) 25%,var(--sz-line));background:color-mix(in srgb,var(--sz-primary) 8%,white)}
.sz-link-button{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:34px;padding:6px 9px;border:0;border-radius:9px;color:var(--sz-primary);background:transparent;font-size:10px;font-weight:800;cursor:pointer}
.sz-customer-account{display:grid;gap:13px}.sz-customer-account>p{margin:0;color:var(--sz-muted);font-size:11px;line-height:1.55}.sz-customer-account label{display:grid;gap:6px}.sz-customer-account label>span{color:var(--sz-muted);font-size:10px;font-weight:750}.sz-customer-account input{width:100%;min-height:49px;padding:11px 12px;border:1px solid var(--sz-line);border-radius:13px;color:var(--sz-text);background:#fff}.sz-customer-account section{display:grid;gap:8px}.sz-customer-account h3{margin:4px 0 0;font-size:13px}.sz-full-button{width:100%}
.sz-customer-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sz-customer-summary span{display:grid;gap:2px;padding:12px;border-radius:13px;background:color-mix(in srgb,var(--sz-primary) 6%,white);color:var(--sz-muted);font-size:9px}.sz-customer-summary strong{color:var(--sz-text);font-size:17px}
.sz-customer-contact-card{display:grid;gap:2px;padding:12px;border:1px solid var(--sz-line);border-radius:13px;background:#fff}.sz-customer-contact-card small{color:var(--sz-muted);font-size:10px}
.sz-customer-addresses{display:grid;gap:7px;margin:0;padding:0;list-style:none}.sz-customer-addresses li{display:grid;gap:2px;padding:10px;border:1px solid var(--sz-line);border-radius:12px;background:#fff}.sz-customer-addresses small{color:var(--sz-muted);font-size:9px}
.sz-customer-orders{display:grid;gap:8px}.sz-customer-order{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;padding:11px;border:1px solid var(--sz-line);border-radius:13px;background:#fff}.sz-customer-order>div:first-child{display:grid;gap:2px}.sz-customer-order small{color:var(--sz-muted);font-size:9px}.sz-customer-order>b{font-size:12px}.sz-customer-order>div:last-child{grid-column:1/-1;display:flex;gap:7px}.sz-customer-order a,.sz-customer-order button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 9px;border:0;border-radius:9px;color:var(--sz-primary);background:color-mix(in srgb,var(--sz-primary) 8%,white);font-size:9px;font-weight:800;text-decoration:none;cursor:pointer}
@media(max-width:430px){.sz-hero-actions{align-items:stretch}.sz-account-button{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sz-customer-summary{grid-template-columns:1fr}}

/* v2.6.1 — edición de cuenta, direcciones y seguridad del cliente */
.sz-customer-account-section{display:grid;gap:10px;padding:13px;border:1px solid var(--sz-line);border-radius:16px;background:rgba(255,255,255,.62)}
.sz-customer-account-section>p{margin:0;color:var(--sz-muted);font-size:10px;line-height:1.5}
.sz-customer-account label small{display:block;color:var(--sz-muted);font-size:9px;line-height:1.4}
.sz-customer-addresses li{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.sz-customer-addresses li>div:first-child{display:grid;gap:2px;min-width:0}
.sz-customer-address-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.sz-customer-address-actions button{border:0;border-radius:9px;padding:7px 9px;background:var(--sz-soft);color:var(--sz-text);font-size:9px;font-weight:800;cursor:pointer}
.sz-customer-address-actions button:last-child{color:#a32929}
.sz-customer-address-form{display:grid;gap:9px;padding-top:3px}
@media(max-width:520px){.sz-customer-addresses li{grid-template-columns:1fr}.sz-customer-address-actions{justify-content:flex-start}}

/* Customer account registration */
.sz-account-secondary-button{display:flex;align-items:center;justify-content:center;min-height:50px;margin-top:10px;padding:10px 16px;border:1px solid var(--sz-primary);border-radius:14px;background:transparent;color:var(--sz-primary);font-size:13px;font-weight:800;cursor:pointer}
.sz-account-secondary-button:hover{background:color-mix(in srgb,var(--sz-primary) 7%,transparent)}

/* v2.7.1 - customer registration CTA */
.sz-account-new{display:grid;gap:7px;margin-top:8px;padding-top:13px;border-top:1px solid var(--sz-line);text-align:center}.sz-account-new>span{font-size:10px;font-weight:800;color:var(--sz-muted)}.sz-account-new .sz-account-secondary-button{margin-top:0;min-height:50px;border-width:2px;background:color-mix(in srgb,var(--sz-primary) 5%,white)}


/* v2.7.3 — acceso móvil compacto y recuperación de PIN con respaldo */
.sz-app .sz-account-button{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:auto!important;max-width:132px!important;min-height:42px!important;
    padding:9px 14px!important;border-radius:999px!important;
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:13px!important;line-height:1!important;font-weight:800!important;letter-spacing:0!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
    text-transform:none!important;
}
.sz-reset-whatsapp{display:flex;align-items:center;justify-content:center;min-height:46px;margin:2px 0 0;padding:10px 14px;border-radius:13px;color:#fff!important;background:#1f8f4e;text-decoration:none!important;font-size:11px;font-weight:850}
.sz-form-alert.is-success{border-color:color-mix(in srgb,#1f8f4e 28%,transparent);color:#17663a;background:color-mix(in srgb,#1f8f4e 8%,white)}
@media(max-width:430px){
  .sz-app .sz-hero-actions{gap:10px!important;align-items:center!important}
  .sz-app .sz-account-button{max-width:118px!important;min-height:40px!important;padding:8px 12px!important;font-size:12px!important}
}


/* v2.11.1 — encabezado de cuenta estable en móvil */
.sz-app .sz-hero-actions{max-width:100%;}
.sz-app .sz-status{flex:0 0 auto;min-width:0;margin-top:0;}
.sz-app .sz-account-button{flex:0 0 auto;max-width:none!important;}
@media(max-width:520px){
  .sz-app .sz-hero-actions{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;margin-top:14px!important;}
  .sz-app .sz-status{min-height:38px!important;margin-top:0!important;padding:8px 11px!important;font-size:11px!important;}
  .sz-app .sz-account-button{min-height:38px!important;max-width:none!important;padding:8px 12px!important;font-size:11px!important;overflow:visible!important;text-overflow:clip!important;}
}

@media (max-width: 600px) {
    .sz-gallery-lightbox { padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); }
    .sz-gallery-lightbox-panel { border-radius: 20px; }
    .sz-gallery-lightbox-header, .sz-gallery-lightbox-footer { padding: 10px 12px; }
    .sz-gallery-lightbox-arrow { width: 40px; height: 40px; font-size: 30px; }
    .sz-gallery-lightbox-arrow.is-previous { left: 8px; }
    .sz-gallery-lightbox-arrow.is-next { right: 8px; }
    .sz-gallery-lightbox-footer small { max-width: 58%; text-align: right; }
}

/* Letter selector for the consolidated Christmas alphabet item */
.sz-design-picker{display:grid;gap:8px;margin:12px 0;padding:0;border:0}.sz-design-picker legend{margin-bottom:8px;color:var(--sz-text);font-size:12px;font-weight:850}.sz-design-picker>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:7px}.sz-design-option{display:grid;gap:4px;place-items:center;min-width:0;padding:5px;border:1px solid var(--sz-line);border-radius:10px;background:#fff;color:var(--sz-text);font:inherit;font-size:10px;font-weight:800;cursor:pointer}.sz-design-option img{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:6px;background:#f8f4f4}.sz-design-option.is-selected{border:2px solid var(--sz-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--sz-primary) 12%,transparent)}.sz-design-picker>small{color:var(--sz-muted);font-size:10px}

/* v3.0.4 · uploaded transparent logos remain white on every viewport; SKU is readable in receipts. */
.sz-tracking-brand>img{background:#fff!important;border:2px solid #fff}
.sz-customer-receipt span b{display:grid;gap:2px}
.sz-customer-receipt span b small{color:var(--sz-primary);font-size:9px;font-weight:850;letter-spacing:.035em}


/* Catálogo a ancho completo también dentro de contenedores del tema WordPress. */
.sz-app {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}


.sz-app .sz-home-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 13px;
    border: 1px solid color-mix(in srgb, var(--sz-primary) 20%, transparent);
    border-radius: 999px;
    color: var(--sz-primary);
    background: color-mix(in srgb, white 82%, transparent);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}
.sz-app .sz-home-button:hover { color: var(--sz-primary); background: #fff; }
/* Botones de Sorprezz: estilo de marca, visible también sobre BeTheme. */
.sz-app .sz-home-button,
.sz-app .sz-custom-nav-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px;
    min-height: 42px !important;
    padding: 10px 16px !important;
    border: 2px solid #5114b3 !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #7028d8 0%, #5114b3 60%, #3e0d91 100%) !important;
    box-shadow: 0 5px 15px rgba(81, 20, 179, .32) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.sz-app .sz-home-button:hover,
.sz-app .sz-custom-nav-button:hover,
.sz-app .sz-home-button:focus-visible,
.sz-app .sz-custom-nav-button:focus-visible {
    color: #fff !important;
    background: linear-gradient(135deg, #823fe8 0%, #641fd0 60%, #4b12a3 100%) !important;
    box-shadow: 0 8px 22px rgba(81, 20, 179, .42) !important;
    transform: translateY(-2px);
}
.sz-app .sz-home-button span { font-size: 17px; line-height: 1; }
@media (max-width: 430px) {
    .sz-app .sz-home-button, .sz-app .sz-custom-nav-button { min-height: 40px !important; padding: 9px 12px !important; font-size: 11px !important; }
}

.sz-nav-primary-fields { margin: 14px 0 20px; padding: 14px; border: 1px solid #d9c4f5; border-radius: 14px; background: #fbf8ff; }
.sz-nav-primary-fields h4 { margin: 0 0 12px; color: #5114b3; }
.sz-nav-buttons-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.sz-nav-button-row { display: grid; grid-template-columns: 70px minmax(0, 1fr) minmax(0, 1.25fr); align-items: end; gap: 10px; padding: 12px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; }
.sz-nav-button-row > strong { align-self: center; color: #5114b3; font-size: 12px; }
@media (max-width: 900px) { .sz-nav-buttons-fields { grid-template-columns: 1fr; } }

