*,
*::before,
*::after {
    box-sizing: border-box;
}

:root {
    --red: #e30606;
    --red-dark: #c90000;
    --red-soft: #fff1f1;
    --black: #111827;
    --text: #202634;
    --muted: #6b7280;
    --border: #e7ebf1;
    --bg: #ffffff;
    --footer: #111827;
    --shadow-soft: 0 14px 34px rgba(17, 24, 39, 0.08);
    --shadow-red: 0 18px 36px rgba(227, 6, 6, 0.24);
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    background: #ffffff;
    color: var(--black);
    font-size: 15px;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select {
    font-family: inherit;
}

button {
    cursor: pointer;
}

.container {
    width: min(1450px, calc(100% - 72px));
    margin: 0 auto;
}

/* SVG FIX */

svg {
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.topbar-icon {
    width: 16px;
    height: 16px;
    stroke-width: 2;
    flex: 0 0 16px;
}

.store-icons svg {
    width: 17px;
    height: 17px;
    fill: currentColor;
    stroke: none;
    flex: 0 0 17px;
}

.catalog-btn svg {
    width: 20px;
    height: 20px;
    stroke-width: 2.4;
}

.search-form button svg {
    width: 22px;
    height: 22px;
    stroke-width: 2.2;
}

.action-icon svg {
    width: 31px;
    height: 31px;
    stroke-width: 1.8;
}

.language-current svg {
    width: 14px;
    height: 14px;
    stroke-width: 2.2;
}

.feature-card svg {
    width: 38px;
    height: 38px;
    stroke-width: 1.8;
}

.cart-btn svg {
    width: 20px;
    height: 20px;
    stroke-width: 2;
}

/* TOPBAR */

.topbar {
    height: 38px;
    background: var(--red);
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    overflow: hidden;
}

.topbar-inner {
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.topbar-left,
.topbar-right {
    display: flex;
    align-items: center;
    gap: 38px;
    white-space: nowrap;
}

.topbar span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    line-height: 1;
}

.store-icons {
    gap: 12px !important;
}

/* HEADER */

.site-header {
    background: #ffffff;
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 100;
}

.header-inner {
    min-height: 96px;
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    align-items: center;
    gap: 30px;
}

.logo {
    display: inline-flex;
    align-items: center;
    font-size: 36px;
    font-weight: 950;
    letter-spacing: -2px;
    color: var(--black);
    line-height: 1;
    white-space: nowrap;
}

.logo span {
    color: var(--red);
}

.catalog-btn {
    height: 52px;
    padding: 0 24px;
    border: 0;
    border-radius: 8px;
    background: var(--red);
    color: #ffffff;
    font-size: 17px;
    font-weight: 850;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 12px 22px rgba(227, 6, 6, 0.16);
}

/* SEARCH */

.search-form {
    height: 52px;
    display: grid;
    grid-template-columns: 1fr 190px 58px;
    border: 1px solid #dfe5ee;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
}

.search-form input {
    border: 0;
    outline: 0;
    padding: 0 20px;
    font-size: 16px;
    color: var(--text);
    border-right: 1px solid #e7ebf0;
}

.search-form input::placeholder {
    color: #8a93a3;
}

.search-form select {
    border: 0;
    outline: 0;
    padding: 0 14px;
    color: #333b4b;
    background: #ffffff;
    font-weight: 600;
    border-right: 1px solid #e7ebf0;
}

.search-form button {
    border: 0;
    background: var(--red);
    color: #ffffff;
    display: grid;
    place-items: center;
}

/* HEADER ACTIONS */

.header-actions {
    display: flex;
    align-items: center;
    gap: 32px;
}

.header-action {
    display: flex;
    align-items: center;
    gap: 11px;
    position: relative;
    color: var(--black);
}

.header-action:hover {
    color: var(--red);
}

.action-icon {
    position: relative;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    color: #111827;
    flex: 0 0 36px;
}

.action-icon i {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 99px;
    background: var(--red);
    color: #ffffff;
    font-size: 11px;
    font-style: normal;
    font-weight: 950;
    display: grid;
    place-items: center;
    line-height: 1;
}

.header-action small {
    display: block;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.15;
    color: #111827;
}

.header-action em {
    display: block;
    font-style: normal;
    color: #8a93a3;
    font-size: 12px;
    margin-top: 4px;
    white-space: nowrap;
}

/* NAV */

.main-nav {
    border-top: 1px solid var(--border);
    background: #ffffff;
}

.nav-inner {
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 42px;
}

.nav-links a {
    font-size: 15px;
    font-weight: 750;
    color: #252b38;
}

.nav-links a:hover,
.nav-links a.active {
    color: var(--red);
}

/* LANGUAGE */

.language-dropdown {
    position: relative;
}

.language-current {
    height: 38px;
    min-width: 78px;
    border: 1px solid var(--border);
    background: #ffffff;
    color: #111827;
    border-radius: 8px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: 14px;
    font-weight: 900;
}

.language-dropdown:hover .language-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.language-menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 190px;
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow-soft);
    padding: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: .2s ease;
    z-index: 70;
}

.language-menu a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 12px;
    border-radius: 8px;
    color: #111827;
}

.language-menu a:hover,
.language-menu a.active {
    background: var(--red-soft);
    color: var(--red);
}

.language-menu strong {
    width: 34px;
    height: 26px;
    border-radius: 6px;
    background: #f3f4f6;
    display: grid;
    place-items: center;
    font-size: 12px;
}

.language-menu a.active strong {
    background: var(--red);
    color: #ffffff;
}

.language-menu span {
    font-size: 14px;
    font-weight: 800;
}

/* HERO */

.hero-section {
    padding: 24px 0 0;
}

.hero-slider {
    position: relative;
    min-height: 350px;
    border-radius: 10px;
    overflow: hidden;
    background:
        radial-gradient(circle at 74% 50%, rgba(255,255,255,0.08) 0 0, transparent 25%),
        linear-gradient(105deg, #f8f9fb 0%, #ffffff 42%, var(--red) 42.1%, #e60000 100%);
    display: grid;
    grid-template-columns: 46% 54%;
}

.hero-content {
    padding: 52px 0 52px 92px;
    position: relative;
    z-index: 4;
}

.hero-content h1 {
    margin: 0;
    max-width: 500px;
    font-size: 56px;
    line-height: 1.05;
    letter-spacing: -2.5px;
    color: #111827;
    font-weight: 950;
}

.hero-content h1 span {
    color: var(--red);
}

.hero-content p {
    margin: 22px 0 0;
    max-width: 430px;
    font-size: 18px;
    line-height: 1.55;
    color: #3f4654;
}

.btn-primary {
    margin-top: 26px;
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border-radius: 8px;
    background: var(--red);
    color: #ffffff;
    font-size: 16px;
    font-weight: 900;
    box-shadow: var(--shadow-red);
}

.hero-visual {
    position: relative;
    min-height: 350px;
}

.hero-visual::before {
    content: "";
    position: absolute;
    left: 20px;
    bottom: -18px;
    width: 540px;
    height: 335px;
    background-image: url("/tb-market/assets/images/banners/market-basket.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center bottom;
    filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .16));
    z-index: 2;
}

.hero-visual::after {
    content: "";
    position: absolute;
    left: 18px;
    top: 18px;
    width: 520px;
    height: 280px;
    background-image: url("/tb-market/assets/images/banners/hero-products.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 3;
}

.discount-circle {
    position: absolute;
    right: 92px;
    top: 98px;
    width: 190px;
    height: 190px;
    border: 1.5px solid rgba(255,255,255,0.95);
    border-radius: 50%;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-align: center;
    z-index: 5;
}

.discount-circle small {
    font-size: 22px;
    font-weight: 900;
}

.discount-circle strong {
    font-size: 62px;
    line-height: .9;
    font-weight: 950;
    letter-spacing: -2px;
}

.discount-circle span {
    font-size: 18px;
    font-weight: 900;
}

.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 8;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: #ffffff;
    color: var(--red);
    font-size: 34px;
    line-height: 1;
    display: grid;
    place-items: center;
    box-shadow: 0 10px 25px rgba(17, 24, 39, 0.13);
}

.slider-arrow.left {
    left: 22px;
}

.slider-arrow.right {
    right: 22px;
}

.hero-dots {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 11px;
    z-index: 8;
}

.hero-dots span {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: rgba(255,255,255,0.32);
}

.hero-dots span.active {
    background: #ffffff;
}

/* CATEGORIES */

.category-strip {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: 12px;
}

.category-mini {
    min-height: 86px;
    padding: 13px 15px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #ffffff;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: .2s ease;
}

.category-mini:hover {
    border-color: rgba(227,6,6,0.35);
    box-shadow: var(--shadow-soft);
    transform: translateY(-2px);
}

.category-mini img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    flex: 0 0 auto;
}

.category-mini b {
    font-size: 14px;
    line-height: 1.35;
    font-weight: 800;
    color: #1d2330;
}

.category-mini.all {
    justify-content: center;
    flex-direction: column;
    gap: 4px;
}

.category-mini.all span {
    color: var(--red);
    font-size: 42px;
    font-weight: 950;
}

/* PRODUCTS */

.products-section {
    padding: 24px 0 58px;
}

.section-title {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-bottom: 14px;
}

.section-title h2 {
    margin: 0;
    font-size: 26px;
    line-height: 1;
    letter-spacing: -.7px;
    font-weight: 950;
}

.section-title a {
    color: var(--red);
    font-size: 15px;
    font-weight: 900;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 14px;
}

.product-card {
    min-height: 245px;
    position: relative;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #ffffff;
    transition: .2s ease;
}

.product-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-soft);
    border-color: rgba(227,6,6,0.28);
}

.sale-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    min-width: 45px;
    height: 28px;
    padding: 0 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--red);
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    border-radius: 6px;
    z-index: 2;
}

.product-image {
    height: 122px;
    display: grid;
    place-items: center;
    margin-bottom: 10px;
}

.product-image img {
    max-width: 100%;
    max-height: 118px;
    object-fit: contain;
}

.product-card h3 {
    margin: 0 0 3px;
    font-size: 15px;
    line-height: 1.25;
    color: #111827;
    font-weight: 850;
}

.product-card p {
    margin: 0;
    color: #6b7280;
    font-size: 13px;
}

.product-bottom {
    margin-top: 14px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
}

.product-bottom strong {
    display: block;
    color: #111827;
    font-size: 16px;
    font-weight: 900;
    white-space: nowrap;
}

.product-bottom del {
    display: block;
    margin-top: 3px;
    color: #9ca3af;
    font-size: 13px;
    white-space: nowrap;
}

.cart-btn {
    width: 43px;
    height: 43px;
    border: 0;
    border-radius: 9px;
    background: var(--red);
    color: #ffffff;
    display: grid;
    place-items: center;
    box-shadow: 0 13px 22px rgba(227, 6, 6, .24);
}

.cart-btn.added {
    background: #16a34a;
}

/* FEATURES */

.features-grid {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.feature-card {
    min-height: 88px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #ffffff;
    padding: 22px 26px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.feature-card span {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    color: var(--red);
}

.feature-card h3 {
    margin: 0 0 5px;
    font-size: 16px;
    line-height: 1.15;
    color: #111827;
    font-weight: 900;
}

.feature-card p {
    margin: 0;
    font-size: 14px;
    color: #7b8494;
    line-height: 1.3;
}

/* FOOTER */

.site-footer {
    background: var(--footer);
    color: #ffffff;
    padding-top: 58px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr .7fr .9fr;
    gap: 80px;
    padding-bottom: 58px;
}

.footer-logo {
    display: inline-flex;
    font-size: 30px;
    font-weight: 950;
    letter-spacing: -1.4px;
    margin-bottom: 26px;
}

.footer-logo span {
    color: var(--red);
}

.site-footer p {
    margin: 0 0 12px;
    color: #cbd5e1;
    line-height: 1.7;
}

.site-footer h4 {
    margin: 0 0 16px;
    color: #ffffff;
    font-size: 16px;
    font-weight: 900;
}

.site-footer a:not(.footer-logo) {
    display: block;
    color: #cbd5e1;
    margin-bottom: 10px;
}

.site-footer a:hover {
    color: #ffffff;
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.08);
    color: #cbd5e1;
    text-align: center;
    padding: 18px 0;
    font-size: 14px;
}
.auth-page,
.profile-page {
    min-height: 520px;
    padding: 70px 0;
    background:
        radial-gradient(circle at top right, rgba(227, 6, 6, .12), transparent 36%),
        linear-gradient(135deg, #ffffff 0%, #fff7f7 100%);
}

.auth-card,
.profile-card {
    width: min(460px, calc(100% - 32px));
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 34px;
    box-shadow: var(--shadow-soft);
}

.auth-card h1,
.profile-card h1 {
    margin: 0 0 8px;
    font-size: 32px;
    letter-spacing: -1px;
}

.auth-card p {
    margin: 0 0 24px;
    color: var(--muted);
    line-height: 1.55;
}

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

.auth-form label {
    display: grid;
    gap: 8px;
}

.auth-form span {
    font-size: 14px;
    font-weight: 850;
}

.auth-form input {
    height: 50px;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 0 15px;
    outline: none;
    font-size: 15px;
}

.auth-form input:focus {
    border-color: var(--red);
    box-shadow: 0 0 0 4px rgba(227, 6, 6, .08);
}

.auth-form button {
    height: 52px;
    border: 0;
    border-radius: 12px;
    background: var(--red);
    color: #ffffff;
    font-size: 16px;
    font-weight: 950;
    cursor: pointer;
    box-shadow: var(--shadow-red);
}

.auth-bottom {
    margin-top: 22px;
    display: flex;
    justify-content: center;
    gap: 8px;
    color: var(--muted);
    font-weight: 700;
}

.auth-bottom a {
    color: var(--red);
    font-weight: 900;
}

.auth-alert {
    padding: 14px 16px;
    border-radius: 12px;
    margin-bottom: 18px;
    font-weight: 800;
}

.auth-alert.error {
    background: #fff1f1;
    color: #b80000;
    border: 1px solid #ffd0d0;
}

.auth-alert.success {
    background: #ecfdf5;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.profile-info {
    display: grid;
    gap: 12px;
    margin: 24px 0;
}

.profile-info p {
    margin: 0;
    color: var(--text);
}
.cart-page,
.checkout-page,
.success-page {
    padding: 58px 0;
    background: #f8fafc;
}

.page-head {
    margin-bottom: 24px;
}

.page-head h1 {
    margin: 0 0 8px;
    font-size: 34px;
    letter-spacing: -1px;
}

.page-head p {
    margin: 0;
    color: var(--muted);
}

.cart-layout,
.checkout-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 24px;
    align-items: start;
}

.cart-items {
    display: grid;
    gap: 14px;
}

.cart-item {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 20px;
    display: grid;
    grid-template-columns:
        100px
        minmax(220px, 1fr)
        170px
        150px
        120px;
    gap: 22px;
    align-items: center;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.cart-item-image {
    width: 90px;
    height: 90px;
    border-radius: 14px;
    background: #f8fafc;
    display: grid;
    place-items: center;
}

.cart-item-image img {
    max-width: 80px;
    max-height: 80px;
    object-fit: contain;
}

.cart-item-info h3 {
    margin: 0 0 6px;
    font-size: 17px;
}

.cart-item-info p {
    margin: 0 0 8px;
    color: var(--muted);
}

.cart-item-info strong {
    color: var(--red);
}

.cart-qty {
    width: 170px;
    height: 52px;
    display: grid;
    grid-template-columns: 52px 1fr 52px;
    align-items: center;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: inset 0 1px 2px rgba(15,23,42,.04);
}

.cart-qty button,
.cart-qty input {
    border: 0;
    text-align: center;
    outline: 0;
}
.cart-qty button {
    background: #f8fafc;
    color: var(--red);
    font-size: 26px;
    font-weight: 900;
    transition: .15s ease;
}

.cart-qty button:hover {
    background: #fff1f1;
}
.cart-qty input {
    font-size: 18px;
    font-weight: 950;
    color: #111827;
    background: #ffffff;
}
.cart-line-total {
    font-size: 24px;
    font-weight: 950;
    color: #111827;
    white-space: nowrap;
    text-align: right;
}

.cart-remove {
    height: 46px;
    padding: 0 18px;
    border: 0;
    border-radius: 14px;
    background: #fff1f1;
    color: var(--red);
    font-weight: 950;
    transition: .18s ease;
}

.cart-remove:hover {
    background: var(--red);
    color: #ffffff;
}

.cart-summary {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 22px;
    box-shadow: var(--shadow-soft);
    position: sticky;
    top: 170px;
}

.cart-summary h2 {
    margin: 0 0 18px;
    font-size: 22px;
}

.summary-row,
.summary-total,
.checkout-item {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 0;
    border-bottom: 1px solid var(--border);
}

.summary-row span,
.checkout-item span {
    color: var(--muted);
}

.summary-total {
    border-bottom: 0;
    align-items: center;
}

.summary-total strong {
    font-size: 24px;
    color: var(--red);
}

.checkout-btn {
    width: 100%;
    height: 52px;
    border: 0;
    margin-top: 18px;
    border-radius: 12px;
    background: var(--red);
    color: #ffffff;
    font-weight: 950;
    font-size: 16px;
    display: grid;
    place-items: center;
    box-shadow: var(--shadow-red);
}

.empty-cart,
.success-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 46px;
    text-align: center;
    box-shadow: var(--shadow-soft);
}

.empty-cart h2,
.success-card h1 {
    margin: 0 0 12px;
    font-size: 30px;
}

.empty-cart p,
.success-card p {
    color: var(--muted);
    margin-bottom: 22px;
}

.checkout-form {
    display: grid;
    gap: 18px;
}

.checkout-box {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 24px;
    box-shadow: var(--shadow-soft);
}

.checkout-box h2 {
    margin: 0 0 18px;
}

.checkout-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.checkout-grid label {
    display: grid;
    gap: 8px;
}

.checkout-grid label.full {
    grid-column: 1 / -1;
}

.checkout-grid span {
    font-weight: 850;
    font-size: 14px;
}

.checkout-grid input,
.checkout-grid textarea {
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 14px 15px;
    outline: none;
}

.checkout-grid textarea {
    min-height: 110px;
    resize: vertical;
}

.payment-methods {
    display: grid;
    gap: 12px;
}

.payment-methods label {
    height: 52px;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 900;
}

.success-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #16a34a;
    color: #ffffff;
    display: grid;
    place-items: center;
    font-size: 42px;
    font-weight: 950;
}

.success-card strong {
    display: block;
    font-size: 22px;
    margin-bottom: 22px;
    color: var(--red);
}

