/*
Theme Name: Moda Cruz

WooCommerce styles override
*/

/**
 * Shop tables
 */
table.shop_table_responsive thead {
    display: none;
}

table.shop_table_responsive tbody th {
    display: none;
}

table.shop_table_responsive tr td {
    display: block;
    text-align: right;
    clear: both;
}

table.shop_table_responsive tr td::before {
    content: attr(data-title) ": ";
    float: left;
}

table.shop_table_responsive tr td.product-remove a {
    text-align: left;
}

table.shop_table_responsive tr td.product-remove::before {
    display: none;
}

table.shop_table_responsive tr td.actions::before,
table.shop_table_responsive tr td.download-actions::before {
    display: none;
}

table.shop_table_responsive tr td.download-actions .button {
    display: block;
    text-align: center;
}

@media screen and (min-width: 48em) {

    table.shop_table_responsive thead {
        display: table-header-group;
    }

    table.shop_table_responsive tbody th {
        display: table-cell;
    }

    table.shop_table_responsive tr th,
    table.shop_table_responsive tr td {
        text-align: left;
    }

    table.shop_table_responsive tr td {
        display: table-cell;
    }

    table.shop_table_responsive tr td::before {
        display: none;
    }
}

/**
 * Products
 */
ul.products {
    margin: 0;
    padding: 0;
}

ul.products li.product {
    list-style: none;
    position: relative;
    margin-bottom: 2em;
}

ul.products li.product img {
    display: block;
}

ul.products li.product .button {
    display: block;
}

@media screen and (min-width: 48em) {

    ul.products li.product {
        width: 30.79667%;
        float: left;
        margin-right: 3.8%;
    }

    ul.products li.product.first {
        clear: both;
    }

    ul.products li.product.last {
        margin-right: 0;
    }

    ul.products.columns-1 li.product {
        float: none;
        width: 100%;
    }

    ul.products.columns-2 li.product {
        width: 48.1%;
    }

    ul.products.columns-3 li.product {
        width: 30.79667%;
    }

    ul.products.columns-4 li.product {
        width: 22.15%;
    }

    ul.products.columns-5 li.product {
        width: 16.96%;
    }

    ul.products.columns-6 li.product {
        width: 13.49333%;
    }
}

/**
 * Single product
 */
.single-product div.product {
    position: relative;
}

.single-product div.product .woocommerce-product-gallery {
    position: relative;
    float: left;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    position: absolute;
    top: 2em;
    right: 1em;
    display: block;
    z-index: 99;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
    margin-bottom: 1em;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    margin: 0;
    padding: 0;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
    list-style: none;
    cursor: pointer;
    float: left;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    opacity: 0.5;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
    opacity: 1;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
    opacity: 1;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li {
    width: 48.1%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n) {
    margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n+1) {
    clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
    width: 30.79667%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n) {
    margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
    clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
    width: 22.15%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n) {
    margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
    clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
    width: 16.96%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n) {
    margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
    clear: both;
}

.stock:empty::before {
    display: none;
}

.stock.in-stock {
    color: #0f834d;
}

/* A disponibilidade continua sendo validada pelo WooCommerce, mas a contagem
   de unidades não é exibida na página individual do produto. */
body.single-product .product .stock.in-stock {
    display: none !important;
}

.stock.out-of-stock {
    color: #e2401c;
}

/**
 * Checkout
 */
@media screen and (min-width: 768px) {

    .col2-set .form-row-first {
        float: left;
        margin-right: 3.8%;
    }

    .col2-set .form-row-last {
        float: right;
        margin-right: 0;
    }

    .col2-set .form-row-first,
    .col2-set .form-row-last {
        width: 48.1%;
    }
}

/**
 * General WooCommerce components
 */

/**
 * Header cart
 */
.site-header-cart {
    position: relative;
    margin: 0;
    padding: 0;
}

.site-header-cart .cart-contents {
    text-decoration: none;
}

.site-header-cart .widget_shopping_cart {
    display: none;
}

.site-header-cart .product_list_widget {
    margin: 0;
    padding: 0;
}

/**
 * Star rating
 */
.star-rating {
    overflow: hidden;
    position: relative;
    height: 1.618em;
    line-height: 1.618;
    width: 5.3em;
    font-family: star;
    font-weight: 400;
}

.star-rating::before {
    content: "\53\53\53\53\53";
    opacity: 0.25;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
}

.star-rating span {
    overflow: hidden;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    padding-top: 1.5em;
}

.star-rating span::before {
    content: "\53\53\53\53\53";
    top: 0;
    position: absolute;
    left: 0;
    color: #4169e1;
}

p.stars a {
    position: relative;
    height: 1em;
    width: 1em;
    text-indent: -999em;
    display: inline-block;
    text-decoration: none;
    margin-right: 1px;
    font-weight: 400;
}

p.stars a::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1em;
    height: 1em;
    line-height: 1;
    font-family: star;
    content: "\53";
    color: #404040;
    text-indent: 0;
    opacity: 0.25;
}

p.stars a:hover~a::before {
    content: "\53";
    color: #404040;
    opacity: 0.25;
}

p.stars:hover a::before {
    content: "\53";
    color: #4169e1;
    opacity: 1;
}

p.stars.selected a.active::before {
    content: "\53";
    color: #4169e1;
    opacity: 1;
}

p.stars.selected a.active~a::before {
    content: "\53";
    color: #404040;
    opacity: 0.25;
}

p.stars.selected a:not(.active)::before {
    content: "\53";
    color: #4169e1;
    opacity: 1;
}

/**
 * Tabs
 */
.woocommerce-tabs ul.tabs {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}

.woocommerce-tabs ul.tabs li {
    display: block;
    margin: 0;
    position: relative;
}

.woocommerce-tabs ul.tabs li a {
    padding: 1em 0;
    display: block;
}

.woocommerce-tabs .panel h2:first-of-type {
    margin-bottom: 1em;
}

/**
 * Password strength meter
 */
.woocommerce-password-strength {
    text-align: right;
}

.woocommerce-password-strength.strong {
    color: #0f834d;
}

.woocommerce-password-strength.short {
    color: #e2401c;
}

.woocommerce-password-strength.bad {
    color: #e2401c;
}

.woocommerce-password-strength.good {
    color: #3d9cd2;
}

/**
 * Forms
 */
.form-row.woocommerce-validated input.input-text {
    box-shadow: inset 2px 0 0 #0f834d;
}

.form-row.woocommerce-invalid input.input-text {
    box-shadow: inset 2px 0 0 #e2401c;
}

.required {
    color: #f00;
}

/**
 * Notices
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
    background-color: #0f834d;
    clear: both;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
    background-color: #3d9cd2;
}

.woocommerce-error {
    background-color: #e2401c;
}

.demo_store {
    position: fixed;
    left: 0;
    bottom: 0;
    right: 0;
    margin: 0;
    padding: 1em;
    background-color: #3d9cd2;
    z-index: 9999;
}

@media screen and (min-width: 48em) {

    /**
	 * Header cart
	 */
    .site-header-cart .widget_shopping_cart {
        position: absolute;
        top: 100%;
        width: 100%;
        z-index: 999999;
        left: -999em;
        display: block;
        box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    }

    .site-header-cart:hover .widget_shopping_cart,
    .site-header-cart.focus .widget_shopping_cart {
        left: 0;
        display: block;
    }
}

/**
 * WooCommerce widgets
 */

/**
 * WooCommerce Price Filter
 */
.widget_price_filter .price_slider {
    margin-bottom: 1.5em;
}

.widget_price_filter .price_slider_amount {
    text-align: right;
    line-height: 2.4;
}

.widget_price_filter .price_slider_amount .button {
    float: left;
}

.widget_price_filter .ui-slider {
    position: relative;
    text-align: left;
}

.widget_price_filter .ui-slider .ui-slider-handle {
    position: absolute;
    z-index: 2;
    width: 1em;
    height: 1em;
    cursor: ew-resize;
    outline: none;
    background: #4169e1;
    box-sizing: border-box;
    margin-top: -0.25em;
    opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
    margin-left: -1em;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover,
.widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
    box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider .ui-slider-range {
    position: absolute;
    z-index: 1;
    display: block;
    border: 0;
    background: #4169e1;
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
    background: rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider-horizontal {
    height: 0.5em;
}

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
    height: 100%;
}

/* Custom WooCommerce Shop Layout */

/* Centering Content Wrapper */
.woocommerce .site-main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px 80px;
    clear: both;
}

/* Topbar */
.shop-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #eaeaea;
    padding: 0;
    margin-bottom: 30px;
    background: #fafafa;
}

.shop-topbar .filter-toggle {
    display: flex;
    align-items: center;
    background: #fff;
    border: none;
    border-right: 1px solid #eaeaea;
    padding: 15px 25px;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    color: #000;
}

.shop-result-count {
    padding-right: 25px;
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    color: #404040;
    text-transform: uppercase;
}

.woocommerce-result-count {
    margin: 0 !important;
    float: none !important;
}

/* Product Card override */
ul.products li.product {
    text-align: left;
    margin-bottom: 40px;
    background: #fff;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}

ul.products li.product a {
    text-decoration: none !important;
    display: block;
    position: relative;
    overflow: hidden;
}

ul.products li.product a img {
    margin-bottom: 15px;
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    background: #fdfdfd;
    border-radius: 5px;
    transition: opacity 0.4s ease;
}

ul.products li.product a img.secondary-image {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

ul.products li.product a:hover img:not(.secondary-image) {
    opacity: 0;
}

ul.products li.product a:hover img.secondary-image {
    opacity: 1;
}

ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 15px;
    margin-bottom: 5px;
    line-height: 1.4;
}

ul.products li.product .price {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 800;
    /* Mais pesado para ancorar o valor */
    color: #000;
    margin-bottom: 0px !important;
    display: block;
}

.installment-text {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #777;
    margin-bottom: 20px;
}

.product-swatches {
    display: flex;
    gap: 8px;
    margin-top: 15px;
}

.swatch {
    width: 26px;
    height: 26px;
    border: none;
    border-radius: 3px;
    display: block;
    cursor: pointer;
}

/* Wishlist Button */
.product-wishlist-btn {
    position: absolute;
    top: 15px !important;
    right: 15px !important;
    background-color: #ffffff;
    border: 1px solid #e2e2e2;
    padding: 0;
    color: #111;
    z-index: 10;
    cursor: pointer;
    width: 34px;
    height: 34px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.product-wishlist-btn svg {
    width: 16px;
    height: 16px;
}

.product-wishlist-btn:hover {
    border-color: #c8c8c8;
    background-color: #fafafa;
}

.product-wishlist-btn.is-fav svg {
    fill: #c0392b;
    stroke: #c0392b;
}

/* Loop Product Extras */
.mc-loop-swatches {
    display: flex;
    gap: 6px;
    align-items: center;
    margin: 8px 0 10px;
    flex-wrap: wrap;
}

.mc-loop-swatch {
    display: inline-block;
    width: 22px;
    height: 22px;
    border-radius: 3px;
    cursor: pointer;
}

.mc-swatch-extra {
    font-size: 11px;
    color: #555;
    font-weight: 600;
    margin-left: 2px;
}

.mc-loop-frete-badge {
    display: inline-block;
    background: #111;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 7px;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 6px 0;
}

.mc-loop-installment {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    color: #777;
    margin-bottom: 12px;
    margin-top: 2px;
}

/* Add to Cart Button */
ul.products li.product .button,
ul.products li.product .added_to_cart {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background-color: #000 !important;
    /* Pure Black for premium feel */
    color: #fff !important;
    border: none !important;
    border-radius: 2px !important;
    padding: 14px 0 !important;
    /* Taller button size for clickability */
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-top: auto !important;
    /* Pushes button to the bottom aligned with others */
    transition: background-color 0.3s ease !important;
}

ul.products li.product .button:hover {
    background-color: #333 !important;
}

/* Offcanvas Sidebar */
.shop-offcanvas {
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    max-width: 350px;
    height: 100vh;
    background: #fff;
    z-index: 999999;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
    transition: left 0.3s ease;
    display: flex;
    flex-direction: column;
}

.shop-offcanvas.active {
    left: 0;
}

.shop-offcanvas .offcanvas-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #eaeaea;
}

.shop-offcanvas .offcanvas-header h3 {
    margin: 0;
}

/* Filter Offcanvas Overlay & Sidebar */
.mc-filter-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    z-index: 99998;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.mc-filter-overlay.active {
    opacity: 1;
    visibility: visible;
}

.mc-filter-sidebar {
    position: fixed;
    top: 0;
    left: -450px;
    width: 400px;
    max-width: 90vw;
    height: 100vh;
    background: #fff;
    z-index: 99999;
    box-shadow: 5px 0 15px rgba(0, 0, 0, 0.1);
    transition: left 0.3s ease;
    display: flex;
    flex-direction: column;
}

.mc-filter-sidebar.open {
    left: 0;
}

.mc-filter-header {
    padding: 25px;
    border-bottom: 1px solid #eaeaea;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mc-filter-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
    color: #111;
}

.mc-filter-close-btn {
    background: none;
    border: none;
    font-size: 26px;
    cursor: pointer;
    color: #666;
    padding: 0;
    line-height: 1;
    outline: none;
}

.mc-filter-form {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.mc-filter-body {
    flex: 1;
    overflow-y: auto;
    padding: 0 25px 25px;
}

/* Accordion Categories */
.mc-accordion-group {
    border-bottom: 1px solid #f0f0f0;
    padding: 25px 0;
}

.mc-accordion-group:last-child {
    border-bottom: none;
}

.mc-accordion-btn {
    width: 100%;
    background: none;
    border: none;
    padding: 0;
    text-align: left;
    font-size: 15px;
    font-weight: 600;
    color: #111;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: 'Inter', sans-serif;
}

.mc-accordion-content {
    margin-top: 20px;
}

/* Radio List Data */
.mc-radio-label {
    display: block;
    margin-bottom: 15px;
    font-size: 14px;
    color: #555;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
}

.mc-radio-label input {
    margin-right: 10px;
}

/* Swatches - Sizes as Squares */
.mc-filter-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mc-filter-swatch-box {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
    color: #333;
    cursor: pointer;
    transition: all 0.2s;
    user-select: none;
}

.mc-filter-swatch-box:hover {
    border-color: #888;
}

.mc-filter-swatch-box.active {
    border-color: #111;
    color: #111;
    background: #fff;
    box-shadow: 0 0 0 1px #111;
}

/* Swatches - Colors as Dots/Squares */
.mc-filter-colors {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.mc-filter-color-dot {
    cursor: pointer;
    display: inline-block;
    position: relative;
    width: 32px;
    height: 32px;
    border-radius: 4px;
    padding: 2px;
    border: 2px solid transparent;
    transition: all 0.2s;
}

.mc-filter-color-dot:hover {
    border-color: #ddd;
}

.mc-filter-color-dot.active {
    border-color: #111;
}

.color-circle {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 2px;
}

/* Custom Checkbox elements */
.mc-filter-list .mc-checkbox-label {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
    cursor: pointer;
    position: relative;
    user-select: none;
    font-family: 'Inter', sans-serif;
}

.mc-filter-list .mc-checkbox-label input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.mc-custom-checkbox {
    height: 18px;
    width: 18px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    margin-right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.mc-checkbox-label:hover input~.mc-custom-checkbox {
    border-color: #888;
}

.mc-checkbox-label input:checked~.mc-custom-checkbox {
    background-color: #111;
    border-color: #111;
}

.mc-checkbox-label input:checked~.mc-custom-checkbox::after {
    content: "";
    display: block;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    margin-bottom: 2px;
}

.mc-cat-name {
    font-size: 15px;
    color: #555;
}

.mc-cat-name .count {
    font-size: 13px;
    color: #999;
    margin-left: 5px;
}

/* Filter Footer Buttons */
.mc-filter-footer {
    padding: 25px;
    border-top: 1px solid #eaeaea;
    display: flex;
    gap: 15px;
    background: #fff;
}

.mc-btn-clear,
.mc-btn-apply {
    flex: 1;
    padding: 14px 0;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s;
}

.mc-btn-clear {
    background: #fff;
    border: 1px solid #111;
    color: #111;
    text-decoration: none;
}

.mc-btn-clear:hover {
    background: #fdfdfd;
}

.mc-btn-apply {
    background: #4f5f9e;
    border: 1px solid #4f5f9e;
    color: #fff;
}

.mc-btn-apply:hover {
    background: #3e4a7a;
}

/* Moda Cruz filter drawer: compact, product-first controls. */
.mc-filter-overlay {
    background: rgba(17, 17, 17, .58);
    z-index: 999998;
}

.mc-filter-sidebar {
    left: -500px;
    width: min(480px, 100vw);
    max-width: 100vw;
    z-index: 999999;
    box-shadow: 18px 0 42px rgba(0, 0, 0, .18);
    transition: left .26s ease;
}

.mc-filter-header {
    min-height: 88px;
    padding: 24px 28px 18px;
    border: 0;
}

.mc-filter-header h3 {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -.01em;
}

.mc-filter-close-btn {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    color: #161616;
    border-radius: 5px;
}

.mc-filter-close-btn:hover,
.mc-filter-close-btn:focus-visible {
    background: #f3f3f3;
    outline: none;
}

.mc-filter-close-btn svg {
    width: 22px;
    height: 22px;
}

.mc-filter-body {
    padding: 0 28px 24px;
}

.mc-filter-sort-row {
    display: flex;
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 0 0 17px;
}

.mc-filter-sort-row label,
.mc-accordion-btn {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -.01em;
}

.mc-filter-sort-row select {
    max-width: 190px;
    padding: 4px 0 4px 10px;
    color: #707070;
    font: 400 15px/1.35 'Inter', sans-serif;
    text-align: right;
    text-align-last: right;
    border: 0;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.mc-filter-sort-row select:focus-visible {
    outline: 2px solid #111;
    outline-offset: 3px;
}

.mc-accordion-group--ordering {
    display: none;
}

.mc-accordion-group {
    padding: 26px 0 23px;
    border-bottom-color: #eaeaea;
}

.mc-accordion-btn {
    min-height: 22px;
}

.mc-accordion-btn svg {
    width: 18px;
    height: 18px;
}

.mc-accordion-content {
    margin-top: 20px;
}

.mc-filter-swatches {
    gap: 8px;
}

.mc-filter-swatch-box {
    width: 31px;
    height: 31px;
    border-radius: 3px;
    font-size: 12px;
}

.mc-filter-swatch-box.active {
    box-shadow: 0 0 0 1px #111;
}

.mc-filter-colors {
    gap: 11px;
}

.mc-filter-color-dot {
    width: 27px;
    height: 27px;
    padding: 0;
    border-width: 1px;
    border-radius: 2px;
}

.color-circle {
    border-radius: 1px;
}

.mc-filter-list .mc-checkbox-label {
    margin-bottom: 0;
    min-height: 30px;
}

.mc-custom-checkbox {
    width: 18px;
    height: 18px;
    margin-right: 16px;
    border-color: #dedede;
    border-radius: 2px;
}

.mc-cat-name {
    color: #737373;
    font-size: 15px;
}

.mc-cat-name .count {
    color: inherit;
    font-size: inherit;
    margin-left: 0;
}

.mc-filter-footer {
    gap: 16px;
    padding: 20px 28px 32px;
    border-top: 1px solid #e5e5e5;
}

.mc-btn-clear,
.mc-btn-apply {
    min-height: 48px;
    padding: 12px 0;
    border-radius: 5px;
    font-size: 15px;
}

.mc-btn-clear {
    border-color: #151515;
}

.mc-btn-apply,
.mc-btn-apply:hover {
    background: #111;
    border-color: #111;
}

.mc-filter-sidebar a,
.mc-filter-sidebar a:visited {
    color: #111;
}

@media (max-width: 560px) {
    .mc-filter-sidebar {
        left: calc(-100vw + 48px);
        width: calc(100vw - 48px);
        max-width: calc(100vw - 48px);
    }

    .mc-filter-sidebar.open {
        left: 0;
    }

    .mc-filter-header {
        min-height: 76px;
        padding: 19px 20px 14px;
    }

    .mc-filter-body {
        padding-right: 20px;
        padding-left: 20px;
    }

    .mc-filter-footer {
        padding: 16px 20px calc(16px + env(safe-area-inset-bottom));
    }
}

margin: 0;
font-family: 'Inter',
sans-serif;
font-size: 18px;
font-weight: 500;
}

.shop-offcanvas .offcanvas-close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    line-height: 1;
}

.shop-offcanvas .offcanvas-body {
    flex-grow: 1;
    overflow-y: auto;
    padding: 20px;
}

.shop-offcanvas .offcanvas-footer {
    display: flex;
    justify-content: space-between;
    padding: 20px;
    border-top: 1px solid #eaeaea;
    background: #fdfdfd;
}

.shop-offcanvas .offcanvas-footer button {
    width: 48%;
    padding: 12px 0;
    border-radius: 2px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
}

.shop-offcanvas .btn-limpar {
    background: #fff;
    border: 1px solid #999;
    color: #333;
}

.shop-offcanvas .btn-aplicar {
    background: #4A63A5;
    /* Softer blue */
    border: none;
    color: #fff;
}

/* Force modern grid for product list over WooCommerce defaults */
ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px !important;
    margin: 0 !important;
}

ul.products::before,
ul.products::after {
    display: none !important;
}

ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
}

@media (max-width: 1024px) {
    ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 768px) {
    ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 480px) {
    ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* Hide Unnecessary Titles matching the exact mockup */
.woocommerce-products-header,
.woocommerce-breadcrumb,
.page-title {
    display: none !important;
}

/* ==========================================================================
   SINGLE PRODUCT PREMIUM REDESIGN
   ========================================================================== */
.single-product div.product {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    margin-top: 20px;
}

/* 1. Gallery Layout (Left Side) */
.single-product div.product .woocommerce-product-gallery {
    width: 60%;
    margin-bottom: 0 !important;
    display: block !important;
    float: none;
    position: relative;
}

.woocommerce-product-gallery::after {
    content: "";
    display: table;
    clear: both;
}

.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
    width: 12% !important;
    float: left !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs::-webkit-scrollbar {
    display: none;
}

.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li {
    width: 100% !important;
    float: none;
}

.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs img {
    width: 100%;
    height: auto;
    cursor: pointer;
    border: 1px solid transparent;
    transition: opacity 0.3s, border-color 0.3s;
    opacity: 0.6;
}

.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs img:hover {
    border-color: #111;
    opacity: 1;
}

.woocommerce-product-gallery .flex-viewport {
    width: 85% !important;
    float: right !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image img {
    width: 100% !important;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    display: block;
    height: auto !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    margin: 0;
}

/* Wishlist Fix on Single */
.single-product .woocommerce-product-gallery__wrapper {
    position: relative;
}

.single-product-wishlist-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    background-color: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 5px;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    z-index: 100;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.single-product-wishlist-btn:hover {
    transform: none;
    border-color: #c8c8c8;
    background-color: #fafafa;
}

/* 2. Product Details (Right Side) */
.single-product div.product .summary.entry-summary {
    width: 35%;
    position: sticky;
    top: 40px;
    float: none;
    clear: none;
    padding-right: 0;
    margin-bottom: 50px;
}

/* Base Summary Typography Setup */
.single-product .product_title {
    font-size: 28px;
    font-weight: 800;
    color: #111;
    line-height: 1.2;
    margin-bottom: 5px;
    letter-spacing: -0.5px;
}

/* SKU below title */
.single-product .sku_wrapper {
    display: none;
}

/* hidden — we render via PHP hook */
.mc-product-sku {
    font-size: 12px;
    color: #aaa;
    margin-bottom: 12px;
    margin-top: 0;
}

/* 10x installment below price */
.mc-installment {
    font-size: 13px;
    color: #555;
    margin-top: 2px;
    margin-bottom: 14px;
    line-height: 1.4;
}

/* Hide categories/tags block on single product */
.single-product .product_meta {
    display: none !important;
}


/* Preço principal — apenas p.price, sem pegar containers genéricos de cor/swatch */
.single-product div.product p.price .amount,
.single-product div.product p.price ins .amount,
.woocommerce-variation-price p.price .amount {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: #111 !important;
}

/* Força o tamanho no elemento bdi (moeda+valor) dentro do preço */
.single-product div.product .price bdi,
.single-product div.product .price .woocommerce-Price-amount bdi,
.single-product div.product p.price bdi,
.single-product div.product ins .woocommerce-Price-amount bdi,
.woocommerce-variation-price .woocommerce-Price-amount bdi {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
}

/* Seletor direto: preço renderizado sem .price wrapper no summary do produto */
.single-product .summary.entry-summary .woocommerce-Price-amount,
.single-product .summary.entry-summary .woocommerce-Price-amount bdi,
.single-product .summary.entry-summary .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: #111 !important;
}

.single-product div.product p.price {
    margin-bottom: 0 !important;
    line-height: 1.4;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
}



/* Remover espaço gigantesco abaixo do form — SEM tocar no border do botão */
.single-product div.product form.cart {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.single-product div.product .single_variation_wrap,
.single-product div.product .woocommerce-variation-add-to-cart,
.single-product div.product .woocommerce-variation {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.single-product .price-installment {
    font-size: 14px;
    color: #555;
    margin-bottom: 5px;
}

.single-product .pix-discount {
    background-color: #f5f5f5;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #333;
    display: inline-block;
    margin-bottom: 20px;
}

@media (max-width: 991px) {

    .single-product div.product .woocommerce-product-gallery,
    .single-product div.product .summary.entry-summary {
        width: 100%;
    }

    .single-product div.product .woocommerce-product-gallery {
        flex-direction: column;
        display: block !important;
    }

    .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
        width: 100%;
        flex-direction: row;
        overflow-x: auto;
        margin-top: 15px;
    }

    .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li {
        width: 25% !important;
        flex-shrink: 0;
    }

    .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
        width: 100%;
    }

    .single-product div.product .summary.entry-summary {
        position: static;
    }
}

/* Custom Add to Cart Button */
.single-product .single_add_to_cart_button {
    width: 100%;
    background-color: #111 !important;
    color: #fff !important;
    padding: 18px 20px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: none;
    border-radius: 4px;
    margin-top: 10px;
    margin-bottom: 30px;
    transition: background-color 0.3s ease;
}

.single-product .single_add_to_cart_button:hover {
    background-color: #333 !important;
}

.single-product .quantity {
    display: none !important;
    /* Esconde a caixa de quantidade para ficar mais clean */
}

.single-product .woocommerce-variation-add-to-cart {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    flex-wrap: wrap;
    flex-direction: column;
    width: 100%;
}

.single-product .woocommerce-variation-add-to-cart button {
    width: 100%;
    flex: 1 1 100%;
}

/* Variations Layout Flat */
.single-product table.variations {
    width: 100%;
    margin-bottom: 20px;
    border: none;
    background: transparent;
}

.single-product table.variations th,
.single-product table.variations td {
    display: block;
    border: none;
    padding: 0 0 10px 0;
    text-align: left;
    background: transparent;
}

.single-product table.variations label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #111;
}

.single-product table.variations select {
    width: 100% !important;
    max-width: 300px;
    padding: 10px;
    border: 1px solid #eaeaea;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
}

.single-product table.variations .reset_variations {
    display: none !important;
}

/* Swatch Disabled State (Out of Stock) */
.ux-swatch.is-disabled {
    opacity: 0.3 !important;
    pointer-events: none !important;
}

/* Ocultar comportamentos de texto nativos de variações e Notificações (Sidebar cart assumes controle do sucesso) */
.woocommerce-variation-description,
.woocommerce-variation-availability {
    display: none !important;
}

.single-product .woocommerce-notices-wrapper {
    display: none !important;
}

/* Tabs Override (Anexo 2 Style) */
.single-product .woocommerce-tabs {
    margin-top: 5px;
    border-top: none;
    padding-top: 0;
}

.single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    gap: 25px;
    border-bottom: 1px solid #eaeaea;
    margin-bottom: 20px;
    padding: 0;
    margin-left: 0;
}

.single-product .woocommerce-tabs ul.tabs li {
    list-style: none;
    padding-bottom: 15px;
    margin: 0;
    border: none;
    background: transparent;
    border-radius: 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}

.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
    color: #666;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    padding: 0;
}

.single-product .woocommerce-tabs ul.tabs li.active {
    border-bottom-color: #111;
    z-index: 2;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
    color: #111;
    font-weight: 600;
}

.single-product .woocommerce-tabs .panel {
    padding: 0;
    margin-top: 20px;
}

.single-product .woocommerce-tabs .panel h2 {
    display: none;
    /* Hide default tab title inside content */
}

.single-product .woocommerce-tabs .panel p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
}

/* Single product price */
.single-product div.product .price,
.single-product div.product p.price,
.single-product div.product span.price {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
}

/* ================================================================
   My Account — Dashboard (Logged In)
   ================================================================ */

/* Page wrapper */
.woocommerce-account .site-main {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 40px 20px 100px !important;
    font-family: 'Inter', sans-serif !important;
}

/* Hide default WooCommerce page title (h1) */
.woocommerce-account .entry-title {
    display: none !important;
}

/* Two-column layout: nav left + content right — ONLY when logged in */
body.logged-in.woocommerce-account #primary.site-main .woocommerce {
    display: grid !important;
    grid-template-columns: 260px 1fr !important;
    gap: 0 50px !important;
    align-items: start !important;
    background: #fff !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    max-width: 100% !important;
}

/* User header spans full width above both columns */
body.logged-in.woocommerce-account #primary.site-main .mc-account-user-header {
    grid-column: 1 / -1;
    margin-bottom: 24px;
}

/* Navigation stays in the left column */
body.logged-in.woocommerce-account #primary.site-main .woocommerce-MyAccount-navigation {
    grid-column: 1;
    grid-row: 2;
}

/* Content stays in the right column */
body.logged-in.woocommerce-account #primary.site-main .woocommerce-MyAccount-content {
    grid-column: 2;
    grid-row: 2;
}

/* When NOT logged in (login/register form), woocommerce wrapper must not create a grid */
body.woocommerce-account:not(.logged-in) .woocommerce {
    display: block !important;
    width: 100% !important;
}

/* ── User greeting header ── */
.mc-account-user-header {
    margin-bottom: 24px;
}

.mc-account-greeting {
    font-size: 16px;
    font-weight: 500;
    color: #555;
    font-family: 'Inter', sans-serif;
}

.mc-account-email {
    font-size: 14px;
    color: #6b7280;
    margin-top: 4px;
    font-family: 'Inter', sans-serif;
}

/* ── Navigation sidebar ── */
.woocommerce-account .woocommerce-MyAccount-navigation {
    border-right: none;
    padding-right: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0 !important;
    border-bottom: 1px solid #e5e7eb;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    font-size: 14px;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
    color: #555 !important;
    text-decoration: none;
    text-transform: none;
    transition: all 0.2s ease;
    border-radius: 4px;
    background: transparent;
    border: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a svg {
    flex-shrink: 0;
    color: #888;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: #111 !important;
    font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover svg {
    color: #111;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    color: #111 !important;
    font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a svg {
    color: #111;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
    border-left: none;
    padding-left: 0;
}

/* ── Content area ── */
.woocommerce-account .woocommerce-MyAccount-content {
    min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-content p {
    font-size: 14px;
    color: #374151;
    line-height: 1.7;
}

.woocommerce-account .woocommerce-MyAccount-content strong {
    color: #111;
    font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content a {
    color: #111 !important;
    font-weight: 600;
}

.mc-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #111;
    font-family: 'Inter', sans-serif;
    margin: 0 0 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}

/* ── Content specific elements (like Addresses) ── */
.woocommerce-account .woocommerce-Address {
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    padding: 20px;
    margin-bottom: 20px;
    background: #fff;
}

.woocommerce-account address {
    font-style: normal;
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 15px;
}

.woocommerce-account .woocommerce-Address-title header {
    display: none;
}

.woocommerce-account .woocommerce-Address .edit {
    display: inline-block;
    background: #f3f4f6 !important;
    color: #374151 !important;
    border-radius: 3px;
    padding: 10px 24px;
    text-transform: none !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    text-decoration: none !important;
    border: 1px solid #e5e7eb;
}

/* ── Meus Dados Form ── */
.mc-dados-form {
    max-width: 100%;
}

.mc-form-row {
    display: grid;
    gap: 16px;
    margin-bottom: 16px;
}

.mc-form-row-2 {
    grid-template-columns: 1fr 1fr;
}

.mc-form-row-3 {
    grid-template-columns: 1fr 1fr 1fr;
}

.mc-form-field label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #555;
    margin-bottom: 6px;
    font-family: 'Inter', sans-serif;
}

.mc-required {
    color: #c0392b;
}

.mc-form-field input,
.mc-form-field select {
    width: 100%;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    padding: 10px 12px;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    color: #111;
    background: #fff;
    box-shadow: none;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.2s;
    -webkit-appearance: none;
}

.mc-form-field input:focus,
.mc-form-field select:focus {
    border-color: #111;
}

.mc-form-field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 32px;
}

/* Checkboxes */
.mc-form-checkboxes {
    margin: 20px 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mc-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: #555;
    font-family: 'Inter', sans-serif;
    line-height: 1.4;
    cursor: pointer;
}

.mc-checkbox-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: #111;
}

/* Submit button */
.mc-dados-submit {
    display: inline-block;
    padding: 12px 28px;
    background: #111 !important;
    color: #fff !important;
    border: none;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: background 0.2s;
}

.mc-dados-submit:hover {
    background: #333 !important;
    color: #fff !important;
}

/* Separator */
.mc-separator {
    border: none;
    border-top: 1px solid #eee;
    margin: 30px 0;
}

/* Access section */
.mc-access-section {
    margin-top: 0;
}

.mc-access-row {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.mc-access-field {
    flex: 1;
    min-width: 200px;
}

.mc-access-field label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #555;
    margin-bottom: 6px;
    font-family: 'Inter', sans-serif;
}

.mc-readonly-field {
    width: 100%;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    padding: 10px 12px;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    color: #888;
    background: #f9f9f9;
    box-sizing: border-box;
}

.mc-acesso-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 20px;
    border: 1px solid #111;
    border-radius: 3px;
    background: #111;
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}

.mc-acesso-btn:hover {
    background: #333;
    border-color: #333;
}

.mc-acesso-btn:last-child {
    background: #fff;
    color: #111 !important;
    border: 1px solid #ccc;
}

.mc-acesso-btn:last-child:hover {
    border-color: #111;
}

