/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/
:root{
    --cm-primary:   #111111;
    --cm-accent:   #FF66C4;
    --cm-text:      #333333;
    --cm-bg:        #ffffff;
    --cm-soft:      #f7f5f2;
    --cm-border:    #e6e1da;
    --cm-radius:    12px;
    --cm-font-head: "Montserrat", sans-serif;
    --cm-font-body: "Montserrat", sans-serif;
    --cm-success: #3f7d58;
    --cm-error:   #b3261e;
}
/* Add your custom styles here */
.page-header{
    margin-top: 80px;
}
.page-header h1{
    font-family: "Montserrat", sans-serif;
    font-size: 28px;
    font-weight: 700;
}
h3.fl-saloni-picker__title{
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
}
.fl-saloni-picker__item{
    border-radius: 0;
    background-color: transparent !important;
    border: 1px solid #000;
    text-align: left;
}
.fl-saloni-picker__item strong, .fl-saloni-picker__item span{
    font-family: "Montserrat", sans-serif;
    color:#000 !important;
}
.fl-saloni-disponibilita__label{
    font-family: "Montserrat", sans-serif;
}
.fl-saloni-disponibilita__select{
    border-radius: 0 !important;
    border: 1px solid #000;
    font-family: "Montserrat", sans-serif;
}
.fl-saloni-disponibilita__message{
    font-weight: 700;
    text-transform: uppercase;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
}
.fl-saloni-picker__toggle{
    background-color: #000 !important;
    border-radius: 0 !important;
    border: 1px solid #000;
}
.fl-saloni-picker__toggle::after{
    border-right-color:#fff;
    border-bottom-color:#fff;
}
.fl-saloni-picker__details p{
    font-family: "Montserrat", sans-serif;
}
.fl-saloni-picker__details p a{
    color: #FF66C4 !important;
    text-decoration: none;
}
.fl-saloni-picker__item.is-selected{
    background-color: #FF66C4 !important;
}
.fl-saloni-picker__search{
    border: 1px solid #000 !important;
    border-radius: 0 !important;
}
.woocommerce-billing-fields h3, .woocommerce-additional-fields h3{
    font-family: "Montserrat", sans-serif;
    color:#000 !important;
    font-size: 24px;
    font-weight: 700;
}
.woocommerce-billing-fields__field-wrapper label, .woocommerce-additional-fields__field-wrapper label{
    font-family: "Montserrat", sans-serif;
    color:#000 !important;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
}
.woocommerce-billing-fields__field-wrapper input, .woocommerce-billing-fields__field-wrapper select, .woocommerce-additional-fields__field-wrapper select, .woocommerce-additional-fields__field-wrapper textarea{
    border-radius: 0 !important;
}
/* =========================================================
   1. COUPON TOGGLE  (.woocommerce-form-coupon-toggle)
   ========================================================= */
.woocommerce-form-coupon-toggle .woocommerce-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 24px;
    padding: 18px 22px 18px 54px;
    position: relative;
    background: var(--cm-soft);
    border: 1px dashed var(--cm-accent);
    border-radius: var(--cm-radius);
    color: var(--cm-text);
    font-family: var(--cm-font-body);
    font-size: 15px;
    line-height: 1.5;
}

/* rimuove il bordo/icona di default WooCommerce */
.woocommerce-form-coupon-toggle .woocommerce-info::before {
    content: "%";
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--cm-primary);
    color: #fff;
    font-family: var(--cm-font-head);
    font-size: 13px;
    font-weight: 700;
}
.woocommerce-form-coupon-toggle .woocommerce-info { border-top: 1px dashed var(--cm-accent); }

.woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon {
    color: var(--cm-primary);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    text-decoration: none;
    border-bottom: 2px solid var(--cm-accent);
    transition: color .2s, border-color .2s;
}
.woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon:hover {
    color: var(--cm-accent);
    border-color: var(--cm-primary);
}

/* Form coupon che si apre sotto */
.woocommerce-checkout form.checkout_coupon {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin: -12px 0 28px;
    padding: 20px 22px;
    background: var(--cm-bg);
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius);
}
.woocommerce-checkout form.checkout_coupon > p:first-child {
    flex: 0 0 100%;
    margin: 0;
    font-size: 14px;
    color: var(--cm-text);
}
.woocommerce-checkout form.checkout_coupon .form-row {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
}
.woocommerce-checkout form.checkout_coupon .form-row-first { flex: 1 1 220px; }
.woocommerce-checkout form.checkout_coupon .form-row-last  { flex: 0 0 auto; }
.woocommerce-checkout form.checkout_coupon .clear { display: none; }