@media (max-width: 1000px) {

    .cart-layout,
    .checkout-layout {
        grid-template-columns: 1fr;
    }

    .cart-summary {
        position: static;
    }

    .cart-item {
        grid-template-columns: 90px 1fr;
        gap: 16px;
    }

    .cart-qty,
    .cart-line-total,
    .cart-remove {
        grid-column: 2;
    }

    .cart-line-total {
        text-align: left;
        font-size: 22px;
    }
}
@media (max-width: 640px) {

    .cart-item {
        grid-template-columns: 1fr;
        padding: 16px;
    }

    .cart-item-image {
        width: 100%;
        height: 180px;
    }

    .cart-item-image img {
        max-width: 140px;
        max-height: 140px;
    }

    .cart-item-info,
    .cart-qty,
    .cart-line-total,
    .cart-remove {
        grid-column: auto;
    }

    .cart-qty {
        width: 100%;
    }

    .cart-remove {
        width: 100%;
    }

    .cart-line-total {
        text-align: left;
    }
}
@media (max-width: 600px) {
    .checkout-grid {
        grid-template-columns: 1fr;
    }

    .cart-item {
        grid-template-columns: 1fr;
    }

    .cart-qty,
    .cart-line-total,
    .cart-remove {
        grid-column: auto;
    }
}
.account-page {
    padding: 58px 0;
    background: #f8fafc;
}

.account-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 24px;
    align-items: start;
}

.account-sidebar {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 14px;
    box-shadow: var(--shadow-soft);
    position: sticky;
    top: 170px;
}

.account-sidebar a {
    display: block;
    padding: 14px 16px;
    border-radius: 12px;
    color: var(--text);
    font-weight: 900;
}

.account-sidebar a:hover,
.account-sidebar a.active {
    background: var(--red);
    color: #ffffff;
}

.account-main {
    min-width: 0;
}

.profile-card.wide {
    width: 100%;
    margin: 0;
}

.customer-orders {
    display: grid;
    gap: 14px;
}

.customer-order-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 20px;
    display: grid;
    grid-template-columns: 1fr auto auto auto;
    gap: 20px;
    align-items: center;
    box-shadow: var(--shadow-soft);
}

.customer-order-card h3 {
    margin: 0 0 6px;
    font-size: 18px;
}

.customer-order-card p {
    margin: 0;
    color: var(--muted);
}

.customer-order-card strong {
    display: block;
    font-size: 18px;
    color: var(--red);
}

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

.order-detail-btn {
    min-height: 42px;
    padding: 0 16px;
    border-radius: 12px;
    background: var(--red);
    color: #ffffff;
    font-weight: 950;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.order-detail-head {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 22px;
    box-shadow: var(--shadow-soft);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.order-detail-head h1 {
    margin: 0 0 6px;
    font-size: 28px;
}

.order-detail-head p {
    margin: 0;
    color: var(--muted);
}

.order-status-track {
    margin-top: 20px;
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 24px;
    box-shadow: var(--shadow-soft);
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
}

.order-status-track div {
    position: relative;
    text-align: center;
    color: var(--muted);
    font-weight: 800;
    font-size: 13px;
}

.order-status-track span {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #e5e7eb;
    display: block;
    margin: 0 auto 10px;
}

.order-status-track div.active {
    color: var(--red);
}

.order-status-track div.active span {
    background: var(--red);
    box-shadow: 0 0 0 6px rgba(227, 6, 6, .12);
}

.customer-order-detail-grid {
    margin-top: 20px;
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 20px;
    align-items: start;
}

.order-detail-panel {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 22px;
    box-shadow: var(--shadow-soft);
}

.order-detail-panel h2 {
    margin: 0 0 18px;
    font-size: 20px;
}

.order-product-row {
    padding: 15px 0;
    border-bottom: 1px solid var(--border);
    display: flex;
    justify-content: space-between;
    gap: 18px;
}

.order-product-row:last-child {
    border-bottom: 0;
}

.order-product-row b {
    display: block;
}

.order-product-row small {
    display: block;
    margin-top: 6px;
    color: var(--muted);
}

.order-product-row strong {
    color: var(--red);
    white-space: nowrap;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    background: #f3f4f6;
    color: #111827;
}

.status-badge.new {
    background: #eff6ff;
    color: #2563eb;
}

.status-badge.accepted,
.status-badge.preparing,
.status-badge.ready {
    background: #fff7ed;
    color: #f59e0b;
}

.status-badge.on_delivery {
    background: #eef2ff;
    color: #4f46e5;
}

.status-badge.delivered {
    background: #ecfdf5;
    color: #16a34a;
}

.status-badge.cancelled,
.status-badge.returned {
    background: #fff1f1;
    color: var(--red);
}

@media (max-width: 980px) {
    .account-layout,
    .customer-order-detail-grid {
        grid-template-columns: 1fr;
    }

    .account-sidebar {
        position: static;
    }

    .customer-order-card {
        grid-template-columns: 1fr;
    }

    .order-status-track {
        grid-template-columns: repeat(2, 1fr);
    }
}
.favorite-btn {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 38px;
    height: 38px;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: #ffffff;
    color: #9ca3af;
    display: grid;
    place-items: center;
    z-index: 4;
    box-shadow: 0 8px 18px rgba(17, 24, 39, .08);
    transition: .2s ease;
}

.favorite-btn svg {
    width: 20px;
    height: 20px;
    stroke-width: 2;
}

.favorite-btn:hover,
.favorite-btn.active {
    background: var(--red);
    border-color: var(--red);
    color: #ffffff;
}

.favorite-btn.active svg {
    fill: currentColor;
}
.courier-filter {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 20px;
    box-shadow: var(--shadow-soft);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
}

.courier-filter select {
    height: 48px;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 0 14px;
    outline: none;
    background: #ffffff;
}

.courier-actions-panel {
    margin-top: 20px;
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 18px;
    box-shadow: var(--shadow-soft);
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.btn-success {
    min-height: 46px;
    padding: 0 18px;
    border-radius: 12px;
    border: 0;
    background: #16a34a;
    color: #ffffff;
    font-weight: 950;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.courier-status-form {
    margin-top: 20px;
    display: grid;
    gap: 12px;
}

.courier-status-form label {
    display: grid;
    gap: 8px;
}

.courier-status-form textarea {
    min-height: 110px;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 14px;
    resize: vertical;
    outline: none;
}

@media (max-width: 680px) {
    .courier-filter {
        grid-template-columns: 1fr;
    }

    .courier-actions-panel {
        display: grid;
    }
}
.notifications-list {
    display: grid;
    gap: 14px;
}

.notification-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 18px;
    box-shadow: var(--shadow-soft);
    display: block;
    color: var(--text);
}

.notification-card h3 {
    margin: 0 0 8px;
    font-size: 18px;
}

.notification-card p {
    margin: 0 0 10px;
    color: var(--muted);
    line-height: 1.5;
}

.notification-card span {
    font-size: 13px;
    color: var(--muted);
    font-weight: 800;
}

.notification-card.success {
    border-color: #bbf7d0;
}

.notification-card.warning {
    border-color: #fed7aa;
}

.notification-card.error {
    border-color: #fecaca;
}

.notification-card.order {
    border-color: rgba(227, 6, 6, .25);
}
.static-page {
    padding: 34px 0 60px;
    background: #f8fafc;
}

.static-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 28px;
    box-shadow: var(--shadow-soft);
}

.static-card h2 {
    margin: 0 0 12px;
    font-size: 24px;
    color: var(--text);
}

.static-card h2:not(:first-child) {
    margin-top: 28px;
}

.static-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.8;
    font-size: 16px;
}

.contact-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 22px;
}

.contact-info-list {
    display: grid;
    gap: 16px;
}

.contact-info-list div {
    background: #f9fafb;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 16px;
    display: grid;
    gap: 6px;
}

.contact-info-list span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.contact-info-list b {
    color: var(--text);
    font-size: 16px;
}

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

.contact-form label {
    display: grid;
    gap: 8px;
    font-weight: 850;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 14px;
    outline: none;
}

.contact-form textarea {
    min-height: 140px;
    resize: vertical;
}

.not-found-page {
    padding: 80px 0;
    background: #f8fafc;
}

.not-found-card {
    max-width: 620px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 28px;
    padding: 46px;
    text-align: center;
    box-shadow: var(--shadow-soft);
}

.not-found-card strong {
    display: block;
    font-size: 82px;
    line-height: 1;
    color: var(--red);
    font-weight: 950;
}

.not-found-card h1 {
    margin: 14px 0 10px;
    font-size: 34px;
}

.not-found-card p {
    margin: 0 0 24px;
    color: var(--muted);
}

.site-footer {
    background: #111827;
    color: #ffffff;
    padding: 48px 0 20px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.3fr .8fr .8fr .9fr;
    gap: 30px;
}

.footer-brand p {
    color: rgba(255,255,255,.68);
    line-height: 1.7;
    margin: 18px 0 0;
}

.footer-col {
    display: grid;
    gap: 10px;
    align-content: start;
}

.footer-col h3 {
    margin: 0 0 8px;
    color: #ffffff;
}

.footer-col a,
.footer-col span {
    color: rgba(255,255,255,.72);
    font-weight: 700;
}

.footer-col a:hover {
    color: #ffffff;
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.12);
    margin-top: 34px;
    padding-top: 18px;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    color: rgba(255,255,255,.58);
    font-size: 14px;
}

@media (max-width: 900px) {
    .contact-grid,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
    }
}
.category-page-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.category-page-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 20px;
    min-height: 190px;
    box-shadow: var(--shadow-soft);
    display: grid;
    align-content: center;
    justify-items: center;
    text-align: center;
    gap: 12px;
    color: var(--text);
    transition: .2s ease;
}

.category-page-card:hover {
    transform: translateY(-3px);
    border-color: rgba(227, 6, 6, .25);
}

.category-page-image {
    width: 86px;
    height: 86px;
    border-radius: 22px;
    background: #fff5f5;
    color: var(--red);
    display: grid;
    place-items: center;
    overflow: hidden;
}

.category-page-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.category-page-card strong {
    font-size: 18px;
    font-weight: 950;
}

.category-page-card small {
    color: var(--muted);
    font-weight: 800;
}

@media (max-width: 1000px) {
    .category-page-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .category-page-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.category-hero {
    background: linear-gradient(135deg, #fff5f5, #ffffff);
    border: 1px solid var(--border);
    border-radius: 26px;
    padding: 28px;
    margin-bottom: 22px;
    box-shadow: var(--shadow-soft);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.category-hero h1 {
    margin: 0 0 8px;
    font-size: 34px;
    color: var(--text);
}

.category-hero p {
    margin: 0;
    color: var(--muted);
    font-weight: 800;
}

.catalog-filter {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 16px;
    margin-bottom: 22px;
    box-shadow: var(--shadow-soft);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px;
    align-items: end;
}

.catalog-filter label {
    display: grid;
    gap: 8px;
    font-weight: 850;
    color: var(--text);
}

.catalog-filter input,
.catalog-filter select {
    width: 100%;
    height: 48px;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 0 14px;
    outline: none;
    background: #ffffff;
}

@media (max-width: 680px) {
    .category-hero {
        display: grid;
    }

    .category-hero h1 {
        font-size: 28px;
    }

    .catalog-filter {
        grid-template-columns: 1fr;
    }
}
.product-detail-page {
    padding: 30px 0 60px;
    background: #f8fafc;
}

.breadcrumb-line {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
    margin-bottom: 18px;
    color: var(--muted);
    font-weight: 800;
}

.breadcrumb-line a {
    color: var(--muted);
}

.breadcrumb-line a:hover {
    color: var(--red);
}

.product-detail-grid {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 26px;
    align-items: start;
}

.product-detail-gallery,
.product-detail-info,
.product-description-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 26px;
    box-shadow: var(--shadow-soft);
}

.product-detail-gallery {
    padding: 22px;
}

.product-detail-main-image {
    min-height: 440px;
    background: #fff5f5;
    border-radius: 22px;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.product-detail-main-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-detail-info {
    padding: 30px;
}

.product-category-badge {
    display: inline-flex;
    padding: 8px 13px;
    border-radius: 999px;
    background: #fff5f5;
    color: var(--red);
    font-weight: 950;
    font-size: 13px;
    margin-bottom: 16px;
}

.product-detail-info h1 {
    margin: 0 0 14px;
    font-size: 38px;
    line-height: 1.12;
    color: var(--text);
}

.product-detail-short {
    margin: 0 0 20px;
    color: var(--muted);
    line-height: 1.7;
    font-size: 16px;
}

.product-detail-price {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    margin-bottom: 22px;
}

.product-detail-price strong {
    font-size: 34px;
    font-weight: 950;
    color: var(--red);
}

.product-detail-price del {
    color: var(--muted);
    font-weight: 800;
    font-size: 18px;
}

.product-meta-list {
    display: grid;
    gap: 12px;
    margin-bottom: 22px;
}

.product-meta-list div {
    background: #f9fafb;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 14px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.product-meta-list span {
    color: var(--muted);
    font-weight: 800;
}

.product-meta-list b {
    color: var(--text);
    font-weight: 950;
}

.product-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.quantity-box {
    height: 50px;
    display: inline-grid;
    grid-template-columns: 44px 60px 44px;
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
    background: #ffffff;
}

.quantity-box button {
    border: 0;
    background: #f9fafb;
    font-size: 22px;
    font-weight: 950;
    cursor: pointer;
}

.quantity-box input {
    border: 0;
    text-align: center;
    font-weight: 950;
    outline: none;
}

.favorite-detail-btn {
    height: 50px;
    padding: 0 18px;
    border-radius: 14px;
    background: #fff5f5;
    color: var(--red);
    font-weight: 950;
    display: inline-flex;
    align-items: center;
}

.product-description-card {
    margin-top: 24px;
    padding: 28px;
}

.product-description-card h2 {
    margin: 0 0 14px;
    color: var(--text);
}

.product-description-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.8;
    font-size: 16px;
}

@media (max-width: 900px) {
    .product-detail-grid {
        grid-template-columns: 1fr;
    }

    .product-detail-info h1 {
        font-size: 30px;
    }

    .product-detail-main-image {
        min-height: 320px;
    }
}
/* === HEADER FIX: active menu, language click, catalog mega menu, responsive === */
.nav-links a.active {
    color: var(--red) !important;
    font-weight: 950;
}

.nav-links a.active::after {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    margin-top: 17px;
    border-radius: 99px;
    background: var(--red);
}

.language-dropdown.active .language-menu,
.language-dropdown:hover .language-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.language-menu {
    pointer-events: none;
}

.catalog-wrap {
    position: relative;
}

.catalog-menu {
    position: absolute;
    left: 0;
    top: calc(100% + 12px);
    width: 560px;
    max-width: calc(100vw - 32px);
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: var(--shadow-soft);
    padding: 16px;
    z-index: 120;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    pointer-events: none;
    transition: .2s ease;
}

.catalog-wrap.active .catalog-menu,
.catalog-wrap:hover .catalog-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.catalog-wrap.active .catalog-btn {
    background: var(--red-dark);
}

.catalog-menu-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 4px 4px 14px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 14px;
}

.catalog-menu-head strong {
    font-size: 18px;
    font-weight: 950;
    color: var(--text);
}

.catalog-menu-head a {
    color: var(--red);
    font-weight: 900;
    font-size: 14px;
}

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

.catalog-menu-item {
    min-height: 72px;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    transition: .2s ease;
}

.catalog-menu-item:hover {
    border-color: rgba(227, 6, 6, .35);
    background: var(--red-soft);
    transform: translateY(-2px);
}

.catalog-menu-item span {
    width: 48px;
    height: 48px;
    border-radius: 13px;
    background: #fff5f5;
    display: grid;
    place-items: center;
    color: var(--red);
    overflow: hidden;
    flex: 0 0 48px;
}

.catalog-menu-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.catalog-menu-item svg {
    width: 25px;
    height: 25px;
    stroke-width: 2;
}

.catalog-menu-item b {
    font-size: 14px;
    font-weight: 900;
    color: var(--text);
    line-height: 1.25;
}

.toast-wrapper {
    position: fixed;
    right: 20px;
    bottom: 20px;
    display: grid;
    gap: 10px;
    z-index: 9999;
}

.toast-message {
    min-width: 220px;
    padding: 13px 16px;
    border-radius: 12px;
    background: #111827;
    color: #ffffff;
    font-weight: 900;
    box-shadow: var(--shadow-soft);
    opacity: 0;
    transform: translateY(8px);
    transition: .25s ease;
}

.toast-message.show {
    opacity: 1;
    transform: translateY(0);
}

.toast-message.toast-error {
    background: var(--red);
}

.toast-message.toast-success {
    background: #16a34a;
}

@media (max-width: 1180px) {
    .header-inner {
        grid-template-columns: auto auto 1fr;
        gap: 16px;
    }

    .header-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
        padding-bottom: 12px;
    }

    .search-form {
        grid-template-columns: 1fr 145px 54px;
    }
}

@media (max-width: 860px) {
    .container {
        width: min(100% - 28px, 1450px);
    }

    .topbar {
        display: none;
    }

    .site-header {
        position: relative;
    }

    .header-inner {
        min-height: auto;
        padding: 16px 0;
        grid-template-columns: 1fr auto;
    }

    .logo {
        font-size: 30px;
    }

    .catalog-wrap {
        order: 3;
        grid-column: 1 / -1;
    }

    .catalog-btn {
        width: 100%;
        justify-content: center;
    }

    .search-form {
        order: 4;
        grid-column: 1 / -1;
        width: 100%;
        grid-template-columns: 1fr 52px;
    }

    .search-form select {
        display: none;
    }

    .header-actions {
        order: 2;
        grid-column: auto;
        gap: 12px;
        padding-bottom: 0;
    }

    .header-action div {
        display: none;
    }

    .nav-inner {
        height: auto;
        padding: 10px 0;
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 12px;
    }

    .nav-links {
        overflow-x: auto;
        gap: 22px;
        padding-bottom: 8px;
    }

    .nav-links a {
        white-space: nowrap;
    }

    .nav-links a.active::after {
        margin-top: 10px;
    }

    .catalog-menu {
        width: 100%;
    }

    .catalog-menu-grid {
        grid-template-columns: 1fr;
    }
}
/* language menu empty/hidden fix */
.language-menu:empty {
    display: none !important;
}

