.ltxe-mb { --ltxe-mb-bg: #111827; --ltxe-mb-bg-hover: #0f172a; --ltxe-mb-color: #ffffff; --ltxe-mb-radius: 8px; --ltxe-mb-count: #111827; --ltxe-mb-count-bg: #f8fafc; --ltxe-mb-proof: #4b5563; --ltxe-mb-proof-num: #111827; --ltxe-mb-urgency-bg: #f59e0b; --ltxe-mb-urgency: #111827; --ltxe-mb-pulse: rgba(245, 158, 11, 0.55); --ltxe-mb-pulse-speed: 1.8s; display: flex; flex-direction: column; align-items: flex-start; gap: 0.65rem; max-width: 100%; } .ltxe-mb--gone { display: none; } .ltxe-mb__btn { position: relative; display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0.55rem; padding: 0.85rem 1.35rem; border-radius: var(--ltxe-mb-radius); background: var(--ltxe-mb-bg); color: var(--ltxe-mb-color); text-decoration: none; font-weight: 700; line-height: 1.2; transition: background 0.2s ease, transform 0.2s ease; } .ltxe-mb__btn:hover, .ltxe-mb__btn:focus { background: var(--ltxe-mb-bg-hover); color: var(--ltxe-mb-color); } .ltxe-mb__btn:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; } .ltxe-mb__icon { display: inline-flex; align-items: center; line-height: 0; } .ltxe-mb__icon svg, .ltxe-mb__icon i { width: 1.1em; height: 1.1em; fill: currentColor; } .ltxe-mb__count { display: inline-block; padding: 0.2rem 0.5rem; border-radius: 999px; background: var(--ltxe-mb-count-bg); color: var(--ltxe-mb-count); font-variant-numeric: tabular-nums; font-size: 0.85em; font-weight: 700; } .ltxe-mb__proof { margin: 0; color: var(--ltxe-mb-proof); font-size: 0.95rem; } .ltxe-mb__proof-num { color: var(--ltxe-mb-proof-num); font-weight: 800; font-variant-numeric: tabular-nums; } .ltxe-mb__urgency { display: inline-block; padding: 0.2rem 0.55rem; border-radius: 999px; background: var(--ltxe-mb-urgency-bg); color: var(--ltxe-mb-urgency); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.02em; text-transform: uppercase; } .ltxe-mb__btn .ltxe-mb__urgency { position: absolute; top: -0.65rem; right: 0.7rem; } .ltxe-mb--pulse .ltxe-mb__btn::after { content: ""; position: absolute; inset: -3px; border-radius: inherit; pointer-events: none; box-shadow: 0 0 0 0 var(--ltxe-mb-pulse); animation: ltxe-mb-pulse var(--ltxe-mb-pulse-speed) ease-out infinite; } .ltxe-mb__urgency--pulse { animation: ltxe-mb-urgency-pulse 1.4s ease-in-out infinite; } .ltxe-mb__urgency--blink { animation: ltxe-mb-urgency-blink 1s steps(2, end) infinite; } @keyframes ltxe-mb-pulse { 0% { box-shadow: 0 0 0 0 var(--ltxe-mb-pulse); } 70% { box-shadow: 0 0 0 14px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } } @keyframes ltxe-mb-urgency-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } } @keyframes ltxe-mb-urgency-blink { 50% { opacity: 0.35; } } @media (prefers-reduced-motion: reduce) { .ltxe-mb--pulse .ltxe-mb__btn::after, .ltxe-mb__urgency--pulse, .ltxe-mb__urgency--blink { animation: none; } } .ltxe-pc { --ltxe-pc-slides: 4; --ltxe-pc-slides-tab: 2; --ltxe-pc-slides-mob: 1; --ltxe-pc-gap: 16px; --ltxe-pc-radius: 12px; --ltxe-pc-pad: 12px; --ltxe-pc-arrow-bg: #111; --ltxe-pc-arrow-color: #fff; --ltxe-pc-dot: #c4c4c4; --ltxe-pc-dot-on: #5b21b6; --ltxe-pc-pill: #f3f4f6; --ltxe-pc-pill-on: #5b21b6; position: relative; } .ltxe-pc__filters { display: flex; flex-wrap: wrap; gap: 8px; margin-block-end: 16px; } .ltxe-pc__pill, .ltxe-pc__select, .ltxe-pc__cart, .ltxe-pc__arrow, .ltxe-pc__dot { min-block-size: 44px; min-inline-size: 44px; } .ltxe-pc__pill, .ltxe-pc__select { border: 0; border-radius: 999px; background: var(--ltxe-pc-pill); color: inherit; padding: 0 16px; cursor: pointer; font: inherit; } .ltxe-pc__pill.is-active { background: var(--ltxe-pc-pill-on); color: #fff; } .ltxe-pc--tabs .ltxe-pc__pill { border-radius: 0; border-block-end: 2px solid transparent; background: transparent; } .ltxe-pc--tabs .ltxe-pc__pill.is-active { background: transparent; color: inherit; border-block-end-color: var(--ltxe-pc-pill-on); } .ltxe-pc__viewport { position: relative; overflow: hidden; } .ltxe-pc__track { display: flex; gap: var(--ltxe-pc-gap); transition: transform 0.35s ease; touch-action: pan-y; } @media (prefers-reduced-motion: reduce) { .ltxe-pc__track { transition: none; } } .ltxe-pc__slide { flex: 0 0 calc((100% - (var(--ltxe-pc-slides) - 1) * var(--ltxe-pc-gap)) / var(--ltxe-pc-slides)); position: relative; padding: var(--ltxe-pc-pad); border-radius: var(--ltxe-pc-radius); box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08); background: #fff; transition: transform 0.25s ease; } .ltxe-pc--center .ltxe-pc__slide.is-center { transform: scale(1.08); z-index: 1; } .ltxe-pc__media { display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: calc(var(--ltxe-pc-radius) - 4px); background: #f3f4f6; } .ltxe-pc__media img { inline-size: 100%; block-size: 100%; object-fit: cover; } .ltxe-pc__badge { position: absolute; inset-block-start: 16px; inset-inline-start: 16px; background: #dc2626; color: #fff; font-size: 0.75rem; padding: 2px 8px; border-radius: 999px; z-index: 1; } .ltxe-pc__title { margin: 12px 0 4px; font-size: 1rem; } .ltxe-pc__title a { color: inherit; text-decoration: none; } .ltxe-pc__price { font-weight: 600; } .ltxe-pc__cart { display: inline-flex; align-items: center; justify-content: center; margin-block-start: 12px; padding: 0 16px; border: 0; border-radius: 999px; background: #5b21b6; color: #fff; text-decoration: none; cursor: pointer; font: inherit; } .ltxe-pc__cart:disabled { opacity: 0.6; } .ltxe-pc__arrow { position: absolute; inset-block-start: 50%; transform: translateY(-50%); border: 0; border-radius: 999px; background: var(--ltxe-pc-arrow-bg); color: var(--ltxe-pc-arrow-color); font-size: 1.5rem; line-height: 1; cursor: pointer; z-index: 2; } .ltxe-pc__arrow--prev { inset-inline-start: 8px; } .ltxe-pc__arrow--next { inset-inline-end: 8px; } .ltxe-pc__dots { display: flex; justify-content: center; gap: 8px; margin-block-start: 12px; } .ltxe-pc__dot { inline-size: 12px; min-inline-size: 12px; block-size: 12px; min-block-size: 12px; padding: 0; border: 0; border-radius: 999px; background: var(--ltxe-pc-dot); cursor: pointer; position: relative; } .ltxe-pc__dot::before { content: ""; position: absolute; inset: -16px; } .ltxe-pc__dot.is-active { background: var(--ltxe-pc-dot-on); } .ltxe-pc__empty { margin: 0; padding: 24px; } @media (max-width: 1024px) { .ltxe-pc { --ltxe-pc-slides: var(--ltxe-pc-slides-tab); } } @media (max-width: 767px) { .ltxe-pc { --ltxe-pc-slides: var(--ltxe-pc-slides-mob); } .ltxe-pc__arrow { min-block-size: 44px; min-inline-size: 44px; } } .ltxe-btt { --ltxe-btt-x: 24px; --ltxe-btt-y: 24px; position: fixed; z-index: 9998; bottom: var(--ltxe-btt-y); width: 44px; height: 44px; border: 0; border-radius: 999px; background: #111; color: #fff; cursor: pointer; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s ease, visibility 0.2s ease; } .ltxe-btt--right { right: var(--ltxe-btt-x); } .ltxe-btt--left { left: var(--ltxe-btt-x); } .ltxe-btt--center { left: 50%; transform: translateX(-50%); } .ltxe-btt.is-visible { opacity: 1; visibility: visible; pointer-events: auto; } .ltxe-btt:hover, .ltxe-btt:focus, .ltxe-btt:active { background: #111; color: #fff; } .ltxe-btt__icon { display: flex; align-items: center; justify-content: center; color: inherit; } .ltxe-btt__icon i, .ltxe-btt__icon svg, .ltxe-btt .e-font-icon-svg { color: inherit; fill: currentColor; width: 1em; height: 1em; } .ltxe-btt__icon svg path { fill: currentColor; } .ltxe-btt__ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); } .ltxe-btt__track, .ltxe-btt__progress { fill: none; stroke-width: 3; } .ltxe-btt__track { stroke: rgba(255, 255, 255, 0.25); } .ltxe-btt__progress { stroke: currentColor; stroke-dasharray: 100; stroke-dashoffset: 100; } @media (prefers-reduced-motion: reduce) { .ltxe-btt { transition: none; } }