/* Success message */
.mc-dados-success {
    padding: 12px 18px;
    margin-bottom: 20px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 4px;
    color: #065f46;
    font-size: 13px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
}

/* ── Orders table ── */
.woocommerce-account .woocommerce-orders-table {
    width: 100%;
    font-size: 13px;
    font-family: 'Inter', sans-serif;
    border-collapse: collapse;
}

.woocommerce-account .woocommerce-orders-table th {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 11px;
    color: #6b7280;
    padding: 10px 0;
    border-bottom: 2px solid #e5e7eb;
    text-align: left;
}

.woocommerce-account .woocommerce-orders-table td {
    padding: 14px 0;
    border-bottom: 1px solid #f3f4f6;
    color: #374151;
    vertical-align: middle;
}

.woocommerce-account .woocommerce-orders-table .button {
    background: #111 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 8px 16px !important;
    border-radius: 2px !important;
    text-decoration: none !important;
}

/* ── Form fields inside account (WC default forms) ── */
.woocommerce-account .woocommerce-EditAccountForm .form-row label,
.woocommerce-account .woocommerce-address-fields .form-row label,
.woocommerce-account .woocommerce-form-row label {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #111 !important;
    margin-bottom: 6px !important;
}

.woocommerce-account .woocommerce-EditAccountForm input,
.woocommerce-account .woocommerce-address-fields input,
.woocommerce-account .woocommerce-form-row input,
.woocommerce-account .woocommerce-EditAccountForm select,
.woocommerce-account .woocommerce-address-fields select {
    border: 1px solid #d1d5db !important;
    border-radius: 3px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    font-family: 'Inter', sans-serif !important;
    color: #111 !important;
    width: 100% !important;
    box-shadow: none !important;
}

.woocommerce-account .woocommerce-EditAccountForm input:focus,
.woocommerce-account .woocommerce-address-fields input:focus {
    border-color: #111 !important;
    outline: none !important;
}

/* Save button */
.woocommerce-account .woocommerce-EditAccountForm button[type="submit"],
.woocommerce-account .woocommerce-address-fields+.form-row button[type="submit"],
.woocommerce-account .woocommerce-address-fields button[type="submit"],
.woocommerce-account [name="save_account_details"],
.woocommerce-account [name="save_address"] {
    background: #111 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 3px !important;
    padding: 12px 28px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    font-family: 'Inter', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.7px !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}

.woocommerce-account [name="save_account_details"]:hover,
.woocommerce-account [name="save_address"]:hover {
    background: #333 !important;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    body.logged-in.woocommerce-account .woocommerce {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 24px 16px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        border-right: none;
        border-bottom: 1px solid #e5e7eb;
        padding-right: 0;
        padding-bottom: 16px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 6px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        padding: 8px 12px;
        font-size: 11px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li a svg {
        display: none;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
        border-left: none;
        border-bottom: 2px solid #111;
    }

    .mc-form-row-2,
    .mc-form-row-3 {
        grid-template-columns: 1fr;
    }

    .mc-access-row {
        flex-direction: column;
        align-items: stretch;
    }
}

/* ==========================================================================
   CART COUNT BADGE (Header Icon)
   ========================================================================== */
.icon-link.cart-sidebar-trigger {
    position: relative;
}

.cart-count-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    background: #111;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    min-width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    border-radius: 50%;
    display: inline-block;
    pointer-events: none;
}

.cart-count-badge:empty {
    display: none;
}

/* ==========================================================================
   OFFCANVAS CART SIDEBAR
   ========================================================================== */
.cart-sidebar-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 999998;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.cart-sidebar-overlay.active {
    display: block;
    opacity: 1;
}

.cart-sidebar {
    position: fixed;
    top: 0;
    right: -460px;
    width: 100%;
    max-width: 440px;
    height: 100vh;
    height: 100dvh;
    background: #fff;
    z-index: 999999;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.12);
    transition: right 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    font-family: 'Inter', sans-serif;
}

.cart-sidebar.active {
    right: 0;
}

/* --- Header --- */
.cart-sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 22px 24px;
    border-bottom: 1px solid #eaeaea;
    flex-shrink: 0;
}

.cart-sidebar-header h3 {
    font-size: 20px;
    font-weight: 800;
    color: #111;
    margin: 0;
    letter-spacing: -0.3px;
}

.cart-sidebar-count {
    font-size: 14px;
    font-weight: 400;
    color: #888;
}

.cart-sidebar-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: #666;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cart-sidebar-close:hover {
    color: #111;
}

/* --- Body (scrollable items) --- */
.cart-sidebar-body {
    flex: 1;
    overflow-y: auto;
    padding: 0;
    -webkit-overflow-scrolling: touch;
}

/* Empty state */
.cart-sidebar-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 30px;
    text-align: center;
}

.cart-sidebar-empty svg {
    margin-bottom: 20px;
}

.cart-sidebar-empty p {
    font-size: 15px;
    font-weight: 500;
    color: #888;
    margin: 0 0 24px;
}

/* --- Cart Item --- */
.cart-sidebar-item {
    display: flex;
    align-items: flex-start;
    padding: 18px 24px;
    border-bottom: 1px solid #f3f4f6;
    position: relative;
    transition: opacity 0.3s ease;
}

.cart-sidebar-item-image {
    width: 80px;
    min-width: 80px;
    margin-right: 16px;
}

.cart-sidebar-item-image a {
    display: block;
}

.cart-sidebar-item-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    border-radius: 4px;
    background: #f9f9f9;
}

.cart-sidebar-item-details {
    flex: 1;
    min-width: 0;
}

.cart-sidebar-item-name {
    font-size: 13px;
    font-weight: 600;
    color: #111;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4;
    margin-bottom: 4px;
}

.cart-sidebar-item-name:hover {
    color: #333;
}

.cart-sidebar-item-price {
    font-size: 14px;
    font-weight: 700;
    color: #111;
    margin-bottom: 4px;
}

.cart-sidebar-item-price del {
    color: #999;
    font-weight: 400;
    font-size: 12px;
    margin-right: 6px;
}

.cart-sidebar-item-price ins {
    text-decoration: none;
}

.cart-sidebar-item-variation {
    font-size: 11px;
    color: #888;
    margin-bottom: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.cart-sidebar-attr strong {
    font-weight: 600;
    color: #666;
    text-transform: uppercase;
    font-size: 10px;
}

/* Quantity controls */
.cart-sidebar-item-qty {
    display: inline-flex;
    align-items: center;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    overflow: hidden;
}

.cart-sidebar-qty-btn {
    width: 30px;
    height: 30px;
    background: #fff;
    border: none;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
}

.cart-sidebar-qty-btn:hover {
    background: #f5f5f5;
}

.cart-sidebar-qty-value {
    width: 32px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    color: #111;
    border-left: 1px solid #e0e0e0;
    border-right: 1px solid #e0e0e0;
    line-height: 30px;
}

/* Remove button */
.cart-sidebar-remove {
    position: absolute;
    top: 18px;
    right: 20px;
    background: none;
    border: none;
    cursor: pointer;
    color: #bbb;
    padding: 4px;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cart-sidebar-remove:hover {
    color: #e53e3e;
}

/* --- Footer (totals + actions) --- */
.cart-sidebar-footer {
    flex-shrink: 0;
    border-top: 1px solid #eaeaea;
    background: #fff;
}

.cart-sidebar-totals {
    padding: 16px 24px 12px;
}

.cart-sidebar-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    color: #555;
    margin-bottom: 6px;
}

.cart-sidebar-total-final {
    font-size: 16px;
    font-weight: 800;
    color: #111;
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1px solid #eaeaea;
    margin-bottom: 0;
}

.cart-sidebar-actions {
    display: flex;
    gap: 12px;
    padding: 12px 24px 22px;
}

.cart-sidebar-continue-btn {
    flex: 1;
    padding: 14px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #111;
    border-radius: 3px;
    background: #fff;
    color: #111;
    font-size: 12px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    transition: all 0.2s;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1.2;
}

.cart-sidebar-continue-btn:hover {
    background: #f5f5f5;
}

.cart-sidebar-checkout-btn {
    flex: 1;
    padding: 14px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 3px;
    background: #111;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    transition: background 0.2s;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1.2;
}

.cart-sidebar-checkout-btn:hover {
    background: #333;
}

/* Loading state for button */
.single_add_to_cart_button.loading {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

.single_add_to_cart_button.loading::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: mc-spin 0.6s linear infinite;
    margin-left: 8px;
    vertical-align: middle;
}

@keyframes mc-spin {
    to {
        transform: rotate(360deg);
    }
}

/* --- Responsive --- */
@media (max-width: 480px) {
    .cart-sidebar {
        max-width: 100%;
        right: -100%;
    }

    .cart-sidebar-item-image {
        width: 65px;
        min-width: 65px;
    }
}

/* Fix visited link color for cart sidebar buttons */
.cart-sidebar-continue-btn,
.cart-sidebar-continue-btn:visited,
.cart-sidebar-continue-btn:active,
.cart-sidebar-continue-btn:link {
    color: #111 !important;
}

.cart-sidebar-checkout-btn,
.cart-sidebar-checkout-btn:visited,
.cart-sidebar-checkout-btn:active,
.cart-sidebar-checkout-btn:link {
    color: #fff !important;
}

/* ==========================================================================
   WISHLIST BADGE
   ========================================================================== */
.mc-wishlist-header {
    position: relative;
}

.wishlist-count-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    background: #c0392b;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    min-width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    border-radius: 50%;
    display: inline-block;
    pointer-events: none;
}

.wishlist-count-badge:empty {
    display: none;
}

/* Wishlist heart animation */
.mc-wishlist-btn {
    transition: transform 0.2s ease;
}

.mc-wishlist-btn:active {
    transform: scale(1.2);
}

/* ==========================================================================
   WISHLIST PAGE
   ========================================================================== */
.mc-wishlist-page {
    padding: 40px 0 80px;
    min-height: 50vh;
}

.mc-wishlist-title {
    font-size: 26px;
    font-weight: 800;
    color: #111;
    margin: 0 0 32px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Inter', sans-serif;
    letter-spacing: -0.3px;
}

.mc-wishlist-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.mc-wishlist-card {
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.mc-wishlist-card-image {
    position: relative;
    overflow: hidden;
}

.mc-wishlist-card-image img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.mc-wishlist-card:hover .mc-wishlist-card-image img {
    transform: scale(1.03);
}

.mc-wishlist-card-remove {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    transition: all 0.2s;
    opacity: 0;
}

.mc-wishlist-card:hover .mc-wishlist-card-remove {
    opacity: 1;
}

.mc-wishlist-card-remove:hover {
    color: #e53e3e;
    background: #fff;
}

.mc-wishlist-card-info {
    padding: 14px 4px;
}

.mc-wishlist-card-name,
.mc-wishlist-card-name:visited,
.mc-wishlist-card-name:link,
.mc-wishlist-card-name:active {
    font-size: 13px;
    font-weight: 600;
    color: #111 !important;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4;
    margin-bottom: 6px;
}

.mc-wishlist-card-name:hover {
    color: #555 !important;
}

.mc-wishlist-card-price {
    font-size: 14px;
    font-weight: 700;
    color: #111;
    margin-bottom: 12px;
}

.mc-wishlist-card-price del {
    color: #999;
    font-weight: 400;
    font-size: 12px;
}

.mc-wishlist-card-price ins {
    text-decoration: none;
}

/* Card button row: Comprar + Trash */
.mc-wishlist-card-btns {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

.mc-wishlist-card-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    text-align: center;
    background: #111;
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-radius: 3px;
    transition: background 0.2s;
}

.mc-wishlist-card-btn:hover {
    background: #333;
}

.mc-wishlist-card-btn:visited {
    color: #fff !important;
}

.mc-wishlist-card-trash {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    min-width: 40px;
    padding: 0;
    border: 1px solid #ddd;
    border-radius: 3px;
    background: #fff;
    color: #999;
    cursor: pointer;
    transition: all 0.2s;
}

.mc-wishlist-card-trash:hover {
    border-color: #e53e3e;
    color: #e53e3e;
    background: #fff5f5;
}

/* Login Banner */
.mc-wishlist-login-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 20px;
    margin-bottom: 28px;
    background: #f7f7f7;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    color: #444;
    font-family: 'Inter', sans-serif;
}

.mc-wishlist-login-banner svg {
    flex-shrink: 0;
    color: #888;
}

.mc-wishlist-login-link {
    font-weight: 700;
    color: #111 !important;
    text-decoration: underline;
    text-underline-offset: 2px;
    margin-left: auto;
}

.mc-wishlist-login-link:visited {
    color: #111 !important;
}

.mc-wishlist-login-link:hover {
    color: #555 !important;
}

/* Empty State */
.mc-wishlist-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 30px;
    text-align: center;
}

.mc-wishlist-empty svg {
    margin-bottom: 20px;
}

.mc-wishlist-empty p {
    font-size: 15px;
    font-weight: 500;
    color: #888;
    margin: 0 0 24px;
}

.mc-wishlist-shop-btn {
    display: inline-block;
    padding: 14px 32px;
    background: #111;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-radius: 3px;
    transition: background 0.2s;
}

.mc-wishlist-shop-btn:hover {
    background: #333;
}

.mc-wishlist-shop-btn:visited {
    color: #fff !important;
}

/* Actions — Adicionar Todos + Remover Todos */
.mc-wishlist-actions {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.mc-wishlist-addall-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border: none;
    border-radius: 3px;
    background: #111;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    cursor: pointer;
    transition: background 0.2s;
}

.mc-wishlist-addall-btn:hover {
    background: #333;
}

.mc-wishlist-addall-btn:disabled {
    opacity: 0.6;
    cursor: wait;
}

.mc-wishlist-clear-btn {
    padding: 12px 24px;
    border: 1px solid #ccc;
    border-radius: 3px;
    background: #fff;
    color: #666;
    font-size: 13px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
    transition: all 0.2s;
}

.mc-wishlist-clear-btn:hover {
    border-color: #e53e3e;
    color: #e53e3e;
}

/* Loading spinner */
.mc-wishlist-loading {
    display: flex;
    justify-content: center;
    padding: 60px;
    grid-column: 1 / -1;
}

.mc-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid #eee;
    border-top-color: #111;
    border-radius: 50%;
    animation: mc-spin 1s linear infinite;
}

/* ==========================================================================
   VIEW ORDER / ORDER DETAILS PAGE (Shopify Premium Style)
   ========================================================================== */
.woocommerce-order {
    font-family: 'Inter', sans-serif;
    color: #333;
}

/* The "Order # placed on" notice */
.woocommerce-MyAccount-content .woocommerce-order>p:not(.order-again) {
    background: #f9f9f9;
    border: 1px solid #eaeaea;
    padding: 16px 20px;
    border-radius: 4px;
    font-size: 14px;
    margin-bottom: 30px !important;
    display: block !important;
    color: #555;
    font-weight: 500;
}

.woocommerce-order>p mark {
    background: transparent;
    font-weight: 700;
    color: #111;
}

/* Flex layout: Order details on left, Customer details on right (if screen allows) */
@media (min-width: 900px) {
    .woocommerce-order {
        display: grid;
        grid-template-columns: 1fr 340px;
        gap: 32px;
        align-items: start;
    }

    .woocommerce-order>p:not(.order-again),
    .woocommerce-order>.woocommerce-notices-wrapper {
        grid-column: 1 / -1;
    }
}

/* --- Order details module --- */
.woocommerce-order-details {
    margin-bottom: 40px;
}

.woocommerce-order-details__title {
    font-size: 18px;
    font-weight: 800;
    color: #111;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #111;
}

.woocommerce-table--order-details {
    border-collapse: collapse;
    width: 100%;
    border: none !important;
}

.woocommerce-table--order-details thead {
    display: none;
    /* Hide standard headers */
}

.woocommerce-table--order-details tbody td {
    padding: 20px 0;
    border-bottom: 1px solid #eee;
    vertical-align: top;
    border-top: none;
    border-left: none;
    border-right: none;
}

.woocommerce-table--order-details tbody td.product-total {
    text-align: right;
    font-weight: 700;
    color: #111;
    font-size: 15px;
    padding-top: 24px;
}

/* Item styling */
.mc-order-item-wrap {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.mc-order-item-thumb {
    width: 80px;
    min-width: 80px;
    border-radius: 4px;
    overflow: hidden;
    background: #f9f9f9;
}

.mc-order-item-thumb img {
    width: 100%;
    height: auto;
    display: block;
    mix-blend-mode: multiply;
}

.mc-order-item-info a {
    font-weight: 700;
    color: #111 !important;
    text-decoration: none;
    font-size: 14px;
    display: block;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.mc-order-item-info a:hover {
    color: #555 !important;
}

.mc-order-item-info strong.product-quantity {
    display: inline-block;
    font-size: 13px;
    color: #666;
    background: #f3f4f6;
    padding: 2px 8px;
    border-radius: 12px;
    font-weight: 600;
    margin-top: 6px;
    letter-spacing: -0.5px;
}

/* Variation Meta */
.wc-item-meta {
    list-style: none;
    padding: 0;
    margin: 8px 0 0;
    font-size: 12px;
    color: #777;
}

.wc-item-meta li {
    display: flex;
    gap: 6px;
    margin-bottom: 4px;
}

.wc-item-meta li strong,
.wc-item-meta li p {
    margin: 0;
}

.wc-item-meta li strong {
    font-weight: 600;
    color: #555;
}

/* Footer / Totals */
.woocommerce-table--order-details tfoot th {
    text-align: left;
    padding: 12px 0;
    font-weight: 500;
    color: #555;
    border-bottom: 1px solid #f3f3f3;
}

.woocommerce-table--order-details tfoot td {
    text-align: right;
    padding: 12px 0;
    font-weight: 600;
    color: #111;
    border-bottom: 1px solid #f3f3f3;
}

.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
    border-bottom: none;
    font-size: 16px;
    font-weight: 800;
    color: #111;
    padding-top: 16px;
}

.woocommerce-table--order-details tfoot tr:last-child th {
    text-transform: uppercase;
}

/* Order actions button */
.order-again .button {
    background: #111 !important;
    color: #fff !important;
    border: none;
    padding: 12px 24px;
    border-radius: 3px;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    display: inline-block;
    text-decoration: none;
}

.order-again .button:hover {
    background: #333 !important;
}

/* --- Customer details module --- */
.woocommerce-customer-details {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 24px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02);
}

.woocommerce-customer-details h2 {
    font-size: 15px;
    font-weight: 700;
    color: #111;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #eee;
}

.woocommerce-customer-details address {
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
    color: #555;
    margin-bottom: 24px;
    border: none;
    padding: 0;
}

/* If addresses are split (Billing / Shipping) inside section */
.woocommerce-columns--addresses {
    display: block !important;
}

.woocommerce-column--billing-address,
.woocommerce-column--shipping-address {
    margin-bottom: 24px !important;
    width: 100% !important;
    float: none !important;
}

.woocommerce-column--shipping-address {
    margin-bottom: 0 !important;
}

.mc-spinner-small {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: mc-spin 0.6s linear infinite;
    vertical-align: middle;
}

/* Responsive Wishlist */
@media (max-width: 768px) {
    .mc-wishlist-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .mc-wishlist-actions {
        flex-direction: column;
    }

    .mc-wishlist-login-banner {
        flex-wrap: wrap;
        font-size: 13px;
    }
}

/* ==========================================================================
   TI WISHLIST PLUGIN OVERRIDES (hide share button)
   ========================================================================== */
.tinv-wishlist .social-buttons,
.tinv-wishlist .tinvwl-share,
.tinv-wishlist-clear,
.tinv-wishlist .tinvwl_add_to_wishlist_button,
.tinvwl-share,
.tinvwl-share-wrap {
    display: none !important;
}

/* Fix flags overlapping the number (Account for separateDialCode width) */
.woocommerce-address-fields .iti {
    width: 100%;
    display: block;
}

#billing_phone {
    padding-left: 95px !important;
}

/* Ensure Address select dropdowns have equal height */
.woocommerce-address-fields select.select,
.woocommerce-address-fields .select2-container .select2-selection--single {
    height: 48px !important;
    line-height: 48px !important;
    display: flex;
    align-items: center;
}

.woocommerce-address-fields .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 48px !important;
}

/* Center the arrow vertically to match the new 48px height */
.woocommerce-address-fields .select2-container .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
    top: 1px !important;
}

/* Ensure empty state and submit buttons have stark white text on black backgrounds */
.mc-dados-submit,
.woocommerce button.button,
a.mc-dados-submit,
.woocommerce-MyAccount-content a.mc-dados-submit,
.woocommerce-MyAccount-content .mc-dados-submit {
    color: #ffffff !important;
    background: #111 !important;
    text-decoration: none !important;
}

a.mc-dados-submit:visited,
a.mc-dados-submit:hover,
a.mc-dados-submit:active,
a.mc-dados-submit:focus {
    color: #ffffff !important;
}

.search-no-results .mc-dados-submit {
    background: #111 !important;
}

/* Saved Address Layout (Card Style) */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
    background: #f9f9f9;
    border: 1px solid #eaeaea;
    border-radius: 6px;
    padding: 30px;
    margin-top: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ddd;
    padding-bottom: 12px;
    margin-bottom: 16px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address header h3 {
    margin: 0;
    font-size: 16px;
    font-family: 'Inter', sans-serif;
    color: #111;
    display: block !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
    font-style: normal;
    color: #555;
    line-height: 1.6;
    margin-bottom: 24px;
}

/* Address Edition Link as beautiful button */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address header a.edit {
    display: inline-block;
    padding: 8px 16px;
    background: #eee;
    color: #333;
    font-size: 13px;
    font-weight: 500;
    border-radius: 3px;
    text-decoration: none;
    transition: 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address header a.edit:hover {
    background: #111;
    color: #fff !important;
}

/* Custom Modal Flow CSS */
#mc-password-modal,
#mc-email-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(4px);
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
}

#mc-password-modal.show,
#mc-email-modal.show {
    display: flex;
}

.mc-modal-box {
    background: #fff;
    border-radius: 6px;
    width: 90%;
    max-width: 400px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    animation: fadeInModal 0.2s ease-out forwards;
}

@keyframes fadeInModal {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.mc-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #f0f0f0;
}

.mc-modal-header h3 {
    margin: 0;
    font-size: 18px;
    color: #111;
    font-weight: 500;
}

.mc-modal-close {
    background: none;
    border: none;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    color: #888;
}

.mc-modal-body {
    padding: 24px;
}

.mc-modal-body p {
    font-size: 14px;
    color: #555;
    margin-bottom: 16px;
    line-height: 1.5;
}

.mc-modal-body input {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 16px;
}

.mc-modal-body button {
    width: 100%;
    margin-bottom: 12px;
}

.mc-modal-alert {
    display: none;
    font-size: 13px;
    padding: 10px;
    border-radius: 4px;
    margin-bottom: 16px;
}

.mc-modal-alert.error {
    background: #ffebee;
    color: #c62828;
    display: block;
}

.mc-modal-alert.success {
    background: #e8f5e9;
    color: #2e7d32;
    display: block;
}

/* Cart Sidebar Addons (Cupom e Frete) */
.cart-sidebar-addons {
    border-top: 1px solid #eaeaea;
    margin-top: 15px;
}

.cart-sidebar-addon-item {
    border-bottom: 1px solid #eaeaea;
    padding: 15px 0;
}

.cart-addon-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cart-addon-title {
    font-size: 14px;
    font-weight: 500;
    color: #222;
}

.cart-addon-toggle {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    color: #777 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    text-decoration: underline !important;
    cursor: pointer;
    font-weight: 500;
    letter-spacing: 0.5px;
}

.cart-addon-toggle:hover {
    color: #111 !important;
}

/* ==========================================================================
   15. Custom Advanced Checkout (Shopify Style)
   ========================================================================== */
.woocommerce-checkout header#masthead,
.woocommerce-checkout .site-header,
.woocommerce-checkout .main-navigation,
.woocommerce-checkout .top-bar-area,
.woocommerce-checkout .page-header-title,
.woocommerce-checkout .page-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-checkout footer#colophon,
.woocommerce-checkout .site-footer {
    display: none !important;
}

.woocommerce-checkout .woocommerce {
    max-width: 1200px;
    margin: 0px auto 40px auto;
}

/* Custom Header Bar inside Checkout */
body.woocommerce-checkout .site-content,
body.woocommerce-checkout #content,
body.woocommerce-checkout #main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.mc-checkout-header-bar {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    /* Drasticamente reduzido conforme print */
    margin-bottom: 30px;
}

.mc-checkout-header-bar::after {
    content: '';
    position: absolute;
    bottom: 0;

    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    border-bottom: 1px solid #eaeaea;
}

.mc-chb-logo img {
    height: 45px;
    width: auto;
}

.mc-chb-cart a {
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Layout Wrapper */
.mc-checkout-super-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 60px;
    align-items: flex-start;
}

.mc-checkout-left {
    flex: 1.1;
    width: 100%;
}

.mc-checkout-right {
    flex: 0.9;
    width: 100%;
    background: #fafafa;
    border-left: 1px solid #eaeaea;
    padding: 35px;
    border-radius: 8px;
}

.mc-mobile-summary-toggle {
    display: none;
}

.mc-checkout-right-content {
    display: block;
}


/* User Box */
.mc-checkout-user-box {
    display: flex;
    align-items: center;
    border: 1px solid #eaeaea;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 25px;
}

.mc-cub-icon {
    width: 45px;
    height: 45px;
    background: #f0f0f0;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-weight: 600;
    font-size: 18px;
    margin-right: 15px;
}

.mc-cub-email {
    font-size: 15px;
    color: #333;
    font-weight: 500;
}

/* Toggle Enviar/Retirada */
.mc-checkout-method-toggle {
    display: flex;
    background: #f1f1f1;
    border-radius: 8px;
    padding: 5px;
    margin-bottom: 30px;
}

.mc-cmt-btn {
    flex: 1;
    background: transparent;
    border: none;
    padding: 12px 10px;
    font-size: 15px;
    font-weight: 500;
    color: #555;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.mc-cmt-btn.active {
    background: #fff;
    color: #111;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Hide native checkout titles */
.woocommerce-checkout #order_review_heading {
    display: none !important;
}

.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
    margin-top: 30px !important;
}

/* Mobile stack */
@media (max-width: 991px) {
    .mc-checkout-super-wrapper {
        flex-direction: column-reverse;
        /* Order summary at top */
        gap: 0;
        padding: 0 20px;
        /* UI/UX breathing room */
    }

    .mc-checkout-right {
        border-left: none;
        padding: 0;
        background: transparent;
        margin-bottom: 25px;
    }

    .mc-checkout-left {
        padding-top: 10px;
    }

    /* Mobile Toggle Styling */
    .mc-mobile-summary-toggle {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        background: #fafafa;
        padding: 18px 20px;
        margin: 0 -20px 0 -20px;
        /* Bleed to edges */
        border-top: 1px solid #eaeaea;
        border-bottom: 1px solid #eaeaea;
        cursor: pointer;
    }

    .mc-mst-text {
        font-size: 14px;
        color: #5469a4;
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .mc-mst-icon {
        transition: transform 0.3s;
    }

    .mc-mst-icon.open {
        transform: rotate(180deg);
    }

    .mc-mst-total {
        font-size: 18px;
        font-weight: 600;
        color: #111;
    }

    .mc-checkout-right-content {
        display: none;
        /* Hidden by default on mobile */
        padding-top: 20px;
        background: #fafafa;
        margin: 0 -20px;
        padding: 20px;
        border-bottom: 1px solid #eaeaea;
    }

    .mc-checkout-header-bar {
        padding: 10px 20px;
        margin-bottom: 0;
        border-bottom: 1px solid #eaeaea;
    }

    .mc-chb-logo img {
        height: 32px;
    }
}

/* Cart Items with Image Overlay */
.woocommerce-checkout table.shop_table tr.cart_item {
    border-bottom: 1px solid #eaeaea !important;
    display: flex;
    align-items: center;
    border-bottom: none !important;
}

.woocommerce-checkout table.shop_table tr.cart_item td.product-name {
    display: flex;
    align-items: center;
    border: none !important;
    padding: 20px 0 !important;
    flex: 1;
}

.woocommerce-checkout table.shop_table tr.cart_item td.product-total {
    border: none !important;
    font-weight: 500;
    color: #333;
}

.mc-chk-item {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
}

.mc-chk-img {
    position: relative;
    width: 64px !important;
    height: 64px !important;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.mc-chk-img img {
    border-radius: 6px;
    max-width: 60px !important;
    max-height: 60px !important;
}

.mc-chk-qty-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    background: #111 !important;
    color: #fff;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    z-index: 10;
}

.mc-chk-info {
    font-size: 14px;
    font-family: 'Inter', Arial, sans-serif;
    color: #333;
}

/* Coupon section moves via Flex Order */
.woocommerce-checkout table.shop_table tfoot {
    display: flex !important;
    flex-direction: column !important;
    width: 100%;
}

.woocommerce-checkout table.shop_table tfoot tr {
    display: flex !important;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}

.woocommerce-checkout table.shop_table tfoot tr th {
    flex: 1;
    text-align: left;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    padding: 15px 0 !important;
}

.woocommerce-checkout table.shop_table tfoot tr td {
    text-align: right;
    padding: 15px 0 !important;
}

/* Order the rows */
.woocommerce-checkout table.shop_table tfoot tr.mc-chk-coupon-row {
    order: 1 !important;
    border-bottom: 1px solid #eaeaea !important;
    padding: 0 !important;
}

.woocommerce-checkout table.shop_table tfoot tr.cart-subtotal {
    order: 2 !important;
    border-bottom: none !important;
}

.woocommerce-checkout table.shop_table tfoot tr.shipping {
    order: 3 !important;
    border-bottom: 1px solid #eaeaea !important;
    align-items: flex-start;
}

.woocommerce-checkout table.shop_table tfoot tr.order-total {
    order: 4 !important;
    border-bottom: none !important;
    padding-top: 25px !important;
}

/* Specific Shipping Format */
.woocommerce-checkout table.shop_table tfoot tr.shipping th {
    font-size: 0 !important;
    /* Hide "Shipment" */
}

.woocommerce-checkout table.shop_table tfoot tr.shipping th::before {
    content: 'Frete';
    /* Translate to Portuguese */
    font-size: 14px !important;
}

.mc-chk-coupon-row td {
    width: 100%;
    text-align: left !important;
    padding: 0 !important;
}

.mc-chk-coupon-wrap {
    display: flex;
    gap: 10px;
    width: 100%;
}

.mc-chk-coupon-wrap input {
    flex: 1;
    border: 1px solid #d9d9d9 !important;
    border-radius: 5px !important;
    padding: 14px 16px !important;
    background: #fff !important;
    font-size: 14px;
}

.mc-chk-coupon-wrap button {
    background: #f4f4f4 !important;
    color: #555 !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 5px !important;
    padding: 0 24px !important;
    font-weight: 500 !important;
    font-size: 14px;
    text-transform: none !important;
    cursor: pointer;
}

/* Total with BRL Prefix format */
.order-total th {
    font-weight: 600 !important;
    margin-bottom: 12px !important;
    color: #111 !important;
}

/* ==== CUSTOM SHIPPING METHODS UI (SHOPIFY STYLE) ==== */
#mc-custom-shipping-methods-container {
    margin-bottom: 30px;
    background: #fff;
    border-radius: 8px;
    padding: 0;
}

.mc-custom-shipping-card {
    display: flex;
    align-items: center;
    padding: 16px 20px;
    border: 1px solid #e5e7eb;
    margin-bottom: -1px;
    cursor: pointer;
    background: #fff;
    transition: all 0.2s;
}

.mc-custom-shipping-card:first-child {
    border-radius: 8px 8px 0 0;
}

.mc-custom-shipping-card:last-child {
    border-radius: 0 0 8px 8px;
    margin-bottom: 0;
}

.mc-custom-shipping-card.checked {
    background: #f8f9fc;
    border: 1px solid #5469a4;
    position: relative;
    z-index: 2;
}

.mc-csc-radio {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #ccc;
    background: #fff;
    margin-right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.mc-custom-shipping-card.checked .mc-csc-radio {
    border-color: #5469a4;
    background: #5469a4;
    box-shadow: inset 0 0 0 5px #fff, inset 0 0 0 10px #5469a4;
}

.mc-csc-info {
    flex: 1;
    font-size: 14px;
    color: #333;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mc-csc-info b,
.mc-csc-info strong {
    font-weight: 600;
    color: #111;
}

.mc-no-shipping-msg {
    padding: 20px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    color: #d72c0d;
    background: #fdf2f2;
    font-size: 14px;
}

.order-total strong {
    font-size: 20px;
    font-weight: 700;
    color: #111;
}

span.mc-brl-prefix {
    font-size: 12px;
    color: #888;
    margin-right: 4px;
    font-weight: 500;
}

/* Left column Form layout (Floating Labels) */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    display: none !important;
}

/* Floating Label Magic */
.woocommerce-checkout #customer_details .form-row {
    position: relative;
    float: none !important;
    clear: none !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
}

.woocommerce-checkout #customer_details .form-row label {
    position: absolute;
    top: 8px;
    left: 15px;
    font-size: 11px;
    color: #777;
    z-index: 2;
    pointer-events: none;
    /* Let clicks pass to input */
    line-height: 1;
    font-weight: 400 !important;
}

.woocommerce-checkout #customer_details .form-row label .required,
.woocommerce-checkout #customer_details .form-row label .screen-reader-text {
    display: none !important;
}

/* Input Fields */
.woocommerce-checkout #customer_details .input-text,
.woocommerce-checkout #customer_details select {
    border: 1px solid #d9d9d9 !important;
    border-radius: 6px !important;
    padding: 24px 15px 8px 15px !important;
    background: #fff;
    height: 54px !important;
    font-size: 15px;
    color: #333;
    width: 100%;
    box-sizing: border-box;
}

/* Select2 specific overrides for floating labels */
.woocommerce-checkout #customer_details .select2-container .select2-selection--single {
    height: 54px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 6px !important;
    padding: 24px 15px 8px 15px !important;
    display: flex;
    align-items: center;
}

.woocommerce-checkout #customer_details .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: normal !important;
    padding: 0 !important;
    font-size: 15px;
}

.woocommerce-checkout #customer_details .select2-container .select2-selection--single .select2-selection__arrow {
    height: 54px !important;
    right: 10px !important;
}

/* Right Column Table adjustments */
.woocommerce-checkout table.shop_table thead {
    display: none !important;
}

