/* WooCommerce integration — native functionality, NakryjTo presentation. */
.woocommerce .woocommerce-breadcrumb { margin: 0; color: inherit; font-size: inherit; }
.woocommerce .woocommerce-breadcrumb a { color: inherit; }
.woocommerce-notices-wrapper { width: var(--shell); margin: 22px auto 0; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    margin: 0 0 18px !important;
    padding: 18px 56px 18px 22px !important;
    color: var(--ink) !important;
    background: #e9e2d8 !important;
    border: 0 !important;
    border-left: 4px solid var(--accent) !important;
    font-size: 14px;
    line-height: 1.55;
}
.woocommerce-error { list-style: none; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }
.woocommerce-message .button,
.woocommerce-info .button { color: var(--ink); background: transparent; text-decoration: underline; text-underline-offset: 4px; }

/* Catalog. */
.category-sidebar__all a,
.category-sidebar__group a {
    width: 100%;
    min-height: 36px;
    padding: 8px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: rgba(16, 16, 15, .72);
    font-size: 12px;
    line-height: 1.3;
    transition: color .2s, background-color .2s, padding-left .25s var(--ease);
}
.category-sidebar__all a { padding: 13px 18px; min-height: 48px; font-weight: 700; }
.category-sidebar__all a:hover,
.category-sidebar__group a:hover {
    padding-left: 24px;
    color: var(--ink);
    background: rgba(255, 255, 255, .72);
}
.category-sidebar__all a.is-active,
.category-sidebar__group a.is-active {
    color: var(--ink);
    background: rgba(255, 255, 255, .82);
}
.category-sidebar__group a svg { width: 13px; opacity: 0; transition: opacity .2s, transform .2s; }
.category-sidebar__group a:hover svg,
.category-sidebar__group a.is-active svg { opacity: 1; transform: translateX(3px); }
.category-sidebar__widgets { padding: 20px; border-top: 1px solid var(--line); }
.shop-widget + .shop-widget { margin-top: 24px; }
.shop-widget h3 { margin: 0 0 12px; font: 800 11px/1.2 "Manrope", sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.shop-widget ul { margin: 0; padding: 0; list-style: none; }
.shop-widget li { margin-top: 8px; font-size: 12px; }
.catalog-toolbar {
    grid-template-columns: minmax(210px, 1.5fr) repeat(3, minmax(130px, .7fr)) auto;
    background: #e9e1d6;
    border-top: 3px solid var(--ink);
}
.catalog-search,
.catalog-select {
    color: var(--ink);
    background: rgba(255, 255, 255, .62);
    border-color: rgba(16, 16, 15, .13);
}
.catalog-search svg { color: var(--accent-dark); }
.catalog-search input { color: var(--ink); }
.catalog-search input::placeholder { color: rgba(16, 16, 15, .5); }
.catalog-select span { color: rgba(16, 16, 15, .46); }
.catalog-select select { color: var(--ink); }
.catalog-submit {
    min-height: 54px;
    padding: 0 22px;
    border: 0;
    color: var(--ink);
    background: var(--accent);
    cursor: pointer;
    font: 800 10px/1 "Manrope", sans-serif;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.catalog-results__meta > a { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; font-size: 11px; text-transform: uppercase; }
.catalog-results__meta > a svg { width: 13px; }
.woocommerce ul.products {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 52px 20px;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: auto;
    margin: 0;
    float: none;
}
.woocommerce ul.products li.product .product-card__media img { width: 100%; margin: 0; }
.woocommerce ul.products li.product .price { margin: 0; color: var(--ink); font-size: inherit; }
.woocommerce ul.products li.product .button { margin: 0; padding: 0; }
.woocommerce ul.products li.product .added_to_cart { position: absolute; inset: auto 56px 9px auto; font-size: 10px; text-decoration: underline; }
.woocommerce nav.woocommerce-pagination { margin-top: 70px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0; color: var(--ink); background: #e9e2d8; }
.woocommerce nav.woocommerce-pagination ul li span.current { color: var(--white); background: var(--ink); }

/* Single product. */
.product-gallery .woocommerce-product-gallery { width: 100% !important; margin: 0 !important; }
.product-gallery .woocommerce-product-gallery__wrapper { margin: 0; }
.product-gallery .woocommerce-product-gallery__image { background: #eee8df; }
.product-gallery .woocommerce-product-gallery__image a { display: block; }
.product-gallery .woocommerce-product-gallery__image img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.product-gallery .flex-control-thumbs { margin: 12px 0 0 !important; padding: 0; display: grid; grid-template-columns: repeat(4, 76px); gap: 8px; list-style: none; }
.product-gallery .flex-control-thumbs li { width: auto !important; float: none !important; background: #e9e2d8; }
.product-gallery .flex-control-thumbs img { aspect-ratio: 1; object-fit: contain; opacity: .6; }
.product-gallery .flex-control-thumbs img.flex-active { opacity: 1; outline: 2px solid var(--accent); outline-offset: -2px; }
.product-gallery .woocommerce-product-gallery__trigger { z-index: 4 !important; top: 18px !important; right: 18px !important; }
.product-summary__rating .woocommerce-product-rating { margin: 0; display: flex; align-items: center; gap: 10px; }
.product-summary__rating .star-rating { color: var(--accent); }
.product-summary__lead .woocommerce-product-details__short-description p { margin: 0; }
.product-summary__price .price { margin: 0; color: var(--ink); }
.product-summary__price del { opacity: .4; font-size: .6em; }
.product-summary__price ins { text-decoration: none; }
.product-buy .cart { grid-column: 1 / -1; margin: 0 !important; display: grid; grid-template-columns: 132px minmax(220px, 1fr); gap: 10px; }
.product-buy .quantity { height: 58px; margin: 0 !important; display: block; border: 1px solid var(--line); background: var(--white); }
.product-buy .quantity input.qty { width: 100%; height: 56px; padding: 0; border: 0; background: transparent; text-align: center; }
.product-buy .single_add_to_cart_button {
    min-height: 58px;
    padding: 0 26px !important;
    border-radius: 0 !important;
    color: var(--white) !important;
    background: var(--ink) !important;
    font: 800 11px/1 "Manrope", sans-serif !important;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.product-buy .variations { grid-column: 1 / -1; margin: 0 0 12px !important; }
.product-buy .variations th,
.product-buy .variations td { padding: 8px 0; text-align: left; }
.product-buy .variations select { min-height: 48px; padding: 0 38px 0 14px; border: 1px solid var(--line); background: var(--paper); }
.product-buy .woocommerce-variation { grid-column: 1 / -1; }
.product-meta-native { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); color: rgba(16,16,15,.55); font-size: 11px; line-height: 1.8; }
.product-meta-native > span { display: block; }
.product-description { color: rgba(16,16,15,.68); font-size: 16px; line-height: 1.75; }
.product-native-tabs { padding: 92px 0; background: #e9e2d8; }
.product-native-tabs .woocommerce-tabs ul.tabs { margin: 0 0 34px !important; padding: 0 !important; display: flex; gap: 28px; border-bottom: 1px solid var(--line); }
.product-native-tabs .woocommerce-tabs ul.tabs::before,
.product-native-tabs .woocommerce-tabs ul.tabs li::before,
.product-native-tabs .woocommerce-tabs ul.tabs li::after { display: none !important; }
.product-native-tabs .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
.product-native-tabs .woocommerce-tabs ul.tabs li a { padding: 0 0 14px !important; font: 800 11px/1 "Manrope", sans-serif; text-transform: uppercase; }
.product-native-tabs .woocommerce-tabs ul.tabs li.active a { color: var(--accent-dark); }
.product-native-tabs .woocommerce-Tabs-panel { max-width: 860px; color: rgba(16,16,15,.68); line-height: 1.75; }
.product-native-tabs .woocommerce-Tabs-panel h2 { font: 800 clamp(28px,3vw,42px)/1 "Manrope", sans-serif; letter-spacing: -.04em; }
.related-products .related > h2,
.related-products .upsells > h2 { margin: 0 0 42px; font: 800 clamp(34px,4vw,58px)/1 "Manrope", sans-serif; letter-spacing: -.05em; }
.related-products .upsells + .related { margin-top: 90px; }

/* Shared commerce pages: cart, checkout and account. */
.commerce-page { padding: 72px 0 130px; }
.commerce-heading { margin-bottom: 56px; }
.commerce-heading .page-breadcrumbs { margin-bottom: 34px; }
.commerce-heading h1 { margin: 0; font: 800 clamp(48px,7vw,94px)/.94 "Manrope", sans-serif; letter-spacing: -.065em; }
.commerce-content .woocommerce { width: 100%; }
.woocommerce table.shop_table { border: 0; border-radius: 0; border-collapse: collapse; }
.woocommerce table.shop_table th { padding: 13px 12px; border-bottom: 1px solid var(--ink); font: 800 10px/1 "Manrope", sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.woocommerce table.shop_table td { padding: 18px 12px; border-bottom: 1px solid var(--line); }
.woocommerce-cart-form .product-thumbnail img { width: 100px; background: #e9e2d8; }
.woocommerce-cart-form .product-name a { font-weight: 700; }
.woocommerce a.remove { color: var(--ink) !important; font-size: 22px; }
.woocommerce a.remove:hover { color: var(--white) !important; background: var(--accent) !important; }
.woocommerce .quantity .qty { min-height: 44px; border: 1px solid var(--line); background: transparent; }
.woocommerce-cart-form .actions { padding: 24px 0 !important; }
.woocommerce-cart-form .coupon { display: flex; }
.woocommerce-cart-form .coupon input { min-width: 240px; min-height: 50px; padding: 0 14px; border: 1px solid var(--line); background: transparent; }
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button {
    min-height: 50px;
    padding: 0 22px !important;
    border-radius: 0 !important;
    color: var(--white) !important;
    background: var(--ink) !important;
    font: 800 10px/1 "Manrope", sans-serif !important;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.woocommerce .button.alt,
.woocommerce button.button.alt { background: var(--accent) !important; color: var(--ink) !important; }
.cart-collaterals { margin-top: 52px; }
.cart-collaterals .cart_totals { padding: 30px; background: #e9e2d8; }
.cart-collaterals .cart_totals h2 { margin: 0 0 22px; font: 800 28px/1 "Manrope", sans-serif; }
.cart-collaterals .cart_totals table th,
.cart-collaterals .cart_totals table td { padding: 14px 0; }
.wc-proceed-to-checkout { padding-bottom: 0 !important; }
.wc-proceed-to-checkout .checkout-button { display: flex !important; align-items: center; justify-content: center; font-size: 11px !important; }
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: auto; float: none; }
.woocommerce-checkout h3 { margin: 0 0 24px; font: 800 27px/1.1 "Manrope", sans-serif; }
.woocommerce form .form-row { margin: 0 0 16px; padding: 0; }
.woocommerce form .form-row label { margin-bottom: 7px; font: 700 10px/1 "Manrope", sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.woocommerce form .input-text,
.woocommerce form select,
.select2-container .select2-selection--single { min-height: 52px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 0; background: rgba(255,255,255,.32); }
.select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 26px; }
.select2-container .select2-selection--single .select2-selection__arrow { height: 50px; }
#order_review_heading { margin-top: 54px; }
#order_review { padding: 30px; background: #e9e2d8; }
#payment { background: transparent !important; }
#payment ul.payment_methods { padding: 20px 0 !important; border-bottom-color: var(--line) !important; }
#payment div.payment_box { background: var(--paper) !important; }
#payment div.payment_box::before { border-bottom-color: var(--paper) !important; }
#place_order { width: 100%; min-height: 58px; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 25%; }
.woocommerce-account .woocommerce-MyAccount-content { width: 70%; }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; background: #e9e2d8; }
.woocommerce-MyAccount-navigation li a { padding: 15px 18px; display: block; border-bottom: 1px solid var(--line); font-size: 13px; }
.woocommerce-MyAccount-navigation li.is-active a { color: var(--white); background: var(--ink); }
.woocommerce-form-login,
.woocommerce-form-register { padding: 28px !important; border: 0 !important; border-radius: 0 !important; background: #e9e2d8; }

@media (max-width: 1100px) {
    .catalog-toolbar { grid-template-columns: minmax(220px,1fr) repeat(2,minmax(140px,.7fr)); }
    .catalog-submit { display: none; }
    .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .woocommerce ul.products { grid-template-columns: 1fr; gap: 38px; }
    .product-buy .cart { grid-template-columns: 1fr; }
    .product-buy .quantity input.qty { width: 100%; }
    .product-gallery .flex-control-thumbs { grid-template-columns: repeat(4,1fr); }
    .woocommerce-cart-form { overflow-x: auto; }
    .woocommerce-cart-form table { min-width: 680px; }
    .woocommerce-checkout .col2-set { grid-template-columns: 1fr; }
    #order_review { padding: 20px; }
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
    .woocommerce-account .woocommerce-MyAccount-content { margin-top: 34px; }
}
