:root{--sfywmc-accent:#35b75b;--sfywmc-dark:#073d27}.sfywmc-toolbar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}.sfywmc-filters{display:flex;gap:9px;flex-wrap:wrap}.sfywmc-filters button{border:1px solid #dbe5df;background:#fff;color:#244337;border-radius:999px;padding:10px 16px;cursor:pointer;font-weight:600}.sfywmc-filters button.is-active,.sfywmc-filters button:hover{background:var(--sfywmc-dark);color:#fff}.sfywmc-search input{min-width:280px;border:1px solid #dbe5df;border-radius:999px;padding:11px 17px}.sfywmc-grid{display:grid;gap:26px}.sfywmc-cols-2{grid-template-columns:repeat(2,1fr)}.sfywmc-cols-3{grid-template-columns:repeat(3,1fr)}.sfywmc-cols-4{grid-template-columns:repeat(4,1fr)}.sfywmc-card{background:#fff;border:1px solid #e5ece8;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(7,61,39,.06);transition:.25s}.sfywmc-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(7,61,39,.12)}.sfywmc-card-open{all:unset;display:block;width:100%;cursor:pointer}.sfywmc-thumb{aspect-ratio:4/3;background:#f4f7f5;overflow:hidden}.sfywmc-thumb img{width:100%;height:100%;object-fit:cover}.sfywmc-card-body{padding:20px}.sfywmc-card-cat,.sfywmc-product-cat{color:var(--sfywmc-accent);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.sfywmc-card h3{margin:7px 0 10px;color:#123b2a;font-size:21px}.sfywmc-cta{display:inline-block;margin-top:12px;color:var(--sfywmc-dark);font-weight:700}.sfywmc-cta:after{content:' →'}.sfywmc-cta.is-quote{color:var(--sfywmc-accent)}.sfywmc-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;display:none;isolation:isolate}.sfywmc-modal.is-open{display:block}.sfywmc-backdrop{position:absolute!important;inset:0!important;z-index:0!important;background:rgba(3,24,15,.78);backdrop-filter:blur(3px)}.sfywmc-dialog{position:relative!important;z-index:2!important;width:min(980px,calc(100% - 40px));max-height:calc(100vh - 50px);overflow:auto;margin:25px auto;background:#fff;border-radius:18px}.sfywmc-close{position:sticky;float:right;top:14px;right:14px;margin:14px 14px -54px 0;z-index:10;border:0;width:42px;height:42px;border-radius:50%;font-size:28px;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.14);cursor:pointer}.sfywmc-loader{padding:70px;text-align:center}.sfywmc-product{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.sfywmc-product-media{background:#f3f6f4;display:flex;align-items:center}.sfywmc-product-media img{width:100%;height:100%;max-height:680px;object-fit:cover}.sfywmc-product-info{padding:54px 50px}.sfywmc-product-info h2{margin:7px 0 14px;color:var(--sfywmc-dark);font-size:34px}.sfywmc-description{color:#526159;line-height:1.65}.sfywmc-primary{display:inline-flex;border:0;background:var(--sfywmc-dark);color:#fff!important;padding:13px 22px;border-radius:8px;font-weight:700;cursor:pointer;text-decoration:none!important}.sfywmc-primary:hover{background:var(--sfywmc-accent)}.sfywmc-quote-form{margin-top:24px;padding-top:24px;border-top:1px solid #e4ebe7}.sfywmc-note{padding:16px;background:#f4f7f5;border-left:4px solid var(--sfywmc-accent)}.sfywmc-buy-row{display:flex;gap:12px;align-items:center;margin-top:20px}body.sfywmc-no-scroll{overflow:hidden}@media(max-width:900px){.sfywmc-cols-4,.sfywmc-cols-3{grid-template-columns:repeat(2,1fr)}.sfywmc-product{grid-template-columns:1fr}.sfywmc-product-info{padding:36px 30px}}@media(max-width:600px){.sfywmc-cols-2,.sfywmc-cols-3,.sfywmc-cols-4{grid-template-columns:1fr}.sfywmc-search,.sfywmc-search input{width:100%;min-width:0}.sfywmc-dialog{width:100%;height:100%;max-height:100vh;margin:0;border-radius:0}.sfywmc-product-info{padding:30px 22px}.sfywmc-product-info h2{font-size:28px}}

/* v1.0.1 - cart/modal navigation */
.sfywmc-cart-product-open{appearance:none;-webkit-appearance:none;border:0;background:none;padding:0;margin:0;color:var(--sfywmc-dark);font:inherit;font-weight:700;cursor:pointer;text-align:left;text-decoration:none}.sfywmc-cart-product-open:hover{color:var(--sfywmc-accent);text-decoration:underline}.sfywmc-global-modal{z-index:2147483000!important}.sfywmc-quote-form .wpcf7-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.sfywmc-quote-form .wpcf7-form>p{margin:0}.sfywmc-quote-form .wpcf7-form>p:last-of-type,.sfywmc-quote-form .wpcf7-form .sfywmc-full{grid-column:1/-1}.sfywmc-quote-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),.sfywmc-quote-form select,.sfywmc-quote-form textarea{width:100%;box-sizing:border-box;border:1px solid #d8e3dc;border-radius:8px;padding:11px 12px;background:#fff}.sfywmc-quote-form textarea{min-height:120px;resize:vertical}.sfywmc-quote-form input[type=submit]{background:var(--sfywmc-dark);color:#fff;border:0;border-radius:8px;padding:12px 20px;font-weight:700;cursor:pointer}.sfywmc-quote-form input[type=submit]:hover{background:var(--sfywmc-accent)}@media(max-width:600px){.sfywmc-quote-form .wpcf7-form{grid-template-columns:1fr}}

/* v1.0.2 - compatibilità BeTheme/Muffin: il modale deve stare sopra header, menu sticky e admin UI frontend. */
body.sfywmc-no-scroll .sfywmc-modal.is-open{
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
}
.sfywmc-modal.is-open{
    pointer-events:auto!important;
}

/* v1.0.3 - Vista Griglia / Lista */
.sfywmc-toolbar-right{display:flex;align-items:center;gap:12px;margin-left:auto}.sfywmc-view-switch{display:flex;align-items:center;gap:4px;padding:4px;background:#eef3f0;border-radius:10px}.sfywmc-view-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:7px;background:transparent;color:#65736c;cursor:pointer}.sfywmc-view-btn svg{width:20px;height:20px;fill:currentColor}.sfywmc-view-btn:hover{color:var(--sfywmc-dark);background:#fff}.sfywmc-view-btn.is-active{color:#fff;background:var(--sfywmc-dark);box-shadow:0 3px 10px rgba(7,61,39,.18)}.sfywmc-card-description{display:none;margin:8px 0 12px;color:#66756d;font-size:14px;line-height:1.55}.sfywmc-price{color:var(--sfywmc-dark);font-weight:700}.sfywmc-grid.sfywmc-view-list{grid-template-columns:1fr!important;gap:16px}.sfywmc-view-list .sfywmc-card{border-radius:14px}.sfywmc-view-list .sfywmc-card:hover{transform:translateY(-2px)}.sfywmc-view-list .sfywmc-card-open{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:stretch}.sfywmc-view-list .sfywmc-thumb{aspect-ratio:auto;min-height:175px;height:100%}.sfywmc-view-list .sfywmc-card-body{min-height:175px;padding:24px 28px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"cat cat" "title price" "desc cta";column-gap:28px;align-content:center}.sfywmc-view-list .sfywmc-card-cat{grid-area:cat}.sfywmc-view-list .sfywmc-card h3{grid-area:title;margin:5px 0 7px;font-size:24px;line-height:1.25}.sfywmc-view-list .sfywmc-card-description{grid-area:desc;display:block;max-width:760px;margin:0}.sfywmc-view-list .sfywmc-price{grid-area:price;align-self:center;justify-self:end;white-space:nowrap;margin:0;font-size:18px}.sfywmc-view-list .sfywmc-cta{grid-area:cta;align-self:end;justify-self:end;margin:0;min-width:155px;text-align:center;padding:11px 16px;border-radius:8px;background:var(--sfywmc-dark);color:#fff}.sfywmc-view-list .sfywmc-cta.is-quote{background:var(--sfywmc-accent);color:#fff}.sfywmc-view-list .sfywmc-cta:after{content:""}@media(max-width:800px){.sfywmc-toolbar-right{width:100%;justify-content:space-between;margin-left:0}.sfywmc-search{flex:1}.sfywmc-search input{width:100%}.sfywmc-view-list .sfywmc-card-open{grid-template-columns:165px minmax(0,1fr)}.sfywmc-view-list .sfywmc-card-body{padding:20px;grid-template-columns:1fr;grid-template-areas:"cat" "title" "desc" "price" "cta";gap:7px}.sfywmc-view-list .sfywmc-price,.sfywmc-view-list .sfywmc-cta{justify-self:start}.sfywmc-view-list .sfywmc-cta{margin-top:6px}}@media(max-width:560px){.sfywmc-view-switch{flex:0 0 auto}.sfywmc-view-list .sfywmc-card-open{grid-template-columns:110px minmax(0,1fr)}.sfywmc-view-list .sfywmc-thumb{min-height:145px}.sfywmc-view-list .sfywmc-card-body{min-height:145px;padding:16px}.sfywmc-view-list .sfywmc-card h3{font-size:18px}.sfywmc-view-list .sfywmc-card-description{display:none}.sfywmc-view-list .sfywmc-cta{min-width:0;padding:9px 12px;font-size:13px}}


/* v1.0.4 - Vendita online / Richiesta informazioni */
.sfywmc-mode-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:0 0 8px;padding:6px 10px;border-radius:999px;font-size:10px;line-height:1;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.sfywmc-mode-badge.is-buy{background:#e8f5ed;color:var(--sfywmc-dark)}.sfywmc-mode-badge.is-quote{background:#eef2ef;color:#53635b}.sfywmc-modal-badge{margin-bottom:10px}.sfywmc-quote-panel{margin-top:22px;padding-top:22px;border-top:1px solid #e4ebe7}.sfywmc-quote-heading{margin:0 0 6px;color:var(--sfywmc-dark);font-size:21px;font-weight:700}.sfywmc-quote-intro{margin:0 0 18px;color:#607068;font-size:14px;line-height:1.55}.sfywmc-quote-form{margin-top:0;padding-top:0;border-top:0}.sfywmc-quote-form .wpcf7{margin:0}.sfywmc-quote-form .wpcf7-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.sfywmc-quote-form .wpcf7-form>p{margin:0}.sfywmc-quote-form .wpcf7-form>p:has(textarea),.sfywmc-quote-form .wpcf7-form>p:has(.wpcf7-acceptance),.sfywmc-quote-form .wpcf7-form>p:has(input[type=submit]){grid-column:1/-1}.sfywmc-quote-form label{display:block;color:#32483e;font-size:13px;font-weight:600}.sfywmc-quote-form .wpcf7-form-control-wrap{display:block;margin-top:5px}.sfywmc-quote-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),.sfywmc-quote-form select,.sfywmc-quote-form textarea{width:100%;box-sizing:border-box;border:1px solid #d8e3dc;border-radius:8px;padding:10px 11px;background:#fff;color:#26352e}.sfywmc-quote-form textarea{min-height:100px;max-height:150px;resize:vertical}.sfywmc-quote-form input[type=submit]{width:auto;background:var(--sfywmc-dark);color:#fff;border:0;border-radius:8px;padding:12px 21px;font-weight:700;cursor:pointer}.sfywmc-quote-form input[type=submit]:hover{background:var(--sfywmc-accent)}.sfywmc-quote-form .wpcf7-response-output{grid-column:1/-1;margin:4px 0 0!important;border-radius:8px}.sfywmc-view-list .sfywmc-mode-badge{grid-area:badge;margin:0 0 5px}.sfywmc-view-list .sfywmc-card-body{grid-template-areas:"badge badge" "cat cat" "title price" "desc cta"}@media(max-width:800px){.sfywmc-view-list .sfywmc-card-body{grid-template-areas:"badge" "cat" "title" "desc" "price" "cta"}}@media(max-width:600px){.sfywmc-quote-form .wpcf7-form{grid-template-columns:1fr}.sfywmc-quote-form .wpcf7-form>p{grid-column:1/-1}.sfywmc-quote-panel{margin-top:18px;padding-top:18px}.sfywmc-quote-heading{font-size:19px}}


/* v1.0.5 - Richiesta informazioni a tutta larghezza, stile pagina Contatti */
.sfywmc-product-quote{
    display:block!important;
    min-height:0!important;
    background:#fff;
}
.sfywmc-product-quote .sfywmc-quote-layout{
    width:100%;
    max-width:980px;
    box-sizing:border-box;
    margin:0 auto;
    padding:46px 58px 52px;
}
.sfywmc-product-quote .sfywmc-quote-top{
    max-width:820px;
    margin:0 auto 26px;
    text-align:left;
}
.sfywmc-product-quote .sfywmc-quote-top h2{
    margin:7px 0 8px;
    color:var(--sfywmc-dark);
    font-size:32px;
    line-height:1.18;
}
.sfywmc-quote-product-line{
    margin:0 0 5px;
    color:#31463c;
    font-size:15px;
    line-height:1.5;
}
.sfywmc-quote-help{
    margin:0;
    color:#718078;
    font-size:14px;
    line-height:1.5;
}
.sfywmc-contact-style{
    max-width:820px;
    margin:0 auto;
    padding:26px 30px 30px;
    border:1px solid #e1e9e4;
    border-radius:14px;
    background:#f8faf9;
    box-shadow:0 10px 30px rgba(7,61,39,.06);
}
.sfywmc-contact-style .wpcf7{
    margin:0!important;
    width:100%!important;
    max-width:none!important;
}
.sfywmc-contact-style .wpcf7-form{
    display:grid!important;
    width:100%!important;
    max-width:none!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px 18px!important;
}
.sfywmc-contact-style .wpcf7-form>p{
    margin:0!important;
    width:100%!important;
    max-width:none!important;
    min-width:0;
}

/* CF7: forza l'occupazione dell'intera griglia anche con wrapper introdotti dal tema/plugin */
.sfywmc-contact-style .wpcf7-form > div:not(.wpcf7-response-output):not(.wpcf7-spinner),
.sfywmc-contact-style .wpcf7-form > fieldset{
    min-width:0;
    width:100%!important;
    max-width:none!important;
}
.sfywmc-contact-style label{
    display:block;
    margin:0;
    color:#263b31;
    font-size:13px;
    line-height:1.35;
    font-weight:600;
}
.sfywmc-contact-style .wpcf7-form-control-wrap{
    display:block;
    margin-top:7px;
}
.sfywmc-contact-style input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.sfywmc-contact-style select,
.sfywmc-contact-style textarea{
    display:block;
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:0!important;
    border:1px solid #d5e0da!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#23362d!important;
    font:inherit!important;
    font-size:14px!important;
    box-shadow:none!important;
}
.sfywmc-contact-style input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.sfywmc-contact-style select{
    height:46px!important;
    padding:0 13px!important;
}
.sfywmc-contact-style textarea{
    min-height:115px!important;
    max-height:150px!important;
    padding:12px 13px!important;
    resize:vertical;
}
.sfywmc-contact-style .wpcf7-form>p:has(textarea),
.sfywmc-contact-style .wpcf7-form>p:has(.wpcf7-acceptance),
.sfywmc-contact-style .wpcf7-form>p:has(input[type=submit]),
.sfywmc-contact-style .wpcf7-form>p:last-of-type{
    grid-column:1/-1;
}
.sfywmc-contact-style .wpcf7-acceptance label{
    display:flex;
    gap:9px;
    align-items:flex-start;
    font-weight:400;
    line-height:1.45;
}
.sfywmc-contact-style input[type=checkbox]{
    margin-top:3px;
}
.sfywmc-contact-style input[type=submit]{
    min-width:190px;
    min-height:46px;
    border:0!important;
    border-radius:7px!important;
    padding:12px 24px!important;
    background:var(--sfywmc-dark)!important;
    color:#fff!important;
    font-weight:700!important;
    cursor:pointer;
}
.sfywmc-contact-style input[type=submit]:hover{
    background:var(--sfywmc-accent)!important;
}
.sfywmc-contact-style .wpcf7-spinner{
    margin:0 0 0 10px;
}
.sfywmc-contact-style .wpcf7-response-output{
    grid-column:1/-1;
    margin:4px 0 0!important;
    border-radius:7px;
}
.sfywmc-product-quote + *{
    clear:both;
}

/* Modale informativo leggermente più stretto e centrato */
.sfywmc-modal:has(.sfywmc-product-quote) .sfywmc-dialog{
    width:min(960px,calc(100% - 40px));
}

@media(max-width:700px){
    .sfywmc-product-quote .sfywmc-quote-layout{
        padding:34px 20px 28px;
    }
    .sfywmc-product-quote .sfywmc-quote-top h2{
        font-size:27px;
    }
    .sfywmc-contact-style{
        padding:22px 18px 24px;
    }
    .sfywmc-contact-style .wpcf7-form{
        grid-template-columns:1fr!important;
        gap:14px!important;
    }
    .sfywmc-contact-style .wpcf7-form>p{
        grid-column:1/-1!important;
    }
    .sfywmc-contact-style input[type=submit]{
        width:100%;
    }
}


/* v1.0.8 - Layout CF7 robusto nel modale informazioni */
.sfywmc-product-quote .sfywmc-quote-layout,
.sfywmc-product-quote .sfywmc-contact-style,
.sfywmc-product-quote .wpcf7,
.sfywmc-product-quote form.wpcf7-form,
.sfywmc-product-quote .movicar-contact-form{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
}

/* Se il CF7 usa lo stesso markup della pagina Contatti */
.sfywmc-contact-style .movicar-form-row.sfywmc-force-two-cols,
.sfywmc-contact-style .movicar-form-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:14px 24px!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 12px!important;
}
.sfywmc-contact-style .movicar-field{
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}
.sfywmc-contact-style .movicar-field-full{
    grid-column:1/-1!important;
}

/* Se il CF7 è il classico elenco di paragrafi, il JS assegna half/full */
.sfywmc-contact-style .sfywmc-auto-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:14px 24px!important;
    width:100%!important;
    max-width:none!important;
}
.sfywmc-contact-style .sfywmc-auto-grid > p.sfywmc-half{
    grid-column:auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
}
.sfywmc-contact-style .sfywmc-auto-grid > p.sfywmc-full{
    grid-column:1/-1!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
}

/* I controlli devono riempire davvero la colonna */
.sfywmc-contact-style label,
.sfywmc-contact-style .wpcf7-form-control-wrap{
    display:block!important;
    width:100%!important;
    max-width:none!important;
}
.sfywmc-contact-style input[type="text"],
.sfywmc-contact-style input[type="email"],
.sfywmc-contact-style input[type="tel"],
.sfywmc-contact-style input[type="number"],
.sfywmc-contact-style input[type="url"],
.sfywmc-contact-style select,
.sfywmc-contact-style textarea{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
}

@media only screen and (max-width:767px){
    .sfywmc-contact-style .movicar-form-row.sfywmc-force-two-cols,
    .sfywmc-contact-style .movicar-form-row,
    .sfywmc-contact-style .sfywmc-auto-grid{
        grid-template-columns:1fr!important;
    }
    .sfywmc-contact-style .movicar-field-full,
    .sfywmc-contact-style .sfywmc-auto-grid > p.sfywmc-half,
    .sfywmc-contact-style .sfywmc-auto-grid > p.sfywmc-full{
        grid-column:1!important;
    }
}


/* =========================================================
   v1.0.9 - Modale richiesta informazioni split
   Immagine a sinistra + form a destra.
   IMPORTANTE: il FORM CF7 NON è una griglia.
   La griglia è .movicar-form-row, esattamente come in Contatti.
   ========================================================= */

.sfywmc-modal:has(.sfywmc-product-quote) .sfywmc-dialog{
    width:min(1180px,calc(100% - 40px))!important;
    max-height:calc(100vh - 40px)!important;
}

.sfywmc-product-quote-split{
    display:grid!important;
    grid-template-columns:minmax(330px,40%) minmax(0,60%)!important;
    min-height:650px!important;
    background:#fff;
}

/* Colonna immagine */
.sfywmc-quote-media{
    position:relative;
    overflow:hidden;
    min-height:650px;
    background:#edf3ef;
}
.sfywmc-quote-media img{
    display:block;
    width:100%!important;
    height:100%!important;
    min-height:650px!important;
    object-fit:cover!important;
    object-position:center!important;
}
.sfywmc-quote-media-overlay{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:28px 30px;
    background:linear-gradient(180deg,rgba(3,35,22,0) 0%,rgba(3,35,22,.9) 100%);
    color:#fff;
}
.sfywmc-quote-media-overlay span{
    display:block;
    margin-bottom:7px;
    color:#55d17b;
    font-size:11px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
}
.sfywmc-quote-media-overlay strong{
    display:block;
    color:#fff;
    font-size:24px;
    line-height:1.2;
    font-weight:600;
}

/* Colonna form */
.sfywmc-product-quote .sfywmc-quote-layout{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:42px 42px 38px!important;
    box-sizing:border-box!important;
}
.sfywmc-product-quote .sfywmc-quote-top{
    width:100%!important;
    max-width:none!important;
    margin:0 0 22px!important;
}
.sfywmc-product-quote .sfywmc-quote-top h2{
    font-size:31px!important;
}

/* Box form più leggero */
.sfywmc-product-quote .sfywmc-contact-style{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:22px 24px 24px!important;
    box-sizing:border-box!important;
}

/*
 * FIX STRUTTURA:
 * Il form CF7 contiene .movicar-contact-form.
 * Se rendiamo FORM una griglia, il suo unico child finisce nella prima colonna.
 * Quindi qui lo riportiamo SEMPRE a block.
 */
.sfywmc-product-quote form.wpcf7-form{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}
.sfywmc-product-quote .movicar-contact-form{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}

/* Questa è la vera griglia a due colonne */
.sfywmc-product-quote .movicar-form-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:13px 18px!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 12px!important;
}
.sfywmc-product-quote .movicar-field{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
}
.sfywmc-product-quote .movicar-field-full{
    grid-column:1/-1!important;
}

