/* Valeurs relevées sur Astra + kit Elementor 442, le 30/09/2026.
 * Elementor reste prioritaire pour ses couleurs, polices et widgets.
 * Les styles métier sont chargés ensuite par blooming-dev.
 */
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/lato-regular.woff2') format('woff2');
}
@font-face {
    font-family: 'Imprima';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/imprima-regular.woff2') format('woff2');
}
:root {
    /* Fallbacks si Elementor est désactivé. Son kit redéfinit ces valeurs sur body. */
    --e-global-color-primary: #0d5c63;
    --e-global-color-secondary: #f0f7ee;
    --e-global-color-text: #4e5652;
    --e-global-color-accent: #44a1a0;
    --e-global-color-cd1c9dc: #8dadad;
    --e-global-color-c0a326a: #ffb4a2;
    --e-global-color-143e2eb: #fafafa;
    --e-global-color-9b8eebd: #041d1f;
    --e-global-color-b6f6d12: #d9d9d9;
    --e-global-typography-primary-font-family: 'Imprima';
    --e-global-typography-secondary-font-family: 'Imprima';
    --e-global-typography-text-font-family: 'Lato';
    --bp-content-width: 1200px;
    --wp--style--global--content-size: 1200px;
    --wp--style--global--wide-size: 1440px;
    /* Anciennes couleurs Gutenberg/Elementor stockées dans les contenus. */
    --ast-global-color-0: #1bae70;
    --ast-global-color-1: #06752e;
    --ast-global-color-2: #14261c;
    --ast-global-color-3: #4e5652;
    --ast-global-color-4: #f4f6f4;
    --ast-global-color-5: #fff;
    --ast-global-color-6: #000;
    --ast-global-color-7: #4b4f58;
    --ast-global-color-8: #f6f7f8;
    /* Références astglobalcolor4/5 repérées dans les CSS Elementor existants. */
    --e-global-color-astglobalcolor0: var(--ast-global-color-0);
    --e-global-color-astglobalcolor1: var(--ast-global-color-1);
    --e-global-color-astglobalcolor2: var(--ast-global-color-2);
    --e-global-color-astglobalcolor3: var(--ast-global-color-3);
    --e-global-color-astglobalcolor4: var(--ast-global-color-4);
    --e-global-color-astglobalcolor5: var(--ast-global-color-5);
    --e-global-color-astglobalcolor6: var(--ast-global-color-6);
    --e-global-color-astglobalcolor7: var(--ast-global-color-7);
    --e-global-color-astglobalcolor8: var(--ast-global-color-8);
}
html { box-sizing: border-box; font-size: 100%; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; background: var(--e-global-color-143e2eb); color: var(--e-global-color-text); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
fieldset, legend { border: 0; margin: 0; padding: 0; }
body, button, input, select, textarea {
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.7;
}
main, header, footer, nav, article, section { display: block; }
a { color: var(--e-global-color-primary); text-decoration: none; background-color: transparent; }
a:hover, a:focus { color: var(--e-global-color-accent); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--e-global-color-accent);
    outline-offset: 3px;
}
h1, h2, h3, h4, h5, h6 {
    margin: 0 0 20px;
    font-family: var(--e-global-typography-primary-font-family), sans-serif;
    font-weight: 400;
    clear: both;
}
h1 { font-size: 52px; line-height: 1.4; }
h2 { font-size: 40px; line-height: 1.3; }
h3 { font-size: 24px; line-height: 1.3; }
h4 { font-size: 20px; line-height: 1.2; }
h5 { font-size: 18px; line-height: 1.2; }
h6 { font-size: 16px; line-height: 1.25; }
p { margin: 0 0 1.6em; }
b, strong { font-weight: 700; }
dfn, cite, em, i { font-style: italic; }
blockquote { margin: 1.5em 1em; padding: 1.2em; border-inline-start: 5px solid var(--e-global-color-b6f6d12); }
ul, ol { margin: 0 0 1.5em 3em; padding: 0; }
ul { list-style: disc; }
ol { list-style: decimal; }
li > ul, li > ol { margin-bottom: 0; margin-inline-start: 1.5em; }
dt { font-weight: 700; }
dd { margin: 0 1.5em 1.5em; }
img { max-width: 100%; height: auto; vertical-align: middle; border: 0; }
svg { vertical-align: middle; }
figure { margin: 0; }
iframe, embed, object { max-width: 100%; }
pre { overflow: auto; background: #eee; padding: 1.6em; }
code, kbd, pre, samp { font-family: monospace; }
hr { height: 1px; border: 0; background: #ccc; margin-bottom: 1.5em; }
table { border-collapse: collapse; border-spacing: 0; width: 100%; margin: 0 0 1.5em; }
th, td { border: 1px solid #ddd; padding: 8px; text-align: start; }
button, input, select, textarea { margin: 0; max-width: 100%; }
button, input[type='button'], input[type='submit'], input[type='reset'], .button {
    padding: 10px 20px;
    border: 0;
    border-color: var(--e-global-color-c0a326a, #ffb4a2);
    border-radius: 5px;
    background: var(--e-global-color-c0a326a);
    color: var(--e-global-color-primary);
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
}
button:hover, button:focus, input[type='button']:hover, input[type='submit']:hover, input[type='reset']:hover, .button:hover {
    background: var(--e-global-color-accent);
    color: var(--e-global-color-secondary);
}
button:disabled, input:disabled { cursor: default; opacity: .6; }
:where(input:not([type='button']):not([type='submit']):not([type='reset']):not([type='checkbox']):not([type='radio']):not([type='range']):not([type='color']):not([type='hidden']), select, textarea) {
    color: #666;
    padding: .75em;
    border: 1px solid #ddd;
    border-radius: 0;
    background: #fafafa;
    box-shadow: none;
}
textarea { width: 100%; resize: vertical; }
input[type='checkbox'], input[type='radio'] { padding: 0; accent-color: var(--e-global-color-primary); }
input:focus, select:focus, textarea:focus { border-color: var(--e-global-color-primary); }
::selection { background: var(--e-global-color-accent); color: #000; }
.site, .site-content, #primary, .site-main, .bp-builder-content { width: 100%; margin: 0; padding: 0; min-width: 0; }
.bp-native-content { max-width: var(--bp-content-width); margin: 0 auto; padding: 40px 20px; }
.entry-content::after, .clear::after { content: ''; display: table; clear: both; }
.entry-content > :last-child { margin-bottom: 0; }
.entry-content :where(h1, h2, h3, h4, h5, h6) { margin-bottom: 20px; }
.entry-content .alignfull { width: 100%; max-width: 100%; }
.alignleft { float: left; margin: 0 1.5em 1.5em 0; }
.alignright { float: right; margin: 0 0 1.5em 1.5em; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .gallery-caption { font-size: .875rem; text-align: center; }
.screen-reader-text {
    border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
    width: 1px; height: 1px; margin: -1px; overflow: hidden; padding: 0;
    position: absolute !important; word-wrap: normal !important;
}
.skip-link:focus { clip: auto; clip-path: none; width: auto; height: auto; top: 0; left: 0; z-index: 100000; padding: 15px; background: #fff; }
.bp-fallback-header, .bp-fallback-footer { padding: 20px; background: var(--e-global-color-secondary); }
.bp-fallback-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.bp-fallback-header .menu, .bp-fallback-footer .menu { display: flex; gap: 20px; flex-wrap: wrap; margin: 0; list-style: none; }
.bp-fallback-header .custom-logo { width: 200px; }
/* Astra donnait encore ces valeurs aux boutons et titres Elementor. */
.elementor-widget-heading .elementor-heading-title { margin: 0; }
.elementor-widget-heading h1.elementor-heading-title { line-height: 1.4em; }
.elementor-widget-heading h2.elementor-heading-title { line-height: 1.3em; }
.elementor-widget-heading h3.elementor-heading-title { line-height: 1.3em; }
.elementor-widget-heading h4.elementor-heading-title { line-height: 1.2em; }
.elementor-widget-heading h5.elementor-heading-title { line-height: 1.2em; }
.elementor-widget-heading h6.elementor-heading-title { line-height: 1.25em; }
body .elementor-button.elementor-size-sm,
body .elementor-button.elementor-size-xs,
body .elementor-button.elementor-size-md,
body .elementor-button.elementor-size-lg,
body .elementor-button.elementor-size-xl,
body .elementor-button {
    padding: 10px 20px; border-radius: 5px; font-size: 1rem;
}
.elementor-widget-button .elementor-button {
    border: 0 solid var(--e-global-color-c0a326a); background-color: var(--e-global-color-c0a326a);
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-weight: 700; line-height: 1; text-decoration: none;
}
body .elementor hr { margin: 0; background: #ccc; }
.elementor-widget-theme-post-content p { margin-bottom: 1.75em; }
.bp-breadcrumb-bar { padding: 5px 0; background: #fafafa; width: 100%; }
.bp-breadcrumb-bar .ast-container { padding-inline: 20px; }
.ast-breadcrumbs-wrapper, .ast-breadcrumbs-wrapper * { font-size: .875rem; line-height: 2; }
.bp-breadcrumb-bar .trail-items { display: inline-block; list-style: none; padding: 0; margin: 0; }
.bp-breadcrumb-bar .trail-item { display: inline; margin: 0; padding: 0; }
.bp-breadcrumb-bar .trail-item + .trail-item::before { content: '/'; margin-inline: .3em; }
/* Identité visuelle du retour en haut, sans police d'icônes Astra. */
body #bp-scroll-top,
body #bp-scroll-top:hover,
body #bp-scroll-top:focus {
    position: fixed; inset-inline-end: 30px; bottom: 30px; z-index: 99;
    display: flex; align-items: center; justify-content: center;
    width: 2.1em; height: 2.1em; padding: 0; border: 0; border-radius: 5px;
    font-size: 16px; line-height: 1; color: #fff; background: var(--e-global-color-accent);
}
body #bp-scroll-top[hidden] { display: none; }
@media (max-width: 921px) {
    html { font-size: 91.2%; }
    .bp-breadcrumb-bar { padding: 0 0 5px; }
}
@media (max-width: 768px) {
    .bp-breadcrumb-bar { padding: 0; }
    .bp-native-content { padding: 24px 15px; }
    h1 { font-size: 40px; }
    h2 { font-size: 35px; }
    h3 { font-size: 20px; }
    h4 { font-size: 16px; }
    body #bp-scroll-top { display: none; }
    body.bp-theme.woocommerce-cart #content table.cart td.product-thumbnail {
        display: block;
        text-align: center !important;
    }
    body.bp-theme.woocommerce-cart #content table.cart td.product-thumbnail:before {
        display: none;
    }
}
/* Reprend les styles WooCommerce qu'Astra ajoutait au socle du site. */
body.bp-theme.woocommerce-page.woocommerce-js #respond input#submit,
body.bp-theme.woocommerce-page.woocommerce-js a.button,
body.bp-theme.woocommerce-page.woocommerce-js a.added_to_cart,
body.bp-theme.woocommerce-page.woocommerce-js button.button,
body.bp-theme.woocommerce-page.woocommerce-js input.button,
body.bp-theme.woocommerce-js .elementor-widget-woocommerce-products ul.products li.product .button,
body.bp-theme.woocommerce-js .elementor-widget.elementor-widget-woocommerce-products.elementor-products-grid ul.products li.product .button,
body.bp-theme.woocommerce-js .elementor-menu-cart__main .woocommerce-mini-cart__buttons .button {
    padding: 10px 20px;
    border: 0;
    border-radius: 5px;
    background-color: var(--e-global-color-c0a326a, #ffb4a2);
    color: var(--e-global-color-primary, #0d5c63);
    font-family: var(--e-global-typography-text-font-family, 'Lato'), sans-serif;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
    text-shadow: none;
}
body.bp-theme.woocommerce-page.woocommerce-js #respond input#submit:hover,
body.bp-theme.woocommerce-page.woocommerce-js #respond input#submit:focus,
body.bp-theme.woocommerce-page.woocommerce-js a.button:hover,
body.bp-theme.woocommerce-page.woocommerce-js a.button:focus,
body.bp-theme.woocommerce-page.woocommerce-js a.added_to_cart:hover,
body.bp-theme.woocommerce-page.woocommerce-js a.added_to_cart:focus,
body.bp-theme.woocommerce-page.woocommerce-js button.button:hover,
body.bp-theme.woocommerce-page.woocommerce-js button.button:focus,
body.bp-theme.woocommerce-page.woocommerce-js input.button:hover,
body.bp-theme.woocommerce-page.woocommerce-js input.button:focus,
body.bp-theme.woocommerce-js .elementor-widget-woocommerce-products ul.products li.product .button:hover,
body.bp-theme.woocommerce-js .elementor-widget-woocommerce-products ul.products li.product .button:focus,
body.bp-theme.woocommerce-js .elementor-widget.elementor-widget-woocommerce-products.elementor-products-grid ul.products li.product .button:hover,
body.bp-theme.woocommerce-js .elementor-widget.elementor-widget-woocommerce-products.elementor-products-grid ul.products li.product .button:focus,
body.bp-theme.woocommerce-js .elementor-menu-cart__main .woocommerce-mini-cart__buttons .button:hover,
body.bp-theme.woocommerce-js .elementor-menu-cart__main .woocommerce-mini-cart__buttons .button:focus {
    border-color: var(--e-global-color-accent, #44a1a0);
    background-color: var(--e-global-color-accent, #44a1a0);
    color: var(--e-global-color-secondary, #f0f7ee);
}
body.bp-theme.woocommerce-page.woocommerce-js ul.products li.product .button,
body.bp-theme.woocommerce-js .elementor-widget-woocommerce-products ul.products li.product .button,
body.bp-theme.woocommerce-js .elementor-widget.elementor-widget-woocommerce-products.elementor-products-grid ul.products li.product .button {
    line-height: 1.3;
}
body.bp-theme.woocommerce-page.woocommerce-js .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button.button {
    padding: 10px 20px;
}
body.bp-theme.woocommerce-page.woocommerce-js a.checkout-button.button {
    font-size: 1.1em;
    line-height: 1.8;
}
body.bp-theme.woocommerce-cart .coupon .button {
    padding-inline: 40px;
}
body.bp-theme.woocommerce-page.woocommerce-js ul.products li.product .price,
body.bp-theme.woocommerce-js .elementor-widget-woocommerce-products ul.products li.product .price {
    color: var(--e-global-color-text, #4e5652);
    font-weight: 700;
    line-height: 1.3;
}
body.bp-theme.woocommerce-cart .cart_totals > h2 {
    padding: 28px 40px;
    background-color: var(--e-global-color-143e2eb, #fafafa);
    font-weight: 700;
}
body.bp-theme.woocommerce-page.woocommerce-js span.onsale,
body.bp-theme.woocommerce-js .elementor-widget-woocommerce-products span.onsale {
    min-width: 3em;
    min-height: 3em;
    padding: 0;
    border-radius: 100%;
    background-color: var(--e-global-color-accent, #44a1a0);
    color: #000;
    font-size: .8em;
    font-weight: 400;
    text-align: center;
}
body.bp-theme.woocommerce-page.woocommerce-js ul.products li.product .onsale,
body.bp-theme.woocommerce-js .elementor-widget-woocommerce-products ul.products li.product .onsale {
    top: 0;
    right: 0;
    left: auto;
    margin: -.5em -.5em 0 0;
}
body.bp-theme.woocommerce-page.woocommerce-js div.product span.onsale {
    min-width: 3.5em;
    min-height: 3.5em;
    line-height: 3.5em;
}
body.bp-theme.woocommerce-page a.remove,
body.bp-theme.woocommerce-js .elementor-menu-cart__main a.remove {
    position: relative;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    border: 0;
    border-radius: 100%;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 21px;
    text-align: center;
    text-decoration: none;
    opacity: .5;
}
body.bp-theme.woocommerce-page a.remove::before,
body.bp-theme.woocommerce-js .elementor-menu-cart__main a.remove::before {
    content: '';
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 1px solid var(--ast-global-color-3, #4e5652);
    border-radius: 100%;
    transition: .2s linear;
}
body.bp-theme.woocommerce-cart .woocommerce-cart-form__cart-item td.product-remove a.remove {
    display: inline-block;
    vertical-align: middle;
    color: var(--ast-global-color-3, #4e5652) !important;
    line-height: 17px;
}
body.bp-theme.woocommerce-js .elementor-menu-cart__main a.remove {
    position: absolute;
    left: auto;
    right: 0;
    color: var(--ast-global-color-2, #14261c) !important;
    font-weight: 500;
    line-height: 17px;
}
body.bp-theme.woocommerce-page.woocommerce-js .woocommerce-ordering select {
    padding: .5em 2em .5em .8em;
    border: transparent;
    border-radius: 0;
    background-color: transparent;
}
body.bp-theme.woocommerce-checkout #payment {
    background-color: transparent;
    border-radius: 0;
}
body.bp-theme.woocommerce-checkout #payment div.payment_box {
    background-color: #efefef;
}
body.bp-theme.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: #efefef;
}
body.bp-theme.woocommerce-page.woocommerce-js .woocommerce-info,
body.bp-theme.woocommerce-page.woocommerce-js .woocommerce-message,
body.bp-theme.woocommerce-page.woocommerce-js .woocommerce-error {
    border-top-color: var(--e-global-color-primary, #0d5c63);
    background-color: #f7f6f7;
}
body.bp-theme.woocommerce-page.woocommerce-js .woocommerce-info::before,
body.bp-theme.woocommerce-page.woocommerce-js .woocommerce-message::before,
body.bp-theme.woocommerce-page.woocommerce-js .woocommerce-error::before {
    color: var(--e-global-color-primary, #0d5c63);
}
/* Reprise des dimensions Astra du panier natif et de ses tableaux. */
body.bp-theme.woocommerce-page .bp-native-content {
    max-width: 1240px;
}
body.bp-theme.woocommerce-cart table.shop_table {
    border: 1px solid var(--e-global-color-primary, #0d5c63);
    border-radius: 0;
}
body.bp-theme.woocommerce-cart table.cart thead th {
    border: 0;
}
body.bp-theme.woocommerce-cart table.cart tbody td {
    border: 0;
    border-top: 1px solid var(--e-global-color-primary, #0d5c63);
}
body.bp-theme.woocommerce-cart table.cart .product-thumbnail img {
    width: 70px;
    height: 70px;
    max-width: 70px;
    object-fit: cover;
}
body.bp-theme.woocommerce-cart table.cart td.actions .coupon {
    display: flex;
    align-items: center;
    margin: 5px 0;
    padding: 0;
}
body.bp-theme.woocommerce-cart #content table.cart td.actions .coupon .input-text {
    width: auto;
    max-width: 100%;
    align-self: stretch;
    margin-right: 4px;
    padding: .5em .75em;
    border: 1px solid var(--e-global-color-primary, #0d5c63);
    background-color: #fff;
    line-height: 1;
}
body.bp-theme.woocommerce-cart #content table.cart td.actions .coupon .button {
    padding-inline: 40px;
    margin-left: 5px;
}
body.bp-theme.woocommerce-cart .cart_totals {
    padding: 0 20px;
    border: 1px solid var(--e-global-color-primary, #0d5c63);
    border-radius: 0;
}
body.bp-theme.woocommerce-cart .cart_totals > h2 {
    margin: 0 -20px 20px;
    background-color: #fbfbfb;
}
body.bp-theme.woocommerce-cart .cart_totals .shop_table {
    margin-bottom: 6px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--e-global-color-primary, #0d5c63);
    border-radius: 0;
}
body.bp-theme.woocommerce-cart .cart_totals .shop_table th,
body.bp-theme.woocommerce-cart .cart_totals .shop_table td {
    border: 0;
}
body.bp-theme.woocommerce-cart .cart_totals .shop_table tr + tr th,
body.bp-theme.woocommerce-cart .cart_totals .shop_table tr + tr td {
    border-top: 1px solid var(--e-global-color-primary, #0d5c63);
}
body.bp-theme.woocommerce-checkout form #order_review_heading {
    margin: 0;
    padding: 36px 36px 24px;
    border-width: 2px 2px 0;
    border-style: solid;
    border-color: var(--e-global-color-primary, #0d5c63);
    font-size: 1.2rem;
    font-weight: 700;
}
body.bp-theme.woocommerce-checkout form #order_review {
    padding: 0 2em;
    border-width: 0 2px 2px;
    border-style: solid;
    border-color: var(--e-global-color-primary, #0d5c63);
}
body.bp-theme.woocommerce-checkout form #order_review .shop_table {
    margin: 0 -1px 2em 0;
    border: 0;
    border-radius: 0;
}
body.bp-theme.woocommerce-checkout form #order_review .shop_table th {
    padding: 14px 12px 14px 0;
    border: 0;
    border-bottom: 1px solid var(--e-global-color-primary, #0d5c63);
}
body.bp-theme.woocommerce-checkout form #order_review .shop_table td {
    padding: 10px 10px 10px 0;
    border: 0;
    border-bottom: 1px solid var(--e-global-color-primary, #0d5c63);
}
body.bp-theme.woocommerce-checkout form #order_review td.product-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .3em;
    font-weight: 500;
}
body.bp-theme.woocommerce-checkout #payment ul.payment_methods {
    margin: 0 0 1em;
    padding: 0;
    border-bottom: 0;
    list-style: none;
}
body.bp-theme.woocommerce-checkout #payment .place-order {
    margin: 0;
    padding: 0 0 2em;
}
body.bp-theme.woocommerce-checkout #payment #place_order {
    width: 100%;
}
/* Astra supplied these list resets and image dimensions for Elementor's side cart. */
body.bp-theme.woocommerce-js .elementor-menu-cart__main .woocommerce-mini-cart {
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: auto;
}
body.bp-theme.woocommerce-js .elementor-menu-cart__main ul.product_list_widget li {
    position: relative;
    min-height: 5em;
    margin: 0;
    padding: 1em 0 1em 5em;
    border-bottom: 1px solid var(--e-global-color-cd1c9dc, #8dadad);
    line-height: 1.5;
    list-style: none;
}
body.bp-theme.woocommerce-js .elementor-menu-cart__main ul.product_list_widget li img {
    position: absolute;
    top: 50%;
    left: 0;
    width: 4em;
    height: 4em;
    margin: 0 0 .5em;
    object-fit: cover;
    transform: translateY(-50%);
}
body.bp-theme.woocommerce-js .elementor-menu-cart__main ul.product_list_widget li > a:not(.remove) {
    display: block;
    margin-bottom: .33em;
    color: var(--ast-global-color-2, #14261c);
    font-weight: 500;
}
body.bp-theme.woocommerce-js .elementor-menu-cart__main .woocommerce-mini-cart__total {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0;
    padding: .7em 0;
    border-top: 1px solid var(--e-global-color-cd1c9dc, #8dadad);
    border-bottom: 1px solid var(--e-global-color-cd1c9dc, #8dadad);
    font-size: 16px;
}
body.bp-theme.woocommerce-js .elementor-menu-cart__main .woocommerce-mini-cart__buttons {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 1.34em;
}
body.bp-theme.woocommerce-js .elementor-menu-cart__main .woocommerce-mini-cart__buttons .button {
    width: 100%;
    font-size: 14px;
    text-align: center;
}
/* Astra places billing and order/payment side by side on desktop, stacked on mobile. */
@media (min-width: 922px) {
    body.bp-theme.woocommerce-checkout form #customer_details.col2-set {
        width: 55%;
        float: left;
        margin: 0 4.34783% 2em 0;
    }
    body.bp-theme.woocommerce-checkout form #customer_details.col2-set .col-1,
    body.bp-theme.woocommerce-checkout form #customer_details.col2-set .col-2 {
        width: auto;
        float: none;
    }
    body.bp-theme.woocommerce-checkout form #order_review_heading,
    body.bp-theme.woocommerce-checkout form #order_review {
        width: 40%;
        float: right;
        clear: right;
    }
}
@media (max-width: 921px) {
    body.bp-theme.woocommerce-page .bp-native-content {
        padding-inline: 20px;
    }
    body.bp-theme.woocommerce-cart table.cart td {
        padding: .7em 1em;
        line-height: 1.75;
    }
    body.bp-theme.woocommerce-cart table.shop_table_responsive td.product-quantity {
        min-height: 3.25em;
    }
    body.bp-theme.woocommerce-checkout form.checkout {
        padding-inline: 20px;
    }
    body.bp-theme.woocommerce-cart .cart_totals {
        width: 100%;
        float: none;
    }
    body.bp-theme.woocommerce-cart #content table.cart td.actions .coupon .input-text,
    body.bp-theme.woocommerce-cart #content table.cart td.actions .coupon .button {
        width: 48%;
    }
    body.bp-theme.woocommerce-checkout form #customer_details.col2-set,
    body.bp-theme.woocommerce-checkout form #order_review_heading,
    body.bp-theme.woocommerce-checkout form #order_review {
        width: 100%;
        float: none;
        clear: both;
        margin-right: 0;
    }
    body.bp-theme.woocommerce-checkout form #customer_details.col2-set {
        margin-bottom: 2em;
    }
    body.bp-theme.woocommerce-checkout form #order_review_heading {
        padding: 30px 30px 20px;
    }
    body.bp-theme.woocommerce-checkout form #customer_details.col2-set .col-1,
    body.bp-theme.woocommerce-checkout form #customer_details.col2-set .col-2 {
        width: auto;
        float: none;
    }
    body.bp-theme.woocommerce-cart #content table.cart td.actions .coupon {
        width: 84%;
        float: left;
    }
}
@media (max-width: 544px) {
    body.bp-theme.woocommerce-cart #content table.cart td.actions .coupon {
        float: none;
        margin: 0 auto;
    }
}
/* Astra's single-product WooCommerce defaults, absent from the independent theme. */
body.bp-theme.woocommerce-page.woocommerce-js div.product p.price,
body.bp-theme.woocommerce-page.woocommerce-js div.product span.price,
body.bp-theme.woocommerce-page.woocommerce-js div.product .elementor-widget-woocommerce-product-price .price {
    margin: 0 0 .2em;
    color: var(--e-global-color-text, #4e5652);
    font-size: 1.5rem;
    font-weight: 700;
}
body.bp-theme.woocommerce-page.woocommerce-js div.product .elementor-widget-woocommerce-product-price .price del,
body.bp-theme.woocommerce-page.woocommerce-js .price ins,
body.bp-theme.woocommerce-js .elementor-widget-woocommerce-products .price del,
body.bp-theme.woocommerce-js .elementor-widget-woocommerce-products .price ins {
    color: inherit;
}
body.bp-theme.woocommerce-page.woocommerce-js .price ins,
body.bp-theme.woocommerce-js .elementor-widget-woocommerce-products .price ins {
    text-decoration: none;
}
body.bp-theme.woocommerce-page.woocommerce-js div.product .elementor-widget-woocommerce-product-meta .product_meta {
    margin: 0 0 .8em;
    padding-top: .5em;
    border-top: 1px solid var(--e-global-color-primary, #0d5c63);
    font-size: .9em;
    text-decoration: inherit;
}
body.bp-theme.woocommerce-page.woocommerce-js div.product .elementor-widget-heading h2.elementor-heading-title {
    margin-bottom: 14px !important;
}
body.bp-theme.woocommerce-page.woocommerce-js div.product .woocommerce-tabs {
    width: 100%;
    padding-top: 2em;
    margin-bottom: 4em;
}
body.bp-theme.woocommerce-page.woocommerce-js div.product .woocommerce-tabs ul.wc-tabs {
    margin: 0;
    padding: 0;
    list-style: none;
}
body.bp-theme.woocommerce-page.woocommerce-js div.product .woocommerce-tabs ul.wc-tabs::before {
    content: ' ';
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    border-bottom: 1px solid var(--e-global-color-cd1c9dc, #8dadad);
}
body.bp-theme.woocommerce-page.woocommerce-js div.product .woocommerce-tabs ul.wc-tabs li,
body.bp-theme.woocommerce-page.woocommerce-js div.product .woocommerce-tabs ul.wc-tabs li.active {
    display: inline-block;
    margin: 0 16px 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}
body.bp-theme.woocommerce-page.woocommerce-js div.product .woocommerce-tabs ul.wc-tabs li::after,
body.bp-theme.woocommerce-page.woocommerce-js div.product .woocommerce-tabs ul.wc-tabs li:not(.active)::before {
    display: none;
    content: none;
}
body.bp-theme.woocommerce-page.woocommerce-js div.product .woocommerce-tabs ul.wc-tabs li.active {
    position: relative;
    z-index: 2;
}
body.bp-theme.woocommerce-page.woocommerce-js div.product .woocommerce-tabs ul.wc-tabs li.active::before {
    content: ' ';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    border: 0;
    border-radius: 0;
    background-color: var(--e-global-color-primary, #0d5c63);
    box-shadow: none;
}
body.bp-theme.woocommerce-page.woocommerce-js div.product .woocommerce-tabs ul.wc-tabs li a {
    display: inline-block;
    padding: .8em 1.2em;
    font-weight: 700;
    line-height: 1;
}
body.bp-theme.woocommerce-page.woocommerce-js div.product #review_form {
    padding: 1.67em;
    border: 1px solid var(--e-global-color-primary, #0d5c63);
}
body.bp-theme.woocommerce-page.woocommerce-js #tab-description > h2:first-child {
    display: none;
}
body.bp-theme.woocommerce-page.woocommerce-js #reviews .woocommerce-Reviews-title {
    display: none;
}
body.bp-theme.woocommerce-page.woocommerce-js #reviews .comment-form-rating {
    display: flex;
    vertical-align: middle;
    margin: 15px 0;
}
body.bp-theme.woocommerce-page.woocommerce-js #reviews .comment-form-rating label {
    padding-right: .5em;
    font-size: 1.2em;
    font-weight: 500;
}
body.bp-theme.woocommerce-page.woocommerce-js #reviews .comment-form-rating .stars {
    margin: 0;
}
body.bp-theme.woocommerce-page.woocommerce-js #reviews .comment-form-rating .stars a {
    position: relative;
    top: .5em;
    width: 1.2em;
    height: 1.2em;
    color: var(--ast-global-color-3, #4e5652);
    font-size: 1em;
}
body.bp-theme.woocommerce-page.woocommerce-js #reviews #review_form #respond p {
    margin: 2px 0 6px;
}
body.bp-theme.woocommerce-page.woocommerce-js #reviews #review_form #respond .stars {
    margin: 0;
}
body.bp-theme.woocommerce-page.woocommerce-js #reviews #review_form #respond p.form-submit {
    margin-top: 1em;
}
body.bp-theme.woocommerce-page.woocommerce-js #review_form #respond #comment {
    height: 90px;
    box-sizing: border-box;
    border-color: var(--e-global-color-primary, #0d5c63);
    border-radius: 5px;
    background-color: #fff;
}
body.bp-theme.woocommerce-page.woocommerce-js .comment-reply-title {
    padding-top: 1em;
    font-size: 1.34rem;
    font-weight: 500;
    line-height: 1.3;
}
/* Account endpoints: Astra's order table and edit-account form controls. */
body.bp-theme.woocommerce-orders .woocommerce-MyAccount-orders.shop_table {
    margin-bottom: 2em;
    border: 1px solid var(--e-global-color-primary, #0d5c63);
    border-radius: 0;
}
body.bp-theme.woocommerce-orders .woocommerce-MyAccount-orders th {
    padding: .7em 1em;
    border: 0;
    line-height: 28px;
}
body.bp-theme.woocommerce-orders .woocommerce-MyAccount-orders td {
    padding: .7em 1em;
    border: 0;
    border-right: 1px solid var(--e-global-color-primary, #0d5c63);
    border-top: 1px solid var(--e-global-color-primary, #0d5c63);
    line-height: 1.5;
}
body.bp-theme.woocommerce-orders .woocommerce-orders-table__cell-order-actions .button {
    margin: .25em 0;
    text-align: left;
}
body.bp-theme.woocommerce-account .woocommerce-EditAccountForm .form-row {
    margin: 0 0 6px;
    padding: 3px;
}
body.bp-theme.woocommerce-account .woocommerce-EditAccountForm label {
    font-size: .9rem;
    font-weight: 700;
    line-height: 2;
}
body.bp-theme.woocommerce-account .woocommerce-EditAccountForm input.input-text,
body.bp-theme.woocommerce-account .woocommerce-EditAccountForm select {
    box-sizing: border-box;
    padding: 12px;
    border: 1px solid var(--e-global-color-primary, #0d5c63);
    border-radius: 5px;
    background: #fff;
    color: #666;
    line-height: 1;
}
body.bp-theme.woocommerce-account .woocommerce-EditAccountForm input.input-text {
    height: 48px;
}
body.bp-theme.woocommerce-account .woocommerce-EditAccountForm select {
    padding: .5em 2em .5em .8em;
    border-radius: 3px;
}
body.bp-theme.woocommerce-account .woocommerce-EditAccountForm select {
    line-height: normal;
}
body.bp-theme.woocommerce-account .woocommerce-EditAccountForm fieldset {
    margin: 16px 0 0;
    padding: 3px;
    border: 0;
}
body.bp-theme.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
    margin: 10px 0;
    padding: 3px 0;
    border: 0;
    border-bottom: 1px solid var(--e-global-color-primary, #0d5c63);
}
body.bp-theme.woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button {
    margin: 16px 0 0 3px;
}
