/*
Theme Name: Bodes Store
Theme URI: https://bodes.lv/
Description: Bodes.lv WooCommerce storefront based on Twenty Twenty-Five.
Author: Bodes.lv
Version: 1.3.15
Template: twentytwentyfive
Text Domain: bodes-store
*/

:root{--bodes-blue:#1736c7;--bodes-blue-dark:#102ba8;--bodes-orange:#ff4f2f;--bodes-text:#202124;--bodes-muted:#70747a;--bodes-line:#e1e4e8;--bodes-page:#f6f7f8;--bodes-footer:#202020;--bodes-shadow:0 2px 10px rgba(20,35,60,.11)}
body{margin:0;background:var(--bodes-page);color:var(--bodes-text);font-family:Arial,Helvetica,sans-serif}.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block-start:0}
.bodes-header{position:relative;z-index:30;background:#fff;border-top:3px solid #91d2ef;box-shadow:0 2px 5px rgba(0,0,0,.09)}.bodes-topbar{min-height:32px;background:#f1f2f3;border-bottom:1px solid var(--bodes-line);color:var(--bodes-muted);font-size:12px}.bodes-topbar a{color:#60646a;text-decoration:none}.bodes-header-main{min-height:108px;padding:20px 0}.bodes-brand .wp-block-site-title{margin:0;font-size:clamp(30px,3vw,44px);font-weight:900;letter-spacing:-.055em}.bodes-brand .wp-block-site-title a{color:#111;text-decoration:none}.bodes-brand .wp-block-site-title a:after{content:"●";margin-left:5px;color:var(--bodes-orange);font-size:16px;vertical-align:middle}.bodes-phone{margin:0;font-size:12px;line-height:1.25}.bodes-phone strong{display:block;font-size:20px;white-space:nowrap}.bodes-search .wp-block-search__input{min-height:44px;border:1px solid var(--bodes-line);background:#f7f7f8}.bodes-search .wp-block-search__button{min-width:48px;margin:0;background:var(--bodes-blue);color:#fff}.bodes-header .wc-block-mini-cart__button{min-height:44px;padding:10px 18px;border-radius:5px;background:var(--bodes-blue);color:#fff}
.bodes-nav-wrap{border-top:1px solid var(--bodes-line)}.bodes-main-nav{width:100%}.bodes-main-nav .wp-block-navigation__container{width:100%;gap:0}.bodes-main-nav .wp-block-navigation-item{flex:1 1 auto;justify-content:center;min-height:56px;border-left:1px solid var(--bodes-line)}.bodes-main-nav .wp-block-navigation-item:last-child{border-right:1px solid var(--bodes-line)}.bodes-main-nav .wp-block-navigation-item__content{width:100%;padding:18px 15px;color:#17191c;font-size:13px;font-weight:700;text-align:center;text-decoration:none;text-transform:uppercase}.bodes-main-nav .wp-block-navigation-item__content:hover{color:var(--bodes-blue);box-shadow:inset 0 3px 0 var(--bodes-blue)}
main{min-height:55vh}main>.alignwide{width:min(1180px,calc(100% - 40px));margin-right:auto;margin-left:auto}.woocommerce-breadcrumb{margin:18px 0 24px;color:var(--bodes-muted);font-size:12px}
.woocommerce ul.products li.product,.wc-block-product{overflow:hidden;padding:12px 12px 16px;border:1px solid #dde1e6;border-bottom:3px solid var(--bodes-blue);border-radius:5px;background:#fff;box-shadow:var(--bodes-shadow);transition:transform 160ms ease}.woocommerce ul.products li.product:hover,.wc-block-product:hover{transform:translateY(-3px)}.woocommerce ul.products li.product a img,.wc-block-components-product-image img{aspect-ratio:1/1;width:100%;object-fit:contain}.woocommerce ul.products li.product .woocommerce-loop-product__title,.wc-block-components-product-name{min-height:42px;color:#25272a;font-size:14px;font-weight:400;line-height:1.35;text-align:center}.woocommerce ul.products li.product .price,.wc-block-components-product-price{color:var(--bodes-blue);font-size:22px;text-align:center}.woocommerce ul.products li.product .button{border-radius:4px;background:var(--bodes-blue);color:#fff}
.woocommerce div.product div.images,.woocommerce div.product div.summary,.woocommerce div.product .woocommerce-tabs{padding:20px;border:1px solid var(--bodes-line);border-radius:5px;background:#fff;box-shadow:var(--bodes-shadow)}.woocommerce div.product .product_title{padding-bottom:15px;border-bottom:1px solid var(--bodes-line)}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--bodes-blue);font-size:30px}.woocommerce div.product form.cart .button{background:var(--bodes-blue)}
.bodes-footer{margin-top:70px;padding:48px 0 24px;background:var(--bodes-footer);color:#d9dce1}.bodes-footer h3{margin-top:0;color:#fff;font-size:18px}.bodes-footer p,.bodes-footer li{color:#b9bdc3;font-size:13px;line-height:1.8}.bodes-footer a{color:#eceef0;text-decoration:none}.bodes-footer-bottom{margin-top:30px;padding-top:18px;border-top:1px solid #3a3a3a;color:#92979d;font-size:12px}
@media(max-width:900px){.bodes-phone{display:none}.bodes-main-nav .wp-block-navigation-item{width:100%;border:0}.bodes-main-nav .wp-block-navigation-item__content{text-align:left}}@media(max-width:600px){.bodes-topbar{display:none}.bodes-header-main{min-height:auto;padding:14px 0}main>.alignwide{width:calc(100% - 24px)}.woocommerce ul.products.columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}.bodes-footer{margin-top:40px}}

/* CREATE HOME NOW V1 */
body.home .wp-block-post-title{display:none}
.bodes-home-v1,.bodes-delivery-v1{width:min(1180px,calc(100% - 40px));margin:auto;padding:40px 0 70px}
.bodes-home-v1-hero{padding:65px clamp(28px,6vw,75px);border-radius:8px;background:linear-gradient(125deg,#102ba8,#3158e5);color:#fff;box-shadow:var(--bodes-shadow)}

.bodes-home-v1-hero h1{max-width:760px;margin:10px 0 18px;font-size:clamp(40px,6vw,68px);line-height:1.02;letter-spacing:-.045em}
.bodes-home-v1-hero>p{max-width:680px;font-size:18px;line-height:1.55}
.bodes-overline{color:var(--bodes-orange);font-size:12px!important;font-weight:800;letter-spacing:.14em}
.bodes-home-v1-hero .bodes-overline{color:#fff}

.bodes-home-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.bodes-home-buttons a,.bodes-home-v1-contact>a{padding:15px 24px;border-radius:5px;background:var(--bodes-orange);color:#fff!important;font-weight:700;text-decoration:none}

.bodes-home-buttons a:last-child{background:#fff;color:var(--bodes-blue)!important}

.bodes-home-v1-section{padding:70px 0 35px}
.bodes-home-v1-section h2,.bodes-home-v1-contact h2{font-size:clamp(30px,4vw,44px)}
.bodes-home-v1-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.bodes-home-v1-grid>a{display:flex;min-height:145px;flex-direction:column;justify-content:flex-end;padding:28px;border:1px solid var(--bodes-line);border-bottom:3px solid var(--bodes-blue);border-radius:6px;background:#fff;color:var(--bodes-text);text-decoration:none;box-shadow:0 2px 8px rgba(20,35,60,.07)}

.bodes-home-v1-grid b{font-size:20px}
.bodes-home-v1-grid span{margin-top:8px;color:var(--bodes-muted);font-size:14px}
.bodes-home-v1-contact{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:20px;padding:38px;border-radius:6px;background:#fff;box-shadow:var(--bodes-shadow)}

.bodes-delivery-v1{max-width:1000px}
.bodes-delivery-v1>h1{font-size:clamp(40px,6vw,64px)}
.bodes-delivery-v1>p{max-width:750px;color:var(--bodes-muted);font-size:17px}
.bodes-delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}
.bodes-delivery-grid section{padding:28px;border:1px solid var(--bodes-line);border-radius:6px;background:#fff}

.bodes-delivery-grid h2{font-size:21px}
.bodes-delivery-grid p{color:var(--bodes-muted);line-height:1.6}
@media(max-width:800px){.bodes-home-v1-grid,.bodes-delivery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){
.bodes-home-v1,.bodes-delivery-v1{width:calc(100% - 24px);padding-top:20px}
.bodes-home-v1-hero{padding:40px 24px}
.bodes-home-v1-hero h1{font-size:38px}
.bodes-home-buttons{flex-direction:column}
.bodes-home-buttons a{text-align:center}
.bodes-home-v1-grid,.bodes-delivery-grid{grid-template-columns:1fr}
.bodes-home-v1-contact{align-items:stretch;flex-direction:column;padding:28px 22px}
.bodes-home-v1-contact>a{text-align:center}
}
/* END CREATE HOME NOW V1 */

/* BODES HOME LAYOUT FIX V1 */
body.home main#wp--skip-link--target,
body.page-id-5873 main#wp--skip-link--target{
margin-block-start:0!important
}
body.home main#wp--skip-link--target>.wp-block-group,
body.page-id-5873 main#wp--skip-link--target>.wp-block-group{
padding-top:0!important
}
body.home .entry-content,
body.page-id-5873 .entry-content{
margin-block-start:0!important
}
body.page-id-5873 .wp-block-post-title{
display:none!important
}
.bodes-home-v1-grid>br,
.bodes-home-buttons>br,
.bodes-delivery-grid>br{
display:none!important
}
.bodes-home-v1-contact>p{
margin:0
}
.bodes-home-v1-contact a{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:48px;
padding:0 24px;
border-radius:5px;
background:var(--bodes-orange);
color:#fff!important;
font-weight:700;
text-decoration:none!important
}
@media(max-width:600px){
.bodes-home-v1-contact>p,
.bodes-home-v1-contact a{
width:100%;
box-sizing:border-box
}
}
/* END BODES HOME LAYOUT FIX V1 */

/* ==========================================================
   BODES STOREFRONT DESIGN V2
   Visual direction: clean Latvian kitchenware storefront
   ========================================================== */

:root {
    --bodes-blue: #1736d1;
    --bodes-blue-dark: #10269d;
    --bodes-orange: #ff5633;
    --bodes-ink: #171717;
    --bodes-text: #343434;
    --bodes-muted: #727272;
    --bodes-line: #e3e5e8;
    --bodes-soft: #f5f6f8;
    --bodes-card: #ffffff;
    --bodes-shadow: 0 3px 14px rgba(15, 28, 56, 0.12);
    --bodes-shadow-hover: 0 10px 26px rgba(15, 28, 56, 0.18);
    --bodes-radius: 5px;
}

html {
    scroll-behavior: smooth;
}

body {
    color: var(--bodes-text);
    background: #fff;
    font-family: Arial, Helvetica, sans-serif;
}

body,
button,
input,
select,
textarea {
    font-size: 16px;
}

a {
    text-underline-offset: 3px;
}

.bodes-header {
    position: relative;
    z-index: 50;
    background: #fff;
    border-top: 3px solid #85c5e8;
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.12);
}

.bodes-topbar {
    min-height: 28px;
    color: #777;
    background: #f1f1f1;
    border-bottom: 1px solid #e5e5e5;
}

.bodes-topbar p {
    margin: 0;
    padding: 5px 0;
    font-size: 13px;
}

.bodes-topbar a {
    color: #666;
    text-decoration: none;
}

.bodes-topbar a:hover {
    color: var(--bodes-blue);
}

.bodes-header-main {
    background: #fff;
}

.bodes-header-main > .wp-block-columns {
    min-height: 112px;
    margin-top: 0;
    margin-bottom: 0;
    gap: 28px;
}

.bodes-brand .wp-block-site-title {
    position: relative;
    display: inline-block;
    margin: 0;
    font-size: clamp(31px, 4vw, 46px);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -2px;
    text-transform: uppercase;
}

.bodes-brand .wp-block-site-title::after {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 7px;
    content: "";
    background: var(--bodes-orange);
    border-radius: 2px;
    transform: translateY(-2px);
}

.bodes-brand .wp-block-site-title a {
    color: #111;
    text-decoration: none;
}

.bodes-phone {
    margin: 0;
    color: #333;
    font-size: 13px;
    line-height: 1.3;
}

.bodes-phone strong {
    display: block;
    color: #111;
    font-size: 20px;
    line-height: 1.15;
    white-space: nowrap;
}

.bodes-search .wp-block-search__inside-wrapper {
    overflow: hidden;
    min-height: 46px;
    background: var(--bodes-soft);
    border: 1px solid #e4e4e4;
    border-radius: var(--bodes-radius);
}

.bodes-search .wp-block-search__input {
    padding: 0 16px;
    background: transparent;
    border: 0;
}

.bodes-search .wp-block-search__button {
    width: 52px;
    margin: 0;
    padding: 0;
    color: var(--bodes-blue);
    background: transparent;
    border: 0;
}

.bodes-header-main .wc-block-mini-cart__button {
    min-width: 116px;
    min-height: 46px;
    color: #fff;
    background: var(--bodes-blue);
    border-radius: var(--bodes-radius);
}

.bodes-header-main .wc-block-mini-cart__button:hover {
    color: #fff;
    background: var(--bodes-blue-dark);
}

.bodes-nav-wrap {
    border-top: 1px solid var(--bodes-line);
    background: #fff;
}

.bodes-main-nav {
    min-height: 54px;
}

.bodes-main-nav .wp-block-navigation-item {
    min-height: 54px;
    border-right: 1px solid var(--bodes-line);
}

.bodes-main-nav .wp-block-navigation-item:first-child {
    border-left: 1px solid var(--bodes-line);
}

.bodes-main-nav .wp-block-navigation-item__content {
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: 0 25px;
    color: #171717;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
}

.bodes-main-nav .current-menu-item,
.bodes-main-nav .wp-block-navigation-item:hover {
    box-shadow: inset 0 3px 0 var(--bodes-blue);
}

.bodes-main-nav .wp-block-navigation-item__content:hover {
    color: var(--bodes-blue);
}

main.wp-block-group,
.wp-site-blocks > main {
    padding-top: clamp(25px, 4vw, 54px);
    padding-bottom: 65px;
}

/* Catalog */

.woocommerce .woocommerce-breadcrumb {
    margin: 0 0 25px;
    color: var(--bodes-muted);
    font-size: 13px;
}

.woocommerce .woocommerce-breadcrumb a {
    color: var(--bodes-blue);
}

.woocommerce-products-header,
.woocommerce .page-title {
    margin-bottom: 30px;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    margin-bottom: 24px;
    color: var(--bodes-muted);
    font-size: 14px;
}

.woocommerce .woocommerce-ordering select {
    min-height: 40px;
    padding: 0 35px 0 12px;
    background: #fff;
    border: 1px solid var(--bodes-line);
    border-radius: 3px;
}

.woocommerce ul.products,
.wc-block-product-template,
.wp-block-woocommerce-product-template {
    gap: 22px;
}

.woocommerce ul.products li.product,
.wc-block-product,
.wp-block-post.product {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    padding: 0 0 18px;
    background: var(--bodes-card);
    border: 1px solid #dcdfe5;
    border-bottom: 3px solid var(--bodes-blue);
    border-radius: var(--bodes-radius);
    box-shadow: var(--bodes-shadow);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.woocommerce ul.products li.product:hover,
.wc-block-product:hover,
.wp-block-post.product:hover {
    z-index: 2;
    border-color: #c5cae0;
    box-shadow: var(--bodes-shadow-hover);
    transform: translateY(-4px);
}

.woocommerce ul.products li.product a img,
.wc-block-components-product-image img,
.wc-block-grid__product-image img,
.wp-block-post.product .wp-block-post-featured-image img {
    width: 100%;
    height: 285px;
    margin: 0;
    object-fit: contain;
    background: #fff;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-components-product-name,
.wc-block-grid__product-title,
.wp-block-post.product .wp-block-post-title {
    min-height: 48px;
    margin: 15px 15px 5px;
    padding: 0;
    color: #222;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.35;
    text-align: center;
    text-transform: none;
}

.woocommerce ul.products li.product .price,
.wc-block-components-product-price,
.wc-block-grid__product-price {
    display: block;
    margin: 7px 15px 4px;
    color: var(--bodes-blue);
    font-size: 23px;
    font-weight: 500;
    text-align: center;
}

.woocommerce ul.products li.product .price del,
.wc-block-components-product-price del {
    color: #777;
    font-size: 15px;
    opacity: 1;
}

.woocommerce ul.products li.product .price ins,
.wc-block-components-product-price ins {
    color: var(--bodes-blue);
    text-decoration: none;
}

.woocommerce span.onsale,
.wc-block-components-product-sale-badge {
    z-index: 4;
    top: 12px;
    right: 12px;
    left: auto;
    min-width: auto;
    min-height: auto;
    padding: 7px 11px;
    color: #fff;
    background: #ff9f0a;
    border: 0;
    border-radius: 5px;
    font-size: 12px;
    line-height: 1;
    text-transform: uppercase;
}

.woocommerce ul.products li.product .button,
.wc-block-components-product-button .wp-block-button__link {
    display: table;
    margin: 12px auto 0;
    padding: 10px 17px;
    color: #fff;
    background: var(--bodes-blue);
    border: 0;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
}

.woocommerce ul.products li.product .button:hover,
.wc-block-components-product-button .wp-block-button__link:hover {
    color: #fff;
    background: var(--bodes-blue-dark);
}

/* Pagination */

.woocommerce nav.woocommerce-pagination {
    margin-top: 35px;
}

.woocommerce nav.woocommerce-pagination ul {
    overflow: hidden;
    border: 1px solid var(--bodes-line);
    border-radius: 4px;
}

.woocommerce nav.woocommerce-pagination ul li {
    border-right: 1px solid var(--bodes-line);
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    min-width: 39px;
    padding: 11px 12px;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    color: #fff;
    background: var(--bodes-blue);
}

/* Single product */

.single-product div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.98fr);
    gap: clamp(35px, 5vw, 70px);
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary {
    float: none;
    width: auto;
    margin: 0;
}

.single-product .woocommerce-product-gallery {
    padding: 18px;
    background: #fff;
    border: 1px solid var(--bodes-line);
    border-radius: var(--bodes-radius);
    box-shadow: var(--bodes-shadow);
}

.single-product .woocommerce-product-gallery__image img {
    max-height: 570px;
    object-fit: contain;
}

.single-product div.product .product_title {
    margin: 0 0 15px;
    padding-bottom: 15px;
    color: #191919;
    border-bottom: 1px solid var(--bodes-line);
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 500;
    line-height: 1.2;
}

.single-product div.product p.price {
    margin: 20px 0;
    color: var(--bodes-blue);
    font-size: 32px;
}

.single-product .product_meta {
    margin: 17px 0;
    padding: 15px 0;
    color: var(--bodes-muted);
    border-top: 1px solid var(--bodes-line);
    border-bottom: 1px solid var(--bodes-line);
    font-size: 14px;
}

.single-product form.cart {
    display: flex;
    align-items: stretch;
    gap: 12px;
    padding: 22px 0;
    border-top: 1px solid var(--bodes-line);
    border-bottom: 1px solid var(--bodes-line);
}

.single-product form.cart .quantity .qty {
    min-height: 48px;
    border: 1px solid var(--bodes-line);
    border-radius: 4px;
}

.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce .checkout-button,
.wc-block-components-button {
    color: #fff;
    background: var(--bodes-blue);
    border-radius: 4px;
}

.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce .checkout-button:hover,
.wc-block-components-button:hover {
    color: #fff;
    background: var(--bodes-blue-dark);
}

.single-product .woocommerce-tabs {
    grid-column: 1 / -1;
    margin-top: 20px;
}

.single-product .woocommerce-tabs ul.tabs {
    margin-bottom: 0;
}

.single-product .woocommerce-tabs .panel {
    padding: 25px;
    border: 1px solid var(--bodes-line);
    border-radius: 0 4px 4px 4px;
}

/* Cart, checkout, account and information pages */

.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-account .woocommerce,
body.page .entry-content {
    line-height: 1.65;
}

body.page .entry-content > h2,
body.page .entry-content > h3 {
    margin-top: 1.7em;
    color: #202020;
}

body.page .entry-content a {
    color: var(--bodes-blue);
}

body.page .entry-content table {
    border-color: var(--bodes-line);
}

/* Footer */

.bodes-footer {
    margin-top: 0;
    padding-top: 48px;
    color: #d6d6d6;
    background: #222;
}

.bodes-footer h3 {
    margin-top: 0;
    color: #fff;
    font-size: 18px;
}

.bodes-footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bodes-footer li {
    margin: 0 0 9px;
}

.bodes-footer a {
    color: #e4e4e4;
    text-decoration: none;
}

.bodes-footer a:hover {
    color: #fff;
    text-decoration: underline;
}

.bodes-footer-bottom {
    margin-top: 35px;
    padding: 18px 0;
    color: #aaa;
    border-top: 1px solid #3c3c3c;
    font-size: 13px;
}

/* Responsive */

@media (min-width: 1200px) {
    .woocommerce ul.products.columns-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .bodes-main-nav .wp-block-navigation-item__content {
        padding-right: 15px;
        padding-left: 15px;
        font-size: 12px;
    }

    .woocommerce ul.products li.product a img,
    .wc-block-components-product-image img,
    .wc-block-grid__product-image img,
    .wp-block-post.product .wp-block-post-featured-image img {
        height: 235px;
    }
}

@media (max-width: 900px) {
    .bodes-header-main > .wp-block-columns {
        min-height: auto;
        padding-top: 22px;
        padding-bottom: 22px;
        gap: 18px;
    }

    .bodes-brand,
    .bodes-header-main .wp-block-column {
        flex-basis: 100% !important;
        text-align: center;
    }

    .bodes-phone strong {
        justify-content: center;
    }

    .single-product div.product {
        grid-template-columns: 1fr;
    }

    .single-product .woocommerce-tabs {
        grid-column: 1;
    }

    .woocommerce ul.products,
    .wc-block-product-template,
    .wp-block-woocommerce-product-template {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .bodes-topbar {
        display: none;
    }

    .bodes-brand .wp-block-site-title {
        font-size: 32px;
    }

    .bodes-phone {
        font-size: 12px;
    }

    .bodes-header-main .wc-block-mini-cart__button {
        width: 100%;
    }

    .bodes-nav-wrap {
        padding: 6px 15px;
    }

    .bodes-main-nav {
        justify-content: flex-end;
        min-height: 44px;
    }

    .woocommerce ul.products,
    .wc-block-product-template,
    .wp-block-woocommerce-product-template {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .woocommerce ul.products li.product a img,
    .wc-block-components-product-image img,
    .wc-block-grid__product-image img,
    .wp-block-post.product .wp-block-post-featured-image img {
        height: 300px;
    }

    .single-product form.cart {
        flex-wrap: wrap;
    }

    .single-product form.cart .single_add_to_cart_button {
        flex: 1;
        min-width: 190px;
    }

    .bodes-footer {
        padding-top: 35px;
    }

    .bodes-footer .wp-block-columns {
        gap: 25px;
    }

    .bodes-footer-bottom {
        display: block;
        text-align: center;
    }
}

/* ==========================================================
   BODES SINGLE PRODUCT LAYOUT V2.1
   Prevent WooCommerce summary column from collapsing
   ========================================================== */

.single-product div.product {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: clamp(30px, 4vw, 60px) !important;
    width: 100% !important;
    max-width: 100% !important;
}

.single-product div.product::before,
.single-product div.product::after {
    display: none !important;
    content: none !important;
}

.single-product div.product .woocommerce-product-gallery {
    float: none !important;
    flex: 1 1 500px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(55% - 30px) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.single-product div.product .summary,
.single-product div.product div.summary {
    float: none !important;
    clear: none !important;
    flex: 1 1 380px !important;
    width: auto !important;
    min-width: 360px !important;
    max-width: calc(45% - 30px) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.single-product div.product .summary *,
.single-product div.product div.summary * {
    max-width: 100% !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
}

.single-product div.product .summary .product_title {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
}

.single-product div.product .summary .price,
.single-product div.product .summary .woocommerce-product-details__short-description,
.single-product div.product .summary .product_meta,
.single-product div.product .summary form.cart {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
}

.single-product div.product .summary form.cart {
    display: flex !important;
}

.single-product div.product .summary table,
.single-product div.product .summary .variations {
    width: 100% !important;
    table-layout: auto !important;
}

.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .upsells,
.single-product div.product .cross-sells {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* An unintended account block was rendered below desktop navigation. */
.bodes-header .wc-block-customer-account {
    display: none !important;
}

/* Keep the intentional profile links in the top bar visible. */
.bodes-header .bodes-topbar {
    display: block;
}

@media (max-width: 900px) {
    .single-product div.product {
        display: block !important;
    }

    .single-product div.product .woocommerce-product-gallery,
    .single-product div.product .summary,
    .single-product div.product div.summary {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .single-product div.product .summary,
    .single-product div.product div.summary {
        margin-top: 30px !important;
    }
}

@media (max-width: 620px) {
    .bodes-header .bodes-topbar {
        display: none;
    }

    .single-product div.product .woocommerce-product-gallery {
        padding: 10px;
    }

    .single-product div.product .summary .product_title {
        font-size: 27px;
    }

    .single-product div.product .summary form.cart {
        display: flex !important;
        flex-wrap: wrap !important;
    }
}

/* ==========================================================
   BODES PRODUCT POLISH V2.2
   ========================================================== */

/* Hide the customer-account icon accidentally rendered below navigation. */
.bodes-header .wp-block-woocommerce-customer-account,
.bodes-header .wc-block-customer-account,
.bodes-header [class*="customer-account"] {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Keep header navigation compact after removing the icon. */
.bodes-nav-wrap,
.bodes-nav-wrap > div,
.bodes-main-nav {
    margin-bottom: 0 !important;
}

.bodes-nav-wrap {
    min-height: 54px !important;
}

.single-product h1.wp-block-post-title,
.single-product h1.product_title,
.single-product .summary h1 {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    font-size: clamp(31px, 3.2vw, 43px) !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.5px !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
}

/* Make product photographs visually dominant like the reference store. */
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image > a {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

.single-product .woocommerce-product-gallery__image img {
    display: block !important;
    width: 100% !important;
    height: 390px !important;
    max-height: 390px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}

.single-product .woocommerce-product-gallery {
    overflow: hidden !important;
}

.single-product .summary .price {
    margin: 20px 0 25px !important;
    color: var(--bodes-blue) !important;
    font-size: 29px !important;
}

.single-product .woocommerce-product-details__short-description {
    color: #303030;
    font-size: 16px;
    line-height: 1.55;
}

.single-product .stock {
    margin: 20px 0 !important;
    color: #363636 !important;
}

.single-product .product_meta {
    line-height: 1.7;
}

.single-product .woocommerce-tabs .tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 25px;
}

.single-product .woocommerce-tabs .tabs li {
    margin: 0 !important;
}

@media (min-width: 901px) {
    .single-product div.product .woocommerce-product-gallery {
        min-width: 420px !important;
    }
}

@media (max-width: 900px) {
    .single-product .woocommerce-product-gallery__image img {
        height: 360px !important;
        max-height: 360px !important;
    }
}

@media (max-width: 620px) {
    .single-product h1.wp-block-post-title,
    .single-product h1.product_title,
    .single-product .summary h1 {
        font-size: 28px !important;
    }

    .single-product .woocommerce-product-gallery__image img {
        height: 300px !important;
        max-height: 300px !important;
    }
}

/* ==========================================================
   BODES CATEGORY DROPDOWNS V1
   ========================================================== */

@media (min-width: 901px) {
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu {
        position: relative;
        flex: 1 1 auto;
    }

    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu
    > .wp-block-navigation-item__content,
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu
    > .wp-block-navigation-submenu__toggle {
        box-sizing: border-box;
        width: 100%;
        min-height: 56px;
        justify-content: center;
        padding: 18px 30px 18px 15px;
        color: #17191c;
        font-size: 13px;
        font-weight: 700;
        line-height: 20px;
        text-align: center;
        text-transform: uppercase;
    }

    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu
    > .wp-block-navigation-submenu__toggle
    .wp-block-navigation__submenu-icon {
        position: absolute;
        right: 13px;
        margin: 0;
    }

    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu
    > .wp-block-navigation__submenu-container {
        box-sizing: border-box;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2px 12px;
        width: min(680px, calc(100vw - 32px));
        max-height: min(72vh, 680px);
        padding: 14px;
        overflow-x: hidden;
        overflow-y: auto;
        background: #fff;
        border: 1px solid #dfe3ea;
        border-top: 3px solid var(--bodes-blue);
        border-radius: 0 0 5px 5px;
        box-shadow: 0 15px 35px rgba(20, 27, 45, .16);
        z-index: 1000;
    }

    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(-n+2)
    > .wp-block-navigation__submenu-container {
        right: auto;
        left: 0;
        transform: none;
    }

    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(3)
    > .wp-block-navigation__submenu-container,
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(4)
    > .wp-block-navigation__submenu-container {
        right: auto;
        left: 50%;
        transform: translateX(-50%);
    }

    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(5)
    > .wp-block-navigation__submenu-container {
        right: 0;
        left: auto;
        transform: none;
    }

    .bodes-main-nav
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item {
        box-sizing: border-box;
        display: block;
        width: 100%;
        min-height: 0;
        flex: none;
        border: 0;
    }

    .bodes-main-nav
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
        box-sizing: border-box;
        display: block;
        width: 100%;
        padding: 9px 11px;
        color: #24272d;
        border-radius: 3px;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.3;
        text-align: left;
        text-transform: none;
        white-space: normal;
    }

    .bodes-main-nav
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content:hover,
    .bodes-main-nav
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content:focus {
        color: var(--bodes-blue);
        background: #f2f5ff;
        box-shadow: none;
    }
}

@media (max-width: 900px) {
    .bodes-main-nav
    .wp-block-navigation__submenu-container {
        position: static;
        display: block;
        width: 100%;
        max-height: none;
        margin: 0;
        padding: 4px 0 8px 16px;
        overflow: visible;
        border: 0;
        border-left: 2px solid var(--bodes-blue);
        box-shadow: none;
        transform: none;
    }

    .bodes-main-nav
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item {
        width: 100%;
        min-height: 0;
        border: 0;
    }

    .bodes-main-nav
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
        width: 100%;
        padding: 9px 12px;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.35;
        text-align: left;
        text-transform: none;
        white-space: normal;
    }
}

/* ==========================================================
   BODES CATEGORY DROPDOWNS SIZE V1.1
   ========================================================== */

@media (min-width: 901px) {
    /* Six equal-width main navigation buttons. */
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-item {
        box-sizing: border-box;
        flex: 1 1 0 !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-item
    > .wp-block-navigation-item__content,
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu
    > .wp-block-navigation-submenu__toggle {
        box-sizing: border-box;
        width: 100% !important;
        padding-right: 30px;
        padding-left: 15px;
        white-space: nowrap;
    }

    /* Default large dropdown: three balanced columns. */
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu
    > .wp-block-navigation__submenu-container {
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
        align-items: start !important;
        gap: 2px 12px !important;
        width: 840px !important;
        min-width: 840px !important;
        max-width: calc(100vw - 32px) !important;
        max-height: min(70vh, 620px) !important;
        padding: 14px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    /* Pannas: six links fit best in two columns. */
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(1)
    > .wp-block-navigation__submenu-container {
        right: auto !important;
        left: 0 !important;
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
        width: 580px !important;
        min-width: 580px !important;
        transform: none !important;
    }

    /* Pārtikas produkti: three columns, aligned from its tab. */
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(2)
    > .wp-block-navigation__submenu-container {
        right: auto !important;
        left: 0 !important;
        width: 840px !important;
        min-width: 840px !important;
        transform: none !important;
    }

    /* Trauki: nine links in two columns. */
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(3)
    > .wp-block-navigation__submenu-container {
        right: auto !important;
        left: 50% !important;
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
        width: 640px !important;
        min-width: 640px !important;
        transform: translateX(-50%) !important;
    }

    /* Konditorejas and Citas preces align inside the viewport. */
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(4)
    > .wp-block-navigation__submenu-container,
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(5)
    > .wp-block-navigation__submenu-container {
        right: 0 !important;
        left: auto !important;
        width: 840px !important;
        min-width: 840px !important;
        transform: none !important;
    }

    .bodes-main-nav
    .wp-block-navigation__submenu-container
    > .wp-block-navigation-item {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        flex: none !important;
    }

    .bodes-main-nav
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center;
        width: 100% !important;
        min-height: 38px;
        padding: 8px 10px !important;
        font-size: 13px;
        line-height: 1.25;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }
}

/* Intermediate screens: two-column dropdowns. */
@media (min-width: 901px) and (max-width: 1100px) {
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu
    > .wp-block-navigation__submenu-container {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
        width: 680px !important;
        min-width: 680px !important;
    }

    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(1)
    > .wp-block-navigation__submenu-container {
        width: 540px !important;
        min-width: 540px !important;
    }

    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(3)
    > .wp-block-navigation__submenu-container {
        width: 600px !important;
        min-width: 600px !important;
    }

    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-item
    > .wp-block-navigation-item__content,
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu
    > .wp-block-navigation-submenu__toggle {
        padding-right: 24px;
        padding-left: 10px;
        font-size: 12px;
    }
}

/* Mobile menu remains one column and full width. */
@media (max-width: 900px) {
    .bodes-main-nav
    .wp-block-navigation__submenu-container {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: none !important;
        transform: none !important;
    }
}

/* ==========================================================
   BODES GATAVOSANA MENU V1.2
   Compact dropdown filled vertically in two columns.
   ========================================================== */

@media (min-width: 901px) {
    /*
     * Gatavosana-style base dropdown:
     * 600px, two columns, first column filled before second.
     */
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu
    > .wp-block-navigation__submenu-container {
        box-sizing: border-box !important;
        display: block !important;
        grid-template-columns: none !important;
        width: 600px !important;
        min-width: 600px !important;
        max-width: calc(100vw - 32px) !important;
        height: auto !important;
        max-height: none !important;
        padding: 18px 20px 20px !important;
        overflow: visible !important;
        column-count: 2;
        column-gap: 38px;
        column-fill: balance;
        background: #fff;
        border: 1px solid #e1e3e7;
        border-top: 0 !important;
        border-radius: 0 !important;
        box-shadow: 0 9px 20px rgba(20, 25, 35, .14);
    }

    .bodes-main-nav
    .wp-block-navigation__submenu-container
    > .wp-block-navigation-item {
        box-sizing: border-box !important;
        display: inline-block !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 0 2px !important;
        padding: 0 !important;
        break-inside: avoid;
        page-break-inside: avoid;
        vertical-align: top;
        border: 0 !important;
    }

    .bodes-main-nav
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        min-height: 34px !important;
        padding: 8px 10px !important;
        color: #22252a;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 1.28 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        border-radius: 2px;
    }

    .bodes-main-nav
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content:hover,
    .bodes-main-nav
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content:focus {
        color: var(--bodes-blue);
        background: #f3f5fb;
        box-shadow: none !important;
    }

    /* Pannas: six entries in one compact column. */
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(1)
    > .wp-block-navigation__submenu-container {
        right: auto !important;
        left: 0 !important;
        width: 420px !important;
        min-width: 420px !important;
        column-count: 1;
        transform: none !important;
    }

    /* Pārtikas produkti: same placement and size as reference. */
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(2)
    > .wp-block-navigation__submenu-container {
        right: auto !important;
        left: 0 !important;
        width: 600px !important;
        min-width: 600px !important;
        column-count: 2;
        transform: none !important;
    }

    /* Trauki: two compact columns from the left edge of its tab. */
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(3)
    > .wp-block-navigation__submenu-container {
        right: auto !important;
        left: 0 !important;
        width: 600px !important;
        min-width: 600px !important;
        column-count: 2;
        transform: none !important;
    }

    /* Konditorejas rīki: slightly wider for long Latvian names. */
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(4)
    > .wp-block-navigation__submenu-container {
        right: 0 !important;
        left: auto !important;
        width: 680px !important;
        min-width: 680px !important;
        column-count: 2;
        transform: none !important;
    }

    /* Citas preces: right-aligned to remain inside viewport. */
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(5)
    > .wp-block-navigation__submenu-container {
        right: 0 !important;
        left: auto !important;
        width: 680px !important;
        min-width: 680px !important;
        column-count: 2;
        transform: none !important;
    }
}

@media (min-width: 901px) and (max-width: 1050px) {
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu
    > .wp-block-navigation__submenu-container {
        width: 560px !important;
        min-width: 560px !important;
        column-gap: 24px;
    }

    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(1)
    > .wp-block-navigation__submenu-container {
        width: 390px !important;
        min-width: 390px !important;
    }

    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(4)
    > .wp-block-navigation__submenu-container,
    .bodes-main-nav
    > .wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(5)
    > .wp-block-navigation__submenu-container {
        width: 620px !important;
        min-width: 620px !important;
    }

    .bodes-main-nav
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
        font-size: 13px !important;
    }
}

@media (max-width: 900px) {
    .bodes-main-nav
    .wp-block-navigation__submenu-container {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        padding: 4px 0 8px 16px !important;
        overflow: visible !important;
        column-count: 1 !important;
        column-gap: 0 !important;
        border: 0 !important;
        border-left: 2px solid var(--bodes-blue) !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .bodes-main-nav
    .wp-block-navigation__submenu-container
    > .wp-block-navigation-item {
        display: block !important;
        width: 100% !important;
    }
}

/* ==========================================================
   BODES REAL MENU SELECTOR V1.3
   .bodes-main-nav and .wp-block-navigation__container
   are classes of the same UL element.
   ========================================================== */

@media (min-width: 901px) {
    /* Equal-width top-level menu tabs. */
    ul.bodes-main-nav.wp-block-navigation__container {
        box-sizing: border-box;
        display: flex;
        width: 100%;
        gap: 0;
    }

    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-item {
        box-sizing: border-box;
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    /*
     * Correct live dropdown selector.
     * Gatavosana-style vertical fill into two columns.
     */
    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu
    > ul.wp-block-navigation__submenu-container {
        box-sizing: border-box !important;
        display: block !important;
        grid-template-columns: none !important;
        width: 600px !important;
        min-width: 600px !important;
        max-width: calc(100vw - 32px) !important;
        height: auto !important;
        max-height: none !important;
        padding: 18px 20px 20px !important;
        overflow: visible !important;
        column-count: 2 !important;
        column-gap: 38px !important;
        column-fill: balance !important;
        background: #fff !important;
        border: 1px solid #e1e3e7 !important;
        border-top: 0 !important;
        border-radius: 0 !important;
        box-shadow: 0 9px 20px rgba(20, 25, 35, .14) !important;
    }

    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu
    > ul.wp-block-navigation__submenu-container
    > .wp-block-navigation-item {
        box-sizing: border-box !important;
        display: inline-block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 0 !important;
        margin: 0 0 2px !important;
        padding: 0 !important;
        flex: none !important;
        break-inside: avoid !important;
        vertical-align: top;
        border: 0 !important;
    }

    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu
    > ul.wp-block-navigation__submenu-container
    > .wp-block-navigation-item
    > .wp-block-navigation-item__content {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        min-height: 34px !important;
        padding: 8px 10px !important;
        color: #22252a !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 1.28 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        border-radius: 2px;
    }

    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu
    > ul.wp-block-navigation__submenu-container
    > .wp-block-navigation-item
    > .wp-block-navigation-item__content:hover,
    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu
    > ul.wp-block-navigation__submenu-container
    > .wp-block-navigation-item
    > .wp-block-navigation-item__content:focus {
        color: var(--bodes-blue) !important;
        background: #f3f5fb !important;
        box-shadow: none !important;
    }

    /* Pannas: one compact column. */
    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(1)
    > ul.wp-block-navigation__submenu-container {
        right: auto !important;
        left: 0 !important;
        width: 420px !important;
        min-width: 420px !important;
        column-count: 1 !important;
        transform: none !important;
    }

    /* Pārtikas produkti: two columns, aligned like gatavosana.lv. */
    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(2)
    > ul.wp-block-navigation__submenu-container {
        right: auto !important;
        left: 0 !important;
        width: 600px !important;
        min-width: 600px !important;
        column-count: 2 !important;
        transform: none !important;
    }

    /* Trauki. */
    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(3)
    > ul.wp-block-navigation__submenu-container {
        right: auto !important;
        left: 0 !important;
        width: 600px !important;
        min-width: 600px !important;
        column-count: 2 !important;
        transform: none !important;
    }

    /* Konditorejas rīki. */
    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(4)
    > ul.wp-block-navigation__submenu-container {
        right: 0 !important;
        left: auto !important;
        width: 680px !important;
        min-width: 680px !important;
        column-count: 2 !important;
        transform: none !important;
    }

    /* Citas preces. */
    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(5)
    > ul.wp-block-navigation__submenu-container {
        right: 0 !important;
        left: auto !important;
        width: 680px !important;
        min-width: 680px !important;
        column-count: 2 !important;
        transform: none !important;
    }
}

@media (min-width: 901px) and (max-width: 1050px) {
    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu
    > ul.wp-block-navigation__submenu-container {
        width: 560px !important;
        min-width: 560px !important;
        column-gap: 24px !important;
    }

    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(1)
    > ul.wp-block-navigation__submenu-container {
        width: 390px !important;
        min-width: 390px !important;
    }

    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(4)
    > ul.wp-block-navigation__submenu-container,
    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu:nth-child(5)
    > ul.wp-block-navigation__submenu-container {
        width: 620px !important;
        min-width: 620px !important;
    }
}

@media (max-width: 900px) {
    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu
    > ul.wp-block-navigation__submenu-container {
        position: static !important;
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        padding: 4px 0 8px 16px !important;
        overflow: visible !important;
        column-count: 1 !important;
        column-gap: 0 !important;
        border: 0 !important;
        border-left: 2px solid var(--bodes-blue) !important;
        box-shadow: none !important;
        transform: none !important;
    }
}

/* ==========================================================
   BODES TOP MENU LABELS V1.4
   Gatavosana-style proportional tabs without text wrapping.
   ========================================================== */

@media (min-width: 901px) {
    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-item {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: max-content !important;
    }

    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-item
    > .wp-block-navigation-item__content {
        white-space: nowrap !important;
    }

    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-submenu
    > .wp-block-navigation-submenu__toggle {
        white-space: nowrap !important;
    }
}

@media (min-width: 901px) and (max-width: 1100px) {
    ul.bodes-main-nav.wp-block-navigation__container
    > .wp-block-navigation-item
    > .wp-block-navigation-item__content {
        padding-right: 22px;
        padding-left: 10px;
        font-size: 12px;
    }
}


/* BODES_CART_CHECKOUT_V1
   Cart, mini-cart and checkout styling inspired by the main Bodes.lv storefront.
*/

/* ---------- MINI CART DRAWER ---------- */

.wc-block-mini-cart__drawer {
    --bodes-cart-blue: #1738d1;
    --bodes-cart-orange: #ff5438;
    color: #202020;
}

.wc-block-mini-cart__drawer .components-modal__frame {
    width: min(460px, 100vw);
    border: 0;
    box-shadow: -18px 0 50px rgba(17, 24, 39, 0.18);
}

.wc-block-mini-cart__drawer .components-modal__header {
    min-height: 72px;
    padding: 20px 24px;
    border-bottom: 1px solid #e6e8ec;
}

.wc-block-mini-cart__drawer .components-modal__header-heading,
.wc-block-mini-cart__title {
    margin: 0;
    font-size: clamp(24px, 2.3vw, 32px);
    font-weight: 600;
    letter-spacing: -0.025em;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__items {
    padding: 8px 24px 20px;
}

.wc-block-mini-cart__drawer .wc-block-cart-items__row {
    gap: 16px;
    padding: 22px 0;
    border-bottom: 1px solid #e6e8ec;
}

.wc-block-mini-cart__drawer .wc-block-components-product-image {
    overflow: hidden;
    border: 1px solid #e3e5e9;
    border-radius: 4px;
    background: #fff;
}

.wc-block-mini-cart__drawer .wc-block-components-product-name {
    color: #202020;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
}

.wc-block-mini-cart__drawer .wc-block-components-product-price {
    color: var(--bodes-cart-blue);
    font-size: 18px;
    font-weight: 600;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector {
    min-height: 38px;
    border-color: #d4d7dd;
    border-radius: 4px;
}

.wc-block-mini-cart__footer {
    padding: 20px 24px 24px;
    border-top: 1px solid #dde0e5;
    background: #fff;
}

.wc-block-mini-cart__footer-subtotal {
    margin-bottom: 16px;
    font-size: 17px;
}

.wc-block-mini-cart__footer .wc-block-components-button {
    min-height: 52px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 600;
}

.wc-block-mini-cart__footer .wc-block-components-button:not(.is-link) {
    border-color: var(--bodes-cart-blue);
}

.wc-block-mini-cart__footer .wc-block-components-button.wp-element-button {
    background: var(--bodes-cart-blue);
    color: #fff;
}

/* ---------- CART PAGE ---------- */

.woocommerce-cart main,
.woocommerce-cart .wp-site-blocks > main {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
    padding-block: 56px 80px;
}

.woocommerce-cart .wc-block-cart {
    gap: clamp(28px, 4vw, 56px);
}

.woocommerce-cart .wc-block-cart__main,
.woocommerce-cart .wc-block-cart__sidebar {
    min-width: 0;
}

.woocommerce-cart .wc-block-cart-items {
    border: 1px solid #e1e4e9;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 4px 18px rgba(17, 24, 39, 0.05);
}

.woocommerce-cart .wc-block-cart-items__header {
    color: #555;
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.woocommerce-cart .wc-block-cart-items__row {
    padding: 24px;
}

.woocommerce-cart .wc-block-components-product-image {
    overflow: hidden;
    border: 1px solid #e4e6ea;
    border-radius: 5px;
}

.woocommerce-cart .wc-block-components-product-name {
    color: #202020;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
}

.woocommerce-cart .wc-block-components-product-price,
.woocommerce-cart .wc-block-components-product-total {
    color: #1738d1;
    font-size: 18px;
    font-weight: 600;
}

.woocommerce-cart .wc-block-cart__sidebar {
    padding: 28px;
    border: 1px solid #dde1e7;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 4px 18px rgba(17, 24, 39, 0.05);
}

.woocommerce-cart .wc-block-cart__totals-title {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.woocommerce-cart .wc-block-cart__submit-button {
    min-height: 56px;
    border-radius: 4px;
    background: #1738d1;
    color: #fff;
    font-size: 17px;
    font-weight: 600;
}

.woocommerce-cart .wc-block-cart__submit-button:hover {
    background: #102ba8;
}

/* ---------- CHECKOUT PAGE ---------- */

.woocommerce-checkout {
    --bodes-checkout-blue: #1738d1;
    --bodes-checkout-orange: #ff5438;
    --bodes-checkout-border: #dde1e7;
    background: #f7f8fa;
}

.woocommerce-checkout .wc-block-checkout__header {
    width: min(1180px, calc(100% - 40px));
    min-height: 112px;
    margin: 0 auto 34px;
    padding: 32px 0;
    border-bottom: 1px solid var(--bodes-checkout-border);
}

.woocommerce-checkout .wc-block-checkout__header .wc-block-checkout__header-image,
.woocommerce-checkout .wc-block-checkout__header a:first-child,
.woocommerce-checkout .wc-block-checkout__header-container > a:first-child {
    color: #111;
    font-size: clamp(28px, 3.2vw, 44px);
    font-weight: 800;
    letter-spacing: -0.04em;
    text-decoration: none;
    text-transform: uppercase;
}

.woocommerce-checkout .wc-block-checkout__header a:first-child::after,
.woocommerce-checkout .wc-block-checkout__header-container > a:first-child::after {
    color: var(--bodes-checkout-orange);
    content: "••";
    margin-left: 4px;
    font-size: 0.7em;
    letter-spacing: -0.2em;
}

.woocommerce-checkout main,
.woocommerce-checkout .wp-site-blocks > main {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
    padding: 0 0 88px;
}

.woocommerce-checkout .wc-block-checkout {
    align-items: flex-start;
    gap: clamp(34px, 5vw, 72px);
}

.woocommerce-checkout .wc-block-checkout__main {
    min-width: 0;
    padding: 32px;
    border: 1px solid var(--bodes-checkout-border);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 5px 22px rgba(17, 24, 39, 0.05);
}

.woocommerce-checkout .wc-block-checkout__sidebar {
    min-width: 0;
    padding: 26px;
    border: 1px solid var(--bodes-checkout-border);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 5px 22px rgba(17, 24, 39, 0.05);
}

.woocommerce-checkout .wc-block-components-checkout-step {
    margin: 0 0 34px;
    padding: 0 0 30px;
    border-bottom: 1px solid #e5e7eb;
}

.woocommerce-checkout .wc-block-components-checkout-step:last-child {
    border-bottom: 0;
}

.woocommerce-checkout .wc-block-components-checkout-step__heading {
    margin-bottom: 18px;
}

.woocommerce-checkout .wc-block-components-checkout-step__title {
    color: #202020;
    font-size: 21px;
    font-weight: 600;
    letter-spacing: -0.015em;
}

.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
.woocommerce-checkout .wc-block-components-address-form select {
    min-height: 52px;
    border: 1px solid #bfc5ce;
    border-radius: 4px;
    background: #fff;
}

.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
.woocommerce-checkout .wc-block-components-address-form select:focus {
    border-color: var(--bodes-checkout-blue);
    box-shadow: 0 0 0 1px var(--bodes-checkout-blue);
}

.woocommerce-checkout .wc-block-components-notice-banner.is-error {
    padding: 16px 18px;
    border: 1px solid #e85c5c;
    border-radius: 4px;
    background: #fff1f1;
    color: #651b1b;
}

.woocommerce-checkout .wc-block-checkout__terms {
    color: #4b5563;
    font-size: 14px;
    line-height: 1.55;
}

.woocommerce-checkout .wc-block-checkout__terms a {
    color: var(--bodes-checkout-blue);
    font-weight: 600;
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    min-height: 58px;
    border-radius: 4px;
    background: var(--bodes-checkout-blue);
    color: #fff;
    font-size: 18px;
    font-weight: 600;
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
    background: #102ba8;
}

.woocommerce-checkout .wc-block-components-order-summary {
    padding: 0;
}

.woocommerce-checkout .wc-block-components-order-summary__button-text,
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
    font-size: 21px;
    font-weight: 600;
}

.woocommerce-checkout .wc-block-components-order-summary-item {
    padding-block: 18px;
}

.woocommerce-checkout .wc-block-components-product-name {
    color: #202020;
    font-weight: 600;
    line-height: 1.35;
}

.woocommerce-checkout .wc-block-components-product-price,
.woocommerce-checkout .wc-block-components-product-total {
    color: var(--bodes-checkout-blue);
    font-size: 17px;
    font-weight: 600;
}

.woocommerce-checkout .wc-block-components-totals-wrapper {
    padding-block: 16px;
    border-top: 1px solid #e1e4e9;
}

.woocommerce-checkout .wc-block-components-totals-footer-item {
    font-size: 19px;
    font-weight: 600;
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 900px) {
    .woocommerce-cart main,
    .woocommerce-cart .wp-site-blocks > main,
    .woocommerce-checkout main,
    .woocommerce-checkout .wp-site-blocks > main,
    .woocommerce-checkout .wc-block-checkout__header {
        width: min(100% - 28px, 720px);
    }

    .woocommerce-cart .wc-block-cart,
    .woocommerce-checkout .wc-block-checkout {
        display: block;
    }

    .woocommerce-cart .wc-block-cart__sidebar,
    .woocommerce-checkout .wc-block-checkout__sidebar {
        margin-top: 28px;
    }

    .woocommerce-checkout .wc-block-checkout__main,
    .woocommerce-checkout .wc-block-checkout__sidebar {
        padding: 22px;
    }
}

@media (max-width: 600px) {
    .wc-block-mini-cart__drawer .components-modal__frame {
        width: 100vw;
    }

    .woocommerce-cart main,
    .woocommerce-cart .wp-site-blocks > main,
    .woocommerce-checkout main,
    .woocommerce-checkout .wp-site-blocks > main {
        width: calc(100% - 20px);
        padding-bottom: 48px;
    }

    .woocommerce-checkout .wc-block-checkout__header {
        width: calc(100% - 24px);
        min-height: 84px;
        margin-bottom: 20px;
        padding-block: 22px;
    }

    .woocommerce-checkout .wc-block-checkout__main,
    .woocommerce-checkout .wc-block-checkout__sidebar,
    .woocommerce-cart .wc-block-cart__sidebar {
        padding: 18px;
    }

    .woocommerce-cart .wc-block-cart-items__row {
        padding: 18px 12px;
    }
}


/* BODES_CART_CHECKOUT_V11
   Correct WooCommerce Blocks column widths and remaining visual issues.
*/

/* Cart: product list and summary remain side by side on desktop. */
.woocommerce-cart .wc-block-cart {
    display: grid !important;
    grid-template-columns: minmax(0, 1.7fr) minmax(320px, 0.9fr);
    align-items: start;
    gap: clamp(32px, 4vw, 56px);
}

.woocommerce-cart .wc-block-cart__main {
    grid-column: 1;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

.woocommerce-cart .wc-block-cart__sidebar {
    position: sticky;
    top: 28px;
    grid-column: 2;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Checkout: address form and order summary remain side by side. */
.woocommerce-checkout .wc-block-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.65fr) minmax(340px, 0.9fr);
    align-items: start;
    gap: clamp(36px, 5vw, 68px);
}

.woocommerce-checkout .wc-block-checkout__main {
    grid-column: 1;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

.woocommerce-checkout .wc-block-checkout__sidebar {
    position: sticky;
    top: 28px;
    grid-column: 2;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Make the checkout identity visible and consistent with the store. */
.woocommerce-checkout .wc-block-checkout__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.woocommerce-checkout .wc-block-checkout__header .wp-block-site-title,
.woocommerce-checkout .wc-block-checkout__header .wp-block-site-title a,
.woocommerce-checkout .wc-block-checkout__header > div > a:first-child,
.woocommerce-checkout .wc-block-checkout__header > a:first-child {
    color: #111 !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
    text-decoration: none !important;
    text-transform: uppercase;
}

/* Prevent inherited blue text from hiding the checkout button label. */
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-cart__submit-button *,
.woocommerce-cart .wc-block-components-button,
.woocommerce-cart .wc-block-components-button * {
    color: #fff !important;
    text-decoration: none !important;
}

.woocommerce-cart .wc-block-cart__submit-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: #1738d1 !important;
    opacity: 1 !important;
}

.woocommerce-cart .wc-block-cart__submit-button:hover {
    background: #102ba8 !important;
}

/* Better balance inside the cart table. */
.woocommerce-cart .wc-block-cart-items__row {
    display: grid;
    grid-template-columns: minmax(110px, 0.28fr) minmax(0, 1fr) minmax(90px, auto);
    column-gap: 20px;
}

.woocommerce-cart .wc-block-cart-item__image {
    width: auto !important;
}

.woocommerce-cart .wc-block-cart-item__product {
    min-width: 0;
}

.woocommerce-cart .wc-block-components-product-name {
    overflow-wrap: anywhere;
}

/* Make summary totals consistent. */
.woocommerce-cart .wc-block-components-totals-footer-item,
.woocommerce-checkout .wc-block-components-totals-footer-item {
    color: #202020;
}

.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #1738d1;
    font-weight: 600;
}

/* Stack only when the screen is genuinely narrow. */
@media (max-width: 960px) {
    .woocommerce-cart .wc-block-cart,
    .woocommerce-checkout .wc-block-checkout {
        display: block !important;
    }

    .woocommerce-cart .wc-block-cart__main,
    .woocommerce-cart .wc-block-cart__sidebar,
    .woocommerce-checkout .wc-block-checkout__main,
    .woocommerce-checkout .wc-block-checkout__sidebar {
        width: 100% !important;
        max-width: none !important;
    }

    .woocommerce-cart .wc-block-cart__sidebar,
    .woocommerce-checkout .wc-block-checkout__sidebar {
        position: static;
        margin-top: 28px !important;
    }
}

@media (max-width: 600px) {
    .woocommerce-cart .wc-block-cart-items__row {
        display: grid;
        grid-template-columns: 88px minmax(0, 1fr);
        column-gap: 14px;
    }

    .woocommerce-cart .wc-block-cart-item__total {
        grid-column: 2;
    }
}

/* BODES_CART_CHECKOUT_GEOMETRY_V12
   Restore WooCommerce table geometry and provide a full-width checkout canvas.
*/

/* ---------- FULL-WIDTH BLOCK CANVAS ---------- */

main:has(.wp-block-woocommerce-cart),
main:has(.wc-block-cart),
main:has(.wp-block-woocommerce-checkout),
main:has(.wc-block-checkout),
.wp-block-post-content:has(.wp-block-woocommerce-cart),
.wp-block-post-content:has(.wp-block-woocommerce-checkout),
.entry-content:has(.wp-block-woocommerce-cart),
.entry-content:has(.wp-block-woocommerce-checkout) {
    width: 100% !important;
    max-width: none !important;
}

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
    box-sizing: border-box;
    width: min(1180px, calc(100vw - 40px)) !important;
    max-width: 1180px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* ---------- CART OUTER GRID ---------- */

.wc-block-cart {
    display: grid !important;
    grid-template-columns: minmax(0, 1.75fr) minmax(310px, 0.8fr) !important;
    align-items: start !important;
    gap: clamp(30px, 4vw, 54px) !important;
    width: 100% !important;
    max-width: none !important;
}

.wc-block-cart__main {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    overflow-x: auto;
}

.wc-block-cart__sidebar {
    position: sticky !important;
    top: 28px;
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Undo the earlier grid applied directly to HTML table rows. */
.wc-block-cart-items {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.wc-block-cart-items thead {
    display: table-header-group !important;
}

.wc-block-cart-items tbody {
    display: table-row-group !important;
}

.wc-block-cart-items__row {
    display: table-row !important;
}

.wc-block-cart-items__row > td,
.wc-block-cart-item__image,
.wc-block-cart-item__product,
.wc-block-cart-item__total {
    display: table-cell !important;
    box-sizing: border-box !important;
    height: auto !important;
    vertical-align: top !important;
}

.wc-block-cart-item__image {
    width: 126px !important;
    min-width: 126px !important;
    padding: 24px 14px 24px 24px !important;
}

.wc-block-cart-item__product {
    width: auto !important;
    min-width: 0 !important;
    padding: 24px 16px !important;
}

.wc-block-cart-item__total {
    width: 112px !important;
    min-width: 112px !important;
    padding: 24px 24px 24px 10px !important;
    text-align: right !important;
}

.wc-block-cart-item__wrap {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
}

.wc-block-cart .wc-block-components-product-name,
.wc-block-cart .wc-block-components-product-metadata,
.wc-block-cart .wc-block-components-product-metadata__description,
.wc-block-cart .wc-block-components-product-price {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
}

.wc-block-cart .wc-block-components-product-name {
    display: block !important;
    margin: 0 0 12px !important;
    line-height: 1.35 !important;
}

.wc-block-cart .wc-block-components-product-metadata {
    margin-bottom: 12px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.wc-block-cart .wc-block-components-quantity-selector {
    width: 108px !important;
    min-width: 108px !important;
}

/* ---------- CHECKOUT FULL-WIDTH GRID ---------- */

.wp-block-woocommerce-checkout .wc-block-checkout,
.wc-block-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.6fr) minmax(350px, 0.85fr) !important;
    align-items: start !important;
    gap: clamp(34px, 4.5vw, 64px) !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.wc-block-checkout__main {
    grid-column: 1 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
}

.wc-block-checkout__sidebar {
    position: sticky !important;
    top: 28px;
    grid-column: 2 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
}

.wc-block-checkout__main .wc-block-components-address-form,
.wc-block-checkout__main .wc-block-components-checkout-step,
.wc-block-checkout__main .wc-block-components-form {
    width: 100% !important;
    max-width: none !important;
}

.wc-block-checkout__main .wc-block-components-text-input,
.wc-block-checkout__main .wc-block-components-combobox,
.wc-block-checkout__main .wc-block-components-address-form__address_1,
.wc-block-checkout__main .wc-block-components-address-form__city,
.wc-block-checkout__main .wc-block-components-address-form__state,
.wc-block-checkout__main .wc-block-components-address-form__postcode,
.wc-block-checkout__main .wc-block-components-address-form__phone {
    min-width: 0 !important;
}

.wc-block-checkout__main input,
.wc-block-checkout__main select {
    min-width: 0 !important;
    text-overflow: clip !important;
}

/* Checkout-specific site identity. */
body:has(.wc-block-checkout) .wp-block-site-title,
body:has(.wc-block-checkout) .wp-block-site-title a {
    color: #111 !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

/* ---------- TABLET ---------- */

@media (max-width: 980px) {
    .wp-block-woocommerce-cart,
    .wp-block-woocommerce-checkout {
        width: min(760px, calc(100vw - 28px)) !important;
    }

    .wc-block-cart,
    .wp-block-woocommerce-checkout .wc-block-checkout,
    .wc-block-checkout {
        display: block !important;
    }

    .wc-block-cart__main,
    .wc-block-cart__sidebar,
    .wc-block-checkout__main,
    .wc-block-checkout__sidebar {
        width: 100% !important;
        max-width: none !important;
    }

    .wc-block-cart__sidebar,
    .wc-block-checkout__sidebar {
        position: static !important;
        margin-top: 28px !important;
    }
}

/* ---------- MOBILE ---------- */

@media (max-width: 600px) {
    .wp-block-woocommerce-cart,
    .wp-block-woocommerce-checkout {
        width: calc(100vw - 20px) !important;
    }

    .wc-block-cart-items {
        table-layout: fixed !important;
    }

    .wc-block-cart-item__image {
        width: 82px !important;
        min-width: 82px !important;
        padding: 16px 8px 16px 10px !important;
    }

    .wc-block-cart-item__product {
        padding: 16px 8px !important;
    }

    .wc-block-cart-item__total {
        width: 76px !important;
        min-width: 76px !important;
        padding: 16px 10px 16px 4px !important;
    }

    .wc-block-cart .wc-block-components-product-name {
        font-size: 14px !important;
    }

    .wc-block-cart .wc-block-components-product-metadata {
        display: none !important;
    }

    .wc-block-checkout__main,
    .wc-block-checkout__sidebar {
        padding: 18px !important;
    }
}

/* BODES_CHECKOUT_CANVAS_V13
   Remove constrained-layout widths from checkout ancestors only.
*/

/* ---------- CART TOTAL COLUMN HEADER ---------- */

.wc-block-cart-items__header-total,
.wc-block-cart-items th.wc-block-cart-items__header-total {
    box-sizing: border-box !important;
    width: 112px !important;
    min-width: 112px !important;
    padding-right: 24px !important;
    padding-left: 10px !important;
    text-align: right !important;
    vertical-align: middle !important;
}

.wc-block-cart-items__header-product,
.wc-block-cart-items th.wc-block-cart-items__header-product {
    padding-left: 24px !important;
    text-align: left !important;
}

/* ---------- CHECKOUT ANCESTOR WIDTH RESET ---------- */

body:has(.wc-block-checkout) {
    overflow-x: hidden;
}

/*
 * Twenty Twenty-Five applies content width constraints to several nested
 * groups. Reset only ancestors that actually contain the checkout block.
 */
body:has(.wc-block-checkout) .wp-site-blocks,
body:has(.wc-block-checkout) .wp-site-blocks > main,
body:has(.wc-block-checkout) main:has(.wc-block-checkout),
body:has(.wc-block-checkout) article:has(.wc-block-checkout),
body:has(.wc-block-checkout) .entry-content:has(.wc-block-checkout),
body:has(.wc-block-checkout) .wp-block-post-content:has(.wc-block-checkout),
body:has(.wc-block-checkout) .wp-block-group:has(.wc-block-checkout) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

body:has(.wc-block-checkout)
.wp-block-group:has(.wc-block-checkout) {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* The checkout block itself is centred against the browser viewport. */
body:has(.wc-block-checkout)
.wp-block-woocommerce-checkout {
    box-sizing: border-box !important;
    width: min(1180px, calc(100vw - 64px)) !important;
    min-width: 0 !important;
    max-width: 1180px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* ---------- CHECKOUT COLUMN PROPORTIONS ---------- */

body:has(.wc-block-checkout) .wc-block-checkout {
    display: grid !important;
    grid-template-columns:
        minmax(520px, 1.65fr)
        minmax(350px, 0.85fr) !important;
    align-items: start !important;
    justify-content: stretch !important;
    gap: clamp(36px, 4vw, 58px) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
}

body:has(.wc-block-checkout) .wc-block-checkout__main {
    grid-column: 1 !important;
    place-self: start stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
}

body:has(.wc-block-checkout) .wc-block-checkout__sidebar {
    position: sticky !important;
    top: 28px !important;
    grid-column: 2 !important;
    place-self: start stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
}

/* Give form fields enough useful space. */
body:has(.wc-block-checkout)
.wc-block-checkout__main
.wc-block-components-address-form {
    display: grid;
    width: 100% !important;
    max-width: none !important;
}

body:has(.wc-block-checkout)
.wc-block-checkout__main
.wc-block-components-text-input,
body:has(.wc-block-checkout)
.wc-block-checkout__main
.wc-block-components-combobox {
    min-width: 0 !important;
}

body:has(.wc-block-checkout)
.wc-block-checkout__main input,
body:has(.wc-block-checkout)
.wc-block-checkout__main select {
    width: 100% !important;
    min-width: 0 !important;
}

/* Keep the order summary readable. */
body:has(.wc-block-checkout)
.wc-block-checkout__sidebar
.wc-block-components-order-summary-item__description {
    min-width: 0 !important;
}

body:has(.wc-block-checkout)
.wc-block-checkout__sidebar
.wc-block-components-product-name,
body:has(.wc-block-checkout)
.wc-block-checkout__sidebar
.wc-block-components-product-metadata {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
}

/* ---------- TABLET AND MOBILE ---------- */

@media (max-width: 980px) {
    body:has(.wc-block-checkout)
    .wp-block-woocommerce-checkout {
        width: min(760px, calc(100vw - 28px)) !important;
    }

    body:has(.wc-block-checkout) .wc-block-checkout {
        display: block !important;
    }

    body:has(.wc-block-checkout) .wc-block-checkout__main,
    body:has(.wc-block-checkout) .wc-block-checkout__sidebar {
        width: 100% !important;
        max-width: none !important;
    }

    body:has(.wc-block-checkout) .wc-block-checkout__sidebar {
        position: static !important;
        margin-top: 28px !important;
    }
}

@media (max-width: 600px) {
    body:has(.wc-block-checkout)
    .wp-block-woocommerce-checkout {
        width: calc(100vw - 20px) !important;
    }

    .wc-block-cart-items__header-total,
    .wc-block-cart-items th.wc-block-cart-items__header-total {
        width: 76px !important;
        min-width: 76px !important;
        padding-right: 10px !important;
        padding-left: 4px !important;
    }
}

/* BODES_CHECKOUT_VIEWPORT_V14
   Break the live checkout grid out of its shrink-to-fit parent.
*/

/* ---------- VIEWPORT-CENTRED CHECKOUT ---------- */

body:has(.wc-block-checkout) .wc-block-checkout {
    position: relative !important;
    left: 50vw !important;
    transform: translateX(-50%) !important;

    display: grid !important;
    grid-template-columns:
        minmax(0, 1.75fr)
        minmax(350px, 0.85fr) !important;

    box-sizing: border-box !important;
    width: min(1180px, calc(100vw - 40px)) !important;
    min-width: 0 !important;
    max-width: 1180px !important;

    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 80px !important;
    margin-left: 0 !important;

    gap: clamp(38px, 4vw, 60px) !important;
}

body:has(.wc-block-checkout) .wc-block-checkout__main {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    place-self: start stretch !important;
}

body:has(.wc-block-checkout) .wc-block-checkout__sidebar {
    position: sticky !important;
    top: 28px !important;
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 350px !important;
    max-width: none !important;
    place-self: start stretch !important;
}

/* ---------- ADDRESS FIELD LAYOUT ---------- */

body:has(.wc-block-checkout)
.wc-block-checkout__main
.wc-block-components-address-form {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 14px 16px !important;
    width: 100% !important;
}

/* Full-width address fields. */
body:has(.wc-block-checkout)
.wc-block-components-address-form__country,
body:has(.wc-block-checkout)
.wc-block-components-address-form__address_1,
body:has(.wc-block-checkout)
.wc-block-components-address-form__address_2 {
    box-sizing: border-box !important;
    width: 100% !important;
    flex: 0 0 100% !important;
}

/* Two fields per row on desktop. */
body:has(.wc-block-checkout)
.wc-block-components-address-form__first_name,
body:has(.wc-block-checkout)
.wc-block-components-address-form__last_name,
body:has(.wc-block-checkout)
.wc-block-components-address-form__city,
body:has(.wc-block-checkout)
.wc-block-components-address-form__state,
body:has(.wc-block-checkout)
.wc-block-components-address-form__postcode,
body:has(.wc-block-checkout)
.wc-block-components-address-form__phone {
    box-sizing: border-box !important;
    width: calc(50% - 8px) !important;
    min-width: 0 !important;
    flex: 0 0 calc(50% - 8px) !important;
}

/* Apply width only to text-like controls. */
body:has(.wc-block-checkout)
.wc-block-checkout__main
input:not([type="checkbox"]):not([type="radio"]),
body:has(.wc-block-checkout)
.wc-block-checkout__main
select,
body:has(.wc-block-checkout)
.wc-block-checkout__main
textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
}

/* Undo the accidental full-width checkbox. */
body:has(.wc-block-checkout)
.wc-block-checkout__main
input[type="checkbox"] {
    display: inline-block !important;
    box-sizing: border-box !important;
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    flex: 0 0 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

body:has(.wc-block-checkout)
.wc-block-components-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
}

body:has(.wc-block-checkout)
.wc-block-components-checkbox__label {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

/* ---------- SUMMARY PROPORTIONS ---------- */

body:has(.wc-block-checkout)
.wc-block-checkout__sidebar
.wc-block-components-order-summary {
    width: 100% !important;
}

body:has(.wc-block-checkout)
.wc-block-components-order-summary-item {
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    column-gap: 14px !important;
}

body:has(.wc-block-checkout)
.wc-block-components-order-summary-item__description {
    min-width: 0 !important;
}

body:has(.wc-block-checkout)
.wc-block-components-order-summary-item
.wc-block-components-product-name {
    font-size: 14px !important;
    line-height: 1.35 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 980px) {
    body:has(.wc-block-checkout) .wc-block-checkout {
        left: 50vw !important;
        transform: translateX(-50%) !important;
        display: block !important;
        width: min(760px, calc(100vw - 28px)) !important;
        margin-bottom: 56px !important;
    }

    body:has(.wc-block-checkout) .wc-block-checkout__sidebar {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-top: 28px !important;
    }
}

@media (max-width: 600px) {
    body:has(.wc-block-checkout) .wc-block-checkout {
        width: calc(100vw - 20px) !important;
    }

    body:has(.wc-block-checkout)
    .wc-block-components-address-form__first_name,
    body:has(.wc-block-checkout)
    .wc-block-components-address-form__last_name,
    body:has(.wc-block-checkout)
    .wc-block-components-address-form__city,
    body:has(.wc-block-checkout)
    .wc-block-components-address-form__state,
    body:has(.wc-block-checkout)
    .wc-block-components-address-form__postcode,
    body:has(.wc-block-checkout)
    .wc-block-components-address-form__phone {
        width: 100% !important;
        flex-basis: 100% !important;
    }
}

/* BODES_CHECKOUT_TEMPLATE_V15_FIX
 * Full storefront header and footer.
 * Hide the header mini-cart on checkout only.
 * Center the checkout without viewport breakout.
 */

body.page-id-8 .wp-block-woocommerce-mini-cart,
body.page-id-8 .wc-block-mini-cart,
body.page-id-8 .wc-block-checkout__header {
display: none !important;
}

body.page-id-8 .bodes-checkout-shell,
body.page-id-8 .bodes-checkout-content {
box-sizing: border-box !important;
width: 100% !important;
max-width: none !important;
min-width: 0 !important;
margin: 0 !important;
}

body.page-id-8 .bodes-checkout-shell {
padding: 52px 20px 80px !important;
background: #f7f8fa;
}

body.page-id-8 .bodes-checkout-content > .wp-block-woocommerce-checkout,
body.page-id-8 .wp-block-woocommerce-checkout {
position: static !important;
inset: auto !important;
left: auto !important;
right: auto !important;
transform: none !important;
box-sizing: border-box !important;
width: min(1100px, 100%) !important;
max-width: 1100px !important;
min-width: 0 !important;
margin: 0 auto !important;
padding: 0 !important;
}

body.page-id-8 .wc-block-checkout {
position: static !important;
inset: auto !important;
left: auto !important;
right: auto !important;
transform: none !important;
box-sizing: border-box !important;
display: grid !important;
grid-template-columns:
max(0, 1.65fr)
max(340px, 0.85fr) !important;
gap: 42px !important;
align-items: start !important;
width: 100% !important;
max-width: none !important;
min-width: 0 !important;
margin: 0 !important;
padding: 0 !important;
}

body.page-id-8 .wc-block-components-sidebar-layout {
display: contents !important;
}

body.page-id-8 .wc-block-checkout__main,
body.page-id-8 .wc-block-checkout__sidebar {
position: static !important;
inset: auto !important;
float: none !important;
transform: none !important;
box-sizing: border-box !important;
width: 100% !important;
max-width: none !important;
min-width: 0 !important;
margin: 0 !important;
}

body.page-id-8 .wc-block-checkout__main {
padding: 32px !important;
border: 1px solid #dfe3e8;
border-radius: 6px;
background: #fff;
box-shadow: 0 8px 24px rgba(24, 35, 52, 0.05);
}

body.page-id-8 .wc-block-checkout__sidebar {
padding: 0 !important;
}

@media (max-width: 900px) {
body.page-id-8 .bodes-checkout-shell {
g: 28px 16px 56px !important;
}

body.page-id-8 .wc-block-checkout {
t;
: column !important;
t;
}

body.page-id-8 .wc-block-checkout__main,
body.page-id-8 .wc-block-checkout__sidebar {
t;
}

body.page-id-8 .wc-block-checkout__main {
g: 22px 18px !important;
}
}

/* BODES_CART_CHECKOUT_ITEMS_V16
 * Hide product short descriptions in cart and checkout only.
 * Preserve product names, prices, attributes and product data.
 * Add comfortable left spacing for product images.
 */

body.page-id-7
.wc-block-components-product-metadata__description,
body.page-id-8
.wc-block-components-product-metadata__description {
display: none !important;
}

/* Cart product images. */
body.page-id-7
.wc-block-cart-item__image {
box-sizing: border-box !important;
padding-left: 18px !important;
padding-right: 10px !important;
}

/* Checkout order-summary product images. */
body.page-id-8
.wc-block-components-order-summary-item__image {
box-sizing: border-box !important;
margin-left: 14px !important;
}

/* Keep image proportions after adding spacing. */
body.page-id-7
.wc-block-cart-item__image img,
body.page-id-8
.wc-block-components-order-summary-item__image img {
display: block !important;
max-width: 100% !important;
height: auto !important;
object-fit: contain !important;
}

@media (max-width: 600px) {
body.page-id-7
.wc-block-cart-item__image {
g-left: 10px !important;
g-right: 6px !important;
}

body.page-id-8
.wc-block-components-order-summary-item__image {
-left: 8px !important;
}
}

/* BODES_MENU_ARROW_INSET_V1
 * Keep submenu chevrons away from the right edges of top menu tabs.
 */
@media (min-width: 782px) {
    header
    .wp-block-navigation
    > .wp-block-navigation__container
    > .wp-block-navigation-item.has-child {
        position: relative;
    }

    header
    .wp-block-navigation
    > .wp-block-navigation__container
    > .wp-block-navigation-item.has-child
    > .wp-block-navigation-item__content {
        box-sizing: border-box;
        padding-right: 36px !important;
        padding-left: 36px !important;
    }

    header
    .wp-block-navigation
    > .wp-block-navigation__container
    > .wp-block-navigation-item.has-child
    > .wp-block-navigation__submenu-icon {
        position: absolute !important;
        top: 50% !important;
        right: 16px !important;
        margin: 0 !important;
        transform: translateY(-50%) !important;
    }
}

/* BODES_REAL_MENU_ARROW_INSET_V2
 * Actual markup:
 * ul.bodes-main-nav.wp-block-navigation
 *   > li.has-child
 *     > a
 *     > button.wp-block-navigation__submenu-icon
 */
@media (min-width: 782px) {
    ul.bodes-main-nav.wp-block-navigation
    > li.wp-block-navigation-item.has-child {
        position: relative !important;
    }

    ul.bodes-main-nav.wp-block-navigation
    > li.wp-block-navigation-item.has-child
    > a.wp-block-navigation-item__content {
        box-sizing: border-box;
        width: 100% !important;
        height: 100%;
        padding-right: 38px !important;
        padding-left: 38px !important;
        justify-content: center !important;
        text-align: center;
    }

    ul.bodes-main-nav.wp-block-navigation
    > li.wp-block-navigation-item.has-child
    > button.wp-block-navigation__submenu-icon {
        position: absolute !important;
        top: 50% !important;
        right: 16px !important;
        left: auto !important;
        margin: 0 !important;
        transform: translateY(-50%) !important;
        z-index: 2;
    }
}

/* BODES_PRODUCT_LIST_MINICART_V1
 * Hide short descriptions in catalog/list contexts.
 * Preserve the full description and short description on single-product pages.
 */
body:not(.single-product)
.wp-block-woocommerce-product-summary,
body:not(.single-product)
.wc-block-components-product-summary,
body:not(.single-product)
.wc-block-grid__product-excerpt,
body:not(.single-product)
.woocommerce-loop-product__description,
body:not(.single-product)
ul.products
.woocommerce-product-details__short-description,
body:not(.single-product)
.products
.product
.product-short-description {
    display: none !important;
}

/* The mini-cart description is not useful and makes each row too tall. */
.wc-block-mini-cart__drawer
.wc-block-components-product-metadata__description {
    display: none !important;
}

/*
 * Allocate more horizontal space to the product name.
 * Previous live layout used three equal 139px columns.
 */
.wc-block-mini-cart__drawer
table.wc-block-mini-cart-items {
    table-layout: fixed !important;
    width: 100% !important;
}

.wc-block-mini-cart__drawer
.wc-block-cart-items__row
> .wc-block-cart-item__image {
    box-sizing: border-box;
    width: 112px !important;
    padding-right: 12px !important;
    padding-left: 20px !important;
    vertical-align: top !important;
}

.wc-block-mini-cart__drawer
.wc-block-cart-items__row
> .wc-block-cart-item__product {
    box-sizing: border-box;
    width: auto !important;
    padding-right: 8px !important;
    padding-left: 8px !important;
    vertical-align: top !important;
}

.wc-block-mini-cart__drawer
.wc-block-cart-items__row
> .wc-block-cart-item__total {
    box-sizing: border-box;
    width: 88px !important;
    padding-right: 18px !important;
    padding-left: 6px !important;
    vertical-align: top !important;
}

.wc-block-mini-cart__drawer
.wc-block-cart-item__product
> .wc-block-cart-item__wrap {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
}

.wc-block-mini-cart__drawer
.wc-block-cart-item__wrap
> .wc-block-components-product-name {
    box-sizing: border-box;
    display: block;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.35 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto;
}

/* Keep prices and quantity controls aligned with the product name. */
.wc-block-mini-cart__drawer
.wc-block-cart-item__wrap
> .wc-block-cart-item__prices,
.wc-block-mini-cart__drawer
.wc-block-cart-item__wrap
> .wc-block-components-product-metadata,
.wc-block-mini-cart__drawer
.wc-block-cart-item__wrap
> .wc-block-cart-item__quantity {
    width: 100%;
    margin-right: 0 !important;
    margin-left: 0 !important;
    text-align: left !important;
}

/* Narrow phones need slightly smaller fixed image and total columns. */
@media (max-width: 480px) {
    .wc-block-mini-cart__drawer
    .wc-block-cart-items__row
    > .wc-block-cart-item__image {
        width: 82px !important;
        padding-right: 8px !important;
        padding-left: 12px !important;
    }

    .wc-block-mini-cart__drawer
    .wc-block-cart-items__row
    > .wc-block-cart-item__total {
        width: 70px !important;
        padding-right: 10px !important;
        padding-left: 4px !important;
    }
}

/* BODES_SINGLE_PRODUCT_MODULES_STYLE_V1 */

/* Remove only the upper excerpt; preserve the Description tab. */
.single-product
.wp-block-post-excerpt {
    display: none !important;
}

/* Canonical category is rendered below the product tabs. */
.single-product
.taxonomy-product_cat.wp-block-post-terms {
    display: none !important;
}

/* Hide the default related-products pattern to prevent duplication. */
.single-product
.wp-block-woocommerce-related-products,
.single-product
.related.products {
    display: none !important;
}

.bodes-single-product-modules {
    box-sizing: border-box;
    width: min(100% - 32px, 1180px);
    margin: 34px auto 0;
}

.bodes-product-neighbours {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    margin-bottom: 18px;
}

.bodes-product-neighbours__item {
    min-width: 0;
}

.bodes-product-neighbours__label {
    display: block;
    margin: 0 0 8px;
    color: #3b3b3b;
    font-size: 14px;
    font-weight: 700;
}

.bodes-product-neighbours__label.is-next {
    text-align: right;
}

.bodes-product-module-card {
    min-width: 0;
    height: 100%;
    overflow: hidden;
    border: 1px solid #e1e4e9;
    border-bottom: 3px solid #163bdb;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 4px 14px rgb(20 30 50 / 7%);
}

.bodes-product-module-card__link {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    height: 100%;
    padding: 14px;
    color: #222;
    text-decoration: none;
}

.bodes-product-module-card__link:hover {
    color: #163bdb;
}

.bodes-product-module-card__media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
}

.bodes-product-module-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: contain;
}

.bodes-product-module-card__content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 9px;
}

.bodes-product-module-card__title {
    overflow: hidden;
    color: inherit;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.35;
    overflow-wrap: break-word;
}

.bodes-product-module-card__price {
    color: #163bdb;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.15;
}

.bodes-product-module-card__price del {
    color: #777;
    font-size: 14px;
    font-weight: 400;
}

.bodes-product-module-card__price ins {
    text-decoration: none;
}

.bodes-canonical-category {
    margin: 18px 0 34px;
}

.bodes-canonical-category__button {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 46px;
    padding: 0 20px;
    border: 1px solid #cfd4dd;
    border-radius: 5px;
    background: #f3f4f6;
    color: #272727;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 2px 5px rgb(20 30 50 / 8%);
}

.bodes-canonical-category__button:hover {
    border-color: #163bdb;
    background: #163bdb;
    color: #fff;
}

.bodes-category-products,
.bodes-recent-products {
    margin: 34px 0;
}

.bodes-product-module-heading {
    margin: 0 0 18px;
    color: #282828;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 600;
    line-height: 1.2;
}

.bodes-product-module-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.bodes-product-module-grid
.bodes-product-module-card__link {
    grid-template-columns: 1fr;
    align-content: start;
    gap: 12px;
}

.bodes-product-module-grid
.bodes-product-module-card__media {
    width: 100%;
    height: 190px;
}

.bodes-product-module-grid
.bodes-product-module-card__content {
    padding: 0 4px 4px;
    text-align: center;
}

.bodes-product-module-grid
.bodes-product-module-card__title {
    min-height: 41px;
}

@media (max-width: 900px) {
    .bodes-product-module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .bodes-single-product-modules {
        width: min(100% - 24px, 1180px);
        margin-top: 24px;
    }

    .bodes-product-neighbours {
        grid-template-columns: 1fr;
    }

    .bodes-product-neighbours__label.is-next {
        text-align: left;
    }

    .bodes-product-module-card__link {
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 12px;
        padding: 12px;
    }

    .bodes-product-module-card__media {
        width: 82px;
        height: 82px;
    }

    .bodes-product-module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .bodes-product-module-grid
    .bodes-product-module-card__media {
        width: 100%;
        height: 140px;
    }

    .bodes-canonical-category__button {
        box-sizing: border-box;
        justify-content: center;
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 420px) {
    .bodes-product-module-grid {
        grid-template-columns: 1fr;
    }
}

/* BODES_SINGLE_PRODUCT_NAVIGATION_V2
 * Align navigation with the product-description block.
 * Push the canonical-category button below navigation cards.
 */
@media (min-width: 782px) {
    body.single-product .bodes-single-product-modules {
        width: calc(100% - 140px) !important;
        max-width: var(--wp--style--global--wide-size, 1180px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.single-product .bodes-product-neighbours {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 32px !important;
        width: 100% !important;
    }

    body.single-product
    .bodes-product-neighbours__item:first-child {
        justify-self: start !important;
        width: 100% !important;
    }

    body.single-product
    .bodes-product-neighbours__item:last-child {
        justify-self: end !important;
        width: 100% !important;
    }

    body.single-product
    .bodes-product-neighbours__item:last-child
    .bodes-product-neighbours__label {
        display: block !important;
        text-align: right !important;
    }

    body.single-product .bodes-canonical-category {
        margin-top: 38px !important;
        margin-bottom: 38px !important;
        clear: both !important;
    }
}

@media (max-width: 781px) {
    body.single-product .bodes-single-product-modules {
        width: calc(100% - 32px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.single-product .bodes-product-neighbours {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    body.single-product .bodes-canonical-category {
        margin-top: 30px !important;
        margin-bottom: 30px !important;
    }
}

/* BODES_SINGLE_PRODUCT_NAVIGATION_V21
 * Exact alignment with the wide product-description block.
 */
@media (min-width: 782px) {
    body.single-product .bodes-single-product-modules {
        width: calc(100% - 40px) !important;
        max-width: var(--wp--style--global--wide-size, 1180px) !important;
    }

    body.single-product .bodes-product-neighbours {
        width: 100% !important;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr) !important;
        gap: 32px !important;
    }

    body.single-product .bodes-canonical-category {
        margin-top: 38px !important;
    }
}

/* BODES_SINGLE_PRODUCT_RIGHT_EDGE_V22
 * Keep the existing left edge and match the outer right edge
 * of the WooCommerce description panel.
 */
@media (min-width: 782px) {
    body.single-product .bodes-single-product-modules {
        width: calc(100% + 2px) !important;
        max-width: var(--wp--style--global--wide-size, 1180px) !important;
        margin-left: 20px !important;
        margin-right: 20px !important;
    }
}

/*
 * BODES_WPC_PRODUCT_BUTTONS_STAGE2
 */

.single-product .bodes-product-secondary-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
    margin: 16px 0 4px;
}

.single-product .bodes-product-action {
    min-width: 0;
}

.single-product .bodes-product-action > button,
.single-product .bodes-product-action .woosw-btn,
.single-product .bodes-product-action .woosc-btn {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 11px 16px;
    border: 1px solid #d8dce5;
    border-radius: 4px;
    background: #fff;
    color: #1737d1;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    cursor: pointer;
    transition:
        border-color 160ms ease,
        background-color 160ms ease,
        color 160ms ease,
        box-shadow 160ms ease;
}

.single-product .bodes-product-action > button:hover,
.single-product .bodes-product-action > button:focus-visible,
.single-product .bodes-product-action .woosw-btn:hover,
.single-product .bodes-product-action .woosw-btn:focus-visible,
.single-product .bodes-product-action .woosc-btn:hover,
.single-product .bodes-product-action .woosc-btn:focus-visible {
    border-color: #1737d1;
    background: #f3f6ff;
    color: #1737d1;
    box-shadow: 0 3px 12px rgba(23, 55, 209, 0.12);
    outline: none;
}

.single-product .bodes-product-action .woosw-btn::before,
.single-product .bodes-product-action .woosc-btn::before {
    flex: 0 0 auto;
    margin: 0;
}

.single-product .bodes-product-action .woosw-btn.woosw-added,
.single-product .bodes-product-action .woosc-btn.woosc-added {
    border-color: #1737d1;
    background: #1737d1;
    color: #fff;
}

@media (max-width: 600px) {
    .single-product .bodes-product-secondary-actions {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

/*
 * BODES_PRODUCT_PRICE_DESCRIPTION_V23
 *
 * Larger left-aligned price, hidden stock message and padded
 * single-product description content.
 */

/* Align the price with the left edge of the product summary. */
.single-product
.wp-block-woocommerce-product-price
.wc-block-components-product-price {
    box-sizing: border-box;
    width: 100%;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0;
    padding-left: 0;
    text-align: left !important;
}

/* Increase both regular and discounted price elements. */
.single-product
.wp-block-woocommerce-product-price
.wc-block-components-product-price,
.single-product
.wp-block-woocommerce-product-price
.woocommerce-Price-amount,
.single-product
.wp-block-woocommerce-product-price
.woocommerce-Price-currencySymbol {
    font-size: 32px !important;
    font-weight: 500;
    line-height: 1.2;
}

/* Keep a sale price group aligned to the left as one unit. */
.single-product
.wp-block-woocommerce-product-price
.wc-block-components-product-price {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
}

/*
 * Hide only the storefront stock message.
 * Stock management and quantities remain active in WooCommerce.
 */
.single-product
.wp-block-woocommerce-add-to-cart-form
.stock,
.single-product
.wp-block-add-to-cart-form
.stock {
    display: none !important;
}

.single-product
.wp-block-add-to-cart-form
form.cart {
    margin-top: 12px;
}

/* Add readable space inside every product information tab. */
.single-product
.woocommerce-tabs
.woocommerce-Tabs-panel {
    box-sizing: border-box;
    padding: 26px 28px !important;
}

/* Remove accidental margins that can cancel the new inset. */
.single-product
.woocommerce-tabs
.woocommerce-Tabs-panel > :first-child {
    margin-top: 0;
}

.single-product
.woocommerce-tabs
.woocommerce-Tabs-panel > :last-child {
    margin-bottom: 0;
}

@media (max-width: 700px) {
    .single-product
    .wp-block-woocommerce-product-price
    .wc-block-components-product-price,
    .single-product
    .wp-block-woocommerce-product-price
    .woocommerce-Price-amount,
    .single-product
    .wp-block-woocommerce-product-price
    .woocommerce-Price-currencySymbol {
        font-size: 28px !important;
    }

    .single-product
    .woocommerce-tabs
    .woocommerce-Tabs-panel {
        padding: 20px 18px !important;
    }
}

/* =========================================
   BODES.LV LEFT PRODUCT CATEGORY MENU
   ========================================= */

.woocommerce .widget_product_categories {
    background: #fff;
    border: 4px solid #f0f0f0;
    padding: 16px 18px;
    box-sizing: border-box;
}

.woocommerce .widget_product_categories ul.product-categories,
.woocommerce .widget_product_categories ul.children {
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocommerce .widget_product_categories > ul.product-categories > li {
    position: relative;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #e8e8e8;
}

.woocommerce .widget_product_categories > ul.product-categories > li > a {
    display: block;
    padding: 11px 34px 11px 0;
    color: #111;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
}

.woocommerce .widget_product_categories > ul.product-categories > li > a:hover {
    color: #f15a24;
}

.woocommerce .widget_product_categories li.current-cat > a,
.woocommerce .widget_product_categories li.current-cat-parent > a {
    color: #f15a24;
}

.woocommerce .widget_product_categories ul.children {
    margin: 0;
    padding: 0 0 0 20px;
}

.woocommerce .widget_product_categories ul.children li {
    margin: 0;
    border-top: 1px solid #ededed;
}

.woocommerce .widget_product_categories ul.children li a {
    display: block;
    padding: 10px 4px 10px 0;
    color: #111;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 400;
    text-transform: none;
    text-decoration: none;
}

.woocommerce .widget_product_categories ul.children li a:hover,
.woocommerce .widget_product_categories ul.children li.current-cat > a {
    color: #f15a24;
}

.woocommerce .widget_product_categories .count {
    display: none;
}

/* визуальная стрелка для категорий с дочерними пунктами */
.woocommerce .widget_product_categories li.cat-parent > a::after {
    content: "⌄";
    position: absolute;
    right: 0;
    top: 8px;
    width: 24px;
    height: 24px;
    line-height: 20px;
    text-align: center;
    border: 1px solid #d7d7d7;
    background: #f7f7f7;
    color: #333;
    font-size: 15px;
    font-weight: 400;
    box-sizing: border-box;
}

.woocommerce .widget_product_categories li.current-cat-parent > a::after,
.woocommerce .widget_product_categories li.current-cat.cat-parent > a::after {
    content: "⌃";
}


/* BODES CATEGORY SIDEBAR V2 */

.bodes-shop-layout {
    align-items: flex-start;
    gap: 34px;
}

.bodes-shop-sidebar {
    flex: 0 0 280px !important;
    max-width: 280px;
}

.bodes-category-menu {
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    border: 4px solid #f1f1f1;
    padding: 14px 18px;
}

.bodes-category-menu .wc-block-product-categories-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.bodes-category-menu
.wc-block-product-categories-list--depth-0
> .wc-block-product-categories-list-item {
    position: relative;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #e5e5e5;
}

.bodes-category-menu
.wc-block-product-categories-list--depth-0
> .wc-block-product-categories-list-item
> a {
    display: block;
    padding: 12px 34px 12px 0;
    color: #111;
    font-size: 15px;
    line-height: 1.25;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
}

.bodes-category-menu
.wc-block-product-categories-list--depth-0
> .wc-block-product-categories-list-item
> a:hover {
    color: #ef6c00;
}

.bodes-category-menu .wc-block-product-categories-list--depth-1,
.bodes-category-menu .wc-block-product-categories-list--depth-2,
.bodes-category-menu .wc-block-product-categories-list--depth-3,
.bodes-category-menu .wc-block-product-categories-list--depth-4 {
    margin: 0;
    padding: 0 0 5px 18px;
}

.bodes-category-menu
.wc-block-product-categories-list:not(.wc-block-product-categories-list--depth-0)
> li {
    position: relative;
    margin: 0;
    padding: 0;
    border-top: 1px solid #eeeeee;
}

.bodes-category-menu
.wc-block-product-categories-list:not(.wc-block-product-categories-list--depth-0)
> li
> a {
    display: block;
    padding: 9px 30px 9px 0;
    color: #222;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 400;
    text-transform: none;
    text-decoration: none;
}

.bodes-category-menu
.wc-block-product-categories-list:not(.wc-block-product-categories-list--depth-0)
> li
> a:hover {
    color: #ef6c00;
}

.bodes-category-menu .bodes-cat-toggle {
    position: absolute;
    z-index: 2;
    top: 8px;
    right: 0;
    width: 24px;
    height: 24px;
    margin: 0;
    padding: 0;
    border: 1px solid #d6d6d6;
    background: #f7f7f7;
    color: #333;
    cursor: pointer;
    font-size: 0;
    line-height: 1;
}

.bodes-category-menu .bodes-cat-toggle::before {
    content: "";
    position: absolute;
    left: 7px;
    top: 6px;
    width: 7px;
    height: 7px;
    border-right: 2px solid #555;
    border-bottom: 2px solid #555;
    transform: rotate(45deg);
    transition: transform .15s ease;
}

.bodes-category-menu
.wc-block-product-categories-list-item.bodes-cat-open
> .bodes-cat-toggle::before {
    top: 9px;
    transform: rotate(225deg);
}

.bodes-category-menu
.wc-block-product-categories-list-item.bodes-current-cat
> a,
.bodes-category-menu
.wc-block-product-categories-list-item.bodes-current-parent
> a {
    color: #ef6c00;
}

.bodes-category-menu ul[hidden] {
    display: none !important;
}

.bodes-shop-content {
    min-width: 0;
}

@media (max-width: 900px) {
    .bodes-shop-layout {
        display: block;
    }

    .bodes-shop-sidebar {
        max-width: none;
        width: 100%;
        margin-bottom: 28px;
    }

    .bodes-category-menu {
        width: 100%;
    }
}

/* BODES SINGLE PRODUCT WITH LEFT CATEGORY MENU */

.bodes-product-layout {
    align-items: flex-start;
    gap: 34px;
}

.bodes-product-content {
    min-width: 0;
    flex: 1 1 auto;
}

@media (max-width: 1100px) {
    .bodes-product-content > .wp-block-columns {
        flex-wrap: wrap;
    }
}

@media (max-width: 900px) {
    .bodes-product-layout {
        display: block;
    }

    .bodes-product-layout .bodes-shop-sidebar {
        width: 100%;
        max-width: none;
        margin-bottom: 28px;
    }
}

/*
 * BODES_CATEGORY_GRID_3_COLUMNS_V1
 * Product archives: desktop 3, tablet 2, mobile 1.
 */

/* Desktop category and main shop catalog. */
@media (min-width: 901px) {
    body.tax-product_cat
    .wc-block-product-template.wc-block-product-template__responsive,
    body.post-type-archive-product
    .wc-block-product-template.wc-block-product-template__responsive {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        column-gap: 22px !important;
        row-gap: 28px !important;
    }

    body.tax-product_cat
    .wc-block-product-template
    > .wc-block-product,
    body.post-type-archive-product
    .wc-block-product-template
    > .wc-block-product {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }
}

/* Tablet. */
@media (min-width: 641px) and (max-width: 900px) {
    body.tax-product_cat
    .wc-block-product-template.wc-block-product-template__responsive,
    body.post-type-archive-product
    .wc-block-product-template.wc-block-product-template__responsive {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

/* Mobile. */
@media (max-width: 640px) {
    body.tax-product_cat
    .wc-block-product-template.wc-block-product-template__responsive,
    body.post-type-archive-product
    .wc-block-product-template.wc-block-product-template__responsive {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
    }
}

/*
 * BODES_CHECKOUT_MOBILE_LAYOUT_V16
 * Overrides late desktop grid rules on checkout page 8.
 */

@media (max-width: 900px) {
    body.page-id-8 {
        overflow-x: hidden !important;
    }

    body.page-id-8 .bodes-checkout-shell {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        padding: 28px 14px 56px !important;
        overflow: hidden !important;
    }

    body.page-id-8 .bodes-checkout-content,
    body.page-id-8 .wp-block-woocommerce-checkout {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 720px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    body.page-id-8 .wc-block-checkout {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        display: block !important;
        grid-template-columns: none !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.page-id-8 .wc-block-checkout__main,
    body.page-id-8 .wc-block-checkout__sidebar {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        grid-column: auto !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    body.page-id-8 .wc-block-checkout__sidebar {
        margin-top: 24px !important;
    }
}

@media (max-width: 600px) {
    body.page-id-8 .bodes-checkout-shell {
        padding: 18px 10px 42px !important;
    }

    body.page-id-8 .wc-block-checkout__main {
        padding: 18px 14px !important;
    }

    body.page-id-8 .wc-block-checkout__sidebar {
        padding: 0 !important;
        margin-top: 20px !important;
    }

    body.page-id-8 .wc-block-checkout__main *,
    body.page-id-8 .wc-block-checkout__sidebar * {
        box-sizing: border-box;
        max-width: 100%;
    }

    body.page-id-8
    .wc-block-checkout__main
    .wc-block-components-address-form {
        display: block !important;
        width: 100% !important;
    }

    body.page-id-8
    .wc-block-components-address-form
    > div {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: 0 0 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    body.page-id-8
    .wc-block-components-address-form
    .wc-block-components-text-input,
    body.page-id-8
    .wc-block-components-address-form
    .wc-block-components-combobox {
        width: 100% !important;
        margin-bottom: 14px !important;
    }

    body.page-id-8
    .wc-block-components-address-form
    input:not([type="checkbox"]):not([type="radio"]),
    body.page-id-8
    .wc-block-components-address-form
    select,
    body.page-id-8
    .wc-block-components-address-form
    textarea {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.page-id-8
    .wc-block-components-order-summary-item {
        grid-template-columns: 54px minmax(0, 1fr) auto !important;
        column-gap: 10px !important;
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    body.page-id-8
    .wc-block-components-order-summary-item__image {
        width: 54px !important;
        min-width: 54px !important;
    }

    body.page-id-8
    .wc-block-components-order-summary-item__description {
        min-width: 0 !important;
    }

    body.page-id-8
    .wc-block-components-product-name {
        font-size: 14px !important;
        line-height: 1.35 !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    body.page-id-8
    .wc-block-components-product-metadata {
        display: none !important;
    }

    body.page-id-8
    .wc-block-components-checkout-place-order-button {
        width: 100% !important;
        min-width: 0 !important;
    }
}


/*
 * BODES_MOBILE_CATEGORY_AND_DRAWER_V1
 * Mobile product-category page and Gatavosana-style drawer.
 */

/* Desktop description remains fully visible. */
.bodes-category-description__toggle {
    display: none;
}

/* Mobile and tablet catalog layout. */
@media (max-width: 900px) {
    /*
     * The category block duplicates the main navigation and consumes
     * the full mobile width, so it is hidden on product archives.
     */
    body.tax-product_cat .bodes-shop-sidebar,
    body.post-type-archive-product .bodes-shop-sidebar {
        display: none !important;
    }

    body.tax-product_cat .bodes-shop-layout,
    body.post-type-archive-product .bodes-shop-layout {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    body.tax-product_cat .bodes-shop-content,
    body.post-type-archive-product .bodes-shop-content {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: 0 0 100% !important;
    }

    body.tax-product_cat .wp-block-query-title {
        margin-bottom: 16px !important;
        font-size: clamp(28px, 8vw, 38px) !important;
        line-height: 1.1 !important;
    }

    /* Collapsible category description. */
    body.tax-product_cat .bodes-category-description {
        position: relative;
        margin-bottom: 24px;
        font-size: 16px;
        line-height: 1.55;
    }

    body.tax-product_cat
    .bodes-category-description__content {
        position: relative;
        overflow: hidden;
        transition: max-height 0.25s ease;
    }

    body.tax-product_cat
    .bodes-category-description.is-collapsed
    .bodes-category-description__content {
        max-height: 190px;
    }

    body.tax-product_cat
    .bodes-category-description.is-collapsed
    .bodes-category-description__content::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        height: 70px;
        pointer-events: none;
        background: linear-gradient(
            to bottom,
            rgba(255, 255, 255, 0),
            #fff 88%
        );
    }

    body.tax-product_cat
    .bodes-category-description.is-expanded
    .bodes-category-description__content {
        max-height: none;
        overflow: visible;
    }

    body.tax-product_cat
    .bodes-category-description__content
    .wp-block-term-description {
        margin: 0 !important;
        font-size: inherit !important;
        line-height: inherit !important;
    }

    body.tax-product_cat
    .bodes-category-description__toggle {
        position: relative;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        margin-top: 8px;
        padding: 10px 20px;
        border: 1px solid #1736c7;
        border-radius: 4px;
        background: #fff;
        color: #1736c7;
        cursor: pointer;
        font-size: 15px;
        font-weight: 700;
    }

    body.tax-product_cat
    .bodes-category-description__toggle:hover,
    body.tax-product_cat
    .bodes-category-description__toggle:focus {
        background: #1736c7;
        color: #fff;
    }

    /*
     * Toolbar becomes a normal vertical block instead of squeezing
     * “Showing 1–16…” into a narrow vertical column.
     */
    body.tax-product_cat .bodes-shop-toolbar,
    body.post-type-archive-product .bodes-shop-toolbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
        align-items: stretch !important;
        width: 100% !important;
        margin-bottom: 22px !important;
    }

    body.tax-product_cat
    .wc-block-product-results-count,
    body.tax-product_cat
    .woocommerce-result-count,
    body.post-type-archive-product
    .wc-block-product-results-count,
    body.post-type-archive-product
    .woocommerce-result-count {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        writing-mode: horizontal-tb !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        white-space: normal !important;
    }

    body.tax-product_cat
    .wp-block-woocommerce-catalog-sorting,
    body.tax-product_cat
    .woocommerce-ordering,
    body.tax-product_cat
    .woocommerce-ordering select,
    body.post-type-archive-product
    .wp-block-woocommerce-catalog-sorting,
    body.post-type-archive-product
    .woocommerce-ordering,
    body.post-type-archive-product
    .woocommerce-ordering select {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    /*
     * Compact Gatavosana-style menu button.
     */
    .bodes-nav-wrap {
        box-sizing: border-box !important;
        padding: 10px 16px !important;
        border-bottom: 4px solid #299fd3;
        background: #fff;
    }

    .bodes-main-nav {
        justify-content: flex-start !important;
        min-height: 54px !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: none !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container-open {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 54px;
        min-width: 54px;
        height: 54px;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid #b9b9b9;
        border-radius: 5px;
        background: linear-gradient(#f8f8f8, #dddddd);
        color: #555;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.14);
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container-open svg {
        width: 28px;
        height: 28px;
    }

    /*
     * Left drawer. A large shadow provides the dark overlay without
     * adding another plugin or changing the header template.
     */
    .bodes-main-nav
    .wp-block-navigation__responsive-container.is-menu-open {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        z-index: 100000 !important;
        box-sizing: border-box !important;
        display: block !important;
        width: min(86vw, 380px) !important;
        min-width: 0 !important;
        max-width: 380px !important;
        height: 100vh !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 68px 0 28px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        background: #eeeeee !important;
        color: #222 !important;
        box-shadow:
            100vw 0 0 100vw rgba(0, 0, 0, 0.52),
            4px 0 18px rgba(0, 0, 0, 0.18) !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container-close {
        position: absolute !important;
        top: 14px !important;
        right: 14px !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 0 !important;
        border: 1px solid #d2d2d2;
        border-radius: 50%;
        background: #fff;
        color: #222;
        box-shadow: 0 2px 7px rgba(0, 0, 0, 0.12);
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container-close svg {
        width: 25px;
        height: 25px;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container-content {
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container
    > .wp-block-navigation-item {
        position: relative !important;
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #d2d2d2 !important;
        box-shadow: none !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container
    > .wp-block-navigation-item
    > .wp-block-navigation-item__content {
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 58px !important;
        padding: 16px 58px 16px 24px !important;
        color: #333 !important;
        background: transparent !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
        box-shadow: none !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-submenu
    > .wp-block-navigation-submenu__toggle {
        position: absolute !important;
        z-index: 3 !important;
        top: 0 !important;
        right: 0 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 56px !important;
        height: 58px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-submenu
    > .wp-block-navigation-submenu__toggle svg {
        width: 14px;
        height: 14px;
        transition: transform 0.18s ease;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-submenu
    > .wp-block-navigation-submenu__toggle[aria-expanded="true"]
    svg {
        transform: rotate(180deg);
    }

    /*
     * Previous theme rules forced every submenu to display:block.
     * Closed branches are now hidden and only the selected branch opens.
     */
    .bodes-main-nav
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-submenu
    > ul.wp-block-navigation__submenu-container {
        position: static !important;
        display: none !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 0 8px !important;
        overflow: visible !important;
        column-count: 1 !important;
        transform: none !important;
        background: #e5e5e5 !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-submenu
    > .wp-block-navigation-submenu__toggle[aria-expanded="true"]
    ~ ul.wp-block-navigation__submenu-container {
        display: block !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container.is-menu-open
    ul.wp-block-navigation__submenu-container
    > .wp-block-navigation-item {
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-top: 1px solid #d4d4d4 !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container.is-menu-open
    ul.wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 13px 24px 13px 40px !important;
        color: #454545 !important;
        background: transparent !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        line-height: 1.35 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        box-shadow: none !important;
    }
}

@media (max-width: 600px) {
    body.tax-product_cat .bodes-shop-main,
    body.post-type-archive-product .bodes-shop-main {
        box-sizing: border-box !important;
        width: 100% !important;
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    body.tax-product_cat .wc-block-product-template,
    body.post-type-archive-product .wc-block-product-template {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* BODES_CATEGORY_PRODUCT_UI_V24
 * Category lists, category disclosures, product gallery and navigation.
 */

/* Category description: collapsed on desktop and mobile. */
body.tax-product_cat .bodes-category-description {
    position: relative;
    width: 100%;
    margin: 0 0 28px;
}

body.tax-product_cat
.bodes-category-description__content {
    position: relative;
    max-height: 220px;
    overflow: hidden;
}

body.tax-product_cat
.bodes-category-description:not(.is-expanded)
.bodes-category-description__content {
    -webkit-mask-image: linear-gradient(
        to bottom,
        #000 72%,
        transparent 100%
    );
    mask-image: linear-gradient(
        to bottom,
        #000 72%,
        transparent 100%
    );
}

body.tax-product_cat
.bodes-category-description.is-expanded
.bodes-category-description__content {
    max-height: none;
    overflow: visible;
    -webkit-mask-image: none;
    mask-image: none;
}

body.tax-product_cat
.bodes-category-description__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 16px;
    padding: 10px 22px;
    border: 1px solid #d5dae3;
    border-radius: 4px;
    background: #fff;
    color: #1237df;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

body.tax-product_cat
.bodes-category-description__toggle:hover {
    border-color: #1237df;
    background: #f5f7ff;
}

/* Sidebar category tree: only the pressed arrow controls its branch. */
.bodes-category-menu ul[hidden],
.bodes-category-menu
.wp-block-navigation__submenu-container[hidden] {
    display: none !important;
}

.bodes-category-menu button {
    cursor: pointer;
}

.bodes-category-menu
button[aria-expanded="true"] {
    transform: rotate(180deg);
}

/* Desktop category cards: stable image area matching card width. */
@media (min-width: 901px) {
    body.tax-product_cat
    .wc-block-product-template,
    body.post-type-archive-product
    .wc-block-product-template {
        grid-template-columns: repeat(
            3,
            minmax(0, 1fr)
        ) !important;
    }

    body.tax-product_cat
    .wc-block-product-template
    .wc-block-components-product-image,
    body.post-type-archive-product
    .wc-block-product-template
    .wc-block-components-product-image {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100% !important;
        aspect-ratio: 1 / 1;
        margin: 0 !important;
        padding: 12px;
        overflow: hidden;
        box-sizing: border-box;
    }

    body.tax-product_cat
    .wc-block-product-template
    .wc-block-components-product-image img,
    body.post-type-archive-product
    .wc-block-product-template
    .wc-block-components-product-image img {
        display: block;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: center;
    }

    /*
     * Larger single-product image column.
     * :has() limits the rule to the main gallery columns only.
     */
    body.single-product
    main
    .wp-block-columns:has(
        > .wp-block-column
        > .wp-block-woocommerce-product-image-gallery
    ) {
        gap: clamp(34px, 4vw, 58px) !important;
        align-items: flex-start !important;
    }

    body.single-product
    main
    .wp-block-columns:has(
        > .wp-block-column
        > .wp-block-woocommerce-product-image-gallery
    )
    > .wp-block-column:first-child {
        flex-basis: 48% !important;
        max-width: 550px !important;
    }

    body.single-product
    main
    .wp-block-columns:has(
        > .wp-block-column
        > .wp-block-woocommerce-product-image-gallery
    )
    > .wp-block-column:last-child {
        flex-basis: 52% !important;
        min-width: 0 !important;
    }

    body.single-product
    .wp-block-woocommerce-product-image-gallery,
    body.single-product
    .woocommerce-product-gallery {
        width: 100% !important;
        max-width: 550px !important;
    }

    body.single-product
    .woocommerce-product-gallery
    img {
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }
}

/* Exactly four products from the current category. */
body.single-product
.bodes-related-products
ul.products,
body.single-product
.bodes-related-products__grid,
body.single-product
.bodes-category-products-grid,
body.single-product
.related.products
ul.products {
    display: grid !important;
    grid-template-columns: repeat(
        4,
        minmax(0, 1fr)
    ) !important;
    gap: 20px !important;
}

body.single-product
.bodes-related-products
li:nth-child(n + 5),
body.single-product
.bodes-related-products__grid
> :nth-child(n + 5),
body.single-product
.bodes-category-products-grid
> :nth-child(n + 5),
body.single-product
.related.products
li.product:nth-child(n + 5) {
    display: none !important;
}

/* Centre prices inside recommendation cards. */
body.single-product
.bodes-related-products
.price,
body.single-product
.bodes-related-products__grid
.price,
body.single-product
.bodes-category-products-grid
.price,
body.single-product
.related.products
.price {
    display: block !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* Mobile product cards and description tabs. */
@media (max-width: 900px) {
    body.tax-product_cat
    .bodes-category-description__content {
        max-height: 170px;
    }

    body.tax-product_cat
    .bodes-shop-sidebar,
    body.post-type-archive-product
    .bodes-shop-sidebar {
        display: none !important;
    }

    body.tax-product_cat
    .bodes-shop-content,
    body.post-type-archive-product
    .bodes-shop-content {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    body.tax-product_cat
    .wc-block-product-template
    .wc-block-components-product-name,
    body.post-type-archive-product
    .wc-block-product-template
    .wc-block-components-product-name {
        display: flex;
        align-items: flex-start;
        justify-content: center;
        min-height: 3.4em;
        margin: 12px 10px 8px !important;
        text-align: center !important;
        line-height: 1.35;
    }

    body.tax-product_cat
    .wc-block-product-template
    .wp-block-post-excerpt,
    body.post-type-archive-product
    .wc-block-product-template
    .wp-block-post-excerpt {
        display: none !important;
    }

    body.single-product
    .woocommerce-tabs,
    body.single-product
    .wp-block-woocommerce-product-details {
        width: 100% !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box;
    }

    body.single-product
    .woocommerce-tabs
    ul.tabs {
        display: flex !important;
        gap: 8px;
        width: 100%;
        margin: 0 0 18px !important;
        padding: 0 14px !important;
        overflow-x: auto;
        box-sizing: border-box;
    }

    body.single-product
    .woocommerce-tabs
    ul.tabs
    li {
        flex: 0 0 auto;
        margin: 0 !important;
        white-space: nowrap;
    }

    body.single-product
    .woocommerce-tabs
    .panel,
    body.single-product
    .wp-block-woocommerce-product-details
    [role="tabpanel"] {
        width: calc(100% - 28px) !important;
        margin: 0 14px !important;
        padding: 20px 18px !important;
        box-sizing: border-box;
        overflow-wrap: anywhere;
    }

    /*
     * Previous/next navigation on mobile:
     * two symmetrical controls with button-like labels.
     */
    body.single-product
    .bodes-single-product-modules {
        width: calc(100% - 28px) !important;
        margin-left: 14px !important;
        margin-right: 14px !important;
    }

    body.single-product
    .bodes-product-neighbours {
        display: grid !important;
        grid-template-columns: repeat(
            2,
            minmax(0, 1fr)
        ) !important;
        gap: 10px !important;
        width: 100% !important;
        margin-top: 22px !important;
    }

    body.single-product
    .bodes-product-neighbours
    > * {
        min-width: 0 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    body.single-product
    .bodes-product-neighbour__label,
    body.single-product
    .bodes-product-neighbour-label,
    body.single-product
    .bodes-product-neighbours
    > *
    > strong:first-child {
        display: flex !important;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        margin: 0 0 8px !important;
        padding: 9px 8px;
        border: 1px solid #d6dbe5;
        border-radius: 4px;
        background: #f6f7f9;
        color: #20252c;
        text-align: center;
        font-size: 13px;
        line-height: 1.25;
        box-sizing: border-box;
    }

    body.single-product
    .bodes-product-neighbours
    > *:first-child
    .bodes-product-neighbour__label,
    body.single-product
    .bodes-product-neighbours
    > *:first-child
    .bodes-product-neighbour-label {
        justify-content: flex-start;
    }

    body.single-product
    .bodes-product-neighbours
    > *:last-child
    .bodes-product-neighbour__label,
    body.single-product
    .bodes-product-neighbours
    > *:last-child
    .bodes-product-neighbour-label {
        justify-content: flex-end;
    }

    body.single-product
    .bodes-product-neighbour-card,
    body.single-product
    .bodes-product-neighbours
    > *
    > a {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }

    body.single-product
    .bodes-product-neighbour-card
    img,
    body.single-product
    .bodes-product-neighbours
    img {
        width: 68px !important;
        height: 68px !important;
        object-fit: contain !important;
        flex: 0 0 68px;
    }

    body.single-product
    .bodes-related-products
    ul.products,
    body.single-product
    .bodes-related-products__grid,
    body.single-product
    .bodes-category-products-grid,
    body.single-product
    .related.products
    ul.products {
        grid-template-columns: repeat(
            2,
            minmax(0, 1fr)
        ) !important;
        gap: 12px !important;
    }
}

@media (max-width: 480px) {
    body.single-product
    .bodes-product-neighbour-card,
    body.single-product
    .bodes-product-neighbours
    > *
    > a {
        display: grid !important;
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 8px !important;
        align-items: center;
        padding: 10px 8px !important;
    }

    body.single-product
    .bodes-product-neighbour-card
    img,
    body.single-product
    .bodes-product-neighbours
    img {
        width: 58px !important;
        height: 58px !important;
        flex-basis: 58px;
    }

    body.single-product
    .bodes-product-neighbour-card
    .price,
    body.single-product
    .bodes-product-neighbours
    .price {
        text-align: center !important;
    }
}

/* BODES_RELATED_PRODUCTS_V25
 * One stable four-product module.
 */

/* Remove both obsolete sources of inconsistent recommendations. */
body.single-product
.bodes-category-products {
    display: none !important;
}

body.single-product
.wp-block-woocommerce-product-collection {
    display: none !important;
}

/* New stable module. */
body.single-product
.bodes-v25-category-products {
    width: calc(100% - 40px);
    max-width: var(--wp--style--global--wide-size, 1180px);
    margin: 46px auto 54px;
}

body.single-product
.bodes-v25-category-products__heading {
    margin: 0 0 26px;
    font-size: clamp(27px, 2.5vw, 36px);
    line-height: 1.15;
}

body.single-product
.bodes-v25-category-products__grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px;
    width: 100%;
}

body.single-product
.bodes-v25-product-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 14px 14px 16px;
    border: 1px solid #d9dee7;
    border-bottom: 3px solid #173be0;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 5px 14px rgba(28, 37, 54, 0.08);
    box-sizing: border-box;
}

body.single-product
.bodes-v25-product-card__image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

body.single-product
.bodes-v25-product-card__image {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    object-fit: contain !important;
}

body.single-product
.bodes-v25-product-card__title {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-height: 3.9em;
    margin: 14px 0 8px;
    text-align: center;
    font-size: 16px;
    line-height: 1.3;
}

body.single-product
.bodes-v25-product-card__title a {
    color: #1138de;
    text-decoration: none;
}

body.single-product
.bodes-v25-product-card__price {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 42px;
    margin: auto 0 12px !important;
    color: #123ade;
    text-align: center !important;
    font-size: 26px;
    line-height: 1;
}

body.single-product
.bodes-v25-product-card__price
.woocommerce-Price-amount {
    display: inline-block;
    width: auto !important;
    margin: 0 auto !important;
    text-align: center !important;
}

body.single-product
.bodes-v25-product-card__button {
    display: flex;
    justify-content: center;
    width: 100%;
}

body.single-product
.bodes-v25-product-card__button
.button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border-radius: 4px;
    background: #173be0;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-weight: 700;
    box-sizing: border-box;
}

/* Mobile-specific previous/next navigation. */
.bodes-mobile-neighbour-button {
    display: none;
}

@media (max-width: 900px) {
    /*
     * Product cards disappear completely.
     * Only two functional navigation buttons remain.
     */
    body.single-product
    .bodes-product-neighbours
    .bodes-product-module-card,
    body.single-product
    .bodes-product-neighbours
    .bodes-product-neighbours__label {
        display: none !important;
    }

    body.single-product
    .bodes-product-neighbours {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: calc(100% - 28px) !important;
        margin: 24px 14px 34px !important;
    }

    body.single-product
    .bodes-product-neighbours__item {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.single-product
    .bodes-product-neighbours__item.is-next:only-child {
        grid-column: 2;
    }

    body.single-product
    .bodes-mobile-neighbour-button {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 50px;
        padding: 10px 8px;
        border: 1px solid #173be0;
        border-radius: 4px;
        background: #173be0;
        color: #fff !important;
        text-align: center;
        text-decoration: none !important;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.25;
        box-sizing: border-box;
    }

    body.single-product
    .bodes-mobile-neighbour-button:hover,
    body.single-product
    .bodes-mobile-neighbour-button:focus {
        background: #0f2fbd;
    }

    body.single-product
    .bodes-v25-category-products {
        width: calc(100% - 28px);
        margin: 34px 14px 42px;
    }

    body.single-product
    .bodes-v25-category-products__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px;
    }

    body.single-product
    .bodes-v25-product-card {
        padding: 10px;
    }

    body.single-product
    .bodes-v25-product-card__title {
        min-height: 4.8em;
        font-size: 14px;
    }

    body.single-product
    .bodes-v25-product-card__price {
        min-height: 34px;
        font-size: 22px;
    }
}

@media (max-width: 430px) {
    body.single-product
    .bodes-product-neighbours {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.single-product
    .bodes-mobile-neighbour-button {
        min-height: 54px;
        font-size: 13px;
    }
}

/* BODES_MOBILE_PRODUCT_MENU_V26 */

@media (max-width: 781px) {
    /*
     * Compact previous/next buttons.
     */
    .single-product .bodes-product-neighbours {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: stretch !important;
        margin-top: 24px !important;
        margin-bottom: 20px !important;
    }

    .single-product .bodes-mobile-neighbour-button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        height: auto !important;
        margin: 0 !important;
        padding: 10px 8px !important;
        border: 2px solid #183adb !important;
        border-radius: 6px !important;
        background: #ffffff !important;
        color: #183adb !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        text-align: center !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }

    .single-product .bodes-mobile-neighbour-button:active,
    .single-product .bodes-mobile-neighbour-button:focus {
        background: #183adb !important;
        color: #ffffff !important;
    }

    /*
     * Related products: four products in one horizontal slider.
     */
    .single-product .bodes-v25-category-products {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 28px !important;
        overflow: hidden !important;
    }

    .single-product
    .bodes-v25-category-products__heading {
        margin: 0 0 12px !important;
        padding: 0 !important;
        max-width: calc(100% - 8px) !important;
        font-size: 27px !important;
        font-weight: 700 !important;
        line-height: 1.12 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .single-product .bodes-v26-slider-controls {
        display: flex !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 0 12px !important;
    }

    .single-product .bodes-v26-slider-button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
        padding: 0 0 3px !important;
        border: 1px solid #cfd4df !important;
        border-radius: 6px !important;
        background: #ffffff !important;
        color: #183adb !important;
        box-shadow: 0 3px 10px rgba(20, 34, 75, 0.08) !important;
        font-size: 31px !important;
        font-weight: 500 !important;
        line-height: 1 !important;
        cursor: pointer !important;
    }

    .single-product .bodes-v26-slider-button:active {
        background: #183adb !important;
        color: #ffffff !important;
    }

    .single-product
    .bodes-v25-category-products__grid {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 2px 2px 14px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        scroll-padding-left: 2px !important;
        overscroll-behavior-inline: contain !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: thin !important;
        box-sizing: border-box !important;
    }

    .single-product .bodes-v25-product-card {
        flex: 0 0 min(74vw, 270px) !important;
        width: min(74vw, 270px) !important;
        min-width: min(74vw, 270px) !important;
        max-width: min(74vw, 270px) !important;
        min-height: 0 !important;
        scroll-snap-align: start !important;
        scroll-snap-stop: always !important;
        box-sizing: border-box !important;
    }

    .single-product .bodes-v25-product-card__image {
        width: 100% !important;
        height: 190px !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    .single-product .bodes-v25-product-card__title {
        display: -webkit-box !important;
        min-height: 3.75em !important;
        max-height: 3.75em !important;
        margin: 12px 10px 8px !important;
        overflow: hidden !important;
        color: #163acb !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        text-align: center !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: auto !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important;
    }

    .single-product .bodes-v25-product-card__price {
        display: block !important;
        width: 100% !important;
        margin: 8px 0 16px !important;
        color: #183adb !important;
        font-size: 22px !important;
        font-weight: 500 !important;
        line-height: 1.15 !important;
        text-align: center !important;
    }

    .single-product .bodes-v25-product-card__button,
    .single-product
    .bodes-v25-category-products
    .add_to_cart_button,
    .single-product
    .bodes-v25-category-products
    .wp-block-button {
        display: none !important;
    }

    /*
     * Remove any remaining core related-products duplicate.
     */
    .single-product .related.products,
    .single-product
    .wp-block-woocommerce-product-collection
    .wp-block-heading {
        display: none !important;
    }

    /*
     * Mobile navigation drawer.
     * The close button has its own protected top row.
     */
    .bodes-main-nav
    .wp-block-navigation__responsive-dialog {
        position: relative !important;
        width: 100% !important;
        min-height: 100% !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container-close {
        position: absolute !important;
        top: 14px !important;
        right: 14px !important;
        z-index: 10020 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 46px !important;
        height: 46px !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 1px solid #d8dce5 !important;
        border-radius: 50% !important;
        background: #ffffff !important;
        color: #111111 !important;
        box-shadow: 0 3px 12px rgba(0, 0, 0, 0.10) !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container-close
    svg {
        display: block !important;
        width: 25px !important;
        height: 25px !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container-content {
        padding-top: 78px !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container
    .wp-block-navigation__container {
        width: 100% !important;
        padding: 0 !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container
    .wp-block-navigation-item {
        position: relative !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container
    .wp-block-navigation-item.has-child
    > .wp-block-navigation-item__content {
        width: 100% !important;
        min-height: 48px !important;
        padding-right: 58px !important;
        box-sizing: border-box !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container
    .wp-block-navigation-submenu__toggle {
        position: absolute !important;
        top: 4px !important;
        right: 8px !important;
        z-index: 5 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        padding: 10px !important;
        border: 1px solid #d7dbe3 !important;
        border-radius: 4px !important;
        background: #f7f7f7 !important;
        color: #222222 !important;
        box-sizing: border-box !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container
    .wp-block-navigation-submenu__toggle
    .wp-block-navigation__submenu-icon {
        position: static !important;
        display: block !important;
        width: 14px !important;
        height: 14px !important;
        margin: 0 !important;
        transform: rotate(0deg) !important;
        transition: transform 0.18s ease !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container
    .wp-block-navigation-submenu__toggle[aria-expanded="true"]
    .wp-block-navigation__submenu-icon {
        transform: rotate(180deg) !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container
    .wp-block-navigation__submenu-container[hidden] {
        display: none !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container
    .wp-block-navigation-item.has-child
    > .wp-block-navigation__submenu-container {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 4px 0 10px 18px !important;
        border: 0 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    .bodes-main-nav
    .wp-block-navigation__responsive-container
    .bodes-v26-branch-open
    > .wp-block-navigation__submenu-container {
        display: block !important;
    }
}

@media (min-width: 782px) {
    .bodes-v26-slider-controls {
        display: none !important;
    }
}

/* BODES_PRODUCT_SLIDER_V27 */

/*
 * Disable every older related-product implementation.
 */
.single-product .bodes-v25-category-products,
.single-product .bodes-category-products,
.single-product .related.products,
.single-product
.wp-block-woocommerce-product-collection {
    display: none !important;
}

/*
 * New stable related-category slider.
 */
.single-product .bodes-v27-category-products {
    display: block !important;
    width: 100% !important;
    max-width: 1170px !important;
    margin: 42px auto 48px !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.single-product
.bodes-v27-category-products__header {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 20px !important;
    width: 100% !important;
    margin: 0 0 18px !important;
}

.single-product
.bodes-v27-category-products__heading {
    flex: 1 1 auto !important;
    margin: 0 !important;
    color: #202020 !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

.single-product
.bodes-v27-category-products__controls {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 8px !important;
}

.single-product .bodes-v27-slider-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 0 3px !important;
    border: 1px solid #cbd1dc !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #183adb !important;
    -webkit-text-fill-color: #183adb !important;
    box-shadow: 0 3px 10px rgba(20, 34, 75, 0.08) !important;
    font-size: 31px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    opacity: 1 !important;
}

.single-product .bodes-v27-slider-button:disabled {
    border-color: #d8dce5 !important;
    background: #f1f3f7 !important;
    color: #7d8492 !important;
    -webkit-text-fill-color: #7d8492 !important;
    cursor: default !important;
    opacity: 1 !important;
}

.single-product
.bodes-v27-category-products__viewport {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    overscroll-behavior-inline: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    box-sizing: border-box !important;
}

.single-product
.bodes-v27-category-products__viewport::-webkit-scrollbar {
    display: none !important;
}

.single-product
.bodes-v27-category-products__track {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch !important;
    gap: 18px !important;
    width: max-content !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 2px 2px 14px !important;
    box-sizing: border-box !important;
}

.single-product .bodes-v27-product-card {
    display: flex !important;
    flex:
        0 0
        calc(
            (min(1170px, calc(100vw - 40px)) - 54px) / 4
        ) !important;
    width:
        calc(
            (min(1170px, calc(100vw - 40px)) - 54px) / 4
        ) !important;
    min-width:
        calc(
            (min(1170px, calc(100vw - 40px)) - 54px) / 4
        ) !important;
    max-width:
        calc(
            (min(1170px, calc(100vw - 40px)) - 54px) / 4
        ) !important;
    height: auto !important;
    min-height: 390px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d9dde5 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 14px rgba(25, 35, 70, 0.07) !important;
    scroll-snap-align: start !important;
    box-sizing: border-box !important;
}

.single-product .bodes-v27-product-card__link {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    color: inherit !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.single-product
.bodes-v27-product-card__image-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 230px !important;
    padding: 14px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

.single-product .bodes-v27-product-card__image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center !important;
}

.single-product .bodes-v27-product-card__title {
    display: -webkit-box !important;
    min-height: 3.8em !important;
    max-height: 3.8em !important;
    margin: 14px 14px 8px !important;
    overflow: hidden !important;
    color: #173bc8 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.27 !important;
    text-align: center !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: auto !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

.single-product .bodes-v27-product-card__price {
    display: block !important;
    width: 100% !important;
    margin: auto 0 18px !important;
    padding: 0 10px !important;
    color: #183adb !important;
    -webkit-text-fill-color: #183adb !important;
    font-size: 25px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

/*
 * Previous/next product buttons must stay visible even when inactive.
 */
@media (max-width: 781px) {
    .single-product .bodes-product-neighbours {
        display: grid !important;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr) !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .single-product .bodes-mobile-neighbour-button,
    .single-product
    .bodes-mobile-neighbour-button:link,
    .single-product
    .bodes-mobile-neighbour-button:visited {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 8px 6px !important;
        overflow: visible !important;
        border: 2px solid #183adb !important;
        border-radius: 6px !important;
        background: #183adb !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        opacity: 1 !important;
        visibility: visible !important;
        box-sizing: border-box !important;
    }

    .single-product
    .bodes-mobile-neighbour-button:hover,
    .single-product
    .bodes-mobile-neighbour-button:focus,
    .single-product
    .bodes-mobile-neighbour-button:active {
        border-color: #102bb0 !important;
        background: #102bb0 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    .single-product .bodes-v27-category-products {
        width: 100% !important;
        max-width: 100% !important;
        margin: 30px 0 38px !important;
        padding: 0 !important;
    }

    .single-product
    .bodes-v27-category-products__header {
        align-items: flex-end !important;
        gap: 10px !important;
        margin-bottom: 14px !important;
    }

    .single-product
    .bodes-v27-category-products__heading {
        font-size: 25px !important;
        line-height: 1.12 !important;
    }

    .single-product .bodes-v27-slider-button {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        font-size: 28px !important;
    }

    .single-product
    .bodes-v27-category-products__track {
        flex-flow: row nowrap !important;
        align-items: stretch !important;
        gap: 10px !important;
        width: max-content !important;
        min-width: 100% !important;
        padding: 2px 1px 12px !important;
    }

    .single-product .bodes-v27-product-card {
        flex:
            0 0
            calc((100vw - 42px) / 2) !important;
        width:
            calc((100vw - 42px) / 2) !important;
        min-width:
            calc((100vw - 42px) / 2) !important;
        max-width:
            calc((100vw - 42px) / 2) !important;
        min-height: 282px !important;
        max-height: 282px !important;
        height: 282px !important;
        scroll-snap-align: start !important;
    }

    .single-product
    .bodes-v27-product-card__image-wrap {
        flex: 0 0 148px !important;
        width: 100% !important;
        height: 148px !important;
        padding: 10px !important;
    }

    .single-product .bodes-v27-product-card__image {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
    }

    .single-product .bodes-v27-product-card__title {
        min-height: 3.6em !important;
        max-height: 3.6em !important;
        margin: 10px 7px 5px !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
        -webkit-line-clamp: 3 !important;
    }

    .single-product .bodes-v27-product-card__price {
        margin: auto 0 12px !important;
        padding: 0 5px !important;
        font-size: 20px !important;
        line-height: 1 !important;
        text-align: center !important;
    }
}

/* BODES_HOME_CATALOG_V1 */

.bodes-home-catalog-v1 {
    width: 100%;
    max-width: 1170px;
    margin: 70px auto 30px;
    padding: 0 20px;
    box-sizing: border-box;
}

.bodes-home-catalog-section {
    display: block;
    width: 100%;
    margin: 0 0 72px;
    overflow: hidden;
}

.bodes-home-catalog-section__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.bodes-home-catalog-section__eyebrow {
    margin: 0 0 8px;
    color: #ff5237;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

.bodes-home-catalog-section__title {
    margin: 0;
    color: #252525;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.12;
}

.bodes-home-slider-controls {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

.bodes-home-slider-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    min-width: 46px;
    min-height: 46px;
    padding: 0 0 3px;
    border: 1px solid #cdd2dc;
    border-radius: 6px;
    background: #ffffff;
    color: #183adb;
    -webkit-text-fill-color: #183adb;
    box-shadow: 0 3px 10px rgba(20, 34, 75, 0.08);
    font-size: 32px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}

.bodes-home-slider-button:disabled {
    background: #f1f3f6;
    color: #858b97;
    -webkit-text-fill-color: #858b97;
    cursor: default;
    opacity: 1;
}

.bodes-home-catalog-section__viewport {
    display: block;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.bodes-home-catalog-section__viewport::-webkit-scrollbar {
    display: none;
}

.bodes-home-catalog-section ul.products {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch !important;
    gap: 18px !important;
    width: max-content !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 2px 2px 15px !important;
    list-style: none !important;
    box-sizing: border-box !important;
}

.bodes-home-catalog-section ul.products::before,
.bodes-home-catalog-section ul.products::after {
    display: none !important;
    content: none !important;
}

.bodes-home-catalog-section ul.products li.product,
.bodes-home-catalog-section
ul.products
li.product-category {
    display: flex !important;
    flex:
        0 0
        calc(
            (min(1130px, calc(100vw - 80px)) - 54px) / 4
        ) !important;
    width:
        calc(
            (min(1130px, calc(100vw - 80px)) - 54px) / 4
        ) !important;
    min-width:
        calc(
            (min(1130px, calc(100vw - 80px)) - 54px) / 4
        ) !important;
    max-width:
        calc(
            (min(1130px, calc(100vw - 80px)) - 54px) / 4
        ) !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 0 18px !important;
    overflow: hidden !important;
    border: 1px solid #d9dde5 !important;
    border-bottom: 3px solid #183adb !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 14px rgba(25, 35, 70, 0.07) !important;
    text-align: center !important;
    scroll-snap-align: start !important;
    box-sizing: border-box !important;
}

.bodes-home-catalog-section ul.products li.product > a,
.bodes-home-catalog-section
ul.products
li.product-category
> a {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    color: inherit !important;
    text-decoration: none !important;
}

.bodes-home-catalog-section ul.products img {
    display: block !important;
    width: 100% !important;
    height: 235px !important;
    max-height: 235px !important;
    margin: 0 auto 15px !important;
    padding: 14px !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

.bodes-home-catalog-section
.woocommerce-loop-product__title,
.bodes-home-catalog-section
.woocommerce-loop-category__title {
    display: -webkit-box !important;
    min-height: 2.8em !important;
    max-height: 2.8em !important;
    margin: 0 14px 10px !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: #173bc8 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

.bodes-home-catalog-section
.woocommerce-loop-category__title
.count {
    display: none !important;
}

.bodes-home-catalog-section .price {
    display: block !important;
    width: 100% !important;
    margin: auto 0 14px !important;
    padding: 0 10px !important;
    color: #183adb !important;
    -webkit-text-fill-color: #183adb !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

.bodes-home-catalog-section .button {
    align-self: center !important;
    margin: 0 auto !important;
    padding: 12px 18px !important;
    border-radius: 4px !important;
    background: #183adb !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

@media (max-width: 781px) {
    .bodes-home-catalog-v1 {
        margin-top: 42px;
        padding: 0 16px;
    }

    .bodes-home-catalog-section {
        margin-bottom: 48px;
    }

    .bodes-home-catalog-section__header {
        gap: 10px;
        margin-bottom: 16px;
    }

    .bodes-home-catalog-section__title {
        font-size: 27px;
    }

    .bodes-home-slider-button {
        width: 40px;
        height: 40px;
        min-width: 40px;
        min-height: 40px;
        font-size: 28px;
    }

    .bodes-home-catalog-section ul.products {
        gap: 10px !important;
    }

    .bodes-home-catalog-section ul.products li.product,
    .bodes-home-catalog-section
    ul.products
    li.product-category {
        flex:
            0 0
            calc((100vw - 52px) / 2) !important;
        width:
            calc((100vw - 52px) / 2) !important;
        min-width:
            calc((100vw - 52px) / 2) !important;
        max-width:
            calc((100vw - 52px) / 2) !important;
    }

    .bodes-home-catalog-section ul.products img {
        height: 155px !important;
        max-height: 155px !important;
        padding: 9px !important;
    }

    .bodes-home-catalog-section
    .woocommerce-loop-product__title,
    .bodes-home-catalog-section
    .woocommerce-loop-category__title {
        margin-right: 7px !important;
        margin-left: 7px !important;
        font-size: 13px !important;
    }

    .bodes-home-catalog-section .price {
        font-size: 20px !important;
    }

    .bodes-home-catalog-section .button {
        display: none !important;
    }
}

/* BODES_HOME_BANNER_SLIDER_V1 */
.bodes-banner-slider {
    position: relative;
    width: min(100%, 1130px);
    min-height: 440px;
    margin: 0 auto 72px;
    overflow: hidden;
    border-radius: 8px;
    background: #1734c8;
    box-shadow: 0 8px 24px rgba(20, 35, 90, 0.15);
}

.bodes-banner-slider__viewport {
    display: grid;
    min-height: 440px;
}

.bodes-banner-slide {
    grid-area: 1 / 1;
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 64px 88px;
    color: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(24px);
    background:
        radial-gradient(
            circle at 92% 8%,
            rgba(255, 255, 255, 0.14),
            transparent 35%
        ),
        linear-gradient(125deg, #1734c8, #3158e8);
    transition:
        opacity 0.45s ease,
        transform 0.45s ease,
        visibility 0.45s;
}

.bodes-banner-slide.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
}

.bodes-banner-slide.is-image {
    background:
        linear-gradient(
            90deg,
            rgba(10, 25, 85, 0.96) 0%,
            rgba(20, 48, 170, 0.88) 48%,
            rgba(20, 48, 170, 0.28) 100%
        ),
        var(--bodes-banner-image),
        linear-gradient(125deg, #1734c8, #3158e8);
    background-position: center;
    background-size: cover;
}

.bodes-banner-slide__content {
    position: relative;
    z-index: 2;
    width: min(680px, 78%);
}

.bodes-banner-slide__overline {
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.13em;
}

.bodes-banner-slide h1,
.bodes-banner-slide h2 {
    max-width: 720px;
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(42px, 5.2vw, 70px);
    font-weight: 500;
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.bodes-banner-slide__content > p:not(
    .bodes-banner-slide__overline
) {
    max-width: 690px;
    margin: 0 0 28px;
    color: #fff;
    font-size: 17px;
    line-height: 1.55;
}

.bodes-banner-slide__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.bodes-banner-slide__buttons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px;
    border: 1px solid #fff;
    border-radius: 4px;
    background: #fff;
    color: #1734c8;
    font-weight: 700;
    text-decoration: none;
}

.bodes-banner-slide__buttons a.is-primary {
    border-color: #ff5035;
    background: #ff5035;
    color: #fff;
}

.bodes-banner-slider__arrow {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: grid;
    width: 46px;
    height: 56px;
    padding: 0;
    place-items: center;
    transform: translateY(-50%);
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 4px;
    background: rgba(8, 23, 85, 0.46);
    color: #fff;
    font-size: 34px;
    cursor: pointer;
}

.bodes-banner-slider__arrow.is-prev {
    left: 18px;
}

.bodes-banner-slider__arrow.is-next {
    right: 18px;
}

.bodes-banner-slider__dots {
    position: absolute;
    right: 0;
    bottom: 22px;
    left: 0;
    z-index: 5;
    display: flex;
    justify-content: center;
    gap: 9px;
}

.bodes-banner-slider__dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 1px solid #fff;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.bodes-banner-slider__dots button.is-active {
    background: #fff;
    transform: scale(1.25);
}

@media (max-width: 781px) {
    .bodes-banner-slider {
        width: calc(100% - 32px);
        min-height: 470px;
        margin-bottom: 48px;
        border-radius: 6px;
    }

    .bodes-banner-slider__viewport {
        min-height: 470px;
    }

    .bodes-banner-slide {
        align-items: flex-end;
        padding: 54px 28px 76px;
    }

    .bodes-banner-slide.is-image {
        background:
            linear-gradient(
                0deg,
                rgba(10, 25, 85, 0.98) 0%,
                rgba(20, 48, 170, 0.80) 62%,
                rgba(20, 48, 170, 0.40) 100%
            ),
            var(--bodes-banner-image),
            linear-gradient(125deg, #1734c8, #3158e8);
        background-position: center;
        background-size: cover;
    }

    .bodes-banner-slide__content {
        width: 100%;
    }

    .bodes-banner-slide h1,
    .bodes-banner-slide h2 {
        font-size: clamp(36px, 11vw, 52px);
    }

    .bodes-banner-slider__arrow {
        top: auto;
        bottom: 17px;
        width: 42px;
        height: 42px;
        transform: none;
    }

    .bodes-banner-slider__arrow.is-prev {
        left: 20px;
    }

    .bodes-banner-slider__arrow.is-next {
        right: 20px;
    }

    .bodes-banner-slider__dots {
        bottom: 33px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bodes-banner-slide {
        transition: none;
    }
}

/* BODES_HOME_MODULE_LAYOUT_V2 */

/*
 * Prevent the obsolete homepage sections from flashing before JavaScript
 * moves the current modules into their correct positions.
 */
.home .bodes-home-v1-section,
.home .bodes-home-v1-contact {
    display: none !important;
}

.home .entry-content.wp-block-post-content {
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.home .entry-content > .bodes-home-v1,
.home .entry-content > .bodes-home-catalog-section__header,
.home .entry-content > .bodes-home-catalog-section__viewport,
.home .entry-content > .bodes-home-new-products,
.home .entry-content > .bodes-home-popular-products {
    box-sizing: border-box;
    width: min(1160px, calc(100% - 40px)) !important;
    max-width: 1160px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.home .entry-content > .bodes-home-v1 {
    order: 1;
    padding: 0 !important;
    margin-top: 48px !important;
    margin-bottom: 76px !important;
}

.home .entry-content > .bodes-home-catalog-section__header {
    order: 2;
}

.home .entry-content > .bodes-home-catalog-section__viewport {
    order: 3;
    margin-bottom: 76px !important;
}

.home .entry-content > .bodes-home-new-products {
    order: 4;
    margin-top: 0 !important;
    margin-bottom: 76px !important;
}

.home .entry-content > .bodes-home-popular-products {
    order: 5;
    margin-top: 0 !important;
    margin-bottom: 88px !important;
}

.home .bodes-home-v1,
.home .bodes-banner-slider,
.home .bodes-banner-slider__viewport {
    width: 100% !important;
    max-width: none !important;
}

.home .bodes-home-catalog-v1,
.home .bodes-home-category-section {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.home .bodes-home-new-products .bodes-home-catalog-section__header,
.home .bodes-home-new-products .bodes-home-catalog-section__viewport,
.home .bodes-home-popular-products .bodes-home-catalog-section__header,
.home .bodes-home-popular-products .bodes-home-catalog-section__viewport {
    width: 100% !important;
    max-width: none !important;
}

/* Four equal cards in one row on desktop. */
@media (min-width: 1024px) {
    .home .bodes-home-catalog-section ul.products {
        gap: 18px !important;
    }

    .home .bodes-home-catalog-section ul.products li.product,
    .home .bodes-home-catalog-section
        ul.products
        li.product-category {
        box-sizing: border-box !important;
        flex: 0 0 calc((100% - 54px) / 4) !important;
        width: calc((100% - 54px) / 4) !important;
        min-width: calc((100% - 54px) / 4) !important;
        max-width: calc((100% - 54px) / 4) !important;
        margin: 0 !important;
    }
}

@media (max-width: 1023px) {
    .home .entry-content > .bodes-home-v1,
    .home .entry-content > .bodes-home-catalog-section__header,
    .home .entry-content > .bodes-home-catalog-section__viewport,
    .home .entry-content > .bodes-home-new-products,
    .home .entry-content > .bodes-home-popular-products {
        width: min(100% - 32px, 760px) !important;
    }

    .home .entry-content > .bodes-home-v1 {
        margin-top: 28px !important;
        margin-bottom: 52px !important;
    }

    .home .entry-content > .bodes-home-catalog-section__viewport,
    .home .entry-content > .bodes-home-new-products,
    .home .entry-content > .bodes-home-popular-products {
        margin-bottom: 52px !important;
    }
}

/* BODES_HOME_SIDEBAR_PRODUCTS_V3 */

/* The banner is intentionally not restyled by this patch. */

.home .bodes-home-below-banner-layout {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    align-items: start;
    gap: 34px;
    box-sizing: border-box;
    width: min(1160px, calc(100% - 40px));
    max-width: 1160px;
    margin: 76px auto 90px;
}

.home .bodes-home-category-sidebar {
    position: relative;
    min-width: 0;
    padding: 0;
}

.home .bodes-home-category-sidebar
    > .bodes-home-catalog-section__header {
    display: block !important;
    width: 100% !important;
    margin: 0 0 18px !important;
}

.home .bodes-home-category-sidebar
    .bodes-home-catalog-section__eyebrow {
    margin-bottom: 5px !important;
}

.home .bodes-home-category-sidebar
    .bodes-home-catalog-section__title {
    font-size: 25px !important;
    line-height: 1.15 !important;
}

.home .bodes-home-category-sidebar
    .bodes-home-slider-controls {
    display: none !important;
}

.home .bodes-home-category-sidebar
    > .bodes-home-catalog-section__viewport {
    width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
}

.home .bodes-home-category-sidebar
    .bodes-home-catalog-v1,
.home .bodes-home-category-sidebar
    .bodes-home-category-section {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}

.home .bodes-home-category-sidebar ul.products {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
}

.home .bodes-home-category-sidebar
    ul.products
    li.product-category {
    display: grid !important;
    grid-template-columns: 66px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    box-sizing: border-box !important;
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 82px !important;
    padding: 8px 12px !important;
    margin: 0 !important;
    border: 1px solid #dce1eb !important;
    border-bottom: 2px solid #203fe0 !important;
    border-radius: 5px !important;
    box-shadow: 0 4px 13px rgb(18 31 68 / 5%) !important;
    background: #fff !important;
}

.home .bodes-home-category-sidebar
    li.product-category
    > a {
    display: contents !important;
}

.home .bodes-home-category-sidebar
    li.product-category
    img {
    grid-column: 1;
    width: 66px !important;
    height: 66px !important;
    max-width: 66px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

.home .bodes-home-category-sidebar
    .woocommerce-loop-category__title {
    grid-column: 2;
    align-self: center;
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    overflow-wrap: anywhere;
}

.home .bodes-home-category-sidebar
    .woocommerce-loop-category__title
    .count {
    display: none !important;
}

/* Right-hand product modules. */
.home .bodes-home-products-column {
    min-width: 0;
}

.home .bodes-home-products-column
    > .bodes-home-catalog-section {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 70px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.home .bodes-home-products-column
    > .bodes-home-catalog-section:last-child {
    margin-bottom: 0 !important;
}

.home .bodes-home-products-column
    .bodes-home-catalog-section__header,
.home .bodes-home-products-column
    .bodes-home-catalog-section__viewport {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
}

.home .bodes-home-products-column
    .bodes-home-catalog-section__viewport {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

.home .bodes-home-products-column
    .bodes-home-catalog-section__viewport::-webkit-scrollbar {
    display: none;
}

.home .bodes-home-products-column ul.products {
    display: flex !important;
    align-items: stretch !important;
    gap: var(--bodes-home-product-gap, 18px) !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
}

.home .bodes-home-products-column
    ul.products
    li.product {
    box-sizing: border-box !important;
    flex: 0 0 var(
        --bodes-home-product-card-width,
        270px
    ) !important;
    width: var(
        --bodes-home-product-card-width,
        270px
    ) !important;
    min-width: var(
        --bodes-home-product-card-width,
        270px
    ) !important;
    max-width: var(
        --bodes-home-product-card-width,
        270px
    ) !important;
    margin: 0 !important;
}

.home .bodes-home-products-column
    ul.products
    li.product
    img {
    width: 100% !important;
    height: 210px !important;
    max-height: 210px !important;
    object-fit: contain !important;
}

.home .bodes-home-products-column
    .woocommerce-loop-product__title {
    min-height: 42px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    text-align: center !important;
}

.home .bodes-home-products-column .price {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
}

.home .bodes-home-products-column .button {
    display: flex !important;
    width: calc(100% - 28px) !important;
    min-height: 42px !important;
    margin: 12px 14px 16px !important;
    align-items: center;
    justify-content: center;
}

/*
 * Override the previous four-card rule. Width is now calculated from the
 * actual visible viewport by the V3 script.
 */
@media (min-width: 1024px) {
    .home .bodes-home-products-column
        ul.products
        li.product {
        flex-basis: var(
            --bodes-home-product-card-width
        ) !important;
        width: var(
            --bodes-home-product-card-width
        ) !important;
        min-width: var(
            --bodes-home-product-card-width
        ) !important;
        max-width: var(
            --bodes-home-product-card-width
        ) !important;
    }
}

@media (max-width: 767px) {
    .home .bodes-home-below-banner-layout {
        display: block;
        width: min(100% - 28px, 720px);
        margin-top: 46px;
        margin-bottom: 60px;
    }

    .home .bodes-home-category-sidebar {
        margin-bottom: 52px;
    }

    .home .bodes-home-category-sidebar ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px !important;
    }

    .home .bodes-home-category-sidebar
        ul.products
        li.product-category {
        display: block !important;
        min-height: 0 !important;
        padding: 10px !important;
        text-align: center;
    }

    .home .bodes-home-category-sidebar
        li.product-category
        > a {
        display: block !important;
    }

    .home .bodes-home-category-sidebar
        li.product-category
        img {
        width: 82px !important;
        height: 82px !important;
        max-width: 82px !important;
        margin: 0 auto 8px !important;
    }

    .home .bodes-home-category-sidebar
        .woocommerce-loop-category__title {
        min-height: 34px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }

    .home .bodes-home-products-column
        ul.products
        li.product
        img {
        height: 150px !important;
        max-height: 150px !important;
    }
}

/*
 * BODES_HOME_CATALOG_CARDS_V4
 * Real category tree + category-page style product cards.
 */

/* Left category tree */
.home .bodes-home-below-banner-layout {
    grid-template-columns: 250px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 30px !important;
}

.home .bodes-home-category-sidebar {
    min-width: 0 !important;
    width: 250px !important;
    overflow: visible !important;
}

.home .bodes-home-tree-v4 {
    width: 100%;
    padding: 0 14px 14px;
    border: 1px solid #e2e5ea;
    border-radius: 3px;
    background: #fff;
    box-sizing: border-box;
}

.home .bodes-home-tree-v4__heading {
    padding: 18px 7px 14px;
    border-bottom: 1px solid #e4e6ea;
    color: #222;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
    text-transform: uppercase;
}

.home .bodes-home-tree-v4__level {
    list-style: none;
    margin: 0;
    padding: 0;
}

.home .bodes-home-tree-v4__level[hidden] {
    display: none !important;
}

.home .bodes-home-tree-v4__item {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #e5e7eb;
}

.home .bodes-home-tree-v4__item:last-child {
    border-bottom: 0;
}

.home .bodes-home-tree-v4__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 28px;
    align-items: center;
    min-height: 48px;
}

.home .bodes-home-tree-v4__item:not(.has-children)
    > .bodes-home-tree-v4__row {
    grid-template-columns: minmax(0, 1fr);
}

.home .bodes-home-tree-v4__link {
    display: block;
    min-width: 0;
    padding: 11px 7px;
    color: #171717;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.home .bodes-home-tree-v4__link:hover,
.home .bodes-home-tree-v4__link:focus-visible {
    color: #173bdc;
}

.home .bodes-home-tree-v4__toggle {
    display: grid;
    width: 25px;
    height: 25px;
    margin: 0;
    padding: 0;
    place-items: center;
    border: 1px solid #cfd3da;
    border-radius: 0;
    background: #f7f7f7;
    color: #333;
    cursor: pointer;
    font-size: 17px;
    line-height: 1;
}

.home .bodes-home-tree-v4__toggle span {
    display: block;
    transform: translateY(-2px);
    transition: transform 160ms ease;
}

.home .bodes-home-tree-v4__item.is-open
    > .bodes-home-tree-v4__row
    .bodes-home-tree-v4__toggle span {
    transform: translateY(1px) rotate(180deg);
}

.home .bodes-home-tree-v4__level--1 {
    padding: 2px 0 10px 12px;
    border-left: 2px solid #1e3de0;
}

.home .bodes-home-tree-v4__level--1
    > .bodes-home-tree-v4__item {
    border-bottom: 0;
}

.home .bodes-home-tree-v4__level--1
    .bodes-home-tree-v4__row {
    min-height: 34px;
}

.home .bodes-home-tree-v4__level--1
    .bodes-home-tree-v4__link {
    padding: 8px 8px;
    font-size: 12px;
    font-weight: 500;
    text-transform: none;
}

.home .bodes-home-tree-v4__level--2 {
    padding: 0 0 7px 12px;
    border-left: 1px solid #d9dde5;
}

/* Right product modules */
.home .bodes-home-products-column {
    min-width: 0 !important;
    width: 100% !important;
}

.home .bodes-home-products-column
    .bodes-home-catalog-section {
    width: 100% !important;
    min-width: 0 !important;
    margin-bottom: 54px !important;
}

.home .bodes-home-products-column
    .bodes-home-catalog-section__viewport {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

.home .bodes-home-products-column ul.products {
    align-items: stretch !important;
    column-gap: 20px !important;
}

.home .bodes-home-products-column ul.products li.product {
    position: relative !important;
    display: flex !important;
    flex: 0 0 var(--bodes-home-card-width) !important;
    width: var(--bodes-home-card-width) !important;
    max-width: var(--bodes-home-card-width) !important;
    min-width: 0 !important;
    min-height: 440px !important;
    margin: 0 !important;
    padding: 16px 16px 18px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: hidden !important;
    border: 1px solid #dfe3e9 !important;
    border-bottom: 3px solid #173ee2 !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: 0 5px 14px rgba(25, 35, 60, 0.08) !important;
    box-sizing: border-box !important;
}

.home .bodes-home-products-column ul.products li.product
    .woocommerce-LoopProduct-link {
    display: flex !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: center !important;
    color: inherit !important;
    text-align: center !important;
    text-decoration: none !important;
}

.home .bodes-home-products-column ul.products li.product img {
    display: block !important;
    width: 100% !important;
    height: 235px !important;
    max-width: 100% !important;
    margin: 0 auto 16px !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #fff !important;
}

.home .bodes-home-products-column ul.products li.product
    .woocommerce-loop-product__title,
.home .bodes-home-products-column ul.products li.product
    h2,
.home .bodes-home-products-column ul.products li.product
    h3 {
    display: -webkit-box !important;
    width: 100% !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: #123edb !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-transform: none !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.home .bodes-home-products-column ul.products li.product
    .price {
    display: block !important;
    width: 100% !important;
    margin: auto 0 17px !important;
    color: #123edb !important;
    font-size: 23px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    text-align: center !important;
}

.home .bodes-home-products-column ul.products li.product
    .button,
.home .bodes-home-products-column ul.products li.product
    .added_to_cart {
    position: static !important;
    display: flex !important;
    width: auto !important;
    min-width: 150px !important;
    max-width: 100% !important;
    min-height: 44px !important;
    margin: 0 auto !important;
    padding: 10px 18px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: #173ee2 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: normal !important;
    transform: none !important;
}

.home .bodes-home-products-column ul.products li.product
    .woocommerce-product-details__short-description,
.home .bodes-home-products-column ul.products li.product
    .wc-block-components-product-summary,
.home .bodes-home-products-column ul.products li.product
    .product-excerpt {
    display: none !important;
}

@media (max-width: 960px) {
    .home .bodes-home-below-banner-layout {
        display: block !important;
    }

    .home .bodes-home-category-sidebar {
        width: 100% !important;
        margin-bottom: 30px !important;
    }

    .home .bodes-home-tree-v4 {
        width: 100% !important;
    }
}

@media (max-width: 640px) {
    .home .bodes-home-products-column ul.products {
        column-gap: 12px !important;
    }

    .home .bodes-home-products-column ul.products li.product {
        min-height: 350px !important;
        padding: 10px 9px 13px !important;
    }

    .home .bodes-home-products-column ul.products li.product img {
        height: 160px !important;
        margin-bottom: 10px !important;
    }

    .home .bodes-home-products-column ul.products li.product
        .woocommerce-loop-product__title,
    .home .bodes-home-products-column ul.products li.product h2,
    .home .bodes-home-products-column ul.products li.product h3 {
        min-height: 48px !important;
        max-height: 48px !important;
        font-size: 13px !important;
    }

    .home .bodes-home-products-column ul.products li.product
        .price {
        margin-bottom: 12px !important;
        font-size: 19px !important;
    }

    .home .bodes-home-products-column ul.products li.product
        .button,
    .home .bodes-home-products-column ul.products li.product
        .added_to_cart {
        min-width: 0 !important;
        width: 100% !important;
        min-height: 40px !important;
        padding: 8px !important;
        font-size: 11px !important;
    }
}

/*
 * BODES_HOME_NATIVE_CARDS_V5
 * Homepage modules use the same proportions as category archive cards.
 */

/* Exact archive sidebar width */
.home .bodes-home-below-banner-layout {
    display: grid !important;
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: 30px !important;
    align-items: start !important;
}

.home .bodes-home-category-sidebar {
    display: block !important;
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

/*
 * The inserted component has exactly the same classes as the
 * sidebar on category archive pages. Remove only the old homepage
 * component's inherited dimensions.
 */
.home .bodes-home-category-sidebar
    > .bodes-category-menu {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Previous handmade V4 menu can no longer affect layout */
.home .bodes-home-category-sidebar
    .bodes-home-tree-v4 {
    display: none !important;
}

/* Product module column */
.home .bodes-home-products-column {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.home .bodes-home-products-column
    .bodes-home-catalog-section {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 0 48px !important;
}

.home .bodes-home-products-column
    .bodes-home-catalog-section__viewport {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.home .bodes-home-products-column
    .woocommerce {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

/* Three complete cards in the visible desktop row */
.home .bodes-home-products-column ul.products {
    display: flex !important;
    width: max-content !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: var(--bodes-home-product-gap, 18px) !important;
    align-items: stretch !important;
    list-style: none !important;
}

/* Category-archive card proportions */
.home .bodes-home-products-column ul.products li.product {
    position: relative !important;
    display: flex !important;
    flex:
        0 0 var(
            --bodes-home-product-card-width,
            calc((100% - 36px) / 3)
        ) !important;
    width:
        var(
            --bodes-home-product-card-width,
            calc((100% - 36px) / 3)
        ) !important;
    min-width:
        var(
            --bodes-home-product-card-width,
            calc((100% - 36px) / 3)
        ) !important;
    max-width:
        var(
            --bodes-home-product-card-width,
            calc((100% - 36px) / 3)
        ) !important;
    min-height: 459px !important;
    margin: 0 !important;
    padding: 0 0 18px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: hidden !important;
    border: 1px solid #dfe3e9 !important;
    border-bottom: 3px solid #1736d1 !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: 0 5px 14px rgba(25, 35, 60, 0.08) !important;
    box-sizing: border-box !important;
    scroll-snap-align: start;
}

.home .bodes-home-products-column ul.products li.product
    > .woocommerce-LoopProduct-link {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: center !important;
    color: inherit !important;
    text-align: center !important;
    text-decoration: none !important;
}

/* Image size and behaviour copied from archive cards */
.home .bodes-home-products-column ul.products li.product img {
    display: block !important;
    width: 100% !important;
    height: 230px !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #fff !important;
}

/* Archive-style product title */
.home .bodes-home-products-column ul.products li.product
    .woocommerce-loop-product__title {
    display: -webkit-box !important;
    width: 100% !important;
    min-height: 75px !important;
    max-height: 75px !important;
    margin: 0 0 12px !important;
    padding: 0 12px !important;
    overflow: hidden !important;
    color: #1736d1 !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    text-transform: none !important;
    overflow-wrap: anywhere !important;
    box-sizing: border-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

/* Price matches the category list */
.home .bodes-home-products-column ul.products li.product
    .price {
    display: block !important;
    width: 100% !important;
    margin: auto 0 12px !important;
    padding: 0 10px !important;
    color: #1736d1 !important;
    font-size: 23px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* Normal compact archive button */
.home .bodes-home-products-column ul.products li.product
    > .button,
.home .bodes-home-products-column ul.products li.product
    > .added_to_cart {
    position: static !important;
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 24px) !important;
    min-height: 42px !important;
    margin: 0 auto !important;
    padding: 10px 17px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: #1736d1 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: normal !important;
    transform: none !important;
    box-sizing: border-box !important;
}

/* No descriptions inside homepage product cards */
.home .bodes-home-products-column ul.products li.product
    .woocommerce-product-details__short-description,
.home .bodes-home-products-column ul.products li.product
    .product-excerpt,
.home .bodes-home-products-column ul.products li.product
    .wc-block-components-product-summary {
    display: none !important;
}

/* Keep section controls inside their column */
.home .bodes-home-products-column
    .bodes-home-catalog-section__header {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 960px) {
    .home .bodes-home-below-banner-layout {
        display: block !important;
    }

    .home .bodes-home-category-sidebar {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-bottom: 30px !important;
    }
}

@media (max-width: 640px) {
    .home .bodes-home-products-column ul.products li.product {
        min-height: 355px !important;
    }

    .home .bodes-home-products-column ul.products li.product img {
        height: 160px !important;
        margin-bottom: 9px !important;
    }

    .home .bodes-home-products-column ul.products li.product
        .woocommerce-loop-product__title {
        min-height: 58px !important;
        max-height: 58px !important;
        padding: 0 7px !important;
        font-size: 13px !important;
        line-height: 1.45 !important;
    }

    .home .bodes-home-products-column ul.products li.product
        .price {
        margin-bottom: 9px !important;
        font-size: 19px !important;
    }

    .home .bodes-home-products-column ul.products li.product
        > .button,
    .home .bodes-home-products-column ul.products li.product
        > .added_to_cart {
        max-width: calc(100% - 16px) !important;
        min-height: 39px !important;
        padding: 8px 9px !important;
        font-size: 11px !important;
    }
}


/* BODES_CATEGORY_TREE_STYLE_V6
 * Desktop tree: one controlled open branch.
 * Mobile tree: hidden completely.
 */

@media (min-width: 782px) {
    .bodes-category-menu
    .wc-block-product-categories-list-item
    > .wc-block-product-categories-list {
        display: none !important;
    }

    .bodes-category-menu
    .wc-block-product-categories-list-item.bodes-tree-open
    > .wc-block-product-categories-list {
        display: block !important;
    }

    .bodes-category-menu .bodes-cat-toggle {
        position: absolute !important;
        right: 4px !important;
        top: 8px !important;
        z-index: 3 !important;
        display: block !important;
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        min-height: 24px !important;
        margin: 0 !important;
        padding: 0 !important;
        cursor: pointer !important;
        pointer-events: auto !important;
    }

    .bodes-category-menu
    .wc-block-product-categories-list-item {
        position: relative !important;
    }

    .bodes-category-menu
    .wc-block-product-categories-list-item
    > a {
        padding-right: 36px !important;
    }

    .bodes-category-menu
    .bodes-cat-toggle::after {
        content: "⌄" !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 100% !important;
        line-height: 1 !important;
        transform: rotate(0deg);
        transition: transform 0.18s ease;
    }

    .bodes-category-menu
    .bodes-cat-toggle[aria-expanded="true"]::after {
        transform: rotate(180deg);
    }
}

@media (max-width: 781px) {
    .bodes-shop-sidebar,
    .bodes-home-category-sidebar,
    .bodes-category-menu,
    .home .bodes-category-menu,
    .archive .bodes-category-menu,
    .single-product .bodes-category-menu {
        display: none !important;
    }

    .bodes-shop-layout,
    .bodes-home-catalog-layout {
        display: block !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .bodes-shop-layout > .wp-block-column,
    .bodes-home-products-column {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }
}

/*
 * BODES_CHECKOUT_RADIO_SIZE_V1
 * Keep WooCommerce Checkout radio controls circular.
 */
body.woocommerce-checkout
.wc-block-components-radio-control__input,
.wp-block-woocommerce-checkout
.wc-block-components-radio-control__input {
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    inline-size: 20px !important;

    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    block-size: 20px !important;

    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border-radius: 50% !important;

    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

/* Preserve space between the radio button and its label. */
body.woocommerce-checkout
.wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout
.wc-block-components-radio-control__option {
    padding-left: 48px !important;
}


/* BODES_MOBILE_FOOTER_ACCORDION_V1 */
@media (max-width: 781px) {
    .bodes-footer {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .bodes-footer > .wp-block-columns {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        gap: 0 !important;
    }

    .bodes-footer > .wp-block-columns > .wp-block-column {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 1px solid rgba(255, 255, 255, 0.09);
    }

    .bodes-footer > .wp-block-columns > .wp-block-column:last-child {
        border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    }

    .bodes-footer .bodes-footer-accordion-title {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        min-height: 76px;
        margin: 0 !important;
        padding: 16px 22px !important;
        color: #fff !important;
        font-size: 23px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        cursor: default;
    }

    .bodes-footer .bodes-footer-toggle {
        position: relative;
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        margin: 0 0 0 18px !important;
        padding: 0 !important;
        border: 1px solid #d8d8d8 !important;
        border-radius: 7px !important;
        background: #fff !important;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.22) !important;
        color: #171717 !important;
        cursor: pointer;
    }

    .bodes-footer .bodes-footer-toggle:hover,
    .bodes-footer .bodes-footer-toggle:focus-visible {
        border-color: #ff553b !important;
        outline: 2px solid #ff553b !important;
        outline-offset: 2px;
    }

    .bodes-footer .bodes-footer-toggle-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 15px;
        height: 15px;
        border-right: 4px solid currentColor;
        border-bottom: 4px solid currentColor;
        transform: translate(-50%, -68%) rotate(45deg);
        transition: transform 180ms ease;
    }

    .bodes-footer
    .bodes-footer-toggle[aria-expanded="true"]
    .bodes-footer-toggle-icon {
        transform: translate(-50%, -30%) rotate(225deg);
    }

    .bodes-footer-accordion-ready
    .bodes-footer
    .bodes-footer-accordion-panel {
        display: none !important;
    }

    .bodes-footer-accordion-ready
    .bodes-footer
    .wp-block-column.is-open
    > .bodes-footer-accordion-panel {
        display: block !important;
    }

    .bodes-footer .bodes-footer-accordion-panel {
        margin: 0 !important;
        padding: 2px 24px 22px 45px !important;
        color: #fff !important;
        font-size: 17px !important;
        line-height: 1.55 !important;
    }

    .bodes-footer ul.bodes-footer-accordion-panel {
        list-style: disc !important;
    }

    .bodes-footer .bodes-footer-accordion-panel li {
        margin: 0 0 11px !important;
        padding: 0 !important;
    }

    .bodes-footer .bodes-footer-accordion-panel a {
        color: #fff !important;
        text-decoration: none !important;
    }

    .bodes-footer .bodes-footer-accordion-panel a:hover,
    .bodes-footer .bodes-footer-accordion-panel a:focus-visible {
        color: #ff654d !important;
        text-decoration: underline !important;
    }

    .bodes-footer p.bodes-footer-accordion-panel {
        padding-left: 24px !important;
    }

    .bodes-footer .bodes-footer-bottom {
        display: block !important;
        margin: 0 !important;
        padding: 20px 22px 24px !important;
        text-align: left !important;
    }

    .bodes-footer .bodes-footer-bottom p {
        margin: 0 0 8px !important;
    }
}


/* BODES_FOOTER_DESKTOP_TOGGLE_HIDE_V11 */

/* Accordion controls must never appear in the desktop footer. */
.bodes-footer .bodes-footer-toggle {
    display: none !important;
}

/* Restore accordion controls only on mobile screens. */
@media (max-width: 781px) {
    .bodes-footer .bodes-footer-toggle {
        display: block !important;
    }
}

/* BODES BUSINESS CHECKOUT START */

/* Juridiskas personas lauki */
.wp-block-woocommerce-checkout-additional-information-block
.wc-block-components-checkout-step__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

.wp-block-woocommerce-checkout-additional-information-block
.wc-block-components-checkout-step__content > * {
    min-width: 0;
    width: 100%;
    margin: 0;
}

/* Checkbox — atsevišķā rindā */
.wp-block-woocommerce-checkout-additional-information-block
.wc-block-components-checkout-step__content > *:nth-child(1) {
    grid-column: 1 / -1;
}

/* Uzņēmuma nosaukums — pilnā platumā */
.wp-block-woocommerce-checkout-additional-information-block
.wc-block-components-checkout-step__content > *:nth-child(2) {
    grid-column: 1 / -1;
}

/* Reģistrācijas Nr. */
.wp-block-woocommerce-checkout-additional-information-block
.wc-block-components-checkout-step__content > *:nth-child(3) {
    grid-column: 1 / 2;
}

/* PVN Nr. */
.wp-block-woocommerce-checkout-additional-information-block
.wc-block-components-checkout-step__content > *:nth-child(4) {
    grid-column: 2 / 3;
}

.wp-block-woocommerce-checkout-additional-information-block
.wc-block-components-text-input,
.wp-block-woocommerce-checkout-additional-information-block
.wc-block-components-text-input input {
    width: 100%;
    max-width: none;
}

/* Mobile */
@media (max-width: 767px) {

    .wp-block-woocommerce-checkout-additional-information-block
    .wc-block-components-checkout-step__content {
        grid-template-columns: 1fr;
    }

    .wp-block-woocommerce-checkout-additional-information-block
    .wc-block-components-checkout-step__content > * {
        grid-column: 1 / -1 !important;
    }

    /*
     * WooCommerce mobile auto-generated duplicate
     * "Pasūtījuma kopsavilkums".
     * Galvenais order summary paliek redzams.
     */

}

/* BODES BUSINESS CHECKOUT END */

/* BODES MOBILE CHECKOUT ALIGN START */

@media (max-width: 767px) {

    /*
     * WooCommerce Blocks renderē otru order-summary sidebar
     * zem checkout galvenās daļas.
     * Mobilajā versijā atstājam augšējo summary un apakšējo slēpjam.
     */
    .wc-block-checkout.is-mobile .wc-block-checkout__sidebar,
    .wc-block-checkout.is-small .wc-block-checkout__sidebar {
        display: none !important;
    }

    /*
     * Galvenā checkout kolonna aizņem visu pieejamo platumu.
     */
    .wc-block-checkout.is-mobile .wc-block-checkout__main,
    .wc-block-checkout.is-small .wc-block-checkout__main {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /*
     * Checkout iekšējie bloki vienā līnijā.
     */
    .wc-block-checkout .wc-block-components-checkout-step,
    .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block,
    .wc-block-checkout .wp-block-woocommerce-checkout-totals-block,
    .wc-block-checkout .wc-block-components-order-summary,
    .wc-block-checkout .wc-block-components-totals-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /*
     * Papildu juridiskās personas lauki mobilajā:
     * viena kolonna, vienāds platums.
     */
    .wp-block-woocommerce-checkout-additional-information-block
    .wc-block-components-checkout-step__content {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
        width: 100% !important;
    }

    .wp-block-woocommerce-checkout-additional-information-block
    .wc-block-components-checkout-step__content > * {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .wp-block-woocommerce-checkout-additional-information-block
    .wc-block-components-text-input,
    .wp-block-woocommerce-checkout-additional-information-block
    .wc-block-components-text-input input {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* BODES MOBILE CHECKOUT ALIGN END */

/* =========================================================
   BODES HOME VIEW CART LINK
   "Skatīt grozu" must be a text link, not a second button.
   ========================================================= */

.home .bodes-home-products-column
ul.products li.product
> a.added_to_cart.wc-forward,
.home .bodes-home-catalog-section
ul.products li.product
> a.added_to_cart.wc-forward {
    display: block !important;

    width: fit-content !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;

    margin: 12px auto 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    color: var(--bodes-blue) !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;

    text-align: center !important;
    text-decoration: underline !important;
}

.home .bodes-home-products-column
ul.products li.product
> a.added_to_cart.wc-forward:hover,
.home .bodes-home-products-column
ul.products li.product
> a.added_to_cart.wc-forward:focus,
.home .bodes-home-catalog-section
ul.products li.product
> a.added_to_cart.wc-forward:hover,
.home .bodes-home-catalog-section
ul.products li.product
> a.added_to_cart.wc-forward:focus {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--bodes-blue) !important;
    text-decoration: underline !important;
}



/* ==========================================================
   BODES_HEADER_SUPPORT_CART_DESIGN_V1
   Support call action + redesigned mini-cart.
   ========================================================== */


/* ----------------------------------------------------------
   SUPPORT PHONE — DESKTOP
   ---------------------------------------------------------- */

.bodes-header .bodes-phone {
    display: block;
    margin: 0;
}

.bodes-header .bodes-support-link {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 11px;

    min-height: 56px;
    padding: 7px 10px;

    color: #222;
    border: 1px solid transparent;
    border-radius: 6px;
    background: #fff;

    text-decoration: none !important;

    transition:
        background-color 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease;
}

.bodes-header .bodes-support-link:hover,
.bodes-header .bodes-support-link:focus-visible {
    color: #222;
    border-color: #dce2f4;
    background: #f7f9ff;
    box-shadow: 0 4px 14px rgba(23, 54, 199, .08);
    outline: none;
}

.bodes-header .bodes-support-icon {
    box-sizing: border-box;
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;

    place-items: center;

    color: #1736d1;
    border-radius: 50%;
    background: #eef2ff;

    transition:
        color 160ms ease,
        background-color 160ms ease,
        transform 160ms ease;
}

.bodes-header .bodes-support-icon svg {
    display: block;
    width: 21px;
    height: 21px;
}

.bodes-header .bodes-support-link:hover .bodes-support-icon,
.bodes-header .bodes-support-link:focus-visible .bodes-support-icon {
    color: #fff;
    background: #1736d1;
    transform: scale(1.04);
}

.bodes-header .bodes-support-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.15;
}

.bodes-header .bodes-support-label {
    margin-bottom: 2px;
    color: #777;
    font-size: 11px;
    font-weight: 500;
}

.bodes-header .bodes-support-number {
    display: block;
    margin: 0;

    color: #171717;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.15;
    white-space: nowrap;
}

.bodes-header .bodes-support-hours {
    margin-top: 3px;
    color: #686868;
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
}


/* ----------------------------------------------------------
   MINI CART — DESKTOP
   ---------------------------------------------------------- */

.bodes-header-main .wc-block-mini-cart__button {
    position: relative;

    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;

    width: auto !important;
    min-width: 112px !important;
    height: 54px !important;
    min-height: 54px !important;

    margin: 0 !important;
    padding: 0 17px !important;

    color: #fff !important;
    border: 1px solid #1736d1 !important;
    border-radius: 6px !important;
    background: #1736d1 !important;

    box-shadow: 0 4px 12px rgba(23, 54, 209, .18);

    transition:
        background-color 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease,
        transform 160ms ease;
}

.bodes-header-main .wc-block-mini-cart__button:hover,
.bodes-header-main .wc-block-mini-cart__button:focus-visible {
    color: #fff !important;
    border-color: #102ba8 !important;
    background: #102ba8 !important;

    box-shadow: 0 7px 17px rgba(23, 54, 209, .24);
    transform: translateY(-1px);
    outline: none;
}

.bodes-header-main .wc-block-mini-cart__button svg,
.bodes-header-main .wc-block-mini-cart__icon {
    width: 23px !important;
    height: 23px !important;
    color: #fff !important;
    stroke: currentColor;
}

/* Desktop text after the WooCommerce bag icon. */
.bodes-header-main .wc-block-mini-cart__button::after {
    content: "Grozs";

    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

/* WooCommerce item counter, when present. */
.bodes-header-main .wc-block-mini-cart__badge {
    position: absolute !important;
    top: -7px !important;
    right: -7px !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    min-width: 20px !important;
    height: 20px !important;
    padding: 0 5px !important;

    color: #fff !important;
    border: 2px solid #fff !important;
    border-radius: 999px !important;
    background: #ff5633 !important;

    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 16px !important;
}


/* ----------------------------------------------------------
   MOBILE HEADER
   ---------------------------------------------------------- */

@media (max-width: 900px) {

    .bodes-header-main {
        min-height: 0 !important;
        padding: 0 !important;
    }

    /*
     * Row 1: logo
     * Row 2: search
     * Row 3: support + compact cart
     */
    .bodes-header-main > .wp-block-columns {
        box-sizing: border-box !important;

        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 64px !important;
        grid-template-areas:
            "brand brand"
            "search search"
            "phone cart" !important;

        align-items: center !important;
        gap: 14px 12px !important;

        width: 100% !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 22px 16px 18px !important;
    }

    .bodes-header-main
    > .wp-block-columns
    > .wp-block-column {
        box-sizing: border-box !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        flex-basis: auto !important;
    }


    /* Logo column. */

    .bodes-header-main
    > .wp-block-columns
    > .wp-block-column.bodes-brand,

    .bodes-header-main
    > .wp-block-columns
    > .wp-block-column:has(.bodes-brand),

    .bodes-header-main
    > .wp-block-columns
    > .wp-block-column:has(.wp-block-site-logo) {
        grid-area: brand !important;
        justify-self: center !important;
        text-align: center !important;
    }

    .bodes-header-main .bodes-brand,
    .bodes-header-main .wp-block-site-logo {
        margin: 0 !important;
    }

    .bodes-header-main .bodes-brand img,
    .bodes-header-main .wp-block-site-logo img {
        display: block;
        width: auto !important;
        max-width: 225px !important;
        height: auto !important;
        margin: 0 auto !important;
    }


    /* Search column. */

    .bodes-header-main
    > .wp-block-columns
    > .wp-block-column.bodes-search,

    .bodes-header-main
    > .wp-block-columns
    > .wp-block-column:has(.bodes-search),

    .bodes-header-main
    > .wp-block-columns
    > .wp-block-column:has(.wp-block-search) {
        grid-area: search !important;
        width: 100% !important;
    }

    .bodes-header-main .bodes-search,
    .bodes-header-main .wp-block-search,
    .bodes-header-main .wp-block-search__inside-wrapper {
        box-sizing: border-box !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .bodes-header-main .wp-block-search__inside-wrapper {
        min-height: 52px !important;
    }


    /* Support column. */

    .bodes-header-main
    > .wp-block-columns
    > .wp-block-column:has(.bodes-phone) {
        grid-area: phone !important;
        width: 100% !important;
    }

    .bodes-header .bodes-phone {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .bodes-header .bodes-support-link {
        width: 100%;
        min-height: 60px;
        padding: 8px 11px;

        border: 1px solid #d9deea;
        background: #fff;

        box-shadow: 0 2px 7px rgba(20, 30, 55, .07);
    }

    .bodes-header .bodes-support-icon {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
    }

    .bodes-header .bodes-support-label {
        display: none;
    }

    .bodes-header .bodes-support-number {
        font-size: 15px;
    }

    .bodes-header .bodes-support-hours {
        margin-top: 4px;
        font-size: 11px;
    }


    /* Cart column. */

    .bodes-header-main
    > .wp-block-columns
    > .wp-block-column:has(.wc-block-mini-cart),

    .bodes-header-main
    > .wp-block-columns
    > .wp-block-column:has(.wp-block-woocommerce-mini-cart) {
        grid-area: cart !important;
        justify-self: end !important;

        width: 64px !important;
        max-width: 64px !important;
    }

    .bodes-header-main .wp-block-woocommerce-mini-cart,
    .bodes-header-main .wc-block-mini-cart {
        width: 64px !important;
        max-width: 64px !important;
        margin: 0 !important;
    }

    .bodes-header-main .wc-block-mini-cart__button {
        width: 64px !important;
        min-width: 64px !important;
        max-width: 64px !important;

        height: 60px !important;
        min-height: 60px !important;

        padding: 0 !important;
        gap: 0 !important;

        border-radius: 6px !important;
    }

    .bodes-header-main .wc-block-mini-cart__button::after {
        display: none !important;
        content: none !important;
    }

    .bodes-header-main .wc-block-mini-cart__button svg,
    .bodes-header-main .wc-block-mini-cart__icon {
        width: 25px !important;
        height: 25px !important;
    }
}


/* ----------------------------------------------------------
   SMALL PHONES
   ---------------------------------------------------------- */

@media (max-width: 480px) {

    .bodes-header-main > .wp-block-columns {
        grid-template-columns: minmax(0, 1fr) 58px !important;
        gap: 12px 10px !important;

        padding: 18px 12px 15px !important;
    }

    .bodes-header-main .bodes-brand img,
    .bodes-header-main .wp-block-site-logo img {
        max-width: 205px !important;
    }

    .bodes-header-main
    > .wp-block-columns
    > .wp-block-column:has(.wc-block-mini-cart),
    .bodes-header-main
    > .wp-block-columns
    > .wp-block-column:has(.wp-block-woocommerce-mini-cart),
    .bodes-header-main .wp-block-woocommerce-mini-cart,
    .bodes-header-main .wc-block-mini-cart {
        width: 58px !important;
        max-width: 58px !important;
    }

    .bodes-header-main .wc-block-mini-cart__button {
        width: 58px !important;
        min-width: 58px !important;
        max-width: 58px !important;

        height: 58px !important;
        min-height: 58px !important;
    }

    .bodes-header .bodes-support-link {
        min-height: 58px;
        padding-right: 8px;
        padding-left: 8px;
    }

    .bodes-header .bodes-support-icon {
        flex-basis: 37px;
        width: 37px;
        height: 37px;
    }

    .bodes-header .bodes-support-icon svg {
        width: 19px;
        height: 19px;
    }

    .bodes-header .bodes-support-number {
        font-size: 14px;
    }

    .bodes-header .bodes-support-hours {
        font-size: 10px;
    }
}


/* END BODES_HEADER_SUPPORT_CART_DESIGN_V1 */



/* ==========================================================
   BODES_HOME_CART_BUTTONS_MATCH_CATEGORY_V1
   Homepage add-to-cart buttons = category archive buttons.
   ========================================================== */

.home .bodes-home-products-column ul.products li.product .button,
.home .bodes-home-products-column ul.products li.product .added_to_cart {
    position: static !important;

    display: table !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 auto !important;
    padding: 10px 17px !important;

    border: 0 !important;
    border-radius: 4px !important;

    background: var(--bodes-blue) !important;
    color: #fff !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: normal !important;
    text-align: center !important;
    text-decoration: none !important;

    white-space: nowrap !important;
}

.home .bodes-home-products-column ul.products li.product .button:hover,
.home .bodes-home-products-column ul.products li.product .button:focus,
.home .bodes-home-products-column ul.products li.product .added_to_cart:hover,
.home .bodes-home-products-column ul.products li.product .added_to_cart:focus {
    background: var(--bodes-blue-dark) !important;
    color: #fff !important;
}


/* END BODES_HOME_CART_BUTTONS_MATCH_CATEGORY_V1 */



/* ==========================================================
   BODES_HOME_CART_BUTTON_VERTICAL_ALIGN_FIX_V1
   Center the text vertically inside homepage add-to-cart buttons.
   ========================================================== */

.home .bodes-home-products-column ul.products li.product .button,
.home .bodes-home-products-column ul.products li.product .added_to_cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 38px !important;
    padding: 0 17px !important;

    line-height: 1 !important;
    vertical-align: middle !important;
}

/* END BODES_HOME_CART_BUTTON_VERTICAL_ALIGN_FIX_V1 */



/* ==========================================================
   BODES_EMPTY_CART_STYLE_V1
   WooCommerce empty cart in BODES design.
   ========================================================== */


/* Main empty-cart wrapper */

.woocommerce-cart
.bodes-empty-cart-ready {
    box-sizing: border-box;

    width: 100%;
    max-width: 1180px;

    margin: 0 auto;
    padding: 0;
}


/* Hide original WooCommerce sad-face heading. */

.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-cart__empty-cart__title {
    display: none !important;
}


/* Remove default dotted separator. */

.woocommerce-cart
.bodes-empty-cart-ready
.wp-block-separator.is-style-dots {
    display: none !important;
}


/* ----------------------------------------------------------
   EMPTY CART PANEL
   ---------------------------------------------------------- */

.bodes-empty-cart-panel {
    box-sizing: border-box;

    width: min(720px, 100%);

    margin: 0 auto 58px;
    padding: 38px 34px 40px;

    border: 1px solid #dde1e7;
    border-bottom: 3px solid var(--bodes-blue);
    border-radius: 6px;

    background: #fff;

    box-shadow:
        0 5px 20px rgba(20, 35, 60, .07);

    text-align: center;
}


.bodes-empty-cart-icon {
    display: grid;

    width: 72px;
    height: 72px;

    margin: 0 auto 20px;

    place-items: center;

    border-radius: 50%;

    background: #eef2ff;
    color: var(--bodes-blue);
}


.bodes-empty-cart-icon svg {
    display: block;

    width: 35px;
    height: 35px;
}


.bodes-empty-cart-overline {
    margin: 0 0 8px !important;

    color: var(--bodes-orange) !important;

    font-size: 12px !important;
    font-weight: 800 !important;

    letter-spacing: .13em;
    line-height: 1.2 !important;

    text-transform: uppercase;
}


.bodes-empty-cart-heading {
    margin: 0 !important;

    color: #202124 !important;

    font-size: clamp(30px, 4vw, 42px) !important;
    font-weight: 600 !important;

    line-height: 1.12 !important;
    letter-spacing: -.025em;
}


.bodes-empty-cart-text {
    max-width: 520px;

    margin: 16px auto 25px !important;

    color: #666b73 !important;

    font-size: 15px !important;
    line-height: 1.6 !important;
}


.bodes-empty-cart-shop-button {
    box-sizing: border-box;

    display: inline-flex;

    min-height: 46px;

    padding: 0 23px;

    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 4px;

    background: var(--bodes-blue);
    color: #fff !important;

    font-size: 14px;
    font-weight: 700;

    line-height: 1;
    text-decoration: none !important;

    box-shadow:
        0 4px 12px rgba(23, 54, 199, .16);

    transition:
        background-color 160ms ease,
        transform 160ms ease,
        box-shadow 160ms ease;
}


.bodes-empty-cart-shop-button:hover,
.bodes-empty-cart-shop-button:focus-visible {
    background: var(--bodes-blue-dark);
    color: #fff !important;

    box-shadow:
        0 6px 16px rgba(23, 54, 199, .22);

    transform: translateY(-1px);

    outline: none;
}


/* ----------------------------------------------------------
   RECOMMENDATION TITLE
   ---------------------------------------------------------- */

.woocommerce-cart
.bodes-empty-cart-ready
.bodes-empty-cart-recommend-title {
    position: relative;

    width: 100%;

    margin: 0 0 24px !important;

    color: #202124 !important;

    font-size: clamp(28px, 3.5vw, 38px) !important;
    font-weight: 600 !important;

    line-height: 1.15 !important;
    letter-spacing: -.025em;

    text-align: left !important;
}


.woocommerce-cart
.bodes-empty-cart-ready
.bodes-empty-cart-recommend-title::before {
    content: "IESAKĀM";

    display: block;

    margin-bottom: 7px;

    color: var(--bodes-orange);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .13em;
    line-height: 1;

    text-transform: uppercase;
}


/* ----------------------------------------------------------
   OLD WC PRODUCT GRID
   ---------------------------------------------------------- */

.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__products {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 18px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    list-style: none !important;
}


.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product {
    box-sizing: border-box !important;

    display: flex !important;

    min-width: 0 !important;
    min-height: 420px !important;

    margin: 0 !important;
    padding: 14px 14px 18px !important;

    flex-direction: column !important;

    border: 1px solid #dde1e6 !important;
    border-bottom: 3px solid var(--bodes-blue) !important;

    border-radius: 5px !important;

    background: #fff !important;

    box-shadow:
        0 4px 14px rgba(25, 35, 70, .07) !important;
}


.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product-image {
    display: flex !important;

    width: 100% !important;
    height: 220px !important;

    margin: 0 0 14px !important;

    align-items: center;
    justify-content: center;
}


.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product-image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: contain !important;
}


.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product-title {
    min-height: 44px;

    margin: 0 0 12px !important;

    color: #123edb !important;

    font-size: 14px !important;
    font-weight: 500 !important;

    line-height: 1.3 !important;
    text-align: center !important;
}


.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product-price {
    margin: auto 0 16px !important;

    color: var(--bodes-blue) !important;

    font-size: 22px !important;
    font-weight: 500 !important;

    text-align: center !important;
}


/* ----------------------------------------------------------
   NEW PRODUCT COLLECTION GRID
   ---------------------------------------------------------- */

.woocommerce-cart
.bodes-empty-cart-ready
ul.wc-block-product-template {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 18px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


.woocommerce-cart
.bodes-empty-cart-ready
ul.wc-block-product-template
> li.wc-block-product {
    box-sizing: border-box !important;

    display: flex !important;

    min-width: 0 !important;

    padding: 14px 14px 18px !important;

    flex-direction: column !important;

    border: 1px solid #dde1e6 !important;
    border-bottom: 3px solid var(--bodes-blue) !important;

    border-radius: 5px !important;

    background: #fff !important;

    box-shadow:
        0 4px 14px rgba(25, 35, 70, .07) !important;
}


/* ----------------------------------------------------------
   BUTTONS
   ---------------------------------------------------------- */

.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product-add-to-cart,
.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-components-product-button {
    margin-top: auto !important;

    text-align: center !important;
}


.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product-add-to-cart
.wp-block-button__link,
.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-components-product-button
.wp-block-button__link {
    display: inline-flex !important;

    width: auto !important;
    min-width: 0 !important;
    min-height: 38px !important;

    margin: 0 auto !important;
    padding: 0 17px !important;

    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 4px !important;

    background: var(--bodes-blue) !important;

    color: #fff !important;
    -webkit-text-fill-color: #fff !important;

    font-size: 13px !important;
    font-weight: 700 !important;

    line-height: 1 !important;
    text-decoration: none !important;

    opacity: 1 !important;
}


.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product-add-to-cart
.wp-block-button__link:hover,
.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-components-product-button
.wp-block-button__link:hover {
    background: var(--bodes-blue-dark) !important;

    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}


/* Secondary "view cart" link after AJAX add. */

.woocommerce-cart
.bodes-empty-cart-ready
.added_to_cart {
    display: block;

    margin-top: 8px;

    color: var(--bodes-blue) !important;

    font-size: 12px;
    font-weight: 600;

    text-align: center;
}


/* ----------------------------------------------------------
   TABLET
   ---------------------------------------------------------- */

@media (max-width: 900px) {

    .bodes-empty-cart-panel {
        margin-bottom: 42px;
        padding: 32px 24px 34px;
    }

    .woocommerce-cart
    .bodes-empty-cart-ready
    .wc-block-grid__products,

    .woocommerce-cart
    .bodes-empty-cart-ready
    ul.wc-block-product-template {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 14px !important;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 600px) {

    .bodes-empty-cart-panel {
        width: 100%;

        margin-bottom: 36px;
        padding: 27px 17px 29px;
    }

    .bodes-empty-cart-icon {
        width: 62px;
        height: 62px;

        margin-bottom: 17px;
    }

    .bodes-empty-cart-icon svg {
        width: 30px;
        height: 30px;
    }

    .bodes-empty-cart-text {
        font-size: 14px !important;
    }

    .bodes-empty-cart-shop-button {
        width: 100%;
        min-height: 46px;
    }

    .woocommerce-cart
    .bodes-empty-cart-ready
    .bodes-empty-cart-recommend-title {
        font-size: 27px !important;
    }

    .woocommerce-cart
    .bodes-empty-cart-ready
    .wc-block-grid__product {
        min-height: 350px !important;
        padding: 10px 9px 13px !important;
    }

    .woocommerce-cart
    .bodes-empty-cart-ready
    .wc-block-grid__product-image {
        height: 150px !important;
    }

    .woocommerce-cart
    .bodes-empty-cart-ready
    .wc-block-grid__product-title {
        min-height: 48px;

        font-size: 13px !important;
    }

    .woocommerce-cart
    .bodes-empty-cart-ready
    .wc-block-grid__product-price {
        font-size: 19px !important;
    }

}


/* END BODES_EMPTY_CART_STYLE_V1 */



/* ==========================================================
   BODES_EMPTY_CART_PRODUCTS_WIDTH_FIX_V2
   Reset WooCommerce flex widths inside empty-cart product grid.
   ========================================================== */


/* Grid itself */
.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid {
    width: 100% !important;
    max-width: none !important;
}


.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__products {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 18px !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/*
 * Critical fix:
 * WooCommerce gives these cards percentage flex/max-width values.
 * They must be reset after switching the parent to CSS Grid.
 */
.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__products
> .wc-block-grid__product {
    box-sizing: border-box !important;

    display: flex !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    flex: none !important;
    flex-basis: auto !important;

    align-self: stretch !important;
    justify-self: stretch !important;

    margin: 0 !important;
    padding: 14px 14px 18px !important;

    flex-direction: column !important;

    border: 1px solid #dde1e6 !important;
    border-bottom: 3px solid var(--bodes-blue) !important;
    border-radius: 5px !important;

    background: #fff !important;

    box-shadow:
        0 4px 14px rgba(25, 35, 70, .07) !important;
}


/* Product link/card content */
.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product-link {
    box-sizing: border-box !important;

    display: flex !important;

    width: 100% !important;
    max-width: none !important;

    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: center !important;

    color: inherit !important;
    text-decoration: none !important;
}


/* Image */
.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product-image {
    box-sizing: border-box !important;

    display: flex !important;

    width: 100% !important;
    max-width: none !important;
    height: 220px !important;

    margin: 0 0 14px !important;

    align-items: center !important;
    justify-content: center !important;
}


.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product-image img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;

    margin: 0 !important;

    object-fit: contain !important;
}


/* Product name */
.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product-title {
    box-sizing: border-box !important;

    display: -webkit-box !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    max-height: 54px !important;

    margin: 0 0 12px !important;
    padding: 0 !important;

    overflow: hidden !important;

    color: #123edb !important;

    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;

    text-align: center !important;

    word-break: normal !important;
    overflow-wrap: anywhere !important;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}


/* Price */
.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product-price {
    width: 100% !important;

    margin: auto 0 16px !important;

    color: var(--bodes-blue) !important;

    font-size: 22px !important;
    font-weight: 500 !important;

    text-align: center !important;
}


/* Button wrapper */
.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product-add-to-cart {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    text-align: center !important;
}


/* Same compact button as product-category pages */
.woocommerce-cart
.bodes-empty-cart-ready
.wc-block-grid__product-add-to-cart
.wp-block-button__link {
    display: inline-flex !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;

    min-height: 38px !important;

    margin: 0 auto !important;
    padding: 0 17px !important;

    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 4px !important;

    background: var(--bodes-blue) !important;
    color: #fff !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    white-space: nowrap !important;
    text-decoration: none !important;
}


/* Tablet */
@media (max-width: 900px) {

    .woocommerce-cart
    .bodes-empty-cart-ready
    .wc-block-grid__products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 14px !important;
    }
}


/* Mobile */
@media (max-width: 600px) {

    .woocommerce-cart
    .bodes-empty-cart-ready
    .wc-block-grid__products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 12px !important;
    }

    .woocommerce-cart
    .bodes-empty-cart-ready
    .wc-block-grid__products
    > .wc-block-grid__product {
        padding: 10px 9px 13px !important;
    }

    .woocommerce-cart
    .bodes-empty-cart-ready
    .wc-block-grid__product-image {
        height: 150px !important;
    }

    .woocommerce-cart
    .bodes-empty-cart-ready
    .wc-block-grid__product-title {
        min-height: 48px !important;
        max-height: 48px !important;

        font-size: 13px !important;
    }

    .woocommerce-cart
    .bodes-empty-cart-ready
    .wc-block-grid__product-price {
        margin-bottom: 12px !important;
        font-size: 19px !important;
    }
}


/* END BODES_EMPTY_CART_PRODUCTS_WIDTH_FIX_V2 */



/* ==========================================================
   BODES_CATEGORY_CARD_VERTICAL_ALIGN_V1
   Equal title/price/button positions in product archives.
   ========================================================== */


/* Make every archive product card a vertical flex container. */
body.tax-product_cat
.woocommerce ul.products li.product,
body.post-type-archive-product
.woocommerce ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}


/*
 * Product image/title/price link fills all available card space.
 * This keeps the action button at the same bottom position.
 */
body.tax-product_cat
.woocommerce ul.products li.product
.woocommerce-LoopProduct-link,
body.post-type-archive-product
.woocommerce ul.products li.product
.woocommerce-LoopProduct-link {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
}


/* Reserve exactly three text lines for every product name. */
body.tax-product_cat
.woocommerce ul.products li.product
.woocommerce-loop-product__title,
body.post-type-archive-product
.woocommerce ul.products li.product
.woocommerce-loop-product__title {
    box-sizing: border-box !important;

    display: -webkit-box !important;

    width: 100% !important;
    min-height: 61px !important;
    max-height: 61px !important;

    margin: 15px 15px 5px !important;
    padding: 0 !important;

    overflow: hidden !important;

    line-height: 1.35 !important;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}


/* Price always sits at the bottom of the product link. */
body.tax-product_cat
.woocommerce ul.products li.product
.woocommerce-LoopProduct-link
.price,
body.post-type-archive-product
.woocommerce ul.products li.product
.woocommerce-LoopProduct-link
.price {
    margin-top: auto !important;
    margin-bottom: 4px !important;
}


/* Regular and Back-In-Stock buttons use the same vertical position. */
body.tax-product_cat
.woocommerce ul.products li.product
> .button,
body.tax-product_cat
.woocommerce ul.products li.product
> .bodes-bis-loop-button,
body.post-type-archive-product
.woocommerce ul.products li.product
> .button,
body.post-type-archive-product
.woocommerce ul.products li.product
> .bodes-bis-loop-button {
    flex: 0 0 auto !important;
    margin-top: 12px !important;
    margin-bottom: 0 !important;
}


/* END BODES_CATEGORY_CARD_VERTICAL_ALIGN_V1 */



/* ==========================================================
   BODES_BLOCK_ARCHIVE_CARD_ALIGN_V2
   Equal vertical layout for WooCommerce Block product cards.
   ========================================================== */


/* WooCommerce Block cards on categories and main shop. */
body.tax-product_cat .wc-block-product,
body.tax-product_cat .wp-block-post.product,
body.post-type-archive-product .wc-block-product,
body.post-type-archive-product .wp-block-post.product {
    box-sizing: border-box !important;
}


/*
 * Reserve exactly 3 lines for every product title.
 * 15px × 1.35 × 3 = ~61px.
 */
body.tax-product_cat
.wc-block-product
.wc-block-components-product-name,

body.tax-product_cat
.wc-block-product
.wp-block-post-title,

body.tax-product_cat
.wp-block-post.product
.wp-block-post-title,

body.post-type-archive-product
.wc-block-product
.wc-block-components-product-name,

body.post-type-archive-product
.wc-block-product
.wp-block-post-title,

body.post-type-archive-product
.wp-block-post.product
.wp-block-post-title {
    box-sizing: border-box !important;

    display: -webkit-box !important;

    width: calc(100% - 30px) !important;
    height: 61px !important;
    min-height: 61px !important;
    max-height: 61px !important;

    margin: 15px 15px 5px !important;
    padding: 0 !important;

    overflow: hidden !important;

    font-size: 15px !important;
    line-height: 1.35 !important;

    text-align: center !important;

    word-break: normal !important;
    overflow-wrap: break-word !important;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}


/* Keep price block geometry identical in every card. */
body.tax-product_cat
.wc-block-product
.wc-block-components-product-price,

body.tax-product_cat
.wp-block-post.product
.wc-block-components-product-price,

body.post-type-archive-product
.wc-block-product
.wc-block-components-product-price,

body.post-type-archive-product
.wp-block-post.product
.wc-block-components-product-price {
    margin-top: 7px !important;
    margin-bottom: 4px !important;
}


/* Standard Add to cart wrapper. */
body.tax-product_cat
.wc-block-product
.wc-block-components-product-button,

body.tax-product_cat
.wp-block-post.product
.wc-block-components-product-button,

body.post-type-archive-product
.wc-block-product
.wc-block-components-product-button,

body.post-type-archive-product
.wp-block-post.product
.wc-block-components-product-button {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
    text-align: center !important;
}


/* Standard Add to cart button. */
body.tax-product_cat
.wc-block-components-product-button
.wp-block-button__link,

body.post-type-archive-product
.wc-block-components-product-button
.wp-block-button__link {
    min-height: 38px !important;
    margin: 0 auto !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}


/* Back-in-stock button: exact same vertical geometry. */
body.tax-product_cat
.bodes-bis-loop-button,

body.post-type-archive-product
.bodes-bis-loop-button {
    box-sizing: border-box !important;

    height: 38px !important;
    min-height: 38px !important;

    margin-top: 12px !important;
    margin-bottom: 0 !important;

    vertical-align: top !important;
}


/* END BODES_BLOCK_ARCHIVE_CARD_ALIGN_V2 */



/* ==========================================================
   BODES_BIS_BLOCK_BUTTON_ALIGN_V3
   Back-in-stock button uses the same vertical position
   as the regular WooCommerce Block Add to cart button.
   ========================================================== */

body.tax-product_cat
.wc-block-components-product-button
.bodes-bis-loop-button,

body.post-type-archive-product
.wc-block-components-product-button
.bodes-bis-loop-button {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    height: 38px !important;
    min-height: 38px !important;

    align-self: center !important;
    vertical-align: middle !important;
}


/* END BODES_BIS_BLOCK_BUTTON_ALIGN_V3 */



/* ==========================================================
   BODES_WISHLIST_DESIGN_V1
   WPC Smart Wishlist popup + wishlist page.
   ========================================================== */


/* ---------- ADD TO CART BUTTONS ---------- */

.woosw-popup .woosw-item--atc a,
.woosw-popup .woosw-item--atc button,
.woosw-list .woosw-item--atc a,
.woosw-list .woosw-item--atc button {
    box-sizing: border-box !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 145px !important;
    min-height: 42px !important;

    margin: 0 auto !important;
    padding: 0 16px !important;

    border: 0 !important;
    border-radius: 4px !important;

    background: var(--bodes-blue) !important;
    color: #fff !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    white-space: nowrap !important;
    text-align: center !important;
    text-decoration: none !important;
}

.woosw-popup .woosw-item--atc a:hover,
.woosw-popup .woosw-item--atc button:hover,
.woosw-list .woosw-item--atc a:hover,
.woosw-list .woosw-item--atc button:hover {
    background: var(--bodes-blue-dark) !important;
    color: #fff !important;
}


/* ---------- POPUP ---------- */

.woosw-popup .woosw-popup-inner {
    max-width: 680px !important;
}

.woosw-popup .woosw-item {
    align-items: center !important;
}

.woosw-popup .woosw-item--image img {
    width: 72px !important;
    height: 72px !important;
    object-fit: contain !important;
}

.woosw-popup .woosw-item--name {
    line-height: 1.35 !important;
}

.woosw-popup .woosw-item--name a {
    color: var(--bodes-blue) !important;
    font-weight: 700 !important;
}

.woosw-popup .woosw-popup-content-bot a,
.woosw-popup .woosw-popup-content-bot span {
    color: var(--bodes-blue) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}


/* ---------- WISHLIST PAGE ---------- */

.woosw-list {
    box-sizing: border-box !important;

    width: min(100%, 1000px) !important;
    margin: 0 auto !important;

    background: #fff;
}

.woosw-list .woosw-item {
    min-height: 118px !important;

    border-bottom: 1px solid #e1e4e8 !important;
    background: #fff !important;
}

.woosw-list .woosw-item:nth-child(even) {
    background: #fafbfc !important;
}

.woosw-list .woosw-item--image img {
    width: 92px !important;
    height: 92px !important;

    object-fit: contain !important;
}

.woosw-list .woosw-item--name a {
    color: var(--bodes-blue) !important;

    font-size: 15px !important;
    font-weight: 700 !important;

    line-height: 1.35 !important;
    text-decoration: none !important;
}

.woosw-list .woosw-item--price {
    color: #222 !important;
    font-size: 15px !important;
}

.woosw-list .woosw-item--stock {
    min-width: 150px !important;

    color: #333 !important;

    font-size: 14px !important;
    line-height: 1.4 !important;
}

.woosw-list .woosw-item--atc {
    min-width: 170px !important;

    text-align: center !important;
}


/* ---------- MOBILE ---------- */

@media (max-width: 600px) {

    .woosw-popup .woosw-popup-inner {
        width: calc(100vw - 20px) !important;
        max-width: none !important;
    }

    .woosw-popup .woosw-item--atc a,
    .woosw-popup .woosw-item--atc button,
    .woosw-list .woosw-item--atc a,
    .woosw-list .woosw-item--atc button {
        min-width: 125px !important;
        min-height: 40px !important;

        padding: 0 11px !important;

        font-size: 12px !important;
    }
}


/* END BODES_WISHLIST_DESIGN_V1 */



/* ==========================================================
   BODES_BRAND_ARCHIVE_3_COLUMNS_V1
   Product brand archive: 3 products per row on desktop.
   ========================================================== */


/* Classic WooCommerce product loop on brand pages */
body.tax-product_brand .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

body.tax-product_brand .woocommerce ul.products::before,
body.tax-product_brand .woocommerce ul.products::after {
    display: none !important;
    content: none !important;
}

body.tax-product_brand .woocommerce ul.products li.product {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
}


/* If this archive uses WooCommerce Blocks */
body.tax-product_brand ul.wc-block-product-template {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

body.tax-product_brand ul.wc-block-product-template > li.wc-block-product {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
}


/* Tablet */
@media (max-width: 980px) {
    body.tax-product_brand .woocommerce ul.products,
    body.tax-product_brand ul.wc-block-product-template {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    body.tax-product_brand .woocommerce ul.products,
    body.tax-product_brand ul.wc-block-product-template {
        grid-template-columns: 1fr !important;
    }
}


/* END BODES_BRAND_ARCHIVE_3_COLUMNS_V1 */



/* ==========================================================
   BODES_BRAND_MOBILE_LAYOUT_V1
   Make product_brand archives use the same mobile layout
   as product categories.
   ========================================================== */

@media (max-width: 900px) {

    /* Hide desktop category sidebar on brand archives. */
    body.tax-product_brand .bodes-shop-sidebar {
        display: none !important;
    }


    /* Release the desktop sidebar/content columns. */
    body.tax-product_brand .bodes-shop-layout {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }


    body.tax-product_brand .bodes-shop-content {
        box-sizing: border-box !important;

        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        flex: 0 0 100% !important;

        margin-right: 0 !important;
        margin-left: 0 !important;
    }


    /* Brand title. */
    body.tax-product_brand .wp-block-query-title,
    body.tax-product_brand .woocommerce-products-header__title,
    body.tax-product_brand .page-title {
        width: 100% !important;

        margin-bottom: 16px !important;

        font-size: clamp(28px, 8vw, 38px) !important;
        line-height: 1.1 !important;

        word-break: normal !important;
        overflow-wrap: normal !important;
    }


    /*
     * Results count + sorting:
     * one full-width row below another.
     */
    body.tax-product_brand .bodes-shop-toolbar {
        box-sizing: border-box !important;

        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;

        gap: 12px !important;

        width: 100% !important;
        min-width: 0 !important;

        margin-bottom: 22px !important;

        align-items: stretch !important;
    }


    body.tax-product_brand .wc-block-product-results-count,
    body.tax-product_brand .woocommerce-result-count {
        box-sizing: border-box !important;

        display: block !important;
        float: none !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;

        writing-mode: horizontal-tb !important;

        word-break: normal !important;
        overflow-wrap: normal !important;
        white-space: normal !important;
    }


    body.tax-product_brand
    .wp-block-woocommerce-catalog-sorting,

    body.tax-product_brand
    .woocommerce-ordering {
        box-sizing: border-box !important;

        display: block !important;
        float: none !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
    }


    body.tax-product_brand
    .woocommerce-ordering select,

    body.tax-product_brand
    .wp-block-woocommerce-catalog-sorting select {
        box-sizing: border-box !important;

        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
    }
}


/* Small phones: product cards remain one per row. */
@media (max-width: 640px) {

    body.tax-product_brand .woocommerce ul.products,
    body.tax-product_brand ul.wc-block-product-template {
        display: grid !important;

        grid-template-columns: minmax(0, 1fr) !important;

        width: 100% !important;
        min-width: 0 !important;

        gap: 18px !important;
    }

}


/* END BODES_BRAND_MOBILE_LAYOUT_V1 */


/* BODES: temporarily hide WooCommerce category descriptions */
.woocommerce-products-header__description,
.term-description {
    display: none !important;
}

/* BODES: temporarily hide category descriptions */
.bodes-category-description {
    display: none !important;
}


/* =========================================================
   BODES - WOOCOMMERCE MY ACCOUNT
   ========================================================= */

body.woocommerce-account .woocommerce {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px 70px;
    box-sizing: border-box;
}

/* Main account columns */
body.woocommerce-account .woocommerce::after {
    content: "";
    display: block;
    clear: both;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 230px;
    float: left;
    margin: 0;
    padding: 8px;
    background: #fff;
    border: 1px solid #e2e6ea;
    border-radius: 6px;
    box-sizing: border-box;
}

body.woocommerce-account .woocommerce-MyAccount-content {
    width: calc(100% - 262px);
    float: right;
    min-width: 0;
    padding: 28px 32px;
    background: #fff;
    border: 1px solid #e2e6ea;
    border-radius: 6px;
    box-sizing: border-box;
}


/* ---------------------------------------------------------
   Account navigation
   --------------------------------------------------------- */

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #edf0f2;
}

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

body.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block;
    position: relative;
    padding: 12px 14px;
    border-radius: 4px;
    color: #222;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    text-decoration: none;
    transition:
        background-color .15s ease,
        color .15s ease;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    background: #f5f7fa;
    color: #173bd4;
}

body.woocommerce-account
.woocommerce-MyAccount-navigation
li.is-active > a {
    background: #173bd4;
    color: #fff;
    font-weight: 600;
}


/* Logout slightly separated */
body.woocommerce-account
.woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 7px;
    padding-top: 7px;
}

body.woocommerce-account
.woocommerce-MyAccount-navigation-link--customer-logout > a {
    color: #b42318;
}

body.woocommerce-account
.woocommerce-MyAccount-navigation-link--customer-logout > a:hover {
    color: #8f1c13;
    background: #fff4f3;
}


/* ---------------------------------------------------------
   Content typography
   --------------------------------------------------------- */

body.woocommerce-account .woocommerce-MyAccount-content > :first-child {
    margin-top: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
    margin-top: 0;
    color: #202124;
}

body.woocommerce-account .woocommerce-MyAccount-content p {
    line-height: 1.65;
}

body.woocommerce-account .woocommerce-MyAccount-content a {
    color: #173bd4;
}


/* ---------------------------------------------------------
   Addresses
   --------------------------------------------------------- */

body.woocommerce-account .woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 22px;
}

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

body.woocommerce-account .woocommerce-Address {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 22px;
    border: 1px solid #e2e6ea;
    border-radius: 5px;
    background: #fafbfc;
    box-sizing: border-box;
}

body.woocommerce-account .woocommerce-Address-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

body.woocommerce-account .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-Address-title h3 {
    margin: 0;
    font-size: 21px;
}

body.woocommerce-account .woocommerce-Address-title .edit {
    float: none;
    flex: 0 0 auto;
    padding: 6px 11px;
    border: 1px solid #d7dce2;
    border-radius: 4px;
    background: #fff;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
}

body.woocommerce-account .woocommerce-Address-title .edit:hover {
    border-color: #173bd4;
    background: #f5f7ff;
}

body.woocommerce-account .woocommerce-Address address {
    margin: 0;
    color: #444;
    font-style: normal;
    line-height: 1.65;
}


/* ---------------------------------------------------------
   Account tables
   --------------------------------------------------------- */

body.woocommerce-account .woocommerce-MyAccount-content table {
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
}

body.woocommerce-account
.woocommerce-MyAccount-content
.woocommerce-orders-table {
    border: 1px solid #e2e6ea;
    border-radius: 5px;
    overflow: hidden;
}

body.woocommerce-account
.woocommerce-MyAccount-content
.woocommerce-orders-table th {
    padding: 12px 14px;
    background: #f6f7f9;
    border-bottom: 1px solid #e2e6ea;
    text-align: left;
    font-size: 13px;
}

body.woocommerce-account
.woocommerce-MyAccount-content
.woocommerce-orders-table td {
    padding: 13px 14px;
    border-bottom: 1px solid #edf0f2;
}


/* ---------------------------------------------------------
   Forms
   --------------------------------------------------------- */

body.woocommerce-account
.woocommerce-MyAccount-content
.form-row {
    margin-bottom: 16px;
}

body.woocommerce-account
.woocommerce-MyAccount-content
input.input-text,
body.woocommerce-account
.woocommerce-MyAccount-content
textarea,
body.woocommerce-account
.woocommerce-MyAccount-content
select {
    min-height: 42px;
    padding: 8px 11px;
    border: 1px solid #cfd5db;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
}

body.woocommerce-account
.woocommerce-MyAccount-content
input.input-text:focus,
body.woocommerce-account
.woocommerce-MyAccount-content
textarea:focus,
body.woocommerce-account
.woocommerce-MyAccount-content
select:focus {
    border-color: #173bd4;
    outline: 0;
    box-shadow: 0 0 0 2px rgba(23, 59, 212, .08);
}


/* Woo buttons */
body.woocommerce-account
.woocommerce-MyAccount-content
button.button,
body.woocommerce-account
.woocommerce-MyAccount-content
a.button {
    min-height: 38px;
    padding: 9px 16px;
    border: 0;
    border-radius: 4px;
    background: #173bd4;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}

body.woocommerce-account
.woocommerce-MyAccount-content
button.button:hover,
body.woocommerce-account
.woocommerce-MyAccount-content
a.button:hover {
    background: #102ea8;
    color: #fff;
}


/* ---------------------------------------------------------
   Compare / wishlist / wide third-party content
   --------------------------------------------------------- */

body.woocommerce-account .woocommerce-MyAccount-content {
    overflow-x: auto;
}

body.woocommerce-account .woocommerce-MyAccount-content table {
    max-width: 100%;
}

body.woocommerce-account
.woocommerce-MyAccount-content
table img {
    max-width: 150px;
    height: auto;
}


/* ---------------------------------------------------------
   Notices
   --------------------------------------------------------- */

body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error {
    grid-column: 1 / -1;
    margin-bottom: 20px;
    border-radius: 4px;
}


/* ---------------------------------------------------------
   Tablet / mobile
   --------------------------------------------------------- */

@media (max-width: 900px) {

    body.woocommerce-account .woocommerce {
        padding-left: 18px;
        padding-right: 18px;
    }

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

    body.woocommerce-account .woocommerce-MyAccount-navigation {
        margin-bottom: 20px;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        overflow-x: auto;
        gap: 5px;
        padding-bottom: 2px;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;
        border-bottom: 0;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation a {
        white-space: nowrap;
        border: 1px solid #e2e6ea;
    }

    body.woocommerce-account
    .woocommerce-MyAccount-navigation-link--customer-logout {
        margin-top: 0;
        padding-top: 0;
    }
}

@media (max-width: 650px) {

    body.woocommerce-account .woocommerce {
        padding-left: 12px;
        padding-right: 12px;
        padding-bottom: 40px;
    }

    body.woocommerce-account .woocommerce-MyAccount-content {
        padding: 20px 16px;
    }

    body.woocommerce-account .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }

    body.woocommerce-account .woocommerce-Address {
        padding: 18px;
    }
}
