/*
 Theme Name:   Hello Elementor Child
 Template:     hello-elementor
*/

@import url("../hello-elementor/style.css");

:root {
    --rile-purple: #6a3482;
    --rile-light-purple: #f8f0fc;
    --rile-dark: #2c3e50;
    --rile-green: #27ae60;
    --rile-bg-summary: #f4f4f4;
    --rile-light-blue: #00ABBA;
}

/* ─── Nascondi pulsante Stripe "Paga con Link" in pagina prodotto ───
   Il toggle Express Checkout si riattiva dopo gli aggiornamenti del plugin; Apple Pay / Google Pay restano. */
.single-product #wc-stripe-express-checkout-element-link {
    display: none !important;
}

/* ─── Metodi di pagamento in checkout: card con bordo e colori brand, opzione selezionata evidenziata ─── */
.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods li.wc_payment_method {
    list-style: none;
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 10px;
    background: #fff;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods li.wc_payment_method label {
    font-weight: 700;
    font-size: 16px;
    color: var(--rile-dark);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods li.wc_payment_method input.input-radio {
    width: 20px;
    height: 20px;
    accent-color: var(--rile-purple);
    margin-right: 6px;
    cursor: pointer;
}

.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods li.wc_payment_method:has(input:checked) {
    border-color: var(--rile-purple);
    background: var(--rile-light-purple);
    box-shadow: 0 0 0 1px var(--rile-purple);
}

.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods li.wc_payment_method .payment_box {
    padding: 12px 0 4px 30px;
    font-size: 14px;
    color: var(--rile-dark);
    background: transparent;
    border: none;
}

/* ─── Centra i pulsanti PayPal/Pay Later sotto il checkout ───
   Il contenitore raggiungibile è .ppc-button-wrapper: "buttons-container" sta nell'iframe di paypal.com. */
.woocommerce-checkout .ppc-button-wrapper {
    max-width: 420px !important;
    width: 100% !important;
    margin: 20px auto 30px !important;
    float: none !important;
}

/* ─── Layout master ─── */
.rilepack-master {
    font-family: 'Helvetica', sans-serif;
    max-width: 100%;
    margin: 20px 0;
}

/* ─── Box generici ─── */
.rile-box {
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 20px;
    background: #fff;
    margin-bottom: 25px;
}

.rile-title {
    color: var(--rile-purple);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 14px;
    margin-bottom: 15px;
    display: block;
    border-style: none none solid none;
    border-width: 0 0 1px 0;
    border-color: #eee;
    padding-bottom: 10px;
}

/* ─── Box evidenza celeste (es. call-to-action Optional in descrizione prodotto) ─── */
.rile-callout-blue {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #e6f9fb;
    border: 1px solid var(--rile-light-blue);
    border-left: 4px solid var(--rile-light-blue);
    border-radius: 8px;
    padding: 14px 18px;
    margin: 14px 0;
    color: var(--rile-dark);
    font-size: 15px;
    line-height: 1.5;
}
.rile-callout-blue .rile-callout-icon {
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0;
}
.rile-callout-blue strong {
    color: #007580;
}

/* ─── Opzioni radio/checkbox classiche ─── */
.rile-option {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    cursor: pointer;
    font-size: 15px;
}

.rile-option input {
    margin-right: 10px !important;
    width: 18px !important;
    height: 18px !important;
    accent-color: var(--rile-purple);
    opacity: 1 !important;
    position: relative !important;
}

/* ─── Griglia Card ─── */
.rile-grid-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 15px;
}

.rile-option-card { cursor: pointer; }

.rile-card-content {
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 15px;
    text-align: center;
    color: var(--rile-purple);
    transition: 0.3s;
}

.rile-option-card input:checked + .rile-card-content {
    border-color: var(--rile-purple);
    background-color: var(--rile-light-purple);
    box-shadow: 0 0 0 2px var(--rile-purple);
}

