.shop-page,
.shop-show-page,
.shop-cart-page {
    padding: 1rem 0 1.6rem;
    padding-left: 0;
}

.shop-block {
    background: #fff;
    border: 1px solid #dbe4ea;
    border-radius: 12px;
    padding: 1rem;
    margin-bottom: 0.8rem;
}

.shop-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.shop-header-title {
    margin: 0;
    color: #1f2f55;
}

.shop-header-sub {
    color: #627484;
    font-size: 0.9rem;
}

.shop-header-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.shop-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.9rem;
    padding: 0 0.8rem;
    border: 0;
    cursor: pointer;
}

.shop-btn.primary {
    background: #0f95dd;
    color: #fff;
}

.shop-btn.ghost {
    background: #edf2f6;
    color: #213341;
}

.shop-btn.danger {
    background: #fff3f3;
    color: #b3261e;
    border: 1px solid #f2c7c7;
}

.shop-alert {
    border-color: #b7dfcc;
    background: #f2fff8;
    color: #0f7d56;
}

.shop-alert-warning {
    border-color: #f2d7b9;
    background: #fff8f0;
    color: #8e5b1f;
}

.shop-currency-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    flex-wrap: wrap;
}

.shop-currency-actions {
    display: flex;
    gap: 0.4rem;
    align-items: center;
}

.shop-meta {
    color: #607483;
    font-size: 0.9rem;
}

.shop-filters {
    width: 100%;
}

.shop-layout {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 0.9rem;
    align-items: start;
}

.shop-sidebar {
    background: #f4f6f8;
    border: 1px solid #eff0f1;
    border-radius: 0;
    padding: 0;
}

.shop-sidebar-icon {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #cc0001;
    gap: 0;
    font-size: 12px;
    line-height: 1;
    overflow: hidden;
    border-radius: 0;
    background: #ffffff;
}

.shop-sidebar-icon-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(0) saturate(100%) invert(13%) sepia(99%) saturate(6073%) hue-rotate(356deg) brightness(91%) contrast(118%);
}

.shop-sidebar-groups {
    background-color: #ffffff;
    display: grid;
    gap: 0;
}
.shop-sidebar-group {
    border-bottom: 1px solid #d6dce4;
}

.shop-sidebar-root-row {
    list-style: none;
    min-height: 54px;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 16px 22px;
    color: #292C4D;
    border-bottom: 1px solid #d6dce4;
}

.shop-sidebar-root-row::-webkit-details-marker {
    display: none;
}

.shop-sidebar-root-link {
    color: #292C4D;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
}

.shop-sidebar-root-link.active {
    color: #cc0001;
}

.shop-sidebar-root-toggle::before {
    content: '+';
    color: #cc0001;
    font-size: 28px;
    line-height: 1;
    font-weight: 700;
}

.shop-sidebar-group[open] .shop-sidebar-root-toggle::before {
    content: '−';
}

.shop-sidebar-root-toggle.is-hidden::before {
    content: '';
}

.shop-sidebar-subtree {
    display: grid;
    padding: 8px 22px 14px;
    gap: 6px;
}

.shop-sidebar-subgroup {
    display: grid;
    gap: 2px;
}

.shop-sidebar-subitem {
    list-style: none;
    text-decoration: none;
    min-height: 36px;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 10px;
    color: #292C4D;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    cursor: pointer;
}

.shop-sidebar-subitem::-webkit-details-marker {
    display: none;
}

.shop-sidebar-subitem-link {
    color: inherit;
    text-decoration: none;
}

.shop-sidebar-subitem.active,
.shop-sidebar-subitem.active .shop-sidebar-subitem-link {
    color: #cc0001;
}

.shop-sidebar-subitem .shop-sidebar-sub-toggle {
    display: none;
}

.shop-sidebar-subgroup > .shop-sidebar-subitem .shop-sidebar-sub-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.shop-sidebar-sub-toggle::before {
    content: '+';
    color: #cc0001;
    font-size: 26px;
    line-height: 1;
    font-weight: 700;
}

.shop-sidebar-subgroup[open] .shop-sidebar-sub-toggle::before,
.shop-sidebar-subitem.active .shop-sidebar-sub-toggle::before {
    content: '−';
}

.shop-sidebar-leaf-list {
    display: grid;
    gap: 0px;
    padding: 0 0 0px 0;
}

.shop-sidebar-leaf {
    text-decoration: none;
    min-height: 20px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 8px;
    color: #292C4D;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.2;
}

.shop-sidebar-leaf.active {
    color: #cc0001;
    font-weight: 600;
}

.shop-sidebar-leaf-count {
    color: #5f6f82;
    font-size: 12px;
    font-weight: 400;
    min-width: 18px;
    text-align: center;
}


.shop-sidebar-empty {
    padding: 4px 0;
    color: #6a7488;
    font-size: 14px;
}

.shop-content {
    min-width: 0;
    background: #ffffff;
    padding: 30px;
    color: #292C4D;
}

.shop-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    font-size: 10px;
    color: #cc0001;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.shop-breadcrumb a {
    color: #cc0001;
    text-decoration: none;
}

.shop-breadcrumb a:last-of-type {
    color: #292C4D;
}

.shop-list-title {
    margin: 0;
    color: #292C4D;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.50;
}

