/*
Theme Name: Radios ACM
Template: radios
Description: Tema child di Radios per ACM Distribuzione. Personalizzazioni CSS e funzioni aggiuntive.
Version: 1.9.0
Author: LCI Agency
*/

/* =========================================================
   INFO-BOX (Spedizione / Pagamenti / Supporto / ...)
   Widget da-info-box-id - card orizzontali con icona + testo
   Rendiamo le card flex con altezza uniforme e allineamento
   ========================================================= */

.da-info-box .info-box__wrap,
.da-info-box .features__wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}

.da-info-box .info-box__item,
.da-info-box .features__item,
.info-box__item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex: 1 1 200px !important;
    padding: 20px !important;
    min-height: 90px !important;
}

.da-info-box .info-box__item .icon,
.da-info-box .features__item .icon,
.info-box__item .icon {
    flex-shrink: 0 !important;
    margin-right: 14px !important;
}

.da-info-box .info-box__item .content,
.da-info-box .features__item .content,
.info-box__item .content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

/* =========================================================
   OVERLAY ICONE (wishlist/carrello/compare) - NASCONDI OVUNQUE
   Coprono le immagini dei prodotti su tutti i widget home.
   Classi: .product__action (tab slider + tendenza), ul.action
   ========================================================= */

/* Nascondi le icone overlay su tutti i widget prodotto */
.tab-product__item .product__action,
.tab-product__item .yith-wcwl-add-to-wishlist,
.tab-product__item ul.action,
.tx-product .product__action,
.product__item .product__action,
.rd-product__slide-item .product__action,
ul.product__action {
    display: none !important;
}

/* Anche nella griglia shop */
.products li.product .product__action {
    display: none !important;
}

/* =========================================================
   SHOP GRID - immagini quadrate 1:1 + card flex
   ========================================================= */

.products .product .woocommerce-loop-product__link,
.products .product > a:first-child {
    display: block;
    overflow: hidden;
    border-radius: 4px;
}

.products .product .woocommerce-loop-product__link img,
.products .product > a:first-child img,
ul.products li.product a img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    transition: transform 0.4s ease;
    border-radius: 4px;
}

.products .product:hover .woocommerce-loop-product__link img,
.products .product:hover > a:first-child img {
    transform: scale(1.05);
}

/* Card griglia: flex colonna */
ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
}
ul.products li.product .woocommerce-loop-product__link {
    flex: 1;
}
ul.products li.product .price,
ul.products li.product .product__price,
ul.products li.product h4.product__price {
    margin-top: auto;
}

/* =========================================================
   SLIDER / TAB HOME - allineamento card con Slick.js
   ========================================================= */

/* Slick track: flex per altezza uniforme */
.tab-product__slide .slick-track,
.tab-product__slide2 .slick-track,
.tx-tab-product .slick-track {
    display: flex !important;
    align-items: stretch !important;
}

.tab-product__slide .slick-slide,
.tab-product__slide2 .slick-slide,
.tx-tab-product .slick-slide {
    display: flex !important;
    height: auto !important;
    align-items: stretch !important;
}

.tab-product__slide .slick-slide > div,
.tab-product__slide2 .slick-slide > div,
.tx-tab-product .slick-slide > div {
    display: flex !important;
    width: 100%;
}

/* Card: flex colonna */
.tab-product__item,
.tx-product {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

/* Thumb: quadrato */
.tab-product__item .thumb,
.tx-product .thumb {
    overflow: hidden;
    border-radius: 4px;
    flex-shrink: 0;
}

.tab-product__item .thumb img,
.tx-product .thumb img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: transform 0.4s ease !important;
    display: block !important;
    height: auto !important;
}

.tab-product__item:hover .thumb img,
.tx-product:hover .thumb img {
    transform: scale(1.06) !important;
}

/* Content: cresce, spinge prezzo in fondo */
.tab-product__item .content,
.tx-product .content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding-top: 10px;
}

.tab-product__item .content .title,
.tx-product .content .title,
.tab-product__item .content h3,
.tx-product .content h3 {
    flex: 1 !important;
}

/* Prezzo/link/azioni sempre in fondo */
.tab-product__item .content .price,
.tab-product__item .content .product__price,
.tab-product__item .content h4.product__price,
.tab-product__item .content ul.action,
.tx-product .content .price,
.tx-product .content .product__price,
.tx-product .content ul.action {
    margin-top: auto !important;
    padding-top: 8px;
}