/* ─── Cards Neutro / Stampato — pattern di sfondo per riconoscerle a colpo d'occhio ─── */
.rile-card-neutro .rile-card-content {
    background-color: #fafafa;
    background-image: repeating-linear-gradient(
        45deg,
        rgba(44, 62, 80, 0.03) 0px,
        rgba(44, 62, 80, 0.03) 1px,
        transparent 1px,
        transparent 16px
    );
    border-top: 3px solid #b7bec7;
}

.rile-card-stampato .rile-card-content {
    background-color: #fdfbff;
    background-image: radial-gradient(rgba(106, 52, 130, 0.10) 1px, transparent 1px);
    background-size: 14px 14px;
    border-top: 3px solid var(--rile-purple);
}

.rile-option-card.rile-card-neutro input:checked + .rile-card-content {
    border-color: #6b7480;
    background-color: #eef0f2;
    box-shadow: 0 0 0 2px #6b7480;
}

.rile-option-card.rile-card-stampato input:checked + .rile-card-content {
    border-color: var(--rile-purple);
    background-color: var(--rile-light-purple);
    box-shadow: 0 0 0 2px var(--rile-purple);
}

/* ─── Tabella Prezzi ─── */
.rile-table-wrapper {
    border: 2px solid var(--rile-purple);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 25px;
}

.rile-table { width: 100%; border-collapse: collapse; text-align: center; }

.rile-table thead th {
    background: var(--rile-purple);
    color: #fff;
    padding: 12px 5px;
    font-size: 12px;
}

.rile-table td {
    border: 1px solid #eee;
    padding: 15px 10px;
    cursor: pointer;
    background: #fff;
}

.rile-table tr td:first-child {
    text-align: left;
    background: #fdfbff;
    font-weight: bold;
    color: var(--rile-purple);
    font-size: 13px;
    padding-left: 10px !important;
}