.shop-list-toolbar {
    margin-top: 0.55rem;
    margin-bottom: 0.55rem;
    background: #edf2f7;
    border: 1px solid #e1e8f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0.55rem;
}

.shop-list-count {
    color: #292C4D;
    font-size: 12px;
    font-weight: 600;
}

.shop-list-count-number {
    color: #cc0001;
    font-weight: 800;
}

.shop-list-sort {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #292C4D;
    font-size: 11px;
    font-weight: 700;
}

.shop-list-sort-form {
    margin: 0;
}

.shop-list-sort select {
    height: 36px;
    border: 1px solid #dae3ed;
    border-radius: 0;
    padding: 0 30px 0 14px;
    background: #fff;
    color: #292C4D;
    font-size: 13px;
    font-weight: 600;
}

.shop-list {
    display: grid;
    gap: 0.85rem;
}

.shop-list-item {
    position: relative;
    display: grid;
    grid-template-columns: 142px minmax(0, 1fr) 235px;
    gap: 0.8rem;
    align-items: stretch;
    border: 1px solid #e2e8f0;
    background: #fff;
    padding: 0.55rem 0.65rem;
    min-height: 244px;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.shop-list-item:hover {
    border-color: #cfd8e2;
    box-shadow: 0 2px 10px rgba(18, 45, 76, 0.08);
}

.shop-list-item:focus-visible {
    outline: 2px solid #0a3d77;
    outline-offset: 2px;
}

.shop-list-badge {
    position: absolute;
    top: 0;
    left: 0;
    background: #cc0001;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 0.08rem 0.25rem;
}

.shop-list-thumb {
    width: 100%;
    height: 228px;
    object-fit: cover;
    object-position: center;
    background: #ffffff;
    border: 0;
}

.shop-list-main {
    min-width: 0;
    padding-top: 0.05rem;
    display: flex;
    flex-direction: column;
}

.shop-list-name {
    margin: 0;
    color: #292C4D;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.1;
}

.shop-list-meta {
    margin-top: 0.28rem;
    color: #292C4D;
    font-size: 12px;
    font-weight: 600;
}

.shop-list-brand {
    color: #cc0001;
    margin-left: 0.5rem;
    font-weight: 700;
}

.shop-list-meta-sep {
    margin-left: 0.45rem;
    color: #292C4D;
}

.shop-list-attrs {
    margin-top: 0.35rem;
    display: grid;
    gap: 0.1rem;
    color: #292C4D;
    font-size: 12px;
    line-height: 1.22;
    max-width: 50%;
}

.shop-list-attr-item {
    display: block;
}

.shop-list-attr-description {
    display: block;
    margin-top: 0.2rem;
    margin-bottom: 0.2rem;
    color: #292C4D;
    font-size: 12px;
    line-height: 1.28;
}

.shop-list-links {
    margin-top: auto;
    padding-top: 0.62rem;
    display: flex;
    align-items: center;
    gap: 1.7rem;
}

.shop-list-link-form {
    margin: 0;
}

.shop-list-link,
.shop-list-link-btn {
    color: #292C4D;
    font-size: 11px;
    line-height: 1;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    font-family: inherit;
}

.shop-list-link-btn {
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    cursor: pointer;
}

.shop-list-link:hover,
.shop-list-link-btn:hover {
    color: #292C4D;
}

.shop-list-link::before,
.shop-list-link-btn::before {
    color: #cc0001;
    font-size: 16px;
    line-height: 1;
}

.shop-list-link.wish::before,
.shop-list-link-btn.wish::before {
    content: '\2661';
}

.shop-list-link.compare::before,
.shop-list-link-btn.compare::before {
    content: '\21C4';
}

.shop-list-side {
    display: grid;
    justify-items: end;
    align-content: space-between;
    gap: 0.2rem;
    padding-left: 0.55rem;
    border-left: 1px solid #ecf1f6;
}

.shop-list-prices {
    text-align: right;
}

.shop-list-old-price {
    color: #292C4D;
    font-size: 13px;
    font-weight: 700;
    text-decoration: line-through;
}

.shop-list-price {
    color: #cc0001;
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1.02;
}

.shop-list-vat {
    color: #292C4D;
    font-size: 10px;
}

.shop-list-delivery {
    color: #292C4D;
    font-size: 12px;
    font-weight: 700;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
}

.shop-icon-truck {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #292C4D;
}

.shop-icon-truck svg {
    width: 32px;
    height: 32px;
    display: block;
    fill: currentColor;
}

.shop-list-actions {
    display: inline-flex;
    align-items: center;
    border: 1px solid #ccd8e5;
    background: #fff;
    height: 48px;
    box-sizing: border-box;
}

.shop-qty-btn,
.shop-qty-value {
    min-width: 32px;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #d12020;
    font-size: 20px;
    font-weight: 700;
    border-right: 1px solid #d9e1ea;
    background: #fff;
    box-sizing: border-box;
}

.shop-qty-btn {
    border: 0;
    border-right: 1px solid #d9e1ea;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    line-height: 1;
    padding: 0;
}

.shop-qty-value {
    min-width: 68px;
    color: #1d2f4d;
    font-size: 14px;
    flex-direction: column;
    gap: 0;
    line-height: 1;
}

.shop-qty-value strong {
    font-size: 21px;
    font-weight: 700;
}

.shop-qty-value small {
    margin-top: 0.05rem;
    color: #9aa8b7;
    font-size: 12px;
    font-weight: 500;
}

.shop-list-cart {
    min-width: 52px;
    height: 100%;
    padding: 0;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #0a3d77;
    color: #fff;
    font-size: 0;
    font-weight: 700;
    text-decoration: none;
    box-sizing: border-box;
    cursor: pointer;
}

.shop-list-cart-form {
    margin: 0;
    display: inline-flex;
    height: 100%;
}

.shop-icon-cart {
    width: 23px;
    height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
}

.shop-icon-cart svg {
    width: 23px;
    height: 23px;
    display: block;
    fill: currentColor;
}

.shop-list-cart:hover {
    background: #083665;
}

.shop-filters-form {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.shop-field {
    height: 38px;
    border: 1px solid #d9e1e7;
    border-radius: 8px;
    padding: 0 0.65rem;
    background: #fff;
    color: #213341;
}

.shop-empty {
    color: #627484;
}

.shop-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0.9rem;
}

.shop-card {
    background: #fff;
    border: 1px solid #dbe4ea;
    border-radius: 12px;
    overflow: hidden;
}

.shop-thumb {
    width: 100%;
    height: 160px;
    object-fit: cover;
    background: #eaf0f3;
    display: block;
}

.shop-thumb-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7d8d9a;
}