/* =========================================================
   WIDGET "VISUALIZZATI DI RECENTE" / side widget
   ========================================================= */

.tx-widget__product-item .thumb img,
.side-product .thumb img,
.widget_recently_viewed_products img,
.widget_products img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    width: 100%;
    display: block;
    border-radius: 4px;
}

/* =========================================================
   NASCONDI PARENTESI attorno a "Contattaci per il prezzo"
   Trick: font-size 0 sul wrapper, ripristinato sul figlio
   ========================================================= */

.tab-product__item .price,
.tab-product__item .product__price,
.tx-product .price,
.tx-product .product__price,
h4.product__price,
ul.products li.product .price,
ul.products li.product .product__price {
    font-size: 0 !important;
    line-height: 0 !important;
}

.tab-product__item .price a,
.tab-product__item .price span,
.tab-product__item .product__price a,
.tab-product__item .product__price span,
.tx-product .price a,
.tx-product .price span,
.tx-product .product__price a,
.tx-product .product__price span,
h4.product__price a,
h4.product__price span,
ul.products li.product .price a,
ul.products li.product .price span,
ul.products li.product .product__price a,
ul.products li.product .product__price span {
    font-size: 13px !important;
    line-height: 1.4 !important;
    display: inline-block !important;
}

/* =========================================================
   WIDGET "PRODOTTI DI TENDENZA" (vi-product-with-cate-id)
   Classi: .rd-product__slide-item > .product__item
           .product__img (immagine), .product__content (testo)
           .product__title (titolo), h4.product__price (prezzo)
   ========================================================= */

/* Slider Slick per Tendenza */
.rd-product__slide .slick-track {
    display: flex !important;
    align-items: stretch !important;
}
.rd-product__slide .slick-slide {
    display: flex !important;
    height: auto !important;
    align-items: stretch !important;
}
.rd-product__slide .slick-slide > div {
    display: flex !important;
    width: 100%;
}
.rd-product__slide-item {
    display: flex !important;
    width: 100%;
}

/* Card flex colonna */
.product__item {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

/* Immagine quadrata */
.product__img {
    overflow: hidden;
    border-radius: 4px;
    flex-shrink: 0;
}
.product__img img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: transform 0.4s ease !important;
    display: block !important;
    height: auto !important;
}
.product__item:hover .product__img img {
    transform: scale(1.06) !important;
}

/* Contenuto: cresce, spinge prezzo in fondo */
.product__content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding-top: 10px;
}
.product__content .product__title {
    flex: 1 !important;
}

/* Prezzo sempre in fondo */
.product__content .product__price,
.product__content h4.product__price {
    margin-top: auto !important;
    padding-top: 8px;
}

/* Parentesi attorno a "Contattaci" nel widget tendenza */
.product__item h4.product__price {
    font-size: 0 !important;
    line-height: 0 !important;
}
.product__item h4.product__price a,
.product__item h4.product__price span {
    font-size: 13px !important;
    line-height: 1.4 !important;
    display: inline-block !important;
}

/* =========================================================
   PAGINA SINGOLA - FlexSlider 1:1
   ========================================================= */

.single-product div.product .woocommerce-product-gallery .flex-viewport,
.woocommerce div.product div.images .flex-viewport {
    aspect-ratio: 1 / 1 !important;
    overflow: hidden;
    border-radius: 6px;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport img,
.woocommerce div.product div.images .flex-viewport img,
.woocommerce-product-gallery__image img,
.woocommerce-product-gallery__image a img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
}

/* =========================================================
   MENU BADGE - Voce "Usato" con badge HOT arancio
   class: menu-item-usato menu-item-hot
   ========================================================= */

.menu-item-usato > a::after,
.menu-item-hot > a::after {
    content: "HOT";
    background: #e74c3c;
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.5px;
    padding: 2px 5px;
    border-radius: 3px;
    margin-left: 6px;
    vertical-align: middle;
    line-height: 1;
    display: inline-block;
    text-transform: uppercase;
    position: relative;
    top: -1px;
}

/* =========================================================
   MENU BADGE - Voce "Offerte" con badge FIRE verde
   class: menu-item-offerte menu-item-fire
   ========================================================= */