.rile-table th.rile-best-col { background: #00ABBA; color: #fff; }
.rile-best-badge { display: block; font-size: 9px; font-weight: bold; margin-top: 3px; text-transform: none; letter-spacing: 0; }
.rile-table td.rile-best-col { background: #e6f9fb; }
.rile-table td.rile-best-col.active { background: var(--rile-purple) !important; }

.rile-table td.active { background: var(--rile-purple) !important; color: #fff !important; }
.rile-table td.active small { color: #ffffff !important; }

.p-tot { font-weight: bold; display: block; font-size: 15px; }
.p-uni { font-size: 11px; font-weight: bold; display: block; color: #00ABBA; opacity: 1; margin-bottom: 4px; }
.rile-table td.active .p-uni { color: #fff; }

.rile-table td small {
    display: block;
    font-size: 14px;
    color: #000;
}

/* ─── Riepilogo ─── */
#rile-summary {
    background: var(--rile-bg-summary);
    padding: 25px;
    border-radius: 12px;
    margin-top: 25px;
    border: 1px solid #ddd;
}

.riepilogo-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #e0e0e0;
    font-size: 15px;
}

#r-extra, #r-accessorio-info, #res-acc { color: var(--rile-light-blue) !important; }

.riepilogo-total-final {
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    gap: 15px;
    margin-top: 20px;
    padding-top: 15px;
    border-top: 2px solid #e0e0e0;
}

#rile-tot-val { font-size: 24px; font-weight: 900; color: #000; }

/* ─── Upload sezione ─── */
.rile-upload-section {
    background: #ffffff;
    border: 2px dashed #d1d1d1;
    border-radius: 12px;
    padding: 25px;
    margin: 25px 0;
    text-align: center;
}

/* ─── Pulsante download template ─── */
.rile-btn-download {
    display: inline-block;
    background: var(--rile-light-blue);
    color: #fff !important;
    padding: 12px 20px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    width: 100%;
    text-align: center;
    transition: 0.3s;
}

.rile-btn-download:hover {
    background: var(--rile-purple);
    transform: translateY(-2px);
}

/* ─── Prezzo prodotto — nascosto nella pagina prodotto ─── */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-variation-price {
    display: none !important;
}

/* ─── Nascondi quantità WooCommerce ─── */
.quantity,
.buttons_added { display: none !important; }

/* ─── Pulsante Aggiungi al Carrello ─── */
.single_add_to_cart_button {
    width: 100% !important;
    display: block !important;
    margin-top: 20px !important;
    padding: 18px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    border-radius: 8px !important;
    transition: all 0.3s ease;
    background-color: var(--rile-light-blue) !important;
    color: #fff !important;
    cursor: pointer;
    opacity: 1;
}

.single_add_to_cart_button:hover {
    background-color: var(--rile-purple) !important;
}

/* Stato disabilitato — prima che l'utente scelga dalla tabella */
.single_add_to_cart_button.disabled,
.single_add_to_cart_button:disabled {
    background-color: #ccc !important;
    border-color: #ccc !important;
    color: #666 !important;
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    pointer-events: none;
    filter: grayscale(1);
}

/* ─── Form carrello full-width ─── */
form.cart {
    width: 100% !important;
    max-width: 100% !important;
}

/* ─── Quantità fissa nel carrello (shortcode classico) ───
   Il campo è nascosto: il JS in inc/cart.php inietta l'etichetta con la quantità reale
   (es. "100 pz") tramite .rile-qty-fissa-label. */
.cart td.product-quantity .quantity { display: none !important; }

/* ─── Dimensioni astucci ─── */
.rile-dim-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rile-dim-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.rile-dim-field label {
    font-weight: 700;
    font-size: 13px;
    color: var(--rile-purple);
    text-transform: uppercase;
}

.rile-dim-input-wrap {
    display: flex;
    align-items: center;
    border: 2px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    transition: border-color 0.2s;
}

.rile-dim-input-wrap:focus-within {
    border-color: var(--rile-purple);
}

.rile-dim-input-wrap input[type="number"] {
    flex: 1;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 12px 10px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--rile-dark) !important;
    text-align: center;
    width: 100% !important;
    -moz-appearance: textfield;
}

.rile-dim-input-wrap input[type="number"]::-webkit-inner-spin-button,
.rile-dim-input-wrap input[type="number"]::-webkit-outer-spin-button {
    opacity: 1;
}

.rile-dim-unit {
    background: var(--rile-purple);
    color: #fff;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 700;
    align-self: stretch;
    display: flex;
    align-items: center;
}

.rile-dim-field small {
    font-size: 11px;
    color: #999;
    text-align: center;
}

/* ─── Mobile ─── */
@media screen and (max-width: 600px) {
    /* Scroll orizzontale tabella */
    .rile-table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        /* Scroll shadow hint: ombra sui bordi quando c'è contenuto nascosto */
        background:
            linear-gradient(to right, #fff 30%, rgba(255,255,255,0)),
            linear-gradient(to left,  #fff 30%, rgba(255,255,255,0)) right,
            radial-gradient(farthest-side at 0   50%, rgba(103,58,183,.2), transparent),
            radial-gradient(farthest-side at 100% 50%, rgba(103,58,183,.2), transparent) right;
        background-repeat: no-repeat;
        background-color: #fff;
        background-size: 40px 100%, 40px 100%, 12px 100%, 12px 100%;
        background-attachment: local, local, scroll, scroll;
    }

    /* Larghezza minima per dare respiro alle colonne */
    .rile-table { min-width: 480px; }

    /* Prima colonna sticky */
    .rile-table thead th:first-child,
    .rile-table tr td:first-child {
        position: sticky;
        left: 0;
        z-index: 2;
    }

    .rile-table thead th { font-size: 10px; padding: 5px; }
    .rile-best-badge { font-size: 7px; }
    .p-tot { font-size: 13px; }
    .p-uni { font-size: 9px; }
    .rile-table td { padding: 10px 5px; }
    .rile-dim-grid { grid-template-columns: 1fr; gap: 15px; }
}

/* ─── Header nav mobile: hover e attiva (Elementor e-n-menu) ─── */
@media screen and (max-width: 768px) {
    /* Voce attiva — duplica il selettore Elementor con i nuovi colori */
    .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-title.e-current,
    .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-title.e-current a,
    .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-title.e-current span {
        color: #fff !important;
        background-color: #792C86 !important;
    }

}

/* ─── Carrello: riga imponibile (classico) ─── */
.cart-subtotal { display: table-row !important; }
.rile-imponibile-row th,
.rile-imponibile-row td,
.cart-subtotal th,
.cart-subtotal td { padding: 8px 0; font-size: 14px; }

/* ─── Carrello: riga imponibile (WooCommerce Blocks) ─── */
.rile-imponibile-block {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    font-size: 14px;
    border-top: 1px solid #e0e0e0;
}

/* Nasconde la label "Configurazione:" nel carrello e mini-carrello */
.woocommerce-item-meta dt,
dl.variation dt { display: none !important; }

/* Configurazione nel mini-carrello: compatta e leggibile */
.widget_shopping_cart .cart_list .woocommerce-item-meta,
.widget_shopping_cart .cart_list dl.variation,
.widget_shopping_cart .cart_list dl {
    font-size: 11px !important;
    line-height: 1.4 !important;
    color: #666;
    margin-top: 4px;
}
.widget_shopping_cart .cart_list dl dt,
.widget_shopping_cart .cart_list dl dd {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}
.widget_shopping_cart .cart_list dl dd p {
    display: inline !important;
    font-size: 11px !important;
}

/* ─── Notifica "Aggiunto al carrello" ─── */
.woocommerce-message {
    background: var(--rile-purple) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    text-align: center !important;
}
.woocommerce-message::before { display: none !important; }
.woocommerce-message a.button {
    background: #fff !important;
    color: var(--rile-purple) !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    padding: 8px 16px !important;
}
.woocommerce-message a.button:hover {
    background: var(--rile-light-purple) !important;
}

/* CTA grandi quantitativi — pagina prodotto */
.rilepack-cta-grandi-qty {
    align-items: center;
    margin-top: 16px;
    padding: 12px 18px;
    background: #faf5ff;
    border: 3px dotted #6a3482;
    border-radius: 4px;
    font-size: 1rem;
    color: #6a3482;
    text-align: center;
}
.rilepack-cta-grandi-qty a {
    color: #6a3482;
    font-weight: 600;
    text-decoration: none;
}
.rilepack-cta-grandi-qty a:hover {
    text-decoration: underline;
}

/* Lente galleria WooCommerce: rimane sotto la header sticky */
.woocommerce-product-gallery {
    isolation: isolate;
}
.woocommerce-product-gallery__trigger {
    z-index: 1 !important;
}

/* Nasconde solo immagini e media della breve descrizione nel carrello */
.woocommerce-cart .cart_item .product-name img,
.woocommerce-cart .cart_item .product-name figure,
.woocommerce-cart .cart_item .product-name .wp-block-image,
.cart_item .product-name img,
.cart_item .product-name figure,
.cart_item .product-name .wp-block-image { display: none !important; }

/* ─── Shop / Archivio / Risultati ricerca ─── */

/* Heading pagina */
.woocommerce-products-header__title,
.woocommerce-page h1.page-title,
h1.woocommerce-products-header__title {
    color: #792C86;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 8px;
}

/* Card prodotto */
ul.products li.product {
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
    padding: 0 0 16px 0 !important;
}

ul.products li.product:hover {
    box-shadow: 0 6px 20px rgba(121,44,134,0.15);
    transform: translateY(-3px);
}

/* Immagine a bordo pieno */
ul.products li.product a img {
    border-radius: 0;
    margin: 0 !important;
    width: 100%;
    display: block;
}

/* Titolo prodotto */
ul.products li.product .woocommerce-loop-product__title {
    color: #792C86 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 12px 14px 4px !important;
    line-height: 1.4;
}

/* Stelle allineate al titolo */
ul.products li.product .star-rating {
    margin-left: 14px;
}

/* Nasconde prezzo nel loop */
ul.products li.product .price { display: none !important; }

/* Titolo sezioni "Prodotti alternativi" / "Prodotti correlati": stile viola dei titoli home
   (H2 Elementor, #792C86, Montserrat 700 32px) */
.rilepack-prodotti-collegati-titolo {
    color: #792C86;
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 20px;
    line-height: 1.3;
}

/* Risultati e ordinamento */
.woocommerce-result-count { color: #888; font-size: 13px; }
.woocommerce-ordering select {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 13px;
    color: #333;
}

/* ─── Header Search ─── */
.rp-search-toggle,
.rp-search-toggle:hover,
.rp-search-toggle:focus,
.rp-search-toggle:active {
    border: none !important;
    box-shadow: none !important;
    cursor: pointer;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    border-radius: 6px !important;
    flex-shrink: 0 !important;
    transform: none !important;
    transition: background 0.2s ease, color 0.2s ease !important;
    padding: 0 !important;
}
.rp-search-toggle,
.rp-search-toggle:focus,
.rp-search-toggle:active {
    background: #00ABBA !important;
    color: #fff !important;
}
.rp-search-toggle:hover {
    background: #792C86 !important;
    color: #fff !important;
}
.rp-search-toggle svg { stroke: currentColor; }

.rp-search-overlay {
    position: fixed;
    inset: 0;
    background: rgba(255,255,255,0.65);
    backdrop-filter: blur(4px);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}
.rp-search-overlay.rp-active {
    opacity: 1;
    pointer-events: all;
}
.rp-search-close {
    position: absolute;
    top: 24px;
    right: 32px;
    background: none;
    border: none;
    color: #333;
    font-size: 28px;
    cursor: pointer;
    line-height: 1;
}
.rp-search-close:hover { color: #00ABBA; }
.rp-search-inner {
    width: 90%;
    max-width: 600px;
    text-align: center;
}
.rp-search-title {
    color: #792C86;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 16px;
}
.rp-search-form {
    width: 100%;
}
.rp-search-input {
    width: 100%;
    padding: 16px 20px;
    font-size: 22px;
    border: 2px solid #00ABBA;
    border-radius: 8px;
    background: #fff;
    color: #333;
    outline: none;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0,171,186,0.15);
}
.rp-search-input:focus {
    border-color: #008A96;
    box-shadow: 0 4px 20px rgba(0,171,186,0.3);
}
.rp-search-input::placeholder { color: #aaa; }

/* ─── Recensioni native (shortcode [rilepack_recensioni]) ───
   Ristilizza il blocco commenti nativo di WooCommerce senza toccarne il markup. */
.rilepack-recensioni-standalone {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 28px 30px;
    margin: 30px 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.rilepack-recensioni-standalone #reviews,
.rilepack-recensioni-standalone .woocommerce-Reviews {
    max-width: 100%;
}

.rilepack-recensioni-standalone .woocommerce-Reviews-title,
.rilepack-recensioni-standalone #comments h2 {
    color: var(--rile-purple);
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--rile-light-purple);
}

/* Messaggi "nessuna recensione" / "solo clienti verificati" */
.rilepack-recensioni-standalone .woocommerce-noreviews,
.rilepack-recensioni-standalone p.woocommerce-verification-required,
.rilepack-recensioni-standalone p.stars-must-select {
    background: var(--rile-light-purple);
    color: var(--rile-dark);
    border-left: 4px solid var(--rile-purple);
    border-radius: 8px;
    padding: 14px 18px;
    font-size: 14px;
    margin: 0 0 10px;
}

/* Elenco recensioni esistenti */
.rilepack-recensioni-standalone .commentlist,
.rilepack-recensioni-standalone ol.commentlist {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
}

.rilepack-recensioni-standalone .commentlist li {
    display: flex;
    gap: 16px;
    padding: 20px 0;
    border-bottom: 1px solid #eee;
}
.rilepack-recensioni-standalone .commentlist li:last-child { border-bottom: none; }

.rilepack-recensioni-standalone .commentlist .avatar {
    border-radius: 50%;
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border: 2px solid var(--rile-light-purple);
}

.rilepack-recensioni-standalone .comment-text {
    flex: 1;
}

.rilepack-recensioni-standalone .star-rating {
    color: #f0c419;
    font-size: 15px;
    margin-bottom: 6px;
}
.rilepack-recensioni-standalone .star-rating::before { color: #ddd; }
.rilepack-recensioni-standalone .star-rating span::before { color: #f0c419; }

.rilepack-recensioni-standalone .comment-text p.meta {
    font-size: 12px;
    color: #999;
    margin: 0 0 8px;
    text-transform: none;
}
.rilepack-recensioni-standalone .comment-text .woocommerce-review__author {
    color: var(--rile-purple);
    font-weight: 700;
}
.rilepack-recensioni-standalone .comment-text .woocommerce-review__dash,
.rilepack-recensioni-standalone .comment-text .woocommerce-review__published-date {
    color: #aaa;
}

.rilepack-recensioni-standalone .description p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rile-dark);
    margin: 0;
}

/* Form nuova recensione */
.rilepack-recensioni-standalone #review_form_wrapper {
    background: #fafafa;
    border-radius: 10px;
    padding: 22px 24px;
    margin-top: 10px;
}

.rilepack-recensioni-standalone #reply-title {
    color: var(--rile-purple);
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 14px;
}

.rilepack-recensioni-standalone .comment-form-rating label,
.rilepack-recensioni-standalone .comment-form-comment label,
.rilepack-recensioni-standalone .comment-form-author label,
.rilepack-recensioni-standalone .comment-form-email label {
    display: block;
    font-weight: 700;
    font-size: 13px;
    color: var(--rile-dark);
    text-transform: uppercase;
    margin-bottom: 6px;
}

.rilepack-recensioni-standalone .comment-form-rating p.stars a {
    color: #f0c419;
}

.rilepack-recensioni-standalone textarea,
.rilepack-recensioni-standalone input[type="text"],
.rilepack-recensioni-standalone input[type="email"] {
    width: 100%;
    border: 2px solid #ddd !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    box-shadow: none !important;
    transition: border-color 0.2s;
}
.rilepack-recensioni-standalone textarea:focus,
.rilepack-recensioni-standalone input[type="text"]:focus,
.rilepack-recensioni-standalone input[type="email"]:focus {
    border-color: var(--rile-purple) !important;
    outline: none;
}

.rilepack-recensioni-standalone .form-submit input#submit,
.rilepack-recensioni-standalone #submit {
    background: var(--rile-purple) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 26px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    cursor: pointer;
    transition: 0.3s;
}
.rilepack-recensioni-standalone .form-submit input#submit:hover,
.rilepack-recensioni-standalone #submit:hover {
    background: var(--rile-light-blue) !important;
}

@media screen and (max-width: 600px) {
    .rilepack-recensioni-standalone { padding: 20px 18px; }
    .rilepack-recensioni-standalone .commentlist li { flex-direction: column; gap: 10px; }
}

/* "In offerta!" staccato dal bordo e rosso (default WooCommerce: verde oliva, a cavallo dello spigolo) */
.woocommerce span.onsale {
    top: 10px !important;
    left: 10px !important;
    background-color: #e74c3c !important;
}

.woocommerce .elementor-widget-woocommerce-product-images span.onsale {
    padding: 10px!important;
}