.woocommerce-checkout table.shop_table tr.cart_item,
.woocommerce-checkout table.shop_table tr.order-total,
.woocommerce-checkout table.shop_table tr.cart-subtotal {
    border-bottom: 1px solid #eaeaea !important;
}

.woocommerce-checkout table.shop_table tr:last-child {
    border-bottom: none !important;
}

/* Clean Shipping Methods */
.woocommerce-checkout #shipping_method,
.woocommerce-checkout .woocommerce-shipping-methods {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    text-align: right;
}

.woocommerce-checkout ul#shipping_method li,
.woocommerce-checkout ul.woocommerce-shipping-methods li {
    padding: 4px 0 !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.woocommerce-checkout #shipping_method li input[type=radio],
.woocommerce-checkout .woocommerce-shipping-methods li input[type=radio],
.woocommerce-checkout input.shipping_method {
    appearance: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.woocommerce-checkout #shipping_method li label,
.woocommerce-checkout .woocommerce-shipping-methods li label {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #555 !important;
    margin: 0 !important;
    cursor: default;
}

/* Icons inside inputs */
.woocommerce-checkout #billing_postcode_field .input-text {
    background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="%23777" stroke-width="2"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>');
    background-repeat: no-repeat;
    background-position: right 15px center;
}

.woocommerce-checkout #billing_phone_field .input-text {
    background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="%23777" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>');
    background-repeat: no-repeat;
    background-position: right 15px center;
}

/* Payment Box reset */
.woocommerce-checkout #payment {
    background: transparent !important;
    border: 1px solid #e1e1e1 !important;
    border-radius: 8px !important;
    margin-top: 30px !important;
}

.woocommerce-checkout #payment div.payment_box {
    background: #fafafa !important;
}

.woocommerce-checkout #payment div.payment_box::before {
    display: none !important;
}

.woocommerce-checkout #place_order {
    width: 100% !important;
    padding: 18px !important;
    font-size: 16px !important;
    background: #46679b !important;
    color: #fff !important;
    border-radius: 4px !important;
    margin-top: 20px !important;
}

/* ==========================================
   PAINEL PREMIUM DE RETIRADA (YAMPI STYLE)
   ========================================== */
#mc-pickup-locations-panel {
    margin-top: 20px;
    margin-bottom: 20px;
    width: 100%;
}

.mc-plp-alert {
    background: #f5f5f5;
    border: 1px solid #eaeaea;
    border-radius: 8px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #333;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    margin-bottom: 25px;
}

.mc-plp-alert svg {
    color: #666;
    flex-shrink: 0;
}

.mc-plp-header {
    font-size: 14px;
    color: #666;
    margin-bottom: 12px;
    font-family: 'Inter', sans-serif;
}

.mc-plp-list-wrap {
    background: #fff;
    border: 1px solid #eaeaea;
    border-radius: 8px;
    overflow: hidden;
}

.mc-plp-store-item {
    display: flex;
    align-items: flex-start;
    padding: 20px;
    cursor: pointer;
    border-bottom: 1px solid #eaeaea;
    transition: all 0.2s;
    margin: 0 !important;
}

.mc-plp-store-item:last-child {
    border-bottom: none;
}

.mc-plp-store-item:hover {
    background: #fafafa;
}

.mc-plp-si-radio {
    margin-right: 15px;
    position: relative;
    padding-top: 2px;
}

.mc-plp-si-radio input[type="radio"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.mc-plp-virtual-radio {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #ccc;
    position: relative;
    transition: all 0.2s;
}

.mc-plp-si-radio input[type="radio"]:checked+.mc-plp-virtual-radio {
    border-color: #2160cf;
    /* Yampi Blue */
}

.mc-plp-si-radio input[type="radio"]:checked+.mc-plp-virtual-radio::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    background: #2160cf;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.mc-plp-si-content {
    flex: 1;
}

.mc-plp-si-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

.mc-plp-si-title strong {
    font-size: 15px;
    font-family: 'Inter', sans-serif;
    color: #111;
    font-weight: 600;
}

.mc-plp-gratis {
    font-size: 13px;
    font-weight: 700;
    color: #111;
}

.mc-plp-si-address {
    font-size: 14px;
    color: #777;
    line-height: 1.5;
    margin-bottom: 10px;
    font-family: 'Inter', sans-serif;
}

.mc-plp-si-time {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #777;
    font-weight: 500;
}

.mc-plp-si-time svg {
    color: #888;
}

.mc-plp-toggle-more {
    padding: 18px 20px;
    color: #2b55b3;
    /* Dark Blue link */
    font-size: 14px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fafafa;
    border-top: 1px solid #eaeaea;
}

.mc-plp-toggle-more:hover {
    background: #f5f5f5;
}

/* ==========================================================================
   MINIMALIST CART REDESIGN (SHOPIFY STYLE) - PERFECT PIXEL
   ========================================================================== */

/* Page Wrapper Constraints */
body.woocommerce-cart .woocommerce {
    max-width: 1200px !important;
    margin: 40px auto 40px auto !important;
    /* Reduced bottom margin */
    padding: 0 20px;
}

/* Hide annoyance notices like "Free shipping progress" on cart if any */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .free-shipping-notice,
body.woocommerce-cart .wcs-progress-bar {
    display: none !important;
}

/* Cart Header Bar */
.mc-cart-top-bar {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    /* Align bottom to match text baselines */
    padding-bottom: 30px;
    margin-top: 30px;
}

.mc-cart-title {
    font-size: 35px !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin: 0 !important;
    font-family: 'Inter', sans-serif !important;
    /* Voltando para a fonte padrão do sistema */
    letter-spacing: -0.5px;
}

.mc-cart-return {
    font-size: 14px;
    color: #666;
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    margin-bottom: 8px;
}

.mc-cart-return:hover {
    color: #111;
}

/* Hide native page entry-header or page-title directly */
.woocommerce-cart .entry-header,
.woocommerce-cart h1.page-title {
    display: none !important;
}

/* Base Table Overrides */
.woocommerce-cart-form {
    width: 100%;
}

.woocommerce-cart table.shop_table {
    border: none !important;
    border-radius: 0 !important;
    margin-bottom: 5px !important;
    /* Reduced to eliminate gap */
}

/* ================================
   TABLE GRID SYSTEM
   ================================ */
.woocommerce-cart table.shop_table thead tr,
.woocommerce-cart table.shop_table tbody tr.cart_item {
    display: grid !important;
    /* Grid structure: 
       [Thumb/Remove]   [Name]           [Price]   [Qty]   [Total]
       We mapped: 
       Thumb: 90px (Left)
       Name: 1fr (Fills space)
       Qty: 180px
       Remove: 30px
       Subtotal: 100px (Right)
    */
    grid-template-columns: 110px 1fr 180px 40px 120px !important;
    align-items: center;
    border-bottom: 1px solid #eaeaea !important;
}

.woocommerce-cart table.shop_table tbody tr.cart_item {
    padding: 30px 0 !important;
}

/* Strip generic TR borders and paddings */
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
    border: none !important;
    padding: 0 !important;
}

/* ====== FAKE THEAD STYLING (Bulletproof) ====== */
.woocommerce-cart table.shop_table thead {
    display: none !important;
}

.mc-cart-fake-thead {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    border-bottom: 1px solid #eaeaea;
    /* Removed border-top */
    padding: 0 0 15px 0;
    /* Adjusted padding */
    margin-bottom: 0px;
    /* Reduced margin */
}

.mc-cart-fake-thead div {
    font-size: 11px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
}

.mct-prod {
    flex: 1;
}

.mct-qty {
    width: 220px;
    text-align: center;
}

.mct-total {
    width: 120px;
    text-align: right;
}

/* ====== TBODY COLUMNS STYLING ====== */

/* 1. Thumbnail */
.woocommerce-cart table.shop_table tbody td.product-thumbnail {
    grid-column: 1 !important;
    order: 1;
    /* Force position */
}

.woocommerce-cart table.shop_table .product-thumbnail img {
    width: 90px !important;
    aspect-ratio: 3 / 4 !important;
    /* Forces 3:4 portrait crop */
    object-fit: cover !important;
    border: 1px solid #f0f0f0 !important;
    padding: 0;
    /* Remove internal padding for clean edge */
    display: block;
}

/* 2. Product Info */
.woocommerce-cart table.shop_table tbody td.product-name {
    grid-column: 2 !important;
    order: 2;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.woocommerce-cart table.shop_table .product-name a {
    font-size: 15px;
    font-weight: 600;
    color: #111;
    text-decoration: none;
    display: block;
    margin-bottom: 6px;
    font-family: 'Inter', sans-serif;
}

.woocommerce-cart table.shop_table .product-name .amount {
    font-size: 13px !important;
    color: #777 !important;
    display: block;
    margin-bottom: 8px;
    font-weight: 400 !important;
}

/* Injected Inline Price under Title */
.mc-cart-item-price-inline {
    display: block;
    font-size: 13px;
    color: #888;
    margin: 5px 0 8px 0;
    font-weight: 400;
}

/* Variations */
.woocommerce-cart table.shop_table .product-name .variation {
    font-size: 13px;
    color: #888;
    margin: 0;
}

.woocommerce-cart table.shop_table .product-name .variation dt {
    font-weight: 500;
    color: #666;
}

.woocommerce-cart table.shop_table .product-name .variation dd {
    margin-right: 12px;
}

/* Hide standalone price column since we embed it in product name via PHP later if needed, 
   but natively WooCommerce outputs price column. Let's hide it from grid! */
.woocommerce-cart table.shop_table tbody td.product-price {
    display: none !important;
}

/* 3. Quantity */
.woocommerce-cart table.shop_table tbody td.product-quantity {
    grid-column: 3 !important;
    order: 3;
    display: flex;
    justify-content: flex-start;
}

.mc-qty-wrapper {
    display: flex;
    align-items: center;
    border: 1px solid #dcdcdc;
    background: #fff;
    width: 110px;
    height: 40px;
}

.mc-qty-btn {
    width: 35px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: 16px;
    color: #666;
}

.mc-qty-btn:hover {
    color: #111;
}

.woocommerce-cart .product-quantity input.qty {
    flex: 1 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    text-align: center !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    background: transparent !important;
}

/* 4. Trash Icon */
.woocommerce-cart table.shop_table tbody td.product-remove {
    grid-column: 4 !important;
    order: 4;
}

.woocommerce-cart table.shop_table .product-remove a,
.woocommerce-cart table.shop_table .product-remove svg {
    color: #999 !important;
    display: block;
    margin: 0 auto;
}

.woocommerce-cart table.shop_table .product-remove a:hover svg {
    color: #ff3333 !important;
}

/* Hide the word 'Remove' if text remains */
.woocommerce-cart table.shop_table .product-remove a {
    font-size: 0 !important;
}

/* 5. Subtotal */
.woocommerce-cart table.shop_table tbody td.product-subtotal {
    grid-column: 5 !important;
    order: 5;
    text-align: right !important;
    font-size: 15px;
    font-weight: 500;
    color: #111;
}

/* Hide unneeded Action rows */
.woocommerce-cart td.actions .coupon {
    display: none !important;
}

.woocommerce-cart td.actions .button[name="update_cart"] {
    display: none !important;
}

.woocommerce-cart table.shop_table td.actions {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 0 !important;
    overflow: hidden;
}

.woocommerce-cart table.shop_table tbody tr:last-child {
    border: none !important;
}


/* ================================
   BOTTOM TOTALS BLOCK 
   ================================ */
.cart-collaterals {
    display: flex;
    justify-content: flex-end;
    margin-top: 5px;
    /* Reduced from 40px to eliminate gap */
    margin-bottom: 40px;
}

.cart_totals {
    width: 100%;
    max-width: 320px;
    text-align: right;
}

.cart_totals h2 {
    display: none !important;
}

.cart_totals table.shop_table {
    width: 100% !important;
    margin-bottom: 0 !important;
}

/* Force hide generic fields! */
.cart_totals table.shop_table tr.cart-subtotal,
.cart_totals table.shop_table tr.shipping,
.cart_totals table.shop_table tr.woocommerce-shipping-totals {
    display: none !important;
}

.cart_totals .order-total {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 15px;
    padding-bottom: 5px !important;
}

.cart_totals .order-total th,
.cart_totals .order-total td {
    background: transparent !important;
}

.cart_totals .order-total th {
    font-size: 14px;
    font-weight: 600;
    color: #111;
}

/* Re-write the word 'Total' to 'Total estimado' natively via CSS */
.cart_totals .order-total th {
    font-size: 0 !important;
}

.cart_totals .order-total th::after {
    content: 'Total estimado';
    font-size: 14px;
}

.cart_totals .order-total td {
    font-size: 18px;
    color: #666;
    font-weight: 400;
}

.cart_totals .order-total td bdi {
    color: #666 !important;
    font-weight: 400 !important;
}

.mc-cart-estimative {
    font-size: 11px;
    color: #888;
    margin: 10px 0 25px 0;
    letter-spacing: 0.3px;
    text-align: right;
}

/* Compre Agora Button */
.wc-proceed-to-checkout {
    padding: 0 !important;
}

.wc-proceed-to-checkout .checkout-button {
    width: 100% !important;
    display: block !important;
    background: #111 !important;
    color: #fff !important;
    padding: 16px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    border-radius: 2px !important;
    /* Sharp corners like mockup */
    transition: background 0.2s;
    text-decoration: none !important;
    text-align: center !important;
    line-height: normal !important;
}

.wc-proceed-to-checkout .checkout-button:hover {
    background: #333 !important;
    text-decoration: none !important;
}

/* ================================
   MOBILE RESPONSIVE
   ================================ */
@media (max-width: 768px) {
    .woocommerce-cart table.shop_table thead {
        display: none !important;
    }

    .woocommerce-cart table.shop_table tbody tr.cart_item {
        grid-template-columns: 80px 1fr 40px !important;
        grid-template-rows: auto auto auto;
        padding: 20px 0 !important;
    }

    .woocommerce-cart table.shop_table tbody td.product-thumbnail {
        grid-column: 1 !important;
        grid-row: 1 / 4 !important;
    }

    .woocommerce-cart table.shop_table .product-thumbnail img {
        width: 70px !important;
    }

    .woocommerce-cart table.shop_table tbody td.product-name {
        grid-column: 2 !important;
        grid-row: 1 !important;
        padding-left: 15px !important;
    }

    .woocommerce-cart table.shop_table tbody td.product-subtotal {
        grid-column: 2 !important;
        grid-row: 2 !important;
        text-align: left !important;
        padding-left: 15px !important;
        margin-top: 10px;
    }

    .woocommerce-cart table.shop_table tbody td.product-quantity {
        grid-column: 2 !important;
        grid-row: 3 !important;
        padding-left: 15px !important;
        margin-top: 15px;
    }

    .woocommerce-cart table.shop_table tbody td.product-remove {
        grid-column: 3 !important;
        grid-row: 1 / 4 !important;
        align-self: flex-start;
    }
}

.mc-cart-title {
    font-size: 28px;
    font-weight: 700;
    color: #111;
    margin: 0;
    font-family: 'Inter', sans-serif;
}

.mc-cart-return {
    font-size: 14px;
    color: #333;
    text-decoration: none;
    font-weight: 500;
}

.mc-cart-return:hover {
    text-decoration: underline;
}

/* Hide native page title if it still appears */
.woocommerce-cart h1.page-title {
    display: none !important;
}

/* Table Transformation to Flex */
.woocommerce-cart-form {
    width: 100%;
}

.woocommerce-cart table.shop_table {
    border: none !important;
    border-radius: 0 !important;
}

.woocommerce-cart table.shop_table thead {
    display: none !important;
    /* Hide thead as per mockup */
}

.woocommerce-cart table.shop_table tbody tr {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    padding: 25px 0 !important;
    border-bottom: 1px solid #eaeaea !important;
    position: relative;
}

.woocommerce-cart table.shop_table tbody tr.cart_item td {
    border: none !important;
    padding: 0 !important;
}

/* Product Thumbnail */
.woocommerce-cart table.shop_table .product-thumbnail {
    width: 100px !important;
    min-width: 100px;
}

.woocommerce-cart table.shop_table .product-thumbnail img {
    width: 90px !important;
    height: auto !important;
    border-radius: 4px;
}

/* Product Name & Details */
.woocommerce-cart table.shop_table .product-name {
    flex: 1;
    padding-left: 20px !important;
}

.woocommerce-cart table.shop_table .product-name a {
    font-size: 16px;
    font-weight: 600;
    color: #111;
    text-decoration: none;
    display: block;
    margin-bottom: 5px;
}

.woocommerce-cart table.shop_table .product-name .variation {
    font-size: 13px;
    color: #777;
    margin: 0;
}

.woocommerce-cart table.shop_table .product-name .variation dt,
.woocommerce-cart table.shop_table .product-name .variation dd {
    display: inline-block;
    margin: 0;
    padding: 0;
}

.woocommerce-cart table.shop_table .product-name .variation dt::after {
    content: ': ';
}

.woocommerce-cart table.shop_table .product-name .variation dd {
    margin-right: 10px;
}

/* Quantity Field Wrapper - Custom Buttons */
.woocommerce-cart table.shop_table .product-quantity {
    width: 120px !important;
    display: flex;
    justify-content: center;
}

.mc-qty-wrapper {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
}

.mc-qty-btn {
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: none;
    cursor: pointer;
    font-size: 18px;
    color: #555;
    transition: background 0.2s;
}

.mc-qty-btn:hover {
    background: #f5f5f5;
}

.woocommerce-cart .product-quantity input.qty {
    width: 40px !important;
    height: 35px !important;
    border: none !important;
    border-left: 1px solid #ccc !important;
    border-right: 1px solid #ccc !important;
    text-align: center !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    appearance: textfield !important;
}

/* Remove Arrows from input number */
.woocommerce-cart .product-quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .product-quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Remove Button (Trash) */
.woocommerce-cart table.shop_table .product-remove {
    width: 40px !important;
    display: flex;
    justify-content: center;
    order: 4;
}

/* Subtotal (Row Total) */
.woocommerce-cart table.shop_table .product-subtotal {
    width: 120px !important;
    text-align: right !important;
    font-size: 16px;
    font-weight: 600;
    color: #111;
}

/* Coupon & Update Cart */
.woocommerce-cart table.shop_table td.actions {
    width: 100%;
    padding: 20px 0 !important;
    background: none !important;
}

.woocommerce-cart td.actions .coupon {
    display: none !important;
    /* Hide coupon here, move to checkout or specific place */
}

.woocommerce-cart td.actions .button[name="update_cart"] {
    display: none !important;
    /* JS will auto-update or we show it smaller */
}

/* Cart Collaterals (The Summary Box) */
.cart-collaterals {
    display: flex;
    justify-content: flex-end;
    margin-top: 40px;
}

.cart_totals {
    width: 100%;
    max-width: 350px;
    text-align: right;
}

.cart_totals h2 {
    display: none !important;
}

.cart_totals table.shop_table {
    width: 100% !important;
}

.cart_totals .cart-subtotal,
.cart_totals .shipping {
    display: none !important;
    /* Mockup only shows Total and estimatives */
}

.cart_totals .order-total {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 15px;
    border: none !important;
    padding: 0 !important;
}

.cart_totals .order-total th {
    font-size: 16px;
    font-weight: 600;
    color: #111;
}

.cart_totals .order-total td {
    font-size: 20px;
    font-weight: 700;
    color: #111;
}

.mc-cart-estimative {
    font-size: 12px;
    color: #777;
    margin: 10px 0 20px 0;
}

.wc-proceed-to-checkout {
    padding: 0 !important;
}

.wc-proceed-to-checkout .checkout-button {
    width: 100% !important;
    background: #111 !important;
    color: #fff !important;
    padding: 18px !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    transition: opacity 0.2s;
}

.wc-proceed-to-checkout .checkout-button:hover {
    opacity: 0.9 !important;
}

/* Responsive Cart */
@media (max-width: 768px) {
    .woocommerce-cart table.shop_table tbody tr {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px 0 !important;
    }

    .woocommerce-cart table.shop_table .product-thumbnail {
        margin-bottom: 15px;
    }

    .woocommerce-cart table.shop_table .product-name {
        padding-left: 0 !important;
        margin-bottom: 15px;
    }

    .woocommerce-cart table.shop_table .product-quantity,
    .woocommerce-cart table.shop_table .product-subtotal,
    .woocommerce-cart table.shop_table .product-remove {
        width: 100% !important;
        justify-content: flex-start;
        text-align: left !important;
        margin-bottom: 10px;
    }

    .cart_totals {
        max-width: 100%;
    }
}

/* ==========================================================================
   MY ACCOUNT: SINGLE COLUMN AUTH FLOW PREMIUM
   ========================================================================== */

/* Page Constraints */
.mc-single-col-layout {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 20px 20px 30px 20px;
    /* Reduced vertical padding */
    background: #fff;
}

.mc-account-box {
    width: 100%;
    max-width: 480px;
    /* Single column restriction */
    margin: 0 auto;
}

/* Titles */
.mc-account-box .mc-account-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #111;
    font-family: 'Inter', sans-serif;
}

.mc-account-box .mc-account-subtitle {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    margin-bottom: 30px;
}

.text-center {
    text-align: center;
}

/* Forms & Fields */
.mc-form-vert .mc-field-group,
.mc-account-box .mc-field-group {
    margin-bottom: 20px;
}

.mc-account-box .mc-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #111;
    margin-bottom: 8px;
}

.mc-account-box .mc-input {
    width: 100%;
    border: 1px solid #ddd;
    padding: 14px 15px;
    font-size: 14px;
    border-radius: 4px;
    transition: border-color 0.2s;
    background: #fff;
    color: #111;
    font-family: 'Inter', sans-serif;
    box-sizing: border-box;
}

.mc-account-box .mc-input:focus {
    border-color: #111;
    outline: none;
}

.mc-input-disabled {
    background-color: #f0f0f0 !important;
    color: #888 !important;
    border-color: #e5e5e5 !important;
    opacity: 0.6 !important;
    /* Forces the ghost 'opaque' effect requested */
    pointer-events: none !important;
    cursor: not-allowed !important;
}

/* Fix "Meus Pedidos" and "My Account" Action Buttons Text Contrast */
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content .woocommerce-button,
.woocommerce-MyAccount-content a.button {
    background: #111 !important;
    color: #fff !important;
    border-radius: 4px;
    padding: 12px 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border: none !important;
    display: inline-block;
}

.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content .woocommerce-button:hover,
.woocommerce-MyAccount-content a.button:hover {
    background: #333 !important;
    color: #fff !important;
}

/* Hide Specific Claudio Sanches Plugin Fields */
#billing_persontype_field {
    display: none !important;
}

/* Hide Password Change Section ("Dados de Acesso") in Edit Account */
.woocommerce-EditAccountForm fieldset,
.woocommerce-EditAccountForm header,
.woocommerce-EditAccountForm h3,
/* Custom Titles */
.woocommerce-EditAccountForm legend {
    display: none !important;
}

/* If the theme wraps it in a specific div next to the submit button */
.woocommerce-EditAccountForm>hr,
.woocommerce-EditAccountForm .password-change-wrapper {
    display: none !important;
}

/* Password Wrapper & Visual Eye */
.mc-password-wrapper {
    position: relative;
    width: 100%;
}

.mc-toggle-pw {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    line-height: 0;
}

/* Action Buttons & Links */
.mc-btn-black {
    width: 100%;
    background: #111 !important;
    color: #fff !important;
    padding: 16px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-align: center;
    border-radius: 4px !important;
    border: none !important;
    cursor: pointer;
    transition: background 0.2s;
}

.mc-btn-black:hover {
    background: #333 !important;
}

.mc-btn-black:disabled {
    background: #ccc !important;
    cursor: not-allowed;
}

.mc-btn-gray {
    width: 100%;
    background: #aab0b6 !important;
    color: #fff !important;
    padding: 16px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-align: center;
    border-radius: 30px !important;
    /* Pill style */
    border: none !important;
    cursor: pointer;
    transition: background 0.2s;
}

.mc-btn-gray:hover:not(:disabled) {
    background: #111 !important;
}

.mc-btn-gray:disabled {
    background: #d0d0d0 !important;
    cursor: not-allowed;
}

.mc-login-footer-col {
    display: flex;
    flex-direction: column;
}

.mc-link-lost {
    font-size: 13px;
    color: #666;
    text-decoration: underline;
    display: inline-block;
    margin-bottom: 20px;
}

.mc-register-prompt {
    margin-top: 30px;
    text-align: center;
    font-size: 14px;
    color: #666;
}

.mc-link-bold {
    font-weight: 600;
    color: #111;
    text-decoration: underline;
    margin-left: 5px;
}

.mc-link-back {
    display: block;
    text-align: center;
    margin-top: 20px;
    font-size: 14px;
    color: #666;
    text-decoration: underline;
}

/* Checkboxes */
.mc-marketing-checks {
    margin: 30px 0;
}

.mc-checkbox-label {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    cursor: pointer;
}

.mc-checkbox-label input[type="checkbox"] {
    margin-top: 3px;
    margin-right: 12px;
}

.mc-check-text {
    font-size: 13px;
    color: #555;
    line-height: 1.4;
}

/* Password Dynamic Rules */
.mc-pw-rules {
    background: #fafafa;
    padding: 15px;
    border-radius: 4px;
    margin-bottom: 20px;
    border: 1px solid #eee;
}

.mc-pw-rules-title {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #666;
    margin-bottom: 10px;
}

.mc-pw-rules ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mc-pw-rules li {
    font-size: 12px;
    color: #888;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
}

.mc-pw-rules li::before {
    content: "•";
    margin-right: 6px;
    font-size: 16px;
    color: #ccc;
    /* Default dot color */
}

/* When Rule is Validated (Green) */
.mc-pw-rules li.valid {
    color: #111;
}

.mc-pw-rules li.valid::before {
    color: #1fb141;
    /* VIBRANT GREEN */
}

/* When Rule fails actively */
.mc-pw-rules li.invalid {
    color: #d0021b;
}

.mc-pw-rules li.invalid::before {
    color: #d0021b;
}

.mc-terms-text {
    font-size: 12px;
    color: #666;
    text-align: center;
    margin-bottom: 20px;
}

.mc-terms-text a {
    color: #111;
    text-decoration: underline;
}

.mc-alert-error {
    background: #fee;
    color: #d0021b;
    padding: 12px;
    font-size: 13px;
    border: 1px solid #fcc;
    border-radius: 4px;
    margin-bottom: 15px;
}

/* === NEW TWEAKS (Task 1,2,5,8) === */
/* Fix spacing for title and price in products loop */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title:visited {
    margin-top: 20px;
    font-size: 14px;
    margin-bottom: 8px;
    line-height: 1.2;
    text-align: left;
    color: #111 !important;
    text-decoration: none;
}

ul.products li.product .price {
    font-size: 17px;
    margin-bottom: 15px;
    text-align: left;
    color: #111;
    display: block;
    padding-left: 0;
    font-weight: 700;
}

ul.products li.product .button {
    margin-top: 15px;
}

/* Single product image 3:4 */
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto;
    aspect-ratio: 3/4;
    object-fit: cover;
    display: block;
}

.woocommerce-product-gallery__trigger {
    display: none !important;
}

/* Hide lightbox icon just in case */
/* Hide Meios de Pagamento/Guia if hardcoded or known classes */
.meios-pagamento,
.wc-bacs-bank-details,
#pay-methods-block,
.product-extra-options {
    display: none !important;
}

/* Beautiful custom variation swatches CSS */
.mc-swatches-wrap {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

.mc-swatch {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 3px;
    font-size: 13px;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
    color: #555;
    background: #fff;
    transition: all 0.2s;
    min-width: 40px;
    text-transform: uppercase;
    font-weight: 600;
}

.mc-swatch:hover {
    border-color: #111;
    color: #111;
}

.mc-swatch.selected {
    border-color: #111;
    background: #111;
    color: #fff;
}

.mc-swatch.swatch-color {
    padding: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
}

.mc-swatch.swatch-color.selected {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #111;
    border: none;
}

/* Related Products layout override */
.related.products {
    width: 100%;
    clear: both;
    padding-top: 40px;
    border-top: 1px solid #eaeaea;
    margin-top: 40px;
}

.related.products>h2 {
    font-size: 22px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    text-transform: uppercase;
    margin-bottom: 30px;
    text-align: left;
    color: #111;
}

/* Hide annoying sidebar areas that might overflow */
.widget-area,
#secondary {
    display: none !important;
}


/* FIX 1: Hide view cart button below add to cart loop */
a.added_to_cart {
    display: none !important;
}

/* FIX 7: Fix hover image turning white */
ul.products li.product a:hover img:not(.secondary-image) {
    opacity: 1;
}

/* Reset */
ul.products li.product a:has(img.secondary-image):hover img:not(.secondary-image) {
    opacity: 0;
}



/* ============================================================
   CHECKOUT SHOPIFY-STYLE LAYOUT
   ============================================================ */

/* Section title */
.mc-checkout-section-title {
    font-size: 22px;
    font-weight: 700;
    color: #111;
    margin-bottom: 20px;
    margin-top: 10px;
    letter-spacing: -0.3px;
}

/* Hide all CPF/document fields from Brazilian plugins - broad targeting */
#billing_cpf_field,
#billing_cnpj_field,
#billing_persontype_field,
#billing_rg_field,
#billing_birthdate_field,
#billing_sex_field {
    display: none !important;
}

/* Aggressive hiding of any CPF field variant */
#billing_cpf_field,
#billing_cnpj_field,
#billing_persontype_field,
#billing_rg_field,
#billing_birthdate_field,
#billing_sex_field,
#billing_cpf_cnpj_field,
p[id*="billing_cpf"],
p[id*="billing_cnpj"] {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ============================================================
   MODA CRUZ — PREMIUM CART PAGE
   ============================================================ */

/* Wrapper */
.woocommerce-cart .mc-cart-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px 80px;
    font-family: 'Inter', sans-serif;
}

/* ── Empty Cart ── */
.mc-cart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 100px 20px;
    text-align: center;
    color: #6b7280;
}

.mc-cart-empty svg {
    color: #d1d5db;
    margin-bottom: 24px;
}

.mc-cart-empty h2 {
    font-size: 20px;
    font-weight: 700;
    color: #111;
    margin: 0 0 10px;
    letter-spacing: 0.5px;
}

.mc-cart-empty p {
    font-size: 14px;
    margin: 0 0 28px;
}

.mc-btn-return-shop {
    display: inline-block;
    background: #111;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 14px 36px;
    border-radius: 2px;
    transition: background 0.25s ease;
}

.mc-btn-return-shop:hover {
    background: #333;
}

/* ── Header Bar ── */
.mc-cart-header-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 2px solid #111;
    padding-bottom: 16px;
    margin-bottom: 32px;
}

.mc-cart-title {
    font-size: 22px;
    font-weight: 800;
    color: #111;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0;
}

.mc-back-to-shop {
    font-size: 12px;
    font-weight: 600;
    color: #555 !important;
    text-decoration: none !important;
    letter-spacing: 0.5px;
    transition: color 0.2s;
}

.mc-back-to-shop:hover {
    color: #111 !important;
}

/* ── Two-column layout ── */
.mc-cart-layout {
    display: flex;
    gap: 48px;
    align-items: flex-start;
}

.mc-cart-items {
    flex: 1 1 auto;
    min-width: 0;
}

.mc-cart-totals-col {
    flex: 0 0 340px;
    width: 340px;
}

/* ── Column Headers ── */
.mc-cart-col-headers {
    display: grid;
    grid-template-columns: 1fr 140px 44px 100px;
    padding: 0 0 12px;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 8px;
}

.mc-cart-col-headers span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #9ca3af;
    display: block;
}

.mc-cart-col-headers .mc-col-quantidade {
    text-align: center;
    padding-right: 0;
}

.mc-cart-col-headers .mc-col-total {
    text-align: right;
}

/* ── Single Cart Item Row ── */
.mc-cart-item {
    display: grid;
    grid-template-columns: 1fr 140px 44px 100px;
    align-items: center;
    gap: 0;
    padding: 20px 0;
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.2s ease;
}

.mc-cart-item:hover {
    background: #fafafa;
}