.menu-item-offerte > a::after,
.menu-item-fire > a::after {
    content: "🔥";
    font-size: 13px;
    margin-left: 4px;
    vertical-align: middle;
    line-height: 1;
    display: inline-block;
    position: relative;
    top: -1px;
}

/* =========================================================
   TAB WIDGET - uniforma stile tab attivo/inattivo
   vi-product-tab-6-id: ul.product__nav button.nav-link.active
   vi-product-tab-v4-id: ul.recent-product__nav button.nav-link.active
   ========================================================= */

/* Rimuovi sfondo arancio e testo bianco dal tab attivo */
ul.product__nav button.nav-link.active,
ul.product__nav button.nav-link.active.show,
ul.recent-product__nav button.nav-link.active {
    background-color: transparent !important;
    color: #333 !important;
    border-color: transparent !important;
    font-weight: 600 !important;
    border-bottom: 2px solid #e67e22 !important;
}

/* Assicura hover coerente */
ul.product__nav button.nav-link:hover,
ul.recent-product__nav button.nav-link:hover {
    color: #e67e22 !important;
    background-color: transparent !important;
}






/* =========================================================
   PAGINA PERMUTA/USATO v3 - stile coerente col tema Radios
   light + clean + accenti arancio - acm-permuta-page
   ========================================================= */