.woocommerce-checkout form.checkout_coupon input.input-text {
    width: 100%;
    height: 48px;
    padding: 0 16px;
    border: 1px solid var(--cm-border);
    border-radius: 999px;
    background: var(--cm-soft);
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.woocommerce-checkout form.checkout_coupon input.input-text:focus {
    outline: none;
    border-color: var(--cm-primary);
    background: #fff;
}
.woocommerce-checkout form.checkout_coupon button.button {
    height: 48px;
    padding: 0 28px;
    border: 0;
    border-radius: 999px;
    background: var(--cm-primary);
    color: #fff;
    font-family: var(--cm-font-head);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    cursor: pointer;
    transition: background .2s;
}
.woocommerce-checkout form.checkout_coupon button.button:hover { background: var(--cm-accent); }

/* =========================================================
   2. RIEPILOGO ORDINE (.woocommerce-checkout-review-order)
   ========================================================= */
#order_review_heading {
    margin: 0 0 16px;
    font-family: var(--cm-font-head);
    font-size: 22px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--cm-primary);
}

.woocommerce-checkout-review-order {
    padding: 26px;
    background: var(--cm-soft);
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius);
    font-family: var(--cm-font-body);
    color: var(--cm-text);
}

/* Tabella */
.woocommerce-checkout-review-order-table {
    width: 100%;
    margin: 0 0 24px !important;
    border: 0 !important;
    border-collapse: collapse;
    background: transparent;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 14px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--cm-border) !important;
    background: transparent !important;
    vertical-align: middle;
    font-size: 15px;
}
.woocommerce-checkout-review-order-table thead th {
    padding-top: 0 !important;
    font-family: var(--cm-font-head);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--cm-primary);
    border-bottom: 2px solid var(--cm-primary) !important;
}
.woocommerce-checkout-review-order-table th:last-child,
.woocommerce-checkout-review-order-table td:last-child { text-align: right; }

/* Righe prodotto */
.woocommerce-checkout-review-order-table .cart_item .product-name {
    font-weight: 600;
    color: var(--cm-primary);
    padding-right: 12px !important;
}
.woocommerce-checkout-review-order-table .product-quantity {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 8px;
    border-radius: 999px;
    background: var(--cm-primary);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}
.woocommerce-checkout-review-order-table .product-total { font-weight: 600; white-space: nowrap; }
.woocommerce-checkout-review-order-table dl.variation {
    margin: 4px 0 0;
    font-size: 13px;
    font-weight: 400;
    color: var(--cm-text);
    opacity: .8;
}

/* Footer tabella (subtotale, spedizione, sconti, totale) */
.woocommerce-checkout-review-order-table tfoot th {
    font-weight: 500;
    text-align: left;
}
.woocommerce-checkout-review-order-table tfoot .cart-discount td,
.woocommerce-checkout-review-order-table tfoot .cart-discount th { color: var(--cm-accent); }
.woocommerce-checkout-review-order-table tfoot .cart-discount a {
    color: var(--cm-text);
    font-size: 12px;
    margin-left: 4px;
}

/* Spedizione */
.woocommerce-checkout-review-order-table #shipping_method {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: right;
}
.woocommerce-checkout-review-order-table #shipping_method li {
    margin: 0 0 6px;
    font-size: 14px;
}
.woocommerce-checkout-review-order-table #shipping_method input[type="radio"] {
    accent-color: var(--cm-primary);
    margin-right: 6px;
}

/* Totale */
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    border-bottom: 0 !important;
    padding-top: 18px !important;
    font-family: var(--cm-font-head);
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--cm-primary);
}
.woocommerce-checkout-review-order-table .order-total td strong,
.woocommerce-checkout-review-order-table .order-total .amount { font-size: 22px; }
.woocommerce-checkout-review-order-table .order-total small.includes_tax {
    display: block;
    font-family: var(--cm-font-body);
    font-size: 12px;
    font-weight: 400;
    text-transform: none;
    opacity: .7;
}

/* =========================================================
   3. METODI DI PAGAMENTO + BOTTONE (dentro il riepilogo)
   ========================================================= */