.language-dropdown.active .language-menu:not(:empty),
.language-dropdown:hover .language-menu:not(:empty) {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}
/* PREMIUM FOOTER FIX - add to assets/css/app.css bottom */
.site-footer.premium-footer {
    background:
        radial-gradient(circle at 14% 0%, rgba(227, 6, 6, .12), transparent 34%),
        linear-gradient(135deg, #111827 0%, #0b1220 100%);
    color: #ffffff;
    padding: 54px 0 0;
    border-top: 1px solid rgba(255,255,255,.08);
}

.premium-footer .premium-footer-grid {
    display: grid;
    grid-template-columns: 1.35fr .75fr .75fr .95fr;
    gap: 52px;
    align-items: start;
    padding-bottom: 50px;
}

.premium-footer-logo {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 18px;
    color: #ffffff;
}

.premium-footer-logo strong {
    font-size: 18px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.35px;
}

.premium-footer-logo strong span {
    color: var(--red, #e30606);
}

.premium-footer-logo em {
    color: #ffffff;
    font-size: 15px;
    font-style: italic;
    font-weight: 500;
    opacity: .9;
}

.premium-footer-brand p {
    max-width: 410px;
    margin: 0;
    color: rgba(255,255,255,.80);
    line-height: 1.7;
    font-size: 15px;
}

.footer-socials {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 24px;
}

.footer-socials a {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: grid !important;
    place-items: center;
    color: #ffffff !important;
    margin: 0 !important;
    box-shadow: 0 12px 24px rgba(0,0,0,.18);
    transition: .2s ease;
}

.footer-socials a:nth-child(1) { background: linear-gradient(135deg, #38bdf8, #0284c7); }
.footer-socials a:nth-child(2) { background: linear-gradient(135deg, #f97316, #db2777, #7c3aed); }
.footer-socials a:nth-child(3) { background: linear-gradient(135deg, #60a5fa, #2563eb); }

.footer-socials a:hover {
    transform: translateY(-3px);
    filter: brightness(1.08);
}

.footer-socials svg {
    width: 21px;
    height: 21px;
    fill: currentColor;
    stroke: none;
}

.premium-footer-col {
    display: grid;
    align-content: start;
    gap: 12px;
}

.premium-footer-col h3 {
    margin: 0 0 4px;
    color: #ffffff;
    font-size: 18px;
    font-weight: 950;
    letter-spacing: -.2px;
    text-transform: none;
}

.premium-footer-col a,
.premium-footer-col span {
    display: block;
    color: rgba(255,255,255,.84) !important;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
    margin: 0 !important;
}

.premium-footer-col a:hover {
    color: #ffffff !important;
    transform: translateX(2px);
}

.footer-contact-col span {
    font-weight: 850;
}

.premium-footer-bottom {
    border-top: 1px solid rgba(255,255,255,.12);
    padding: 18px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: rgba(255,255,255,.72);
    font-size: 14px;
    text-align: left;
}

.payment-icons {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.payment-icons b {
    color: #ffffff;
    font-size: 16px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: .2px;
}

.payment-icons b:nth-child(2) {
    font-size: 13px;
    text-transform: lowercase;
    position: relative;
    padding-left: 28px;
}

.payment-icons b:nth-child(2)::before,
.payment-icons b:nth-child(2)::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    transform: translateY(-50%);
}

.payment-icons b:nth-child(2)::before {
    left: 0;
    background: #ef4444;
}

.payment-icons b:nth-child(2)::after {
    left: 11px;
    background: #f59e0b;
    opacity: .92;
}

.payment-icons b:nth-child(4) {
    border: 1px solid rgba(245, 158, 11, .8);
    border-radius: 4px;
    padding: 3px 6px;
    font-size: 11px;
    color: #fbbf24;
}

@media (max-width: 980px) {
    .premium-footer .premium-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 34px;
    }
}

@media (max-width: 640px) {
    .site-footer.premium-footer {
        padding-top: 38px;
    }

    .premium-footer .premium-footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
        padding-bottom: 34px;
    }

    .premium-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* =========================================================
   TB MARKET PREMIUM 10/10 HOME DESIGN FIX
   Append/keep at bottom of assets/css/app.css
   ========================================================= */
:root{
    --premium-red:#e60012;
    --premium-red-dark:#c90010;
    --premium-text:#111827;
    --premium-muted:#6b7280;
    --premium-border:#edf0f5;
    --premium-soft:#f8fafc;
    --premium-shadow:0 18px 55px rgba(15,23,42,.08);
    --premium-shadow-red:0 16px 34px rgba(230,0,18,.22);
}
body{background:#fff;color:var(--premium-text);}
.site-header{box-shadow:0 1px 0 rgba(15,23,42,.06);}
.header-inner{min-height:78px;gap:22px;}
.logo{font-size:31px;letter-spacing:-1.8px;}
.catalog-btn{height:50px;border-radius:11px;box-shadow:var(--premium-shadow-red);}
.search-form{height:50px;border-radius:12px;box-shadow:0 8px 28px rgba(15,23,42,.04);}
.search-form button{border-radius:0 10px 10px 0;}
.main-nav{border-top:0;border-bottom:1px solid var(--premium-border);}
.nav-inner{height:54px;}
.nav-links{gap:34px;}
.nav-links a{position:relative;font-weight:900;color:#111827;}
.nav-links a.active:after,.nav-links a:hover:after{content:"";position:absolute;left:0;right:0;bottom:-18px;height:3px;border-radius:99px;background:var(--premium-red);}
.language-current{border-radius:11px;box-shadow:0 8px 22px rgba(15,23,42,.04);}
.language-dropdown.active .language-menu{opacity:1;visibility:visible;transform:translateY(0);}
.catalog-wrap{position:relative;}
.catalog-menu{position:absolute;top:calc(100% + 14px);left:0;width:420px;background:#fff;border:1px solid var(--premium-border);border-radius:22px;box-shadow:var(--premium-shadow);padding:16px;z-index:300;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;}
.catalog-wrap.active .catalog-menu,.catalog-wrap:hover .catalog-menu{opacity:1;visibility:visible;transform:translateY(0);}
.catalog-menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.catalog-menu-head strong{font-size:18px;font-weight:950;}
.catalog-menu-head a{color:var(--premium-red);font-weight:900;}
.catalog-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.catalog-menu-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;font-weight:900;color:#111827;}
.catalog-menu-item:hover{background:#fff5f5;color:var(--premium-red);}
.catalog-menu-item span{width:38px;height:38px;border-radius:12px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;}
.catalog-menu-item img{width:100%;height:100%;object-fit:cover;}

.premium-market-page{background:#fff;padding:18px 0 46px;}
.premium-layout{display:grid;grid-template-columns:220px minmax(0,1fr)300px;gap:22px;align-items:start;}
.premium-sidebar,.premium-rightbar{display:grid;gap:16px;}
.sidebar-all-btn{height:56px;border-radius:14px;background:var(--premium-red);color:#fff;display:flex;align-items:center;gap:12px;padding:0 16px;box-shadow:var(--premium-shadow-red);}
.sidebar-all-btn b{flex:1;font-size:14px;font-weight:950;}
.sidebar-all-btn em{font-style:normal;font-size:22px;}
.sidebar-category-list{background:#fff;border:1px solid var(--premium-border);border-radius:18px;box-shadow:var(--premium-shadow);padding:8px;display:grid;gap:2px;}
.sidebar-category-item{display:flex;align-items:center;gap:10px;min-height:42px;border-radius:12px;padding:7px 10px;color:#111827;}
.sidebar-category-item:hover{background:#fff5f5;color:var(--premium-red);}
.sidebar-category-icon{width:26px;height:26px;border-radius:8px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;color:var(--premium-red);font-size:14px;}
.sidebar-category-icon img{width:100%;height:100%;object-fit:cover;}
.sidebar-category-item b{flex:1;font-size:12px;line-height:1.25;font-weight:900;}
.sidebar-category-item em{font-style:normal;color:#9ca3af;}
.sidebar-delivery-card,.sidebar-app-card{background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid var(--premium-border);border-radius:20px;padding:18px;box-shadow:var(--premium-shadow);display:grid;gap:8px;}
.sidebar-delivery-card .delivery-illustration{width:58px;height:58px;border-radius:18px;background:#fff;display:grid;place-items:center;font-size:32px;box-shadow:0 12px 30px rgba(15,23,42,.08);}
.sidebar-delivery-card strong,.sidebar-app-card strong{font-size:16px;font-weight:950;}
.sidebar-delivery-card span,.sidebar-app-card span{color:#6b7280;font-size:13px;font-weight:750;}
.sidebar-delivery-card a{height:38px;border-radius:11px;background:var(--premium-red);color:#fff;font-weight:950;display:inline-grid;place-items:center;margin-top:6px;box-shadow:var(--premium-shadow-red);}
.sidebar-app-card{background:linear-gradient(135deg,#fff,#fff5f5);}
.app-badges{display:grid;gap:8px;margin-top:4px;}
.app-badges b{height:34px;border-radius:10px;background:#111827;color:#fff;font-size:11px;display:grid;place-items:center;}

.premium-main{min-width:0;display:grid;gap:16px;}
.premium-hero{position:relative;min-height:345px;border-radius:22px;overflow:hidden;background:linear-gradient(100deg,#fff3e9 0%,#fff8f0 58%,#fff 100%);box-shadow:var(--premium-shadow);display:grid;grid-template-columns:1fr 1.08fr;border:1px solid #f3e7da;}
.premium-hero:before{content:"";position:absolute;right:0;top:0;bottom:0;width:51%;background:linear-gradient(135deg,#ffffff00,#ffefe4);clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);}
.premium-hero-content{position:relative;z-index:2;padding:62px 0 54px 54px;max-width:450px;}
.premium-hero-content h1{margin:0;font-size:43px;line-height:1.08;letter-spacing:-1.8px;font-weight:950;color:#111827;}
.premium-hero-content p{margin:18px 0 0;color:#465066;font-size:17px;line-height:1.55;}
.premium-red-btn{min-height:48px;border:0;border-radius:12px;background:var(--premium-red);color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0 24px;font-weight:950;box-shadow:var(--premium-shadow-red);margin-top:24px;}
.premium-red-btn.wide{width:100%;margin-top:14px;}
.premium-hero-image{position:relative;z-index:2;display:grid;place-items:center;padding:24px 46px 24px 0;}
.premium-hero-image img{max-width:100%;max-height:300px;object-fit:contain;filter:drop-shadow(0 24px 34px rgba(15,23,42,.16));}
.premium-hero-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--premium-red);font-size:34px;display:grid;place-items:center;box-shadow:0 14px 32px rgba(15,23,42,.1);}
.premium-hero-arrow.left{left:18px;}.premium-hero-arrow.right{right:18px;}
.premium-hero-dots{position:absolute;z-index:4;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:9px;}
.premium-hero-dots span{width:8px;height:8px;border-radius:99px;background:#f1c8c8;}.premium-hero-dots span.active{width:28px;background:var(--premium-red);}

.premium-category-row{display:grid;grid-template-columns:repeat(8,1fr);gap:9px;background:#fff;border:1px solid var(--premium-border);border-radius:18px;padding:10px;box-shadow:var(--premium-shadow);}
.premium-category-card{min-height:86px;border-radius:14px;display:grid;place-items:center;text-align:center;gap:7px;color:#111827;padding:8px;}
.premium-category-card:hover{background:#fff5f5;color:var(--premium-red);}
.premium-category-card span{width:42px;height:42px;border-radius:14px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;color:var(--premium-red);font-size:22px;}
.premium-category-card span img{width:100%;height:100%;object-fit:cover;}
.premium-category-card b{font-size:11px;font-weight:950;line-height:1.2;}
.premium-category-card.all span{background:#fff1f1;color:var(--premium-red);}

.premium-promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.promo-card{min-height:105px;border-radius:18px;padding:22px;display:grid;align-content:center;gap:12px;box-shadow:var(--premium-shadow);border:1px solid var(--premium-border);overflow:hidden;position:relative;}
.promo-card:after{content:"";position:absolute;right:-18px;bottom:-22px;width:110px;height:110px;border-radius:35px;background:rgba(255,255,255,.45);transform:rotate(18deg);}
.promo-card strong{position:relative;z-index:2;font-size:18px;font-weight:950;color:#111827;}.promo-card span{position:relative;z-index:2;color:var(--premium-red);font-weight:950;font-size:13px;}
.promo-card.green{background:linear-gradient(135deg,#e8fff0,#ffffff);}.promo-card.pink{background:linear-gradient(135deg,#fff0f4,#ffffff);}.promo-card.blue{background:linear-gradient(135deg,#eef6ff,#ffffff);}

.premium-products-block{display:grid;gap:14px;}
.premium-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.premium-section-head h2{margin:0;font-size:22px;font-weight:950;letter-spacing:-.5px;}.premium-section-head a{color:var(--premium-red);font-weight:950;}
.premium-products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.premium-product-card{position:relative;background:#fff;border:1px solid var(--premium-border);border-radius:18px;padding:14px;box-shadow:0 10px 30px rgba(15,23,42,.04);transition:.18s ease;min-height:250px;}
.premium-product-card:hover{transform:translateY(-4px);box-shadow:var(--premium-shadow);border-color:#ffd4d8;}
.premium-sale-badge{position:absolute;top:12px;left:12px;height:26px;min-width:44px;padding:0 8px;border-radius:9px;background:var(--premium-red);color:#fff;font-size:12px;font-weight:950;display:grid;place-items:center;z-index:3;}
.premium-fav-btn{position:absolute;top:11px;right:11px;width:34px;height:34px;border-radius:50%;border:1px solid var(--premium-border);background:#fff;color:#b9c0cc;display:grid;place-items:center;z-index:3;box-shadow:0 10px 24px rgba(15,23,42,.08);}
.premium-fav-btn svg{width:17px;height:17px;}.premium-fav-btn.active{background:var(--premium-red);border-color:var(--premium-red);color:#fff;}.premium-fav-btn.active svg{fill:currentColor;}
.premium-product-img{height:118px;border-radius:16px;background:#fbfcfe;display:grid;place-items:center;margin-bottom:12px;overflow:hidden;}
.premium-product-img img{max-width:100%;max-height:112px;object-fit:contain;}
.premium-product-card h3{margin:0 0 5px;font-size:15px;line-height:1.22;font-weight:950;color:#111827;}.premium-product-card p{margin:0;color:#6b7280;font-size:13px;font-weight:700;}
.premium-product-bottom{margin-top:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;}
.premium-product-bottom strong{font-size:15px;font-weight:950;color:#111827;white-space:nowrap;}.premium-product-bottom del{display:block;margin-top:3px;font-size:12px;color:#9ca3af;}
.premium-cart-btn{width:38px;height:38px;border:0;border-radius:11px;background:var(--premium-red);color:#fff;font-size:22px;font-weight:950;box-shadow:var(--premium-shadow-red);display:grid;place-items:center;}

.premium-rightbar{position:sticky;top:150px;}
.mini-cart-preview,.premium-benefits-card{background:#fff;border:1px solid var(--premium-border);border-radius:22px;box-shadow:var(--premium-shadow);padding:18px;}
.mini-cart-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}.mini-cart-head h3{margin:0;font-size:20px;font-weight:950;}.mini-cart-head span{min-width:26px;height:26px;border-radius:50%;background:var(--premium-red);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:950;}
.mini-cart-item{display:grid;grid-template-columns:54px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--premium-border);}.mini-cart-item img{width:54px;height:54px;object-fit:contain;background:#f8fafc;border-radius:14px;}.mini-cart-item b{display:block;font-size:13px;font-weight:950;}.mini-cart-item span{display:block;color:#6b7280;font-size:12px;margin:3px 0;}.mini-cart-item strong{font-size:13px;color:#111827;}
.mini-cart-total{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-weight:950;}.mini-cart-total strong{font-size:18px;}
.premium-benefits-card h3{margin:0 0 14px;font-size:18px;font-weight:950;}.premium-benefits-card div{display:grid;grid-template-columns:36px 1fr;column-gap:12px;padding:12px 0;border-bottom:1px solid var(--premium-border);}.premium-benefits-card div:last-child{border-bottom:0;}.premium-benefits-card span{grid-row:1/3;width:36px;height:36px;border-radius:50%;background:#fff5f5;color:var(--premium-red);display:grid;place-items:center;font-weight:950;}.premium-benefits-card b{font-size:13px;font-weight:950;}.premium-benefits-card small{color:#6b7280;line-height:1.4;}

.features-grid{display:none!important;}
.hero-section,.products-section .section-title,.products-section>.container>.products-grid{display:none!important;}
.site-footer{margin-top:0;}

@media(max-width:1280px){.premium-layout{grid-template-columns:210px minmax(0,1fr)}.premium-rightbar{display:none}.premium-products-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:980px){.premium-layout{grid-template-columns:1fr}.premium-sidebar{display:none}.premium-hero{grid-template-columns:1fr;min-height:auto}.premium-hero-content{padding:42px 42px 12px}.premium-hero-image{padding:0 28px 36px}.premium-category-row{grid-template-columns:repeat(4,1fr)}.premium-products-grid{grid-template-columns:repeat(2,1fr)}.premium-promo-grid{grid-template-columns:1fr}.header-inner{grid-template-columns:1fr}.header-actions{justify-content:space-between}.search-form{width:100%;grid-template-columns:1fr 54px}.search-form select{display:none}}
@media(max-width:560px){.container{width:min(100% - 24px,1450px)}.premium-hero-content{padding:32px 24px 8px}.premium-hero-content h1{font-size:31px}.premium-category-row{grid-template-columns:repeat(4,1fr);gap:6px}.premium-category-card{min-height:76px}.premium-products-grid{grid-template-columns:1fr 1fr;gap:10px}.premium-product-card{padding:10px}.premium-product-img{height:100px}.premium-product-card h3{font-size:13px}.premium-hero-arrow{display:none}.nav-links{overflow:auto;gap:22px}.nav-links a{white-space:nowrap}.premium-promo-grid{display:none}}

/* =========================================================
   TB MARKET PREMIUM HEADER + MOBILE APP UI FIX
   ========================================================= */
.desktop-only { display: block; }
.mobile-only { display: none; }

.site-header.desktop-header {
    position: sticky;
    top: 0;
    z-index: 120;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid #edf0f5;
}

.catalog-wrap { position: relative; }
.catalog-menu {
    position: absolute;
    top: calc(100% + 14px);
    left: 0;
    width: 520px;
    max-width: calc(100vw - 32px);
    background: #fff;
    border: 1px solid #edf0f5;
    border-radius: 24px;
    padding: 18px;
    box-shadow: 0 28px 80px rgba(15,23,42,.14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px) scale(.98);
    transition: .22s ease;
    z-index: 220;
}
.catalog-wrap.active .catalog-menu,
.catalog-wrap:hover .catalog-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}
.catalog-menu-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}
.catalog-menu-head strong { font-size: 18px; color: #111827; }
.catalog-menu-head a { color: var(--red); font-weight: 900; }
.catalog-menu-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 12px;
}
.catalog-menu-item {
    min-height: 104px;
    border: 1px solid #edf0f5;
    border-radius: 18px;
    background: linear-gradient(180deg,#fff,#fffafa);
    padding: 12px;
    display: grid;
    place-items: center;
    text-align: center;
    gap: 8px;
    transition: .18s ease;
}
.catalog-menu-item:hover { border-color: rgba(227,6,6,.28); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(227,6,6,.08); }
.catalog-menu-item span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #fff3f3;
    color: var(--red);
    font-weight: 950;
}
.catalog-menu-item img { width: 100%; height: 100%; object-fit: contain; }
.catalog-menu-item b { font-size: 12px; line-height: 1.25; color: #111827; }

.language-dropdown.active .language-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.language-current { cursor: pointer; }

.mobile-app-header,
.mobile-bottom-nav { display: none; }

@media (max-width: 1180px) {
    .header-inner { grid-template-columns: auto auto 1fr; gap: 18px; }
    .header-actions { gap: 18px; }
    .header-action div { display: none; }
    .search-form { grid-template-columns: 1fr 58px; }
    .search-form select { display: none; }
}

@media (max-width: 768px) {
    html, body { max-width: 100%; overflow-x: hidden; }
    body {
        background: #f7f8fb;
        padding-top: 112px;
        padding-bottom: calc(78px + env(safe-area-inset-bottom));
        font-size: 14px;
    }
    .desktop-only,
    .desktop-header,
    .topbar,
    .main-nav { display: none !important; }
    .mobile-only { display: block; }
    .container { width: calc(100% - 26px); }

    .mobile-app-header {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        z-index: 500;
        padding: calc(10px + env(safe-area-inset-top)) 14px 14px;
        background: linear-gradient(180deg, #e30606 0%, #e30606 74%, rgba(227,6,6,0) 100%);
        box-shadow: 0 16px 38px rgba(227,6,6,.18);
    }
    .mobile-status-row {
        height: 34px;
        display: grid;
        grid-template-columns: 42px 1fr 42px;
        align-items: center;
        color: #fff;
    }
    .mobile-status-row strong {
        text-align: center;
        font-size: 16px;
        font-weight: 950;
        letter-spacing: -.2px;
    }
    .mobile-back,
    .mobile-bag {
        width: 34px;
        height: 34px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        color: #fff;
        font-size: 28px;
        font-weight: 700;
    }
    .mobile-bag { justify-self: end; font-size: 20px; background: rgba(255,255,255,.14); }
    .mobile-search-box {
        height: 46px;
        margin-top: 8px;
        border-radius: 13px;
        background: #fff;
        display: grid;
        grid-template-columns: 1fr 46px;
        overflow: hidden;
        box-shadow: 0 14px 26px rgba(20,20,20,.12);
    }
    .mobile-search-box input {
        min-width: 0;
        border: 0;
        outline: 0;
        padding: 0 14px;
        font-size: 14px;
        color: #111827;
    }
    .mobile-search-box button {
        border: 0;
        background: #fff;
        color: #111827;
        display: grid;
        place-items: center;
    }
    .mobile-search-box svg { width: 20px; height: 20px; stroke-width: 2.2; }

    .premium-market-page { padding-top: 10px !important; }
    .premium-layout {
        display: block !important;
        width: calc(100% - 26px) !important;
    }
    .premium-sidebar,
    .premium-rightbar,
    .sidebar-delivery-card,
    .sidebar-app-card,
    .mini-cart-preview,
    .premium-benefits-card { display: none !important; }
    .premium-main { min-width: 0; }

    .premium-hero {
        min-height: 150px !important;
        border-radius: 18px !important;
        padding: 18px 16px !important;
        display: grid !important;
        grid-template-columns: 1fr 42% !important;
        gap: 10px !important;
        background: linear-gradient(135deg,#f1fff3 0%, #ffffff 45%, #e8fff0 100%) !important;
        box-shadow: 0 18px 40px rgba(16,185,129,.12) !important;
    }
    .premium-hero-content { padding: 0 !important; align-self: center; }
    .premium-hero-content h1 {
        font-size: 18px !important;
        line-height: 1.18 !important;
        letter-spacing: -.5px !important;
        margin: 0 0 5px !important;
    }
    .premium-hero-content p {
        font-size: 12px !important;
        line-height: 1.35 !important;
        margin: 0 0 12px !important;
        color: #344154 !important;
    }
    .premium-red-btn {
        min-height: 34px !important;
        padding: 0 15px !important;
        border-radius: 9px !important;
        font-size: 12px !important;
        box-shadow: 0 10px 20px rgba(227,6,6,.2) !important;
    }
    .premium-hero-image {
        min-height: 116px !important;
        display: grid !important;
        place-items: center !important;
        align-self: center !important;
    }
    .premium-hero-image img { max-width: 100% !important; max-height: 122px !important; object-fit: contain !important; }
    .premium-hero-arrow { display: none !important; }
    .premium-hero-dots { bottom: 8px !important; }

    .premium-category-row {
        margin-top: 14px !important;
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0,1fr)) !important;
        gap: 8px !important;
        padding: 8px 4px !important;
        background: #fff !important;
        border-radius: 18px !important;
        border: 1px solid #edf0f5 !important;
        box-shadow: 0 12px 30px rgba(15,23,42,.05) !important;
        overflow: visible !important;
    }
    .premium-category-card {
        min-height: 72px !important;
        padding: 6px 3px !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        border-radius: 12px !important;
    }
    .premium-category-card span {
        width: 38px !important;
        height: 38px !important;
        border-radius: 14px !important;
        margin: 0 auto 5px !important;
        background: #fff4f4 !important;
    }
    .premium-category-card b {
        font-size: 10px !important;
        line-height: 1.1 !important;
        min-height: 22px;
        display: block;
    }
    .premium-category-card:nth-child(n+6) { display: none !important; }
    .premium-category-card.all { display: grid !important; }

    .premium-promo-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-top: 14px !important;
    }
    .promo-card {
        min-height: 88px !important;
        border-radius: 16px !important;
        padding: 15px !important;
    }
    .promo-card strong { font-size: 16px !important; }

    .premium-section-head { margin: 20px 0 12px !important; }
    .premium-section-head h2 { font-size: 18px !important; }
    .premium-section-head a { font-size: 12px !important; }
    .premium-products-grid,
    .products-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 12px !important;
    }
    .premium-product-card,
    .product-card {
        min-height: 226px !important;
        padding: 10px !important;
        border-radius: 17px !important;
        background: #fff !important;
        box-shadow: 0 12px 28px rgba(15,23,42,.06) !important;
    }
    .premium-product-img,
    .product-image {
        height: 94px !important;
        margin-bottom: 8px !important;
        border-radius: 15px !important;
        background: #fff8f8 !important;
    }
    .premium-product-img img,
    .product-image img { max-height: 88px !important; }
    .premium-product-card h3,
    .product-card h3 { font-size: 13px !important; line-height: 1.25 !important; min-height: 33px; }
    .premium-product-card p,
    .product-card p { font-size: 11px !important; color: #6b7280 !important; }
    .premium-product-bottom strong,
    .product-bottom strong { font-size: 13px !important; }
    .premium-product-bottom del,
    .product-bottom del { font-size: 10px !important; }
    .premium-cart-btn,
    .cart-btn { width: 34px !important; height: 34px !important; border-radius: 10px !important; font-size: 18px !important; }
    .premium-fav-btn,
    .favorite-btn { width: 30px !important; height: 30px !important; top: 9px !important; right: 9px !important; }
    .premium-sale-badge,
    .sale-badge { top: 9px !important; left: 9px !important; height: 24px !important; min-width: 38px !important; font-size: 11px !important; border-radius: 8px !important; }

    .cart-page,
    .checkout-page,
    .success-page,
    .account-page,
    .static-page,
    .product-detail-page { padding: 18px 0 28px !important; }
    .page-head h1 { font-size: 24px !important; }
    .cart-layout,
    .checkout-layout,
    .account-layout,
    .customer-order-detail-grid { grid-template-columns: 1fr !important; }
    .account-sidebar { position: static !important; display: flex !important; gap: 8px; overflow-x: auto; border-radius: 16px !important; padding: 8px !important; margin-bottom: 14px; }
    .account-sidebar a { white-space: nowrap; padding: 11px 13px !important; }
    .cart-item { grid-template-columns: 68px 1fr !important; gap: 12px !important; border-radius: 16px !important; padding: 12px !important; }
    .cart-item-image { width: 68px !important; height: 68px !important; }
    .cart-qty,
    .cart-line-total,
    .cart-remove { grid-column: 2 !important; }
    .cart-summary { position: static !important; border-radius: 18px !important; }
    .footer-grid,
    .premium-footer-grid { grid-template-columns: 1fr !important; gap: 22px !important; }
    .premium-footer { padding-bottom: calc(90px + env(safe-area-inset-bottom)) !important; }
    .premium-footer-bottom { flex-direction: column !important; align-items: flex-start !important; }

    .mobile-bottom-nav {
        display: grid;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 520;
        grid-template-columns: repeat(5, 1fr);
        padding: 8px 6px calc(8px + env(safe-area-inset-bottom));
        background: rgba(255,255,255,.97);
        backdrop-filter: blur(18px);
        border-top: 1px solid #edf0f5;
        box-shadow: 0 -18px 45px rgba(15,23,42,.12);
    }
    .mobile-bottom-nav a {
        position: relative;
        min-height: 52px;
        display: grid;
        place-items: center;
        align-content: center;
        gap: 3px;
        color: #6b7280;
        font-size: 10px;
        font-weight: 850;
        border-radius: 14px;
    }
    .mobile-bottom-nav svg { width: 22px; height: 22px; stroke-width: 1.9; fill: none; stroke: currentColor; }
    .mobile-bottom-nav a.active { color: var(--red); background: #fff3f3; }
    .mobile-bottom-nav a.active svg { stroke: var(--red); }
    .mobile-bottom-nav .mobile-nav-cart i {
        position: absolute;
        top: 2px;
        right: calc(50% - 20px);
        min-width: 17px;
        height: 17px;
        padding: 0 5px;
        border-radius: 99px;
        background: var(--red);
        color: #fff;
        font-size: 10px;
        font-style: normal;
        display: grid;
        place-items: center;
        line-height: 1;
    }
}

@media (max-width: 390px) {
    .premium-hero-content h1 { font-size: 16px !important; }
    .premium-category-row { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
    .premium-category-card:nth-child(5) { display: none !important; }
}
.mobile-header-title{
    font-size:28px;
    font-weight:950;
    letter-spacing:-1.5px;
    color:#111827;
    line-height:1;
    margin:0;
}

.mobile-header-title span{
    color:#e30606;
}

.mobile-status-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.mobile-status-row .mobile-back,
.mobile-status-row .mobile-bag{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#000000;
    font-size:28px;
    text-decoration:none;
    flex:0 0 38px;
}

.mobile-status-row .mobile-back{
    font-size:40px;
    line-height:1;
}

.mobile-app-header{
    background:#ffffff;
    padding:14px 16px 18px;
    border-radius:0 0 24px 24px;
    box-shadow:0 10px 30px rgba(227,6,6,.22);
}

.mobile-search-box{
    margin-top:14px;
}
/* ==== FINAL PATCH: category icons, hero arrows, real mini-cart sync ==== */
.sidebar-category-icon,
.premium-category-card span{
    background:#fff5f5 !important;
    border:1px solid rgba(227,6,6,.08);
    overflow:hidden;
}
.sidebar-category-icon img,
.premium-category-card span img{
    width:78% !important;
    height:78% !important;
    object-fit:contain !important;
    display:block;
}
.sidebar-category-item{
    grid-template-columns:34px 1fr auto !important;
}
.sidebar-category-icon{
    width:34px !important;
    height:34px !important;
    border-radius:12px !important;
    font-size:18px !important;
}
.premium-category-row{
    align-items:stretch !important;
}
.premium-category-card{
    min-height:92px !important;
    align-content:center !important;
    justify-content:center !important;
}
.premium-category-card span{
    width:46px !important;
    height:46px !important;
    border-radius:16px !important;
}
.premium-category-card b{
    min-height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.premium-hero-arrow{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
    padding:0 0 4px 0 !important;
    font-family:Arial, sans-serif !important;
}
.premium-hero-arrow.left{left:24px !important;}
.premium-hero-arrow.right{right:24px !important;}
.mini-cart-preview{
    position:sticky;
    top:180px;
}
.mini-cart-empty{
    border:1px dashed var(--premium-border, #e5e7eb);
    border-radius:16px;
    padding:18px;
    color:#6b7280;
    font-weight:800;
    text-align:center;
    background:#f9fafb;
}
.mini-cart-list{
    display:block;
}
.header-action[href*="cart.php"]{
    border:1px solid transparent;
    border-radius:16px;
    padding:8px 10px;
    transition:.18s ease;
}
.header-action[href*="cart.php"]:hover{
    border-color:rgba(227,6,6,.18);
    background:#fff5f5;
}
.header-action .cart-total-text{
    font-weight:800;
}
@media(max-width:980px){
    .mini-cart-preview{position:static;}
    .premium-category-card{min-height:84px !important;}
}
/* CART FINAL FIX */
.cart-layout{
    grid-template-columns:minmax(0,1fr) 360px !important;
}

.cart-item{
    display:grid !important;
    grid-template-columns:96px minmax(220px,1fr) 150px 170px 120px !important;
    align-items:center !important;
    gap:20px !important;
}

.cart-qty{
    width:150px !important;
    min-width:150px !important;
    grid-template-columns:44px 62px 44px !important;
    height:46px !important;
}

.cart-qty input{
    width:62px !important;
    min-width:0 !important;
    padding:0 !important;
    font-size:16px !important;
}

.cart-line-total{
    width:170px !important;
    text-align:right !important;
    font-size:22px !important;
}

.cart-remove{
    width:120px !important;
    padding:0 12px !important;
}

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

    .cart-item{
        grid-template-columns:90px 1fr !important;
    }

    .cart-qty,
    .cart-line-total,
    .cart-remove{
        grid-column:2 !important;
    }

    .cart-line-total{
        text-align:left !important;
    }
}

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

    .cart-qty,
    .cart-line-total,
    .cart-remove{
        grid-column:auto !important;
        width:100% !important;
    }
}
/* =========================================================
   PREMIUM PRODUCT DETAIL PAGE
========================================================= */

.product-detail-page{
    padding:40px 0 70px;
    background:#f6f7fb;
}

.breadcrumb-line{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:24px;
    font-size:14px;
    font-weight:700;
    color:#7b8494;
}

.breadcrumb-line a:hover{
    color:var(--red);
}

.product-detail-grid{
    display:grid;
    grid-template-columns: 1fr 520px;
    gap:28px;
    align-items:start;
}

.product-detail-gallery{
    background:#ffffff;
    border-radius:28px;
    border:1px solid #edf0f5;
    padding:40px;
    box-shadow:0 20px 45px rgba(15,23,42,.05);
    min-height:720px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.product-detail-main-image{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}

.product-detail-main-image img{
    width:100%;
    max-width:650px;
    max-height:620px;
    object-fit:contain;
    transition:.25s ease;
}

.product-detail-main-image img:hover{
    transform:scale(1.03);
}

.product-detail-info{
    background:#ffffff;
    border-radius:28px;
    border:1px solid #edf0f5;
    padding:34px;
    box-shadow:0 20px 45px rgba(15,23,42,.05);
    position:sticky;
    top:140px;
}

.product-category-badge{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 16px;
    border-radius:999px;
    background:#fff1f1;
    color:var(--red);
    font-size:13px;
    font-weight:900;
    margin-bottom:18px;
}

.product-detail-info h1{
    margin:0 0 18px;
    font-size:54px;
    line-height:1;
    letter-spacing:-2px;
    color:#111827;
    font-weight:950;
}

.product-detail-short{
    margin:0 0 28px;
    color:#6b7280;
    font-size:17px;
    line-height:1.8;
}

.product-detail-price{
    display:flex;
    align-items:flex-end;
    gap:16px;
    margin-bottom:26px;
}

.product-detail-price strong{
    font-size:56px;
    line-height:1;
    color:var(--red);
    font-weight:950;
    letter-spacing:-2px;
}

.product-detail-price del{
    color:#94a3b8;
    font-size:28px;
    font-weight:800;
}

.product-meta-list{
    display:grid;
    gap:14px;
    margin-bottom:30px;
}

.product-meta-list div{
    min-height:66px;
    border:1px solid #edf0f5;
    border-radius:18px;
    padding:0 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:#fbfcfe;
}

.product-meta-list span{
    color:#6b7280;
    font-size:15px;
    font-weight:800;
}

.product-meta-list b{
    color:#111827;
    font-size:18px;
    font-weight:950;
}

.product-actions{
    display:flex;
    align-items:center;
    gap:16px;
    margin-top:30px;
    flex-wrap:wrap;
}

.quantity-box{
    width:180px;
    height:68px;
    border-radius:18px;
    overflow:hidden;
    border:1px solid #e5e7eb;
    background:#ffffff;
    display:grid;
    grid-template-columns:60px 1fr 60px;
    align-items:center;
    box-shadow:inset 0 1px 2px rgba(15,23,42,.04);
}

.quantity-box button{
    border:0;
    background:#f8fafc;
    color:#111827;
    font-size:34px;
    font-weight:900;
    height:100%;
    transition:.2s ease;
}

.quantity-box button:hover{
    background:#fff1f1;
    color:var(--red);
}

.quantity-box input{
    border:0;
    width:100%;
    text-align:center;
    font-size:24px;
    font-weight:950;
    color:#111827;
    outline:none;
    background:#ffffff;
}

.add-cart-btn{
    height:68px !important;
    padding:0 36px !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#ff1717,#d90000) !important;
    color:#ffffff !important;
    border:0 !important;
    font-size:20px !important;
    font-weight:950 !important;
    box-shadow:0 20px 40px rgba(227,6,6,.26) !important;
    transition:.2s ease;
}

.add-cart-btn:hover{
    transform:translateY(-2px);
}

.favorite-detail-btn{
    height:68px;
    padding:0 28px;
    border-radius:18px;
    background:#fff1f1;
    color:var(--red);
    font-size:17px;
    font-weight:900;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:.2s ease;
}

.favorite-detail-btn:hover{
    background:var(--red);
    color:#ffffff;
}

.product-description-card{
    margin-top:30px;
    background:#ffffff;
    border-radius:28px;
    border:1px solid #edf0f5;
    padding:34px;
    box-shadow:0 20px 45px rgba(15,23,42,.05);
}

.product-description-card h2{
    margin:0 0 18px;
    font-size:30px;
    font-weight:950;
}

.product-description-card p{
    margin:0;
    color:#5b6472;
    line-height:2;
    font-size:17px;
}

@media (max-width: 1200px){

    .product-detail-grid{
        grid-template-columns:1fr;
    }

    .product-detail-info{
        position:static;
    }
}

@media (max-width: 768px){

    .product-detail-page{
        padding:16px 0 40px;
    }

    .product-detail-gallery{
        min-height:auto;
        padding:22px;
        border-radius:24px;
    }

    .product-detail-main-image img{
        max-height:320px;
    }

    .product-detail-info{
        padding:24px;
        border-radius:24px;
    }

    .product-detail-info h1{
        font-size:34px;
        line-height:1.1;
    }

    .product-detail-price strong{
        font-size:38px;
    }

    .product-detail-price del{
        font-size:20px;
    }

    .product-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .quantity-box{
        width:100%;
    }

    .add-cart-btn,
    .favorite-detail-btn{
        width:100%;
    }
}
/* PRODUCT DETAIL FINAL CLEAN PREMIUM FIX */

.product-detail-page{
    padding:34px 0 64px !important;
    background:#f6f7fb !important;
}

.product-detail-grid{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 420px !important;
    gap:24px !important;
    align-items:start !important;
}

.product-detail-gallery{
    min-height:520px !important;
    padding:34px !important;
    border-radius:24px !important;
    background:#fff !important;
}

.product-detail-main-image img{
    max-width:560px !important;
    max-height:430px !important;
    object-fit:contain !important;
}

.product-detail-info{
    padding:28px !important;
    border-radius:24px !important;
    position:static !important;
    background:#fff !important;
}

.product-detail-info h1{
    font-size:36px !important;
    line-height:1.12 !important;
    letter-spacing:-1px !important;
    margin:0 0 16px !important;
}

.product-detail-price{
    margin-bottom:22px !important;
    gap:12px !important;
}

.product-detail-price strong{
    font-size:34px !important;
    line-height:1.05 !important;
    letter-spacing:-1px !important;
    white-space:nowrap !important;
}

.product-detail-price del{
    font-size:18px !important;
    line-height:1.2 !important;
}

.product-meta-list{
    gap:10px !important;
    margin-bottom:24px !important;
}

.product-meta-list div{
    min-height:52px !important;
    padding:0 16px !important;
    border-radius:14px !important;
}

.product-meta-list span{
    font-size:14px !important;
}

.product-meta-list b{
    font-size:15px !important;
}

.product-actions{
    gap:12px !important;
    margin-top:20px !important;
}

.quantity-box{
    width:132px !important;
    height:52px !important;
    grid-template-columns:44px 44px 44px !important;
    border-radius:14px !important;
}

.quantity-box button{
    font-size:24px !important;
}

.quantity-box input{
    font-size:18px !important;
}

.add-cart-btn{
    height:52px !important;
    padding:0 24px !important;
    border-radius:14px !important;
    font-size:15px !important;
}

.favorite-detail-btn{
    height:52px !important;
    padding:0 20px !important;
    border-radius:14px !important;
    font-size:14px !important;
}

.product-description-card{
    margin-top:24px !important;
    padding:28px !important;
    border-radius:22px !important;
}

.product-description-card h2{
    font-size:24px !important;
}

.product-description-card p{
    font-size:15px !important;
    line-height:1.7 !important;
}

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

@media(max-width:640px){
    .product-detail-gallery{
        min-height:auto !important;
        padding:20px !important;
    }

    .product-detail-main-image img{
        max-height:280px !important;
    }

    .product-detail-info h1{
        font-size:28px !important;
    }

    .product-detail-price strong{
        font-size:30px !important;
    }

    .product-actions{
        display:grid !important;
        grid-template-columns:1fr !important;
    }

    .quantity-box,
    .add-cart-btn,
    .favorite-detail-btn{
        width:100% !important;
    }

    .quantity-box{
        grid-template-columns:1fr 1fr 1fr !important;
    }
}
/* PRODUCT DETAIL BALANCE FINAL */
.product-detail-grid{
    grid-template-columns:minmax(0, 760px) 420px !important;
    justify-content:center !important;
    gap:28px !important;
}

.product-detail-gallery{
    min-height:420px !important;
    height:420px !important;
    padding:24px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.product-detail-main-image{
    width:100% !important;
    height:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#fff7f7 !important;
    border-radius:22px !important;
}

.product-detail-main-image img{
    max-width:520px !important;
    max-height:330px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
}

.product-detail-info{
    min-height:420px !important;
    padding:28px !important;
}

.quantity-box{
    width:126px !important;
    height:50px !important;
    grid-template-columns:42px 42px 42px !important;
}

.quantity-box button{
    font-size:24px !important;
}

.quantity-box input{
    font-size:17px !important;
}

.add-cart-btn{
    height:50px !important;
    padding:0 24px !important;
    font-size:15px !important;
}

.favorite-detail-btn{
    height:50px !important;
}

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

    .product-detail-gallery{
        height:auto !important;
        min-height:320px !important;
    }
}
/* =========================================================
   TB MARKET PRODUCT CARD LIVE CART QUANTITY FINAL CSS
   Add to assets/css/app.css bottom
========================================================= */
.product-card-cart-stepper{
    width:64px;
    min-width:64px;
    height:44px;
    display:grid;
    grid-template-columns:20px 24px 20px;
    align-items:center;
    overflow:hidden;
    border-radius:13px;
    background:#e30606;
    box-shadow:0 14px 28px rgba(227,6,6,.24);
    color:#ffffff;
}

.product-card-cart-stepper button{
    width:100%;
    height:100%;
    border:0;
    background:transparent;
    color:#ffffff;
    font-size:18px;
    font-weight:950;
    line-height:1;
    cursor:pointer;
    transition:.15s ease;
}

.product-card-cart-stepper button:hover{
    background:rgba(255,255,255,.16);
}

.product-card-cart-stepper span{
    display:grid;
    place-items:center;
    min-width:0;
    color:#ffffff;
    font-size:14px;
    font-weight:950;
    line-height:1;
}

.product-bottom .product-card-cart-stepper,
.premium-product-bottom .product-card-cart-stepper{
    margin-left:auto;
}

.premium-product-bottom .product-card-cart-stepper{
    width:64px;
    height:43px;
    border-radius:13px;
}

.cart-btn.loading,
.add-cart-btn.loading,
.premium-cart-btn.loading{
    opacity:.65;
    pointer-events:none;
}

@media(max-width:640px){
    .product-card-cart-stepper{
        width:62px;
        min-width:62px;
        height:40px;
        grid-template-columns:19px 24px 19px;
    }

    .product-card-cart-stepper button{
        font-size:16px;
    }

    .product-card-cart-stepper span{
        font-size:13px;
    }
}

/* =========================================================
   PRODUCT CARDS FINAL: discount date + quantity input + add button
========================================================= */
.product-card,
.premium-product-card{
    overflow:hidden !important;
}

.product-card-badges{
    position:absolute;
    left:14px;
    top:14px;
    right:54px;
    z-index:5;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    pointer-events:none;
}

.product-card-badges .sale-badge,
.product-card-badges .premium-sale-badge{
    position:static !important;
    min-width:auto !important;
    height:30px !important;
    padding:0 10px !important;
    border-radius:9px !important;
    background:#e30606 !important;
    color:#ffffff !important;
    font-size:13px !important;
    font-weight:950 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
}

.product-discount-date{
    height:30px;
    padding:0 11px;
    border-radius:10px;
    border:2px solid #ffd6dc;
    background:#fff7f8;
    color:#e30606;
    font-size:12px;
    font-weight:950;
    display:inline-flex;
    align-items:center;
    gap:5px;
    line-height:1;
    white-space:nowrap;
    box-shadow:0 7px 16px rgba(227,6,6,.08);
}

.product-card-price-row,
.premium-product-bottom.product-card-price-row{
    margin-top:12px !important;
    display:flex !important;
    align-items:baseline !important;
    justify-content:flex-start !important;
    gap:8px !important;
    min-height:26px !important;
}

.product-card-price-row strong,
.premium-product-bottom.product-card-price-row strong{
    color:#e30606 !important;
    font-size:17px !important;
    font-weight:950 !important;
    white-space:nowrap !important;
}

.product-card-price-row del,
.premium-product-bottom.product-card-price-row del{
    color:#9ca3af !important;
    font-size:13px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
}

.product-card-buybar{
    margin-top:12px;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
}

.product-card-qty-control{
    width:100%;
    height:42px;
    border:1px solid #e4e8f0;
    border-radius:11px;
    overflow:hidden;
    display:grid;
    grid-template-columns:42px 1fr 42px;
    background:#ffffff;
    box-shadow:inset 0 1px 2px rgba(15,23,42,.035);
}

.product-card-qty-control button{
    border:0;
    background:#fbfcff;
    color:#111827;
    font-size:20px;
    font-weight:950;
    line-height:1;
    transition:.15s ease;
}

.product-card-qty-control button:hover{
    background:#fff1f1;
    color:#e30606;
}

.product-card-qty-control input{
    width:100%;
    min-width:0;
    border:0;
    outline:0;
    text-align:center;
    font-size:16px;
    font-weight:950;
    color:#111827;
    background:#ffffff;
    appearance:textfield;
    -moz-appearance:textfield;
}

.product-card-qty-control input::-webkit-outer-spin-button,
.product-card-qty-control input::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
}

.product-card-add-btn{
    width:100%;
    height:44px;
    border:0;
    border-radius:11px;
    background:linear-gradient(180deg,#f60909,#df0000);
    color:#ffffff;
    font-size:14px;
    font-weight:950;
    box-shadow:0 14px 25px rgba(227,6,6,.22);
    transition:.16s ease;
}

.product-card-add-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 18px 34px rgba(227,6,6,.28);
}

.product-card-add-btn.loading{
    opacity:.65;
    pointer-events:none;
}

.product-card-buybar.in-cart .product-card-add-btn{
    background:#111827;
    box-shadow:0 14px 25px rgba(17,24,39,.12);
}

.product-card-buybar.in-cart .product-card-add-btn::after{
    content:" ✓";
}

.premium-product-card .premium-product-img{
    margin-top:28px !important;
}

.product-card .product-image{
    margin-top:28px !important;
}

.product-card-cart-stepper{
    display:none !important;
}

@media(max-width:640px){
    .product-card-badges{
        left:10px;
        top:10px;
        right:42px;
        gap:5px;
    }
    .product-discount-date{
        height:26px;
        padding:0 8px;
        font-size:10px;
        border-radius:8px;
    }
    .product-card-badges .sale-badge,
    .product-card-badges .premium-sale-badge{
        height:26px !important;
        padding:0 8px !important;
        font-size:11px !important;
    }
    .product-card-qty-control{
        height:38px;
        grid-template-columns:38px 1fr 38px;
    }
    .product-card-add-btn{
        height:40px;
        font-size:12px;
    }
}
/* PRODUCT CARD DISCOUNT DATE + BUY BUTTON FIX */
.premium-products-grid{
    align-items:stretch;
}

.premium-product-card{
    position:relative;
    display:flex !important;
    flex-direction:column !important;
    min-height:360px !important;
    padding:16px !important;
    overflow:hidden !important;
}

.product-card-badges{
    position:absolute;
    left:14px;
    top:14px;
    right:52px;
    z-index:6;
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
    pointer-events:none;
}

.product-card-badges .premium-sale-badge,
.product-card-badges .product-discount-date{
    position:static !important;
}

.product-discount-date{
    min-height:26px;
    padding:0 10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    border:2px solid #ffd2d8;
    border-radius:999px;
    background:#fff6f7;
    color:#e30606;
    font-size:12px;
    line-height:1;
    font-weight:950;
    box-shadow:0 6px 14px rgba(227,6,6,.08);
}

.premium-product-img{
    margin-top:30px !important;
    height:142px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
}

.premium-product-img img{
    max-width:100% !important;
    max-height:130px !important;
    object-fit:contain !important;
}

.premium-product-card h3{
    min-height:38px;
    margin:10px 0 4px !important;
    font-size:16px !important;
    line-height:1.2 !important;
    font-weight:950 !important;
}

.premium-product-card p{
    margin:0 0 10px !important;
    color:#6b7280 !important;
    font-size:14px !important;
    font-weight:700 !important;
}

.product-card-price-row{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    min-height:28px !important;
    margin-top:auto !important;
    margin-bottom:10px !important;
}

.product-card-price-row strong{
    color:#e30606 !important;
    font-size:17px !important;
    font-weight:950 !important;
    white-space:nowrap !important;
}

.product-card-price-row del{
    color:#9aa3b2 !important;
    font-size:13px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
}

.product-card-buybar{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    margin-top:0 !important;
}

.product-card-qty-control{
    height:40px !important;
    border:1px solid #e5e7eb !important;
    border-radius:10px !important;
    display:grid !important;
    grid-template-columns:40px 1fr 40px !important;
    overflow:hidden !important;
    background:#fff !important;
}

.product-card-qty-control button{
    border:0 !important;
    background:#f8fafc !important;
    color:#111827 !important;
    font-size:20px !important;
    font-weight:950 !important;
}

.product-card-qty-control input{
    border:0 !important;
    width:100% !important;
    text-align:center !important;
    outline:none !important;
    font-size:16px !important;
    font-weight:950 !important;
    color:#111827 !important;
}

.product-card-add-btn{
    width:100% !important;
    height:44px !important;
    border:0 !important;
    border-radius:11px !important;
    background:#e30606 !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:950 !important;
    box-shadow:0 12px 24px rgba(227,6,6,.22) !important;
}

.product-card-add-btn:hover{
    background:#c90000 !important;
}

@media(max-width:640px){
    .premium-product-card{min-height:340px !important;}
    .product-discount-date{font-size:11px;padding:0 8px;}
}



/* =========================================================
   TB MARKET PRODUCT CARD SYSTEM FINAL
   Ortak ürün kartı: index/category/search/new/bestsellers/favorites
   Bu blok en altta kalmalı, eski duplicate product-card CSS'lerini ezer.
========================================================= */

.modern-catalog-page{
    background:#f8fafc !important;
    padding:30px 0 58px !important;
}

.catalog-page-head{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:20px !important;
    margin-bottom:22px !important;
}

.catalog-page-head h1{
    margin:0 0 8px !important;
    font-size:34px !important;
    line-height:1.05 !important;
    letter-spacing:-1px !important;
    font-weight:950 !important;
    color:#111827 !important;
}

.catalog-page-head p{
    margin:0 !important;
    color:#64748b !important;
    font-weight:700 !important;
}

.modern-catalog-filter{
    margin-bottom:24px !important;
    border-radius:20px !important;
    background:#fff !important;
    box-shadow:0 16px 40px rgba(15,23,42,.05) !important;
}

.tb-products-grid,
.products-grid.tb-products-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:16px !important;
    align-items:stretch !important;
}

.tb-product-card,
.products-grid .tb-product-card{
    position:relative !important;
    min-height:365px !important;
    padding:14px !important;
    border:1px solid #e9edf4 !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 15px 38px rgba(15,23,42,.045) !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.tb-product-card:hover{
    transform:translateY(-3px) !important;
    border-color:rgba(227,6,6,.24) !important;
    box-shadow:0 20px 45px rgba(15,23,42,.08) !important;
}

.tb-product-card .product-card-badges{
    position:absolute !important;
    left:14px !important;
    top:14px !important;
    right:52px !important;
    min-height:30px !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    z-index:7 !important;
    pointer-events:none !important;
    flex-wrap:wrap !important;
}

.tb-product-card .sale-badge{
    position:static !important;
    min-width:auto !important;
    height:30px !important;
    padding:0 10px !important;
    border-radius:9px !important;
    background:#e30606 !important;
    color:#fff !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:950 !important;
    box-shadow:0 8px 16px rgba(227,6,6,.18) !important;
}

.tb-product-card .product-discount-date{
    height:30px !important;
    padding:0 10px !important;
    border:2px solid #ffd6d6 !important;
    border-radius:999px !important;
    background:#fff7f7 !important;
    color:#e30606 !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
}

.tb-product-card .product-discount-date .date-icon{
    width:14px !important;
    height:14px !important;
    border-radius:4px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:10px !important;
}

.tb-product-card .favorite-btn{
    position:absolute !important;
    top:14px !important;
    right:14px !important;
    width:34px !important;
    height:34px !important;
    border:1px solid #e5eaf2 !important;
    border-radius:50% !important;
    background:#fff !important;
    color:#94a3b8 !important;
    display:grid !important;
    place-items:center !important;
    box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
    z-index:8 !important;
}

.tb-product-card .favorite-btn svg{
    width:18px !important;
    height:18px !important;
    stroke-width:2 !important;
}

.tb-product-card .favorite-btn.active,
.tb-product-card .favorite-btn:hover{
    background:#e30606 !important;
    border-color:#e30606 !important;
    color:#fff !important;
}

.tb-product-card .tb-product-image,
.tb-product-card .product-image{
    height:155px !important;
    margin:30px 0 12px !important;
    border-radius:16px !important;
    background:linear-gradient(180deg,#fff,#fbfcff) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
}

.tb-product-card .tb-product-image img,
.tb-product-card .product-image img{
    max-width:100% !important;
    max-height:145px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
}

.tb-product-card .tb-product-info,
.tb-product-card .product-info{
    margin:0 !important;
    min-height:56px !important;
}

.tb-product-card h3,
.tb-product-card .product-info h3{
    margin:0 0 7px !important;
    font-size:16px !important;
    line-height:1.22 !important;
    font-weight:950 !important;
    color:#111827 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
}

.tb-product-card p,
.tb-product-card .product-info p{
    margin:0 !important;
    color:#64748b !important;
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:1 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
}

.tb-product-card .product-card-price-row{
    margin-top:auto !important;
    padding-top:12px !important;
    min-height:38px !important;
    display:flex !important;
    align-items:flex-end !important;
    gap:10px !important;
    flex-wrap:wrap !important;
}

.tb-product-card .product-card-price-row strong{
    color:#111827 !important;
    font-size:18px !important;
    line-height:1 !important;
    font-weight:950 !important;
    white-space:nowrap !important;
}

.tb-product-card .product-card-price-row del{
    color:#9aa4b2 !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
}

.tb-product-card .product-card-buybar{
    margin-top:12px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
}

.tb-product-card .product-card-qty-control{
    width:100% !important;
    height:38px !important;
    border:1px solid #e5eaf2 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    display:grid !important;
    grid-template-columns:42px 1fr 42px !important;
    background:#fff !important;
}

.tb-product-card .product-card-qty-control button{
    border:0 !important;
    background:#fbfcfe !important;
    color:#111827 !important;
    font-size:20px !important;
    font-weight:900 !important;
    display:grid !important;
    place-items:center !important;
    transition:.15s ease !important;
}

.tb-product-card .product-card-qty-control button:hover{
    background:#fff1f1 !important;
    color:#e30606 !important;
}

.tb-product-card .product-card-qty-control input{
    width:100% !important;
    min-width:0 !important;
    border:0 !important;
    border-left:1px solid #e5eaf2 !important;
    border-right:1px solid #e5eaf2 !important;
    background:#fff !important;
    text-align:center !important;
    outline:0 !important;
    color:#111827 !important;
    font-size:16px !important;
    font-weight:950 !important;
    -moz-appearance:textfield !important;
}

.tb-product-card .product-card-qty-control input::-webkit-outer-spin-button,
.tb-product-card .product-card-qty-control input::-webkit-inner-spin-button{
    -webkit-appearance:none !important;
    margin:0 !important;
}

.tb-product-card .product-card-add-btn{
    width:100% !important;
    height:44px !important;
    border:0 !important;
    border-radius:11px !important;
    background:linear-gradient(180deg,#f20b0b,#df0000) !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:950 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-shadow:0 12px 24px rgba(227,6,6,.18) !important;
    transition:.16s ease !important;
}

.tb-product-card .product-card-add-btn:hover{
    transform:translateY(-1px) !important;
    box-shadow:0 16px 30px rgba(227,6,6,.25) !important;
}

.tb-product-card .product-card-buybar.in-cart .product-card-add-btn{
    background:linear-gradient(180deg,#ef0b0b,#d80000) !important;
}

@media(max-width:1300px){
    .tb-products-grid,
    .products-grid.tb-products-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

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

    .catalog-page-head{
        display:block !important;
    }
}

@media(max-width:560px){
    .modern-catalog-page{
        padding:18px 0 42px !important;
    }

    .tb-products-grid,
    .products-grid.tb-products-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }

    .tb-product-card{
        min-height:310px !important;
        padding:10px !important;
        border-radius:16px !important;
    }

    .tb-product-card .tb-product-image,
    .tb-product-card .product-image{
        height:118px !important;
        margin-top:28px !important;
    }

    .tb-product-card .tb-product-image img,
    .tb-product-card .product-image img{
        max-height:108px !important;
    }

    .tb-product-card h3,
    .tb-product-card .product-info h3{
        font-size:14px !important;
    }

    .tb-product-card .product-card-price-row strong{
        font-size:15px !important;
    }

    .tb-product-card .product-discount-date{
        max-width:110px !important;
        font-size:10px !important;
        padding:0 7px !important;
    }

    .tb-product-card .sale-badge{
        height:26px !important;
        font-size:12px !important;
    }
}
/* =========================================================
   TB MARKET HOME OPTION 2 - PREMIUM LAYOUT
   Add to bottom of assets/css/app.css
========================================================= */
.home-v2-page{
    background:#ffffff;
    padding:22px 0 48px;
}
.home-v2-container{
    width:min(1360px, calc(100% - 64px));
}
.home-v2-hero{
    position:relative;
    min-height:390px;
    border:1px solid #e9eef5;
    border-radius:22px;
    overflow:hidden;
    background:
        radial-gradient(circle at 76% 45%, rgba(255,255,255,.22), transparent 28%),
        linear-gradient(105deg,#0f381e 0%,#133f22 55%,#f5fff5 55.2%,#ffffff 100%);
    box-shadow:0 22px 60px rgba(15,23,42,.08);
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
}
.home-v2-hero-content{
    padding:56px 64px;
    position:relative;
    z-index:2;
    color:#ffffff;
}
.home-v2-kicker{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    font-size:13px;
    font-weight:900;
    margin-bottom:14px;
}
.home-v2-hero h1{
    margin:0;
    max-width:520px;
    font-size:46px;
    line-height:1.08;
    letter-spacing:-1.7px;
    font-weight:950;
}
.home-v2-hero p{
    max-width:460px;
    margin:18px 0 0;
    font-size:17px;
    line-height:1.65;
    color:rgba(255,255,255,.82);
}
.home-v2-primary-btn{
    margin-top:26px;
    min-height:50px;
    padding:0 28px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#e30606;
    color:#fff;
    font-size:15px;
    font-weight:950;
    box-shadow:0 18px 38px rgba(227,6,6,.28);
}
.home-v2-hero-image{
    position:relative;
    min-height:390px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px 44px 24px 0;
    z-index:2;
}
.home-v2-hero-image img{
    max-width:100%;
    max-height:330px;
    object-fit:contain;
    filter:drop-shadow(0 26px 34px rgba(0,0,0,.18));
}
.home-v2-hero-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:#ffffff;
    color:#e30606;
    font-size:32px;
    line-height:1;
    display:grid;
    place-items:center;
    box-shadow:0 12px 26px rgba(15,23,42,.14);
    z-index:5;
}
.home-v2-hero-arrow.left{left:18px;}
.home-v2-hero-arrow.right{right:18px;}
.home-v2-dots{
    position:absolute;
    left:50%;
    bottom:18px;
    transform:translateX(-50%);
    display:flex;
    gap:8px;
    z-index:5;
}
.home-v2-dots span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:rgba(255,255,255,.48);
}
.home-v2-dots span.active{
    width:26px;
    border-radius:999px;
    background:#e30606;
}
.home-v2-promos{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-top:18px;
}
.home-v2-promo-card{
    min-height:110px;
    border:1px solid #edf0f5;
    border-radius:18px;
    padding:22px;
    display:grid;
    align-content:center;
    gap:8px;
    box-shadow:0 18px 45px rgba(15,23,42,.05);
    overflow:hidden;
    position:relative;
}
.home-v2-promo-card b{
    font-size:18px;
    font-weight:950;
    color:#111827;
}
.home-v2-promo-card span{
    color:#e30606;
    font-weight:950;
}
.home-v2-promo-card.discount{background:linear-gradient(135deg,#fff1f1,#fff);}
.home-v2-promo-card.delivery{background:linear-gradient(135deg,#ecfdf5,#fff);}
.home-v2-promo-card.fresh{background:linear-gradient(135deg,#eff6ff,#fff);}
.home-v2-section-head{
    margin:30px 0 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.home-v2-section-head h2{
    margin:0;
    font-size:26px;
    line-height:1;
    font-weight:950;
    letter-spacing:-.7px;
    color:#111827;
}
.home-v2-section-head a{
    color:#e30606;
    font-weight:950;
}
.home-v2-category-list{
    display:grid;
    grid-template-columns:repeat(9,1fr);
    gap:14px;
    background:#fff;
    border:1px solid #edf0f5;
    border-radius:20px;
    padding:18px;
    box-shadow:0 18px 48px rgba(15,23,42,.05);
}
.home-v2-category-item{
    display:grid;
    justify-items:center;
    align-content:start;
    text-align:center;
    gap:10px;
    min-height:96px;
    color:#111827;
}
.home-v2-category-item span{
    width:54px;
    height:54px;
    border-radius:50%;
    background:#f8fafc;
    display:grid;
    place-items:center;
    overflow:hidden;
    color:#e30606;
    font-size:26px;
}
.home-v2-category-item img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.home-v2-category-item b{
    font-size:12px;
    line-height:1.25;
    font-weight:900;
}
.home-v2-product-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}
.home-v2-product-grid .tb-product-card,
.home-v2-product-grid .product-card{
    min-height:360px !important;
    border-radius:18px !important;
    padding:16px !important;
    border:1px solid #e9eef5 !important;
    box-shadow:0 18px 46px rgba(15,23,42,.055) !important;
    display:flex !important;
    flex-direction:column !important;
}
.home-v2-product-grid .product-card-badges{
    position:absolute;
    left:14px;
    top:14px;
    right:58px;
    z-index:5;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.home-v2-product-grid .sale-badge,
.home-v2-product-grid .premium-sale-badge{
    position:static !important;
    height:28px;
    min-width:42px;
    border-radius:8px;
    background:#e30606;
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:950;
    font-size:13px;
    padding:0 9px;
}
.home-v2-product-grid .product-discount-date{
    height:28px;
    padding:0 10px;
    border-radius:999px;
    background:#fff1f1;
    color:#e30606;
    border:1px solid #ffd5d5;
    font-size:12px;
    font-weight:950;
    display:inline-flex;
    align-items:center;
    gap:5px;
}
.home-v2-product-grid .product-image,
.home-v2-product-grid .tb-product-image{
    height:150px !important;
    margin:24px 0 12px !important;
    border-radius:16px !important;
    background:#fbfcfe !important;
    display:grid !important;
    place-items:center !important;
}
.home-v2-product-grid .product-image img,
.home-v2-product-grid .tb-product-image img{
    max-width:92% !important;
    max-height:138px !important;
    object-fit:contain !important;
}
.home-v2-product-grid .product-info h3,
.home-v2-product-grid .tb-product-info h3{
    margin:0 0 7px !important;
    font-size:16px !important;
    line-height:1.25 !important;
    font-weight:950 !important;
    color:#111827 !important;
}
.home-v2-product-grid .product-info p,
.home-v2-product-grid .tb-product-info p{
    margin:0 !important;
    color:#6b7280 !important;
    font-size:13px !important;
    line-height:1.35 !important;
}
.home-v2-product-grid .product-card-price-row{
    margin-top:14px !important;
    display:flex !important;
    align-items:flex-end !important;
    gap:8px !important;
}
.home-v2-product-grid .product-card-price-row strong{
    font-size:17px !important;
    font-weight:950 !important;
    color:#111827 !important;
}
.home-v2-product-grid .product-card-price-row del{
    font-size:13px !important;
    color:#9ca3af !important;
    font-weight:800 !important;
}
.home-v2-product-grid .product-card-buybar{
    margin-top:auto !important;
    display:grid !important;
    gap:10px !important;
}
.home-v2-product-grid .product-card-qty-control{
    height:40px;
    border:1px solid #e6eaf0;
    border-radius:10px;
    overflow:hidden;
    display:grid;
    grid-template-columns:42px 1fr 42px;
    background:#fff;
}
.home-v2-product-grid .product-card-qty-control button,
.home-v2-product-grid .product-card-qty-control input{
    border:0;
    background:#fff;
    text-align:center;
    font-size:15px;
    font-weight:950;
    color:#111827;
    outline:none;
}
.home-v2-product-grid .product-card-qty-control button:hover{background:#fff1f1;color:#e30606;}
.home-v2-product-grid .product-card-add-btn{
    height:46px;
    border:0;
    border-radius:12px;
    background:#e30606;
    color:#fff;
    font-weight:950;
    font-size:15px;
    box-shadow:0 14px 30px rgba(227,6,6,.18);
}
.home-v2-red-banner{
    margin-top:28px;
    min-height:126px;
    border-radius:18px;
    padding:26px 34px;
    background:linear-gradient(135deg,#e30606,#ff2b2b);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    overflow:hidden;
    box-shadow:0 24px 44px rgba(227,6,6,.22);
}
.home-v2-red-banner h2{margin:0 0 6px;font-size:25px;font-weight:950;}
.home-v2-red-banner p{margin:0 0 14px;color:rgba(255,255,255,.82);}
.home-v2-red-banner a{display:inline-flex;min-height:38px;padding:0 18px;border-radius:10px;background:#fff;color:#e30606;font-weight:950;align-items:center;}
.home-v2-red-banner strong{font-size:88px;line-height:1;opacity:.28;}
.home-v2-features{
    margin-top:18px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}
.home-v2-features div{
    min-height:76px;
    border:1px solid #edf0f5;
    border-radius:14px;
    background:#fff;
    display:grid;
    grid-template-columns:42px 1fr;
    column-gap:12px;
    align-items:center;
    padding:14px;
    box-shadow:0 14px 34px rgba(15,23,42,.045);
}
.home-v2-features span{grid-row:1/3;width:42px;height:42px;border-radius:50%;background:#fff1f1;color:#e30606;display:grid;place-items:center;}
.home-v2-features b{font-size:14px;font-weight:950;}
.home-v2-features small{color:#6b7280;line-height:1.3;}
@media(max-width:1100px){
    .home-v2-hero{grid-template-columns:1fr;}
    .home-v2-hero-image{min-height:260px;padding:0 24px 34px;}
    .home-v2-category-list{grid-template-columns:repeat(5,1fr);}
    .home-v2-product-grid{grid-template-columns:repeat(3,1fr);}
    .home-v2-features{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:760px){
    .home-v2-container{width:min(100% - 24px,1360px);}
    .home-v2-hero-content{padding:34px 26px;}
    .home-v2-hero h1{font-size:32px;}
    .home-v2-promos{grid-template-columns:1fr;}
    .home-v2-category-list{grid-template-columns:repeat(4,1fr);padding:12px;}
    .home-v2-product-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
    .home-v2-features{grid-template-columns:1fr;}
    .home-v2-red-banner strong{display:none;}
}
@media(max-width:480px){
    .home-v2-category-list{grid-template-columns:repeat(3,1fr);}
    .home-v2-product-grid .tb-product-card,
    .home-v2-product-grid .product-card{min-height:330px !important;padding:12px !important;}
    .home-v2-product-grid .product-image,
    .home-v2-product-grid .tb-product-image{height:120px !important;}
    .home-v2-product-grid .product-card-add-btn{height:42px;font-size:13px;}
}
/* OPTION 2 VISUAL PROMO ASSETS - add to assets/css/app.css bottom */
.home-v2-promos.option2-visual-promos{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
    margin:16px 0 24px !important;
}

.home-v2-promo-card.option2-visual-card{
    min-height:104px !important;
    border-radius:18px !important;
    padding:18px 18px 18px 22px !important;
    border:1px solid #edf0f5 !important;
    box-shadow:0 18px 45px rgba(15,23,42,.06) !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 104px !important;
    align-items:center !important;
    gap:12px !important;
    overflow:hidden !important;
    position:relative !important;
}

.home-v2-promo-card.option2-visual-card::after{
    content:"" !important;
    position:absolute !important;
    right:-35px !important;
    top:-35px !important;
    width:110px !important;
    height:110px !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.55) !important;
}

.home-v2-promo-card.option2-visual-card .option2-promo-text{
    position:relative !important;
    z-index:2 !important;
    display:grid !important;
    gap:9px !important;
}

.home-v2-promo-card.option2-visual-card b{
    font-size:17px !important;
    line-height:1.18 !important;
    font-weight:950 !important;
    color:#111827 !important;
}

.home-v2-promo-card.option2-visual-card span{
    font-size:13px !important;
    color:#e30606 !important;
    font-weight:950 !important;
}

.home-v2-promo-card.option2-visual-card img{
    position:relative !important;
    z-index:2 !important;
    width:104px !important;
    height:80px !important;
    object-fit:contain !important;
    justify-self:end !important;
    filter:drop-shadow(0 10px 16px rgba(15,23,42,.12)) !important;
}

.home-v2-promo-card.discount{background:linear-gradient(135deg,#fff1f1 0%,#fff 70%) !important;}
.home-v2-promo-card.delivery{background:linear-gradient(135deg,#ecfdf5 0%,#fff 70%) !important;}
.home-v2-promo-card.fresh{background:linear-gradient(135deg,#eff6ff 0%,#fff 70%) !important;}

.option2-red-banner{
    min-height:145px !important;
    border-radius:22px !important;
    display:grid !important;
    grid-template-columns:1fr 260px !important;
    align-items:center !important;
    overflow:hidden !important;
    background:linear-gradient(135deg,#e30606 0%,#ff1717 56%,#c90000 100%) !important;
    box-shadow:0 22px 50px rgba(227,6,6,.22) !important;
}

.option2-red-banner img{
    width:245px !important;
    height:140px !important;
    object-fit:contain !important;
    justify-self:end !important;
    margin-right:12px !important;
    filter:drop-shadow(0 18px 18px rgba(0,0,0,.16)) !important;
}

.option2-red-banner strong{display:none !important;}

@media(max-width:900px){
    .home-v2-promos.option2-visual-promos{grid-template-columns:1fr !important;}
    .home-v2-promo-card.option2-visual-card{grid-template-columns:1fr 96px !important;}
    .option2-red-banner{grid-template-columns:1fr !important; padding:24px !important;}
    .option2-red-banner img{display:none !important;}
}


/* === OPTION2 ADMIN MANAGED POLISH === */
.option2-visual-promos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.option2-visual-card{min-height:150px;border-radius:26px;position:relative;overflow:hidden;padding:24px;background:#fff;border:1px solid #edf0f5;box-shadow:0 18px 42px rgba(15,23,42,.07);display:flex;align-items:center;justify-content:space-between}.option2-visual-card.discount{background:linear-gradient(135deg,#fff5f5,#fff)}.option2-visual-card.delivery{background:linear-gradient(135deg,#eff6ff,#fff)}.option2-visual-card.fresh{background:linear-gradient(135deg,#f0fdf4,#fff)}.option2-visual-card img{position:absolute;right:8px;bottom:0;width:128px;height:128px;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(15,23,42,.12));transition:.2s ease}.option2-visual-card:hover img{transform:translateY(-3px) scale(1.04)}.option2-promo-text{position:relative;z-index:2;max-width:58%;display:grid;gap:10px}.option2-promo-text b{font-size:20px;line-height:1.1;color:#111827}.option2-promo-text span{color:var(--red);font-weight:950}.option2-red-banner{border-radius:30px;min-height:230px;background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;overflow:hidden;position:relative;padding:34px 42px;display:flex;align-items:center;justify-content:space-between}.option2-red-banner h2{margin:0 0 10px;font-size:34px}.option2-red-banner p{margin:0 0 20px;color:rgba(255,255,255,.84);font-weight:700}.option2-red-banner a{background:#fff;color:var(--red);border-radius:14px;min-height:46px;padding:0 18px;display:inline-flex;align-items:center;font-weight:950}.option2-red-banner img{width:210px;height:210px;object-fit:contain;filter:drop-shadow(0 20px 26px rgba(0,0,0,.18))}@media(max-width:900px){.option2-visual-promos{grid-template-columns:1fr}.option2-visual-card{min-height:130px}.option2-red-banner{display:grid;gap:20px}.option2-red-banner img{width:160px;height:160px;justify-self:end}}

/* TB V2 customer profile + checkout location */
.profile-hero-row{display:flex;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}.profile-avatar-big{width:76px;height:76px;border-radius:24px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:34px;font-weight:950}.profile-bonus-card{margin-left:auto;background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:16px 20px}.profile-bonus-card span{display:block;color:#9a3412;font-weight:800;font-size:13px}.profile-bonus-card b{display:block;margin-top:4px;color:#c2410c;font-size:26px}.profile-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.profile-info-grid div{background:#f8fafc;border:1px solid var(--border);border-radius:16px;padding:16px}.profile-info-grid span{display:block;color:var(--muted);font-weight:800;font-size:13px}.profile-info-grid b{display:block;margin-top:6px;color:var(--text);font-weight:950}.checkout-location-box{display:flex;align-items:center;gap:14px;background:#f8fafc;border:1px solid var(--border);border-radius:16px;padding:16px;flex-wrap:wrap}.checkout-location-btn{min-height:46px;border:0;border-radius:14px;background:var(--red);color:#fff;font-weight:950;padding:0 18px}.checkout-location-info b{display:block}.checkout-location-info span{display:block;color:var(--muted);margin-top:4px}.auth-form select{height:50px;border:1px solid var(--border);border-radius:12px;padding:0 15px;background:#fff;outline:none}@media(max-width:900px){.profile-info-grid{grid-template-columns:repeat(2,1fr)}.profile-bonus-card{margin-left:0}}@media(max-width:560px){.profile-info-grid{grid-template-columns:1fr}.checkout-location-box{display:grid}.checkout-location-btn{width:100%}}


/* =========================================================
   TB MARKET LOCATION MAP / DELIVERY PRICE
========================================================= */

.checkout-map-card,
.customer-location-card{
    background:#ffffff;
    border:1px solid var(--border);
    border-radius:22px;
    padding:18px;
    box-shadow:0 14px 34px rgba(17,24,39,.06);
}

.checkout-map-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
}

.checkout-map-head b{
    display:block;
    color:#111827;
    font-weight:950;
}

.checkout-map-head span{
    display:block;
    margin-top:4px;
    color:#6b7280;
    font-size:13px;
    font-weight:800;
}

.checkout-location-btn{
    min-height:42px;
    border:0;
    border-radius:13px;
    background:var(--red);
    color:#fff;
    padding:0 16px;
    font-weight:950;
    box-shadow:0 12px 22px rgba(227,6,6,.18);
}

.checkout-location-btn:disabled{
    opacity:.65;
    cursor:not-allowed;
}

.tb-location-map{
    width:100%;
    height:360px;
    border-radius:18px;
    overflow:hidden;
    border:1px solid #e5e7eb;
    background:#f8fafc;
    z-index:1;
}

.tb-map-help{
    display:block;
    margin-top:10px;
    color:#6b7280;
    font-weight:800;
}

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

.profile-section-head h2{
    margin:0;
    font-size:24px;
}

.profile-section-head p{
    margin:6px 0 0;
    color:#6b7280;
}

.profile-location-form{
    display:grid;
    gap:16px;
}

.profile-location-form label{
    display:grid;
    gap:8px;
    font-weight:850;
}

.profile-location-form textarea{
    min-height:90px;
    border:1px solid var(--border);
    border-radius:14px;
    padding:14px;
    resize:vertical;
    outline:0;
}

.profile-location-form textarea:focus{
    border-color:var(--red);
    box-shadow:0 0 0 4px rgba(227,6,6,.08);
}

.leaflet-container{
    font-family:Inter,"Segoe UI",Arial,sans-serif;
}

@media(max-width:700px){
    .checkout-map-head{
        display:grid;
    }

    .checkout-location-btn{
        width:100%;
    }

    .tb-location-map{
        height:300px;
    }
}

/* =========================================================
   TB MARKET FINAL MOBILE / TELEGRAM PREMIUM PATCH
   - Mobile hero/readability fixed
   - Telegram Mini App layout cleaned
   - Bottom navigation / live chat safe spacing
========================================================= */
:root{
    --tb-bottom-nav-h: 72px;
    --tb-mobile-page-bg: #f6f8fb;
    --tb-card-shadow: 0 18px 46px rgba(15,23,42,.08);
}

html.is-telegram-miniapp,
html.is-telegram-miniapp body{
    background: var(--tb-mobile-page-bg) !important;
    min-height: 100%;
}

html.is-telegram-miniapp body{
    padding-bottom: calc(var(--tb-bottom-nav-h) + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x: hidden;
}

@media(max-width: 768px){
    body{
        background: var(--tb-mobile-page-bg) !important;
        padding-bottom: calc(var(--tb-bottom-nav-h) + env(safe-area-inset-bottom, 0px)) !important;
        overflow-x: hidden;
    }

    .desktop-only,
    .desktop-header,
    .site-header.desktop-header{
        display: none !important;
    }

    .mobile-only{
        display: block !important;
    }

    .container,
    .home-v2-container{
        width: calc(100% - 24px) !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .mobile-app-header{
        position: sticky !important;
        top: 0 !important;
        z-index: 430 !important;
        padding: calc(10px + env(safe-area-inset-top, 0px)) 12px 12px !important;
        background: rgba(255,255,255,.96) !important;
        backdrop-filter: blur(18px) !important;
        border-bottom: 1px solid rgba(226,232,240,.85) !important;
        box-shadow: 0 12px 34px rgba(15,23,42,.06) !important;
    }

    html.is-telegram-miniapp .mobile-app-header{
        top: 0 !important;
        border-radius: 0 0 22px 22px !important;
    }

    .mobile-status-row{
        min-height: 38px !important;
    }

    .mobile-header-title{
        font-size: 17px !important;
        letter-spacing: -.5px !important;
        color: #0f172a !important;
        line-height: 1 !important;
        text-align: center !important;
    }

    .mobile-header-title span{
        color: var(--red) !important;
    }

    .mobile-status-row .mobile-back,
    .mobile-status-row .mobile-bag,
    .mobile-back,
    .mobile-bag{
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
        border-radius: 16px !important;
        background: #fff !important;
        color: #0f172a !important;
        border: 1px solid #eef2f7 !important;
        box-shadow: 0 10px 22px rgba(15,23,42,.06) !important;
        font-size: 28px !important;
    }

    .mobile-bag{
        font-size: 22px !important;
    }

    .mobile-search-box{
        height: 48px !important;
        margin-top: 10px !important;
        border-radius: 18px !important;
        background: #fff !important;
        border: 1px solid #eef2f7 !important;
        box-shadow: 0 16px 34px rgba(15,23,42,.07) !important;
        overflow: hidden !important;
    }

    .mobile-search-box input{
        font-size: 14px !important;
        padding: 0 15px !important;
        color: #0f172a !important;
    }

    .mobile-search-box button{
        width: 48px !important;
        color: #0f172a !important;
    }

    .home-v2-page{
        background: var(--tb-mobile-page-bg) !important;
        padding: 12px 0 calc(96px + env(safe-area-inset-bottom, 0px)) !important;
    }

    .home-v2-hero{
        display: block !important;
        position: relative !important;
        min-height: 276px !important;
        border: 0 !important;
        border-radius: 26px !important;
        padding: 24px 18px 112px !important;
        overflow: hidden !important;
        background:
            radial-gradient(circle at 88% 68%, rgba(255,255,255,.24), transparent 31%),
            linear-gradient(135deg,#063b20 0%, #0f5132 66%, #0b3a24 100%) !important;
        box-shadow: 0 22px 48px rgba(15,23,42,.16) !important;
    }

    .home-v2-hero:before{
        content: "" !important;
        position: absolute !important;
        right: -32px !important;
        bottom: -58px !important;
        width: 210px !important;
        height: 210px !important;
        border-radius: 50% !important;
        background: rgba(255,255,255,.13) !important;
        pointer-events: none !important;
    }

    .home-v2-hero:after{
        content: "" !important;
        position: absolute !important;
        right: 22px !important;
        top: 28px !important;
        width: 92px !important;
        height: 92px !important;
        border-radius: 30px !important;
        background: rgba(255,255,255,.07) !important;
        transform: rotate(10deg) !important;
        pointer-events: none !important;
    }

    .home-v2-hero-content{
        position: relative !important;
        z-index: 3 !important;
        padding: 0 !important;
        max-width: 76% !important;
        color: #fff !important;
    }

    .home-v2-kicker{
        min-height: 28px !important;
        padding: 0 11px !important;
        border-radius: 999px !important;
        background: rgba(255,255,255,.14) !important;
        color: #fff !important;
        font-size: 12px !important;
        margin-bottom: 14px !important;
    }

    .home-v2-hero h1{
        max-width: 270px !important;
        font-size: clamp(25px, 7.5vw, 34px) !important;
        line-height: 1.08 !important;
        letter-spacing: -1.2px !important;
        color: #fff !important;
        text-shadow: 0 8px 22px rgba(0,0,0,.18) !important;
        margin: 0 !important;
    }

    .home-v2-hero p{
        max-width: 260px !important;
        margin: 14px 0 0 !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        color: rgba(255,255,255,.88) !important;
    }

    .home-v2-primary-btn{
        min-height: 44px !important;
        padding: 0 18px !important;
        margin-top: 18px !important;
        border-radius: 14px !important;
        font-size: 14px !important;
        box-shadow: 0 16px 32px rgba(227,6,6,.30) !important;
    }

    .home-v2-hero-image{
        position: absolute !important;
        right: -12px !important;
        bottom: -4px !important;
        z-index: 2 !important;
        width: 58% !important;
        min-height: 0 !important;
        height: 148px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: flex-end !important;
        pointer-events: none !important;
    }

    .home-v2-hero-image img{
        max-width: 100% !important;
        max-height: 148px !important;
        object-fit: contain !important;
        filter: drop-shadow(0 18px 26px rgba(0,0,0,.24)) !important;
    }

    .home-v2-hero-arrow,
    .home-v2-dots{
        display: none !important;
    }

    .home-v2-promos.option2-visual-promos,
    .home-v2-promos{
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin-top: 14px !important;
    }

    .home-v2-promo-card.option2-visual-card,
    .home-v2-promo-card{
        min-height: 118px !important;
        border-radius: 22px !important;
        padding: 18px !important;
        display: grid !important;
        grid-template-columns: 1fr 96px !important;
        align-items: center !important;
        box-shadow: var(--tb-card-shadow) !important;
        background: #fff !important;
    }

    .home-v2-promo-card.option2-visual-card .option2-promo-text,
    .option2-promo-text{
        max-width: none !important;
    }

    .home-v2-promo-card.option2-visual-card b,
    .home-v2-promo-card b{
        font-size: 17px !important;
        line-height: 1.15 !important;
    }

    .home-v2-promo-card.option2-visual-card img,
    .home-v2-promo-card img{
        position: static !important;
        width: 94px !important;
        height: 94px !important;
        object-fit: contain !important;
        justify-self: end !important;
        filter: drop-shadow(0 14px 18px rgba(15,23,42,.13)) !important;
    }

    .home-v2-section-head{
        margin: 22px 0 12px !important;
    }

    .home-v2-section-head h2{
        font-size: 21px !important;
        letter-spacing: -.4px !important;
    }

    .home-v2-section-head a{
        font-size: 13px !important;
    }

    .home-v2-category-list{
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-columns: 82px !important;
        grid-template-columns: none !important;
        gap: 10px !important;
        overflow-x: auto !important;
        overscroll-behavior-x: contain !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 12px !important;
        border-radius: 22px !important;
        border: 1px solid #edf2f7 !important;
        background: #fff !important;
        box-shadow: var(--tb-card-shadow) !important;
        scrollbar-width: none !important;
    }

    .home-v2-category-list::-webkit-scrollbar{
        display: none !important;
    }

    .home-v2-category-item{
        min-height: 84px !important;
        border-radius: 18px !important;
        background: #f8fafc !important;
        padding: 10px 6px !important;
        gap: 7px !important;
        align-content: center !important;
    }

    .home-v2-category-item span{
        width: 42px !important;
        height: 42px !important;
        border-radius: 15px !important;
        background: #fff !important;
    }

    .home-v2-category-item b{
        font-size: 11px !important;
        line-height: 1.14 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    .home-v2-product-grid{
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 12px !important;
    }

    .home-v2-product-grid .tb-product-card,
    .home-v2-product-grid .product-card,
    .premium-product-card,
    .product-card{
        min-height: 254px !important;
        padding: 11px !important;
        border-radius: 20px !important;
        border-color: #edf2f7 !important;
        box-shadow: 0 14px 34px rgba(15,23,42,.07) !important;
        overflow: hidden !important;
    }

    .home-v2-product-grid .product-card-badges{
        left: 10px !important;
        top: 10px !important;
        right: 44px !important;
        gap: 5px !important;
    }

    .home-v2-product-grid .sale-badge,
    .home-v2-product-grid .premium-sale-badge,
    .sale-badge,
    .premium-sale-badge{
        min-width: 36px !important;
        height: 22px !important;
        border-radius: 8px !important;
        font-size: 10px !important;
        padding: 0 7px !important;
    }

    .home-v2-product-grid .product-discount-date{
        display: none !important;
    }

    .home-v2-product-grid .product-image,
    .home-v2-product-grid .tb-product-image,
    .premium-product-img,
    .product-image{
        height: 108px !important;
        margin: 16px 0 10px !important;
        border-radius: 17px !important;
        background: #fff7f7 !important;
    }

    .home-v2-product-grid .product-image img,
    .home-v2-product-grid .tb-product-image img,
    .premium-product-img img,
    .product-image img{
        max-width: 92% !important;
        max-height: 96px !important;
        object-fit: contain !important;
    }

    .home-v2-product-grid .product-info h3,
    .home-v2-product-grid .tb-product-info h3,
    .premium-product-card h3,
    .product-card h3{
        font-size: 13px !important;
        line-height: 1.22 !important;
        min-height: 32px !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    .home-v2-product-grid .product-info p,
    .home-v2-product-grid .tb-product-info p,
    .premium-product-card p,
    .product-card p{
        font-size: 11px !important;
        line-height: 1.25 !important;
        min-height: 14px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .home-v2-product-grid .product-card-price-row strong,
    .premium-product-bottom strong,
    .product-bottom strong{
        font-size: 13px !important;
    }

    .home-v2-product-grid .product-card-add-btn,
    .premium-cart-btn,
    .cart-btn{
        min-height: 38px !important;
        height: 38px !important;
        border-radius: 13px !important;
        font-size: 14px !important;
    }

    .home-v2-red-banner.option2-red-banner,
    .home-v2-red-banner{
        display: grid !important;
        grid-template-columns: 1fr 110px !important;
        gap: 10px !important;
        min-height: 150px !important;
        padding: 22px !important;
        border-radius: 24px !important;
        margin-top: 18px !important;
    }

    .home-v2-red-banner h2{
        font-size: 22px !important;
        line-height: 1.12 !important;
    }

    .home-v2-red-banner p{
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    .home-v2-red-banner img{
        width: 110px !important;
        height: 110px !important;
        object-fit: contain !important;
    }

    .home-v2-features{
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .mobile-bottom-nav{
        height: auto !important;
        min-height: var(--tb-bottom-nav-h) !important;
        display: grid !important;
        position: fixed !important;
        left: 8px !important;
        right: 8px !important;
        bottom: max(8px, env(safe-area-inset-bottom, 0px)) !important;
        z-index: 520 !important;
        grid-template-columns: repeat(5, minmax(0,1fr)) !important;
        padding: 7px !important;
        border: 1px solid rgba(226,232,240,.9) !important;
        border-radius: 24px !important;
        background: rgba(255,255,255,.96) !important;
        backdrop-filter: blur(18px) !important;
        box-shadow: 0 -10px 38px rgba(15,23,42,.13) !important;
    }

    .mobile-bottom-nav a{
        min-width: 0 !important;
        min-height: 54px !important;
        border-radius: 18px !important;
        font-size: 9px !important;
        font-weight: 900 !important;
        gap: 4px !important;
        color: #64748b !important;
    }

    .mobile-bottom-nav a.active{
        color: var(--red) !important;
        background: #fff1f1 !important;
        box-shadow: inset 0 0 0 1px #ffd6d6 !important;
    }

    .mobile-bottom-nav svg{
        width: 21px !important;
        height: 21px !important;
    }

    .mobile-bottom-nav span{
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
}

@media(max-width: 390px){
    .home-v2-hero{
        min-height: 258px !important;
        padding: 22px 16px 104px !important;
    }

    .home-v2-hero-content{
        max-width: 82% !important;
    }

    .home-v2-hero h1{
        font-size: 25px !important;
        max-width: 245px !important;
    }

    .home-v2-hero p{
        font-size: 13px !important;
        max-width: 238px !important;
    }

    .home-v2-hero-image{
        width: 54% !important;
        height: 132px !important;
    }

    .home-v2-product-grid{
        gap: 10px !important;
    }

    .home-v2-product-grid .tb-product-card,
    .home-v2-product-grid .product-card,
    .premium-product-card,
    .product-card{
        min-height: 244px !important;
        padding: 10px !important;
    }
}

/* =========================================================
   FINAL FIX: TELEGRAM/MOBILE STICKY HEADER + DESKTOP STYLE
   ========================================================= */
@media (max-width: 768px){
    html,
    body{
        padding-top: 0 !important;
        margin-top: 0 !important;
        scroll-padding-top: 116px !important;
    }

    body{
        background: #f6f8fb !important;
    }

    html.is-telegram-miniapp,
    html.is-telegram-miniapp body{
        padding-top: 0 !important;
        margin-top: 0 !important;
        background: #f6f8fb !important;
    }

    main{
        padding-top: 0 !important;
    }

    .mobile-app-header{
        display: block !important;
        position: sticky !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 760 !important;
        width: 100% !important;
        padding: calc(10px + env(safe-area-inset-top, 0px)) 14px 12px !important;
        margin: 0 !important;
        border-radius: 0 0 24px 24px !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(226,232,240,.95) !important;
        background: rgba(255,255,255,.98) !important;
        backdrop-filter: blur(18px) !important;
        -webkit-backdrop-filter: blur(18px) !important;
        box-shadow: 0 14px 36px rgba(15,23,42,.08) !important;
    }

    html.is-telegram-miniapp .mobile-app-header{
        top: 0 !important;
        padding-top: max(10px, env(safe-area-inset-top, 0px)) !important;
    }

    .mobile-status-row{
        display: none !important;
    }

    .mobile-pc-top-row{
        display: grid !important;
        grid-template-columns: minmax(94px, auto) minmax(112px, 1fr) 46px !important;
        align-items: center !important;
        gap: 10px !important;
        min-height: 48px !important;
    }

    .mobile-logo{
        display: inline-flex !important;
        align-items: center !important;
        min-width: 0 !important;
        color: #0f172a !important;
        font-size: clamp(21px, 6vw, 28px) !important;
        font-weight: 950 !important;
        letter-spacing: -1.5px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        text-decoration: none !important;
    }

    .mobile-logo span{
        color: var(--red, #e30606) !important;
    }

    .mobile-catalog-pill{
        height: 46px !important;
        min-width: 0 !important;
        padding: 0 14px !important;
        border-radius: 14px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 9px !important;
        background: var(--red, #e30606) !important;
        color: #fff !important;
        text-decoration: none !important;
        box-shadow: 0 12px 28px rgba(227,6,6,.22) !important;
        overflow: hidden !important;
    }

    .mobile-catalog-pill svg{
        width: 20px !important;
        height: 20px !important;
        flex: 0 0 20px !important;
        stroke: currentColor !important;
        stroke-width: 2.2 !important;
        fill: none !important;
    }

    .mobile-catalog-pill b{
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: 14px !important;
        font-weight: 950 !important;
        color: inherit !important;
    }

    .mobile-cart-pill{
        position: relative !important;
        width: 46px !important;
        height: 46px !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 14px !important;
        border: 1px solid #e5eaf1 !important;
        background: #fff !important;
        color: #0f172a !important;
        text-decoration: none !important;
        box-shadow: 0 12px 24px rgba(15,23,42,.07) !important;
    }

    .mobile-cart-pill svg{
        width: 22px !important;
        height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 2 !important;
        fill: none !important;
    }

    .mobile-cart-pill i{
        position: absolute !important;
        right: -5px !important;
        top: -5px !important;
        min-width: 20px !important;
        height: 20px !important;
        padding: 0 5px !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 999px !important;
        background: var(--red, #e30606) !important;
        color: #fff !important;
        border: 2px solid #fff !important;
        font-size: 11px !important;
        font-style: normal !important;
        font-weight: 950 !important;
        line-height: 1 !important;
    }

    .mobile-search-box,
    .mobile-search-box.mobile-pc-search{
        height: 50px !important;
        margin-top: 10px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(96px, 118px) 50px !important;
        border: 1px solid #dde5ee !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        background: #fff !important;
        box-shadow: 0 16px 34px rgba(15,23,42,.07) !important;
    }

    .mobile-search-box input,
    .mobile-search-box select,
    .mobile-search-box button{
        min-width: 0 !important;
        height: 50px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .mobile-search-box input{
        border: 0 !important;
        border-right: 1px solid #e8edf3 !important;
        padding: 0 13px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #0f172a !important;
        background: #fff !important;
        outline: 0 !important;
    }

    .mobile-search-box select{
        display: block !important;
        border: 0 !important;
        border-right: 1px solid #e8edf3 !important;
        padding: 0 8px !important;
        background: #fff !important;
        color: #334155 !important;
        font-size: 12px !important;
        font-weight: 850 !important;
        outline: 0 !important;
        appearance: auto !important;
        -webkit-appearance: menulist !important;
    }

    .mobile-search-box button{
        width: 50px !important;
        border: 0 !important;
        background: var(--red, #e30606) !important;
        color: #fff !important;
        display: grid !important;
        place-items: center !important;
    }

    .mobile-search-box button svg{
        width: 21px !important;
        height: 21px !important;
        stroke: currentColor !important;
        stroke-width: 2.35 !important;
        fill: none !important;
    }

    .home-v2-page,
    .premium-market-page{
        padding-top: 12px !important;
    }
}

@media (max-width: 430px){
    .mobile-pc-top-row{
        grid-template-columns: minmax(88px, auto) minmax(104px, 1fr) 44px !important;
        gap: 8px !important;
    }

    .mobile-logo{
        font-size: 22px !important;
        letter-spacing: -1.2px !important;
    }

    .mobile-catalog-pill{
        height: 44px !important;
        padding: 0 12px !important;
    }

    .mobile-catalog-pill b{
        font-size: 13px !important;
    }

    .mobile-cart-pill{
        width: 44px !important;
        height: 44px !important;
    }

    .mobile-search-box,
    .mobile-search-box.mobile-pc-search{
        grid-template-columns: minmax(0, 1fr) 44px !important;
    }

    .mobile-search-box select{
        display: none !important;
    }
}

/* =========================================================
   FINAL MOBILE HEADER FIX: CATALOG REMOVED, LANGUAGE DROPDOWN
   ========================================================= */
@media (max-width: 768px){
    .mobile-pc-top-row{
        display: grid !important;
        grid-template-columns: minmax(92px, max-content) minmax(0, 1fr) 44px !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-height: 46px !important;
        overflow: visible !important;
    }

    .mobile-logo{
        max-width: 118px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
        font-size: clamp(20px, 5.2vw, 24px) !important;
        letter-spacing: -1.15px !important;
        justify-self: start !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .mobile-catalog-pill{
        display: none !important;
    }

    .mobile-lang-dropdown{
        position: relative !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 176px !important;
        justify-self: stretch !important;
        z-index: 850 !important;
    }

    .mobile-lang-dropdown summary{
        height: 44px !important;
        min-width: 0 !important;
        width: 100% !important;
        padding: 0 12px !important;
        border: 0 !important;
        border-radius: 14px !important;
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) 18px !important;
        align-items: center !important;
        gap: 7px !important;
        cursor: pointer !important;
        list-style: none !important;
        background: linear-gradient(135deg, var(--red, #e30606), #ff1b1b) !important;
        color: #fff !important;
        box-shadow: 0 12px 28px rgba(227,6,6,.22) !important;
        user-select: none !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .mobile-lang-dropdown summary::-webkit-details-marker{
        display: none !important;
    }

    .mobile-lang-dropdown summary span{
        height: 25px !important;
        min-width: 34px !important;
        padding: 0 8px !important;
        border-radius: 999px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: rgba(255,255,255,.18) !important;
        color: #fff !important;
        font-size: 12px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        letter-spacing: .2px !important;
    }

    .mobile-lang-dropdown summary em{
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-style: normal !important;
        color: #fff !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
    }

    .mobile-lang-dropdown summary svg{
        width: 18px !important;
        height: 18px !important;
        stroke: currentColor !important;
        stroke-width: 2.35 !important;
        fill: none !important;
        transition: transform .18s ease !important;
    }

    .mobile-lang-dropdown[open] summary svg{
        transform: rotate(180deg) !important;
    }

    .mobile-lang-menu{
        position: absolute !important;
        top: calc(100% + 9px) !important;
        left: 50% !important;
        width: min(216px, calc(100vw - 28px)) !important;
        padding: 8px !important;
        border: 1px solid rgba(226,232,240,.95) !important;
        border-radius: 18px !important;
        background: rgba(255,255,255,.98) !important;
        backdrop-filter: blur(18px) !important;
        -webkit-backdrop-filter: blur(18px) !important;
        box-shadow: 0 24px 70px rgba(15,23,42,.20) !important;
        transform: translateX(-50%) !important;
        z-index: 920 !important;
    }

    .mobile-lang-menu a{
        min-height: 42px !important;
        padding: 8px 10px !important;
        border-radius: 13px !important;
        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 8px !important;
        color: #0f172a !important;
        text-decoration: none !important;
        font-weight: 900 !important;
    }

    .mobile-lang-menu a strong{
        height: 28px !important;
        border-radius: 999px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #f1f5f9 !important;
        color: #0f172a !important;
        font-size: 12px !important;
        font-weight: 950 !important;
    }

    .mobile-lang-menu a span{
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: 13px !important;
        color: #334155 !important;
    }

    .mobile-lang-menu a.active{
        background: #fff1f1 !important;
        color: var(--red, #e30606) !important;
    }

    .mobile-lang-menu a.active strong{
        background: var(--red, #e30606) !important;
        color: #fff !important;
    }

    .mobile-cart-pill{
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        justify-self: end !important;
        margin: 0 !important;
        transform: none !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .mobile-cart-pill i{
        right: -3px !important;
        top: -6px !important;
    }

    .mobile-search-box,
    .mobile-search-box.mobile-pc-search{
        width: 100% !important;
        height: 50px !important;
        margin-top: 10px !important;
        grid-template-columns: minmax(0, 1fr) 52px !important;
        overflow: hidden !important;
    }

    .mobile-search-box select{
        display: none !important;
    }

    .mobile-search-box button{
        width: 52px !important;
        min-width: 52px !important;
    }
}

@media (max-width: 370px){
    .mobile-pc-top-row{
        grid-template-columns: minmax(84px, max-content) minmax(0, 1fr) 42px !important;
        gap: 7px !important;
    }

    .mobile-logo{
        max-width: 94px !important;
        font-size: 19px !important;
        letter-spacing: -1px !important;
    }

    .mobile-lang-dropdown summary{
        height: 42px !important;
        padding: 0 10px !important;
        grid-template-columns: auto 18px !important;
    }

    .mobile-lang-dropdown summary em{
        display: none !important;
    }

    .mobile-cart-pill{
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
    }
}

/* =========================================================
   FINAL COMPACT MOBILE LANGUAGE SELECTOR - WHITE PREMIUM
   ========================================================= */
@media (max-width: 768px){
    .mobile-app-header{
        overflow: visible !important;
    }

    .mobile-pc-top-row{
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        width: 100% !important;
        min-height: 46px !important;
        overflow: visible !important;
    }

    .mobile-logo{
        flex: 1 1 auto !important;
        max-width: none !important;
        min-width: 94px !important;
        width: auto !important;
        justify-self: auto !important;
        font-size: clamp(20px, 5.1vw, 24px) !important;
        letter-spacing: -1.1px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: clip !important;
        line-height: 1 !important;
    }

    .mobile-header-actions{
        flex: 0 0 auto !important;
        margin-left: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        min-width: 0 !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 900 !important;
    }

    .mobile-catalog-pill{
        display: none !important;
    }

    .mobile-cart-pill{
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        flex: 0 0 44px !important;
        margin: 0 !important;
        border: 1px solid rgba(226,232,240,.95) !important;
        border-radius: 14px !important;
        background: rgba(255,255,255,.96) !important;
        color: #0f172a !important;
        box-shadow: 0 10px 26px rgba(15,23,42,.08) !important;
        transform: none !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .mobile-cart-pill svg{
        width: 21px !important;
        height: 21px !important;
        stroke: #0f172a !important;
        stroke-width: 2.25 !important;
    }

    .mobile-cart-pill i{
        right: -5px !important;
        top: -7px !important;
        min-width: 18px !important;
        height: 18px !important;
        border: 2px solid #fff !important;
        box-shadow: 0 8px 16px rgba(227,6,6,.22) !important;
    }

    .mobile-lang-dropdown,
    .mobile-lang-dropdown.compact-lang-dropdown{
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        justify-self: auto !important;
        position: relative !important;
        z-index: 920 !important;
    }

    .mobile-lang-dropdown summary,
    .mobile-lang-dropdown.compact-lang-dropdown summary{
        width: auto !important;
        min-width: 86px !important;
        height: 44px !important;
        padding: 0 11px !important;
        border: 1px solid rgba(226,232,240,.95) !important;
        border-radius: 14px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        background: rgba(255,255,255,.96) !important;
        color: #0f172a !important;
        box-shadow: 0 10px 26px rgba(15,23,42,.08) !important;
        list-style: none !important;
        cursor: pointer !important;
        user-select: none !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .mobile-lang-dropdown summary::-webkit-details-marker,
    .mobile-lang-dropdown.compact-lang-dropdown summary::-webkit-details-marker{
        display: none !important;
    }

    .mobile-lang-dropdown summary em,
    .mobile-lang-dropdown.compact-lang-dropdown summary em{
        display: none !important;
    }

    .mobile-lang-dropdown summary span,
    .mobile-lang-dropdown.compact-lang-dropdown summary span{
        width: auto !important;
        height: auto !important;
        min-width: 22px !important;
        padding: 0 !important;
        border-radius: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        color: #0f172a !important;
        font-size: 13px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        letter-spacing: .25px !important;
        text-transform: uppercase !important;
    }

    .mobile-lang-dropdown summary svg,
    .mobile-lang-dropdown.compact-lang-dropdown summary svg{
        flex: 0 0 auto !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    .mobile-lang-dropdown summary .lang-globe,
    .mobile-lang-dropdown.compact-lang-dropdown summary .lang-globe{
        width: 16px !important;
        height: 16px !important;
        stroke-width: 2.05 !important;
        color: #0f172a !important;
        transform: none !important;
    }

    .mobile-lang-dropdown summary .lang-chevron,
    .mobile-lang-dropdown.compact-lang-dropdown summary .lang-chevron{
        width: 15px !important;
        height: 15px !important;
        stroke-width: 2.55 !important;
        color: #0f172a !important;
        transition: transform .18s ease !important;
    }

    .mobile-lang-dropdown[open] summary .lang-chevron,
    .mobile-lang-dropdown.compact-lang-dropdown[open] summary .lang-chevron{
        transform: rotate(180deg) !important;
    }

    .mobile-lang-menu,
    .mobile-lang-dropdown.compact-lang-dropdown .mobile-lang-menu{
        position: absolute !important;
        top: calc(100% + 9px) !important;
        right: 0 !important;
        left: auto !important;
        width: min(218px, calc(100vw - 24px)) !important;
        padding: 8px !important;
        border: 1px solid rgba(226,232,240,.95) !important;
        border-radius: 18px !important;
        background: rgba(255,255,255,.98) !important;
        backdrop-filter: blur(18px) !important;
        -webkit-backdrop-filter: blur(18px) !important;
        box-shadow: 0 24px 70px rgba(15,23,42,.20) !important;
        transform: none !important;
        z-index: 950 !important;
    }

    .mobile-lang-menu a{
        min-height: 42px !important;
        padding: 8px 10px !important;
        border-radius: 13px !important;
        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 8px !important;
        color: #0f172a !important;
        text-decoration: none !important;
        font-weight: 900 !important;
    }

    .mobile-lang-menu a.active{
        background: #fff1f1 !important;
        color: var(--red, #e30606) !important;
    }

    .mobile-search-box,
    .mobile-search-box.mobile-pc-search{
        margin-top: 10px !important;
    }
}

@media (max-width: 370px){
    .mobile-pc-top-row{
        gap: 7px !important;
    }

    .mobile-logo{
        min-width: 84px !important;
        font-size: 19px !important;
        letter-spacing: -1px !important;
    }

    .mobile-header-actions{
        gap: 6px !important;
    }

    .mobile-cart-pill{
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        flex-basis: 40px !important;
    }

    .mobile-lang-dropdown summary,
    .mobile-lang-dropdown.compact-lang-dropdown summary{
        min-width: 78px !important;
        height: 40px !important;
        padding: 0 9px !important;
        gap: 6px !important;
    }

    .mobile-lang-dropdown summary .lang-globe,
    .mobile-lang-dropdown.compact-lang-dropdown summary .lang-globe{
        width: 15px !important;
        height: 15px !important;
    }
}

/* =========================================================
   FINAL FIX: MOBILE TOP HEADER CART REMOVED
   Cart remains only in bottom navigation on mobile/Telegram.
   ========================================================= */
@media (max-width: 768px){
    .mobile-app-header .mobile-pc-top-row{
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        width: 100% !important;
        min-height: 44px !important;
        overflow: visible !important;
    }

    .mobile-app-header .mobile-logo{
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 106px) !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        text-overflow: clip !important;
    }

    .mobile-app-header .mobile-header-actions,
    .mobile-app-header .mobile-header-actions-lang-only{
        flex: 0 0 auto !important;
        margin-left: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0 !important;
        min-width: 0 !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 900 !important;
    }

    .mobile-app-header .mobile-cart-pill{
        display: none !important;
    }

    .mobile-app-header .mobile-lang-dropdown,
    .mobile-app-header .mobile-lang-dropdown.compact-lang-dropdown{
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        justify-self: end !important;
    }

    .mobile-app-header .mobile-lang-dropdown summary,
    .mobile-app-header .mobile-lang-dropdown.compact-lang-dropdown summary{
        min-width: 88px !important;
        height: 42px !important;
        padding: 0 11px !important;
        border-radius: 14px !important;
    }

    .mobile-search-box,
    .mobile-search-box.mobile-pc-search{
        margin-top: 10px !important;
    }
}

@media (max-width: 370px){
    .mobile-app-header .mobile-lang-dropdown summary,
    .mobile-app-header .mobile-lang-dropdown.compact-lang-dropdown summary{
        min-width: 80px !important;
        height: 40px !important;
        padding: 0 9px !important;
    }

    .mobile-app-header .mobile-logo{
        max-width: calc(100% - 92px) !important;
    }
}

/* Checkout order type: delivery / pickup */
.checkout-type-box{margin-bottom:18px}.checkout-order-type{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkout-type-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid rgba(15,23,42,.10);border-radius:20px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.06);cursor:pointer;transition:.18s ease}.checkout-type-card:hover{transform:translateY(-1px);border-color:rgba(239,0,18,.25)}.checkout-type-card.active{border-color:#ef0012;background:linear-gradient(135deg,#fff 0%,#fff5f6 100%);box-shadow:0 18px 45px rgba(239,0,18,.12)}.checkout-type-card input{position:absolute;opacity:0;pointer-events:none}.checkout-type-card b{font-size:16px;color:#071126}.checkout-type-card span{font-size:13px;color:#64748b;line-height:1.35}.checkout-branch-row select{min-height:50px}.checkout-delivery-row.is-hidden{display:none!important}@media(max-width:640px){.checkout-order-type{grid-template-columns:1fr}.checkout-type-card{border-radius:16px;padding:14px 15px}}

/* TB professional pricing/bonus/mobile stability patch */
.tb-bonus-use-row{display:flex;align-items:flex-start;gap:10px;margin:12px 0;padding:12px 14px;border:1px solid #fde68a;background:#fffbeb;border-radius:14px;color:#92400e;font-weight:800;font-size:13px;line-height:1.35}.tb-bonus-use-row input{width:18px;height:18px;margin-top:1px;accent-color:#ef0012}.tb-bonus-earn span,.tb-bonus-earn b{color:#047857!important}.product-discount-date{display:inline-flex!important;align-items:center;gap:5px;max-width:100%;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.94);color:#b91c1c;font-size:11px;font-weight:950;box-shadow:0 8px 20px rgba(15,23,42,.10);white-space:nowrap}.product-card-badges{z-index:4}.product-card .sale-badge+.product-discount-date{margin-left:4px}@media(max-width:640px){.product-card-badges{display:flex!important;flex-wrap:wrap;gap:5px;left:8px;right:8px;top:8px}.product-discount-date{font-size:10px;padding:4px 7px}.product-card .product-image{padding-top:10px}.livechat-panel input,.livechat-panel textarea,.livechat-widget input,.livechat-widget textarea,input,select,textarea{font-size:16px!important}html,body{touch-action:manipulation}.checkout-grid input,.checkout-grid textarea,.checkout-grid select,.auth-form input,.auth-form select,.auth-form textarea{font-size:16px!important}}

/* =========================================================
   TB Market global mobile no-zoom fix
   Prevents iOS Safari / Telegram WebView from zooming when
   focusing inputs. Keep form controls at least 16px.
   ========================================================= */
html {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
    touch-action: manipulation;
}
body {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
}
input,
select,
textarea,
button,
.input,
.form-control,
.admin-input,
.admin-select,
.admin-textarea,
.admin-form input,
.admin-form select,
.admin-form textarea,
.search-input,
.qty-input,
.pos-input,
.pos-search,
.mobile-input,
.tg-input,
.tma-input,
.courier-input,
.scanner-input {
    font-size: 16px !important;
}
input[type="date"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
select,
textarea {
    min-height: 38px;
}
a, button, [role="button"], input, select, textarea {
    touch-action: manipulation;
}
@media (max-width: 768px) {
    input,
    select,
    textarea,
    button,
    .form-control,
    .admin-input,
    .admin-select,
    .admin-textarea,
    .search-input,
    .pos-input,
    .scanner-input {
        font-size: 16px !important;
    }
}

/* === Product ratings & reviews === */
.product-card-rating-row{display:flex;align-items:center;gap:8px;margin:6px 0 2px}.product-card-stars{color:#f2b01e;font-size:14px;line-height:1}.product-card-rating-row small{color:#6b7280;font-size:12px}.product-rating-summary{display:flex;align-items:center;gap:8px;margin:8px 0 12px}.product-rating-summary .stars{color:#f2b01e;font-size:18px;line-height:1}.product-rating-summary b{font-size:15px}.product-rating-summary small{color:#6b7280}.product-review-form{display:grid;gap:10px;margin:16px 0 20px}.product-review-form select,.product-review-form textarea{width:100%;border:1px solid #dbe3ef;border-radius:14px;padding:12px 14px;font:inherit;background:#fff}.product-reviews-list{display:grid;gap:12px}.product-review-item{border:1px solid #e5edf5;border-radius:18px;padding:14px 16px;background:#fff}.product-review-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.product-review-head span{color:#f2b01e}.product-review-item p{margin:0 0 6px}.product-review-item small{color:#6b7280}
