/**
 * WooCommerce compatibility layer.
 * Structural styling belongs to the theme; WooCommerce keeps functional styles.
 */

.woocommerce,
.woocommerce-page {
    font-family: var(--cf-font);
}

.woocommerce::before,
.woocommerce::after,
.woocommerce-page::before,
.woocommerce-page::after,
.woocommerce div.product::before,
.woocommerce div.product::after {
    display: table;
    clear: both;
    content: '';
}

.woocommerce .site-main,
.woocommerce-page .site-main,
.woocommerce div.product,
.woocommerce-page div.product {
    width: 100%;
    max-width: 100%;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary,
.woocommerce-page div.product div.images,
.woocommerce-page div.product div.summary {
    float: none;
    width: 100%;
    min-width: 0;
}

.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    float: none;
    clear: none;
}

.woocommerce a,
.woocommerce button,
.woocommerce input,
.woocommerce select,
.woocommerce textarea {
    font-family: inherit;
}

.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
    max-width: 100%;
    border: 1px solid #ddd;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    box-shadow: none;
    text-shadow: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    position: relative;
    width: 100%;
    padding: 18px 22px 18px 52px;
    margin: 0 0 25px;
    border: 0;
    border-top: 3px solid #f1c7ce;
    border-radius: 0;
    background: #fafafa;
    color: #444;
    list-style: none;
}

.woocommerce-error {
    border-top-color: #cf4e5e;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    top: 17px;
    left: 20px;
    color: #777;
}

.woocommerce nav.woocommerce-pagination {
    width: 100%;
    text-align: center;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
    border-color: #e5e5e5;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    min-width: 38px;
    min-height: 38px;
    padding: 9px 12px;
    color: #555;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: #f6d7dc;
    color: #222;
}

.woocommerce table.shop_table {
    max-width: 100%;
    border-spacing: 0;
}

.woocommerce .woocommerce-breadcrumb {
    margin: 0;
    color: #777;
    font-size: 13px;
}

body.logged-in.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 40px;
}

body.logged-in.woocommerce-account .woocommerce::before,
body.logged-in.woocommerce-account .woocommerce::after {
    display: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    padding: 0;
    margin: 0;
    list-style: none;
    border: 1px solid #e6e6e6;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block;
    padding: 12px 16px;
    border-bottom: 1px solid #e6e6e6;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a {
    border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    background: #f9e2e6;
    color: #222;
}

.woocommerce .blockUI.blockOverlay {
    background: rgba(255, 255, 255, .72) !important;
}

@media (max-width: 767px) {
    body.logged-in.woocommerce-account .woocommerce {
        grid-template-columns: 1fr;
    }
}