.woocommerce-checkout #payment {
    background: transparent !important;
    border-radius: 0;
}
.woocommerce-checkout #payment ul.payment_methods {
    margin: 0 0 20px;
    padding: 0 !important;
    border: 0 !important;
    list-style: none;
}
.woocommerce-checkout #payment ul.payment_methods li {
    margin: 0 0 10px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid var(--cm-border);
    border-radius: 10px;
    transition: border-color .2s;
}
.woocommerce-checkout #payment ul.payment_methods li:hover { border-color: var(--cm-primary); }
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
    accent-color: var(--cm-primary);
    margin-right: 8px;
}
.woocommerce-checkout #payment ul.payment_methods li label {
    font-weight: 600;
    color: var(--cm-primary);
    cursor: pointer;
}
.woocommerce-checkout #payment ul.payment_methods li img {
    max-height: 24px;
    vertical-align: middle;
    margin-left: 6px;
}
.woocommerce-checkout #payment div.payment_box {
    margin: 12px 0 0 !important;
    padding: 12px 14px !important;
    background: var(--cm-soft) !important;
    border-radius: 8px;
    font-size: 14px;
    color: var(--cm-text) !important;
}
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }

.woocommerce-checkout #payment div.form-row.place-order {
    margin: 0;
    padding: 0 !important;
}
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 16px;
}
.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
    color: var(--cm-primary);
    font-weight: 600;
}

.woocommerce-checkout #place_order {
    width: 100%;
    float: none;
    padding: 18px 24px;
    border: 0;
    border-radius: 999px;
    background: var(--cm-primary);
    color: #fff;
    font-family: var(--cm-font-head);
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    cursor: pointer;
    transition: background .2s, transform .1s;
}
.woocommerce-checkout #place_order:hover { background: var(--cm-accent); }
.woocommerce-checkout #place_order:active { transform: scale(.99); }
.elementor-menu-cart__toggle .elementor-button {
    background: transparent;
    color: var(--cm-primary);
    border: 0;
    padding: 8px;
    font-family: var(--cm-font-head);
}
.elementor-menu-cart__toggle .elementor-button-icon svg { fill: var(--cm-primary); }
.elementor-menu-cart__toggle .elementor-button-icon[data-counter]::before {
    min-width: 18px;
    height: 18px;
    line-height: 18px;
    top: -8px;
    right: -10px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--cm-accent);
    color: #fff;
    font-family: var(--cm-font-head);
    font-size: 11px;
    font-weight: 700;
}

/* =========================================================
   2. OVERLAY + PANNELLO
   ========================================================= */
.elementor-menu-cart__container {
    background-color: rgba(17, 17, 17, .45);
    backdrop-filter: blur(2px);
}

.elementor-menu-cart__main {
    width: 420px;
    max-width: 100vw;
    padding: 28px 26px 24px;
    background: #fff;
    border: 0 !important;
    box-shadow: -12px 0 40px rgba(0, 0, 0, .12);
    font-family: var(--cm-font-body);
    color: var(--cm-text);
}

/* Titolo "Carrello" in testa al pannello */
.elementor-menu-cart__main::before {
    content: "Il tuo carrello";
    display: block;
    margin: 0 40px 18px 0;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--cm-primary);
    font-family: var(--cm-font-head);
    font-size: 20px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--cm-primary);
}

/* Pulsante chiudi */
.elementor-menu-cart__close-button {
    position: absolute;
    top: 26px;
    right: 22px;
    width: 34px;
    height: 34px;
    margin: 0;
    border-radius: 50%;
    background: var(--cm-soft);
    transition: background .2s, transform .2s;
}
.elementor-menu-cart__close-button::before,
.elementor-menu-cart__close-button::after {
    width: 14px;
    height: 2px;
    background: var(--cm-primary);
    left: 50%;
    top: 50%;
    margin: -1px 0 0 -7px;
}
.elementor-menu-cart__close-button:hover {
    background: var(--cm-primary);
    transform: rotate(90deg);
}
.elementor-menu-cart__close-button:hover::before,
.elementor-menu-cart__close-button:hover::after { background: #fff; }

/* =========================================================
   3. PRODOTTI
   ========================================================= */
.elementor-menu-cart__products {
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: var(--cm-border) transparent;
}

.elementor-menu-cart__product {
    grid-template-columns: 76px auto 28px;
    column-gap: 14px;
    padding: 16px 0 !important;
    border-bottom: 1px solid var(--cm-border) !important;
}

.elementor-menu-cart__product-image {
    width: 76px;
    grid-row: span 2;
}
.elementor-menu-cart__product-image img {
    width: 76px;
    height: 76px;
    object-fit: cover;
    border-radius: 10px;
    background: var(--cm-soft);
    border: 1px solid var(--cm-border);
}

.elementor-menu-cart__product-name,
.elementor-menu-cart__product-name a {
    align-self: end;
    font-family: var(--cm-font-head);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--cm-primary);
    text-decoration: none;
    transition: color .2s;
}
.elementor-menu-cart__product-name a:hover { color: var(--cm-accent); }
.elementor-menu-cart__product-name dl.variation {
    margin: 4px 0 0;
    font-family: var(--cm-font-body);
    font-size: 12px;
    font-weight: 400;
    color: var(--cm-text);
    opacity: .75;
}

