/* PESITRO TJ responsive parity polish — loaded after main.css. */
.op2-trust-copy--mobile {
    display: none;
}

@media (max-width: 760px) {
    .op2-info-nav a {
        padding: 10px 7px !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }
}

/* Mobile commerce and information-page alignment fixes. */
@media (max-width: 760px) {
    /* WooCommerce adds a second “View cart” link after an AJAX add. The card
       already changes to a checkmark, so keep the confirmation without an
       overlapping pill. */
    .woocommerce ul.products li.product .added_to_cart.wc-forward {
        display: none !important;
    }

    /* Undo the older full-width mobile button margin and centre both the cart
       and success glyphs inside one consistent square action area. */
    .op2-featured .woocommerce ul.products li.product .button,
    .op2-care-products .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product .button {
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 52px !important;
        min-width: 52px !important;
        height: 52px !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
    }

    .woocommerce ul.products li.product .button::before {
        width: 28px !important;
        height: 28px !important;
        margin: 0 !important;
        display: grid !important;
        place-items: center !important;
        font-size: 24px !important;
        line-height: 1 !important;
        text-align: center !important;
        transform: none !important;
    }

    /* Privacy / information navigation must share the available width rather
       than letting the longest Russian label define the grid column. */
    .op2-info-layout {
        width: calc(100% - 36px) !important;
        max-width: calc(100% - 36px) !important;
        min-width: 0 !important;
        margin-inline: auto !important;
    }

    .op2-info-layout > *,
    .op2-info-nav,
    .op2-policy-card,
    .op2-policy-card > * {
        min-width: 0 !important;
    }

    .op2-info-nav {
        width: 100% !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .op2-info-nav a {
        width: 100% !important;
        min-width: 0 !important;
        padding: 10px 7px !important;
        gap: 6px !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .op2-info-nav a .dashicons {
        flex: 0 0 17px;
        width: 17px;
        height: 17px;
        font-size: 17px;
        line-height: 17px;
    }

    .op2-policy-card {
        width: 100% !important;
        max-width: 100% !important;
        padding: 22px 20px !important;
        overflow: hidden;
    }

    .op2-policy-card h2 {
        font-size: clamp(23px, 6.8vw, 29px) !important;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
    }

    .op2-policy-card h3,
    .op2-policy-card p,
    .op2-policy-card li,
    .op2-policy-card a {
        overflow-wrap: anywhere;
    }

    /* Compact, readable mobile cart cards. */
    .woocommerce-cart form.woocommerce-cart-form table.shop_table_responsive tr.cart_item {
        padding: 12px 38px 12px 12px !important;
        grid-template: auto auto auto / 58px minmax(0, 1fr) !important;
        gap: 6px 10px !important;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-thumbnail {
        grid-column: 1 !important;
        grid-row: 1 / span 3 !important;
    }

    .woocommerce-cart td.product-thumbnail img {
        width: 54px !important;
        height: 54px !important;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-name a {
        font-size: 13px !important;
        font-weight: 650 !important;
        line-height: 1.25 !important;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-quantity {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-quantity::before,
    .woocommerce-cart form.woocommerce-cart-form td.product-subtotal::before {
        margin: 0 !important;
        flex: 0 0 auto;
        font-size: 10px !important;
        line-height: 1.2 !important;
    }

    .woocommerce-cart form.woocommerce-cart-form .quantity {
        width: 108px !important;
        height: 34px !important;
        flex: 0 0 108px;
        grid-template-columns: 32px 44px 32px !important;
    }

    .woocommerce-cart form.woocommerce-cart-form .quantity .pesitro-qty-button {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        font-size: 18px !important;
    }

    .woocommerce-cart form.woocommerce-cart-form .quantity .qty {
        width: 44px !important;
        min-width: 44px !important;
        height: 32px !important;
        min-height: 32px !important;
        font-size: 13px !important;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-subtotal {
        min-height: 29px;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        white-space: nowrap;
    }

    .woocommerce-cart .cart-collaterals {
        padding: 12px !important;
    }

    .woocommerce-cart .cart-collaterals h2 {
        margin-bottom: 12px;
        font-size: 22px !important;
    }

    .woocommerce-cart .cart-collaterals table.shop_table,
    .woocommerce-cart .cart-collaterals table.shop_table tbody {
        width: 100% !important;
        display: grid !important;
    }

    .woocommerce-cart .cart-collaterals table.shop_table tr {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(82px, 0.7fr) minmax(0, 1.3fr) !important;
        align-items: center;
    }

    .woocommerce-cart .cart-collaterals table.shop_table th,
    .woocommerce-cart .cart-collaterals table.shop_table td {
        width: auto !important;
        min-width: 0 !important;
        padding: 11px 8px !important;
        display: block !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    .woocommerce-cart .cart-collaterals table.shop_table th {
        text-align: left !important;
    }

    .woocommerce-cart .cart-collaterals table.shop_table td {
        text-align: right !important;
        overflow-wrap: anywhere;
    }

    .woocommerce-cart .cart-collaterals tr.cart-subtotal td,
    .woocommerce-cart .cart-collaterals tr.order-total td {
        white-space: nowrap;
    }
}

@media (max-width: 760px) {
    .woocommerce-cart table.shop_table td.actions .coupon {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .woocommerce-cart table.shop_table td.actions .coupon .input-text,
    .woocommerce-cart table.shop_table td.actions .coupon button {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 760px) {
    .op2-info-nav a {
        padding: 10px 7px !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }
}

@media (max-width: 760px) {
    .site-header.op2-header,
    .op2-header-inner {
        min-height: 76px;
    }

    .site-header .op2-nav {
        top: 76px;
    }

    .op2-logo {
        gap: 2px;
    }

    .op2-logo img,
    .op2-logo .custom-logo {
        width: 132px;
        height: 38px;
    }

    .op2-logo-market {
        width: 132px;
        gap: 6px;
        padding-left: 0;
        justify-content: center;
        font-size: 9.5px;
        font-weight: 620;
        letter-spacing: 0.085em;
    }

    .op2-tajik-flag,
    .op2-logo img.op2-tajik-flag {
        width: 22px;
        height: 11px;
        flex-basis: 22px;
    }

    /* Compact three-column trust strip selected for mobile. */
    .op2-trust-inner {
        min-height: 0;
        width: 100%;
        padding: 11px 12px 12px;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: start;
        gap: 4px;
    }

    .op2-trust-inner > span,
    .op2-trust-inner > span:nth-child(2),
    .op2-trust-inner > span:nth-child(3) {
        min-width: 0;
        min-height: 52px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 6px;
        padding-inline: 2px;
        color: #fff;
        font-size: 10.5px;
        font-weight: 400;
        line-height: 1.22;
        text-align: center;
    }

    .op2-trust-inner .dashicons {
        width: 20px;
        height: 20px;
        flex: 0 0 20px;
        font-size: 20px;
        line-height: 1;
    }

    .op2-trust-copy--full {
        display: none;
    }

    .op2-trust-copy--mobile {
        display: block;
        max-width: 112px;
    }

    /* Preserve desktop reading order and hierarchy while fitting a phone. */
    .op2-hero-copy {
        padding: 42px 20px 46px;
    }

    .op2-hero-copy h1 {
        margin-bottom: 18px;
        font-size: clamp(36px, 10.8vw, 48px);
        line-height: 1.02;
    }

    .op2-hero-copy p {
        margin-bottom: 24px;
        font-size: 16px;
        line-height: 1.55;
    }

    .op2-hero-visual--video {
        min-height: 0;
        padding: 14px;
    }

    .op2-hero-video {
        width: 100%;
        height: auto;
        max-height: 500px;
        aspect-ratio: 4 / 5;
        border-radius: 14px;
        object-fit: contain;
    }

    .op2-needs {
        padding-block: 18px 38px;
    }

    .op2-need-card {
        min-height: 128px;
        padding: 15px 13px;
    }

    .op2-section {
        padding-block: 48px;
    }

    .op2-section-heading {
        margin-bottom: 24px;
        gap: 14px;
    }

    .op2-section-heading h2,
    .op2-business h2 {
        font-size: clamp(30px, 9vw, 40px);
    }

    /* Two compact cards retain the desktop product-row rhythm on phones. */
    .home .op2-featured .woocommerce ul.products,
    .home .op2-care-products .woocommerce ul.products,
    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    .single-product .related ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .home .op2-featured .woocommerce ul.products li.product,
    .home .op2-care-products .woocommerce ul.products li.product,
    body.post-type-archive-product ul.products li.product,
    body.tax-product_cat ul.products li.product,
    .single-product .related ul.products li.product {
        min-height: 306px;
        padding-bottom: 52px;
    }

    .home .op2-featured .woocommerce ul.products li.product a img,
    .home .op2-care-products .woocommerce ul.products li.product a img,
    body.post-type-archive-product ul.products li.product a img,
    body.tax-product_cat ul.products li.product a img,
    .single-product .related ul.products li.product a img {
        height: 172px;
        padding: 12px 10px 8px;
    }

    .home .op2-featured .woocommerce-loop-product__title,
    .home .op2-care-products .woocommerce-loop-product__title,
    body.post-type-archive-product .woocommerce-loop-product__title,
    body.tax-product_cat .woocommerce-loop-product__title,
    .single-product .related .woocommerce-loop-product__title {
        padding: 12px 12px 10px !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    .home .op2-featured .woocommerce ul.products li.product .price,
    .home .op2-care-products .woocommerce ul.products li.product .price,
    body.post-type-archive-product ul.products li.product .price,
    body.tax-product_cat ul.products li.product .price,
    .single-product .related ul.products li.product .price {
        height: 52px;
        padding: 0 56px 0 12px;
        font-size: 14px;
    }

    .home .op2-featured .woocommerce ul.products li.product .button,
    .home .op2-care-products .woocommerce ul.products li.product .button,
    body.post-type-archive-product ul.products li.product .button,
    body.tax-product_cat ul.products li.product .button,
    .single-product .related ul.products li.product .button {
        width: 52px;
        height: 52px;
        min-height: 52px;
    }

    .home .op2-featured .woocommerce ul.products li.product .button::before,
    .home .op2-care-products .woocommerce ul.products li.product .button::before,
    body.post-type-archive-product ul.products li.product .button::before,
    body.tax-product_cat ul.products li.product .button::before,
    .single-product .related ul.products li.product .button::before {
        width: 28px;
        height: 28px;
        font-size: 24px;
        line-height: 28px;
    }

    .op2-care-story {
        padding-bottom: 42px;
    }

    .op2-care-feature-copy {
        padding: 36px 20px 40px;
    }

    .op2-care-feature h2 {
        font-size: clamp(36px, 11vw, 48px);
    }

    .op2-care-product-visual,
    .op2-care-duo {
        min-height: 300px;
        padding: 22px 20px;
        order: initial;
    }

    .op2-care-product-visual img,
    .op2-care-duo img {
        height: 270px;
    }

    .op2-care-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .op2-care-facts li {
        min-height: 58px;
        padding: 10px;
        font-size: 12px;
    }

    .op2-implant-guide {
        padding: 28px 20px;
        gap: 22px;
    }

    .op2-implant-guide ol {
        gap: 14px;
    }

    .op2-implant-guide li {
        min-height: 0;
        padding: 0;
        border-left: 0;
    }

    .op2-business {
        padding-block: 48px;
    }

    .op2-business-inner {
        gap: 28px;
    }

    .op2-business-cards {
        gap: 10px;
    }

    .op2-business-cards > div {
        min-height: 112px;
        padding: 16px;
    }

    .woocommerce-cart .op2-woocommerce-page {
        padding-block: 28px 44px;
    }

    .woocommerce-cart .op2-woocommerce-page .entry-content > .woocommerce {
        gap: 18px;
    }

    .woocommerce-cart form.woocommerce-cart-form table.shop_table_responsive tbody {
        display: grid !important;
        gap: 10px;
    }

    .woocommerce-cart form.woocommerce-cart-form table.shop_table_responsive tr.cart_item {
        position: relative;
        padding: 14px 42px 14px 14px;
        grid-template: auto auto auto / 64px minmax(0, 1fr) !important;
        gap: 7px 12px;
        align-items: start;
        border: 1px solid var(--op2-line);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 6px 20px rgba(15, 17, 84, 0.035);
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-remove {
        position: absolute;
        top: 10px;
        right: 10px;
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-thumbnail {
        grid-column: 1 !important;
        grid-row: 1 / span 3 !important;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-name {
        grid-column: 2 !important;
        grid-row: 1 !important;
        padding-right: 2px;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-quantity {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-subtotal {
        grid-column: 2 !important;
        grid-row: 3 !important;
        justify-self: stretch;
        padding-top: 8px !important;
        border-top: 1px solid rgba(16, 6, 159, 0.10) !important;
        text-align: left !important;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-name a {
        font-size: 14px;
        font-weight: 680;
        line-height: 1.3;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-quantity::before,
    .woocommerce-cart form.woocommerce-cart-form td.product-subtotal::before {
        margin-bottom: 5px;
        font-size: 9px;
        font-weight: 650;
    }

    .woocommerce-cart td.product-thumbnail img {
        width: 60px;
        height: 60px;
        border-radius: 8px;
    }

    .woocommerce-cart td.product-remove a.remove {
        width: 28px;
        height: 28px;
        min-width: 28px;
        min-height: 28px;
        border-radius: 50%;
        font-size: 17px;
    }

    .woocommerce-cart form.woocommerce-cart-form .quantity {
        width: 126px;
        height: 38px;
        grid-template-columns: 36px 54px 36px;
        border-radius: 7px;
    }

    .woocommerce-cart form.woocommerce-cart-form .quantity .pesitro-qty-button {
        width: 36px;
        min-width: 36px;
        height: 36px;
        min-height: 36px;
        font-size: 19px;
    }

    .woocommerce-cart form.woocommerce-cart-form .quantity .qty {
        width: 54px;
        min-width: 54px;
        height: 36px;
        min-height: 36px;
        font-size: 14px;
    }

    .woocommerce-cart table.shop_table_responsive tr:last-child:not(.cart_item) {
        border-radius: 12px;
    }

    .woocommerce-cart table.shop_table td.actions,
    .woocommerce-cart .cart-collaterals {
        padding: 14px;
    }

    .woocommerce-cart .cart-collaterals h2 {
        font-size: 24px;
    }

    .woocommerce-cart .cart-collaterals table.shop_table {
        table-layout: fixed;
    }

    .woocommerce-cart .cart-collaterals table.shop_table th,
    .woocommerce-cart .cart-collaterals table.shop_table td {
        padding: 12px 9px;
        font-size: 13px;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .woocommerce-cart .cart-collaterals table.shop_table th {
        width: 43% !important;
    }

    .woocommerce-cart .cart-collaterals table.shop_table td {
        width: 57% !important;
    }

    .single-product .woocommerce div.product {
        gap: 20px;
    }

    .single-product .woocommerce div.product div.images {
        padding: 14px;
    }

    .single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
        min-height: 285px;
    }

    .single-product .woocommerce div.product div.images img {
        max-height: 315px;
    }

    .single-product .woocommerce div.product .product_title {
        font-size: 30px;
        line-height: 1.08;
    }

    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
        width: 100%;
        min-height: 52px;
        padding-inline: 12px;
        font-size: 15px;
    }

    .op2-woocommerce-page .woocommerce-info,
    .op2-woocommerce-page .woocommerce-message,
    .woocommerce-account .op2-account-benefit,
    .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
        margin-bottom: 12px;
        padding: 13px 15px;
        border: 1px solid var(--op2-line);
        border-left: 3px solid var(--op2-blue);
        border-radius: 11px;
        background: #fffcf7;
        box-shadow: none;
        color: #575260;
        font-size: 14px;
        font-weight: 450;
        line-height: 1.45;
    }

    .op2-woocommerce-page .woocommerce-info::before,
    .op2-woocommerce-page .woocommerce-message::before,
    .woocommerce-account .op2-account-benefit::before,
    .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
        display: none;
    }

    .woocommerce-account .op2-account-benefit strong {
        font-weight: 650;
    }

    .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
        font-weight: 650;
        text-underline-offset: 3px;
    }

    .woocommerce-account .op2-page-hero,
    .woocommerce-cart .op2-page-hero,
    .woocommerce-checkout .op2-page-hero,
    .woocommerce-order-received .op2-page-hero {
        padding-block: 30px 34px;
    }

    .woocommerce-account .op2-page-hero h1,
    .woocommerce-cart .op2-page-hero h1,
    .woocommerce-checkout .op2-page-hero h1,
    .woocommerce-order-received .op2-page-hero h1 {
        font-size: 34px;
    }
}

/* Final mobile regression guard — keep after every earlier responsive rule. */
@media (max-width: 760px) {
    .woocommerce ul.products li.product .added_to_cart.wc-forward {
        display: none !important;
    }

    .op2-featured .woocommerce ul.products li.product .button,
    .op2-care-products .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product .button {
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 52px !important;
        min-width: 52px !important;
        height: 52px !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
    }

    .woocommerce ul.products li.product .button::before {
        width: 28px !important;
        height: 28px !important;
        margin: 0 !important;
        display: grid !important;
        place-items: center !important;
        font-size: 24px !important;
        line-height: 1 !important;
        text-align: center !important;
        transform: none !important;
    }

    .op2-info-layout {
        width: calc(100% - 36px) !important;
        max-width: calc(100% - 36px) !important;
        min-width: 0 !important;
        margin-inline: auto !important;
    }

    .op2-info-layout > *,
    .op2-info-nav,
    .op2-policy-card,
    .op2-policy-card > * {
        min-width: 0 !important;
    }

    .op2-info-nav {
        width: 100% !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .op2-info-nav a {
        width: 100% !important;
        min-width: 0 !important;
        padding: 10px 7px !important;
        gap: 6px !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .op2-info-nav a .dashicons {
        flex: 0 0 17px;
        width: 17px;
        height: 17px;
        font-size: 17px;
        line-height: 17px;
    }

    .op2-policy-card {
        width: 100% !important;
        max-width: 100% !important;
        padding: 22px 20px !important;
        overflow: hidden;
    }

    .op2-policy-card h2 {
        font-size: clamp(23px, 6.8vw, 29px) !important;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
    }

    .op2-policy-card h3,
    .op2-policy-card p,
    .op2-policy-card li,
    .op2-policy-card a {
        overflow-wrap: anywhere;
    }

    .woocommerce-cart form.woocommerce-cart-form table.shop_table_responsive tr.cart_item {
        padding: 12px 38px 12px 12px !important;
        grid-template: auto auto auto / 58px minmax(0, 1fr) !important;
        gap: 6px 10px !important;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-thumbnail {
        grid-column: 1 !important;
        grid-row: 1 / span 3 !important;
    }

    .woocommerce-cart td.product-thumbnail img {
        width: 54px !important;
        height: 54px !important;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-name a {
        font-size: 13px !important;
        font-weight: 650 !important;
        line-height: 1.25 !important;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-quantity {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-quantity::before,
    .woocommerce-cart form.woocommerce-cart-form td.product-subtotal::before {
        margin: 0 !important;
        flex: 0 0 auto;
        font-size: 10px !important;
        line-height: 1.2 !important;
    }

    .woocommerce-cart form.woocommerce-cart-form .quantity {
        width: 108px !important;
        height: 34px !important;
        flex: 0 0 108px;
        grid-template-columns: 32px 44px 32px !important;
    }

    .woocommerce-cart form.woocommerce-cart-form .quantity .pesitro-qty-button {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        font-size: 18px !important;
    }

    .woocommerce-cart form.woocommerce-cart-form .quantity .qty {
        width: 44px !important;
        min-width: 44px !important;
        height: 32px !important;
        min-height: 32px !important;
        font-size: 13px !important;
    }

    .woocommerce-cart form.woocommerce-cart-form td.product-subtotal {
        min-height: 29px;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        white-space: nowrap;
    }

    .woocommerce-cart .cart-collaterals {
        padding: 12px !important;
    }

    .woocommerce-cart .cart-collaterals h2 {
        margin-bottom: 12px;
        font-size: 22px !important;
    }

    .woocommerce-cart .cart-collaterals table.shop_table,
    .woocommerce-cart .cart-collaterals table.shop_table tbody {
        width: 100% !important;
        display: grid !important;
    }

    .woocommerce-cart .cart-collaterals table.shop_table tr {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(82px, 0.7fr) minmax(0, 1.3fr) !important;
        align-items: center;
    }

    .woocommerce-cart .cart-collaterals table.shop_table th,
    .woocommerce-cart .cart-collaterals table.shop_table td {
        width: auto !important;
        min-width: 0 !important;
        padding: 11px 8px !important;
        display: block !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    .woocommerce-cart .cart-collaterals table.shop_table th {
        text-align: left !important;
    }

    .woocommerce-cart .cart-collaterals table.shop_table td {
        text-align: right !important;
        overflow-wrap: anywhere;
    }

    .woocommerce-cart .cart-collaterals tr.cart-subtotal td,
    .woocommerce-cart .cart-collaterals tr.order-total td {
        white-space: nowrap;
    }
}

@media (max-width: 760px) {
    .woocommerce-cart table.shop_table td.actions .coupon {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .woocommerce-cart table.shop_table td.actions .coupon .input-text,
    .woocommerce-cart table.shop_table td.actions .coupon button {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/*
 * Product-grid regression guard.
 * WooCommerce adds clearfix pseudo-elements to product lists; in a CSS Grid
 * they become real grid children and shift the first product one column right.
 */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    content: none !important;
    display: none !important;
}

.home .op2-featured .woocommerce ul.products li.product,
.home .op2-care-products .woocommerce ul.products li.product {
    margin: 0 !important;
}

@media (max-width: 760px) {
    .home .op2-featured .woocommerce ul.products,
    .home .op2-care-products .woocommerce ul.products {
        gap: 16px 12px !important;
    }

    .home .op2-featured .woocommerce ul.products li.product,
    .home .op2-care-products .woocommerce ul.products li.product {
        min-height: 324px !important;
        height: 100% !important;
    }

    .home .op2-featured .woocommerce-loop-product__title,
    .home .op2-care-products .woocommerce-loop-product__title {
        min-height: 75px;
    }
}

/* 320–360 px guard: keep the full bilingual header and footer inside the
   viewport without hiding any customer controls. */
@media (max-width: 760px) {
    .op2-header-inner {
        gap: 10px !important;
    }

    .op2-actions {
        gap: 4px !important;
    }

    .site-header .locale-switch a {
        width: 36px !important;
        height: 40px !important;
    }

    .op2-breadcrumbs a,
    .op2-footer-grid a {
        min-height: 36px;
        display: flex;
        align-items: center;
    }

    .woocommerce .woocommerce-ordering select {
        min-height: 44px;
    }

    .woocommerce-checkout form.checkout {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review,
    .woocommerce-checkout .col2-set,
    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout .col2-set .col-2 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .woocommerce-checkout .form-row label,
    .woocommerce-checkout .form-row label .optional {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }
}

/*
 * Product-card layout guard.
 *
 * This stylesheet loads after WooCommerce. Keep the image/name area and the
 * blue price/cart footer in separate grid rows so later WooCommerce image and
 * price margins cannot move the footer over the product name.
 */
.woocommerce ul.products li.product {
    grid-template-rows: minmax(0, 1fr) 58px;
    grid-template-columns: minmax(0, 1fr);
    padding: 0 !important;
    display: grid !important;
    overflow: hidden;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
    grid-row: 1;
    grid-column: 1;
    min-width: 0;
    min-height: 0;
    height: auto !important;
    display: grid;
    grid-template-rows: 286px 79px;
    align-content: start;
    overflow: hidden;
}

.woocommerce ul.products li.product a img {
    width: 100% !important;
    height: 286px !important;
    margin: 0 !important;
    padding: 22px 24px 18px;
    box-sizing: border-box;
    object-fit: contain;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    width: 100%;
    height: 66px;
    min-height: 66px !important;
    max-height: 66px;
    margin: 0 !important;
    padding: 16px 24px 0;
    box-sizing: border-box;
    display: -webkit-box !important;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.woocommerce ul.products li.product .price {
    position: static !important;
    inset: auto !important;
    grid-row: 2;
    grid-column: 1;
    width: 100% !important;
    height: 58px !important;
    margin: 0 !important;
    align-self: stretch;
}

.op2-featured .woocommerce ul.products li.product .button,
.op2-care-products .woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .button {
    position: relative !important;
    inset: auto !important;
    z-index: 2;
    grid-row: 2;
    grid-column: 1;
    width: 74px;
    height: 58px;
    min-height: 58px;
    margin: 0 !important;
    justify-self: end;
    align-self: stretch;
}

/* Draw the catalogue action independently of the Dashicons font so the cart
   remains visible when that optional font is delayed, dequeued or unavailable. */
.woocommerce ul.products li.product .button::before {
    content: "";
    width: 28px;
    height: 28px;
    border: 0;
    background-color: currentColor;
    display: block;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='19' cy='20' r='1'/%3E%3Cpath d='M3 4h2l2.4 11.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L21 8H7'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='19' cy='20' r='1'/%3E%3Cpath d='M3 4h2l2.4 11.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L21 8H7'/%3E%3C/svg%3E") center / contain no-repeat;
    transform: none;
}

.woocommerce ul.products li.product .button.loading::before {
    content: "";
    width: 24px;
    height: 24px;
    border: 2px solid rgba(255, 255, 255, 0.45);
    border-top-color: currentColor;
    border-radius: 50%;
    background: transparent;
    -webkit-mask: none;
    mask: none;
    animation: pesitro-spin 0.9s linear infinite;
}

.woocommerce ul.products li.product .button.added::before {
    content: "";
    border: 0;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E") center / contain no-repeat;
    animation: none;
}

@media (max-width: 760px) {
    .woocommerce ul.products {
        width: 100%;
        margin: 0 !important;
        padding: 0 !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        justify-content: center;
        gap: 16px 12px !important;
    }

    .home .op2-featured .woocommerce ul.products li.product,
    .home .op2-care-products .woocommerce ul.products li.product,
    body.post-type-archive-product ul.products li.product,
    body.tax-product_cat ul.products li.product,
    .single-product .related ul.products li.product,
    .woocommerce ul.products li.product {
        width: 100% !important;
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px;
        grid-template-rows: 248px 52px;
    }

    /* A one-, three- or five-item result keeps the last card the same width as
       its peers but centres it across the complete two-column grid. */
    body.home .op2-featured .woocommerce ul.products li.product:last-child:nth-child(odd),
    body.home .op2-care-products .woocommerce ul.products li.product:last-child:nth-child(odd),
    body.post-type-archive-product .woocommerce ul.products li.product:last-child:nth-child(odd),
    body.tax-product_cat .woocommerce ul.products li.product:last-child:nth-child(odd),
    body.single-product .related .woocommerce ul.products li.product:last-child:nth-child(odd),
    body .woocommerce ul.products li.product.product:last-child:nth-child(odd) {
        width: calc((100% - 12px) / 2) !important;
        grid-column: 1 / -1;
        justify-self: center;
    }

    .woocommerce ul.products li.product .woocommerce-LoopProduct-link {
        grid-template-rows: 180px 68px;
    }

    .woocommerce ul.products li.product a img {
        height: 180px !important;
        margin: 0 !important;
        padding: 8px 6px;
        object-fit: contain;
        object-position: center;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        height: 48px;
        min-height: 48px !important;
        max-height: 48px;
        /* Top padding plus exactly two 1.35-line-height rows; the grid row
           keeps the established card rhythm and spare space stays below. */
        padding: 12px 12px 0 !important;
    }

    .woocommerce ul.products li.product .price {
        height: 52px !important;
        margin: 0 !important;
    }

    .woocommerce ul.products li.product .button {
        width: 52px;
        height: 52px;
        min-height: 52px;
        margin: 0 !important;
    }

    .woocommerce ul.products li.product .button::before {
        width: 24px !important;
        height: 24px !important;
    }
}

@media (max-width: 360px) {
    .op2-header-inner {
        gap: 8px !important;
        grid-template-columns: 108px minmax(0, 1fr) !important;
    }

    .op2-logo,
    .op2-logo img,
    .op2-logo .custom-logo,
    .op2-logo-market {
        width: 108px !important;
    }

    .op2-logo img,
    .op2-logo .custom-logo {
        height: 33px !important;
    }

    .op2-logo-market {
        font-size: 8px !important;
        letter-spacing: 0.06em !important;
    }

    .op2-tajik-flag,
    .op2-logo img.op2-tajik-flag {
        width: 19px !important;
        height: 10px !important;
        flex-basis: 19px !important;
    }

    .op2-actions {
        min-width: 0;
        gap: 4px !important;
    }

    .site-header .locale-switch {
        gap: 0 !important;
        padding: 2px !important;
        font-size: 11px !important;
    }

    .site-header .locale-switch a {
        width: 28px !important;
        height: 36px !important;
        padding: 0 !important;
    }

    .op2-cart {
        min-width: 54px !important;
        min-height: 40px !important;
        padding-inline: 6px !important;
        gap: 4px !important;
    }

    .op2-cart-count {
        min-width: 19px !important;
        width: 19px !important;
        height: 19px !important;
        padding: 0 !important;
        font-size: 10px !important;
    }

    .menu-toggle {
        width: 38px;
        padding-inline: 7px !important;
    }

    .op2-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 16px !important;
    }

    .op2-footer-brand,
    .op2-footer-brand p {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
}

/*
 * V2 live-verification correction.
 *
 * WooCommerce keeps the price inside the product link while the cart action
 * is its sibling.  Keep both controls anchored to the same final card row;
 * the product link may expose the price to the card's clipping boundary, and
 * the card itself remains the single overflow boundary.
 */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
    overflow: visible;
}

.woocommerce ul.products li.product .price {
    position: absolute !important;
    inset: auto 0 0 0 !important;
    grid-row: auto;
    grid-column: auto;
    width: 100% !important;
    height: 58px !important;
    margin: 0 !important;
}

.op2-featured .woocommerce ul.products li.product .button,
.op2-care-products .woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .button {
    position: absolute !important;
    inset: auto 0 0 auto !important;
    grid-row: auto;
    grid-column: auto;
    width: 74px;
    height: 58px;
    min-height: 58px;
    margin: 0 !important;
}

@media (max-width: 760px) {
    .woocommerce ul.products li.product .price {
        height: 52px !important;
    }

    .op2-featured .woocommerce ul.products li.product .button,
    .op2-care-products .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product .button {
        width: 52px;
        height: 52px;
        min-height: 52px;
    }
}

/* WooCommerce archive pages put the `woocommerce` class on body rather than
   on an inner wrapper and restore a legacy bottom margin below 769px.  Match
   that real markup directly so shop/category grids retain the same deliberate
   spacing and odd-result centring as the homepage. */
@media (max-width: 1023px) {
    body.woocommerce ul.products li.product {
        margin: 0 !important;
    }
}

@media (min-width: 761px) and (max-width: 1023px) {
    body.home .op2-featured .woocommerce ul.products li.product:last-child:nth-child(odd),
    body.home .op2-care-products .woocommerce ul.products li.product:last-child:nth-child(odd),
    body.post-type-archive-product ul.products li.product:last-child:nth-child(odd),
    body.tax-product_cat ul.products li.product:last-child:nth-child(odd),
    body.single-product .related ul.products li.product:last-child:nth-child(odd),
    body .woocommerce ul.products li.product.product:last-child:nth-child(odd) {
        width: calc((100% - 30px) / 2) !important;
        grid-column: 1 / -1;
        justify-self: center;
    }
}

@media (max-width: 760px) {
    body.post-type-archive-product ul.products li.product:last-child:nth-child(odd),
    body.tax-product_cat ul.products li.product:last-child:nth-child(odd) {
        width: calc((100% - 12px) / 2) !important;
        grid-column: 1 / -1;
        justify-self: center;
    }
}

/* Narrow-phone regression guard: Russian category names must not establish
   intrinsic grid widths wider than the viewport. */
@media (max-width: 760px) {
    .op2-needs-grid {
        width: 100%;
        max-width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .op2-need-card,
    .op2-need-card strong,
    .op2-need-card small {
        min-width: 0;
        max-width: 100%;
    }

    .op2-need-card strong,
    .op2-need-card small {
        overflow-wrap: anywhere;
    }
}

/* Keep long Russian information-page labels inside 320px screens without
   clipping the page or forcing horizontal scrolling. */
@media (max-width: 360px) {
    body .op2-page-hero h1 {
        max-width: 100%;
        font-size: 25px !important;
        letter-spacing: -0.04em;
    }

    .op2-info-nav a {
        min-height: 58px;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        text-align: left;
    }

    .op2-policy-card h2 {
        max-width: 100%;
        font-size: 21px !important;
        letter-spacing: -0.025em;
    }
}

/* Product-card price readability.
 * Reserve the cart action as a separate area, then centre the complete price
 * inside the remaining blue footer area on every catalogue surface. */
.woocommerce ul.products li.product .price {
    box-sizing: border-box;
    padding: 0 74px 0 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 6px;
    row-gap: 1px;
    overflow: hidden;
    color: #fff;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: 0.01em;
    text-align: center;
    text-wrap: balance;
}

.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
    color: inherit;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    white-space: nowrap;
}

.woocommerce ul.products li.product .price .amount {
    max-width: 100%;
    white-space: normal;
}

.woocommerce ul.products li.product .price .amount bdi {
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 0;
    line-height: inherit;
    text-align: center;
}

.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
    display: inline-block;
}

@media (max-width: 760px) {
    .woocommerce ul.products li.product .price {
        padding: 0 52px 0 0 !important;
        column-gap: 4px;
        font-size: clamp(15px, 4.25vw, 17px) !important;
        line-height: 1.05 !important;
        letter-spacing: 0;
    }
}


/* PESITRO cart totals layout repair 2026-09-22 */
/* Cart totals only: preserve one real row heading at every breakpoint.
 * WooCommerce's mobile data-title pseudo-label otherwise duplicates <th>.
 * This changes presentation only, never cart calculations or shipping rules.
 */
.woocommerce-cart .cart_totals table.shop_table_responsive td::before {
    content: none !important;
    display: none !important;
}

@media (max-width: 768px) {
    .woocommerce-cart .cart_totals table.shop_table_responsive {
        display: table !important;
        table-layout: fixed;
        width: 100% !important;
        border-collapse: separate;
        border-spacing: 0;
    }

    .woocommerce-cart .cart_totals table.shop_table_responsive tbody {
        display: table-row-group !important;
    }

    .woocommerce-cart .cart_totals table.shop_table_responsive tr {
        display: table-row !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
    }

    .woocommerce-cart .cart_totals table.shop_table_responsive th,
    .woocommerce-cart .cart_totals table.shop_table_responsive td {
        display: table-cell !important;
        box-sizing: border-box;
        padding: 12px 10px !important;
        vertical-align: top;
        background: #fff !important;
        line-height: 1.45 !important;
    }

    .woocommerce-cart .cart_totals table.shop_table_responsive th {
        width: 36% !important;
        text-align: left !important;
        overflow-wrap: break-word;
    }

    .woocommerce-cart .cart_totals table.shop_table_responsive td {
        width: 64% !important;
        text-align: right !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }
}


/* PESITRO mobile footer wrapping repair 2026-09-24 */
/* Footer text wrapping only; keep the existing columns, type and link labels. */
@media (max-width: 760px) {
    .site-footer .op2-footer-grid a,
    .site-footer .op2-footer-grid .op2-footer-group-title {
        overflow-wrap: anywhere;
    }
}