/* ── Item Product (image + details) ── */
.mc-item-product {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.mc-item-image {
    flex: 0 0 90px;
    width: 90px;
}

.mc-item-image img,
.mc-item-image a img {
    width: 90px;
    height: 110px;
    object-fit: cover;
    border-radius: 4px;
    display: block;
    background: #f9fafb;
}

.mc-item-image a {
    display: block;
}

.mc-item-details {
    flex: 1;
    min-width: 0;
}

.mc-item-name,
.mc-item-name a {
    font-size: 13px;
    font-weight: 700;
    color: #111 !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    line-height: 1.4;
    margin: 0 0 6px;
    display: block;
    white-space: normal;
}

.mc-item-name a:hover {
    text-decoration: underline !important;
}

/* Price inside item details */
.mc-item-details .woocommerce-Price-amount {
    font-size: 13px;
    font-weight: 600;
    color: #6b7280;
    display: block;
    margin-bottom: 6px;
}

/* Variation meta */
.mc-item-details .wc-item-meta {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mc-item-details .wc-item-meta li {
    font-size: 11px;
    color: #9ca3af;
    margin-bottom: 2px;
}

.mc-item-details .wc-item-meta li p {
    margin: 0;
    display: inline;
}

/* ── Quantity Column ── */
.mc-item-quantity-col {
    display: flex;
    justify-content: center;
    align-items: center;
}

.mc-qty-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* WooCommerce quantity input — rebrand to pill style */
.mc-cart-wrapper .quantity {
    display: flex;
    align-items: center;
    border: 1.5px solid #e5e7eb;
    border-radius: 4px;
    height: 38px;
}

.mc-cart-wrapper .quantity .qty-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 38px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    color: #555;
    transition: background 0.2s ease, color 0.2s ease;
    flex-shrink: 0;
    padding: 0;
    line-height: 1;
}

.mc-cart-wrapper .quantity .qty-btn:hover {
    background: #f3f4f6;
    color: #111;
}

.mc-cart-wrapper .quantity input.qty {
    width: 38px;
    height: 38px;
    border: none;
    border-left: 1.5px solid #e5e7eb;
    border-right: 1.5px solid #e5e7eb;
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #111;
    background: #fff;
    -moz-appearance: textfield;
    padding: 0;
    outline: none;
}

.mc-cart-wrapper .quantity input.qty::-webkit-outer-spin-button,
.mc-cart-wrapper .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ── Remove Column ── */
.mc-item-remove-col {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ── Remove Button ── */
.mc-remove-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #9ca3af !important;
    text-decoration: none !important;
    transition: color 0.2s ease, background 0.2s ease;
    flex-shrink: 0;
}

.mc-remove-item:hover {
    color: #ef4444 !important;
    background: #fee2e2;
}

.mc-remove-item svg {
    display: block;
}

/* ── Item Total ── */
.mc-item-total {
    text-align: right;
    font-size: 15px;
    font-weight: 800;
    color: #111;
}

.mc-item-total .woocommerce-Price-amount {
    font-size: 15px;
    font-weight: 800;
}

/* ── Cart Actions (update) ── */
.mc-cart-actions {
    padding: 20px 0 0;
    text-align: left;
}

.mc-update-cart {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #9ca3af !important;
    background: none !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 2px !important;
    padding: 8px 20px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.mc-update-cart:hover {
    color: #111 !important;
    border-color: #111 !important;
}

.mc-update-cart[disabled] {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
}

/* ── Cart Totals Box ── */
.mc-cart-totals-box {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 28px 24px;
    position: sticky;
    top: 120px;
}

.mc-totals-title {
    font-size: 14px;
    font-weight: 800;
    color: #111;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e5e7eb;
}

.mc-totals-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    font-size: 14px;
    color: #374151;
}

.mc-totals-row span:first-child {
    font-weight: 500;
}

.mc-totals-row span:last-child,
.mc-totals-row .woocommerce-Price-amount {
    font-weight: 600;
}

.mc-totals-divider {
    height: 1px;
    background: #e5e7eb;
    margin: 16px 0;
}

.mc-totals-grand {
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin-bottom: 6px !important;
}

.mc-totals-grand span,
.mc-totals-grand .woocommerce-Price-amount {
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #111 !important;
}

.mc-totals-note {
    font-size: 11px;
    color: #9ca3af;
    margin: 0 0 24px;
    line-height: 1.6;
}

/* ── Checkout Button ── */
.mc-checkout-btn {
    display: block;
    width: 100%;
    background: #111;
    color: #fff !important;
    text-align: center;
    text-decoration: none !important;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 16px 20px;
    border-radius: 2px;
    transition: background 0.25s ease, transform 0.15s ease;
    box-sizing: border-box;
}

.mc-checkout-btn:hover {
    background: #333;
    transform: translateY(-1px);
}

.mc-checkout-btn:active {
    transform: translateY(0);
}

/* Hide WooCommerce default checkout button that might duplicate */
.mc-cart-totals-box .wc-proceed-to-checkout {
    display: none !important;
}

/* ── Mobile Responsiveness ── */
@media (max-width: 900px) {
    .mc-cart-layout {
        flex-direction: column;
    }

    .mc-cart-totals-col {
        flex: 0 0 auto;
        width: 100%;
    }

    .mc-cart-totals-box {
        position: static;
    }
}

@media (max-width: 640px) {
    .mc-cart-col-headers {
        display: none;
    }

    .mc-cart-item {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto;
        gap: 14px;
        padding: 16px 0;
    }

    /* Product spans full width */
    .mc-cart-item .mc-item-product {
        grid-column: 1 / -1;
    }

    /* Quantity left, total right */
    .mc-cart-item .mc-item-quantity-col {
        justify-content: flex-start;
    }

    .mc-cart-item .mc-item-remove-col {
        justify-content: flex-start;
    }

    .mc-cart-item .mc-item-total {
        text-align: right;
    }
}

@media (max-width: 480px) {
    .mc-item-image {
        flex: 0 0 72px;
        width: 72px;
    }

    .mc-item-image img,
    .mc-item-image a img {
        width: 72px;
        height: 88px;
    }
}


/* ============================================================
/* ============================================================
   MODA CRUZ ï¿½ ADIDAS STYLE VIEW ORDER PAGE
   ============================================================ */
.mc-vo-adidas {
    font-family: 'Inter', sans-serif;
    color: #000;
}

.mc-vo-adidas-header {
    margin-bottom: 30px;
}

.mc-vo-adidas-header h1 {
    font-size: 24px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
}

.mc-vo-adidas-layout {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.mc-vo-adidas-left {
    flex: 1;
    background-color: #f5f5f5;
    padding: 30px;
}

.mc-vo-adidas-right {
    flex: 0 0 350px;
    background-color: #fff;
    padding-top: 10px;
}

/* Timeline */
.mc-vo-adidas-timeline {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 40px;
    border-bottom: 2px solid #000;
    padding-bottom: 10px;
}

.timeline-step {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    z-index: 2;
}

.timeline-icon {
    margin-bottom: 8px;
    color: #999;
}

.timeline-step.past .timeline-icon,
.timeline-step.active .timeline-icon {
    color: #000;
}

.timeline-label {
    font-size: 13px;
    font-weight: 500;
    color: #999;
}

.timeline-step.past .timeline-label,
.timeline-step.active .timeline-label {
    color: #000;
}

.timeline-line {
    position: absolute;
    top: 10px;
    left: 20px;
    right: -20px;
    height: 1px;
    background-color: #ddd;
    z-index: -1;
}

/* Status Box */
.mc-vo-adidas-status-box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}

.status-box-left h2 {
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 10px 0;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.status-box-left p {
    font-size: 14px;
    margin: 0;
    color: #555;
}

.status-box-right {
    text-align: right;
    font-size: 14px;
}

/* Tracking */
.mc-vo-adidas-tracking {
    margin-bottom: 40px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 30px;
}

.tracking-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 300px;
    max-width: 100%;
    padding: 15px 20px;
    background-color: #fff;
    color: #000;
    border: 1px solid #000;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    margin-bottom: 15px;
    transition: all 0.2s;
}

.tracking-btn:hover {
    background-color: #111 !important;
    color: #fff !important;
}

.tracking-btn:hover svg {
    stroke: #fff !important;
}

.tracking-details {
    font-size: 14px;
    line-height: 1.6;
    color: #333;
}

/* Items */
.mc-vo-adidas-items h3 {
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
    margin: 0 0 15px 0;
}

.items-count {
    font-size: 14px;
    margin-bottom: 20px;
}

.items-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 20px;
}

.item-card {
    width: 100px;
    height: 100px;
    background: #fff;
    border: 1px solid #eee;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.item-card img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.view-product-details-link,
.view-all-details-link {
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    color: #000;
    text-decoration: none;
    border-bottom: 2px solid #000;
    padding-bottom: 2px;
}

/* Right Column */
.mc-vo-adidas-right h3 {
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
    margin: 0 0 20px 0;
}

.order-details-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
    font-size: 14px;
}

.order-details-table td {
    padding: 8px 0;
    border: none;
    color: #333;
}

.order-details-table .align-right {
    text-align: right;
}

.payment-cell {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.invoice-box {
    margin-bottom: 30px;
}

.invoice-box h4 {
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 10px 0;
}

.invoice-box p {
    font-size: 13px;
    color: #555;
    line-height: 1.5;
    margin: 0;
}

/* Hide Default WooCommerce Order Details */
.mc-vo-adidas~.woocommerce-order-details,
.mc-vo-adidas~section.woocommerce-order-details,
.mc-vo-adidas~.woocommerce-customer-details,
.mc-vo-adidas~section.woocommerce-customer-details {
    display: none !important;
}

/* Mobile */
@media (max-width: 900px) {
    .mc-vo-adidas-layout {
        flex-direction: column;
    }

    .mc-vo-adidas-right {
        flex: auto;
        width: 100%;
        padding-top: 30px;
    }
}

/* Full width for view order page (hide sidebar) */
body.woocommerce-view-order .woocommerce-MyAccount-navigation {
    display: none !important;
}

body.woocommerce-view-order #primary.site-main .woocommerce-MyAccount-content {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

/* Invoice intro text */
.invoice-box .invoice-intro {
    font-size: 14px;
    color: #333;
    margin: 0 0 15px 0;
    line-height: 1.5;
}

/* Expanded Details Panel */
.mc-expanded-details {
    margin-top: 30px;
}

.mc-detail-section {
    border-top: 1px solid #e5e7eb;
    padding: 30px 0;
}

.mc-detail-section h3 {
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
    margin: 0 0 20px 0;
    letter-spacing: 0.5px;
}

.mc-detail-section h4 {
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 15px 0;
}

.mc-detail-address {
    font-size: 14px;
    line-height: 1.7;
    color: #333;
    margin-bottom: 15px;
}

.mc-detail-contact {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 14px;
    color: #333;
    margin-top: 10px;
}

.mc-detail-payment-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    padding: 10px 0;
}

.mc-pix-logo {
    width: 48px;
    height: auto;
}

.mc-detail-totals-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.mc-detail-totals-table td {
    padding: 8px 0;
    border: none;
    color: #333;
}

.mc-detail-totals-table .align-right {
    text-align: right;
}

.mc-detail-total-row td {
    padding-top: 16px;
    border-top: 1px solid #e5e7eb;
}

.mc-detail-tax-note {
    font-size: 13px;
    color: #999;
    margin: 15px 0 0 0;
}

/* Expanded Product Details */
.mc-product-expanded {
    margin-top: 20px;
}

.mc-product-detail-card {
    display: flex;
    gap: 20px;
    padding: 20px;
    background: #fff;
    border: 1px solid #e5e7eb;
    margin-bottom: 15px;
}

.mc-product-detail-img {
    flex-shrink: 0;
    width: 180px;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.mc-product-detail-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.mc-product-detail-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 5px;
}

.mc-product-detail-price {
    font-size: 16px;
    font-weight: 800;
    color: #000;
}

.mc-product-detail-name {
    font-size: 14px;
    font-weight: 600;
    color: #000;
    text-decoration: none;
}

a.mc-product-detail-name:hover {
    text-decoration: underline;
}

.mc-product-detail-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
    color: #555;
}

.mc-product-detail-sku {
    font-size: 13px;
    color: #555;
    margin-top: 4px;
}

.mc-product-detail-qty {
    font-size: 13px;
    color: #555;
}

@media (max-width: 600px) {
    .mc-product-detail-card {
        flex-direction: column;
    }

    .mc-product-detail-img {
        width: 100%;
        height: auto;
    }
}

/* Hide user info header on view-order page */
body.woocommerce-view-order .mc-account-user-header {
    display: none !important;
}

/* Hide default page title on 'A Marca' page */
body.page-a-marca .entry-header,
body.page-id-97 .entry-header,
body.page-id-97 h1.entry-title {
    display: none !important;
}




/* ==================================================
   PAYMENT SECTION — PIXEL-PERFECT REFERENCE MATCH
   ================================================== */

/* Section title & subtitle */
.mc-payment-header {
    margin-bottom: 20px;
}

.mc-payment-title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    border: none !important;
}

.mc-payment-subtitle {
    font-size: 13px !important;
    color: #666 !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Hide WooCommerce privacy policy text near the button */
.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper {
    display: none !important;
}

/* Outer payment wrapper */
.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* Payment methods list — the card container */
.woocommerce-checkout #payment ul.payment_methods {
    border: 1.5px solid #111 !important;
    border-radius: 10px !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: hidden !important;
    list-style: none !important;
    margin: 0 !important;
}

/* Each payment method row */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
    border-bottom: 1px solid #e5e7eb !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:last-child {
    border-bottom: none !important;
}

/* Payment method label row */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method>label {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    /* Changed from space-between to align left */
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 16px 18px !important;
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #111 !important;
    cursor: pointer !important;
    background: transparent !important;
    transition: background-color 0.15s ease;
    border-bottom: none !important;
    gap: 12px;
    /* Space between radio and text */
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method>label:hover {
    background: #f8f8f8 !important;
}

/* Selected method — light grey background */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method>input[type="radio"]:checked+label {
    background: #f5f5f5 !important;
}

/* Hide native radio */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method>input[type="radio"] {
    display: none !important;
}

/* Custom radio — left circle (unselected: grey outline) */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method>label::before {
    content: "";
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #ccc;
    background-color: #fff;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

/* Selected radio — brand blue filled with white inner dot */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method>input[type="radio"]:checked+label::before {
    border-color: #5469a4;
    background-color: #5469a4;
    box-shadow: inset 0 0 0 5px #fff, inset 0 0 0 10px #5469a4;
}

/* ---- Card brand logos (VISA / MC / AMEX / +6) ---- */
.woocommerce-checkout #payment ul.payment_methods li.payment_method_pagarme-credit-card>label::after,
.woocommerce-checkout #payment ul.payment_methods li.payment_method_pagarme_credit_card>label::after,
.woocommerce-checkout #payment ul.payment_methods li[class*="credit_card"]>label::after,
.woocommerce-checkout #payment ul.payment_methods li[class*="credit-card"]>label::after {
    content: "";
    display: inline-flex;
    flex-shrink: 0;
    width: 136px;
    height: 26px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='136' height='26'%3E%3Crect x='0' y='1' width='36' height='24' rx='4' fill='white' stroke='%23e2e8f0' stroke-width='1'/%3E%3Ctext x='18' y='17' fill='%231a1f71' font-family='Arial' font-size='10' font-weight='bold' text-anchor='middle'%3EVISA%3C/text%3E%3Crect x='40' y='1' width='36' height='24' rx='4' fill='white' stroke='%23e2e8f0' stroke-width='1'/%3E%3Ccircle cx='53' cy='13' r='8' fill='%23eb001b'/%3E%3Ccircle cx='63' cy='13' r='8' fill='%23f79e1b'/%3E%3Cellipse cx='58' cy='13' rx='3' ry='6' fill='%23ff5f00'/%3E%3Crect x='80' y='1' width='36' height='24' rx='4' fill='%232671b9'/%3E%3Ctext x='98' y='17' fill='white' font-family='Arial' font-size='9' font-weight='bold' text-anchor='middle'%3EAMEX%3C/text%3E%3Crect x='120' y='1' width='16' height='24' rx='4' fill='white' stroke='%23e2e8f0' stroke-width='1'/%3E%3Ctext x='128' y='17' fill='%23555' font-family='Arial' font-size='9' text-anchor='middle'%3E%2B6%3C/text%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right center;
    margin-left: auto !important;
    /* Push logo to the right */
}

/* ---- PIX logo — broad selector to catch all Pagar.me PIX class names ---- */
.woocommerce-checkout #payment ul.payment_methods li.payment_method_pagarme-pix>label::after,
.woocommerce-checkout #payment ul.payment_methods li.payment_method_pagarme_pix>label::after,
.woocommerce-checkout #payment ul.payment_methods li[class*="pagarme_pix"]>label::after,
.woocommerce-checkout #payment ul.payment_methods li[class*="pagarme-pix"]>label::after,
.woocommerce-checkout #payment ul.payment_methods li[class*="pix"]>label::after {
    content: "";
    display: inline-flex;
    flex-shrink: 0;
    width: 60px;
    height: 20px;
    background-image: url("https://upload.wikimedia.org/wikipedia/commons/5/50/Pix_%28Brazil%29_logo.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right center;
    margin-left: auto !important;
    /* Push logo to the right */
}

/* Payment box — expanded form area */
.woocommerce-checkout #payment div.payment_box {
    background: #fff !important;
    padding: 20px !important;
    /* Clean outer padding */
    margin: 0 !important;
    border-top: 1px solid #e5e7eb !important;
    color: #333 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.woocommerce-checkout #payment div.payment_box::before {
    display: none !important;
}

/* Remove Pagar.me inner border and padding */
.woocommerce-checkout #payment div.payment_box fieldset,
.woocommerce-checkout #payment div.payment_box .wc-credit-card-form,
.woocommerce-checkout #payment div.payment_box>div,
.woocommerce-checkout #payment div.payment_box>ul {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* Form rows inside payment box — add spacing between fields */
.woocommerce-checkout #payment div.payment_box p.form-row,
.woocommerce-checkout #payment div.payment_box p {
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    position: relative;
}

/* Standard Label Styling */
.woocommerce-checkout #payment div.payment_box label:not(.checkbox) {
    display: block !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #444 !important;
    margin-bottom: 6px !important;
    line-height: 1.2 !important;
}

/* Input fields */
.woocommerce-checkout #payment div.payment_box input[type="text"],
.woocommerce-checkout #payment div.payment_box input[type="tel"],
.woocommerce-checkout #payment div.payment_box input[type="number"],
.woocommerce-checkout #payment div.payment_box input[type="password"] {
    width: 100% !important;
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    padding: 14px 44px 14px 16px !important;
    font-size: 15px !important;
    color: #111 !important;
    box-sizing: border-box !important;
    height: 50px !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.15s ease !important;
}

.woocommerce-checkout #payment div.payment_box input[type="text"]:focus,
.woocommerce-checkout #payment div.payment_box input[type="tel"]:focus,
.woocommerce-checkout #payment div.payment_box input[type="number"]:focus,
.woocommerce-checkout #payment div.payment_box input[type="password"]:focus {
    border-color: #111 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08) !important;
}

/* Select (Parcelas) */
.woocommerce-checkout #payment div.payment_box select {
    width: 100% !important;
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    padding: 14px 40px 14px 16px !important;
    font-size: 15px !important;
    color: #111 !important;
    box-sizing: border-box !important;
    height: 50px !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    cursor: pointer !important;
}

/* Lock / Help icon positioning */
.mc-field-icon {
    position: absolute;
    right: 14px;
    bottom: 17px;
    display: flex;
    align-items: center;
    pointer-events: none;
    z-index: 2;
}

/* Two columns for expiry + CVV */
.woocommerce-checkout #payment div.payment_box .form-row-first,
.woocommerce-checkout #payment div.payment_box .form-row-last {
    width: calc(50% - 6px) !important;
    display: inline-block !important;
    vertical-align: top !important;
    margin-bottom: 12px !important;
}

.woocommerce-checkout #payment div.payment_box .form-row-first {
    margin-right: 12px !important;
}

/* Checkbox row */
.woocommerce-checkout #payment div.payment_box input[type="checkbox"] {
    accent-color: #111 !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 4px !important;
    margin-right: 10px !important;
    flex-shrink: 0;
    cursor: pointer !important;
}

.woocommerce-checkout #payment div.payment_box label.checkbox,
.woocommerce-checkout #payment div.payment_box .woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #333 !important;
    cursor: pointer !important;
    position: static !important;
    transform: none !important;
    top: auto !important;
    left: auto !important;
    margin-top: 4px !important;
    margin-bottom: 4px !important;
}

/* ==== PIX SELECTED STATE — Billing Address Section ==== */
/* Highlight the PIX row when selected */
.woocommerce-checkout #payment ul.payment_methods li[class*="pix"]:has(input[type="radio"]:checked) {
    background: #f8f9fc !important;
    /* Light blue tint */
    border: 1px solid #5469a4 !important;
    margin: -1px;
    /* Cover outer borders */
    border-radius: 0 0 10px 10px;
    /* Assuming it's the last item */
}

.woocommerce-checkout #payment ul.payment_methods li[class*="pix"]>input[type="radio"]:checked+label {
    background: transparent !important;
}

/* Hide the default instructional text for PIX */
.woocommerce-checkout #payment ul.payment_methods li[class*="pix"] .payment_box p:not(.form-row) {
    display: none !important;
}

/* When PIX is active, the payment_box shows billing address info */
.woocommerce-checkout #payment ul.payment_methods li.payment_method_pagarme-pix .payment_box,
.woocommerce-checkout #payment ul.payment_methods li.payment_method_pagarme_pix .payment_box,
.woocommerce-checkout #payment ul.payment_methods li[class*="pix"] .payment_box {
    padding: 0 !important;
    background: transparent !important;
}

/* Billing address sub-section title */
.woocommerce-checkout #payment .mc-billing-title,
.woocommerce-checkout #payment .woocommerce-billing-fields h3 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin: 16px 0 10px !important;
    padding: 0 18px !important;
}

/* Billing address radio buttons (use delivery / use different) */
.mc-billing-option {
    display: flex !important;
    align-items: center !important;
    padding: 14px 18px !important;
    border-bottom: 1px solid #e5e7eb;
    cursor: pointer;
    font-size: 14px;
    color: #111;
    gap: 12px;
}

.mc-billing-option:last-child {
    border-bottom: none;
}

.mc-billing-option input[type="radio"] {
    accent-color: #111 !important;
    width: 20px !important;
    height: 20px !important;
    cursor: pointer !important;
}

/* Pagar Agora button — BLACK */
#payment #place_order,
.woocommerce-checkout #place_order {
    background: #111 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 18px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    width: 100% !important;
    margin-top: 22px !important;
    transition: background-color 0.2s ease, transform 0.1s ease !important;
    text-transform: none !important;
    letter-spacing: 0.2px !important;
    cursor: pointer !important;
    display: block !important;
    text-align: center !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2) !important;
}

#payment #place_order:hover,
.woocommerce-checkout #place_order:hover {
    background: #333 !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28) !important;
}

#payment #place_order:active,
.woocommerce-checkout #place_order:active {
    transform: translateY(0) !important;
    background: #000 !important;
}

/* The checkout action becomes available only when the required checkout data
   has been completed. Keep the inactive state clear, accessible and quiet. */
#payment #place_order:disabled,
.woocommerce-checkout #place_order:disabled,
#payment #place_order.mc-place-order--disabled,
.woocommerce-checkout #place_order.mc-place-order--disabled {
    background: #e3e3e3 !important;
    color: #8a8a8a !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    transform: none !important;
}

#payment #place_order:disabled:hover,
.woocommerce-checkout #place_order:disabled:hover,
#payment #place_order.mc-place-order--disabled:hover,
.woocommerce-checkout #place_order.mc-place-order--disabled:hover {
    background: #e3e3e3 !important;
    color: #8a8a8a !important;
    box-shadow: none !important;
    transform: none !important;
}

/* ================================================
   CHECKOUT VALIDATION ERRORS — Inline Style (como Shopify/Pagar.me)
   ================================================ */

/* 1. ESCONDE completamente o bloco agrupado de erros dentro do #payment
      (o Pagar.me já mostra os erros inline em cada campo) */
.woocommerce-checkout #payment .woocommerce-error,
.woocommerce-checkout .payment_box .woocommerce-error,
.woocommerce-checkout #payment ul.woocommerce-error {
    display: none !important;
}

/* 2. Erros fora do #payment (ex: campos de endereço) — bloco limpo e discreto */
.woocommerce-checkout .woocommerce-error:not(#payment .woocommerce-error) {
    background: #fff !important;
    border: 1.5px solid #e5e7eb !important;
    border-left: 3px solid #d0021b !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 12px 16px !important;
    margin: 0 0 20px 0 !important;
    list-style: none !important;
    color: #333 !important;
}

.woocommerce-checkout .woocommerce-error:not(#payment .woocommerce-error) li {
    font-size: 13px !important;
    color: #b00020 !important;
    padding: 4px 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: none !important;
}

.woocommerce-checkout .woocommerce-error:not(#payment .woocommerce-error) li:empty {
    display: none !important;
}

/* 3. Campos inválidos — borda vermelha (tanto nos campos do endereço quanto do cartão) */
.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid textarea,
.woocommerce-checkout input.woocommerce-invalid,
.woocommerce-checkout select.woocommerce-invalid {
    border-color: #d0021b !important;
    background-color: #fff !important;
    box-shadow: none !important;
}

/* 4. Mensagens inline de erro do Pagar.me (aparecem abaixo dos campos)
      Classes comuns: .error, .field-error, .woocommerce-invalid-required-field */
.woocommerce-checkout #payment .error,
.woocommerce-checkout #payment [class*="field-error"],
.woocommerce-checkout #payment [class*="invalid-message"],
.woocommerce-checkout #payment .woocommerce-invalid-required-field~.description,
.woocommerce-checkout #payment span.error {
    display: block !important;
    font-size: 12px !important;
    color: #d0021b !important;
    font-weight: 400 !important;
    margin-top: 4px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* 5. Campos Pagar.me com erro — borda vermelha via classe nativa */
.woocommerce-checkout #payment input[class*="error"],
.woocommerce-checkout #payment input[class*="invalid"],
.woocommerce-checkout #payment select[class*="error"],
.woocommerce-checkout #payment select[class*="invalid"] {
    border-color: #d0021b !important;
    box-shadow: none !important;
}

/* 6. Label do campo inválido (WooCommerce endereço) */
.woocommerce-checkout .woocommerce-invalid>label {
    color: #d0021b !important;
}

/* ================================================
   PAGAR.ME INLINE FIELD ERRORS (Shopify style)
   ================================================ */

/* Red border on invalid Pagar.me fields */
.woocommerce-checkout #payment .mc-field-invalid {
    border-color: #d0021b !important;
    box-shadow: none !important;
}

/* Inline error text under each field */
.woocommerce-checkout #payment .mc-inline-error {
    display: block;
    color: #d0021b;
    font-size: 12px;
    font-weight: 400;
    margin-top: 5px;
    line-height: 1.4;
    background: transparent;
    border: none;
    padding: 0;
}

/* Payment gateway errors — clear and discreet in the Moda Cruz visual ID. */
.woocommerce-checkout #payment .mc-general-payment-errors {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #fff7f7;
    border: 1px solid #f2c5c5;
    border-radius: 5px;
    padding: 12px 14px;
    margin: 0 0 16px;
    color: #9f2020;
    font-family: 'Inter', sans-serif;
}

.woocommerce-checkout #payment .mc-general-payment-errors__icon {
    display: inline-flex;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
    color: #c62f2f;
}

.woocommerce-checkout #payment .mc-general-payment-errors__icon svg {
    width: 18px;
    height: 18px;
}

.woocommerce-checkout #payment .mc-general-payment-errors__content {
    min-width: 0;
}

.woocommerce-checkout #payment .mc-general-payment-errors strong {
    display: block;
    margin: 0 0 3px;
    color: #8f1d1d;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.woocommerce-checkout #payment .mc-general-payment-errors p {
    margin: 0;
    color: #a23737;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
}

.woocommerce-checkout #payment .mc-general-payment-errors p + p {
    margin-top: 3px;
}

@media (max-width: 576px) {
    .woocommerce-checkout #payment .mc-general-payment-errors {
        padding: 11px 12px;
        margin-bottom: 14px;
    }

    .woocommerce-checkout #payment .mc-general-payment-errors strong {
        font-size: 12px;
    }

    .woocommerce-checkout #payment .mc-general-payment-errors p {
        font-size: 11px;
    }
}

.woocommerce-checkout #payment .mc-general-payment-errors p:last-child {
    margin: 0;
}

/* ================================================
   ORDER RECEIVED (SHOPIFY STYLE)
   ================================================ */
.woocommerce-order {
    margin: 0;
    padding: 0;
}

.mc-shopify-thankyou {
    display: flex;
    flex-wrap: wrap;
    min-height: 100vh;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
    color: #333;
}

.mc-thankyou-main {
    flex: 1;
    min-width: 0;
    padding: 60px 5% 60px 10%;
    box-sizing: border-box;
    background: #fff;
}

.mc-thankyou-sidebar {
    width: 45%;
    min-width: 0;
    background: #fafafa;
    border-left: 1px solid #e1e1e1;
    padding: 60px 10% 60px 5%;
    box-sizing: border-box;
}

.mc-thankyou-main > * {
    width: 100%;
    max-width: 640px;
}

.mc-thankyou-header {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}

.mc-check-icon {
    width: 48px;
    height: 48px;
    margin-right: 15px;
    flex-shrink: 0;
}

.mc-thankyou-title .mc-order-number {
    font-size: 13px;
    color: #737373;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
    margin-bottom: 4px;
}

.mc-thankyou-title h2 {
    font-size: 24px;
    margin: 0;
    font-weight: 400;
    color: #333;
}

.mc-thankyou-box {
    border: 1px solid #e1e1e1;
    border-radius: 5px;
    padding: 20px;
    margin-bottom: 25px;
}

.mc-thankyou-box h3 {
    font-size: 16px;
    margin: 0 0 10px;
    font-weight: 500;
}

.mc-thankyou-box p {
    margin: 0;
    color: #737373;
    font-size: 14px;
    line-height: 1.5;
}

.mc-thankyou-customer-box {
    border: 1px solid #e1e1e1;
    border-radius: 5px;
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
    column-gap: 44px;
    row-gap: 24px;
    margin-bottom: 30px;
}

.mc-customer-col {
    flex: 1 1 220px;
    min-width: 0;
}

.mc-customer-col h4 {
    font-size: 16px;
    margin: 0 0 15px;
    font-weight: 500;
}

.mc-info-group {
    margin-bottom: 15px;
}

.mc-info-group h5 {
    font-size: 13px;
    color: #737373;
    margin: 0 0 4px;
    font-weight: 400;
}

.mc-info-group p {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.mc-thankyou-pickup {
    padding: 14px;
    background: #fafafa;
    border: 1px solid #e1e1e1;
    border-radius: 5px;
}

.mc-thankyou-pickup h5 {
    margin-bottom: 6px;
}

.mc-thankyou-actions {
    display: flex;
    align-items: center;
    margin-top: 30px;
}

.mc-btn-continue {
    background: #111;
    color: #fff;
    padding: 16px 24px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
    transition: background 0.3s;
}

.mc-btn-continue:hover {
    background: #333;
    color: #fff;
}

.mc-need-help {
    margin-left: 20px;
    font-size: 14px;
    color: #737373;
}

.mc-need-help a {
    color: #111;
    text-decoration: underline;
}

/* Non-successful orders must never look like a confirmed purchase. */
.mc-order-state-page {
    flex: 1 0 100%;
    width: 100%;
    min-height: min(72vh, 620px);
    padding: 72px 24px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #171717;
    text-align: center;
}

.mc-order-state-page__icon {
    display: grid;
    width: 52px;
    height: 52px;
    margin-bottom: 18px;
    place-items: center;
    color: #a13232;
    background: #fff7f7;
    border: 1px solid #efcaca;
    border-radius: 50%;
}

.mc-order-state-page__icon svg {
    width: 25px;
    height: 25px;
}

.mc-order-state-page__number {
    margin-bottom: 8px;
    color: #707070;
    font-size: 12px;
    font-weight: 600;
}

.mc-order-state-page h1 {
    max-width: 540px;
    margin: 0;
    color: #171717;
    font-size: clamp(25px, 3vw, 34px);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
}

.mc-order-state-page > p {
    max-width: 480px;
    margin: 14px 0 0;
    color: #676767;
    font-size: 15px;
    line-height: 1.55;
}

.mc-order-state-page__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 28px;
}