.elementor-menu-cart__product-price {
    align-self: start;
    margin-top: 4px;
    font-size: 14px;
    color: var(--cm-text);
}
.elementor-menu-cart__product-price .quantity { color: var(--cm-text); }
.elementor-menu-cart__product-price .amount {
    font-weight: 700;
    color: var(--cm-primary);
}

/* Rimuovi prodotto (X) */
.elementor-menu-cart__product-remove {
    width: 26px;
    height: 26px;
    border: 1px solid var(--cm-border);
    border-radius: 50%;
    background: #fff;
    transition: background .2s, border-color .2s;
}
.elementor-menu-cart__product-remove::before,
.elementor-menu-cart__product-remove::after {
    width: 10px;
    height: 1.5px;
    background: var(--cm-primary);
}
.elementor-menu-cart__product-remove:hover {
    background: var(--cm-primary);
    border-color: var(--cm-primary);
}
.elementor-menu-cart__product-remove:hover::before,
.elementor-menu-cart__product-remove:hover::after { background: #fff; }

/* =========================================================
   4. SUBTOTALE
   ========================================================= */
.elementor-menu-cart__subtotal {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: 4px;
    padding: 20px 0 !important;
    border-top: 2px solid var(--cm-primary) !important;
    border-bottom: 0 !important;
    font-family: var(--cm-font-head);
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--cm-primary);
}
.elementor-menu-cart__subtotal .amount {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 0;
}

/* =========================================================
   5. BOTTONI (Visualizza carrello / Checkout)
   ========================================================= */
.elementor-menu-cart__footer-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 0;
}
.elementor-menu-cart__footer-buttons .elementor-button {
    width: 100%;
    padding: 16px 20px;
    border-radius: 999px;
    font-family: var(--cm-font-head);
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    text-align: center;
    transition: background .2s, color .2s, border-color .2s;
}

/* Checkout: pieno, in primo piano */
.elementor-menu-cart__footer-buttons .elementor-button--checkout {
    order: -1;
    background: var(--cm-primary);
    color: #fff;
    border: 2px solid var(--cm-primary);
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover {
    background: var(--cm-accent);
    border-color: var(--cm-accent);
    color: #fff;
}

/* Visualizza carrello: contorno */
.elementor-menu-cart__footer-buttons .elementor-button--view-cart {
    background: transparent;
    color: var(--cm-primary);
    border: 2px solid var(--cm-primary);
}
.elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover {
    background: var(--cm-primary);
    color: #fff;
}

/* =========================================================
   6. CARRELLO VUOTO
   ========================================================= */
.elementor-menu-cart__main .woocommerce-mini-cart__empty-message {
    margin: 40px 0 0;
    padding: 36px 20px;
    background: var(--cm-soft);
    border: 1px dashed var(--cm-accent);
    border-radius: var(--cm-radius);
    text-align: center;
    font-family: var(--cm-font-head);
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--cm-primary);
}

/* Loader durante aggiornamento */
.elementor-menu-cart__main .blockUI.blockOverlay {
    background: rgba(255, 255, 255, .7) !important;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 16px;
    position: relative;
    margin: 0 0 24px !important;
    padding: 18px 22px 18px 62px !important;
    background: var(--cm-soft) !important;
    border: 1px solid var(--cm-border) !important;
    border-left: 4px solid var(--cm-primary) !important;
    border-radius: var(--cm-radius);
    box-shadow: 0 4px 18px rgba(0, 0, 0, .04);
    font-family: var(--cm-font-body);
    font-size: 15px;
    line-height: 1.5;
    color: var(--cm-text) !important;
    list-style: none;
    outline: none;
}

/* Icona tonda a sinistra */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff !important;
    font-family: var(--cm-font-head) !important;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
}

/* Rimuove il clearfix di default che rompe il flex */
.woocommerce-message::after,
.woocommerce-info::after,
.woocommerce-error::after { display: none !important; }