/* Campi realmente larghi quanto la colonna */
.sfywmc-product-quote .movicar-contact-form label{
    display:block!important;
    width:100%!important;
    margin:0 0 4px!important;
}
.sfywmc-product-quote .movicar-contact-form .wpcf7-form-control-wrap{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
}
.sfywmc-product-quote .movicar-contact-form input[type="text"],
.sfywmc-product-quote .movicar-contact-form input[type="email"],
.sfywmc-product-quote .movicar-contact-form input[type="tel"],
.sfywmc-product-quote .movicar-contact-form input[type="number"],
.sfywmc-product-quote .movicar-contact-form input[type="url"],
.sfywmc-product-quote .movicar-contact-form select,
.sfywmc-product-quote .movicar-contact-form textarea{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
}
.sfywmc-product-quote .movicar-contact-form input[type="text"],
.sfywmc-product-quote .movicar-contact-form input[type="email"],
.sfywmc-product-quote .movicar-contact-form input[type="tel"],
.sfywmc-product-quote .movicar-contact-form input[type="number"],
.sfywmc-product-quote .movicar-contact-form input[type="url"],
.sfywmc-product-quote .movicar-contact-form select{
    height:45px!important;
}
.sfywmc-product-quote .movicar-contact-form textarea{
    height:105px!important;
    min-height:105px!important;
    max-height:105px!important;
}

