:root {
    --tw-blue: #0007a3;
    --tw-blue-2: #1739d7;
    --tw-ink: #101833;
    --tw-muted: #6d7790;
    --tw-line: #e4e9f2;
    --tw-soft: #f6f8fc;
    --tw-card: #ffffff;
    --tw-orange: #ff9f0a;
    --tw-green: #168b55;
    --tw-radius: 18px;
    --tw-shadow: 0 14px 38px rgba(17, 33, 76, .08);
}

.tw-ui-page {
    color: var(--tw-ink);
    background: #fff;
}

.tw-ui-page .container {
    width: min(1500px, calc(100% - 42px));
    max-width: none;
}

.tw-ui-breadcrumb {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #8790a5;
    font-size: 13px;
}

.tw-ui-breadcrumb a {
    color: #536079;
    font-weight: 700;
}

.tw-ui-breadcrumb strong {
    color: var(--tw-ink);
}

/* Shared product card grid */
.tw-catalog-grid,
.tw-flash-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0 !important;
}

.tw-catalog-grid > .tw-catalog-product-cell,
.tw-flash-grid > .tw-product-card {
    min-width: 0;
}

.tw-catalog-product-cell {
    width: 100%;
}

.tw-catalog-pagination {
    grid-column: 1 / -1;
    padding-top: 18px;
}

.tw-catalog-pagination nav,
.tw-catalog-pagination .pagination {
    display: flex;
    justify-content: center;
}

.tw-catalog-pagination .page-link {
    min-width: 38px;
    min-height: 38px;
    margin: 0 3px;
    display: grid;
    place-items: center;
    border: 1px solid var(--tw-line);
    border-radius: 10px !important;
    color: var(--tw-ink);
}

.tw-catalog-pagination .page-item.active .page-link {
    border-color: var(--tw-blue) !important;
    background: var(--tw-blue) !important;
    color: #fff;
}

/* Product listing / category result page */
.tw-catalog-page {
    padding-bottom: 54px;
}