.shop-card-body {
    padding: 0.8rem;
}

.shop-card-title {
    margin: 0 0 0.35rem;
    color: #1f2f55;
}

.shop-price {
    font-weight: 800;
    color: #0f95dd;
}

.shop-card-actions {
    margin-top: 0.7rem;
}

.shop-pagination {
    margin-top: 1rem;
}

.shop-pager-nav {
    display: flex;
    justify-content: center;
}

.shop-pager {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    flex-wrap: wrap;
}

.shop-pager-link {
    min-width: 40px;
    height: 40px;
    padding: 0 0.65rem;
    border: 1px solid #d2ddea;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: #1f2f55;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.shop-pager-link:hover {
    border-color: #0f95dd;
    color: #0f95dd;
    transform: translateY(-1px);
}

.shop-pager-link:focus-visible {
    outline: 2px solid rgba(15, 149, 221, 0.32);
    outline-offset: 2px;
    border-color: #0f95dd;
}

.shop-pager-link.is-active {
    background: #0f95dd;
    border-color: #0f95dd;
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 149, 221, 0.22);
}

.shop-pager-link.is-dots,
.shop-pager-link.is-disabled {
    color: #8ea0b1;
    background: #f7f9fb;
    border-color: #dbe5ee;
    cursor: not-allowed;
    transform: none;
}

.shop-pager-link.is-arrow {
    padding: 0;
}

.shop-pager-link.is-arrow svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

@media (max-width: 640px) {
    .shop-pager {
        gap: 0.35rem;
    }

    .shop-pager-link {
        min-width: 36px;
        height: 36px;
        border-radius: 9px;
        font-size: 0.82rem;
    }

    .shop-pager-link.is-arrow svg {
        width: 16px;
        height: 16px;
    }
}

.shop-newsletter {
    margin-top: 1rem;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 1rem;
}

.shop-newsletter-title {
    margin: 0 0 0.3rem;
    font-size: 1.2rem;
    color: #1f2f55;
}

.shop-newsletter-sub {
    color: #627484;
    font-size: 0.9rem;
}

.shop-newsletter-form {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
}

.shop-newsletter-input {
    height: 40px;
    min-width: 260px;
    border: 1px solid #d9e1e7;
    border-radius: 8px;
    padding: 0 0.7rem;
}

.shop-single-page {
    padding-top: 1rem;
}

.shop-single-layout {
    align-items: start;
}

.shop-single-content {
    min-height: 760px;
    padding: 22px 20px 34px;
}

.shop-single-hero {
    margin-top: 0.18rem;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 1.35rem;
    align-items: start;
}

.shop-single-main-image-wrap {
    position: relative;
    border: 1px solid #e3e8f0;
    background: #ffffff;
    min-height: 386px;
    padding: 16px 14px;
}

.shop-single-main-image {
    width: 100%;
    height: 354px;
    object-fit: contain;
    background: #ffffff;
    display: block;
}

.shop-single-badge {
    top: 12px;
    left: 0;
    font-size: 10px;
    padding: 0.07rem 0.28rem;
}

.shop-single-thumbs {
    margin-top: 0.65rem;
    display: flex;
    align-items: center;
    gap: 0.42rem;
    flex-wrap: wrap;
}

.shop-single-thumb-btn {
    width: 46px;
    height: 66px;
    border: 1px solid #d9e2ec;
    background: #ffffff;
    padding: 0;
    cursor: pointer;
}

.shop-single-thumb-btn.is-active {
    border-color: #0a3d77;
}

.shop-single-thumb-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.shop-single-title {
    margin: 0;
    color: #1a3b69;
    font-size: 26px;
    line-height: 1.04;
    letter-spacing: -0.02em;
    font-weight: 800;
    max-width: 620px;
}

.shop-single-info-col {
    padding-top: 0.12rem;
}