/* Se il CF7 non usa markup Movicar, resta un fallback ordinato a colonna singola */
.sfywmc-product-quote form.wpcf7-form:not(:has(.movicar-contact-form)) > p{
    width:100%!important;
    max-width:none!important;
    margin:0 0 12px!important;
}

/* Responsive */
@media only screen and (max-width:900px){
    .sfywmc-product-quote-split{
        grid-template-columns:36% minmax(0,64%)!important;
    }
    .sfywmc-product-quote .sfywmc-quote-layout{
        padding:34px 28px!important;
    }
    .sfywmc-product-quote .movicar-form-row{
        grid-template-columns:1fr!important;
    }
    .sfywmc-product-quote .movicar-field-full{
        grid-column:1!important;
    }
}
@media only screen and (max-width:700px){
    .sfywmc-modal:has(.sfywmc-product-quote) .sfywmc-dialog{
        width:100%!important;
        max-height:100vh!important;
    }
    .sfywmc-product-quote-split{
        display:block!important;
        min-height:0!important;
    }
    .sfywmc-quote-media{
        min-height:220px!important;
        height:220px!important;
    }
    .sfywmc-quote-media img{
        min-height:220px!important;
        height:220px!important;
    }
    .sfywmc-quote-media-overlay{
        padding:20px;
    }
    .sfywmc-quote-media-overlay strong{
        font-size:20px;
    }
    .sfywmc-product-quote .sfywmc-quote-layout{
        padding:26px 18px 30px!important;
    }
    .sfywmc-product-quote .sfywmc-contact-style{
        padding:18px!important;
    }
}