/* INTRO */
.acm-pu-intro {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: center;
    padding: 48px 0 40px;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 56px;
}
.acm-pu-intro__text { flex: 1 1 380px; }
.acm-pu-intro__text .section-heading { margin-bottom: 16px; }
.acm-pu-intro__text p { color: #555; font-size: 1.05em; line-height: 1.7; margin-bottom: 28px; }
.acm-pu-intro__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.acm-pu-wa-link {
    color: #25d366;
    font-weight: 600;
    font-size: 0.95em;
    text-decoration: none;
    border-bottom: 1px solid rgba(37,211,102,.3);
    transition: border-color .2s;
}
.acm-pu-wa-link:hover { border-color: #25d366; color: #1ebe5d; text-decoration: none; }
.acm-pu-intro__stats {
    flex: 0 1 280px;
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid #f0f0f0;
    border-radius: 6px;
    overflow: hidden;
}
.acm-pu-stat {
    padding: 18px 24px;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
    gap: 16px;
}
.acm-pu-stat:last-child { border-bottom: none; }
.acm-pu-stat strong {
    font-size: 1.4em;
    font-weight: 800;
    color: var(--color-primary);
    min-width: 60px;
    line-height: 1;
}
.acm-pu-stat span { color: #555; font-size: 0.9em; }

/* STEPS */
.acm-pu-steps { margin-bottom: 56px; }
.acm-pu-steps__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
.acm-pu-step {
    flex: 1 1 220px;
    padding: 28px 24px;
    border: 1px solid #ebebeb;
    border-top: 3px solid var(--color-primary);
    border-radius: 0 0 6px 6px;
    background: #fff;
    transition: box-shadow .25s;
}
.acm-pu-step:hover { box-shadow: 0 4px 20px rgba(0,0,0,.08); }
.acm-pu-step__n {
    font-size: 2.6em;
    font-weight: 900;
    color: var(--color-primary);
    line-height: 1;
    margin-bottom: 14px;
    opacity: .85;
}
.acm-pu-step h3 { font-size: 1em; margin-bottom: 10px; color: var(--color-heading); }
.acm-pu-step p { color: #666; font-size: .92em; line-height: 1.65; margin: 0; }

/* COSA ACQUISTIAMO */
.acm-pu-what {
    background: #fafafa;
    border: 1px solid #f0f0f0;
    border-radius: 6px;
    padding: 40px 36px;
    margin-bottom: 56px;
}
.acm-pu-what__sub { color: #666; margin-bottom: 32px; font-size: .98em; }
.acm-pu-what__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.acm-pu-what-item {
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 6px;
    padding: 20px 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: border-color .2s, box-shadow .2s;
}
.acm-pu-what-item:hover {
    border-color: var(--color-primary);
    box-shadow: 0 2px 12px rgba(255,135,23,.1);
}
.acm-pu-what-item__icon { width: 40px; height: 40px; object-fit: contain; margin-bottom: 10px; display: block; }
.acm-pu-what-item strong { font-size: .93em; color: var(--color-heading); line-height: 1.3; }
.acm-pu-what-item span { font-size: .82em; color: #888; }

/* FORM */
.acm-pu-form {
    border: 1px solid #ebebeb;
    border-top: 3px solid var(--color-primary);
    border-radius: 0 0 6px 6px;
    padding: 40px 36px;
    margin-bottom: 48px;
    background: #fff;
}
.acm-pu-form__sub { color: #555; margin-bottom: 28px; font-size: 1.05em; line-height: 1.65; }

/* info-bar sopra il form - stile identico pagina Preventivo */
.acm-pu-form__infobar {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 32px;
}
.acm-pu-form__infobox {
    flex: 1;
    min-width: 160px;
    background: #f9f9f9;
    padding: 18px 20px;
    border-left: 4px solid var(--color-primary);
    border-radius: 0 3px 3px 0;
}
.acm-pu-form__infobox strong {
    display: block;
    margin-bottom: 6px;
    color: #0d2e3a;
    font-size: .93em;
}
.acm-pu-form__infobox span { color: #555; font-size: .88em; }

/* campi CF7 nel form permuta - griglia 2 colonne come pagina Preventivo */
.acm-pu-form .wpcf7-form p {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 0 0 14px !important;
}
/* campi che devono stare su tutta la riga (textarea, file, submit, messaggio) */
.acm-pu-form .wpcf7-form p:has(textarea),
.acm-pu-form .wpcf7-form p:has(input[type="file"]),
.acm-pu-form .wpcf7-form p:has(input[type="submit"]),
.acm-pu-form .wpcf7-form .wpcf7-response-output {
    grid-template-columns: 1fr;
}
.acm-pu-form .wpcf7-form p span { display: contents; }
.acm-pu-form .wpcf7-form input[type="text"],
.acm-pu-form .wpcf7-form input[type="email"],
.acm-pu-form .wpcf7-form input[type="tel"],
.acm-pu-form .wpcf7-form select,
.acm-pu-form .wpcf7-form textarea {
    width: 100%;
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    padding: 13px 16px;
    font-size: .93em;
    color: #333;
    transition: border-color .2s, background .2s;
    box-sizing: border-box;
}
.acm-pu-form .wpcf7-form input:focus,
.acm-pu-form .wpcf7-form select:focus,
.acm-pu-form .wpcf7-form textarea:focus {
    border-color: var(--color-primary);
    background: #fff;
    outline: none;
}
.acm-pu-form .wpcf7-form textarea { min-height: 110px; resize: vertical; }
.acm-pu-form .wpcf7-form input[type="submit"] {
    background: var(--color-primary);
    color: #fff;
    border: none;
    padding: 14px 36px;
    font-weight: 700;
    font-size: .95em;
    border-radius: 3px;
    cursor: pointer;
    transition: background .2s;
    width: auto;
}
.acm-pu-form .wpcf7-form input[type="submit"]:hover { background: #e07510; }
@media (max-width: 640px) {
    .acm-pu-form .wpcf7-form p { grid-template-columns: 1fr; }
}

/* Bottone WhatsApp - variante verde del thm-btn */
.acm-pu-btn-wa,
.acm-pu-wa__btn {
    background: #25d366 !important;
    color: #fff !important;
}
.acm-pu-btn-wa:hover,
.acm-pu-wa__btn:hover {
    background: #1ebe5d !important;
    color: #fff !important;
    text-decoration: none !important;
}
/* icona fab fa-whatsapp nel thm-btn */
.thm-btn .fab.fa-whatsapp {
    font-size: 15px;
}

/* WHATSAPP CTA - card centrata, UX 2026 */
.acm-pu-wa {
    background: #f0faf4;
    border: 1px solid #d4edda;
    border-radius: 12px;
    padding: 52px 40px 44px;
    text-align: center;
    margin-bottom: 8px;
}
.acm-pu-wa__inner { max-width: 440px; margin: 0 auto; }
.acm-pu-wa__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background: #25d366;
    border-radius: 50%;
    margin-bottom: 20px;
    box-shadow: 0 4px 16px rgba(37,211,102,.3);
}
.acm-pu-wa__badge i {
    font-size: 30px;
    color: #fff;
    line-height: 1;
}
.acm-pu-wa__title {
    font-size: 1.35em;
    color: var(--color-heading);
    margin: 0 0 10px;
    font-weight: 700;
}
.acm-pu-wa__desc {
    color: #555;
    font-size: .95em;
    line-height: 1.65;
    margin-bottom: 24px;
}
.acm-pu-wa__number {
    margin-top: 16px;
    color: #25d366;
    font-weight: 700;
    font-size: 1em;
    letter-spacing: .3px;
    margin-bottom: 0 !important;
}
@media (max-width: 640px) {
    .acm-pu-wa { padding: 36px 20px 32px; border-radius: 8px; }
}
.acm-pu-wa__btn { background: #25d366 !important; }
.acm-pu-wa__btn:hover { background: #1ebe5d !important; }

/* MOBILE */
@media (max-width: 900px) {
    .acm-pu-what__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .acm-pu-intro { padding: 32px 0 28px; }
    .acm-pu-intro__stats { flex-direction: row; flex-wrap: wrap; }
    .acm-pu-stat { flex: 1 1 50%; }
    .acm-pu-what { padding: 28px 20px; }
    .acm-pu-what__grid { grid-template-columns: 1fr 1fr; }
    .acm-pu-form { padding: 28px 20px; }
    .acm-pu-wa { padding: 20px 18px; }
    .acm-pu-steps__grid { gap: 16px; }
}
@media (max-width: 420px) {
    .acm-pu-what__grid { grid-template-columns: 1fr; }
}

/* Fix LiteSpeed minifier bug: bootstrap non-ASCII corrupts acc_body selector to body */
body { display: block !important; }

/* ─── ACM FOOTER — stile Coop ──────────────────────────────────────────────
   Footer con sfondo scuro, logo in alto, griglia 4 colonne.
   ───────────────────────────────────────────────────────────────────────── */

.acm-footer-new {
    background: #11100D;
    padding: 56px 0 40px;
    color: rgba(255,255,255,.55);
    font-size: .9em;
    line-height: 1.6;
}

/* Logo */
.acm-fn__logo {
    margin-bottom: 40px;
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.acm-fn__logo img { max-height: 48px; width: auto; }

/* Griglia 4 colonne */
.acm-fn__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 40px 48px;
    align-items: start;
}

/* Colonna 1 — dati aziendali */
.acm-fn__copy {
    color: #fff;
    font-size: .95em;
    font-weight: 600;
    line-height: 1.5;
    margin: 0 0 16px;
}
.acm-fn__data {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.acm-fn__data li {
    color: rgba(255,255,255,.4);
    font-size: .8em;
    line-height: 1.55;
}
.acm-fn__data a {
    color: rgba(255,255,255,.4);
    text-decoration: none;
}
.acm-fn__data a:hover { color: var(--color-primary); }

/* Intestazione colonne */
.acm-fn__heading {
    color: #fff;
    font-size: .78em;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
    margin: 0 0 18px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--color-primary);
    display: inline-block;
}

/* Link lista */
.acm-fn__links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.acm-fn__links a {
    color: rgba(255,255,255,.5);
    text-decoration: none;
    font-size: .88em;
    transition: color .2s, padding-left .2s;
    display: inline-block;
}
.acm-fn__links a:hover {
    color: var(--color-primary);
    padding-left: 4px;
}

/* Colonna social */
.acm-fn__social {
    display: flex;
    gap: 10px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
.acm-fn__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,.22);
    color: rgba(255,255,255,.65);
    font-size: 1em;
    text-decoration: none;
    transition: background .2s, border-color .2s, color .2s, transform .15s;
}
.acm-fn__social a:hover {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
    transform: translateY(-3px);
}
.acm-fn__tagline {
    font-size: .78em;
    color: rgba(255,255,255,.32);
    line-height: 1.65;
    margin: 0;
}

/* Tablet */
@media (max-width: 991px) {
    .acm-fn__grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px 40px;
    }
}

/* Mobile */
@media (max-width: 576px) {
    .acm-footer-new { padding: 40px 0 32px; }
    .acm-fn__logo { margin-bottom: 28px; padding-bottom: 24px; }
    .acm-fn__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .acm-fn__col--social { order: -1; }
    .acm-fn__social { margin-bottom: 16px; }
}

/* Logo ACM bianco nel footer nero */
.acm-footer-new .acm-fn__logo img {
    filter: brightness(0) invert(1);
    opacity: .9;
}
