/* Compact product details, including products whose photo is still pending. */
html body.single-product #page .mf-product-detail-card>.summary{background:#fff!important;padding:28px!important}
html body.single-product #page .mf-product-detail-card .woocommerce-product-gallery img:not(.zoomImg){height:300px!important;width:100%!important;object-fit:contain!important}
html body.single-product #page .mf-product-detail-card .woocommerce-product-gallery__image--placeholder{height:160px;display:flex;align-items:center;justify-content:center;background:#f5f8f5;border-radius:12px}
html body.single-product #page .mf-product-detail-card .woocommerce-product-gallery__image--placeholder img{display:none!important}
html body.single-product #page .mf-product-detail-card .woocommerce-product-gallery__image--placeholder::after{content:'Immagine in aggiornamento';color:#526c60;font-size:14px}
html body.single-product #page .mf-product-detail-card .mf-b2b-card-order{align-items:stretch!important;margin-top:18px;gap:14px!important}
html body.single-product #page .mf-product-detail-card .mf-card-quantity{justify-content:flex-start;gap:0!important}
html body.single-product #page .mf-product-detail-card .mf-card-quantity>span{margin-right:14px;font-size:14px}
html body.single-product #page .mf-product-detail-card .mf-card-quantity button{height:44px!important;width:44px!important;border:1px solid #c0d0c6!important;background:#f1f6f2!important;color:#214e43!important;border-radius:8px!important}
html body.single-product #page .mf-product-detail-card input.qty{height:44px!important;min-height:44px!important;width:64px!important;border-radius:0!important}
html body.single-product #page .mf-product-detail-card .mf-card-add{width:100%;min-height:48px;background:#214e43!important;color:#fff!important;border-radius:10px!important}
html body.single-product #page .mf-product-detail-card .mf-cart-next-actions{margin-top:16px!important}
html body.single-product #page .mf-product-detail-card .woocommerce-product-details__short-description p{text-align:left!important;font-size:15px;line-height:1.6}
html body #page .mf-order-unavailable{padding:12px;border-radius:8px;background:#f1f6f2;color:#214e43;font-size:14px;line-height:1.5}
@media(max-width:767px){
html body.single-product #page .mf-product-detail-card>.summary{padding:20px!important}
html body.single-product #page .mf-product-detail-card>.woocommerce-product-gallery{padding:16px!important}
html body.single-product #page .mf-product-detail-card .woocommerce-product-gallery img:not(.zoomImg){height:200px!important}
html body.single-product #page .mf-product-detail-card .woocommerce-product-gallery__image--placeholder{height:110px}
html body.single-product #page .mf-product-detail-card h1.product_title{font-size:26px!important}
}
/* Contained product photo, never a full-width mobile poster. */
html body.single-product #page .mf-product-detail-card .woocommerce-product-gallery__wrapper{box-sizing:border-box;max-width:320px;margin:0 auto!important;padding:16px;background:#f7faf7;border:1px solid #e0e9e2;border-radius:14px}
html body.single-product #page .mf-product-detail-card .woocommerce-product-gallery img:not(.zoomImg){height:240px!important;max-height:240px!important;width:100%!important;object-fit:contain!important;background:transparent!important}
html body.single-product #page .mf-product-detail-card .woocommerce-product-gallery__image{height:240px;overflow:hidden}
@media(max-width:767px){
html body.single-product #page .mf-product-detail-card>.woocommerce-product-gallery{padding:16px 16px 0!important}
html body.single-product #page .mf-product-detail-card .woocommerce-product-gallery__wrapper{max-width:250px;padding:12px}
html body.single-product #page .mf-product-detail-card .woocommerce-product-gallery img:not(.zoomImg){height:170px!important;max-height:170px!important}
html body.single-product #page .mf-product-detail-card .woocommerce-product-gallery__image{height:170px}
}

/* Compact catalogue, inspired by Flowbite's image/content/action card pattern.
   Native WooCommerce and WPForms behaviour stays in place; no framework runtime. */