/* =========================================================
   v1.1.0 - DUE MODALI SEPARATI
   BUY: scheda prodotto/acquisto
   QUOTE: immagine + form richiesta informazioni
   ========================================================= */

/* Modale vendita: mantiene layout prodotto classico */
.sfywmc-modal-buy .sfywmc-dialog-buy{
    width:min(980px,calc(100% - 40px))!important;
    max-height:calc(100vh - 50px)!important;
}
.sfywmc-modal-buy .sfywmc-product-buy{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    min-height:520px!important;
}

/* Modale richiesta: completamente indipendente dal BUY */
.sfywmc-modal-quote .sfywmc-dialog-quote{
    width:min(1180px,calc(100% - 40px))!important;
    max-height:calc(100vh - 40px)!important;
}
.sfywmc-modal-quote .sfywmc-product-quote{
    display:grid!important;
    grid-template-columns:minmax(340px,40%) minmax(0,60%)!important;
    min-height:650px!important;
    background:#fff!important;
}
.sfywmc-modal-quote .sfywmc-quote-media{
    min-height:650px!important;
    height:auto!important;
}
.sfywmc-modal-quote .sfywmc-quote-media img{
    width:100%!important;
    height:100%!important;
    min-height:650px!important;
    object-fit:cover!important;
}
.sfywmc-modal-quote .sfywmc-quote-layout{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:38px 38px 34px!important;
    box-sizing:border-box!important;
}
.sfywmc-modal-quote .sfywmc-contact-style{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:22px 24px!important;
    box-sizing:border-box!important;
}