.tw-catalog-page .tw-catalog-hero {
    min-height: 150px !important;
    margin: 0 0 24px !important;
    padding: 26px 0;
    border: 0;
    background: linear-gradient(120deg, #f8faff 0%, #eef3ff 70%, #e4ebff 100%) !important;
}

.tw-catalog-page .tw-catalog-hero > .container {
    min-height: 92px;
    padding: 0 26px;
    border: 1px solid rgba(0, 7, 163, .08);
    border-radius: 20px;
    background: rgba(255,255,255,.7);
    box-shadow: 0 12px 32px rgba(17, 33, 76, .05);
}

.tw-catalog-page .tw-catalog-hero .__text-18px {
    color: var(--tw-ink);
    font-size: clamp(20px, 2vw, 30px) !important;
    font-weight: 850 !important;
}

.tw-catalog-shell > .row {
    align-items: flex-start;
    margin-right: -10px;
    margin-left: -10px;
}

.tw-catalog-shell > .row > * {
    padding-right: 10px;
    padding-left: 10px;
}

@media (min-width: 992px) {
    .tw-catalog-sidebar {
        flex: 0 0 23%;
        max-width: 23%;
    }

    .tw-catalog-content {
        flex: 0 0 77%;
        max-width: 77%;
    }
}

.tw-catalog-page .sideVarFilter,
.tw-catalog-page #shop-sidebar {
    overflow: hidden;
    border: 1px solid var(--tw-line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.tw-catalog-page .cz-sidebar-header {
    min-height: 0;
    padding: 0;
    box-shadow: none !important;
}

.tw-catalog-page .__cate-side-title {
    padding: 16px 18px !important;
    border-color: var(--tw-line) !important;
    text-align: left;
}

.tw-catalog-page .widget-title {
    color: var(--tw-ink);
    font-size: 15px;
    font-weight: 800 !important;
}

.tw-catalog-page .__p-25-10,
.tw-catalog-page .__cate-side-price,
.tw-catalog-page .price-slider {
    padding: 16px 18px !important;
}

.tw-catalog-page .custom-select,
.tw-catalog-page .form-control,
.tw-catalog-page .__inline-44 {
    min-height: 44px;
    border: 1px solid var(--tw-line) !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: var(--tw-ink);
    box-shadow: none !important;
}

.tw-catalog-page .slider {
    height: 5px;
    border-radius: 999px;
    background: #dfe5f3;
}

.tw-catalog-page .slider::-webkit-slider-thumb {
    width: 18px;
    height: 18px;
    border: 3px solid #fff;
    background: var(--tw-blue);
    box-shadow: 0 0 0 2px var(--tw-blue);
}

.tw-catalog-page .__cate-side-arrordion .card,
.tw-catalog-page .__cate-side-arrordion .card-header,
.tw-catalog-page .__cate-side-arrordion .card-body {
    border-color: var(--tw-line) !important;
    background: #fff !important;
}

.tw-catalog-page .__cate-side-arrordion .card-header {
    min-height: 42px;
    padding: 10px 16px !important;
}

.tw-catalog-page .__cate-side-arrordion label {
    margin: 0;
    color: #303a55;
    font-size: 13px;
}

.tw-catalog-toolbar {
    min-height: 64px;
    margin-bottom: 18px;
    padding: 10px 14px !important;
    border: 1px solid var(--tw-line);
    border-radius: 16px;
    background: #fff;
}

.tw-catalog-toolbar h1 {
    margin: 0;
    color: var(--tw-ink);
    font-size: 15px;
    font-weight: 800;
}

.tw-catalog-toolbar .filter-show-btn {
    border-radius: 10px;
    background: var(--tw-blue) !important;
}

/* All categories page */
.tw-all-categories {
    padding: 0 0 56px;
}

.tw-category-page-hero {
    min-height: 180px;
    margin-bottom: 24px;
    padding: 30px 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    border: 1px solid rgba(0,7,163,.08);
    border-radius: 22px;
    background: linear-gradient(120deg, #f8faff, #eef3ff);
}

.tw-category-page-hero span,
.tw-category-browser__content-head small {
    color: var(--tw-blue);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tw-category-page-hero h1 {
    margin: 6px 0 7px;
    color: var(--tw-ink);
    font-size: clamp(28px, 3vw, 44px);
    font-weight: 850;
}

.tw-category-page-hero p {
    margin: 0;
    color: var(--tw-muted);
}

.tw-category-page-hero__art {
    width: 118px;
    height: 118px;
    display: grid;
    place-items: center;
    border-radius: 30px;
    background: var(--tw-blue);
    color: #fff;
    font-size: 42px;
    transform: rotate(6deg);
}

.tw-category-browser {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 22px;
}

.tw-category-browser__sidebar,
.tw-category-browser__content {
    border: 1px solid var(--tw-line);
    border-radius: 20px;
    background: #fff;
}

.tw-category-browser__sidebar {
    overflow: hidden;
}

.tw-category-browser__title,
.tw-category-browser__content-head {
    padding: 20px;
    border-bottom: 1px solid var(--tw-line);
}

.tw-category-browser__title strong,
.tw-category-browser__content-head h2 {
    display: block;
    margin: 0;
    color: var(--tw-ink);
    font-size: 20px;
    font-weight: 850;
}

.tw-category-browser__title small {
    color: var(--tw-muted);
}

.tw-category-browser__list {
    max-height: 690px;
    overflow-y: auto;
    padding: 10px;
}

.tw-category-parent {
    width: 100%;
    min-height: 54px;
    padding: 8px 10px;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 10px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #2b3550;
    text-align: left;
    cursor: pointer;
}

.tw-category-parent:hover,
.tw-category-parent.is-active {
    background: #eef1ff;
    color: var(--tw-blue);
}

.tw-category-parent__image {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
}

.tw-category-parent__image img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.tw-category-browser__content {
    min-width: 0;
}

.tw-category-ajax-grid {
    padding: 20px 12px 8px;
}

.tw-subcategory-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--tw-line);
    border-radius: 16px;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}

.tw-subcategory-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--tw-shadow);
}

.tw-subcategory-card__head {
    width: 100%;
    min-height: 54px;
    padding: 13px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-bottom: 1px solid var(--tw-line);
    background: #f8faff;
    color: var(--tw-ink);
    font-weight: 800;
    text-align: left;
}