.mc-order-state-page__primary,
.mc-order-state-page__secondary {
    display: inline-flex;
    min-height: 46px;
    padding: 12px 18px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.mc-order-state-page__primary {
    color: #fff !important;
    background: #111;
    border: 1px solid #111;
}

.mc-order-state-page__secondary {
    color: #222 !important;
    background: #fff;
    border: 1px solid #d5d5d5;
}

/* Sidebar styling */
.mc-order-summary-items {
    margin-bottom: 20px;
}

.mc-summary-item {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.mc-item-img-wrap {
    position: relative;
    width: 64px;
    height: 64px;
    border-radius: 8px;
    border: 1px solid #e1e1e1;
    background: #fff;
    margin-right: 15px;
}

.mc-item-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.mc-item-qty {
    position: absolute;
    top: -8px;
    right: -8px;
    background: rgba(114, 114, 114, 0.9);
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mc-item-info {
    flex: 1;
}

.mc-item-name {
    display: block;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 4px;
}

.mc-item-info .wc-item-meta {
    font-size: 12px;
    color: #737373;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mc-item-info .wc-item-meta li {
    margin: 0;
}

.mc-item-info .wc-item-meta li p {
    margin: 0;
    display: inline;
}

.mc-item-price {
    font-size: 14px;
    font-weight: 500;
}

.mc-summary-totals {
    border-top: 1px solid #e1e1e1;
    padding-top: 15px;
}

.mc-summary-line {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: #555;
    margin-bottom: 10px;
}

.mc-summary-line.order_total {
    border-top: 1px solid #e1e1e1;
    padding-top: 15px;
    margin-top: 15px;
    font-size: 16px;
    font-weight: 600;
    color: #111;
}

.mc-summary-line.order_total span:last-child {
    font-size: 24px;
}

/* Third party plugin outputs */
.mc-thankyou-plugins {
    margin: 30px 0;
}

.mc-thankyou-plugins h2,
.mc-thankyou-plugins h3 {
    font-size: 18px;
    margin-bottom: 15px;
}

@media (max-width: 800px) {
    .mc-shopify-thankyou {
        flex-direction: column-reverse;
        min-height: 0;
    }

    .mc-thankyou-sidebar,
    .mc-thankyou-main {
        width: 100%;
        min-width: 0;
        padding: 28px 20px;
        border-left: none;
    }

    .mc-thankyou-sidebar {
        border-bottom: 1px solid #e1e1e1;
    }

    .mc-customer-col {
        width: 100%;
        margin-bottom: 20px;
    }

    .mc-customer-col:last-child {
        margin-bottom: 0;
    }

    .mc-order-state-page {
        min-height: min(68vh, 540px);
        padding: 48px 20px;
    }

    .mc-order-state-page__actions,
    .mc-order-state-page__primary,
    .mc-order-state-page__secondary {
        width: 100%;
    }

    .mc-thankyou-sidebar .mc-sidebar-inner {
        position: static;
        max-width: none;
    }
}

/* ================================================
   ORDER RECEIVED (SHOPIFY STYLE) - REFINEMENTS
   ================================================ */

/* 1. Fix Shipping text line break in summary */
.mc-summary-line {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    font-size: 14px;
    color: #555;
    margin-bottom: 15px;
    gap: 15px;
}

.mc-summary-line span:first-child {
    flex-shrink: 0;
    color: #737373;
}

.mc-summary-line span:last-child {
    text-align: right;
    word-break: break-word;
    line-height: 1.4;
}

/* 2. Improve Pagar.me green message box */
.mc-thankyou-plugins p {
    margin-bottom: 10px;
}

.mc-thankyou-plugins>p,
.mc-thankyou-plugins .woocommerce-message {
    background-color: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    color: #166534 !important;
    padding: 16px 20px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin-bottom: 20px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02) !important;
}

.mc-thankyou-plugins>p strong {
    color: #15803d !important;
    font-weight: 600 !important;
}

.mc-thankyou-plugins>p {
    display: block;
}

/* 3. Fix the giant margin at the bottom of the sidebar */
.mc-shopify-thankyou {
    align-items: stretch;
}

.mc-thankyou-sidebar {
    /* Instead of inheriting 100vh height and pushing content, let it fill naturally */
    height: auto;
}

/* This correction belongs only to the confirmation page. */
.woocommerce-order-received #content,
.woocommerce-order-received .site-main {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.mc-thankyou-sidebar .mc-sidebar-inner {
    position: sticky;
    top: 30px;
    max-width: 440px;
}

@media (max-width: 800px) {
    .mc-thankyou-sidebar .mc-sidebar-inner {
        position: static;
        max-width: none;
    }
}

/* Fix for Pagar.me <br> tags running together */
.mc-thankyou-plugins br {
    display: block !important;
    content: "" !important;
    margin-bottom: 8px !important;
}

/* ================================================
   WOOCOMMERCE NOTICES (ERROR, INFO, MESSAGE)
   ================================================ */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    padding: 16px 20px !important;
    margin: 0 0 24px !important;
    position: relative;
    border-radius: 6px !important;
    list-style: none outside !important;
    width: auto;
    word-wrap: break-word;
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-family: 'Inter', sans-serif !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
    display: none !important;
    /* Hide default WC icons */
}

.woocommerce-error li,
.woocommerce-info li,
.woocommerce-message li {
    margin: 0 !important;
    padding: 0 !important;
}

/* Error Notice */
.woocommerce-error {
    background-color: #fef2f2 !important;
    border: 1px solid #fecaca !important;
    color: #991b1b !important;
}

.woocommerce-error a {
    color: #b91c1c !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

.woocommerce-error a:hover {
    color: #7f1d1d !important;
}

/* Success Message */
.woocommerce-message {
    background-color: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    color: #166534 !important;
}

.woocommerce-message a {
    color: #15803d !important;
    font-weight: 600 !important;
}

/* Info Notice */
.woocommerce-info {
    background-color: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #1e3a8a !important;
}

.woocommerce-info a {
    color: #1d4ed8 !important;
    font-weight: 600 !important;
}

/* General button inside notices */
.woocommerce-error .button,
.woocommerce-info .button,
.woocommerce-message .button {
    float: right;
    background: transparent !important;
    border: 1px solid currentColor !important;
    color: currentColor !important;
    padding: 6px 12px !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none !important;
    margin-top: -4px;
}

.woocommerce-error .button:hover,
.woocommerce-info .button:hover,
.woocommerce-message .button:hover {
    opacity: 0.8;
}

/* Global Inline Error Text */
.mc-inline-error {
    display: block;
    color: #d72c0d;
    font-size: 13px;
    margin-top: 6px;
}

.mc-field-invalid {
    border-color: #d72c0d !important;
}



/* Centralizar título e subtítulo de login */
.mc-account-title,
.mc-account-subtitle {
    text-align: center !important;
}

/* ================================================
   CART PAGE – COUPON & SHIPPING SECTIONS
   ================================================ */

/* ── Continue Shopping ── */
.mc-continue-shopping {
    margin-top: 24px;
    padding-top: 20px;
}

.mc-continue-shopping a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #555 !important;
    text-decoration: none !important;
    transition: color 0.2s;
}

.mc-continue-shopping a:hover {
    color: #111 !important;
}

.mc-continue-shopping a svg {
    flex-shrink: 0;
}

/* ── Coupon Section ── */
.mc-cart-coupon-section {
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 0;
    margin-bottom: 0;
}

.mc-coupon-toggle,
.mc-shipping-calc-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.2s;
    user-select: none;
}

.mc-coupon-toggle:hover,
.mc-shipping-calc-toggle:hover {
    color: #111;
}

.mc-coupon-chevron,
.mc-shipping-chevron {
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.mc-coupon-toggle.open .mc-coupon-chevron,
.mc-shipping-calc-toggle.open .mc-shipping-chevron {
    transform: rotate(180deg);
}

.mc-coupon-form,
.mc-shipping-calc-form {
    padding-bottom: 16px;
}

.mc-coupon-input-wrap,
.mc-shipping-input-wrap {
    display: flex;
    gap: 0;
}

.mc-coupon-input,
.mc-shipping-cep-input {
    flex: 1;
    border: 1.5px solid #d1d5db;
    border-right: none;
    border-radius: 4px 0 0 4px;
    padding: 10px 14px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #111;
    outline: none;
    transition: border-color 0.2s;
    background: #fff;
}

.mc-coupon-input:focus,
.mc-shipping-cep-input:focus {
    border-color: #111;
}

.mc-coupon-apply-btn,
.mc-shipping-calc-btn {
    border: 1.5px solid #111;
    background: #111;
    color: #fff;
    padding: 10px 18px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    transition: background 0.2s, opacity 0.2s;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
}

.mc-coupon-apply-btn:hover,
.mc-shipping-calc-btn:hover {
    background: #333;
}

.mc-coupon-apply-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.mc-coupon-feedback {
    margin-top: 8px;
}

.mc-coupon-err {
    display: block;
    color: #d72c0d;
    font-size: 12px;
    line-height: 1.5;
}

.mc-coupon-ok {
    display: block;
    color: #15803d;
    font-size: 12px;
    line-height: 1.5;
}

/* ── Shipping Calculator Section ── */
.mc-cart-shipping-section {
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 0;
    margin-bottom: 0;
}

.mc-shipping-results {
    margin-top: 10px;
}

.mc-shipping-loading {
    font-size: 13px;
    color: #6b7280;
    display: flex;
    align-items: center;
    gap: 8px;
}

.mc-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid #e5e7eb;
    border-top: 2px solid #111;
    border-radius: 50%;
    animation: mc-spin 0.6s linear infinite;
}

@keyframes mc-spin {
    to {
        transform: rotate(360deg);
    }
}

.mc-shipping-pending {
    font-size: 12px;
    color: #9ca3af;
    font-style: italic;
}

/* ── Discount row ── */
.mc-totals-discount span:last-child {
    color: #15803d !important;
    font-weight: 600;
}

/* ── Fix: hide any WC default cart-collaterals and cross-sells ── */
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cross-sells {
    display: none !important;
}

/* Fix Variation Layout */
.mc-item-details .wc-item-meta {
    margin: 8px 0 0 0 !important;
}

.mc-item-details .wc-item-meta dt {
    float: left;
    clear: left;
    margin-right: 4px;
    font-size: 13px;
    font-weight: 600;
    color: #111;
}

.mc-item-details .wc-item-meta dd {
    margin: 0 0 4px 0;
    font-size: 13px;
    color: #555;
}

.mc-item-details .wc-item-meta p {
    display: inline;
    margin: 0;
}

/* Fix Column Headers Alignment */
.mc-cart-col-headers {
    display: grid !important;
    grid-template-columns: 1fr 120px 44px 100px !important;
    gap: 16px;
    padding: 0 0 12px;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 8px;
}

.mc-cart-item {
    display: grid !important;
    grid-template-columns: 1fr 120px 44px 100px !important;
    gap: 16px;
}

.mc-cart-col-headers .mc-col-quantidade {
    text-align: center;
}

.mc-item-quantity-col {
    display: flex;
    justify-content: center;
}

/* Remove padding lateral da página "Minha Conta" */
.woocommerce-account .site-main {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ================================================
   CART PAGE FIXES
   ================================================ */

/* Inline Tamanho e Cor */
.mc-item-details .wc-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    margin: 8px 0 0 0 !important;
}

.mc-item-details .wc-item-meta dt {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: #111;
}

.mc-item-details .wc-item-meta dd {
    margin: 0 12px 0 0;
    padding: 0;
}

.mc-item-details .wc-item-meta dd p {
    display: inline;
    margin: 0;
    font-size: 13px;
    color: #555;
}

/* Remover paddings e bordas do resumo */
.mc-cart-shipping-section {
    border-bottom: none !important;
}

.mc-coupon-form,
.mc-shipping-calc-form {
    padding-bottom: 0 !important;
}

/* Ajustar inputs */
.mc-coupon-input,
.mc-shipping-cep-input {
    padding: 10px !important;
}

/* Estilizar tabela nativa de frete do WooCommerce para parecer com as linhas de total */
table.mc-shipping-table {
    width: 100%;
    margin: 0;
    padding: 0;
    border-collapse: collapse;
}

table.mc-shipping-table th,
table.mc-shipping-table td {
    padding: 12px 0;
    border: none;
    font-size: 14px;
}

table.mc-shipping-table th {
    font-weight: 600;
    color: #374151;
    text-align: left;
    width: 40%;
}

table.mc-shipping-table td {
    text-align: right;
    color: #111;
}

table.mc-shipping-table ul#shipping_method {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: right;
}

table.mc-shipping-table ul#shipping_method li {
    margin-bottom: 6px;
}

table.mc-shipping-table ul#shipping_method li:last-child {
    margin-bottom: 0;
}

table.mc-shipping-table ul#shipping_method input[type="radio"] {
    margin-right: 6px;
    accent-color: #111;
}

/* Forçar alinhamento correto dos headers (já arrumei a tag span vazia no HTML) */
.mc-cart-col-headers {
    display: grid !important;
    grid-template-columns: 1fr 120px 44px 100px !important;
    gap: 16px;
    padding: 0 0 12px;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 8px;
}

.mc-cart-col-headers .mc-col-quantidade {
    text-align: center;
}

.mc-cart-col-headers .mc-col-total {
    text-align: right;
}


/* Corrige o alinhamento da variação (Tamanho/Cor) para a classe nativa do WooCommerce */
dl.variation {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 8px 0 0 0 !important;
}

dl.variation dt {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #111 !important;
    margin: 0 !important;
    padding: 0 !important;
}

dl.variation dd {
    margin: 0 12px 0 0 !important;
    padding: 0 !important;
}

dl.variation dd p {
    display: inline !important;
    margin: 0 !important;
    font-size: 13px !important;
    color: #555 !important;
}


/* Estilo detalhado das opções de frete (Melhor Envio) */
.mc-shipping-option-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-left: 8px;
}

.mc-shipping-option-info {
    display: flex;
    flex-direction: column;
    text-align: left;
}

.mc-shipping-option-name {
    font-size: 14px;
    font-weight: 700;
    color: #111;
}

.mc-shipping-option-days {
    font-size: 12px;
    color: #555;
    margin-top: 2px;
}

.mc-shipping-option-price {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

table.mc-shipping-table ul#shipping_method li {
    display: flex;
    align-items: flex-start;
    padding: 8px 0;
    margin-bottom: 0;
    border-bottom: 1px solid #f3f4f6;
}

table.mc-shipping-table ul#shipping_method li:last-child {
    border-bottom: none;
}

table.mc-shipping-table ul#shipping_method input[type="radio"] {
    margin-top: 4px;
    /* alinha o radio button com a primeira linha do texto */
}

/* Esconde o cabeçalho "Frete" da tabela nativa para ficar mais limpo como no layout */
table.mc-shipping-table th {
    display: none;
}

table.mc-shipping-table td {
    width: 100% !important;
    padding: 0 !important;
}


/* Corrige a nova ordem das colunas e remove hover */
.mc-cart-col-headers,
.mc-cart-item {
    grid-template-columns: 1fr 120px 100px 44px !important;
}

.mc-cart-col-headers .mc-col-total {
    text-align: right;
}

.mc-item-total {
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.mc-cart-item:hover {
    background-color: transparent !important;
}

.mc-item-remove-col {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}


/* Ajustes no espaçamento do cupom */
.mc-cart-coupon-section {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Ocultar o texto padrão de destino e botão de mudar endereço injetados pelo WooCommerce nativamente */
.woocommerce-shipping-destination,
.shipping-calculator-button {
    display: none !important;
}

table.mc-shipping-table {
    margin-bottom: 16px;
}


/* ── Seção de rótulos (Cupom / Calcular Frete) sem toggle ── */
.mc-section-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: #374151;
    padding: 14px 0 10px;
}

/* Remover todo espaço extra da secao de cupom */
.mc-cart-coupon-section {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* ── Opções de frete customizadas ── */
.mc-shipping-options-wrap {
    margin: 10px 0 4px;
}

.mc-shipping-option {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #f3f4f6;
    cursor: pointer;
    transition: background 0.15s;
}

.mc-shipping-option:last-child {
    border-bottom: none;
}

.mc-shipping-option input[type="radio"] {
    margin-top: 3px;
    flex-shrink: 0;
    accent-color: #111;
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.mc-shipping-option-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mc-shipping-option-name {
    font-size: 14px;
    font-weight: 600;
    color: #111;
}

.mc-shipping-option-days {
    font-size: 12px;
    color: #6b7280;
}

.mc-pickup-note {
    font-size: 11px;
    color: #9ca3af;
    font-style: italic;
    margin-top: 2px;
}

.mc-shipping-option-price {
    font-size: 14px;
    font-weight: 600;
    color: #111;
    white-space: nowrap;
    padding-left: 8px;
}

.mc-free-shipping {
    color: #15803d;
    font-weight: 700;
}

.mc-shipping-selected .mc-shipping-option-name {
    color: #111;
}

/* ── Linhas de totais ── */
.mc-totals-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    font-size: 14px;
    color: #374151;
}

.mc-totals-discount .mc-discount-val,
.mc-totals-discount span:last-child {
    color: #15803d !important;
    font-weight: 600;
}

.mc-coupon-row span:last-child {
    color: #15803d;
    font-weight: 600;
}


/* ============================================
   CARRINHO VAZIO – Empty Cart State
   ============================================ */
.mc-cart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 80px 24px 100px;
    min-height: 60vh;
}

.mc-cart-empty-icon {
    width: 100px;
    height: 100px;
    background: #f3f4f6;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 28px;
}

.mc-cart-empty-icon svg {
    opacity: 0.45;
}

.mc-cart-empty-title {
    font-family: 'Inter', sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #111;
    letter-spacing: -0.5px;
    margin: 0 0 12px;
}

.mc-cart-empty-subtitle {
    font-size: 15px;
    color: #6b7280;
    line-height: 1.7;
    margin: 0 0 32px;
    max-width: 380px;
}

.mc-cart-empty-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #111;
    color: #fff !important;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 14px 32px;
    border-radius: 2px;
    transition: background 0.2s, transform 0.15s;
    margin-bottom: 40px;
}

.mc-cart-empty-cta:hover {
    background: #333;
    transform: translateY(-1px);
}

.mc-cart-empty-cta svg {
    flex-shrink: 0;
    transition: transform 0.2s;
}

.mc-cart-empty-cta:hover svg {
    transform: translateX(4px);
}

.mc-cart-empty-cats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.mc-cart-empty-cats-label {
    font-size: 12px;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
    margin-right: 4px;
}

.mc-cart-empty-cat-link {
    display: inline-block;
    padding: 6px 14px;
    border: 1.5px solid #e5e7eb;
    border-radius: 999px;
    font-size: 13px;
    color: #374151 !important;
    text-decoration: none !important;
    font-weight: 500;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.mc-cart-empty-cat-link:hover {
    border-color: #111;
    color: #111 !important;
    background: #f9fafb;
}


/* Fix carrinho vazio – ícone centralizado + botão correto */
.mc-cart-empty-icon {
    width: 100px;
    height: 100px;
    background: #f3f4f6;
    border-radius: 50%;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 28px !important;
}

.mc-cart-empty-icon svg {
    display: block;
    opacity: 0.45;
}

.mc-cart-empty-cta {
    display: inline-flex !important;
    width: auto !important;
    align-items: center;
    gap: 10px;
    background: #111;
    color: #fff !important;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 14px 32px;
    border-radius: 2px;
    transition: background 0.2s, transform 0.15s;
    margin-bottom: 40px;
}

.mc-cart-empty-cta:hover {
    background: #333;
    transform: translateY(-1px);
    color: #fff !important;
}


/* Ajuste do botão de Favoritos (coração) nas vitrines */
.product-wishlist-btn {
    right: 20px !important;
    top: 10px !important;
}


/* Ajuste mobile para a página de lojas */
@media (max-width: 768px) {
    .mc-lojas-container {
        padding: 20px !important;
    }
}


/* Força 2 colunas de produtos no mobile para as vitrines (Categorias, Loja, Relacionados) */
@media (max-width: 768px) {
    ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    /* Ajustes para a imagem e fonte no card do produto na versão 2 colunas mobile */
    ul.products li.product .woocommerce-loop-product__title {
        font-size: 13px !important;
    }

    ul.products li.product .price {
        font-size: 14px !important;
    }
}


/* Ocultar botão de comprar nos cards de produto no mobile */
@media (max-width: 768px) {

    ul.products li.product .button.add_to_cart_button,
    ul.products li.product .ajax_add_to_cart,
    ul.products li.product .mc-loop-add-cart-btn {
        display: none !important;
    }
}


/* Ajuste da Galeria do Produto Single no Mobile (Miniaturas Embaixo) */
@media (max-width: 768px) {
    .single-product div.product .woocommerce-product-gallery {
        display: flex !important;
        flex-direction: column !important;
    }

    .single-product div.product .woocommerce-product-gallery .flex-viewport {
        order: 1 !important;
        width: 100% !important;
    }

    .single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
        order: 2 !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        margin-top: 10px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
        width: calc(25% - 8px) !important;
        margin-right: 10px !important;
        margin-bottom: 10px !important;
        float: none !important;
    }

    .single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:nth-child(4n) {
        margin-right: 0 !important;
    }
}


/* Ajustes de espaçamentos mobile na Single Product e Footer */
@media (max-width: 768px) {
    .single-product div.product {
        gap: 0 !important;
        margin-top: 0 !important;
    }

    .related.products {
        padding-top: 10px !important;
        margin-top: 10px !important;
    }

    .footer-top {
        padding: 20px 0 40px !important;
        margin-top: 20px !important;
    }
}


/* Ajuste de topo do site-main (Mobile) */
@media (max-width: 768px) {
    .woocommerce .site-main {
        padding-top: 20px !important;
    }
}


/* Ajuste da Galeria do Produto Single no Mobile (Carrossel Horizontal Menor) */
@media (max-width: 768px) {
    .single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        gap: 10px;
        padding-bottom: 5px !important;
        /* Ocultar barra de rolagem no Firefox e IE */
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    /* Ocultar barra de rolagem no Webkit (Chrome/Safari) */
    .single-product div.product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar {
        display: none;
    }

    .single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
        width: 65px !important;
        /* Miniaturas menores */
        min-width: 65px !important;
        height: 65px !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        flex-shrink: 0 !important;
    }

    .single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
}


/* Ajuste do gap do rodapé no mobile */
@media (max-width: 768px) {
    .footer-grid {
        gap: 20px !important;
    }
}


/* Ajuste do botão de Favoritos (coração) no mobile */
@media (max-width: 768px) {
    .product-wishlist-btn {
        right: 20px !important;
        top: 12px !important;
    }
}


/* Ajustes no Mini Carrinho Lateral (Mobile) */
@media (max-width: 768px) {
    .mc-cart-sidebar {
        width: 85vw !important;
        right: -85vw !important;
        /* Esconde totalmente ao fechar */
    }

    .mc-cart-sidebar.open {
        right: 0 !important;
    }

    /* Aumentar a largura da informação do produto */
    .mc-cart-item-info {
        width: 100% !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        padding-right: 10px !important;
    }

    /* Empilhar botões no rodapé do mini carrinho */
    .mc-cart-btn-row {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .mc-cart-btn-solid {
        order: 1 !important;
        width: 100% !important;
    }

    .mc-cart-btn-outline {
        order: 2 !important;
        width: 100% !important;
    }
}


/* Correção forçada das colunas e lixeira no Mini Carrinho (Mobile) */
@media (max-width: 768px) {
    .mc-cart-item {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 12px !important;
        position: relative !important;
        padding-right: 25px !important;
        /* Espaço para a lixeira não sobrepor o texto */
    }

    .mc-cart-item-img {
        width: 80px !important;
        flex-shrink: 0 !important;
    }

    .mc-cart-item-info {
        width: 100% !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        /* Evita que a coluna force o crescimento */
        padding-right: 0 !important;
    }

    .mc-cart-item-title {
        white-space: normal !important;
        word-wrap: break-word !important;
    }

    .mc-cart-item-remove {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        width: 24px !important;
        height: 24px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}


/* ============================================================
   CHECKOUT - Placeholder-only style (sem floating labels)
   ============================================================ */

/* Ocultar labels de todos os campos de texto — usa apenas placeholder */
.woocommerce-checkout #customer_details .form-row label {
    display: none !important;
}

/* Campo País: manter label visível como referência */
.woocommerce-checkout #customer_details #billing_country_field label {
    display: block !important;
    position: static !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #777 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    margin-bottom: 6px !important;
    pointer-events: auto !important;
}

/* Ajuste do padding dos inputs — sem mais espaço para label flutuante */
.woocommerce-checkout #customer_details .input-text {
    padding: 14px 15px !important;
    height: auto !important;
    min-height: 50px !important;
}

/* Select país */
.woocommerce-checkout #customer_details select {
    padding: 14px 15px !important;
    height: auto !important;
    min-height: 50px !important;
}

/* Select2 altura */
.woocommerce-checkout #customer_details .select2-container .select2-selection--single {
    height: auto !important;
    min-height: 50px !important;
    padding: 14px 15px !important;
}

.woocommerce-checkout #customer_details .select2-container .select2-selection--single .select2-selection__arrow {
    height: 50px !important;
}

/* Placeholder styling */
.woocommerce-checkout #customer_details .input-text::placeholder {
    color: #aaa !important;
    font-size: 14px !important;
    font-family: 'Inter', sans-serif !important;
}

/* Ícone CEP — ajuste de posição */
.woocommerce-checkout #billing_postcode_field .input-text {
    background-image: url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="%23aaa" stroke-width="2"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>') !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    padding-right: 42px !important;
}

    .woocommerce-checkout #billing_phone_field {
        width: 100% !important;
        flex: 0 0 100% !important;
    }
}


/* Remove padding de tr.cart_item na review do checkout */
.woocommerce-checkout-review-order-table tr.cart_item td,
.woocommerce-checkout-review-order-table tr.cart_item th {
    padding: 0 !important;
}

/* Remove border left */
.mc-checkout-right {
    border-left: none !important;
}

/* Validação inline – borda vermelha nos campos inválidos */
.woocommerce-checkout .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select,
.woocommerce-checkout .form-row.woocommerce-invalid .select2-selection {
    border-color: #e02020 !important;
    border-width: 1.5px !important;
}

/* Mensagem de erro inline abaixo do campo */
.mc-field-error {
    display: block;
    color: #e02020;
    font-size: 12px;
    font-family: 'Inter', sans-serif;
    font-style: italic;
    margin-top: 5px;
    line-height: 1.3;
}


/* ============================================================
   CHECKOUT FIXES — Validação + Layout Desktop
   ============================================================ */

/* 1. Ocultar os avisos nativos do WooCommerce no checkout (usamos inline) */
.woocommerce-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout .woocommerce-NoticeGroup-checkout {
    display: none !important;
}

/* 2. Ocultar campo CPF/CNPJ de plugins de mercado brasileiro */
#billing_cpf_field,
#billing_cnpj_field,
#billing_persontype_field,
#billing_rg_field,
#billing_birthdate_field,
#billing_sex_field {
    display: none !important;
}

/* 3. Remover italic e estilizar corretamente o erro inline */
.mc-field-error {
    font-style: normal !important;
    color: #e02020 !important;
    font-size: 12px !important;
    font-family: 'Inter', sans-serif !important;
    margin-top: 5px !important;
    display: block !important;
}

/* 4. Borda vermelha nos campos inválidos */
.woocommerce-checkout #customer_details .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout #customer_details .form-row.woocommerce-invalid select,
.woocommerce-checkout #customer_details .form-row.woocommerce-invalid .select2-selection {
    border-color: #e02020 !important;
    border-width: 1.5px !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Focus vermelho quando campo está inválido */
.woocommerce-checkout #customer_details .form-row.woocommerce-invalid .input-text:focus {
    border-color: #e02020 !important;
    box-shadow: 0 0 0 2px rgba(224, 32, 32, 0.15) !important;
}


/* Remoção de padding do cart_item na revisão (Forçado extremo) */
.woocommerce-checkout-review-order-table tr.cart_item,
.woocommerce-checkout-review-order-table tr.cart_item td,
.woocommerce-checkout-review-order-table tr.cart_item th,
.woocommerce-checkout-review-order-table tr.cart_item .product-name,
.woocommerce-checkout-review-order-table tr.cart_item .product-total,
.woocommerce-checkout table.shop_table tr.cart_item td {
    padding: 0 !important;
    margin: 0 !important;
}


/* ============================================================
   MINI CARRINHO (DESKTOP E MOBILE) - 2 Colunas + Lixeira Absoluta
   ============================================================ */
.mc-cart-item {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 15px !important;
    position: relative !important;
    padding-right: 30px !important;
    /* Espaço para a lixeira na direita */
    grid-template-columns: none !important;
    /* Remove o grid antigo de 3 colunas */
}

.mc-cart-item-img {
    width: 80px !important;
    flex-shrink: 0 !important;
    grid-column: auto !important;
}

.mc-cart-item-info {
    width: 100% !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    /* Permite que o texto cresça sem quebrar a tela */
    padding-right: 0 !important;
    grid-column: auto !important;
}

.mc-cart-item-title {
    white-space: normal !important;
    word-wrap: break-word !important;
    padding-right: 15px !important;
    /* Distância extra da lixeira no topo */
}

/* Força a lixeira a ficar posicionada no canto superior direito do item inteiro */
.mc-cart-item-remove {
    position: absolute !important;
    top: 5px !important;
    right: 0 !important;
    width: 24px !important;
    height: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-column: auto !important;
    z-index: 10 !important;
}


/* Remoção definitiva de padding do TR */
.woocommerce-checkout-review-order-table tr.cart_item {
    padding: 0 !important;
    margin: 0 !important;
}

/* Para garantir, remove também de qualquer elemento dentro dele que possa estar causando espaço */
.woocommerce-checkout-review-order-table tr.cart_item>* {
    padding: 0 !important;
}


/* Sobrescrevendo o padding injetado pelo Elementor (com Alta Especificidade) */
html body table.woocommerce-checkout-review-order-table tbody tr.cart_item,
html body form.checkout table.woocommerce-checkout-review-order-table tbody tr.cart_item {
    padding: 0 !important;
    margin: 0 !important;
}


/* ============================================================
   FORMATAÇÃO DO TEXTO DE FRETE (Correios / Melhor Envio)
   ============================================================ */
.woocommerce-checkout ul#shipping_method li label,
.woocommerce-checkout ul.woocommerce-shipping-methods li label {
    display: flex !important;
    flex-direction: column !important;
    /* Coloca o texto, prazo e preço em linhas separadas ou bem divididos */
    align-items: flex-end !important;
    line-height: 1.5 !important;
}

/* Nome da Transportadora (Ex: Correios Sedex) */
.woocommerce-checkout ul#shipping_method li label .shipping_method_title,
.woocommerce-checkout ul#shipping_method li label b,
.woocommerce-checkout ul#shipping_method li label strong {
    font-weight: 600 !important;
    color: #333 !important;
}

/* Prazo de Entrega (Ex: 2 a 3 dias úteis) */
.woocommerce-checkout ul#shipping_method li label small,
.woocommerce-checkout ul#shipping_method li label .delivery-time {
    font-size: 11px !important;
    color: #777 !important;
    margin-top: 2px !important;
    display: block !important;
}

/* Preço do Frete */
.woocommerce-checkout ul#shipping_method li label .woocommerce-Price-amount {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #333 !important;
    margin-top: 2px !important;
    display: block !important;
}

/* Caso o plugin coloque tudo no mesmo nível de texto sem tags (fallback) */
.woocommerce-checkout ul#shipping_method li label {
    text-align: right !important;
    white-space: pre-wrap !important;
    /* Respeita as quebras de linha se existirem */
}


/* Alinhamento à esquerda na tabela de Informação Adicional do Produto */
.woocommerce-product-attributes.shop_attributes th,
.woocommerce-product-attributes.shop_attributes td,
.woocommerce-product-attributes.shop_attributes p {
    text-align: left !important;
}

/* Remover o texto em negrito dos rótulos (Cor/Tamanho) caso o tema force */
.woocommerce-product-attributes.shop_attributes th {
    font-weight: 600 !important;
    /* Ajuste conforme a tipografia original do tema */
    color: #333 !important;
}


/* ============================================================
   MENSAGEM DE ERRO DE VARIAÇÃO (Substitui o Alert do Navegador)
   ============================================================ */
.mc-variation-error {
    color: #b81c23 !important;
    border: 1px solid #b81c23 !important;
    padding: 12px 15px !important;
    margin-bottom: 15px !important;
    font-size: 15px !important;
    font-family: 'Inter', sans-serif !important;
    display: flex !important;
    align-items: center !important;
    background: #fff !important;
    border-radius: 2px !important;
}

.mc-variation-error .mc-error-icon {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 20px !important;
    height: 20px !important;
    background: #b81c23 !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-size: 13px !important;
    font-weight: bold !important;
    margin-right: 12px !important;
    flex-shrink: 0 !important;
}


/* Garantir que o erro ocupe a linha toda e fique acima do botão */
.mc-variation-error {
    width: 100% !important;
    box-sizing: border-box !important;
}


/* Remoção do margin-bottom do erro de variação */
.mc-variation-error {
    margin-bottom: 0 !important;
}


/* ============================================================
   MINI-CART SHIPPING CALCULATOR
   ============================================================ */
.mc-minicart-shipping {
    border-top: 1px solid #eaeaea;
    border-bottom: 1px solid #eaeaea;
    margin-bottom: 20px;
    padding: 15px 0;
}

.mc-shipping-accordion {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    color: #000;
}

.mc-shipping-icon {
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
}

.mc-shipping-content {
    margin-top: 15px;
    margin-bottom: 5px;
}

.mc-shipping-form {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.mc-shipping-input {
    flex: 1;
    border: 1px solid #d1d5db !important;
    border-radius: 4px !important;
    padding: 10px 15px !important;
    font-size: 14px !important;
    outline: none !important;
    color: #333 !important;
    background: #fff !important;
}

.mc-shipping-btn {
    background: #000 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 0 25px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
}

.mc-shipping-rate {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    font-size: 14px;
    color: #333;
    border-bottom: 1px solid #f3f4f6;
}

.mc-shipping-rate:last-child {
    border-bottom: none;
}

.mc-rate-cost {
    font-weight: 700;
    color: #000;
}

.mc-shipping-error {
    font-size: 13px;
    color: #b81c23;
    margin: 0;
}


/* Remoção de borda e padding do Total no mini cart */
.mc-cart-totals-row.mc-total {
    border-top: none !important;
    padding-top: 0 !important;
}


/* ============================================================
   COUPON CHECKOUT REDESIGN
   ============================================================ */
/* Ocultar a linha padrão de desconto do WooCommerce */
.woocommerce-checkout-review-order-table tr.cart-discount {
    display: none !important;
}

/* Caixa Verde de Sucesso */
.mc-coupon-success-msg {
    display: flex;
    align-items: flex-start;
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 6px;
    padding: 12px 15px;
    margin-bottom: 15px;
}

.mc-coupon-success-msg .mc-success-icon {
    color: #16a34a;
    margin-right: 12px;
    flex-shrink: 0;
    margin-top: 2px;
}

.mc-coupon-success-msg div {
    font-size: 13px;
    color: #166534;
    line-height: 1.4;
    text-align: left;
}

.mc-coupon-success-msg strong {
    display: block;
    font-size: 14px;
    color: #14532d;
    margin-bottom: 2px;
}

.mc-coupon-success-msg p {
    margin: 0;
}

/* Tags de Cupom Aplicado */
.mc-applied-coupons-tags {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mc-coupon-tag {
    display: inline-flex;
    align-items: center;
    background: #f3f4f6;
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    color: #111;
}

.mc-coupon-tag svg {
    margin-right: 6px;
    color: #6b7280;
}

.mc-remove-coupon-tag {
    margin-left: 8px;
    color: #9ca3af;
    font-size: 16px;
    line-height: 1;
    text-decoration: none !important;
}

.mc-remove-coupon-tag:hover {
    color: #ef4444;
}

/* Economia Total */
.mc-total-savings td {
    padding-top: 10px !important;
    text-align: left !important;
    font-size: 13px !important;
    color: #111 !important;
    display: flex !important;
    align-items: center !important;
    border-top: none !important;
}


/* ============================================================
   FIX: Texto do Frete (separar nome/prazo do valor)
   ============================================================ */
.woocommerce-checkout table.shop_table tfoot tr.shipping td {
    text-align: right !important;
}

.woocommerce-checkout table.shop_table tfoot tr.shipping td ul#shipping_method,
.woocommerce-checkout table.shop_table tfoot tr.shipping td .woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-checkout table.shop_table tfoot tr.shipping td ul#shipping_method li label {
    display: block !important;
    white-space: normal !important;
    text-align: right !important;
    line-height: 1.6 !important;
}

/* Força o preço do frete a ir para uma nova linha */
.woocommerce-checkout table.shop_table tfoot tr.shipping td ul#shipping_method li label .woocommerce-Price-amount,
.woocommerce-checkout table.shop_table tfoot tr.shipping td ul#shipping_method li label .amount {
    display: block !important;
    font-weight: 700 !important;
    margin-top: 2px !important;
}

/* Linha de desconto customizada */
.woocommerce-checkout-review-order-table tr.mc-discount-row {
    order: 2.5 !important;
}

/* Remover CSS duplicado antigo de cart-discount */
.woocommerce-checkout-review-order-table tr.cart-discount {
    display: none !important;
}

/* Remover CSS antigo de mc-total-savings */
.mc-total-savings {
    display: none !important;
}


/* Forçar ordem correta: Desconto entre Subtotal e Frete */
.woocommerce-checkout table.shop_table tfoot tr.mc-discount-row {
    order: 2.5 !important;
    display: flex !important;
    width: 100% !important;
    justify-content: space-between !important;
    align-items: center !important;
}


/* Forçar separação visual do preço do frete */
.mc-shipping-price-wrap {
    display: block !important;
    font-weight: 700 !important;
    margin-top: 2px !important;
}

/* Label do frete - garantir que o texto quebre */
.woocommerce-checkout table.shop_table tfoot tr.shipping td ul#shipping_method li label {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    line-height: 1.5 !important;
    gap: 2px !important;
}


/* ============================================================
   CORREÇÃO DEFINITIVA: Ordem das linhas no tfoot do checkout
   ============================================================ */
.woocommerce-checkout table.shop_table tfoot tr.mc-chk-coupon-row {
    order: 10 !important;
}

.woocommerce-checkout table.shop_table tfoot tr.cart-subtotal {
    order: 20 !important;
}