/* Fondamentale: il form CF7 NON viene diviso dal plugin. */
.sfywmc-modal-quote form.wpcf7-form{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}
.sfywmc-modal-quote .movicar-contact-form{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}
/* La sola griglia del form è quella già usata nella pagina Contatti. */
.sfywmc-modal-quote .movicar-form-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:14px 24px!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 12px!important;
}
.sfywmc-modal-quote .movicar-field{
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
}
.sfywmc-modal-quote .movicar-field-full{grid-column:1/-1!important;}
.sfywmc-modal-quote .movicar-contact-form .wpcf7-form-control-wrap,
.sfywmc-modal-quote .movicar-contact-form input[type="text"],
.sfywmc-modal-quote .movicar-contact-form input[type="email"],
.sfywmc-modal-quote .movicar-contact-form input[type="tel"],
.sfywmc-modal-quote .movicar-contact-form input[type="number"],
.sfywmc-modal-quote .movicar-contact-form input[type="url"],
.sfywmc-modal-quote .movicar-contact-form select,
.sfywmc-modal-quote .movicar-contact-form textarea{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
}

@media(max-width:900px){
    .sfywmc-modal-quote .sfywmc-product-quote{grid-template-columns:36% minmax(0,64%)!important;}
    .sfywmc-modal-quote .sfywmc-quote-layout{padding:30px 24px!important;}
}
@media(max-width:700px){
    .sfywmc-modal-buy .sfywmc-dialog-buy,
    .sfywmc-modal-quote .sfywmc-dialog-quote{width:100%!important;height:100%!important;max-height:100vh!important;margin:0!important;border-radius:0!important;}
    .sfywmc-modal-buy .sfywmc-product-buy{grid-template-columns:1fr!important;min-height:0!important;}
    .sfywmc-modal-quote .sfywmc-product-quote{display:block!important;min-height:0!important;}
    .sfywmc-modal-quote .sfywmc-quote-media{height:220px!important;min-height:220px!important;}
    .sfywmc-modal-quote .sfywmc-quote-media img{height:220px!important;min-height:220px!important;}
    .sfywmc-modal-quote .sfywmc-quote-layout{padding:26px 18px 30px!important;}
    .sfywmc-modal-quote .movicar-form-row{grid-template-columns:1fr!important;}
    .sfywmc-modal-quote .movicar-field-full{grid-column:1!important;}
}

/* =========================================================
   v1.2.0 - Organizzazione catalogo, categorie e paginazione
   ========================================================= */