.shop-single-meta-row {
    margin-top: 0.46rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.shop-single-meta-left {
    display: inline-flex;
    align-items: center;
    gap: 0.52rem;
    color: #2a3651;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.shop-single-price-box {
    text-align: right;
    margin-top: 0.08rem;
    min-width: 188px;
}

.shop-single-old-price {
    color: #2a3651;
    font-size: 13px;
    font-weight: 700;
    text-decoration: line-through;
}

.shop-single-price {
    color: #cc0001;
    font-size: 22px;
    line-height: 0.96;
    font-weight: 800;
}

.shop-single-vat-note {
    color: #2a3651;
    font-size: 10px;
    font-weight: 600;
}

.shop-single-delivery-row {
    margin-top: 0.14rem;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #2a3651;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
}

.shop-single-delivery-mark {
    color: #cc0001;
    font-size: 14px;
    font-weight: 800;
}

.shop-single-description {
    margin-top: 0.52rem;
    color: #2a3651;
    font-size: 14px;
    line-height: 1.26;
    white-space: pre-line;
    max-width: 560px;
}

.shop-single-tools-row {
    margin-top: 0.62rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
}

.shop-single-links {
    margin-top: 0;
    padding-top: 0;
    gap: 1.2rem;
    min-height: 42px;
    flex: 1 1 auto;
}

.shop-single-links .shop-list-link {
    font-size: 14px;
    gap: 0.3rem;
    font-weight: 700;
}

.shop-single-links .shop-list-link::before {
    font-size: 14px;
}

.shop-single-link-form {
    margin: 0;
}

.shop-single-link-btn {
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    color: #292C4D;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    cursor: pointer;
    font-family: inherit;
}

.shop-single-link-btn::before {
    color: #cc0001;
    font-size: 14px;
    line-height: 1;
}

.shop-single-link-btn.wish::before {
    content: '\2661';
}

.shop-single-link-btn.compare::before {
    content: '\21C4';
}

.shop-single-actions {
    margin-top: 0;
    margin-left: auto;
    width: fit-content;
    border-color: #ccd8e5;
    height: 42px;
}

.shop-single-actions .shop-qty-btn,
.shop-single-actions .shop-qty-value,
.shop-single-actions .shop-list-cart {
    height: 100%;
}

.shop-single-actions .shop-qty-btn {
    min-width: 30px;
    font-size: 18px;
}

.shop-single-actions .shop-qty-value {
    min-width: 54px;
}

.shop-single-actions .shop-qty-value strong {
    font-size: 18px;
}

.shop-single-actions .shop-qty-value small {
    font-size: 11px;
}

.shop-single-actions .shop-list-cart {
    min-width: 46px;
}

.shop-single-actions .shop-icon-cart,
.shop-single-actions .shop-icon-cart svg {
    width: 20px;
    height: 20px;
}

.shop-single-specs-block {
    margin-top: 1rem;
}

.shop-single-specs-title {
    margin: 0 0 0.45rem;
    color: #133765;
    font-size: 21px;
    line-height: 1.15;
    font-weight: 700;
}

.shop-single-specs-table-wrap {
    border: 1px solid #dce4ef;
    background: #ffffff;
}

.shop-single-specs-table {
    width: 100%;
    border-collapse: collapse;
}

.shop-single-specs-table th,
.shop-single-specs-table td {
    border-bottom: 1px solid #e6ecf4;
    padding: 0.36rem 0.45rem;
    font-size: 14px;
    line-height: 1.28;
    vertical-align: top;
}

.shop-single-specs-table tr:last-child th,
.shop-single-specs-table tr:last-child td {
    border-bottom: 0;
}

.shop-single-specs-table th {
    width: 44%;
    color: #183c67;
    font-weight: 700;
    text-align: left;
    background: #f7f9fc;
}

.shop-single-specs-table td {
    color: #2a3651;
    font-weight: 500;
}

.shop-single-specs-empty {
    color: #596983;
    font-size: 12px;
    line-height: 1.3;
}

.shop-single-offers.action-offers {
    margin-top: 1.05rem;
    padding: 0;
    background: transparent;
}

.shop-single-offers .action-offers-head {
    margin-bottom: 0.65rem;
}

.shop-compare-page {
    padding-top: 1rem;
}

.shop-compare-block {
    display: grid;
    gap: 0.9rem;
}

.shop-compare-head h1 {
    margin: 0;
    color: #1f2f55;
    font-size: 28px;
    line-height: 1.1;
}

.shop-compare-head p {
    margin: 0.25rem 0 0;
    color: #627484;
    font-size: 14px;
}

.shop-compare-actions {
    display: flex;
    justify-content: flex-end;
}

.shop-compare-table-wrap {
    border: 1px solid #dbe4ea;
    border-radius: 12px;
    overflow-x: auto;
    background: #ffffff;
}

.shop-compare-table {
    width: 100%;
    min-width: 840px;
    border-collapse: collapse;
    table-layout: fixed;
}

.shop-compare-table th,
.shop-compare-table td {
    border-bottom: 1px solid #e5ebf2;
    border-right: 1px solid #edf1f6;
    padding: 0.6rem;
    vertical-align: top;
    overflow-wrap: anywhere;
}

.shop-compare-col-feature {
    width: 220px;
}

.shop-compare-table tr:last-child th,
.shop-compare-table tr:last-child td {
    border-bottom: 0;
}

.shop-compare-table th:last-child,
.shop-compare-table td:last-child {
    border-right: 0;
}

.shop-compare-feature-col {
    min-width: 220px;
    width: 220px;
    color: #183c67;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    background: #f8fbff;
    text-align: left;
}

.shop-compare-product-head {
    min-width: 180px;
    display: grid;
    gap: 0.45rem;
}

.shop-compare-product-image-link {
    text-decoration: none;
}

.shop-compare-product-image {
    width: 100%;
    height: 130px;
    object-fit: contain;
    background: #f5f8fc;
    border: 1px solid #e2eaf3;
    border-radius: 8px;
    display: block;
}

.shop-compare-product-name {
    color: #1f2f55;
    text-decoration: none;
    font-size: 13px;
    line-height: 1.25;
    font-weight: 700;
}

.shop-compare-product-actions {
    display: grid;
    gap: 0.4rem;
}

.shop-compare-clear,
.shop-compare-remove,
.shop-compare-cart {
    border: 1px solid #ccd8e5;
    background: #ffffff;
    color: #1f2f55;
    border-radius: 8px;
    padding: 0.4rem 0.75rem;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.shop-compare-cart {
    border-color: #cc0001;
    background: #cc0001;
    color: #ffffff;
}

.shop-compare-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 0.8rem;
}

.shop-compare-card {
    border: 1px solid #dbe4ea;
    border-radius: 12px;
    background: #ffffff;
    overflow: hidden;
    display: grid;
    grid-template-rows: 180px auto auto;
}

.shop-compare-image-link {
    text-decoration: none;
    border-bottom: 1px solid #e4ebf2;
}

.shop-compare-image {
    width: 100%;
    height: 180px;
    object-fit: contain;
    background: #f5f8fc;
    display: block;
}

.shop-compare-body {
    padding: 0.7rem;
    display: grid;
    gap: 0.4rem;
}

.shop-compare-name {
    color: #1f2f55;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.25;
}

.shop-compare-meta {
    color: #6f8090;
    font-size: 12px;
}

.shop-compare-prices {
    display: grid;
    gap: 0.1rem;
}

.shop-compare-specs {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.18rem;
    color: #2a3651;
    font-size: 12px;
}

.shop-compare-card-actions {
    padding: 0 0.7rem 0.7rem;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    justify-content: space-between;
    flex-wrap: wrap;
}

.shop-compare-card-actions form,
.shop-compare-actions form {
    margin: 0;
}

.shop-wishlist-page {
    padding-top: 1rem;
}

.shop-wishlist-block {
    display: grid;
    gap: 0.9rem;
}

.shop-cart-head {
    margin-bottom: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    flex-wrap: wrap;
}

.shop-cart-head h1 {
    margin: 0;
    color: #1f2f55;
}

.shop-cart-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 0.8rem;
    align-items: stretch;
}