.woocommerce-checkout table.shop_table tfoot tr.mc-discount-row {
    order: 25 !important;
    display: flex !important;
    width: 100% !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.woocommerce-checkout table.shop_table tfoot tr.shipping {
    order: 30 !important;
}

.woocommerce-checkout table.shop_table tfoot tr.order-total {
    order: 40 !important;
}


/* ============================================================
   FIX: Remover fundo amarelo do <ins> nos preços do checkout
   ============================================================ */
.woocommerce-checkout-review-order-table ins {
    background: none !important;
    text-decoration: none !important;
}

/* ============================================================
   FIX: Forçar quebra de linha no label do frete (checkout)
   ============================================================ */
.woocommerce-checkout table.shop_table tfoot tr.shipping td label {
    word-break: break-word !important;
}

.woocommerce-checkout table.shop_table tfoot tr.shipping td label br {
    display: block !important;
}


/* ============================================================
   FIX: Esconder texto do frete no Order Review Table, mantendo apenas preço
   ============================================================ */
.woocommerce-checkout-review-order-table tfoot tr.shipping td ul#shipping_method li label {
    font-size: 0 !important;
    /* Esconde os nós de texto soltos (nome/prazo da transportadora) */
}

.woocommerce-checkout-review-order-table tfoot tr.shipping td ul#shipping_method li label .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table tfoot tr.shipping td ul#shipping_method li label .amount {
    font-size: 14px !important;
    /* Traz o preço de volta */
    font-weight: 700 !important;
    display: block !important;
    text-align: right !important;
}


/* ============================================================
   Ajustes da Página de Obrigado
   ============================================================ */
.mc-btn-continue {
    color: #ffffff !important;
}

@media (max-width: 768px) {
    .mc-thankyou-actions {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .mc-need-help {
        margin-left: 0;
        margin-top: 15px;
    }
}


/* ============================================================
   CHECKOUT FIELD LAYOUT — Via Veneto Style (DEFINITIVE)
   Single Flexbox system. All other layout blocks removed.
   ============================================================ */

/* === Grid wrapper: flexbox with wrap === */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 8px !important;
    width: 100% !important;
}

/* === Pseudo-elements reset === */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::before,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after {
    display: none !important;
}

/* === Base form-row reset === */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
    float: none !important;
    clear: none !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    position: relative;
    box-sizing: border-box !important;
}

/* === Input base styling (floating label) === */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row input.input-text,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row select,
#mc-email-container #billing_email_field input.input-text {
    width: 100%;
    height: 56px;
    padding: 18px 14px 6px;
    border: 1.5px solid #d4d4d4;
    border-radius: 6px;
    font-size: 15px;
    color: #111;
    background: #fff;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.2s;
    appearance: none;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row input.input-text:focus,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row select:focus,
#mc-email-container #billing_email_field input.input-text:focus {
    border-color: #111;
}

/* === Floating label === */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row label {
    position: absolute;
    top: 50%;
    left: 14px;
    transform: translateY(-50%);
    font-size: 15px;
    color: #888;
    pointer-events: none;
    transition: all 0.18s ease;
    background: transparent;
    padding: 0 2px;
    z-index: 1;
    line-height: 1;
}

/* Float label up */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row:focus-within label,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row:has(input:not(:placeholder-shown)) label {
    top: 10px;
    transform: translateY(0);
    font-size: 11px;
    color: #555;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Country & State labels always floated */
.woocommerce-checkout #billing_country_field label,
.woocommerce-checkout #billing_state_field label {


/* === WC margin reset === */
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        white-space: nowrap !important;
        border: none !important;
    }
}

/* ============================================================
   Checkout Via Veneto - Section Headers & Email
   ============================================================ */
.mc-checkout-section {
    margin-bottom: 28px;
}
.mc-section-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 14px;
}
.mc-checkout-title,
.mc-checkout-section-title {
    font-size: 20px;
    font-weight: 700;
    color: #111;
    margin: 0;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.mc-login-link {
    font-size: 13px;
    color: #1a56db;
    text-decoration: underline;
    font-family: 'Inter', -apple-system, sans-serif;
}

/* ---- Email Container ---- */
#mc-email-container {
    width: 100%;
}
#mc-email-container #billing_email_field {
    position: relative;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
#mc-email-container #billing_email_field label {
    display: none !important;
}
#mc-email-container #billing_email_field input.input-text {
    width: 100% !important;
    padding-right: 45px !important;
    font-family: 'Inter', sans-serif;
}

/* ---- Tooltip (?) ---- */
.mc-email-tooltip {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    cursor: help;
    z-index: 10;
}
.mc-email-tooltip-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1.5px solid #999;
    color: #777;
    font-size: 12px;
    font-weight: 600;
    font-family: 'Inter', serif;
    line-height: 1;
}
.mc-email-tooltip-text {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    bottom: calc(100% + 10px);
    right: -10px;
    background: #222;
    color: #fff;
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.5;
    width: 240px;
    text-align: left;
    transition: opacity 0.2s, visibility 0.2s;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    pointer-events: none;
    font-family: 'Inter', sans-serif;
}
.mc-email-tooltip-text::after {
    content: '';
    position: absolute;
    top: 100%;
    right: 14px;
    border-width: 6px;
    border-style: solid;
    border-color: #222 transparent transparent transparent;
}
.mc-email-tooltip:hover .mc-email-tooltip-text {
    visibility: visible;
    opacity: 1;
}
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_first_name_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_last_name_field {
    width: calc(50% - 4px) !important;
    flex: 0 0 calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
}
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_address_1_field {
    width: calc(70% - 4px) !important;
    flex: 0 0 calc(70% - 4px) !important;
    max-width: calc(70% - 4px) !important;
}
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_number_field {
    width: calc(30% - 4px) !important;
    flex: 0 0 calc(30% - 4px) !important;
    max-width: calc(30% - 4px) !important;
}
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_address_2_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_neighborhood_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_city_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_state_field {
    width: calc(50% - 4px) !important;
    flex: 0 0 calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
}

/* ============================================================
   CHECKOUT — Formulário de entrega
   Referência visual: Via Veneto
   ============================================================ */
.woocommerce-checkout .mc-contato-section {
    margin-bottom: 30px !important;
}

.woocommerce-checkout .mc-entrega-section {
    margin-bottom: 0 !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    width: 100% !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout p.form-row {
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
}

/* Campos de uma linha inteira. O CPF/CNPJ do gateway permanece no fim do formulário. */
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_country_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_postcode_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_phone_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_document_field {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

/* Nome/Sobrenome, complemento/bairro e cidade/estado em pares equilibrados. */
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_first_name_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_last_name_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_address_2_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_neighborhood_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_city_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_state_field {
    width: calc(50% - 5px) !important;
    flex: 0 0 calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
}

/* Endereço ganha espaço para a rua; número permanece compacto. */
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_address_1_field {
    width: calc(65% - 5px) !important;
    flex: 0 0 calc(65% - 5px) !important;
    max-width: calc(65% - 5px) !important;
}

body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_number_field {
    width: calc(35% - 5px) !important;
    flex: 0 0 calc(35% - 5px) !important;
    max-width: calc(35% - 5px) !important;
}

/* O gateway reordena o HTML após o filtro do WooCommerce; esta é a ordem visual final. */
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_country_field { order: 10 !important; }
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_first_name_field { order: 20 !important; }
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_last_name_field { order: 21 !important; }
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_postcode_field { order: 30 !important; }
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_address_1_field { order: 40 !important; }
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_number_field { order: 41 !important; }
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_address_2_field { order: 50 !important; }
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_neighborhood_field { order: 51 !important; }
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_city_field { order: 60 !important; }
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_state_field { order: 61 !important; }
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_phone_field { order: 70 !important; }
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_document_field { order: 120 !important; }

    border: 1px solid #d9d9d9 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper .select2-selection__rendered {
    line-height: 20px !important;
    padding: 0 !important;
}

.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper .input-text::placeholder {
    color: #777 !important;
    opacity: 1 !important;
}

/* País e estado preservam o rótulo discreto dentro do controle. */
.woocommerce-checkout #customer_details #billing_country_field label,
.woocommerce-checkout #customer_details #billing_state_field label {
    display: block !important;
    position: absolute !important;
    top: 8px !important;
    left: 15px !important;
    z-index: 2 !important;
    margin: 0 !important;
    color: #777 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.woocommerce-checkout #customer_details #billing_country_field .select2-selection--single,
.woocommerce-checkout #customer_details #billing_state_field .select2-selection--single {
    padding-top: 22px !important;
    padding-bottom: 6px !important;
}

/* Campo de e-mail do visitante, isolado na seção Contato. */
#mc-email-container {
    width: 100% !important;
}

#mc-email-container #billing_email_field {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#mc-email-container #billing_email_field label {
    display: none !important;
}

#mc-email-container #billing_email_field .input-text {
    width: 100% !important;
    min-height: 50px !important;
    height: 50px !important;
    padding: 0 48px 0 15px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

#mc-email-container .mc-email-tooltip {
    right: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

#mc-email-container .mc-email-tooltip-icon {
    width: 18px !important;
    height: 18px !important;
    border-color: #777 !important;
    color: #666 !important;
    font-size: 11px !important;
}

#mc-email-container .mc-email-tooltip-text {
    display: none !important;
}

#mc-email-container .mc-email-tooltip:hover .mc-email-tooltip-text,
#mc-email-container .mc-email-tooltip:focus-within .mc-email-tooltip-text {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 640px) {
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
        gap: 10px !important;
    }

    body.woocommerce-page .woocommerce-billing-fields__field-wrapper .form-row {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* Página 404 ------------------------------------------------------------- */
.site-main.mc-404 {
    /* Sobrescreve a regra global do checkout que zera o padding de .site-main. */
    padding: clamp(40px, 5vw, 72px) 24px clamp(72px, 8vw, 112px) !important;
    margin-bottom: 0 !important;
    background: #fff;
}

.mc-404__inner {
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
}

.mc-404__eyebrow {
    margin: 0 0 8px;
    color: #6f6f6f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1.2;
    text-transform: uppercase;
}

.mc-404__code {
    margin: 0;
    color: #f0f0f0;
    font-size: clamp(112px, 20vw, 220px);
    font-weight: 800;
    letter-spacing: -0.1em;
    line-height: 0.78;
    user-select: none;
}

.mc-404__card {
    position: relative;
    max-width: 680px;
    margin: -8px auto 0;
    padding: clamp(32px, 5vw, 52px);
    border: 1px solid #e7e7e7;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 20px 48px rgba(17, 17, 17, 0.07);
}

.mc-404__icon {
    display: grid;
    width: 48px;
    height: 48px;
    margin: 0 auto 19px;
    place-items: center;
    border-radius: 50%;
    background: #111;
}

.mc-404__icon svg {
    width: 25px;
    height: 25px;
    stroke: #fff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.mc-404 h1 {
    margin: 0;
    color: #111;
    font-size: clamp(27px, 4vw, 38px);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1.1;
}

.mc-404__description {
    max-width: 510px;
    margin: 13px auto 27px;
    color: #696969;
    font-size: 15px;
    line-height: 1.6;
}

.mc-404__search {
    display: flex;
    gap: 8px;
    max-width: 540px;
    margin: 0 auto;
}

.mc-404__search input[type="search"] {
    min-width: 0;
    height: 52px;
    flex: 1;
    padding: 0 16px;
    border: 1px solid #d5d5d5;
    border-radius: 5px;
    color: #171717;
    background: #fff;
    font: inherit;
    outline: none;
}

.mc-404__search input[type="search"]::placeholder {
    color: #7d7d7d;
    opacity: 1;
}

.mc-404__search input[type="search"]:focus {
    border-color: #111;
    box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.1);
}

.mc-404__search button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.mc-404__search button {
    gap: 7px;
    flex: 0 0 auto;
    padding: 0 19px;
    border: 1px solid #111;
    color: #fff;
    background: #111;
    cursor: pointer;
}

.mc-404__search button:hover {
    color: #fff;
    background: #333;
    border-color: #333;
}

.mc-404__search button:focus-visible {
    outline: 3px solid rgba(17, 17, 17, 0.25);
    outline-offset: 3px;
}

.mc-404__search button svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 1.8;
}

.mc-404__categories {
    display: grid;
    gap: 11px;
    margin-top: 31px;
    color: #707070;
    font-size: 13px;
}

.mc-404__categories > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.mc-404__categories a {
    padding: 9px 13px;
    border: 1px solid #dedede;
    border-radius: 5px;
    color: #202020;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.mc-404__categories a:hover {
    border-color: #111;
    color: #fff;
    background: #111;
}

@media (max-width: 560px) {
    .site-main.mc-404 {
        padding: 36px 16px 64px !important;
    }

    .mc-404__code {
        font-size: 122px;
    }

    .mc-404__card {
        padding: 30px 20px;
    }

    .mc-404__search {
        flex-direction: column;
    }

    .mc-404__search button {
        width: 100%;
    }
}

/* --------------------------------------------------------------------------
   PIX: payment window shown before the order confirmation
   -------------------------------------------------------------------------- */
.mc-pix-pending-page {
    min-height: min(72vh, 680px);
}

.mc-pix-modal-open {
    overflow: hidden !important;
}

.mc-pix-payment-modal {
    position: fixed;
    z-index: 100000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    box-sizing: border-box;
}

.mc-pix-payment-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 17, 17, .64);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

.mc-pix-payment-modal__card {
    position: relative;
    z-index: 1;
    width: min(100%, 640px);
    min-height: 515px;
    padding: 24px 54px 38px;
    overflow: hidden;
    box-sizing: border-box;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
    color: #171717;
    text-align: center;
}

.mc-pix-payment-modal__card h1 {
    margin: 0;
    color: #151515;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    text-align: left;
}

.mc-pix-payment-modal__brand {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 46px;
    color: #32bcad;
}

.mc-pix-payment-modal__brand svg {
    width: 27px;
    height: 22px;
}

.mc-pix-payment-modal__brand span {
    color: #8f969b;
    font-size: 26px;
    font-weight: 300;
    letter-spacing: -1px;
    line-height: 1;
}

.mc-pix-payment-modal__intro {
    margin: 15px 0 0;
    color: #737373;
    font-size: 15px;
}

.mc-pix-payment-modal__qr {
    display: grid;
    width: 142px;
    height: 142px;
    margin: 35px auto 30px;
    place-items: center;
    color: #777;
    font-size: 12px;
    line-height: 1.4;
}

.mc-pix-payment-modal__qr img {
    display: block;
    width: 142px;
    height: 142px;
    max-width: 100%;
    object-fit: contain;
}

.mc-pix-payment-modal__copy {
    display: block !important;
    width: min(100%, 400px) !important;
    min-height: 46px !important;
    margin: 0 auto !important;
    padding: 10px 18px !important;
    border: 1px solid #d9dce2 !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #4e67ad !important;
    cursor: pointer;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2;
}

.mc-pix-payment-modal__copy:hover,
.mc-pix-payment-modal__copy:focus-visible {
    border-color: #4e67ad !important;
    background: #f7f9ff !important;
    outline: 0;
}

.mc-pix-payment-modal__copy:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.mc-pix-payment-modal__timer {
    width: min(100%, 270px);
    margin: 32px auto 0;
}

.mc-pix-payment-modal__progress {
    display: block;
    height: 4px;
    overflow: hidden;
    border-radius: 99px;
    background: #dedede;
}

.mc-pix-payment-modal__progress span {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: #4e67ad;
    transition: width .25s linear;
}

.mc-pix-payment-modal__timer p {
    margin: 13px 0 0;
    color: #7b7b7b;
    font-size: 13px;
}

.mc-pix-payment-modal__timer strong {
    color: inherit;
    font-weight: 400;
}

.mc-pix-checkout-notice {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 14px 0 18px;
    padding: 14px 16px;
    border: 1px solid #f1caca;
    border-radius: 5px;
    background: #fff7f7;
    color: #9f2626;
    font-size: 14px;
    line-height: 1.4;
}

.mc-pix-checkout-notice svg {
    flex: 0 0 auto;
    width: 19px;
    height: 19px;
}

@media (max-width: 640px) {
    .mc-pix-payment-modal {
        padding: 16px;
        align-items: end;
    }

    .mc-pix-payment-modal__card {
        min-height: 0;
        padding: 22px 24px 31px;
        border-radius: 14px;
    }

    .mc-pix-payment-modal__brand {
        margin-top: 36px;
    }

    .mc-pix-payment-modal__qr {
        margin: 27px auto 25px;
    }
}

/* Retirada: o endereço de faturamento é exibido depois do pagamento, como uma
   seção própria. Os campos permanecem os mesmos do WooCommerce para validação. */
.woocommerce-checkout .mc-pickup-billing-section {
    margin-top: 30px;
}

.woocommerce-checkout .mc-pickup-billing-section .mc-checkout-section-title {
    margin: 0 0 14px !important;
}

.woocommerce-checkout .mc-pickup-billing-section .woocommerce-billing-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    width: 100% !important;
}

.woocommerce-checkout .mc-pickup-billing-section .woocommerce-billing-fields__field-wrapper .form-row {
    margin: 0 !important;
}

.woocommerce-checkout .mc-pickup-billing-section .woocommerce-billing-fields__field-wrapper .input-text,
.woocommerce-checkout .mc-pickup-billing-section .woocommerce-billing-fields__field-wrapper select,
.woocommerce-checkout .mc-pickup-billing-section .woocommerce-billing-fields__field-wrapper .select2-selection--single {
    min-height: 50px !important;
    height: 50px !important;
    padding: 14px 15px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.woocommerce-checkout .mc-pickup-billing-section #billing_country_field label,
.woocommerce-checkout .mc-pickup-billing-section #billing_state_field label {
    display: block !important;
    position: absolute !important;
    top: 8px !important;
    left: 15px !important;
    z-index: 2 !important;
    margin: 0 !important;
    color: #777 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

.woocommerce-checkout .mc-pickup-billing-section #billing_country_field .select2-selection--single,
.woocommerce-checkout .mc-pickup-billing-section #billing_state_field .select2-selection--single {
    padding-top: 22px !important;
    padding-bottom: 6px !important;
}

/* Nos campos de texto, o placeholder é o rótulo visível, como no checkout de
   referência. País e estado mantêm o rótulo curto dentro do seletor. */
.woocommerce-checkout .mc-pickup-billing-section #billing_first_name_field label,
.woocommerce-checkout .mc-pickup-billing-section #billing_last_name_field label,
.woocommerce-checkout .mc-pickup-billing-section #billing_postcode_field label,
.woocommerce-checkout .mc-pickup-billing-section #billing_address_1_field label,
.woocommerce-checkout .mc-pickup-billing-section #billing_number_field label,
.woocommerce-checkout .mc-pickup-billing-section #billing_address_2_field label,
.woocommerce-checkout .mc-pickup-billing-section #billing_neighborhood_field label,
.woocommerce-checkout .mc-pickup-billing-section #billing_city_field label,
.woocommerce-checkout .mc-pickup-billing-section #billing_phone_field label,
.woocommerce-checkout .mc-pickup-billing-section #billing_document_field label {
    display: none !important;
}

.woocommerce-checkout .mc-pickup-additional-information {
    margin-top: 38px;
}

/* A área e o botão de finalizar apenas mudam de posição na retirada; a estética
   do método de pagamento não é alterada. */
.woocommerce-checkout .mc-pickup-billing-section .place-order {
    margin: 32px 0 0 !important;
}

/* Correções de alinhamento dos controles realocados para o faturamento. */
.woocommerce-checkout .mc-pickup-billing-section #billing_phone {
    padding-left: 15px !important;
    text-align: left !important;
}

.woocommerce-checkout .mc-pickup-billing-section #billing_phone::placeholder {
    text-align: left !important;
}

.woocommerce-checkout .mc-pickup-billing-section #billing_country_field .select2-selection__rendered,
.woocommerce-checkout .mc-pickup-billing-section #billing_state_field .select2-selection__rendered {
    line-height: 20px !important;
    padding: 0 !important;
}

.woocommerce-checkout .mc-pickup-billing-section #billing_state_field .select2-selection--single {
    padding-top: 18px !important;
    padding-bottom: 10px !important;
}

/* ============================================================
   Sale badge: positioned inside product image, top-left corner
   ============================================================ */
ul.products li.product .mc-sale-badge,
ul.products li.product > a .mc-sale-badge,
ul.products li.product > .mc-sale-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 10;
    background: #111;
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 5px 10px;
    border-radius: 3px;
    line-height: 1;
    text-transform: uppercase;
    pointer-events: none;
}

/* Also style the badge on single product pages */
.single-product div.product .mc-sale-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 10;
    background: #111;
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 5px 10px;
    border-radius: 3px;
    line-height: 1;
    text-transform: uppercase;
    pointer-events: none;
}

/* ============================================================
   FIX: Remove yellow background from <ins> in product loop prices & single product
   ============================================================ */
ul.products li.product .price ins,
.single-product div.product .price ins,
.single-product div.product p.price ins,
.single-product div.product span.price ins {
    background: none !important;
    text-decoration: none !important;
}

/* ============================================================
   Strikethrough (regular) price: more faded for emphasis on sale price
   ============================================================ */
ul.products li.product .price del,
.single-product div.product .price del,
.single-product div.product p.price del,
.single-product div.product span.price del {
    opacity: 0.6;
    font-weight: 600;
}

ul.products li.product .price del .woocommerce-Price-amount,
.single-product div.product .price del .woocommerce-Price-amount,
.single-product div.product p.price del .woocommerce-Price-amount,
.single-product div.product span.price del .woocommerce-Price-amount {
    color: #666 !important;
}

/* ============================================================
   Single Product Page inline OFF badge styling
   ============================================================ */
.mc-price-off-badge {
    background: #111;
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 3px 8px;
    border-radius: 3px;
    line-height: 1;
    text-transform: uppercase;
    display: inline-block;
    vertical-align: middle;
    margin-left: 0;
    position: relative;
    top: 0;
}

.mc-pix-campaign-badge {
    align-items: center;
    display: inline-flex;
    gap: 4px;
}

.mc-pix-campaign-badge__icon {
    display: block;
    flex: 0 0 14px;
    height: 14px;
    width: 14px;
}

/* ============================================================
   Single Product Page Price Layout (del on top, ins below)
   ============================================================ */
.single-product div.product p.price,
.woocommerce-variation-price .price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.single-product div.product p.price del,
.woocommerce-variation-price .price del {
    width: 100%;
    display: block;
    font-size: 14px !important;
    margin-bottom: 2px;
    line-height: 1;
}

.single-product div.product p.price del .woocommerce-Price-amount,
.single-product div.product p.price del bdi,
.woocommerce-variation-price .price del .woocommerce-Price-amount,
.woocommerce-variation-price .price del bdi {
    font-size: 14px !important;
}

/* ============================================================
   Fix spacing below products grid (e.g. before footer)
   ============================================================ */
ul.products {
    margin-bottom: 60px !important;
}

/* ============================================================
   EMERGENCY RESTORE & MOBILE UX FIX
   ============================================================ */
/* Field Widths Restore */
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_first_name_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_last_name_field {
    width: calc(50% - 6px) !important;
    flex: 0 0 calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
}
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_address_1_field {
    width: calc(70% - 6px) !important;
    flex: 0 0 calc(70% - 6px) !important;
    max-width: calc(70% - 6px) !important;
}
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_number_field {
    width: calc(30% - 6px) !important;
    flex: 0 0 calc(30% - 6px) !important;
    max-width: calc(30% - 6px) !important;
}
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_address_2_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_neighborhood_field {
    width: calc(50% - 6px) !important;
    flex: 0 0 calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
}
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_city_field,
body.woocommerce-page .woocommerce-billing-fields__field-wrapper #billing_state_field {
    width: calc(50% - 6px) !important;
    flex: 0 0 calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
}

/* Save info checkbox restore */
.mc-save-info-row {
    margin-top: 5px !important;
    margin-bottom: 10px !important;
}
.mc-save-info-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #444;
    cursor: pointer;
}
.mc-save-info-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* Mobile todos em 1 coluna restore */
@media (max-width: 768px) {
    body.woocommerce-page .woocommerce-billing-fields__field-wrapper .form-row {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* Hide plugins restore */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .checkout_coupon {
    display: none !important;
}
#billing_cpf_field, #billing_cnpj_field, #billing_persontype_field,
#billing_rg_field, #billing_birthdate_field, #billing_sex_field {
    display: none !important;
}
.woocommerce-checkout #customer_details .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout #customer_details .form-row.woocommerce-invalid select {
    border-color: #e02020 !important;
}
.woocommerce-checkout #customer_details .form-row.woocommerce-invalid .input-text:focus {
    border-color: #e02020 !important;
    box-shadow: 0 0 0 2px rgba(224, 32, 32, 0.15) !important;
}
.woocommerce-checkout .form-row .woocommerce-error,
.woocommerce-checkout .form-row ul.woocommerce-error {
    display: none !important;
}

/* Country & State labels always floated restore */
.woocommerce-checkout #billing_country_field label,
.woocommerce-checkout #billing_state_field label {
    top: 10px !important;
    transform: translateY(0) !important;
    font-size: 11px !important;
    color: #555 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* País e estado usam Select2/SelectWoo. O padding anterior somava à altura
   mínima do controle e deixava o texto e a seta sobrepostos. */
.woocommerce-checkout #customer_details #billing_country_field,
.woocommerce-checkout #customer_details #billing_state_field {
    position: relative !important;
    min-height: 50px !important;
}
.woocommerce-checkout #customer_details #billing_country_field label,
.woocommerce-checkout #customer_details #billing_state_field label {
    display: block !important;
    position: absolute !important;
    top: 8px !important;
    left: 15px !important;
    z-index: 2 !important;
    margin: 0 !important;
    pointer-events: none !important;
    color: #777 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
.woocommerce-checkout #customer_details #billing_country_field .select2-container,
.woocommerce-checkout #customer_details #billing_state_field .select2-container {
    width: 100% !important;
}
.woocommerce-checkout #customer_details #billing_country_field .select2-selection--single,
.woocommerce-checkout #customer_details #billing_state_field .select2-selection--single {
    box-sizing: border-box !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 22px 42px 6px 15px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}
.woocommerce-checkout #customer_details #billing_country_field .select2-selection__rendered,
.woocommerce-checkout #customer_details #billing_state_field .select2-selection__rendered {
    display: block !important;
    padding: 0 !important;
    line-height: 20px !important;
}
.woocommerce-checkout #customer_details #billing_country_field .select2-selection__arrow,
.woocommerce-checkout #customer_details #billing_state_field .select2-selection__arrow {
    top: 0 !important;
    right: 10px !important;
    height: 50px !important;
}

/* País e estado ficam como selects nativos no checkout. Isso evita que o
   Select2 duplicado apareça por cima do campo depois de uma atualização AJAX. */
.woocommerce-checkout #customer_details #billing_country,
.woocommerce-checkout #customer_details #billing_state {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 22px 38px 6px 15px !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    background: #fff !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: #333 !important;
    font-size: 14px !important;
}
.woocommerce-checkout #customer_details #billing_country.select2-hidden-accessible,
.woocommerce-checkout #customer_details #billing_state.select2-hidden-accessible {
    position: static !important;
    clip: auto !important;
    clip-path: none !important;
    margin: 0 !important;
    overflow: visible !important;
}
/* O WooCommerce pode deixar um contêiner Select2 residual ao atualizar o
   endereço. O select nativo acima é o único controle que deve permanecer. */
.woocommerce-checkout #customer_details #billing_country_field .select2-container,
.woocommerce-checkout #customer_details #billing_state_field .select2-container,
.woocommerce-checkout #customer_details #billing_country_field .select2,
.woocommerce-checkout #customer_details #billing_state_field .select2 {
    display: none !important;
}

/* Resumo de descontos no mesmo formato do total do checkout. */
.woocommerce-checkout table.shop_table tfoot tr.mc-discount-row {
    order: 25 !important;
    display: flex !important;
    width: 100% !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
}
.woocommerce-checkout table.shop_table tfoot tr.mc-discount-row th {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}
.mc-discount-title {
    font-weight: 500;
}
.mc-discount-coupons,
.mc-discount-coupon {
    display: inline-flex;
    align-items: center;
}
.mc-discount-coupons {
    flex-wrap: wrap;
    gap: 6px;
}
.mc-discount-coupon {
    color: #777;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
    text-transform: uppercase;
}
.mc-discount-coupon svg {
    margin-right: 4px;
}
.woocommerce-checkout table.shop_table tfoot tr .mc-discount-amount {
    color: #111 !important;
    font-weight: 500;
}
.woocommerce-checkout table.shop_table tfoot tr.mc-total-savings {
    order: 50 !important;
    display: flex !important;
    width: 100% !important;
    border: 0 !important;
}
.woocommerce-checkout table.shop_table tfoot tr.mc-total-savings td {
    display: flex !important;
    width: 100%;
    align-items: center;
    gap: 6px;
    padding: 0 !important;
    color: #111 !important;
    font-size: 13px !important;
    font-weight: 600;
    text-align: left !important;
    text-transform: uppercase;
}
.woocommerce-checkout table.shop_table tfoot tr.mc-total-savings strong {
    font-size: 13px;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row label abbr {
    color: #d9534f !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row label .optional {
    display: none !important;
}

/* =========================================
   Mobile Responsiveness - My Account UI/UX
   ========================================= */
@media screen and (max-width: 768px) {
    body.logged-in.woocommerce-account #primary.site-main div.woocommerce {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        padding: 0 15px !important;
    }
    body.logged-in.woocommerce-account #primary.site-main div.woocommerce .woocommerce-MyAccount-navigation,
    body.logged-in.woocommerce-account #primary.site-main div.woocommerce .woocommerce-MyAccount-content {
        width: 100% !important;
        margin: 0 !important;
    }
    body.logged-in.woocommerce-account #primary.site-main div.woocommerce .woocommerce-MyAccount-content {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }

    /* 1. Sleek Scrollable Tabs for Navigation */
    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 15px !important;
        padding-bottom: 5px !important;
        margin-bottom: 20px !important;
        border-bottom: 1px solid #eaeaea !important;
        scrollbar-width: none; /* Firefox */
    }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
        display: none; /* Safari/Chrome */
    }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li {
        flex: 0 0 auto !important;
        margin: 0 !important;
        border: none !important;
    }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        padding: 10px 5px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #888 !important;
        border-bottom: 2px solid transparent !important;
        white-space: nowrap !important;
    }
    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
        color: #111 !important;
        border-bottom-color: #111 !important;
    }

    /* 2. Order Cards Layout */
    body.logged-in.woocommerce-account table.woocommerce-orders-table,
    body.logged-in.woocommerce-account table.my_account_orders {
        display: block !important;
        width: 100% !important;
        border: none !important;
    }
    body.logged-in.woocommerce-account table.woocommerce-orders-table thead,
    body.logged-in.woocommerce-account table.my_account_orders thead {
        display: none !important; /* Hide headers */
    }
    body.logged-in.woocommerce-account table.woocommerce-orders-table tbody,
    body.logged-in.woocommerce-account table.my_account_orders tbody {
        display: block !important;
    }
    body.logged-in.woocommerce-account table.woocommerce-orders-table tr,
    body.logged-in.woocommerce-account table.my_account_orders tr {
        display: block !important;
        width: 100% !important;
        background: #fff !important;
        border: 1px solid #eaeaea !important;
        border-radius: 8px !important;
        padding: 15px !important;
        margin-bottom: 15px !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.03) !important;
    }
    body.logged-in.woocommerce-account table.woocommerce-orders-table td,
    body.logged-in.woocommerce-account table.my_account_orders td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 10px 0 !important;
        border: none !important;
        border-bottom: 1px solid #f5f5f5 !important;
        font-size: 14px !important;
        color: #333 !important;
        text-align: right !important;
    }
    body.logged-in.woocommerce-account table.woocommerce-orders-table td:last-child,
    body.logged-in.woocommerce-account table.my_account_orders td:last-child {
        border-bottom: none !important;
        flex-direction: column !important;
        align-items: stretch !important;
        margin-top: 10px !important;
        padding-bottom: 0 !important;
    }
    body.logged-in.woocommerce-account table.woocommerce-orders-table td::before,
    body.logged-in.woocommerce-account table.my_account_orders td::before {
        content: attr(data-title) !important;
        font-weight: 600 !important;
        color: #888 !important;
        font-size: 12px !important;
        text-transform: uppercase !important;
    }

    /* 3. Action Buttons inside Cards */
    body.logged-in.woocommerce-account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before,
    body.logged-in.woocommerce-account table.my_account_orders td.woocommerce-orders-table__cell-order-actions::before {
        display: none !important; /* Hide "Ações" label */
    }
    body.logged-in.woocommerce-account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button,
    body.logged-in.woocommerce-account table.my_account_orders td.woocommerce-orders-table__cell-order-actions .button {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        padding: 14px !important;
        font-size: 14px !important;
        border-radius: 4px !important;
        background: #111 !important;
        color: #fff !important;
        margin: 0 !important;
    }
}

/* User Request: Remove border radius from My Account Navigation Links */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a { border-radius: 0 !important; }

/* User Request: Remove borders and paddings from mobile My Account nav */
@media (max-width: 768px) { .woocommerce-account .woocommerce-MyAccount-navigation { border-right: none !important; border-bottom: none !important; padding-bottom: 0 !important; padding-left: 0 !important; } }

/* User Request: Fix padding on shipping button for mobile */
@media (max-width: 768px) { .mc-shipping-btn { padding: 12px 20px !important; } }

/* Gallery count lives over the main image; the thumbnail rail remains visible. */

.mc-gallery-pagination {
    position: absolute;
    top: 50%;
    left: 13.5%;
    z-index: 20;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
    transform: translate(-50%, -50%);
}

.mc-gallery-dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #b8b8b8;
    cursor: pointer;
    transition: background-color 0.2s;
}

.mc-gallery-dot:hover,
.mc-gallery-dot:focus-visible,
.mc-gallery-dot.is-active {
    background: #111;
}

.mc-gallery-dot:focus-visible {
    outline: 2px solid #111;
    outline-offset: 3px;
}

.mc-gallery-count {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 20;
    min-width: 48px;
    height: 36px;
    padding: 0 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.84);
    color: #fff;
    font: 700 14px/1 'Inter', sans-serif;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    display: none;
}