.sfywmc-catalog-separator{
    display:flex;
    align-items:center;
    justify-content:center;
    width:min(100%, 1320px);
    margin:4px auto 26px;
    padding:0 10px;
    box-sizing:border-box;
}
.sfywmc-catalog-separator:before,
.sfywmc-catalog-separator:after{
    content:"";
    height:1px;
    flex:1;
    background:linear-gradient(90deg,rgba(219,229,223,.12),#d4dfd8);
}
.sfywmc-catalog-separator:after{
    background:linear-gradient(90deg,#d4dfd8,rgba(219,229,223,.12));
}
.sfywmc-catalog-separator span{
    width:34px;
    height:3px;
    margin:0 14px;
    border-radius:3px;
    background:var(--sfywmc-accent);
}
.sfywmc-category-heading{
    grid-column:1/-1!important;
    width:100%;
    text-align:center;
    margin:14px 0 2px;
}
.sfywmc-category-heading h2{
    margin:0!important;
    color:var(--sfywmc-dark)!important;
    font-size:27px!important;
    line-height:1.2!important;
    font-weight:500!important;
}
.sfywmc-category-heading span{
    display:block;
    width:44px;
    height:3px;
    margin:12px auto 18px;
    border-radius:3px;
    background:var(--sfywmc-accent);
}
.sfywmc-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:7px;
    margin:42px 0 10px;
}
.sfywmc-page,
.sfywmc-page-dots{
    min-width:40px;
    height:40px;
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #dbe5df;
    border-radius:9px;
    background:#fff;
    color:var(--sfywmc-dark)!important;
    font-weight:700;
    text-decoration:none!important;
}
.sfywmc-page:hover{
    border-color:var(--sfywmc-dark);
    background:#f3f7f5;
}
.sfywmc-page.is-current{
    border-color:var(--sfywmc-dark);
    background:var(--sfywmc-dark);
    color:#fff!important;
}
.sfywmc-page-prev,.sfywmc-page-next{font-size:24px;line-height:1}
.sfywmc-page-dots{border-color:transparent;background:transparent;color:#87948e!important}
.sfywmc-empty{
    padding:55px 25px;
    text-align:center;
    border:1px solid #e2eae6;
    border-radius:14px;
    background:#f8faf9;
    color:#68766f;
}
.sfywmc-view-list .sfywmc-category-heading{margin-top:20px}
@media(max-width:767px){
    .sfywmc-catalog-separator{margin-bottom:26px}
    .sfywmc-category-heading h2{font-size:23px!important}
    .sfywmc-pagination{margin-top:32px}
    .sfywmc-page,.sfywmc-page-dots{min-width:36px;height:36px}
}

/* v1.2.2 - Separatore superiore realmente esteso oltre il contenitore catalogo */
.sfywmc-wrap > .sfywmc-catalog-separator{
    width:calc(100% + 160px)!important;
    max-width:none!important;
    margin:4px -80px 26px!important;
    padding:0!important;
}
@media(max-width:1200px){
    .sfywmc-wrap > .sfywmc-catalog-separator{
        width:calc(100% + 60px)!important;
        margin-left:-30px!important;
        margin-right:-30px!important;
    }
}
@media(max-width:767px){
    .sfywmc-wrap > .sfywmc-catalog-separator{
        width:100%!important;
        margin:2px 0 22px!important;
    }
}


/* =========================================================
   v1.3.0 - Apertura prodotto configurabile
   modal / page / both
   ========================================================= */

/* Le card pagina devono comportarsi come il vecchio button-card */
a.sfywmc-card-open{
    color:inherit!important;
    text-decoration:none!important;
}
.sfywmc-card-both{
    display:block;
    width:100%;
}
.sfywmc-card-title-link{
    color:inherit!important;
    text-decoration:none!important;
}
.sfywmc-card-title-link:hover{
    color:var(--sfywmc-accent)!important;
}

/* Due icone sovrapposte all'immagine quando sono attive entrambe le modalità */
.sfywmc-display-both .sfywmc-thumb{
    position:relative;
}
.sfywmc-card-actions{
    position:absolute;
    top:14px;
    right:14px;
    display:flex;
    gap:8px;
    z-index:3;
}
.sfywmc-card-action{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.95);
    color:var(--sfywmc-dark)!important;
    box-shadow:0 5px 18px rgba(0,0,0,.14);
    cursor:pointer;
    text-decoration:none!important;
    transition:.2s ease;
}
.sfywmc-card-action svg{
    width:19px;
    height:19px;
    fill:currentColor;
}
.sfywmc-card-action:hover{
    transform:translateY(-2px);
    background:var(--sfywmc-dark);
    color:#fff!important;
}
.sfywmc-action-modal{
    font-family:inherit;
}

/* CTA doppia */
.sfywmc-card-dual-links{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    margin-top:14px;
}
.sfywmc-secondary-link{
    color:var(--sfywmc-dark)!important;
    font-weight:700;
    text-decoration:none!important;
}
.sfywmc-secondary-link:after{
    content:" ↗";
}
.sfywmc-card-dual-links .sfywmc-cta{
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    color:var(--sfywmc-accent);
    font-weight:700;
    cursor:pointer;
}
.sfywmc-card-dual-links .sfywmc-cta:after{
    content:" →";
}

/* Lista: mantiene le due azioni ordinate */
.sfywmc-view-list .sfywmc-card-dual-links{
    grid-area:cta;
    justify-self:end;
    align-self:end;
    justify-content:flex-end;
}
.sfywmc-view-list .sfywmc-card-dual-links .sfywmc-cta{
    min-width:0;
    padding:0;
    background:transparent;
    color:var(--sfywmc-accent);
}
.sfywmc-view-list .sfywmc-card-dual-links .sfywmc-cta.is-quote{
    background:transparent;
    color:var(--sfywmc-accent);
}

@media(max-width:800px){
    .sfywmc-view-list .sfywmc-card-dual-links{
        justify-self:start;
        justify-content:flex-start;
    }
}
@media(max-width:560px){
    .sfywmc-card-actions{
        top:9px;
        right:9px;
        gap:6px;
    }
    .sfywmc-card-action{
        width:36px;
        height:36px;
    }
    .sfywmc-card-action svg{
        width:17px;
        height:17px;
    }
}


/* =========================================================
   v1.3.1 - Azione rapida Aggiungi al carrello
   ========================================================= */
.sfywmc-action-cart{
    position:relative;
}
.sfywmc-action-cart.loading{
    opacity:.65;
    pointer-events:none;
}
.sfywmc-action-cart.loading svg{
    opacity:.25;
}
.sfywmc-action-cart.loading:after{
    content:"";
    position:absolute;
    width:15px;
    height:15px;
    border:2px solid currentColor;
    border-right-color:transparent;
    border-radius:50%;
    animation:sfywmc-spin .7s linear infinite;
}
.sfywmc-action-cart.added{
    background:var(--sfywmc-accent);
    color:#fff!important;
}
.sfywmc-card-actions + .added_to_cart{
    display:none!important;
}
@keyframes sfywmc-spin{
    to{transform:rotate(360deg)}
}


/* =========================================================
   v1.3.2 - "Visualizza carrello" in stile pill
   WooCommerce inserisce .added_to_cart dopo l'icona AJAX.
   ========================================================= */
.sfywmc-card-actions > .added_to_cart{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px;
    padding:0 20px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:999px !important;
    background:#0d7035 !important;
    color:#fff !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:700 !important;
    white-space:nowrap;
    text-decoration:none !important;
    box-shadow:0 5px 18px rgba(0,0,0,.16);
    transition:.2s ease;
}
.sfywmc-card-actions > .added_to_cart:hover{
    background:#095b2b !important;
    color:#fff !important;
    transform:translateY(-2px);
}
.sfywmc-card-actions > .added_to_cart:before{
    content:"";
    width:16px;
    height:16px;
    margin-right:8px;
    flex:0 0 16px;
    background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4H5L3 6v2h2l2.4 8.2A2.5 2.5 0 0 0 9.8 18H17a2.5 2.5 0 0 0 2.4-1.8L21 10H8.1L7.5 8H21V6H7.9L7 4Zm3 15.5A1.5 1.5 0 1 0 10 22a1.5 1.5 0 0 0 0-3Zm7 0A1.5 1.5 0 1 0 17 22a1.5 1.5 0 0 0 0-3Z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4H5L3 6v2h2l2.4 8.2A2.5 2.5 0 0 0 9.8 18H17a2.5 2.5 0 0 0 2.4-1.8L21 10H8.1L7.5 8H21V6H7.9L7 4Zm3 15.5A1.5 1.5 0 1 0 10 22a1.5 1.5 0 0 0 0-3Zm7 0A1.5 1.5 0 1 0 17 22a1.5 1.5 0 0 0 0-3Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* annulla la vecchia regola che nascondeva il link WooCommerce */
.sfywmc-card-actions + .added_to_cart,
.sfywmc-card-actions .added_to_cart{
    display:inline-flex !important;
}

@media(max-width:560px){
    .sfywmc-card-actions > .added_to_cart{
        min-height:36px;
        padding:0 14px !important;
        font-size:12px !important;
    }
}


/* =========================================================
   v1.3.4 - Formato immagine prodotto: fix definitivo griglia
   ========================================================= */

/* Solo la vista GRIGLIA usa il rapporto scelto nelle impostazioni. */
.sfywmc-grid:not(.sfywmc-view-list) .sfywmc-thumb{
    position:relative !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:var(--sfywmc-image-ratio, 1 / 1) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    background:#f4f7f5;
}

/* L'immagine riempie il box secondo Contieni/Riempi. */
.sfywmc-grid:not(.sfywmc-view-list) .sfywmc-thumb > img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:var(--sfywmc-image-fit, contain) !important;
    object-position:center center !important;
    margin:0 !important;
}

/* La vista LISTA resta identica a prima. */
.sfywmc-grid.sfywmc-view-list .sfywmc-thumb{
    aspect-ratio:auto !important;
}

/* Mantiene le azioni sopra l'immagine anche con il nuovo box quadrato. */
.sfywmc-grid:not(.sfywmc-view-list) .sfywmc-card-actions{
    z-index:5;
}


/* =========================================================
   v1.4.0 - Prodotti variabili nel modale
   ========================================================= */
.sfywmc-variable-form{margin-top:20px}
.sfywmc-variation-fields{display:grid;gap:14px;margin-bottom:16px}
.sfywmc-variation-field>label{display:block;margin-bottom:7px;font-size:13px;font-weight:800;color:var(--sfywmc-dark);text-transform:uppercase;letter-spacing:.04em}
.sfywmc-variation-field select{width:100%;min-height:46px;padding:8px 12px;border:1px solid #d9e0dc;background:#fff;color:#24342d;border-radius:8px}
.sfywmc-select-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.sfywmc-option-buttons{display:flex;flex-wrap:wrap;gap:8px}
.sfywmc-option-button{min-width:46px;min-height:42px;padding:8px 14px;border:1px solid #d6ded9;border-radius:999px;background:#fff;color:var(--sfywmc-dark);font:inherit;font-weight:700;cursor:pointer;transition:.18s ease}
.sfywmc-option-button:hover:not(:disabled){border-color:var(--sfywmc-accent);color:var(--sfywmc-accent)}
.sfywmc-option-button.is-selected{border-color:var(--sfywmc-dark);background:var(--sfywmc-dark);color:#fff}
.sfywmc-option-button:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.sfywmc-variable-form .single_variation{margin:8px 0 14px}
.sfywmc-variable-form .woocommerce-variation-price{font-size:20px;font-weight:800;color:var(--sfywmc-dark)}
.sfywmc-variable-form .woocommerce-variation-availability{font-size:13px;margin-top:4px}
.sfywmc-variable-cart-row{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.sfywmc-variable-cart-row .quantity{margin:0!important}
.sfywmc-variable-cart-row .sfywmc-primary{flex:1;min-width:190px}
.sfywmc-reset-variations{display:inline-block;margin-top:10px;font-size:12px;color:#6a7771;text-decoration:none}
.sfywmc-variable-message{min-height:20px;margin-top:10px;font-size:13px;font-weight:700}
.sfywmc-variable-message.is-success{color:#16833d}
.sfywmc-variable-message.is-error{color:#b42318}
.sfywmc-variable-page-link{display:inline-flex!important;text-decoration:none!important;align-items:center;justify-content:center}
@media(max-width:640px){.sfywmc-variable-cart-row{display:grid;grid-template-columns:1fr}.sfywmc-variable-cart-row .sfywmc-primary{width:100%;min-width:0}.sfywmc-option-button{min-height:40px;padding:7px 12px}}


/* =========================================================
   v1.4.1 - Stato variante e pulsante acquisto
   ========================================================= */
.sfywmc-variable-form .single_add_to_cart_button.disabled,
.sfywmc-variable-form .single_add_to_cart_button:disabled{
    opacity:.42;
    cursor:not-allowed;
}
.sfywmc-variable-form .single_add_to_cart_button:not(.disabled):not(:disabled){
    opacity:1;
    cursor:pointer;
}
.sfywmc-variable-form .woocommerce-variation-price{
    margin-bottom:5px;
}
.sfywmc-variable-form .stock.in-stock{color:#188143}
.sfywmc-variable-form .stock.out-of-stock{color:#b42318}


/* =========================================================
   v1.4.2 - UX carrello, scorte e quantità compatta
   ========================================================= */

/* Scorta / disponibilità nel modale */
.sfywmc-stock-info{
    display:inline-flex;
    align-items:center;
    min-height:29px;
    margin:4px 0 12px;
    padding:5px 11px;
    border-radius:999px;
    font-size:13px;
    line-height:1.2;
    font-weight:700;
}
.sfywmc-stock-info.is-in-stock{
    background:#edf8f1;
    color:#16833d;
}
.sfywmc-stock-info.is-out-of-stock{
    background:#fff0ee;
    color:#b42318;
}
.sfywmc-variable-form .single_variation .sfywmc-stock-info{
    margin:6px 0 0;
}

/* Quantità compatta: usiamo solo lo spinner nativo del campo number.
   Nasconde i +/- aggiunti da WooCommerce/tema, evitando la doppia UI. */
.sfywmc-modal-buy .quantity .minus,
.sfywmc-modal-buy .quantity .plus,
.sfywmc-modal-buy .quantity button.minus,
.sfywmc-modal-buy .quantity button.plus,
.sfywmc-modal-buy .quantity .quantity-change,
.sfywmc-modal-buy .quantity a.quantity-change{
    display:none !important;
}

.sfywmc-modal-buy .quantity{
    display:block !important;
    width:86px !important;
    min-width:86px !important;
    margin:0 !important;
}

.sfywmc-modal-buy .quantity input.qty{
    display:block !important;
    width:86px !important;
    min-width:86px !important;
    height:46px !important;
    margin:0 !important;
    padding:8px 10px !important;
    text-align:center !important;
    box-sizing:border-box !important;
}

/* Quantità + Acquista sulla stessa riga */
.sfywmc-buy-row,
.sfywmc-variable-cart-row{
    display:flex !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:10px !important;
}

.sfywmc-buy-row .sfywmc-primary,
.sfywmc-variable-cart-row .sfywmc-primary{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    min-height:46px;
    margin:0 !important;
}

/* Messaggi AJAX */
.sfywmc-simple-message{
    min-height:18px;
    margin-top:8px;
    font-size:13px;
    font-weight:700;
}
.sfywmc-simple-message.is-success{color:#16833d}
.sfywmc-simple-message.is-error{color:#b42318}

@media(max-width:640px){
    .sfywmc-variable-cart-row,
    .sfywmc-buy-row{
        display:flex !important;
        grid-template-columns:none !important;
        flex-wrap:nowrap !important;
    }
    .sfywmc-modal-buy .quantity,
    .sfywmc-modal-buy .quantity input.qty{
        width:76px !important;
        min-width:76px !important;
    }
}


/* =========================================================
   v1.4.3 - Disponibilità variante sempre visibile
   ========================================================= */
.sfywmc-selected-stock{
    min-height:0;
    margin:0;
}
.sfywmc-selected-stock.is-visible{
    margin:4px 0 10px;
}
.sfywmc-selected-stock .sfywmc-stock-info{
    margin:0;
}
/* Alcuni temi nascondono single_variation finché non scatta il loro evento.
   Nel nostro modale la gestiamo noi e la rendiamo esplicitamente visibile. */
.sfywmc-variable-form .single_variation{
    display:block !important;
}


/* =========================================================
   v1.4.5 - Hover pulsante acquisto + chiusura modale
   ========================================================= */
.sfywmc-modal-buy .sfywmc-primary:not(:disabled):not(.disabled),
.sfywmc-modal-buy button.sfywmc-primary:not(:disabled):not(.disabled),
.sfywmc-modal-buy .single_add_to_cart_button:not(:disabled):not(.disabled){
    background:var(--sfywmc-dark) !important;
    color:#fff !important;
    border-color:var(--sfywmc-dark) !important;
    opacity:1 !important;
}
.sfywmc-modal-buy .sfywmc-primary:not(:disabled):not(.disabled):hover,
.sfywmc-modal-buy .sfywmc-primary:not(:disabled):not(.disabled):focus,
.sfywmc-modal-buy button.sfywmc-primary:not(:disabled):not(.disabled):hover,
.sfywmc-modal-buy button.sfywmc-primary:not(:disabled):not(.disabled):focus,
.sfywmc-modal-buy .single_add_to_cart_button:not(:disabled):not(.disabled):hover,
.sfywmc-modal-buy .single_add_to_cart_button:not(:disabled):not(.disabled):focus{
    background:var(--sfywmc-accent) !important;
    color:#fff !important;
    border-color:var(--sfywmc-accent) !important;
    box-shadow:none !important;
}

/* v1.5.0 - Home catalogo visuale */
.sfywmc-category-cards{display:grid;gap:22px;margin:0 0 28px}.sfywmc-cat-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sfywmc-cat-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sfywmc-cat-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sfywmc-cat-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sfywmc-category-card{display:block;text-decoration:none!important;color:inherit!important;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:14px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.sfywmc-category-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.12)}.sfywmc-category-image{display:block;overflow:hidden;background:#f5f5f5;aspect-ratio:1/1}.sfywmc-cat-ratio-4-3 .sfywmc-category-image{aspect-ratio:4/3}.sfywmc-cat-ratio-3-2 .sfywmc-category-image{aspect-ratio:3/2}.sfywmc-cat-ratio-16-9 .sfywmc-category-image{aspect-ratio:16/9}.sfywmc-category-image img{width:100%;height:100%;display:block;object-fit:var(--sfywmc-cat-fit,cover)}.sfywmc-category-info{display:flex;flex-direction:column;gap:5px;padding:15px;text-align:center}.sfywmc-category-info strong{font-size:17px}.sfywmc-category-info small,.sfywmc-category-info span{opacity:.7}.sfywmc-breadcrumb{display:flex;align-items:center;gap:8px;margin:0 0 18px;font-size:14px}.sfywmc-breadcrumb a{color:var(--sfywmc-accent);text-decoration:none}@media(max-width:900px){.sfywmc-cat-cols-4,.sfywmc-cat-cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.sfywmc-category-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sfywmc-category-info{padding:11px}.sfywmc-category-info strong{font-size:15px}}


/* v1.5.1 - transizione navigazione interna categorie */
.sfywmc-wrap{transition:opacity .18s ease,transform .18s ease}
.sfywmc-wrap.sfywmc-is-loading{opacity:.42;pointer-events:none}
.sfywmc-wrap.sfywmc-just-loaded{animation:sfywmcCatalogIn .24s ease both}
@keyframes sfywmcCatalogIn{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:none}}

/* v1.5.2 - immagine cliccabile e recensioni */
.sfywmc-display-both .sfywmc-thumb{cursor:pointer}
.sfywmc-rating{display:flex;align-items:center;gap:7px;margin:7px 0 10px;line-height:1}
.sfywmc-rating .star-rating{float:none;margin:0;color:#f2b01e;font-size:1em;width:5.4em}
.sfywmc-rating .star-rating::before{color:#d8d8d8}
.sfywmc-rating-count{font-size:12px;color:#718078;line-height:1.2}
.sfywmc-product-info .sfywmc-rating{margin:0 0 14px}
.sfywmc-view-list .sfywmc-rating{margin:4px 0 7px}


/* v1.5.3 - rating grafico stile WooCommerce, robusto anche nei modali */
.sfywmc-rating{display:flex;align-items:center;gap:8px;margin:7px 0 10px;line-height:1.2}
.sfywmc-rating .star-rating{position:relative!important;display:inline-block!important;float:none!important;overflow:hidden!important;width:5.4em!important;height:1.15em!important;margin:0!important;font-family:Arial,sans-serif!important;font-size:18px!important;line-height:1!important;letter-spacing:.08em!important;color:inherit!important}
.sfywmc-rating .star-rating:before{content:"★★★★★"!important;position:absolute!important;left:0!important;top:0!important;width:100%!important;color:#d8d8d8!important;opacity:1!important}
.sfywmc-rating .star-rating>span{position:absolute!important;left:0!important;top:0!important;height:100%!important;overflow:hidden!important;padding:0!important;font-size:0!important;line-height:1!important}
.sfywmc-rating .star-rating>span:before{content:"★★★★★"!important;position:absolute!important;left:0!important;top:0!important;width:5.4em!important;color:var(--sfywmc-accent)!important;font-size:18px!important;line-height:1!important;letter-spacing:.08em!important}
.sfywmc-rating .star-rating .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sfywmc-rating-count{font-size:13px!important;color:#66736d!important;line-height:1.2!important;white-space:nowrap}
.sfywmc-product-info .sfywmc-rating{margin:2px 0 14px}
.sfywmc-view-list .sfywmc-rating{margin:4px 0 7px}
@media(max-width:520px){.sfywmc-rating{flex-wrap:wrap;gap:5px}.sfywmc-rating .star-rating{font-size:16px!important}.sfywmc-rating .star-rating>span:before{font-size:16px!important}}

/* v1.5.11 - stelle recensioni isolate dal markup WooCommerce */
.sfywmc-rating .sfywmc-stars{position:relative;display:inline-block;flex:0 0 auto;width:5.45em;height:1.1em;overflow:hidden;font-family:Arial,sans-serif;font-size:18px;line-height:1;letter-spacing:.08em;white-space:nowrap}
.sfywmc-rating .sfywmc-stars-bg,.sfywmc-rating .sfywmc-stars-fill{position:absolute;left:0;top:0;height:1.1em;line-height:1;white-space:nowrap}
.sfywmc-rating .sfywmc-stars-bg{width:100%;color:#d8d8d8}
.sfywmc-rating .sfywmc-stars-fill{overflow:hidden;color:var(--sfywmc-accent)}
@media(max-width:520px){.sfywmc-rating .sfywmc-stars{font-size:16px}}

/* v1.5.12 - colonne categorie: il valore scelto in admin ha priorità reale.
   La variabile inline evita override accidentali del tema/vecchie regole CSS. */
.sfywmc-category-cards{
    grid-template-columns:repeat(var(--sfywmc-cat-cols,4),minmax(0,1fr))!important;
}
@media(max-width:900px){
    .sfywmc-category-cards{
        grid-template-columns:repeat(min(var(--sfywmc-cat-cols,4),3),minmax(0,1fr))!important;
    }
}
@media(max-width:640px){
    .sfywmc-category-cards{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:420px){
    .sfywmc-category-cards{
        grid-template-columns:1fr!important;
    }
}
