.shop-main { min-height: 62vh; padding-block: clamp(44px, 6vw, 92px); }
.shop-layout { display: grid; grid-template-columns: minmax(240px, 280px) minmax(0, 1fr); gap: clamp(34px, 5vw, 76px); align-items: start; }
.shop-content, .product-content { min-width: 0; }
.shop-content .woocommerce-products-header { margin-bottom: 38px; }
.shop-content .woocommerce-products-header__title.page-title { margin: 0; }
.shop-content .woocommerce::before, .shop-content .woocommerce::after { display: none; }
.shop-content .woocommerce-result-count { float: left; margin-top: 15px; }
.shop-content .woocommerce-ordering { float: right; }
.shop-content .woocommerce-ordering select { min-width: 230px; }
.shop-content ul.products { clear: both; grid-template-columns: repeat(3, minmax(0,1fr)); padding-top: 8px; }
.shop-filter-toggle { display: none; width: 100%; min-height: 52px; margin-bottom: 24px; padding: 12px 16px; border: 1px solid var(--da-ink); background: transparent; text-align: left; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.shop-filter-toggle span { float: right; font-size: 18px; font-weight: 400; }
.shop-sidebar { position: sticky; top: 24px; }
.shop-sidebar__header { display: none; }
.shop-filter-widget { margin: 0; padding: 25px 0; border-bottom: 1px solid var(--da-line); }
.shop-filter-widget:first-of-type { padding-top: 0; }
.shop-filter-title { margin: 0 0 17px; font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.shop-filter-widget ul { margin: 0; padding: 0; list-style: none; }
.shop-filter-widget li { margin: 0; padding: 0; list-style: none; }
.shop-filter-widget li + li { margin-top: 10px; }
.shop-filter-widget a { color: var(--da-muted); text-decoration: none; font-size: 13px; }
.shop-filter-widget a:hover, .shop-filter-widget .current-cat > a, .shop-filter-widget .chosen > a { color: var(--da-ink); }
.product-category-tree ul.children { margin: 9px 0 2px 15px; padding-left: 13px; border-left: 1px solid var(--da-line); }
.product-category-tree .count, .woocommerce-widget-layered-nav-list .count { float: right; color: #999; font-size: 11px; }
.shop-filter-search .woocommerce-product-search { display: flex; border-bottom: 1px solid var(--da-ink); }
.shop-filter-search .search-field { min-width: 0; padding: 10px 0; font-size: 14px; }
.shop-filter-search button { padding: 0 4px; border: 0; background: transparent; font-size: 0; cursor: pointer; }
.shop-filter-search button::after { content: "→"; font-size: 18px; }
.price_slider_wrapper .ui-widget-content { background: #c8c4bc !important; }
.price_slider_wrapper .ui-slider-range, .price_slider_wrapper .ui-slider-handle { background: var(--da-ink) !important; }
.price_slider_wrapper .ui-slider-handle { width: 14px !important; height: 14px !important; top: -5px !important; border-radius: 50%; }
.price_slider_amount { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.price_slider_amount .button { order: 2; padding: 10px 13px !important; background: var(--da-ink) !important; color: var(--da-white) !important; }
.price_slider_amount .price_label { flex: 1 0 100%; color: var(--da-muted); font-size: 12px; }
.woocommerce-no-products-found { clear: both; padding-top: 12px; }
.woocommerce-no-products-found .woocommerce-info { margin: 0; padding: 24px 28px 24px 58px; border: 1px solid var(--da-line); background: var(--da-white); }
.woocommerce .woocommerce-breadcrumb { margin: 0 0 38px; color: var(--da-muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce .woocommerce-products-header__title.page-title { margin-bottom: clamp(32px, 5vw, 62px); }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 34px; color: var(--da-muted); font-size: 12px; }
.woocommerce .woocommerce-ordering select { padding: 12px 38px 12px 14px; border: 1px solid var(--da-line); background: transparent; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: clamp(26px, 4vw, 58px) clamp(12px, 2.4vw, 34px); margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; }
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 5; margin: 0 0 20px; object-fit: cover; background: var(--da-soft); filter: saturate(.82); transition: transform .45s ease, filter .3s; }
.woocommerce ul.products li.product:hover a img { transform: translateY(-4px); filter: saturate(1); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; font-family: var(--da-serif); font-size: clamp(19px, 2vw, 25px); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; }
.woocommerce ul.products li.product .price { margin-top: 10px; color: var(--da-ink); font-size: 13px; font-weight: 700; }
.woocommerce ul.products li.product .price del { color: var(--da-muted); opacity: 1; }
.woocommerce span.onsale { z-index: 3; top: 12px; left: 12px; min-width: 0; min-height: 0; margin: 0; padding: 7px 10px; border-radius: 0; background: var(--da-ink); font-size: 9px; line-height: 1; letter-spacing: .12em; text-transform: uppercase; }
.woocommerce ul.products li.product .button { width: 100%; margin-top: 16px; padding: 13px; border: 1px solid var(--da-ink); border-radius: 0; background: transparent; color: var(--da-ink); text-align: center; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; transition: .2s; }
.woocommerce ul.products li.product .button:hover { background: var(--da-ink); color: var(--da-white); }

.single-product div.product { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); gap: clamp(44px, 6vw, 96px); }
.single-product div.product .woocommerce-product-gallery { width: 100% !important; }
.single-product div.product .summary { width: 100% !important; margin: 0 !important; padding-top: 28px; }
.single-product div.product .product_title { font-family: var(--da-serif); font-size: clamp(42px, 5vw, 72px); font-weight: 400; letter-spacing: -.045em; line-height: .96; }
.single-product div.product p.price { color: var(--da-ink); font-size: 20px; font-weight: 700; }
.single-product .woocommerce-product-details__short-description { color: var(--da-muted); }
.single-product .product_meta { margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--da-line); color: var(--da-muted); font-size: 12px; }
.single-product .product_meta > span { display: block; margin-top: 6px; }
.woocommerce div.product form.cart { display: flex; gap: 10px; margin-top: 34px; }
.woocommerce .quantity .qty { min-height: 54px; border: 1px solid var(--da-line); background: transparent; }
.woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce #respond input#submit.alt { min-height: 54px; padding: 14px 28px; border-radius: 0; background: var(--da-ink); color: var(--da-white); font-size: 11px; letter-spacing: .11em; text-transform: uppercase; }
.woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover { background: #333; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; padding-top: 50px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; border-bottom: 1px solid var(--da-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 28px 0 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 14px 0; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce div.product .related.products { grid-column: 1 / -1; padding-top: 50px; }
.woocommerce div.product .related.products > h2 { font-family: var(--da-serif); font-size: clamp(38px, 5vw, 60px); font-weight: 400; }

.woocommerce table.shop_table { border: 1px solid var(--da-line); border-radius: 0; background: var(--da-white); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 17px; border-color: var(--da-line); }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { float: none; width: min(100%, 560px); margin-left: auto; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single { min-height: 50px; padding: 12px; border: 1px solid var(--da-line); border-radius: 0; background: var(--da-white); }
.woocommerce-checkout #customer_details { margin-bottom: 45px; }
.woocommerce-checkout-review-order { padding: clamp(20px, 4vw, 42px); background: var(--da-white); }
.woocommerce-error, .woocommerce-info, .woocommerce-message { border-top-color: var(--da-ink); background: var(--da-white); }
.woocommerce-info::before, .woocommerce-message::before { color: var(--da-ink); }

/* My account */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: minmax(220px,.32fr) minmax(0,1fr); gap: clamp(34px, 6vw, 90px); align-items: start; }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: 100%; padding: 14px; background: var(--da-white); border: 1px solid var(--da-line); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--da-line); list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; align-items: center; justify-content: space-between; padding: 16px 14px; text-decoration: none; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce-account .woocommerce-MyAccount-navigation a::after { content: "→"; opacity: .38; transition: transform .2s, opacity .2s; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover::after, .woocommerce-account .woocommerce-MyAccount-navigation .is-active a::after { opacity: 1; transform: translateX(3px); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--da-ink); color: var(--da-white); }
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; min-height: 340px; padding: clamp(28px, 4vw, 54px); background: var(--da-white); border: 1px solid var(--da-line); }
.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content p { font-size: 16px; }
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register, .woocommerce-lost-password .woocommerce-ResetPassword { max-width: 620px; margin: 0; padding: clamp(24px, 4vw, 46px); border: 1px solid var(--da-line); border-radius: 0; background: var(--da-white); }
.woocommerce-account .woocommerce-form-login .button, .woocommerce-account .woocommerce-form-register .button { min-height: 50px; padding-inline: 26px; background: var(--da-ink); color: var(--da-white); }
.woocommerce-account .woocommerce-form-login__rememberme { display: block; margin-bottom: 18px; }
.woocommerce-account .woocommerce-orders-table a.button { margin: 2px; padding: 10px 12px; }
.woocommerce-account mark { padding: 2px 6px; background: var(--da-soft); color: var(--da-ink); }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.woocommerce-account .woocommerce-Address { float: none !important; width: 100% !important; padding: 24px; border: 1px solid var(--da-line); }
.woocommerce-account .woocommerce-Address-title h2 { font-family: var(--da-serif); font-size: 27px; font-weight: 500; }
.woocommerce-account .woocommerce-Address-title .edit { font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

/* Classic cart and checkout */
.woocommerce-cart .woocommerce-cart-form { margin-bottom: 52px; }
.woocommerce-cart table.cart img { width: 96px; }
.woocommerce-cart table.cart .product-name a { font-family: var(--da-serif); font-size: 21px; text-decoration: none; }
.woocommerce-cart table.cart td.actions { padding: 24px; }
.woocommerce-cart .coupon { display: flex; gap: 8px; }
.woocommerce-cart .coupon .input-text { min-width: 190px; min-height: 48px; padding: 10px !important; border: 1px solid var(--da-line) !important; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3 { font-family: var(--da-serif); font-size: clamp(30px, 4vw, 44px); font-weight: 400; letter-spacing: -.03em; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); gap: clamp(24px, 4vw, 64px); }
.woocommerce-checkout form.checkout > #customer_details { width: 100%; }
.woocommerce-checkout form.checkout > #order_review_heading, .woocommerce-checkout form.checkout > #order_review { grid-column: 2; }
.woocommerce-checkout form.checkout > #order_review_heading { grid-row: 1; align-self: start; margin-top: 0; }
.woocommerce-checkout form.checkout > #order_review { grid-row: 1; margin-top: 70px; }

/* WooCommerce Cart and Checkout blocks */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { max-width: none !important; }
.wc-block-cart, .wc-block-checkout { margin: 0; }
.wc-block-components-sidebar-layout { display: grid !important; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .78fr); gap: clamp(24px, 4vw, 64px) !important; align-items: start; }
.wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-cart__main, .wc-block-checkout__main { width: 100% !important; min-width: 0; padding-right: 0 !important; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar, .wc-block-cart__sidebar, .wc-block-checkout__sidebar { position: sticky; top: 24px; width: 100% !important; min-width: 0; margin: 0 !important; padding: clamp(22px, 3vw, 38px) !important; background: var(--da-white); border: 1px solid var(--da-line); }
.wc-block-cart-items { border-collapse: collapse; }
.wc-block-cart-items th { padding: 0 0 14px !important; font-size: 10px !important; letter-spacing: .14em; text-transform: uppercase; }
.wc-block-cart-items td { padding-block: 24px !important; border-color: var(--da-line) !important; }
.wc-block-cart-item__image img { aspect-ratio: 4/5; object-fit: cover; }
.wc-block-components-product-name { font-family: var(--da-serif); font-size: clamp(20px, 2vw, 27px) !important; font-weight: 500; line-height: 1.1; text-decoration: none !important; }
.wc-block-components-product-price, .wc-block-components-totals-item__value { font-weight: 700; }
.wc-block-components-quantity-selector { border-radius: 0 !important; }
.wc-block-components-button, .wc-block-cart__submit-button { min-height: 54px !important; border-radius: 0 !important; background: var(--da-ink) !important; color: var(--da-white) !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .12em; text-transform: uppercase; }
.wc-block-components-button:hover { background: #333 !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input { border-radius: 0 !important; background: var(--da-white) !important; }
.wc-block-cart__empty-cart__title { margin-top: 20px !important; font-family: var(--da-serif); font-size: clamp(30px, 5vw, 54px) !important; font-weight: 400 !important; }
.wp-block-woocommerce-empty-cart-block { padding: clamp(28px, 5vw, 70px); background: var(--da-white); border: 1px solid var(--da-line); }
.wp-block-woocommerce-empty-cart-block .wp-block-heading { font-family: var(--da-serif); font-weight: 400; }
.wc-block-checkout__form .wc-block-components-checkout-step { padding: 0 0 34px !important; }
.wc-block-checkout__form .wc-block-components-checkout-step__heading { margin-bottom: 22px; }
.wc-block-checkout__form .wc-block-components-checkout-step__title { font-family: var(--da-serif); font-size: 30px; font-weight: 500; }
.wc-block-components-order-summary { padding: 0 !important; }

/* Shared buttons, tables and pagination */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border-radius: 0; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0 4px; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 42px; min-height: 42px; display: grid; place-items: center; background: var(--da-white); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--da-ink); color: var(--da-white); }

@media (max-width: 980px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .shop-content ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .shop-layout { display: block; }
  .shop-filter-toggle { display: block; }
  .shop-sidebar { position: fixed; z-index: 100; inset: 0 auto 0 0; width: min(390px, 92vw); padding: 28px; overflow-y: auto; background: var(--da-paper); box-shadow: 20px 0 70px rgba(0,0,0,.22); transform: translateX(-105%); transition: transform .3s ease; }
  .shop-sidebar.is-open { transform: translateX(0); }
  .filters-open { overflow: hidden; }
  .shop-sidebar__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--da-line); }
  .shop-sidebar__header p { margin: 0; font-family: var(--da-serif); font-size: 31px; }
  .shop-filter-close { width: 42px; height: 42px; border: 1px solid var(--da-line); background: transparent; font-size: 24px; }
  .single-product div.product { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; }
  .woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; border-bottom: 0; border-right: 1px solid var(--da-line); }
}
@media (max-width: 820px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
  .woocommerce-checkout form.checkout > #order_review_heading, .woocommerce-checkout form.checkout > #order_review { grid-column: 1; grid-row: auto; margin-top: 0; }
  .wc-block-components-sidebar-layout { display: block !important; }
  .wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar-layout .wc-block-components-sidebar { width: 100% !important; }
  .wc-block-components-sidebar-layout .wc-block-components-sidebar { position: static; margin-top: 34px !important; }
}
@media (max-width: 680px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 34px 12px; }
  .woocommerce ul.products li.product .button { display: none; }
  .woocommerce div.product form.cart { flex-wrap: wrap; }
  .woocommerce div.product form.cart .button { flex: 1; }
  .woocommerce-account .woocommerce-MyAccount-content { padding: 22px; }
  .woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }
  .woocommerce-cart table.cart .product-thumbnail { display: block; }
  .woocommerce-cart .coupon { display: grid; }
  .wc-block-cart-items td { padding-block: 18px !important; }
  .shop-content .woocommerce-result-count, .shop-content .woocommerce-ordering { float: none; width: 100%; }
  .shop-content .woocommerce-ordering select { width: 100%; }
}