.mc-gallery-count:hover,
.mc-gallery-count:focus-visible {
    background: #111;
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.mc-gallery-modal[hidden] {
    display: none;
}

.mc-gallery-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 72px;
    background: rgba(0, 0, 0, 0.9);
}

.mc-gallery-modal-image {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 64px);
    object-fit: contain;
}

.mc-gallery-modal button {
    position: absolute;
    border: 0;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    cursor: pointer;
}

.mc-gallery-modal-close {
    top: 18px;
    right: 22px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    font-size: 32px;
    line-height: 1;
}

.mc-gallery-modal-prev,
.mc-gallery-modal-next {
    top: 50%;
    width: 48px;
    height: 62px;
    transform: translateY(-50%);
    font-size: 46px;
    line-height: 1;
}

.mc-gallery-modal-prev { left: 14px; }
.mc-gallery-modal-next { right: 14px; }

.mc-gallery-modal-position {
    position: absolute;
    right: 22px;
    bottom: 20px;
    color: #fff;
    font: 600 14px/1 'Inter', sans-serif;
}

@media (max-width: 768px) {
    .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
        height: auto !important;
        overflow-y: hidden !important;
    }

    .mc-gallery-pagination {
        display: none;
    }

    .mc-gallery-modal {
        padding: 20px 48px;
    }

    .mc-gallery-count {
        right: 10px;
        bottom: 10px;
    }

    .mc-gallery-modal-prev,
    .mc-gallery-modal-next {
        width: 38px;
        height: 52px;
        font-size: 38px;
    }
}

/* The thumbnail rail is capped by the main image itself, not by its contents.
   The main viewport is 85% of the gallery and uses a 3:4 image ratio:
   85% × 4/3 = 113.333% of the gallery container width. */
@media (min-width: 769px) {
    .single-product div.product .woocommerce-product-gallery {
        container-type: inline-size;
    }

    .single-product div.product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
        height: 113.333cqw !important;
        max-height: 113.333cqw !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
}

/* ========================================================================
   CART 2026 — streamlined Moda Cruz checkout experience
   ======================================================================== */
.woocommerce-cart .mc-cart-wrapper {
    max-width: 1280px;
    padding: 56px 28px 96px;
    color: #171717;
}

.woocommerce-cart .mc-cart-header-bar {
    margin-bottom: 34px;
    padding: 0 0 22px;
    border-bottom: 1px solid #e7e7e7;
}

.mc-cart-eyebrow {
    margin: 0 0 7px;
    color: #747474;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.woocommerce-cart .mc-cart-title {
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 700;
    letter-spacing: -1.2px;
    line-height: 1;
    text-transform: none;
}

.woocommerce-cart .mc-cart-title span {
    color: #777;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
    vertical-align: middle;
}

.woocommerce-cart .mc-back-to-shop {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 0;
    color: #222 !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.woocommerce-cart .mc-back-to-shop::before {
    content: '←';
    font-size: 17px;
    line-height: 1;
    transition: transform .2s ease;
}

.woocommerce-cart .mc-back-to-shop:hover::before {
    transform: translateX(-4px);
}

.woocommerce-cart .mc-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: clamp(32px, 5vw, 68px);
}

.woocommerce-cart .mc-cart-totals-col {
    width: auto;
    flex: auto;
}

.woocommerce-cart .mc-cart-col-headers,
.woocommerce-cart .mc-cart-item {
    grid-template-columns: minmax(0, 1fr) 126px 112px 42px !important;
}

.woocommerce-cart .mc-cart-col-headers {
    margin: 0;
    padding: 0 0 14px;
}

.woocommerce-cart .mc-cart-col-headers span {
    color: #777;
    font-size: 10px;
    letter-spacing: 1px;
}

.woocommerce-cart .mc-cart-item {
    min-height: 146px;
    padding: 22px 0;
    border-bottom-color: #e9e9e9;
}

.woocommerce-cart .mc-item-product {
    gap: 18px;
}

.woocommerce-cart .mc-item-image {
    flex-basis: 104px;
    width: 104px;
    overflow: hidden;
    background: #f4f4f4;
}

.woocommerce-cart .mc-item-image img,
.woocommerce-cart .mc-item-image a img {
    width: 104px;
    height: 130px;
    border-radius: 0;
    transition: transform .3s ease;
}

.woocommerce-cart .mc-item-image a:hover img {
    transform: scale(1.035);
}

.woocommerce-cart .mc-item-name,
.woocommerce-cart .mc-item-name a {
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .45px;
}

.mc-item-unit-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 8px;
    color: #686868;
    font-size: 12px;
}

.mc-item-unit-price > span {
    color: #8b8b8b;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .4px;
    text-transform: uppercase;
}

.mc-item-unit-price .woocommerce-Price-amount {
    color: #555;
    font-weight: 600;
}

.woocommerce-cart .mc-item-details .wc-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 3px 10px;
}

.woocommerce-cart .mc-item-details .wc-item-meta li {
    margin: 0;
    color: #777;
    font-size: 11px;
}

.woocommerce-cart .mc-item-details .wc-item-meta li strong {
    color: #555;
    font-weight: 700;
}

.woocommerce-cart .mc-cart-wrapper .quantity {
    height: 40px;
    border: 1px solid #d9d9d9;
    border-radius: 0;
}

.woocommerce-cart .mc-cart-wrapper .quantity .qty-btn,
.woocommerce-cart .mc-cart-wrapper .quantity input.qty {
    height: 38px;
}

.woocommerce-cart .mc-cart-wrapper .quantity .qty-btn {
    width: 30px;
    color: #222;
}

.woocommerce-cart .mc-cart-wrapper .quantity input.qty {
    width: 34px;
    border-color: #e6e6e6;
    font-size: 13px;
}

.woocommerce-cart .mc-item-total {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    color: #111;
}

.mc-item-total-label {
    display: none;
    color: #888;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.woocommerce-cart .mc-item-total .woocommerce-Price-amount {
    font-size: 15px;
    font-weight: 700;
}

.woocommerce-cart .mc-remove-item {
    width: 34px;
    height: 34px;
    border: 1px solid transparent;
    border-radius: 0;
}

.woocommerce-cart .mc-remove-item:hover {
    border-color: #f0d4d4;
    background: #fff7f7;
}

.woocommerce-cart .mc-cart-totals-box {
    padding: 28px;
    border: 1px solid #dedede;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .045);
}

.woocommerce-cart .mc-totals-title {
    margin-bottom: 5px;
    padding: 0;
    border: 0;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -.3px;
    text-transform: none;
}

.mc-totals-subtitle {
    margin: 0 0 20px;
    color: #777;
    font-size: 12px;
    line-height: 1.5;
}

.woocommerce-cart .mc-section-label {
    padding: 18px 0 9px;
    color: #3e3e3e;
    font-size: 10px;
    letter-spacing: .9px;
}

.woocommerce-cart .mc-coupon-input,
.woocommerce-cart .mc-shipping-cep-input {
    min-height: 42px;
    border-color: #d6d6d6;
    border-radius: 0;
    font-size: 12px;
}

.woocommerce-cart .mc-coupon-apply-btn,
.woocommerce-cart .mc-shipping-calc-btn {
    min-height: 42px;
    border-radius: 0;
    padding: 10px 14px;
    font-size: 10px;
}

.woocommerce-cart .mc-shipping-option {
    margin: 0;
    padding: 12px 0;
}

.woocommerce-cart .mc-totals-divider {
    margin: 20px 0;
    background: #dedede;
}

.woocommerce-cart .mc-totals-row {
    margin-bottom: 13px;
    color: #575757;
    font-size: 13px;
}

.woocommerce-cart .mc-totals-grand {
    margin-bottom: 20px !important;
    color: #111 !important;
    font-size: 19px !important;
}

.woocommerce-cart .mc-totals-grand span,
.woocommerce-cart .mc-totals-grand .woocommerce-Price-amount {
    font-size: 20px !important;
}

.woocommerce-cart .mc-checkout-btn {
    padding: 17px 20px;
    border-radius: 0;
    letter-spacing: .7px;
    font-size: 12px;
}

.mc-cart-reassurance {
    display: grid;
    gap: 10px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #e8e8e8;
}

.mc-cart-reassurance span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #676767;
    font-size: 11px;
    font-weight: 600;
}

.mc-cart-reassurance svg {
    color: #111;
    flex: 0 0 auto;
}

.woocommerce-cart .mc-cart-empty {
    min-height: 480px;
    margin: 0 auto;
    padding: 72px 28px;
    border: 1px solid #e5e5e5;
    background: #fcfcfc;
}

@media (max-width: 980px) {
    .woocommerce-cart .mc-cart-layout {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .woocommerce-cart .mc-cart-totals-box {
        position: static;
        max-width: 620px;
    }
}

@media (max-width: 680px) {
    .woocommerce-cart .mc-cart-wrapper {
        padding: 32px 18px 64px;
    }

    .woocommerce-cart .mc-cart-header-bar {
        align-items: flex-end;
        margin-bottom: 24px;
        padding-bottom: 18px;
    }

    .woocommerce-cart .mc-back-to-shop {
        padding: 0;
        font-size: 10px;
        text-align: right;
    }

    .woocommerce-cart .mc-cart-col-headers {
        display: none;
    }

    .woocommerce-cart .mc-cart-item {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 16px 12px;
        min-height: 0;
        padding: 20px 34px 20px 0;
    }

    .woocommerce-cart .mc-cart-item .mc-item-product {
        grid-column: 1 / -1;
        gap: 13px;
    }

    .woocommerce-cart .mc-item-image {
        flex-basis: 84px;
        width: 84px;
    }

    .woocommerce-cart .mc-item-image img,
    .woocommerce-cart .mc-item-image a img {
        width: 84px;
        height: 106px;
    }

    .woocommerce-cart .mc-item-name,
    .woocommerce-cart .mc-item-name a {
        font-size: 12px;
    }

    .woocommerce-cart .mc-item-quantity-col {
        justify-content: flex-start;
    }

    .woocommerce-cart .mc-item-total {
        justify-content: center;
    }

    .mc-item-total-label {
        display: block;
    }

    .woocommerce-cart .mc-item-remove-col {
        position: absolute;
        top: 22px;
        right: 0;
    }

    .woocommerce-cart .mc-cart-totals-box {
        padding: 22px 18px;
    }

    .woocommerce-cart .mc-cart-empty {
        min-height: 420px;
        padding: 56px 18px;
    }
}

/* Moda Cruz UI standard: every actionable button uses the same 5px radius. */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
a.button,
.button,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-cart .mc-checkout-btn,
.woocommerce-cart .mc-cart-empty-cta,
a[class*="-btn"],
button[class*="-btn"] {
    border-radius: 5px !important;
}

/* Product-card actions follow the Moda Cruz button standard. */
ul.products li.product .button,
ul.products li.product .added_to_cart {
    border-radius: 5px !important;
}

/* Cart shipping: options are intentionally shown only after a CEP calculation. */
.woocommerce-cart .mc-back-to-shop::before {
    content: '←';
}

.woocommerce-cart .mc-back-to-shop {
    gap: 8px;
}

.woocommerce-cart .mc-shipping-hint {
    margin: 10px 0 0;
    color: #747474;
    font-size: 11px;
    line-height: 1.45;
}

.woocommerce-cart .mc-shipping-hint-error {
    color: #b42318;
}

.woocommerce-cart #mc-cart-shipping-options[hidden] {
    display: none !important;
}

.woocommerce-cart #mc-cart-shipping-options:not([hidden]) {
    margin-top: 10px;
}

.woocommerce-cart .mc-shipping-calc-btn.is-loading {
    cursor: wait;
    opacity: .62;
}

/* The three purchase guarantees keep a single compact row at every width. */
.woocommerce-cart .mc-cart-reassurance {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 8px;
    white-space: nowrap;
}

.woocommerce-cart .mc-cart-reassurance span {
    gap: 5px;
    font-size: 10px;
}

.woocommerce-cart .mc-cart-reassurance svg {
    width: 14px;
    height: 14px;
}

@media (max-width: 680px) {
    .woocommerce-cart .mc-cart-reassurance {
        gap: 4px;
    }

    .woocommerce-cart .mc-cart-reassurance span {
        gap: 3px;
        font-size: clamp(8px, 2.45vw, 10px);
    }

    .woocommerce-cart .mc-cart-reassurance svg {
        width: 12px;
        height: 12px;
    }
}

/* Cart quantity is a three-part control; prevent browser number controls from creating a fourth block. */
.woocommerce-cart .mc-qty-wrapper {
    width: 96px;
    min-width: 96px;
    overflow: hidden;
}

.woocommerce-cart .mc-cart-wrapper .quantity {
    width: 96px;
    min-width: 96px;
    max-width: 96px;
    box-sizing: border-box;
    overflow: hidden;
}

.woocommerce-cart .mc-cart-wrapper .quantity .qty-btn {
    box-sizing: border-box;
    flex: 0 0 30px;
    min-width: 30px;
    max-width: 30px;
}

.woocommerce-cart .mc-cart-wrapper .quantity input.qty {
    box-sizing: border-box;
    flex: 1 1 0;
    min-width: 0;
    width: 0 !important;
    appearance: textfield !important;
    -webkit-appearance: none !important;
}

/* Checkout payment promotion: the amount follows the selected payment method. */
.woocommerce-checkout-review-order-table tr.mc-chk-coupon-row td {
    padding: 16px 0 20px !important;
}

.woocommerce-checkout .mc-checkout-promo {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 13px 14px;
    color: #176b3a;
    background: #f0f8f3;
    border: 1px solid #b9ddc5;
    border-radius: 5px;
}

.woocommerce-checkout .mc-checkout-promo svg {
    flex: 0 0 auto;
    margin-top: 1px;
}

.woocommerce-checkout .mc-checkout-promo strong {
    display: block;
    color: #135c31;
    font-size: 13px;
    line-height: 1.35;
}

.woocommerce-checkout .mc-checkout-promo p {
    margin: 3px 0 0;
    color: #50715c;
    font-size: 12px;
    line-height: 1.45;
}

.woocommerce-checkout .mc-checkout-promo.is-unavailable {
    color: #8a4b00;
    background: #fff8eb;
    border-color: #ecd19c;
}

.woocommerce-checkout .mc-checkout-promo.is-unavailable strong {
    color: #714000;
}

.woocommerce-checkout .mc-checkout-promo.is-unavailable p {
    color: #866337;
}

/* Retirada — faturamento vem depois do pagamento sem criar campos duplicados. */
.woocommerce-checkout .mc-pickup-billing-section[hidden] {
    display: none !important;
}

body.mc-mode-pickup.woocommerce-checkout #customer_details {
    display: none !important;
}

body.mc-mode-pickup.woocommerce-checkout .mc-pickup-billing-section {
    display: block !important;
    margin-top: 30px;
    padding-top: 28px;
    border-top: 1px solid #e4e4e4;
}

body.mc-mode-pickup.woocommerce-checkout .mc-pickup-billing-section > .mc-checkout-title {
    margin: 0 0 16px !important;
    color: #111;
    font-size: 20px;
    line-height: 1.2;
}

body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-fields .woocommerce-billing-fields > h3 {
    display: none !important;
}

/* A regra da retirada esconde estes campos na área de entrega. Aqui eles são
   exibidos porque agora são, de fato, campos de faturamento. */
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_address_1_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_address_2_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_postcode_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_neighborhood_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_city_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_state_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_number_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-document-fields #billing_document_field {
    display: block !important;
}

body.mc-mode-pickup.woocommerce-checkout .mc-pickup-billing-section .woocommerce-billing-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    width: 100% !important;
}

body.mc-mode-pickup.woocommerce-checkout .mc-pickup-billing-section .woocommerce-billing-fields__field-wrapper .form-row,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-document-fields .form-row {
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.mc-mode-pickup.woocommerce-checkout .mc-pickup-billing-section .input-text,
body.mc-mode-pickup.woocommerce-checkout .mc-pickup-billing-section select {
    min-height: 50px !important;
    height: 50px !important;
    padding: 14px 15px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 5px !important;
    box-shadow: none !important;
}

body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_country_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_postcode_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_phone_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-document-fields #billing_document_field {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_first_name_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_last_name_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_address_2_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_neighborhood_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_city_field,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_state_field {
    width: calc(50% - 5px) !important;
    flex: 0 0 calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
}

body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_address_1_field {
    width: calc(65% - 5px) !important;
    flex: 0 0 calc(65% - 5px) !important;
    max-width: calc(65% - 5px) !important;
}

body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_number_field {
    width: calc(35% - 5px) !important;
    flex: 0 0 calc(35% - 5px) !important;
    max-width: calc(35% - 5px) !important;
}

body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_first_name_field label,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_last_name_field label,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_postcode_field label,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_address_1_field label,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_number_field label,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_address_2_field label,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_neighborhood_field label,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_city_field label,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_phone_field label,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-document-fields #billing_document_field label {
    display: none !important;
}

body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_country_field label,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_state_field label {
    display: block !important;
    position: absolute !important;
    top: 8px !important;
    left: 15px !important;
    z-index: 2;
    margin: 0 !important;
    color: #777 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_country,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_state {
    display: block !important;
    width: 100% !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
    padding-top: 21px !important;
    padding-bottom: 5px !important;
}

/* O Select2 pode ficar residual após a atualização AJAX do checkout. Na
   retirada usamos apenas os selects nativos para não duplicar País/Estado. */
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_country_field .select2-container,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_state_field .select2-container,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_country_field .select2,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_state_field .select2 {
    display: none !important;
}

/* O WooCommerce mantém a classe de acessibilidade do Select2 no select de
   Estado. Na retirada mostramos somente o controle nativo, por isso todas as
   propriedades que o deixavam recortado precisam ser restauradas. */
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_state.select2-hidden-accessible {
    position: static !important;
    top: auto !important;
    left: auto !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    opacity: 1 !important;
}

body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_state.select2-hidden-accessible + .select2,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_country + .select2 {
    display: none !important;
}

body.mc-mode-pickup.woocommerce-checkout .mc-pickup-additional-information {
    margin-top: 32px;
}

body.mc-mode-pickup.woocommerce-checkout .mc-pickup-additional-information .mc-checkout-section-title {
    margin: 0 0 14px !important;
    color: #111;
    font-size: 16px;
}

body.mc-mode-pickup.woocommerce-checkout #mc-pickup-document-fields .woocommerce-invalid .input-text {
    border-color: #d3222a !important;
}

/* O wrapper padrão do gateway é inline; sem esta regra o CPF/CNPJ não ocupa
   toda a linha, apesar de o seu campo pai estar em 100%. */
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-document-fields .woocommerce-input-wrapper,
body.mc-mode-pickup.woocommerce-checkout #mc-pickup-document-fields #billing_document {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.mc-mode-pickup.woocommerce-checkout .mc-pickup-document-error {
    display: block;
    margin-top: 6px;
    color: #d3222a;
    font-size: 12px;
    line-height: 1.35;
}

body.mc-mode-pickup.woocommerce-checkout #mc-pickup-payment-actions .place-order {
    margin: 30px 0 0 !important;
}

@media (max-width: 640px) {
    body.mc-mode-pickup.woocommerce-checkout .mc-pickup-billing-section {
        margin-top: 24px;
        padding-top: 24px;
    }

    body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section .woocommerce-billing-fields__field-wrapper .form-row,
    body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_address_1_field,
    body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_number_field,
    body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_first_name_field,
    body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_last_name_field,
    body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_address_2_field,
    body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_neighborhood_field,
    body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_city_field,
    body.mc-mode-pickup.woocommerce-checkout #mc-pickup-billing-section #billing_state_field {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* Calculador de frete — página individual do produto ------------------- */
.single-product div.product .summary .mc-product-shipping {
    margin: 16px 0 28px;
    padding: 13px;
    border: 1px solid #e2e2e2;
    border-radius: 5px;
    background: #fff;
    color: #171717;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.mc-product-shipping__heading {
    margin-bottom: 11px;
}

.mc-product-shipping__heading strong {
    color: #171717;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.mc-product-shipping__hint {
    color: #737373;
    font-size: 12px;
    line-height: 1.4;
}

.mc-product-shipping__form {
    display: flex;
    gap: 8px;
}

.mc-product-shipping__postcode {
    width: 100%;
    min-width: 0;
    height: 40px;
    padding: 0 11px;
    border: 1px solid #d8d8d8;
    border-radius: 5px;
    color: #171717;
    background: #fff;
    font: inherit;
    font-size: 14px;
    outline: none;
    box-sizing: border-box;
}

.mc-product-shipping__postcode::placeholder {
    color: #8a8a8a;
    opacity: 1;
}

.mc-product-shipping__postcode:focus {
    border-color: #171717;
    box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.1);
}

.mc-product-shipping__submit {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 116px;
    height: 40px;
    padding: 0 15px;
    border: 1px solid #111;
    border-radius: 5px;
    color: #fff;
    background: #111;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    transition: background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.mc-product-shipping__submit:hover {
    border-color: #303030;
    background: #303030;
}

.mc-product-shipping__submit:focus-visible {
    outline: 3px solid rgba(17, 17, 17, 0.22);
    outline-offset: 3px;
}

.mc-product-shipping__submit:disabled {
    cursor: wait;
    opacity: 0.72;
}

.mc-product-shipping__submit svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 1.8;
}

.mc-product-shipping__submit.is-loading svg {
    animation: mc-product-shipping-spin 0.85s linear infinite;
}

.mc-product-shipping__hint {
    margin: 10px 0 0;
}

.mc-product-shipping__help {
    display: inline-block;
    margin-top: 11px;
    color: #111 !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.mc-product-shipping__help:hover {
    color: #444 !important;
}

.mc-product-shipping__help:visited {
    color: #111 !important;
}

.mc-product-shipping__hint.is-error {
    color: #bf2929;
}

.mc-product-shipping__results {
    display: grid;
    margin-top: 27px;
    border-top: 1px solid #ececec;
}

.mc-product-shipping__results:empty {
    display: none;
}

.mc-product-shipping__rate {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 12px;
    border-bottom: 1px solid #ececec;
}

.mc-product-shipping__rate:last-child {
    border-bottom: 0;
}

.mc-product-shipping__rate-info {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.mc-product-shipping__rate-info strong {
    color: #242424;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.mc-product-shipping__rate-info span {
    color: #777;
    font-size: 12px;
    line-height: 1.3;
}

.mc-product-shipping__rate-price {
    flex: 0 0 auto;
    color: #171717;
    font-size: 1rem;
    font-weight: 700;
    white-space: nowrap;
}

/* wc_price() insere spans internos que recebem o tamanho do preço principal;
   dentro do frete, todos devem permanecer em 1rem. */
.single-product div.product .summary.entry-summary .mc-product-shipping__rate-price .woocommerce-Price-amount,
.single-product div.product .summary.entry-summary .mc-product-shipping__rate-price .woocommerce-Price-amount bdi,
.single-product div.product .summary.entry-summary .mc-product-shipping__rate-price .woocommerce-Price-currencySymbol {
    font-size: 1rem !important;
    line-height: 1.2 !important;
}

.mc-product-shipping__rate-price.is-free {
    color: #168448;
}

@keyframes mc-product-shipping-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 480px) {
    .single-product div.product .summary .mc-product-shipping {
        margin-bottom: 24px;
        padding: 14px;
    }

    .mc-product-shipping__form {
        flex-direction: column;
    }

    .mc-product-shipping__submit {
        width: 100%;
    }
}

/* Ajustes finais de preço e ritmo visual da página de produto ------------ */
/* O valor atual ganha destaque; o valor original permanece legível, porém
   secundário. Os seletores incluem os preços atualizados por variação. */
.single-product div.product .summary p.price > .woocommerce-Price-amount,
.single-product div.product .summary p.price > .woocommerce-Price-amount bdi,
.single-product div.product .summary p.price > .woocommerce-Price-amount .woocommerce-Price-currencySymbol,
.single-product div.product .summary .price ins .woocommerce-Price-amount,
.single-product div.product .summary .price ins .woocommerce-Price-amount bdi,
.single-product div.product .summary .price ins .woocommerce-Price-currencySymbol,
.woocommerce-variation-price .price > .woocommerce-Price-amount,
.woocommerce-variation-price .price > .woocommerce-Price-amount bdi,
.woocommerce-variation-price .price > .woocommerce-Price-amount .woocommerce-Price-currencySymbol,
.woocommerce-variation-price .price ins .woocommerce-Price-amount,
.woocommerce-variation-price .price ins .woocommerce-Price-amount bdi,
.woocommerce-variation-price .price ins .woocommerce-Price-currencySymbol {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

.single-product div.product .summary .price del,
.single-product div.product .summary .price del .woocommerce-Price-amount,
.single-product div.product .summary .price del .woocommerce-Price-amount bdi,
.woocommerce-variation-price .price del,
.woocommerce-variation-price .price del .woocommerce-Price-amount,
.woocommerce-variation-price .price del .woocommerce-Price-amount bdi {
    font-size: 1.25rem !important;
    line-height: 1.15 !important;
}

/* Menos espaço entre as escolhas de variação, compra e calculador de frete. */
.single-product div.product form.variations_form table.variations {
    margin-bottom: 8px !important;
}

.single-product div.product form.variations_form table.variations th,
.single-product div.product form.variations_form table.variations td {
    padding-bottom: 6px !important;
}

.single-product div.product form.variations_form .mc-swatches-wrap {
    margin-bottom: 8px !important;
}

.single-product .single_add_to_cart_button {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    border-radius: 5px !important;
}

.single-product div.product .summary .mc-product-shipping {
    margin-top: 4px !important;
}

/* Cart mobile: override the legacy desktop grid that was still forced by
   !important declarations further up this stylesheet. */
@media (max-width: 680px) {
    .woocommerce-cart .mc-cart-wrapper {
        padding: 30px 18px 64px;
    }

    .woocommerce-cart .mc-cart-col-headers {
        display: none !important;
    }

    .woocommerce-cart .mc-cart-item {
        position: relative;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "product product"
            "quantity total";
        align-items: center;
        column-gap: 16px !important;
        row-gap: 16px !important;
        min-height: 0;
        padding: 20px 0 !important;
        border-bottom: 1px solid #e9e9e9;
    }

    .woocommerce-cart .mc-cart-item .mc-item-product {
        grid-area: product;
        min-width: 0;
        padding-right: 34px;
        gap: 13px;
    }

    .woocommerce-cart .mc-item-image,
    .woocommerce-cart .mc-item-image img,
    .woocommerce-cart .mc-item-image a img {
        flex: 0 0 84px;
        width: 84px;
        height: 106px;
    }

    .woocommerce-cart .mc-item-details {
        min-width: 0;
    }

    .woocommerce-cart .mc-item-name,
    .woocommerce-cart .mc-item-name a {
        font-size: 13px;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .woocommerce-cart .mc-item-details .wc-item-meta,
    .woocommerce-cart dl.variation {
        display: grid !important;
        grid-template-columns: max-content minmax(0, 1fr);
        gap: 4px 6px !important;
        margin-top: 8px !important;
    }

    .woocommerce-cart .mc-item-details .wc-item-meta li,
    .woocommerce-cart dl.variation dt,
    .woocommerce-cart dl.variation dd {
        float: none !important;
        min-width: 0;
        margin: 0 !important;
    }

    .woocommerce-cart .mc-item-quantity-col {
        grid-area: quantity;
        justify-self: start;
        justify-content: flex-start;
    }

    .woocommerce-cart .mc-item-total {
        grid-area: total;
        justify-self: end;
        align-items: flex-end;
        text-align: right;
    }

    .woocommerce-cart .mc-item-total-label {
        display: block;
    }

    .woocommerce-cart .mc-item-remove-col {
        position: absolute;
        top: 18px;
        right: 0;
    }

    .woocommerce-cart .mc-remove-item {
        width: 30px;
        height: 30px;
    }

    .woocommerce-cart .mc-cart-totals-box {
        width: 100%;
        box-sizing: border-box;
        padding: 22px 18px;
    }
}

/* The chosen shipping method must remain visibly selected after its AJAX
   response replaces the list of rates. */
.woocommerce-cart .mc-shipping-option .mc-shipping-radio {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    margin: 3px 0 0;
    border: 1px solid #9b9b9b;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    flex: 0 0 16px;
}

.woocommerce-cart .mc-shipping-option .mc-shipping-radio:checked {
    border-color: #111;
    background: radial-gradient(circle, #111 0 4px, #fff 4.5px 100%);
}

.woocommerce-cart .mc-shipping-option.mc-shipping-selected .mc-shipping-option-name {
    color: #111;
    font-weight: 700;
}

/* My Account mobile: a complete single-column layout that overrides the
   old sidebar and clipped horizontal tabs. */
@media (max-width: 768px) {
    body.logged-in.woocommerce-account .site-main,
    body.logged-in.woocommerce-account #primary.site-main {
        width: 100%;
        max-width: none !important;
        box-sizing: border-box;
        padding: 34px 16px 64px !important;
        overflow: hidden;
    }

    body.logged-in.woocommerce-account #primary.site-main div.woocommerce {
        display: flex !important;
        flex-direction: column !important;
        gap: 22px !important;
        position: relative;
        width: 100% !important;
        padding: 0 !important;
    }

    body.logged-in.woocommerce-account .mc-account-user-header {
        width: 100%;
        margin: 0 !important;
    }

    body.logged-in.woocommerce-account .mc-account-greeting {
        color: #171717;
        font-size: 17px;
        font-weight: 700;
    }

    body.logged-in.woocommerce-account .mc-account-email {
        overflow-wrap: anywhere;
    }

    body.logged-in.woocommerce-account #primary.site-main .woocommerce-MyAccount-navigation,
    body.logged-in.woocommerce-account #primary.site-main .woocommerce-MyAccount-content {
        width: 100% !important;
        min-width: 0;
        margin: 0 !important;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px !important;
        width: 100%;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 0 !important;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li {
        width: auto !important;
        min-width: 0;
        margin: 0 !important;
        border: 0 !important;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        display: flex !important;
        min-height: 46px;
        align-items: center;
        justify-content: center;
        padding: 10px 8px !important;
        color: #555 !important;
        background: #fff;
        border: 1px solid #dedede !important;
        border-radius: 5px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 1.2;
        text-align: center;
        white-space: normal !important;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li a svg {
        display: none !important;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
        color: #fff !important;
        background: #111 !important;
        border-color: #111 !important;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
        max-width: 100% !important;
        overflow: visible !important;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message--info {
        display: flex !important;
        flex-direction: column;
        align-items: stretch !important;
        gap: 14px;
        margin: 0 !important;
        padding: 18px !important;
        color: #555 !important;
        background: #fafafa !important;
        border: 1px solid #e3e3e3 !important;
        border-radius: 5px !important;
        font-size: 14px !important;
        line-height: 1.45;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message--info .button {
        width: 100%;
        box-sizing: border-box;
        padding: 14px 16px !important;
        border-radius: 5px !important;
        text-align: center;
    }

    body.logged-in.woocommerce-account .woocommerce-orders-table,
    body.logged-in.woocommerce-account .my_account_orders {
        max-width: 100%;
        overflow: hidden;
    }

    body.logged-in.woocommerce-account .mc-dados-form > div[style*="display:flex"],
    body.logged-in.woocommerce-account .mc-addr-form .mc-form-row,
    body.logged-in.woocommerce-account .mc-addr-btns {
        flex-direction: column !important;
        gap: 14px !important;
    }

    body.logged-in.woocommerce-account .mc-dados-form input,
    body.logged-in.woocommerce-account .mc-addr-form input,
    body.logged-in.woocommerce-account .mc-addr-form select,
    body.logged-in.woocommerce-account .mc-dados-submit,
    body.logged-in.woocommerce-account .mc-addr-btns > * {
        width: 100% !important;
        box-sizing: border-box;
    }

    body.logged-in.woocommerce-account .mc-addr-card {
        flex-direction: column !important;
        gap: 14px;
        padding: 16px !important;
    }

    body.logged-in.woocommerce-account .mc-addr-left {
        width: 100%;
        margin: -16px -16px 0 !important;
        padding: 12px 16px !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
    }

    body.logged-in.woocommerce-orders .woocommerce-MyAccount-content > a:not(.button) {
        display: none !important;
    }
}

/* The login script moves WooCommerce authentication errors below the matching
   field. Hide the original notice from the first paint to prevent a flash on
   refresh; the lost-password screen keeps its standard notices. */
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password) .woocommerce-notices-wrapper > .woocommerce-error {
    display: none !important;
}

.mc-inline-error {
    display: block;
    margin-top: 7px;
    color: #c62828;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}

/* -------------------------------------------------------------------------
   Minha conta — superfície única para dados, endereços e pedidos.
   Estas regras ficam no fim para neutralizar os estilos antigos em linha
   desses endpoints e manter a mesma linguagem visual do restante da loja.
   ------------------------------------------------------------------------- */
body.logged-in.woocommerce-account #primary.site-main {
    max-width: 1180px !important;
    padding: 54px 24px 76px !important;
}

body.logged-in.woocommerce-account #primary.site-main div.woocommerce {
    grid-template-columns: 238px minmax(0, 1fr) !important;
    gap: 42px !important;
}

body.logged-in.woocommerce-account .mc-account-user-header {
    margin: 0 0 4px !important;
    padding: 0 0 24px;
    border-bottom: 1px solid #e8e8e8;
}

body.logged-in.woocommerce-account .mc-account-greeting {
    color: #111;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

body.logged-in.woocommerce-account .mc-account-email {
    margin-top: 5px;
    color: #777;
    font-size: 14px;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
    border: 1px solid #e3e3e3;
    border-radius: 5px;
    overflow: hidden;
    background: #fff;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-color: #ededed;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    min-height: 48px;
    padding: 13px 15px !important;
    color: #4d4d4d !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: background-color .18s ease, color .18s ease;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li a svg {
    width: 17px;
    height: 17px;
    color: currentColor !important;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: #111 !important;
    background: #f7f7f7;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:hover {
    color: #fff !important;
    background: #111 !important;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
    min-width: 0;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-content h2,
body.logged-in.woocommerce-account .mc-meus-dados-container > h2,
body.logged-in.woocommerce-account .mc-section-title {
    margin: 0 0 24px !important;
    color: #111 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.2;
    text-transform: none !important;
}

body.logged-in.woocommerce-account .mc-meus-dados-container,
body.logged-in.woocommerce-account .mc-addr-wrap {
    width: 100%;
    max-width: 760px;
}

body.logged-in.woocommerce-account .mc-dados-form,
body.logged-in.woocommerce-account .mc-addr-form {
    padding: 26px;
    border: 1px solid #e1e1e1;
    border-radius: 5px;
    background: #fff;
    box-sizing: border-box;
}

body.logged-in.woocommerce-account .mc-dados-form > div[style*="display:flex"] {
    display: grid !important;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr);
    gap: 18px !important;
    margin: 0 0 18px !important;
}

body.logged-in.woocommerce-account .mc-dados-form > div[style*="display:flex"]:nth-of-type(2) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.logged-in.woocommerce-account .mc-dados-form > div[style*="display:flex"]:nth-of-type(3) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 24px !important;
}

body.logged-in.woocommerce-account .mc-addr-form .mc-form-row {
    display: grid !important;
    gap: 18px !important;
    margin: 0 0 18px !important;
}

body.logged-in.woocommerce-account .mc-addr-form .mc-form-row-3 {
    grid-template-columns: minmax(116px, .72fr) minmax(0, 1.35fr) minmax(100px, .56fr);
}

body.logged-in.woocommerce-account .mc-addr-form .mc-form-row-3:nth-of-type(2) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.logged-in.woocommerce-account .mc-addr-form .mc-form-row-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 24px !important;
}

body.logged-in.woocommerce-account .mc-dados-form label,
body.logged-in.woocommerce-account .mc-addr-form .mc-form-field label,
body.logged-in.woocommerce-account .woocommerce-address-fields .form-row label,
body.logged-in.woocommerce-account .woocommerce-EditAccountForm .form-row label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #4a4a4a !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 1.3;
    text-transform: none !important;
}