.tw-subcategory-card__links {
    padding: 8px;
}

.tw-subcategory-card__links a,
.tw-subcategory-card__empty {
    min-height: 38px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 9px;
    color: #56617a;
    font-size: 13px;
}

.tw-subcategory-card__links a:hover,
.tw-subcategory-card__empty:hover {
    background: #eef1ff;
    color: var(--tw-blue);
}

.tw-category-direct-card {
    padding: 30px;
    display: grid;
    grid-template-columns: 62px minmax(0,1fr) auto;
    align-items: center;
    gap: 18px;
    border: 1px dashed #cbd4e8;
    border-radius: 18px;
    background: #fafbff;
}

.tw-category-direct-card > i {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: #eef1ff;
    color: var(--tw-blue);
    font-size: 28px;
}

.tw-category-direct-card h3 {
    margin: 0 0 5px;
}

.tw-category-direct-card p {
    margin: 0;
    color: var(--tw-muted);
}

.tw-category-direct-card a {
    padding: 11px 16px;
    border-radius: 11px;
    background: var(--tw-blue);
    color: #fff;
    font-weight: 800;
}

.tw-category-loading-state {
    padding: 70px 20px;
    text-align: center;
    color: var(--tw-muted);
}

.tw-category-loading-state i {
    color: var(--tw-blue);
    font-size: 38px;
}

/* Flash deal page */
.tw-flash-page {
    padding-bottom: 56px;
}

.tw-flash-hero {
    min-height: 220px;
    padding: 34px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(120deg, #071769 0%, #0007a3 54%, #243de0 100%);
    color: #fff;
    box-shadow: 0 20px 42px rgba(0,7,163,.18);
}

.tw-flash-hero__copy span {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.tw-flash-hero__copy h1 {
    margin: 8px 0 8px;
    color: #fff;
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 850;
}

.tw-flash-hero__copy p {
    margin: 0;
    color: rgba(255,255,255,.78);
}

.tw-flash-hero__countdown small {
    display: block;
    margin-bottom: 8px;
    color: rgba(255,255,255,.72);
    text-align: center;
}

.tw-flash-hero .countdown-background {
    background: transparent !important;
}

.tw-flash-hero .cz-countdown {
    display: flex;
    gap: 8px;
}

.tw-flash-hero .cz-countdown > span {
    min-width: 64px;
    min-height: 70px;
    padding: 9px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 14px;
    background: rgba(255,255,255,.1);
    color: #fff;
}

.tw-flash-hero .cz-countdown-value {
    font-size: 24px;
    font-weight: 850;
}

.tw-flash-hero em {
    color: rgba(255,255,255,.72);
    font-size: 10px;
    font-style: normal;
}

.tw-flash-products {
    padding-top: 28px;
}

.tw-flash-empty {
    margin-top: 30px;
}

.tw-flash-empty h2 {
    margin: 0 0 5px;
}

.tw-flash-empty a {
    display: inline-flex;
    margin-top: 10px;
    padding: 11px 16px;
    border-radius: 11px;
    background: var(--tw-blue);
    color: #fff;
    font-weight: 800;
}

@media (max-width: 1199px) {
    .tw-catalog-grid,
    .tw-flash-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .tw-ui-page .container {
        width: calc(100% - 24px);
    }

    .tw-catalog-sidebar {
        display: none;
    }

    .tw-catalog-content {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .tw-category-browser {
        grid-template-columns: 1fr;
    }

    .tw-category-browser__list {
        max-height: none;
        display: grid;
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: 6px;
    }

    .tw-flash-hero {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767px) {
    .tw-catalog-grid,
    .tw-flash-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .tw-category-page-hero {
        min-height: 150px;
        padding: 22px;
    }

    .tw-category-page-hero__art {
        width: 76px;
        height: 76px;
        border-radius: 20px;
        font-size: 28px;
    }

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

    .tw-category-direct-card {
        grid-template-columns: 52px minmax(0,1fr);
    }

    .tw-category-direct-card a {
        grid-column: 1 / -1;
        text-align: center;
    }

    .tw-flash-hero {
        min-height: 190px;
        padding: 24px;
    }

    .tw-flash-hero .cz-countdown > span {
        min-width: 54px;
    }
}