.shop-cart-main-col {
    display: grid;
    gap: 0.8rem;
}

.shop-cart-list {
    display: grid;
    gap: 0.75rem;
}

.shop-cart-item {
    border: 1px solid #dde5ec;
    border-radius: 10px;
    background: #fff;
    padding: 0.75rem;
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
}

.shop-cart-thumb-link {
    text-decoration: none;
}

.shop-cart-thumb {
    width: 92px;
    height: 92px;
    object-fit: contain;
    background: #f2f6fb;
    border: 1px solid #dde5ec;
    border-radius: 8px;
    display: block;
}

.shop-cart-main {
    min-width: 0;
}

.shop-cart-name {
    color: #1f2f55;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.3;
    display: inline-block;
    margin-bottom: 0.25rem;
}

.shop-cart-meta {
    color: #6f8090;
    font-size: 13px;
    margin-bottom: 0.25rem;
}

.shop-cart-price {
    color: #213341;
    font-size: 14px;
    font-weight: 600;
}

.shop-cart-controls {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    flex-wrap: nowrap;
}

.shop-cart-qty-form {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: nowrap;
}

.shop-cart-qty-label {
    color: #607483;
    font-size: 13px;
}

.shop-cart-qty-note {
    color: #6f8090;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.shop-cart-qty {
    height: 38px;
    width: 96px;
    border: 1px solid #dbe4ea;
    border-radius: 8px;
    padding: 0 0.55rem;
    color: #213341;
}

.shop-cart-remove-form {
    margin: 0;
    white-space: nowrap;
}

.shop-cart-remove-form .shop-btn.danger {
    min-height: 36px;
    padding: 0 0.65rem;
    white-space: nowrap;
}

.shop-cart-line-total {
    color: #0a3d77;
    font-weight: 800;
    font-size: 18px;
    text-align: left;
    white-space: nowrap;
}

.shop-cart-summary h2 {
    margin: 0 0 0.8rem;
    color: #1f2f55;
    font-size: 22px;
}

.shop-cart-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    color: #213341;
}

.shop-cart-summary-row strong {
    color: #0a3d77;
    font-size: 16px;
}

.shop-cart-summary-row.is-total {
    margin-top: 0.28rem;
    padding-top: 0.55rem;
    border-top: 1px solid #dce5ed;
}