/* Os asteriscos de campo obrigatório devem acompanhar o rótulo, não ficar
   alinhados à extremidade do input pelos estilos antigos em linha. */
body.logged-in.woocommerce-account .mc-dados-form label span[style*="float"],
body.logged-in.woocommerce-account .mc-addr-form .mc-form-field label span[style*="float"] {
    float: none !important;
    display: inline !important;
    margin-left: 3px;
}

body.logged-in.woocommerce-account .mc-dados-form input,
body.logged-in.woocommerce-account .mc-dados-form select,
body.logged-in.woocommerce-account .mc-addr-form input,
body.logged-in.woocommerce-account .mc-addr-form select,
body.logged-in.woocommerce-account .woocommerce-address-fields input,
body.logged-in.woocommerce-account .woocommerce-address-fields select,
body.logged-in.woocommerce-account .woocommerce-EditAccountForm input,
body.logged-in.woocommerce-account .woocommerce-EditAccountForm select {
    width: 100% !important;
    min-height: 46px;
    padding: 11px 12px !important;
    box-sizing: border-box;
    color: #202020 !important;
    background: #fff !important;
    border: 1px solid #d7d7d7 !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    font-size: 14px !important;
}

body.logged-in.woocommerce-account .mc-dados-form input[readonly],
body.logged-in.woocommerce-account .mc-dados-form select:disabled {
    color: #777 !important;
    background: #f7f7f7 !important;
    cursor: not-allowed;
}

body.logged-in.woocommerce-account .mc-dados-form input:focus,
body.logged-in.woocommerce-account .mc-dados-form select:focus,
body.logged-in.woocommerce-account .mc-addr-form input:focus,
body.logged-in.woocommerce-account .mc-addr-form select:focus,
body.logged-in.woocommerce-account .woocommerce-address-fields input:focus,
body.logged-in.woocommerce-account .woocommerce-address-fields select:focus,
body.logged-in.woocommerce-account .woocommerce-EditAccountForm input:focus,
body.logged-in.woocommerce-account .woocommerce-EditAccountForm select:focus {
    border-color: #111 !important;
    outline: 0;
}

body.logged-in.woocommerce-account .mc-dados-submit,
body.logged-in.woocommerce-account .mc-addr-save,
body.logged-in.woocommerce-account .woocommerce-address-fields button[type="submit"],
body.logged-in.woocommerce-account .woocommerce-EditAccountForm button[type="submit"] {
    min-height: 46px;
    padding: 12px 20px !important;
    color: #fff !important;
    background: #111 !important;
    border: 1px solid #111 !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.2;
    text-transform: none !important;
}

body.logged-in.woocommerce-account .mc-dados-submit:hover,
body.logged-in.woocommerce-account .mc-addr-save:hover,
body.logged-in.woocommerce-account .woocommerce-address-fields button[type="submit"]:hover,
body.logged-in.woocommerce-account .woocommerce-EditAccountForm button[type="submit"]:hover {
    background: #303030 !important;
    border-color: #303030 !important;
}

body.logged-in.woocommerce-account .mc-addr-btns {
    display: flex !important;
    align-items: center;
    gap: 12px !important;
    margin: 0 !important;
}

body.logged-in.woocommerce-account .mc-addr-cancel {
    min-height: 46px;
    padding: 12px 20px !important;
    box-sizing: border-box;
    color: #222 !important;
    background: #fff !important;
    border: 1px solid #d1d1d1 !important;
    border-radius: 5px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2;
    text-transform: none !important;
}

body.logged-in.woocommerce-account .mc-addr-card {
    position: relative;
    display: block !important;
    min-height: 96px;
    margin: 0 0 12px !important;
    padding: 20px 100px 20px 20px !important;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #dedede !important;
    border-radius: 5px;
}

body.logged-in.woocommerce-account .mc-addr-left {
    position: absolute;
    top: 17px;
    right: 52px;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

body.logged-in.woocommerce-account .mc-addr-edit-link {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px;
    color: #222 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

body.logged-in.woocommerce-account .mc-addr-edit-link svg {
    width: 16px;
    height: 16px;
}

body.logged-in.woocommerce-account .mc-addr-edit-link span {
    margin: 0 !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

body.logged-in.woocommerce-account .mc-addr-body {
    display: block;
    min-width: 0;
}

body.logged-in.woocommerce-account .mc-addr-body strong {
    display: block;
    margin-bottom: 6px;
    color: #111 !important;
    font-size: 15px;
    line-height: 1.35;
}

body.logged-in.woocommerce-account .mc-addr-body span {
    color: #707070 !important;
    font-size: 13px !important;
    line-height: 1.45;
}

body.logged-in.woocommerce-account .mc-addr-del {
    position: absolute;
    top: 11px;
    right: 18px;
    width: 24px;
    height: 24px;
    color: #777 !important;
    font-size: 23px !important;
    font-weight: 400 !important;
    line-height: 20px;
    text-align: center;
}

body.logged-in.woocommerce-account .mc-addr-del:hover {
    color: #111 !important;
}

body.logged-in.woocommerce-account .mc-btn-new-addr {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin: 6px 0 0 !important;
    padding: 12px 18px !important;
    box-sizing: border-box;
    color: #fff !important;
    background: #111 !important;
    border: 1px solid #111 !important;
    border-radius: 5px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2;
    text-transform: none !important;
}

body.logged-in.woocommerce-account .mc-btn-new-addr:hover {
    color: #fff !important;
    background: #303030 !important;
    border-color: #303030 !important;
}

body.logged-in.woocommerce-account .woocommerce-orders-table {
    border: 1px solid #e1e1e1;
    border-radius: 5px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}

body.logged-in.woocommerce-account .woocommerce-orders-table th {
    padding: 14px 16px;
    color: #666;
    background: #fafafa;
    border-bottom: 1px solid #e7e7e7;
    font-size: 11px;
    letter-spacing: .04em;
    text-transform: none;
}

body.logged-in.woocommerce-account .woocommerce-orders-table td {
    padding: 16px;
}

@media (max-width: 768px) {
    body.logged-in.woocommerce-account #primary.site-main {
        padding: 30px 20px 64px !important;
    }

    body.logged-in.woocommerce-account #primary.site-main div.woocommerce {
        display: flex !important;
        flex-direction: column !important;
        gap: 22px !important;
    }

    body.logged-in.woocommerce-account .mc-account-user-header {
        padding-bottom: 20px;
    }

    body.logged-in.woocommerce-account .mc-account-greeting {
        font-size: 19px;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 !important;
        border: 0;
        border-radius: 0;
        overflow: visible;
        background: transparent;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li {
        border: 0 !important;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        min-height: 46px;
        margin: 0 4px 8px !important;
        padding: 10px 8px !important;
        color: #555 !important;
        background: #fff !important;
        border: 1px solid #dedede !important;
        border-radius: 5px !important;
        font-size: 12px !important;
        text-align: center;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:hover {
        color: #fff !important;
        background: #111 !important;
        border-color: #111 !important;
    }

    /* O logout é uma ação secundária: no celular ele fica no cabeçalho da
       conta como ícone, em vez de ocupar uma célula da grade de atalhos. */
    body.logged-in.woocommerce-account #primary.site-main .woocommerce-MyAccount-navigation-link--customer-logout {
        position: absolute !important;
        top: 1px;
        right: 0;
        width: 38px !important;
        height: 38px;
        margin: 0 !important;
        z-index: 2;
    }

    body.logged-in.woocommerce-account #primary.site-main .woocommerce-MyAccount-navigation-link--customer-logout a {
        display: grid !important;
        width: 38px;
        height: 38px;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 0 !important;
        place-items: center;
        line-height: 1 !important;
        position: relative !important;
        color: #222 !important;
        background: transparent !important;
        border: 1px solid #dedede !important;
        border-radius: 50% !important;
        font-size: 0 !important;
    }

    body.logged-in.woocommerce-account #primary.site-main .woocommerce-MyAccount-navigation-link--customer-logout a svg {
        display: block !important;
        width: 18px;
        height: 18px;
        margin: 0 !important;
        padding: 0 !important;
        position: absolute !important;
        top: 50% !important;
        right: auto !important;
        bottom: auto !important;
        left: 50% !important;
        flex: 0 0 18px;
        transform: translate(-50%, -50%) !important;
        vertical-align: middle !important;
        color: currentColor !important;
    }

    body.logged-in.woocommerce-account .mc-meus-dados-container,
    body.logged-in.woocommerce-account .mc-addr-wrap {
        max-width: none;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-content h2,
    body.logged-in.woocommerce-account .mc-meus-dados-container > h2,
    body.logged-in.woocommerce-account .mc-section-title {
        margin-bottom: 18px !important;
        font-size: 20px !important;
    }

    body.logged-in.woocommerce-account .mc-dados-form,
    body.logged-in.woocommerce-account .mc-addr-form {
        padding: 18px;
    }

    body.logged-in.woocommerce-account .mc-dados-form > div[style*="display:flex"],
    body.logged-in.woocommerce-account .mc-dados-form > div[style*="display:flex"]:nth-of-type(2),
    body.logged-in.woocommerce-account .mc-dados-form > div[style*="display:flex"]:nth-of-type(3),
    body.logged-in.woocommerce-account .mc-addr-form .mc-form-row,
    body.logged-in.woocommerce-account .mc-addr-form .mc-form-row-3,
    body.logged-in.woocommerce-account .mc-addr-form .mc-form-row-3:nth-of-type(2),
    body.logged-in.woocommerce-account .mc-addr-form .mc-form-row-2 {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
        margin-bottom: 14px !important;
    }

    body.logged-in.woocommerce-account .mc-addr-btns {
        flex-direction: column !important;
        align-items: stretch;
    }

    body.logged-in.woocommerce-account .mc-dados-submit,
    body.logged-in.woocommerce-account .mc-addr-save,
    body.logged-in.woocommerce-account .mc-addr-cancel,
    body.logged-in.woocommerce-account .mc-btn-new-addr {
        width: 100%;
    }

    body.logged-in.woocommerce-account .mc-addr-card {
        min-height: 118px;
        padding: 18px 18px 52px !important;
    }

    body.logged-in.woocommerce-account .mc-addr-left {
        top: auto;
        right: auto;
        bottom: 16px;
        left: 18px;
    }

    body.logged-in.woocommerce-account .mc-addr-del {
        top: 13px;
        right: 13px;
    }

    body.logged-in.woocommerce-account .woocommerce-orders-table,
    body.logged-in.woocommerce-account .woocommerce-orders-table tbody,
    body.logged-in.woocommerce-account .woocommerce-orders-table tr,
    body.logged-in.woocommerce-account .woocommerce-orders-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    body.logged-in.woocommerce-account .woocommerce-orders-table thead {
        display: none;
    }

    body.logged-in.woocommerce-account .woocommerce-orders-table {
        border: 0;
        border-radius: 0;
    }

    body.logged-in.woocommerce-account .woocommerce-orders-table tr {
        margin: 0 0 12px;
        padding: 14px 16px;
        background: #fff;
        border: 1px solid #e1e1e1;
        border-radius: 5px;
    }

    body.logged-in.woocommerce-account .woocommerce-orders-table td {
        display: flex;
        justify-content: space-between;
        gap: 14px;
        padding: 7px 0;
        border: 0;
        font-size: 13px;
        text-align: right;
    }

    body.logged-in.woocommerce-account .woocommerce-orders-table td::before {
        content: attr(data-title);
        flex: 0 0 auto;
        color: #666;
        font-weight: 600;
        text-align: left;
    }
}

/* Sempre ancora o favorito ao card, e não à largura da vitrine. */
ul.products li.product {
    position: relative;
}

ul.products li.product > .product-wishlist-btn,
ul.products li.product .product-wishlist-btn {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    margin: 0 !important;
    z-index: 20 !important;
}

@media (max-width: 768px) {
    ul.products li.product > .product-wishlist-btn,
    ul.products li.product .product-wishlist-btn {
        top: 10px !important;
        right: 10px !important;
    }
}

/* Recuperacao de senha: mesma hierarquia visual da Minha Conta, sem o layout
   legado espremido e com leitura confortavel em telas pequenas. */
body.woocommerce-lost-password #primary.site-main,
body.woocommerce-lost-password .site-main {
    width: 100% !important;
    max-width: 1180px !important;
    box-sizing: border-box;
    margin: 0 auto !important;
    padding: 64px 24px 88px !important;
}

body.woocommerce-lost-password .woocommerce {
    width: 100%;
    max-width: 520px !important;
    display: block !important;
    float: none !important;
    margin: 0 auto !important;
}

/* A sessão do administrador pode manter a classe .logged-in na página de
   senha. Esta regra precisa vencer o grid da área logada para não reservar
   uma coluna invisível à esquerda do card. */
body.woocommerce-account.woocommerce-lost-password #primary.site-main .woocommerce {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-areas: none !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 520px !important;
    margin: 0 auto !important;
}

body.woocommerce-lost-password #primary.site-main article,
body.woocommerce-lost-password #primary.site-main .entry-content {
    width: 100% !important;
    max-width: none !important;
}

body.woocommerce-lost-password .woocommerce-notices-wrapper {
    width: 100%;
    max-width: none !important;
    clear: both !important;
    float: none !important;
    margin: 0 0 16px !important;
}

body.woocommerce-lost-password .woocommerce-error,
body.woocommerce-lost-password .woocommerce-message,
body.woocommerce-lost-password .woocommerce-info {
    position: static !important;
    box-sizing: border-box;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 16px 14px 42px !important;
    color: #7f1d1d !important;
    background: #fff7f7 !important;
    border: 1px solid #fecaca !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

body.woocommerce-lost-password .woocommerce-error::before {
    top: 15px !important;
    left: 16px !important;
    color: #c62828 !important;
}

/* A confirmation is a successful action, not an error. */
body.woocommerce-lost-password .woocommerce-message {
    color: #166534 !important;
    background: #f0fdf4 !important;
    border-color: #bbf7d0 !important;
}

body.woocommerce-lost-password .woocommerce-info {
    color: #1e3a8a !important;
    background: #eff6ff !important;
    border-color: #bfdbfe !important;
}

.mc-password-page {
    width: 100%;
}

.mc-password-card {
    box-sizing: border-box;
    width: 100%;
    padding: 38px 40px 34px;
    text-align: center;
    background: #fff;
    border: 1px solid #e4e4e4;
    border-radius: 5px;
    box-shadow: 0 16px 36px rgba( 0, 0, 0, .05 );
}

.mc-password-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0 0 16px;
    color: #111;
    border: 1px solid #111;
    border-radius: 50%;
}

.mc-password-icon svg {
    width: 21px;
    height: 21px;
}

.mc-password-eyebrow {
    margin: 0 0 8px !important;
    color: #777 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .11em;
    line-height: 1.2 !important;
}

.mc-password-card h1 {
    margin: 0 0 10px !important;
    color: #111 !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    letter-spacing: -.025em;
    line-height: 1.15 !important;
    text-transform: none !important;
}

.mc-password-intro {
    max-width: 390px;
    margin: 0 auto 26px !important;
    color: #666 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.mc-password-form {
    display: block;
    margin: 0 !important;
    text-align: left;
}

.mc-password-form .form-row {
    float: none !important;
    box-sizing: border-box;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.mc-password-form label {
    display: block;
    margin: 0 0 7px;
    color: #222;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
}

.mc-password-form .required {
    color: #c62828;
}

.mc-password-form input.input-text {
    box-sizing: border-box;
    width: 100% !important;
    min-height: 50px;
    padding: 12px 14px !important;
    color: #111;
    background: #fff;
    border: 1px solid #d7d7d7 !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    font-size: 15px;
}

.mc-password-form input.input-text:focus {
    border-color: #111 !important;
    outline: 0;
}

/* The theme intentionally does not show WooCommerce's password toggle. */
.mc-password-form .show-password-input {
    display: none !important;
}

.mc-password-form button.button {
    box-sizing: border-box;
    width: 100% !important;
    min-height: 50px;
    margin: 4px 0 0 !important;
    padding: 13px 18px !important;
    color: #fff !important;
    background: #111 !important;
    border: 1px solid #111 !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: center;
    text-transform: uppercase;
}

.mc-password-form button.button:hover,
.mc-password-form button.button:focus {
    color: #fff !important;
    background: #333 !important;
    border-color: #333 !important;
}

.mc-password-help,
.mc-password-back {
    margin: 17px 0 0 !important;
    color: #666;
    font-size: 13px;
    line-height: 1.5;
}

.mc-password-help a,
.mc-password-back a {
    color: #111;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.mc-password-back {
    margin-top: 12px !important;
}

.mc-password-confirmation__icon {
    color: #166534;
    border-color: #86efac;
    background: #f0fdf4;
}

.mc-password-confirmation__icon svg {
    width: 22px;
    height: 22px;
}

.mc-password-confirmation__note {
    max-width: 390px;
    margin: -10px auto 24px !important;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.55;
}

.mc-password-confirmation__button {
    display: inline-block;
    box-sizing: border-box;
    min-height: 46px;
    padding: 14px 22px;
    color: #fff !important;
    background: #111;
    border: 1px solid #111;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
}

.mc-password-confirmation__button:hover,
.mc-password-confirmation__button:focus {
    color: #fff !important;
    background: #333;
    border-color: #333;
}

@media (max-width: 600px) {
    body.woocommerce-lost-password #primary.site-main,
    body.woocommerce-lost-password .site-main {
        padding: 34px 16px 56px !important;
    }

    .mc-password-card {
        padding: 30px 20px 26px;
    }

    .mc-password-card h1 {
        font-size: 24px !important;
    }

    .mc-password-intro {
        font-size: 14px !important;
    }
}

/* Evita o zoom automático do Safari ao focar campos em iPhone. */
@media (max-width: 768px) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    select,
    textarea {
        font-size: 16px !important;
    }
}

/* Pedido aberto no celular: o CSS legado zerava o respiro da coluna cinza. */
@media (max-width: 768px) {
    body.woocommerce-view-order .mc-vo-adidas-left {
        box-sizing: border-box;
        padding: 24px 20px 26px !important;
    }
}

/* Os cards dos carrosseis usam 10px de padding lateral. Compensamos apenas
   neles para manter o coracao afastado da borda da imagem. */
.bestsellers-carousel .carousel-container ul.products li.product > .product-wishlist-btn,
.bestsellers-carousel .carousel-container ul.products li.product .product-wishlist-btn {
    right: 22px !important;
}
/* PagBank: suppress only decorative gateway label icons, never payment QR images. */
.woocommerce-checkout #payment li.payment_method_pagbank_credit_card > label > img,
.woocommerce-checkout #payment li.payment_method_pagbank_debit_card > label > img,
.woocommerce-checkout #payment li.payment_method_pagbank_pix > label > img {
    display: none !important;
}

/* PagBank checkout refinements. Keep branding modest without claiming unverified card brands. */
.woocommerce-checkout #payment ul.payment_methods li.payment_method_pagbank_credit_card > label::after,
.woocommerce-checkout #payment ul.payment_methods li.payment_method_pagbank_debit_card > label::after {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 24'%3E%3Crect x='1' y='1' width='32' height='22' rx='4' fill='white' stroke='%2396a0ad'/%3E%3Cpath d='M1 7h32M6 17h7' stroke='%2396a0ad' stroke-width='3'/%3E%3C/svg%3E");
    width: 34px;
    height: 24px;
    margin-left: auto;
    padding: 0;
    font-size: 11px;
    color: #555;
}
.woocommerce-checkout #payment li[class*="payment_method_pagbank_"] > label {
    min-height: 48px;
    gap: 10px;
    align-items: center;
}
.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew label {
    display: inline;
    font-size: 13px;
    line-height: 1.5;
}
.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew input {
    width: auto;
    height: auto;
    margin-right: 6px;
}
.woocommerce-checkout .mc-company-field[hidden],
.mc-pix-payment-modal [hidden] { display: none !important; }
.mc-pix-payment-modal__status { font-size: 13px; line-height: 1.5; margin: 16px 0; }
.mc-pix-payment-modal__retry {
    display: block; font-size: 13px; margin-top: 12px; text-decoration: underline;
}
.mc-pix-payment-modal__card {
    max-height: calc(100dvh - 48px);
    min-height: 0;
    overflow-y: auto;
}
/* PagBank validation and 3DS notices must remain visible, with their original text. */
.woocommerce-checkout.mc-pagbank-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout.mc-pagbank-checkout .woocommerce-NoticeGroup-checkout,
.woocommerce-checkout.mc-pagbank-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error,
.woocommerce-checkout.mc-pagbank-checkout #payment .woocommerce-error {
    display: block !important;
}

/* Mês do Cliente: follow the sale-price hierarchy while naming the Pix condition. */
.woocommerce .mc-normal-price {
    display: block;
    width: 100%;
    color: #8b4d46;
    font-size: .83em;
    font-weight: 500;
    line-height: 1.35;
}
.woocommerce .mc-normal-price del {
    color: inherit;
    opacity: 1;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}
.woocommerce .mc-price-current-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    line-height: 1.3;
}
.woocommerce .mc-pix-price {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    margin: 0;
    color: #202020;
    font-size: 1em;
    font-weight: 700;
}
.woocommerce .mc-pix-price small {
    color: #426152;
    font-size: .72em;
    font-weight: 500;
}
.single-product div.product .summary p.price .mc-normal-price,
.single-product div.product .summary p.price .mc-normal-price del,
.single-product div.product .summary p.price .mc-normal-price .woocommerce-Price-amount,
.single-product div.product .summary p.price .mc-normal-price .woocommerce-Price-amount bdi,
.single-product div.product .summary p.price .mc-normal-price .woocommerce-Price-currencySymbol {
    color: #8b4d46 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
}

/* One quiet visual language for WooCommerce and checkout alerts. */
body.woocommerce-page .woocommerce-error,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-message,
.woocommerce-checkout .woocommerce-error:not(#payment .woocommerce-error) {
    background: #faf9f7 !important;
    color: #303030 !important;
    border: 1px solid #dedbd6 !important;
    border-left: 2px solid #95706a !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    padding: 13px 16px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}
body.woocommerce-page .woocommerce-info {
    border-left-color: #707d87 !important;
}
body.woocommerce-page .woocommerce-message {
    border-left-color: #69836f !important;
}
body.woocommerce-page .woocommerce-error li,
.woocommerce-checkout .woocommerce-error:not(#payment .woocommerce-error) li {
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    padding: 0 !important;
}
body.woocommerce-page .woocommerce-error li + li {
    margin-top: 6px !important;
}
body.woocommerce-page .woocommerce-error a,
body.woocommerce-page .woocommerce-info a,
body.woocommerce-page .woocommerce-message a {
    color: inherit !important;
    text-decoration-color: #a9a5a0 !important;
    text-underline-offset: 2px;
}
.woocommerce-checkout .mc-field-error,
.woocommerce-checkout .mc-document-error,
.woocommerce-checkout .mc-inline-error {
    color: #8b4d46 !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    margin-top: 6px !important;
}
/* WooCommerce may add its own inline copy after the theme validation runs. */
.woocommerce-checkout #customer_details .checkout-inline-error-message,
.woocommerce-checkout #mc-email-container .checkout-inline-error-message,
.woocommerce-checkout #mc-pickup-billing-section .checkout-inline-error-message {
    display: none !important;
}
.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid textarea,
.woocommerce-checkout .woocommerce-invalid .select2-selection {
    border-color: #aa746d !important;
    box-shadow: none !important;
}
.mc-variation-error {
    color: #5c3c38 !important;
    background: #faf9f7 !important;
    border: 1px solid #dedbd6 !important;
    border-left: 2px solid #95706a !important;
    border-radius: 6px !important;
}

/* Product sizing tools: fit finder and product-specific measurement chart. */
.single-product .mc-sizing-tools {
    align-items: center;
    border-top: 1px solid #e5e5e5;
    display: flex;
    gap: 0;
    margin: 18px 0 16px;
    padding-top: 14px;
    width: 100%;
}
.single-product .mc-sizing-tools__button {
    align-items: center;
    background: transparent;
    border: 0;
    color: #252525;
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    gap: 9px;
    line-height: 1.2;
    min-height: 44px;
    min-width: 0;
    flex: 1 1 0;
    padding: 2px 14px 2px 0;
    text-align: left;
}
.single-product .mc-sizing-tools__button + .mc-sizing-tools__divider + .mc-sizing-tools__button {
    padding-left: 18px;
}
.single-product .mc-sizing-tools__button:hover,
.single-product .mc-sizing-tools__button:focus-visible {
    color: #111;
    outline: none;
}
.single-product .mc-sizing-tools__button svg {
    fill: none;
    flex: 0 0 22px;
    height: 22px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.45;
    width: 22px;
}
.single-product .mc-sizing-tools__divider {
    align-self: center;
    flex: 0 0 1px;
    height: 24px;
    background: #dedede;
    display: block;
    margin: 0 4px;
    width: 1px;
}
body.mc-sizing-modal-open { overflow: hidden; }
.mc-sizing-modal[hidden] { display: none !important; }
.mc-sizing-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 28px;
    position: fixed;
    z-index: 100100;
}
.mc-sizing-modal__backdrop {
    background: rgba(0, 0, 0, .52);
    inset: 0;
    position: absolute;
}
.mc-sizing-modal__dialog {
    background: #fff;
    box-shadow: 0 20px 56px rgba(0, 0, 0, .24);
    display: grid;
    grid-template-columns: minmax(250px, 39%) 1fr;
    max-height: min(690px, calc(100vh - 56px));
    max-width: 940px;
    min-height: 510px;
    overflow: hidden;
    position: relative;
    width: min(940px, 100%);
    z-index: 1;
}
.mc-sizing-modal__dialog:focus { outline: none; }
.mc-sizing-modal__close {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 50%;
    color: #252525;
    cursor: pointer;
    display: flex;
    font-size: 28px;
    font-weight: 300;
    height: 32px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 16px;
    top: 16px;
    width: 32px;
    z-index: 3;
}
.mc-sizing-modal__close:hover,
.mc-sizing-modal__close:focus,
.mc-sizing-modal__close:focus-visible,
.mc-sizing-modal__close:active {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #252525;
    outline: none;
}
/* The modal is printed inside WooCommerce's variation form. Keep its utility
   buttons out of the full-width add-to-cart button rule. */
.single-product .woocommerce-variation-add-to-cart .mc-sizing-modal button {
    flex: 0 0 auto;
    width: auto;
}
.single-product .woocommerce-variation-add-to-cart .mc-sizing-modal__close {
    flex: 0 0 32px;
    height: 32px;
    padding: 0;
    width: 32px;
}
.mc-sizing-modal__product-image {
    background: #f5f5f5;
    min-height: 100%;
    overflow: hidden;
}
.mc-sizing-modal__product-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.mc-sizing-modal__content {
    align-items: center;
    display: flex;
    min-width: 0;
    padding: 64px 60px 44px;
}
.mc-sizing-panel { position: relative; width: 100%; }
.mc-sizing-panel[hidden] { display: none; }
.mc-sizing-panel__eyebrow {
    color: #707070;
    font-size: 11px;
    letter-spacing: .04em;
    margin: 0 0 15px;
    text-transform: uppercase;
}
.mc-sizing-panel h2 {
    color: #151515;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 22px;
    text-align: center;
}
.mc-sizing-panel__eyebrow + h2 { text-align: left; }
.mc-sizing-chart-scroll { overflow-x: auto; scrollbar-width: thin; }
.mc-sizing-chart {
    border-collapse: collapse;
    color: #404040;
    font-size: 14px;
    line-height: 1.5;
    min-width: 440px;
    table-layout: fixed;
    width: 100%;
}
.mc-sizing-chart th,
.mc-sizing-chart td {
    border-bottom: 1px solid #ededed;
    padding: 13px 8px;
    text-align: center;
    white-space: nowrap;
}
.mc-sizing-chart thead th {
    border-bottom: 1px solid #d5d5d5;
    color: #222;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}
.mc-sizing-chart tbody th { color: #222; font-weight: 500; }
.mc-sizing-chart tbody tr.is-selected > * { background: #f4f4f4; }
.mc-sizing-chart__selected { width: 38px; }
.mc-sizing-chart__select {
    align-items: center;
    background: #5bcda3;
    border: 0;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 11px;
    height: 18px;
    justify-content: center;
    opacity: 0;
    padding: 0;
    transition: opacity .16s ease;
    width: 18px;
}
/* Preserve the check as a true circle inside WooCommerce's flex form. */
.single-product .woocommerce-variation-add-to-cart .mc-sizing-modal .mc-sizing-chart__select {
    aspect-ratio: 1 / 1;
    flex: 0 0 18px;
    height: 18px;
    max-width: 18px;
    min-width: 18px;
    padding: 0;
    width: 18px;
}
.mc-sizing-chart tr:hover .mc-sizing-chart__select,
.mc-sizing-chart tr.is-selected .mc-sizing-chart__select,
.mc-sizing-chart__select:focus-visible { opacity: 1; outline: none; }
.mc-sizing-panel__unit {
    color: #666;
    font-size: 14px;
    margin: 28px 0 0;
}
.mc-sizing-panel__unit strong { font-weight: 500; margin-left: 12px; }
.mc-sizing-panel__fit-button {
    background: #141414;
    border: 1px solid #141414;
    color: #fff;
    cursor: pointer;
    float: right;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    margin-top: -34px;
    min-height: 44px;
    padding: 0 24px;
    text-transform: uppercase;
}
.mc-sizing-panel__fit-button:hover,
.mc-sizing-panel__fit-button:focus-visible { background: #333; border-color: #333; outline: none; }
.mc-sizing-panel__drag-hint { display: none; }
.mc-sizing-panel__back {
    background: transparent;
    border: 0;
    color: #333;
    cursor: pointer;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    margin: -8px 0 22px;
    padding: 0;
}
.mc-sizing-panel__intro,
.mc-sizing-panel__empty { color: #666; font-size: 13px; line-height: 1.55; margin: 0 0 22px; }
.mc-sizing-fit-form { display: grid; gap: 12px; grid-template-columns: repeat(3, 1fr); }
.mc-sizing-fit-form label { color: #333; display: grid; font-size: 11px; font-weight: 600; gap: 7px; text-transform: uppercase; }
.mc-sizing-fit-form input {
    appearance: textfield;
    border: 1px solid #d8d8d8;
    border-radius: 0;
    color: #202020;
    font: inherit;
    min-width: 0;
    padding: 10px 8px;
}
.mc-sizing-fit-form input:focus { border-color: #111; outline: 1px solid #111; }
.mc-sizing-panel [data-mc-calculate-size] { float: none; margin: 22px 0 0; width: 100%; }
.single-product .woocommerce-variation-add-to-cart .mc-sizing-modal [data-mc-calculate-size] { width: 100%; }
.mc-sizing-fit-result { color: #222; font-size: 14px; line-height: 1.5; margin: 18px 0 0; min-height: 22px; text-align: center; }
.mc-sizing-fit-result.is-error { color: #555; }

@media (max-width: 640px) {
    .single-product .mc-sizing-tools { margin: 14px 0; padding-top: 12px; }
    .single-product .mc-sizing-tools__button { font-size: 14px; gap: 7px; padding-right: 4px; }
    .single-product .mc-sizing-tools__button + .mc-sizing-tools__divider + .mc-sizing-tools__button { padding-left: 8px; }
    .single-product .mc-sizing-tools__button svg { flex-basis: 20px; height: 20px; width: 20px; }
    .mc-sizing-modal { align-items: flex-end; padding: 0; }
    .mc-sizing-modal__dialog {
        display: block;
        max-height: min(680px, 92vh);
        min-height: 0;
        overflow-y: auto;
        width: 100%;
    }
    .mc-sizing-modal__product-image { display: none; }
    .mc-sizing-modal__content { display: block; padding: 52px 24px 34px; }
    .mc-sizing-modal__close { background: transparent; right: 8px; top: 8px; }
    .mc-sizing-panel h2 { font-size: 18px; margin-bottom: 26px; text-align: center; }
    .mc-sizing-panel__eyebrow { display: none; }
    .mc-sizing-panel__drag-hint {
        color: #666;
        display: block;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: .03em;
        margin: -18px 1px 7px 0;
        text-align: right;
        text-transform: uppercase;
    }
    .mc-sizing-panel__drag-hint span { font-size: 18px; line-height: 0; vertical-align: -2px; }
    .mc-sizing-chart-scroll { margin: 0 -1px; }
    .mc-sizing-chart { font-size: 14px; min-width: 440px; }
    .mc-sizing-chart th,
    .mc-sizing-chart td { padding: 14px 10px; }
    .mc-sizing-chart thead th { font-size: 12px; }
    .mc-sizing-chart__selected { display: none; }
    .mc-sizing-panel__unit { font-size: 14px; margin-top: 24px; }
    .mc-sizing-panel__fit-button { float: none; margin: 21px 0 0; width: 100%; }
    .mc-sizing-panel__back { margin-bottom: 25px; }
    .mc-sizing-panel__intro { font-size: 12px; }
    .mc-sizing-fit-form { grid-template-columns: 1fr; }
}