html body #page ul.products.mf-product-grid:not(.mf-category-grid){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;align-items:stretch;margin-top:24px;padding:0;list-style:none}
html body #page ul.products.mf-product-grid::before,html body #page ul.products.mf-product-grid::after{display:none!important}
html body #page ul.products li.product.mf-compact-card{position:relative;display:flex!important;flex-direction:column;float:none!important;width:auto!important;min-width:0;margin:0!important;padding:0!important;background:#fff!important;border:1px solid #dbe5df!important;border-radius:16px!important;overflow:hidden;box-shadow:0 2px 6px #14352d05;transition:border-color .18s,box-shadow .18s,transform .18s}
html body #page ul.products li.product.mf-compact-card:hover{border-color:#a9c0b2!important;box-shadow:0 8px 22px #14352d12;transform:translateY(-2px)}
html body #page .mf-compact-card .mf-card-image{position:relative;display:flex;align-items:center;justify-content:center;background:#fff;height:166px;padding:18px 18px 26px;border-bottom:1px solid #eef2ee;overflow:hidden}
html body #page .mf-compact-card .mf-card-image img{display:block;width:100%!important;height:100%!important;max-height:140px;object-fit:contain!important;margin:0!important;border-radius:0!important;transform:none!important}
html body #page .mf-compact-card .mf-photo-indicative{font:10px/1.3 Arial,sans-serif;color:#5b7065;bottom:6px;background:transparent;padding:0 6px}
html body #page .mf-compact-card .mf-card-content{display:flex;flex-direction:column;flex:1;min-width:0;padding:16px;gap:8px;background:#fff;text-align:left!important}
html body #page .mf-compact-card .mf-card-category{font:700 10px/1.4 Arial,sans-serif;letter-spacing:.7px;text-transform:uppercase;color:#5b7065;text-align:left!important}
html body #page .mf-compact-card .mf-card-title-link{display:block;text-decoration:none!important;color:#14352d}
html body #page .mf-compact-card h2.woocommerce-loop-product__title{font:600 15px/1.4 Arial,sans-serif!important;min-height:42px;margin:0!important;padding:0!important;text-align:left!important;color:#14352d!important;overflow-wrap:anywhere}
html body #page .mf-compact-card .mf-card-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:12px/1.5 Arial,sans-serif;color:#5b7065;text-align:left!important;margin:0!important;min-height:36px}
html body #page .mf-compact-card form.mf-b2b-card-order{position:relative;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;width:100%;margin: auto 0 0!important;padding:12px 0 0!important;border-top:1px solid #e4ece6}
html body #page .mf-compact-card .mf-card-quantity{display:grid!important;grid-template-columns:40px minmax(36px,1fr) 40px!important;gap:0!important;width:100%;align-items:center;justify-content:stretch!important}
html body #page .mf-compact-card .mf-card-quantity>span{grid-column:1/-1;font:500 11px/1.4 Arial,sans-serif!important;text-align:left!important;letter-spacing:0;margin-bottom:6px!important}
html body #page .mf-compact-card .mf-card-quantity button[type=button]{width:40px!important;height:40px!important;min-height:40px!important;margin:0!important;padding:0!important;border:1px solid #c9d8cf!important;border-radius:0!important;background:#f6f9f6!important;color:#214f41!important;font:500 20px/1 Arial,sans-serif!important}
html body #page .mf-compact-card .mf-card-quantity button:first-of-type{border-radius:8px 0 0 8px!important}
html body #page .mf-compact-card .mf-card-quantity button:last-of-type{border-radius:0 8px 8px 0!important}
html body #page .mf-compact-card .mf-card-quantity input.qty{width:100%!important;height:40px!important;min-height:40px!important;max-width:none!important;margin:0!important;padding:0!important;border:1px solid #c9d8cf!important;border-left:0!important;border-right:0!important;border-radius:0!important;background:#fff!important;font:500 15px/1 Arial,sans-serif!important;text-align:center!important;appearance:textfield}
html body #page .mf-compact-card .mf-card-quantity input::-webkit-inner-spin-button,html body #page .mf-compact-card .mf-card-quantity input::-webkit-outer-spin-button{appearance:none;margin:0}
html body #page .mf-compact-card .mf-card-add{width:100%;margin:0!important;min-height:42px!important;padding:10px 6px!important;border-radius:8px!important;background:#234d43!important;color:#fff!important;border:1px solid #234d43!important;font:600 12px/1.4 Arial,sans-serif!important;text-transform:none!important;letter-spacing:0!important;white-space:normal}
html body #page .mf-compact-card .mf-card-add:hover{background:#14352d!important;border-color:#14352d!important}
html body #page .mf-compact-card :is(a,button,input):focus-visible{outline:2px solid #527729!important;outline-offset:2px}
html body #page .mf-compact-card>.mf-card-content>.disabled{margin-top:auto}
/* Compact category cards, separate from product rows. */
html body #page .mf-home .mf-grid,html body #page ul.products.mf-category-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;align-items:start}
html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-category,html body #page .mf-category-grid>.mf-category-shell{width:auto!important;min-width:0;max-width:none!important;margin:0!important;padding:0!important;background:#fff!important;border:1px solid #dbe5df!important;border-radius:14px!important;overflow:hidden;box-shadow:0 2px 6px #14352d05;grid-column:auto!important}
html body #page .mf-category-grid>.mf-category-shell .mf-category{border:0!important;border-radius:0!important;box-shadow:none}
html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-category summary{display:block!important;position:relative;padding:0!important;list-style:none;cursor:pointer}
html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-category summary::-webkit-details-marker{display:none}
html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-category img{display:block;width:100%!important;height:128px!important;max-height:128px!important;aspect-ratio:auto!important;object-fit:cover!important;margin:0!important;border-radius:0!important}
html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-category .mf-category-title{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:8px;min-height:76px;padding:14px!important;font:600 15px/1.4 Arial,sans-serif!important;color:#14352d!important;background:#fff!important;text-align:left!important}
html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-category-title>span{text-align:left!important}
html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-category-title small{display:block;margin-top:4px;font:400 11px/1.4 Arial,sans-serif;color:#5b7065;text-align:left!important}
html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-category-title b{display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;background:#edf4ee;border-radius:50%;color:#234d43!important;transition:transform .18s}
html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) details[open]>.mf-category-title b,html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) details[open]>summary .mf-category-title b{transform:rotate(90deg)}
html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-category:hover{border-color:#a9c0b2!important}
html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-subcategories{padding:0 14px 12px!important;background:#fff!important}
html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-subcategories a{display:flex;justify-content:space-between;text-align:left!important;font:13px/1.5 Arial,sans-serif;padding:10px 0!important;color:#234d43!important;border-top:1px solid #edf2ee;text-decoration:none!important}
html body #page .mf-catalog-banner{grid-column:1/-1!important;border-radius:12px!important;min-height:0!important;padding:18px 22px!important;font-size:15px!important;background:#edf4ee!important;color:#234d43!important}
html body #page .mf-archive-categories h2{font-size:23px;margin-bottom:18px}
/* Clear forms with labels above fields, normal alignment and strong focus states. */
html body #page :is(.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword,.woocommerce-EditAccountForm,.woocommerce-address-fields,.woocommerce-billing-fields,.woocommerce-additional-fields,.mf-contact-form){text-align:left!important}
html body #page .woocommerce :is(.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword,.woocommerce-EditAccountForm){background:#fff!important;border:1px solid #dbe5df!important;border-radius:16px!important;padding:28px!important;box-shadow:0 3px 16px #14352d06}
html body #page .woocommerce form :is(.form-row,.password-input){min-width:0;box-sizing:border-box}
html body #page .woocommerce form .form-row label,html body #page .mf-contact-form div.wpforms-container .wpforms-field-label{display:block!important;position:static!important;transform:none!important;float:none!important;height:auto!important;width:auto!important;max-width:none!important;padding:0!important;margin:0 0 8px!important;text-align:left!important;font:600 13px/1.5 Arial,sans-serif!important;color:#234d43!important;background:transparent!important}
html body #page .woocommerce form .form-row label.inline,html body #page .woocommerce form .form-row .woocommerce-form__label-for-checkbox{display:inline-flex!important;align-items:center;gap:8px}
html body #page .woocommerce form :is(input.input-text,textarea.input-text,select),html body #page .mf-contact-form div.wpforms-container :is(input[type=text],input[type=email],input[type=tel],textarea,select){display:block;width:100%!important;max-width:none!important;box-sizing:border-box;min-height:48px!important;background:#f8faf8!important;color:#14352d!important;border:1px solid #c9d8cf!important;border-radius:9px!important;padding:12px 14px!important;font:400 16px/1.5 Arial,sans-serif!important;text-align:left!important;box-shadow:none!important}
html body #page .woocommerce form :is(input.input-text,textarea.input-text,select):focus,html body #page .mf-contact-form div.wpforms-container :is(input,textarea,select):focus{background:#fff!important;border-color:#527729!important;outline:2px solid #8db84a55!important;outline-offset:1px}
html body #page .woocommerce form :is(input,textarea,select)[aria-invalid=true],html body #page .mf-contact-form div.wpforms-container .wpforms-error{border-color:#ac4937!important}
html body #page .woocommerce form input[type=password]{padding-right:46px!important}
html body #page .woocommerce form .form-row{margin:0 0 20px!important;padding:0!important}
html body #page .woocommerce form .password-input{display:block;width:100%}
html body #page .woocommerce form :is(button.button,input.button),html body #page .mf-contact-form div.wpforms-container button[type=submit]{background:#234d43!important;color:#fff!important;border:1px solid #234d43!important;border-radius:9px!important;font:600 14px/1.5 Arial,sans-serif!important;min-height:48px!important;text-transform:none!important;padding:12px 22px!important}
html body #page .mf-contact-form{padding:30px!important;border:1px solid #dbe5df!important;border-radius:16px!important;background:#fff!important;box-shadow:0 3px 16px #14352d06}
html body #page .mf-contact-form :is(h3,p){text-align:left!important}
html body #page .mf-contact-form div.wpforms-container .wpforms-field{padding:0!important;margin-bottom:20px!important}
html body #page .mf-contact-form div.wpforms-container .wpforms-field-sublabel{font-size:11px;text-align:left!important;margin-top:6px}
html body #page .mf-contact-form div.wpforms-container textarea{min-height:140px!important}
html body #page .mf-contact-form div.wpforms-container .wpforms-submit-container{padding:0!important}
html body #page .mf-contact-form div.wpforms-container button[type=submit]{width:100%}
html body #page .woocommerce form.woocommerce-form-register{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;align-items:start}
html body #page .woocommerce form.woocommerce-form-register>p,html body #page .woocommerce form.woocommerce-form-register>.woocommerce-privacy-policy-text{grid-column:1/-1;float:none!important;width:100%!important}
html body #page .woocommerce form.woocommerce-form-register>p.mf-registration-field{grid-column:auto}
html body #page .woocommerce form .required{color:#8c382c}
html body #page .woocommerce form .form-row .show-password-input{top:14px!important;right:14px!important;color:#234d43}
html body #page .mf-brand-band #mf-brands-title{font-size:clamp(28px,3vw,38px);margin:0 0 16px}
html body #page .mf-brand-band .mf-brand-subtitle{font-size:17px;line-height:1.6;max-width:760px;margin:0 auto 14px}
@media(min-width:1450px){html body #page ul.products.mf-product-grid:not(.mf-category-grid){grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:1000px){html body #page ul.products.mf-product-grid:not(.mf-category-grid),html body #page .mf-home .mf-grid,html body #page ul.products.mf-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:700px){html body #page ul.products.mf-product-grid:not(.mf-category-grid),html body #page .mf-home .mf-grid,html body #page ul.products.mf-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}html body #page .mf-compact-card .mf-card-image{height:130px;padding:14px 12px 24px}html body #page .mf-compact-card .mf-card-content{padding:12px;gap:6px}html body #page .mf-compact-card h2.woocommerce-loop-product__title{font-size:14px!important;min-height:40px}html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-category img{height:100px!important;max-height:100px!important}html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-category .mf-category-title{font-size:14px!important;padding:12px!important;min-height:80px}html body #page .woocommerce form.woocommerce-form-register{grid-template-columns:1fr}html body #page .woocommerce :is(.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword,.woocommerce-EditAccountForm){padding:20px!important}html body #page .mf-contact-form{padding:22px!important}}
@media(max-width:359px){html body #page ul.products.mf-product-grid:not(.mf-category-grid){grid-template-columns:1fr!important}html body #page .mf-compact-card .mf-card-image{height:150px}}
@media(prefers-reduced-motion:reduce){html body #page .mf-compact-card,html body #page .mf-category-title b{transition:none!important;transform:none!important}}
/* Override legacy image aspect ratios inside archive category shells. */
html body #page ul.products.mf-category-grid>.mf-category-shell .mf-category img{height:128px!important;max-height:128px!important;aspect-ratio:auto!important}
html body #page .mf-contact-details :is(h3,p,strong,small,span){text-align:left!important}
html body #page .mf-compact-card .mf-card-content>.screen-reader-text{position:absolute!important}
html body.ast-woocommerce-shop-page-list-view #page .ast-woocommerce-container>ul.products.mf-product-grid:not(.mf-category-grid){grid-template-columns:minmax(0,1fr)!important}
html body.ast-woocommerce-shop-page-list-view #page .ast-woocommerce-container>ul.products>.mf-compact-card{display:grid!important;grid-template-columns:170px minmax(0,1fr)!important;min-height:180px}
html body.ast-woocommerce-shop-page-list-view #page .ast-woocommerce-container>ul.products>.mf-compact-card .mf-card-image{height:100%;min-height:180px;border-bottom:0;border-right:1px solid #eef2ee}
html body.ast-woocommerce-shop-page-list-view #page .ast-woocommerce-container>ul.products>.mf-compact-card .mf-card-content{display:grid!important;grid-template-columns:minmax(0,1fr) 220px;column-gap:24px;align-content:center}
html body.ast-woocommerce-shop-page-list-view #page .ast-woocommerce-container>ul.products>.mf-compact-card .mf-card-content>:is(.mf-card-category,.mf-card-title-link,.mf-card-description){grid-column:1}
html body.ast-woocommerce-shop-page-list-view #page .ast-woocommerce-container>ul.products>.mf-compact-card .mf-card-content form{grid-column:2;grid-row:1/4;border:0;margin:0!important;padding:0!important}
html body.ast-woocommerce-shop-page-list-view #page .ast-woocommerce-container>ul.products>.mf-compact-card h2.woocommerce-loop-product__title{min-height:0}
html body #page .ast-view-trigger{cursor:pointer;border-radius:5px}
html body #page .ast-view-trigger:focus-visible{outline:2px solid #527729;outline-offset:4px}
@media(max-width:700px){html body #page ul.products.mf-category-grid>.mf-category-shell .mf-category img{height:100px!important;max-height:100px!important}html body.ast-woocommerce-shop-page-list-view #page .ast-woocommerce-container>ul.products>.mf-compact-card{grid-template-columns:100px minmax(0,1fr)!important}html body.ast-woocommerce-shop-page-list-view #page .ast-woocommerce-container>ul.products>.mf-compact-card .mf-card-content{display:flex!important;gap:8px}html body.ast-woocommerce-shop-page-list-view #page .ast-woocommerce-container>ul.products>.mf-compact-card .mf-card-image{padding:14px 8px 26px}html body.ast-woocommerce-shop-page-list-view #page .ast-woocommerce-container>ul.products>.mf-compact-card .mf-card-image img{max-height:110px}}

/* The catalogue landing page also uses WooCommerce category shells. */
html body #page ul.products>.mf-category-shell{grid-column:auto!important;width:auto!important;max-width:none!important;margin:0!important;background:#fff!important;border:1px solid #dbe5df!important;border-radius:14px!important;overflow:hidden;align-self:start}
html body #page ul.products>.mf-category-shell .mf-category{border:0!important;border-radius:0!important}
html body #page ul.products>.mf-category-shell .mf-category img{height:128px!important;max-height:128px!important;aspect-ratio:auto!important}
@media(max-width:700px){html body #page ul.products>.mf-category-shell .mf-category img{height:100px!important;max-height:100px!important}}
/* Equal category faces on home, catalogue and subcategory grids. */
html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-category .mf-category-title{box-sizing:border-box!important;height:112px!important;min-height:112px!important;max-height:none!important;flex-shrink:0}
html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-category-title>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:380px){html body #page :is(.mf-grid,.mf-category-grid,.mf-product-grid) .mf-category .mf-category-title{height:132px!important;min-height:132px!important}}