.shop-cart-summary {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.shop-cart-summary-shipping {
    margin-top: 0.9rem;
    padding: 0.6rem 0.7rem;
    border: 1px solid #f2d7b9;
    background: #fff8f0;
    border-radius: 8px;
    color: #8e5b1f;
    font-size: 14px;
}

.shop-cart-summary-shipping.ok {
    border-color: #b7dfcc;
    background: #f2fff8;
    color: #0f7d56;
}

.shop-cart-summary-note {
    margin-top: 0.5rem;
    color: #607483;
    font-size: 13px;
}

.shop-cart-order-block {
    margin-top: 0.85rem;
}

.shop-cart-order-title {
    margin: 0 0 0.8rem;
    color: #1f2f55;
    font-size: 22px;
}

.shop-cart-checkout-form {
    margin-top: 0.9rem;
}

.shop-guest-checkout-fields {
    margin-bottom: 0.9rem;
    display: grid;
    gap: 0.6rem;
}

.shop-guest-checkout-title {
    margin: 0;
    color: #1f2f55;
    font-size: 16px;
}

.shop-guest-checkout-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.shop-guest-checkout-field {
    display: grid;
    gap: 0.28rem;
}

.shop-guest-checkout-field label {
    color: #607483;
    font-size: 13px;
    font-weight: 600;
}

.shop-guest-checkout-field input,
.shop-guest-checkout-field textarea {
    width: 100%;
    border: 1px solid #dbe4ea;
    border-radius: 8px;
    padding: 0.52rem 0.6rem;
    color: #213341;
    font: inherit;
    resize: vertical;
    background: #ffffff;
}

.shop-guest-checkout-field textarea {
    min-height: 78px;
}

.shop-cart-checkout-btn {
    width: 100%;
    min-height: 44px;
    max-width: 340px;
    background: #292CAD;
    color: #ffffff;
}

.shop-cart-checkout-btn:hover {
    background: #21248f;
}

.shop-cart-login-cta {
    margin-top: 1rem;
    display: grid;
    gap: 0.45rem;
}

.shop-cart-auth-actions {
    margin-top: 0.55rem;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.shop-cart-trust-list {
    margin-top: 1rem;
    padding-top: 0.95rem;
    border-top: 1px solid #dce5ed;
    display: grid;
    gap: 0.75rem;
}

.shop-cart-trust-item {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    color: #1f2f55;
}

.shop-cart-trust-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.shop-cart-trust-icon-truck {
    width: 42px;
    height: 42px;
}

.shop-cart-trust-icon-support,
.shop-cart-trust-icon-security {
    width: 32px;
    height: 32px;
}

.shop-cart-trust-item strong {
    display: block;
    font-size: 15px;
    line-height: 1.2;
    margin-bottom: 2px;
}

.shop-cart-trust-item small {
    display: block;
    color: #5f7288;
    font-size: 12px;
    line-height: 1.35;
}

@media (max-width: 900px) {
    .shop-single-content {
        min-height: 0;
    }

    .shop-single-hero {
        grid-template-columns: 1fr;
        gap: 0.95rem;
    }

    .shop-single-main-image-wrap {
        min-height: 344px;
    }

    .shop-single-main-image {
        height: 314px;
    }

    .shop-single-title {
        font-size: 36px;
        line-height: 1.05;
    }

    .shop-single-description {
        max-width: 100%;
    }

    .shop-cart-grid {
        grid-template-columns: 1fr;
    }

    .shop-compare-feature-col {
        min-width: 170px;
        width: 170px;
    }

    .shop-compare-product-head {
        min-width: 150px;
    }

    .shop-compare-product-image {
        height: 110px;
    }

    .shop-cart-item {
        grid-template-columns: 72px minmax(0, 1fr) auto;
        gap: 0.6rem;
    }

    .shop-cart-thumb {
        width: 72px;
        height: 72px;
    }

    .shop-cart-controls {
        justify-content: flex-start;
        gap: 0.4rem;
    }

    .shop-cart-qty {
        width: 82px;
    }

    .shop-cart-qty-note {
        font-size: 11px;
    }

    .shop-cart-summary {
        height: auto;
    }

    .shop-guest-checkout-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .shop-page,
    .shop-show-page,
    .shop-cart-page {
        padding: 0.8rem 0 1.4rem;
    }

    .shop-block {
        padding: 0.8rem;
    }

    .shop-grid {
        grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    }

    .shop-layout {
        grid-template-columns: 1fr;
    }

    .shop-list-item {
        grid-template-columns: 106px minmax(0, 1fr);
        min-height: 0;
    }

    .shop-list-thumb {
        width: 100%;
        height: 160px;
    }

    .shop-list-side {
        grid-column: span 2;
        justify-items: start;
        text-align: left;
        border-left: 0;
        padding-left: 0;
        align-content: start;
        gap: 0.4rem;
    }

    .shop-list-name {
        font-size: 24px;
    }

    .shop-list-meta,
    .shop-list-attrs,
    .shop-list-link,
    .shop-list-link-btn,
    .shop-list-vat,
    .shop-list-delivery {
        font-size: 13px;
    }

    .shop-list-price {
        font-size: 30px;
    }

    .shop-list-old-price {
        font-size: 13px;
    }

    .shop-list-link::before,
    .shop-list-link-btn::before {
        font-size: 15px;
    }

    .shop-icon-truck,
    .shop-icon-truck svg {
        width: 14px;
        height: 14px;
    }

    .shop-qty-btn,
    .shop-qty-value,
    .shop-list-cart {
        height: 40px;
    }

    .shop-qty-btn {
        min-width: 28px;
        font-size: 18px;
    }

    .shop-list-cart {
        min-width: 44px;
        font-size: 20px;
    }

    .shop-list-title {
        font-size: 28px;
    }

    .shop-sidebar {
        width: 100%;
        padding: 16px;
    }

    .shop-sidebar-root-row {
        min-height: 64px;
    }

    .shop-sidebar-subitem {
        font-size: 14px;
        min-height: 30px;
    }

    .shop-sidebar-leaf {
        font-size: 13px;
    }

    .shop-single-content {
        padding: 20px 18px 26px;
    }

    .shop-single-title {
        font-size: 30px;
        line-height: 1.06;
    }

    .shop-single-meta-row {
        flex-direction: column;
        gap: 0.35rem;
    }

    .shop-single-price-box {
        text-align: left;
    }

    .shop-single-main-image-wrap {
        min-height: 322px;
    }

    .shop-single-main-image {
        height: 286px;
    }

    .shop-single-price {
        font-size: 32px;
    }

    .shop-single-tools-row {
        margin-top: 0.62rem;
    }

    .shop-cart-qty-form {
        width: auto;
    }
}

@media (max-width: 560px) {
    .shop-single-content {
        padding: 15px 12px 18px;
    }

    .shop-single-title {
        font-size: 26px;
    }

    .shop-single-main-image-wrap {
        min-height: 284px;
        padding: 12px 10px;
    }

    .shop-single-main-image {
        height: 258px;
    }

    .shop-single-price {
        font-size: 29px;
    }

    .shop-single-tools-row {
        align-items: stretch;
        flex-direction: column;
        gap: 0.55rem;
    }

    .shop-single-links {
        min-height: 0;
        gap: 0.8rem;
        flex-wrap: wrap;
    }

    .shop-single-thumb-btn {
        width: 42px;
        height: 60px;
    }

    .shop-single-actions {
        width: 100%;
        margin-left: 0;
    }

    .shop-single-actions .shop-qty-value {
        min-width: 46px;
    }

    .shop-single-specs-title {
        font-size: 19px;
    }

    .shop-cart-item {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .shop-cart-controls {
        grid-column: span 2;
        justify-content: flex-start;
        flex-wrap: wrap;
        column-gap: 0.45rem;
        row-gap: 0.35rem;
    }

    .shop-cart-qty-form {
        width: 100%;
        flex-wrap: wrap;
        order: 1;
    }

    .shop-cart-remove-form {
        order: 2;
    }

    .shop-cart-line-total {
        order: 3;
        margin-left: auto;
        font-size: 17px;
    }

    .shop-cart-qty {
        width: 100%;
    }
}

@media (max-width: 430px) {
    .shop-single-title {
        font-size: 24px;
        line-height: 1.08;
    }

    .shop-single-main-image-wrap {
        min-height: 252px;
    }

    .shop-single-main-image {
        height: 224px;
    }

    .shop-single-price {
        font-size: 26px;
    }

    .shop-single-meta-left {
        font-size: 12px;
    }

    .shop-single-description {
        font-size: 11px;
    }

    .shop-single-actions {
        height: 40px;
    }

    .shop-single-actions .shop-qty-btn {
        min-width: 28px;
    }

    .shop-single-actions .shop-qty-value strong {
        font-size: 16px;
    }

    .shop-single-actions .shop-list-cart {
        min-width: 42px;
    }

    .shop-single-thumb-btn {
        width: 38px;
        height: 52px;
    }

    .shop-single-specs-table th,
    .shop-single-specs-table td {
        padding: 0.3rem 0.34rem;
        font-size: 11px;
    }

    .shop-cart-item {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 0.45rem;
    }

    .shop-cart-thumb {
        width: 64px;
        height: 64px;
    }

    .shop-cart-qty {
        height: 36px;
    }

    .shop-cart-qty-note {
        font-size: 10px;
    }

    .shop-cart-remove-form .shop-btn.danger {
        min-height: 34px;
        font-size: 0.84rem;
        padding: 0 0.55rem;
    }

    .shop-cart-line-total {
        font-size: 16px;
    }

    .shop-cart-trust-icon-truck {
        width: 34px;
        height: 34px;
    }

    .shop-cart-trust-icon-support,
    .shop-cart-trust-icon-security {
        width: 26px;
        height: 26px;
    }
}

@media (max-width: 400px) {
    .shop-page,
    .shop-show-page,
    .shop-cart-page {
        padding: 0.65rem 0 1.1rem;
    }

    .shop-block {
        padding: 0.65rem;
        margin-bottom: 0.75rem;
    }

    .shop-grid {
        grid-template-columns: 1fr;
        gap: 0.7rem;
    }

    .shop-list-item {
        grid-template-columns: 1fr;
    }

    .shop-list-thumb {
        width: 100%;
        height: 120px;
        min-height: 120px;
        object-fit: contain;
    }

    .shop-list-side {
        grid-column: auto;
        justify-items: start;
    }

    .shop-sidebar {
        padding: 14px;
    }

    .shop-sidebar-root-row {
        min-height: 56px;
        grid-template-columns: 22px minmax(0, 1fr) 18px;
        gap: 8px;
    }

    .shop-sidebar-root-link {
        font-size: 15px;
    }

    .shop-cart-item {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .shop-cart-thumb {
        width: 64px;
        height: 64px;
    }

    .shop-cart-controls {
        grid-column: span 2;
    }

    .shop-sidebar-subitem {
        min-height: 28px;
        font-size: 13px;
    }

    .shop-sidebar-leaf {
        font-size: 12px;
    }

    .shop-btn {
        width: 100%;
    }

    .shop-header > div,
    .shop-filters-form,
    .shop-newsletter > div,
    .shop-newsletter-form {
        width: 100%;
    }

    .shop-filters-form .shop-field,
    .shop-filters-form .shop-btn,
    .shop-newsletter-form .shop-newsletter-input,
    .shop-newsletter-form .shop-btn {
        width: 100%;
    }

    .shop-newsletter {
        flex-direction: column;
    }

    .shop-single-content {
        padding: 16px 14px 20px;
    }

    .shop-single-title {
        font-size: 22px;
    }

    .shop-single-main-image-wrap {
        min-height: 246px;
    }

    .shop-single-main-image {
        height: 220px;
    }

    .shop-single-price {
        font-size: 24px;
    }

    .shop-single-thumbs {
        gap: 0.42rem;
    }

    .shop-single-thumb-btn {
        width: 44px;
        height: 62px;
    }

    .shop-single-actions {
        width: 100%;
    }

    .shop-single-specs-title {
        font-size: 18px;
    }
}

@media (max-width: 393px) {
    .shop-single-title {
        font-size: 21px;
    }

    .shop-single-price {
        font-size: 23px;
    }

    .shop-single-main-image-wrap {
        min-height: 232px;
    }

    .shop-single-main-image {
        height: 206px;
    }

    .shop-cart-item {
        gap: 0.4rem;
    }

    .shop-cart-name {
        font-size: 0.98rem;
        line-height: 1.2;
        margin-bottom: 0.18rem;
    }

    .shop-cart-meta {
        font-size: 12px;
        margin-bottom: 0.2rem;
    }

    .shop-cart-price {
        font-size: 13px;
    }

    .shop-cart-controls {
        column-gap: 0.35rem;
        row-gap: 0.3rem;
    }

    .shop-cart-qty-form {
        gap: 0.35rem;
    }

    .shop-cart-qty-note {
        font-size: 9px;
    }

    .shop-cart-remove-form .shop-btn.danger {
        min-height: 32px;
        font-size: 0.8rem;
        padding: 0 0.48rem;
    }

    .shop-cart-line-total {
        font-size: 15px;
    }
}

@media (max-width: 390px) {
    .shop-single-meta-left {
        gap: 0.35rem;
    }

    .shop-single-actions {
        height: 38px;
    }

    .shop-cart-item {
        grid-template-columns: 60px minmax(0, 1fr);
        gap: 0.38rem;
        padding: 0.6rem;
    }

    .shop-cart-thumb {
        width: 60px;
        height: 60px;
    }

    .shop-cart-controls {
        column-gap: 0.3rem;
    }

    .shop-cart-qty {
        height: 34px;
    }

    .shop-cart-qty-form {
        gap: 0.3rem;
    }

    .shop-cart-remove-form .shop-btn.danger {
        min-height: 31px;
        font-size: 0.78rem;
        padding: 0 0.42rem;
    }

    .shop-cart-line-total {
        font-size: 14px;
    }
}

@media (max-width: 360px) {
    .shop-single-content {
        padding: 14px 10px 16px;
    }

    .shop-single-title {
        font-size: 19px;
    }

    .shop-single-price {
        font-size: 21px;
    }

    .shop-single-main-image-wrap {
        min-height: 210px;
        padding: 10px 8px;
    }

    .shop-single-main-image {
        height: 186px;
    }

    .shop-single-thumb-btn {
        width: 34px;
        height: 48px;
    }

    .shop-single-actions {
        height: 36px;
    }

    .shop-single-actions .shop-qty-btn {
        min-width: 25px;
        font-size: 15px;
    }

    .shop-single-actions .shop-qty-value {
        min-width: 40px;
    }

    .shop-single-actions .shop-qty-value strong {
        font-size: 14px;
    }

    .shop-single-actions .shop-qty-value small {
        font-size: 9px;
    }

    .shop-single-actions .shop-list-cart {
        min-width: 38px;
    }

    .shop-single-specs-table th,
    .shop-single-specs-table td {
        font-size: 10px;
    }

    .shop-cart-item {
        grid-template-columns: 56px minmax(0, 1fr);
        gap: 0.32rem;
        padding: 0.54rem;
    }

    .shop-cart-thumb {
        width: 56px;
        height: 56px;
    }

    .shop-cart-name {
        font-size: 0.9rem;
        line-height: 1.15;
    }

    .shop-cart-meta,
    .shop-cart-price {
        font-size: 11px;
    }

    .shop-cart-controls {
        column-gap: 0.24rem;
        row-gap: 0.24rem;
    }

    .shop-cart-qty {
        height: 32px;
        font-size: 0.86rem;
    }

    .shop-cart-qty-note {
        font-size: 8px;
    }

    .shop-cart-remove-form .shop-btn.danger {
        min-height: 30px;
        font-size: 0.74rem;
        padding: 0 0.36rem;
    }

    .shop-cart-line-total {
        font-size: 13px;
    }
}