/* Link nel testo */
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button) {
    color: var(--cm-primary);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid var(--cm-accent);
}
.woocommerce-message a:not(.button):hover,
.woocommerce-info a:not(.button):hover,
.woocommerce-error a:not(.button):hover { color: var(--cm-accent); }

/* =========================================================
   2. SUCCESSO – .woocommerce-message
      (es. "Prodotto aggiunto al carrello")
   ========================================================= */
.woocommerce-message { border-left-color: var(--cm-success) !important; }
.woocommerce-message::before {
    content: "✓" !important;
    background: var(--cm-success);
}

/* Bottone "Visualizza carrello" / "Continua gli acquisti" */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
    order: 2;
    float: none !important;
    margin: 0 0 0 auto !important;
    padding: 11px 22px !important;
    border: 2px solid var(--cm-primary) !important;
    border-radius: 999px !important;
    background: var(--cm-primary) !important;
    color: #fff !important;
    font-family: var(--cm-font-head);
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: uppercase;
    letter-spacing: .07em;
    white-space: nowrap;
    transition: background .2s, border-color .2s;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover {
    background: var(--cm-accent) !important;
    border-color: var(--cm-accent) !important;
}

/* =========================================================
   3. INFO – .woocommerce-info
      (il box del coupon nel checkout mantiene il suo stile,
       perché ha un selettore più specifico)
   ========================================================= */
.woocommerce-info { border-left-color: var(--cm-accent) !important; }
.woocommerce-info::before {
    content: "i" !important;
    background: var(--cm-accent);
    font-style: italic;
}

/* =========================================================
   4. ERRORE – .woocommerce-error (è una <ul> con più <li>)
   ========================================================= */
.woocommerce-error {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    background: #fdf3f2 !important;
    border-color: #f1d4d1 !important;
    border-left-color: var(--cm-error) !important;
}
.woocommerce-error::before {
    content: "!" !important;
    top: 18px;
    transform: none;
    background: var(--cm-error);
}
.woocommerce-error li {
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-error li strong { color: var(--cm-error); }

/* Wrapper notifiche nel checkout (errori di validazione) */
.woocommerce-NoticeGroup-checkout,
.woocommerce-notices-wrapper:not(:empty) { margin-bottom: 8px; }

/* Mantiene lo stile del box coupon del checkout (tratteggiato + "%") */
.woocommerce-form-coupon-toggle .woocommerce-info {
    background: var(--cm-soft) !important;
    border: 1px dashed var(--cm-accent) !important;
    box-shadow: none;
    padding: 18px 22px 18px 54px !important;
}
.woocommerce-form-coupon-toggle .woocommerce-info::before {
    content: "%" !important;
    left: 18px;
    width: 26px;
    height: 26px;
    font-size: 13px;
    font-style: normal;
    background: var(--cm-primary);
}
ol{
    padding-left: 25px;
}
ol li{
    font-family: "Montserrat", sans-serif;
}
/* =========================================================
   4. MOBILE
   ========================================================= */
@media (max-width: 767px) {
    .elementor-menu-cart__main {
        width: 100vw;
        padding: 22px 18px 18px;
    }
    .elementor-menu-cart__main::before { font-size: 18px; }
    .elementor-menu-cart__close-button { top: 18px; right: 16px; }
    .elementor-menu-cart__product { grid-template-columns: 64px auto 26px; }
    .elementor-menu-cart__product-image,
    .elementor-menu-cart__product-image img { width: 64px; height: 64px; }
}
@media (max-width: 767px) {
    .woocommerce-form-coupon-toggle .woocommerce-info { padding: 16px 16px 16px 50px; font-size: 14px; }
    .woocommerce-checkout form.checkout_coupon { padding: 16px; }
    .woocommerce-checkout form.checkout_coupon .form-row-first,
    .woocommerce-checkout form.checkout_coupon .form-row-last,
    .woocommerce-checkout form.checkout_coupon button.button { flex: 1 1 100%; width: 100%; }
    .woocommerce-checkout-review-order { padding: 18px; }
    #order_review_heading { font-size: 19px; }
}
@media (max-width: 767px) {
    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error {
        padding: 16px 16px 16px 54px !important;
        font-size: 14px;
    }
    .woocommerce-message::before,
    .woocommerce-info::before,
    .woocommerce-error::before { left: 16px; width: 26px; height: 26px; }
    .woocommerce-message .button,
    .woocommerce-info .button,
    .woocommerce-error .button {
        width: 100%;
        margin: 4px 0 0 !important;
        text-align: center;
    }
}