:root {
    --brand-color: #b71833 !important;
    --color-primary: #183140;
    --base-color: #183140 !important;
    --color-secondary: #b71833;
    --color-text: #183140;
    --color-background: #ffffff;
    --block-title-color: #183140 !important;
    --bakground-dark: #2c2c2c;
    --sidebar-width: 250px !important;
}
.products-grid .product-items .product-item-inner {display: none !important;}
.products-grid .product-items .product-item-details, [data-appearance="carousel"] .product-items .product-item-details {position: relative !important;inset: auto !important;padding: 10px !important;margin: 0px !important;}
.products-grid .product-items .product-item-info, [data-appearance="carousel"] .product-items .product-item-info {padding-top: 20px !important;}
.products-grid .product-items .actions-secondary, [data-appearance="carousel"] .product-items .actions-secondary {top: 20px !important;bottom: auto !important;}
.products-grid .actions-secondary .action {background-color: transparent !important;}
.tocart.primary span {color: white !important;}
.products-grid .product-items .product-item-info{background: white !important;transition: .2s all;}
.products.list.items.product-items {padding: 0 5px;}
.page-layout-checkout .page-header {background: white !important;}
.page-header .panel.wrapper {background: var(--bakground-dark) !important;}

header.page-header {background: white;color: var(--color-primary);}
header ul li a {color: var(--color-primary) !important;}
.tt-menu.block-swissup-ajaxsearch-results .tt-suggestion .product-item-photo {width: auto;}
body .block-swissup-ajaxsearch-results img {filter: unset;width: 100%;}

.product-image-photo {max-width: 300px;mix-blend-mode: normal !important;}
body .sidebar .block-title, body .sidebar .filter-options-title {margin-bottom: 20px;border-bottom: 2px solid #e8ebf1;}

button.action.primary:hover {background-color: var(--color-primary);}
button.action.primary {background-color: var(--brand-color);border: 1px solid transparent;color: white;}
.product.actions.product-item-actions {margin: 0 !important;}
.product-items.widget-new-grid .product-item-info, .products.list li .product-item-info {border-radius: 5px;box-shadow: 0 0 5px 0px #c8c8c8 !important;}
body .pagebuilder-slide-button {background-color: var(--color-secondary);border: 1px solid transparent;}
body .pagebuilder-slide-button:hover {background-color: var(--color-primary);}

body .button-hero .pagebuilder-button-primary {background-color: var(--color-secondary);border: 1px solid transparent;}
body .button-hero .pagebuilder-button-primary:hover::before {background-color: var(--color-secondary);}
body .button-hero .pagebuilder-button-primary::after {color: var(--color-primary);}
body .button-hero .pagebuilder-button-primary:hover::after {color: white;}
body .button-hero .pagebuilder-button-primary::before {background-color: white;}
body .business-stripe-bottom-right::after {border-bottom-color: var(--color-secondary);}

.block-title strong::after {background-color: var(--color-secondary) !important;}
body .subtitle .action.view {border-color: var(--color-secondary);color: var(--color-primary);}
body .subtitle .action.view:hover {background-color: var(--color-primary);color: white;border: 2px solid var(--color-primary);}

body .business-stripe-bottom-left-3::after {border-bottom-color: var(--color-primary);}
body .business-section-striped::before {border: 0 solid #272727;}
body .testimonials-slider .swiper-button-prev, body .testimonials-slider .swiper-button-next {color: var(--color-secondary);}
body .business-section-striped {background-image: linear-gradient(305deg, var(--color-primary) 15%, transparent 15%, transparent 100%);}

.product.info.detailed .easytabs-tablist .data.item.title.active, .product.info.detailed .easytabs-tablist .data.item.title:hover {background-color: var(--bakground-dark);}
.product.info.detailed .easytabs-tablist .data.item.title {background-color: #f5f6f9;}
.product.info.detailed .easytabs-tablist .data.item.title.active a.data.switch, .product.info.detailed .easytabs-tablist .data.item.title:hover a.data.switch {color: white;}
.product.info.detailed .easytabs-tablist .data.item.title a.data.switch {color: var(--base-color);}
body #tab-label-questions #tab-label-questions-title .counter {background: rgba(255, 255, 255, 0.36);}

body.catalog-product-view .soldtogether-block > .title strong, body.catalog-product-view .soldtogether-swiper > .title strong {font-size: 30px;}
.catalog-product-view .soldtogether-block .product-item {padding-top: 40px !important;background: white;border-radius: 5px;box-shadow: 0 0 5px 0px #c8c8c8 !important;}
.catalog-product-view .amazonstyle-checkboxes .totalprice * {color: #2c2c2c;}
.catalog-product-view .product-info-main > div {padding: 0 !important;}

.block-minicart .block-content > .actions .secondary .action:hover {border-color: var(--color-primary);}
body .product-image-container {--image-container-width: 300px !important;--image-container-aspect-ratio: 200/200 !important;max-width: 300px;margin: 0 auto;background: transparent !important;width: 100% !important;}

.message.info::before, .message.warning::before, .message.notice::before {background: var(--color-secondary) !important;}

body .product-items .product-item .product-item-name {font-weight: 400;font-size: 15px;line-height: 1.3;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}
.catalog-category-view .products.list.items.product-items .product.details.product-item-details {justify-content: space-between;padding: 10px 0px 0px !important;}
.catalog-category-view .products.list.items.product-items .actions-secondary {position: absolute;top: 10px;right: 10px;}
.catalog-category-view .products.list.items.product-items .product-item-inner {flex-direction: column-reverse;display: flex;}
.catalog-category-view .page-main > .columns > .sidebar > .block {padding: 5px 10px 20px;box-shadow: 0 0 5px 0px #dadada !important;border-radius: 5px;}
.product-item-details .product-item-link {font-size: 15px;}

.breeze .slick-dots li.slick-active {background-color: var(--color-secondary);}
select:focus,input:focus, #contact-form textarea:focus, #form-validate input:focus {border: 1px solid var(--base-color);}
.ui-menu-icon.ui-icon.navpro-icon-caret::before {background-color:  var(--color-primary) !important;}

.login-container .action.create.primary {background-color: var(--color-secondary);color: white;border: 1px solid var(--color-secondary);}
.login-container .action.create.primary:hover {color: var(--color-primary);background-color: transparent;}
#shopping-cart-table .cart.item {border-bottom: 1px solid rgb(204, 204, 204);}
.cart-container .cart.actions .action.update {border: 1px solid var(--color-secondary);}
.cart-container .cart.actions .action.update:hover {background-color: var(--color-secondary);color: white;}

.actions-toolbar .action.compare.primary {background-color: var(--color-secondary);color: white;border: 1px solid var(--color-secondary);}
.actions-toolbar .action.compare.primary:hover {background-color: var(--color-primary);border-color: var(--color-primary);}

.payment-option .form-discount .actions-toolbar .action, .checkout-success .actions-toolbar .action.primary, #wishlist-view-form :where(button.action.update, button.action.share) {border: 1px solid var(--color-secondary);}
.payment-option .form-discount .actions-toolbar .action:hover, .checkout-success .actions-toolbar .action.primary:hover, #wishlist-view-form :where(button.action.update, button.action.share):hover {background-color:var(--color-secondary);color:white;}

/* Wishlist */
#wishlist-view-form .box-tocart .product-item-actions {width: 70%;}
#wishlist-view-form .box-tocart .field.qty .input-text.qty {width: 100%;max-width: 100%;}
#wishlist-view-form .action.tocart.primary {white-space: collapse;padding: 0 5px;}
#wishlist-view-form .box-tocart .field.qty {width: 40%;}

/* Ajax Search */
.block-swissup-ajaxsearch-results .grid .product-item-info-wrapper .product-item-info {flex-direction: column;max-width: 200px;box-shadow: 0px 2px 5px 0px #c8c8c8;background-color: white;border-radius: 5px;}
body .block-swissup-ajaxsearch-results .ajaxsearch-header-container {margin-bottom: 10px;}

.product.actions .actions-primary .stock.unavailable span {color: var(--brand-color);}
.punti_forza {box-shadow: 0px 4px 10px -5px gray;max-width: 1300px;padding: 20px;margin: -50px auto 0;z-index: 3;position: relative;border-radius: 10px;}
.item.product.product-item .prolabel {margin: -10px 0 0 0px !important;color: white !important;background-color: var(--brand-color) !important;}
.item.product.product-item .prolabel b {border-left-color: var(--brand-color) !important;}

.block.filter .filter-options-content li.item > a .count {font-size: 14px;}
.block.filter .filter-options-content li.item > a:has(.count) {font-size: 15px;}

.punti_forza .flex.items-center {width: 100%;max-width: 25%;margin: 0;}
.punti_forza > .row-full-width-inner {padding: 0;}
.punti_forza .flex.flex-col > span {font-weight: bold;}
.punti_forza .flex.flex-col > .color-muted {font-size: 15px;}

.pagebuilder-slider .slick-next:not(.slick-disabled)::before, .pagebuilder-slider .slick-prev:not(.slick-disabled)::before {color: var(--brand-color);}

.catalog-product-view .breeze-gallery:not(.opened) .thumbnails.dots {gap: 10px;margin-top: 20px;width: 100%;overflow: hidden;justify-content: left;}
.catalog-product-view .breeze-gallery:not(.opened) .thumbnails.dots img {display: inline-block;object-fit: cover;width: 100%;height: 100%;}
.catalog-product-view .breeze-gallery:not(.opened) .thumbnails .item::after {content:unset;}
body.catalog-product-view .breeze-gallery:not(.opened) .thumbnails .item {overflow: hidden;width: calc(20% - 10px) !important;height: 100px !important;display: flex;align-items: center;justify-content: center;border-radius: 10px !important;}
.catalog-product-view .breeze-gallery .thumbnails .item.active, body.catalog-product-view .breeze-gallery:not(.opened) .thumbnails .item:hover {border: 2px solid var(--brand-color);}

.easycatalogimg .image {min-height: 160px;background-color: white !important;}
.easycatalogimg .image img {max-width: 120px;margin-top:30px;}
.easycatalogimg li.item:hover {transition: 0.2s all;box-shadow: 0px 3px 10px 0px gray;}
.easycatalogimg .parent-category-wrapper .category-name::before {content: unset !important;}
.easycatalogimg .parent-category-wrapper .category-name {text-align: center;padding: 0 !important;margin: 0 0 20px 0 !important;justify-content: center;}
.easycatalogimg .image::after {content: unset !important;}
.easycatalogimg li.item {padding: 0 7px;box-shadow: 0px 3px 10px -3px #a2a2a2;border-radius: 5px;}
.easycatalogimg .image::before {content: "";width: 50px;height: 3px;background-color: var(--brand-color);position: absolute;bottom: 30px;z-index: 17;display: block;left: calc(50% - 25px);}

.pagebuilder-slider .slick-list {max-height: 45vh;}
.pagebuilder-slider .pagebuilder-slide-wrapper, .pagebuilder-slider .pagebuilder-overlay.pagebuilder-poster-overlay {min-height: 45vh !important;max-height: 45vh;}
.pagebuilder-slider .pagebuilder-poster-content {z-index: 9;}
.pagebuilder-slider .pagebuilder-overlay.pagebuilder-poster-overlay::before {content: "";background-color: #0000003b;position: absolute;display: block;inset: 0;width: 100%;height: 100%;}



.item.product.product-item .price-box.price-final_price > .special-price .price {font-size: 17px;color: var(--bakground-dark);}
.item.product.product-item .price-final_price > .price-final_price > .price-wrapper > .price {font-size: 17px;}
.item.product.product-item .price-box.price-final_price .old-price .price {color: grey;}

.price-slider {padding: 10px 8px 4px;}
.price-slider .price-slider-labels {display: flex;justify-content: space-between;margin-bottom: 18px;font-weight: 600;color: var(--color-text);}
.price-slider .price-slider-track {position: relative;height: 4px;border-radius: 4px;background: #e6e6e6;margin: 0 10px;}
.price-slider .price-slider-range {position: absolute;z-index: 1;top: 0;height: 100%;border-radius: 4px;background: var(--brand-color);}
.price-slider .price-slider-handle {position: absolute;z-index: 2;top: 50%;width: 20px;height: 20px;margin-top: -10px;margin-left: -10px;background: #ffffff;border: 2px solid var(--brand-color);border-radius: 50%;cursor: pointer;touch-action: none;box-shadow: 0 1px 3px rgba(0, 0, 0, .2);outline: none;}
.price-slider .price-slider-handle:hover,
.price-slider .price-slider-handle:focus {box-shadow: 0 0 0 4px rgba(183, 24, 51, .15);}

.catalog-category-view .sidebar-main .filter-current {border: 0;padding: 0;margin: 0 0 20px;}
.catalog-category-view .sidebar-main .filter-current-subtitle {display: block;font-size: 12px;font-weight: 600;letter-spacing: .03em;text-transform: uppercase;color: #8a8f98;margin-bottom: 10px;}
.catalog-category-view .sidebar-main .filter-current .items {display: flex;flex-wrap: wrap;gap: 8px;list-style: none;margin: 0;padding: 0;}
.catalog-category-view .sidebar-main .filter-current .item {display: inline-flex;align-items: center;gap: 6px;background: var(--brand-color);color: #ffffff;border-radius: 999px;padding: 6px 8px 6px 14px;font-size: 13px;line-height: 1.2;}
.catalog-category-view .sidebar-main .filter-current .filter-label {font-weight: 600;}
.catalog-category-view .sidebar-main .filter-current .filter-label::after {content: ':';margin-right: 3px;}
.catalog-category-view .sidebar-main .filter-current .filter-value {opacity: .92;}
.catalog-category-view .sidebar-main .filter-current .action.previous {display: none;}
.catalog-category-view .sidebar-main .filter-current .action.remove {position: relative;display: flex;align-items: center;justify-content: center;width: 18px;height: 18px;border-radius: 50%;background: rgba(255, 255, 255, .25);flex-shrink: 0;}
.catalog-category-view .sidebar-main .filter-current .action.remove:hover {background: rgba(255, 255, 255, .45);}
.catalog-category-view .sidebar-main .filter-current .action.remove span {position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);}
.catalog-category-view .sidebar-main .filter-current .action.remove::before {content: '\2715';font-size: 9px;color: #ffffff;line-height: 1;}
.catalog-category-view .sidebar-main .filter-current .item-price {display: none;}
.catalog-category-view .sidebar-main .filter-current:not(:has(.item:not(.item-price))) {display: none;}

.product.actions.product-item-actions .actions-secondary {opacity: 1;}
.product-items .product-item .product-item-info:hover .product-image-photo{transform: scale(1.05);}
.product-items .product-item .product-item-info .product-image-photo{transition: 0.2s all;}
.product-items.widget-new-grid .product-item-info:hover, .products.list li .product-item-info:hover {box-shadow: 0 0 10px 0px #adadad !important;}
.products-grid .product-items:has(.product-item-details) .product-item-name a, [data-appearance="carousel"] .product-items:has(.product-item-details) .product-item-name a {-webkit-line-clamp: 2 !important;}

.catalog-category-view .category-view .category-content-wrapper {margin: 0 !important;max-width: unset !important;background-color: transparent !important;padding: 0 !important;}
.catalog-category-view .category-view .category-image img {opacity: 0 !important;}
.catalog-category-view .category-view .category-content-wrapper #page-title-heading {margin-bottom: 30px;color: #000000;}
.catalog-category-view .category-view {min-height: unset;padding: 0;}
body .pages .item.current .page {color: white;background-color: var(--brand-color);}

.actions-secondary .action.towishlist::before {-webkit-mask-size: 30px;color: var(--base-color);}

footer .leading-relaxed:where(.mail, .address, .phone)::before {content: "";width: 50px;height: 50px;display: block;position: absolute;left: 0;top: calc(50% - 25px);background-color: white;bottom: 0;border-radius: 50px;background-position: center;background-size: 22px;background-repeat: no-repeat;}
footer .leading-relaxed:where(.mail, .address, .phone) {padding-left: 60px;position: relative;}
footer .leading-relaxed.mail::before {background-image: url(/pub/media/wysiwyg/telefono.png);}
footer .leading-relaxed.address::before {background-image: url(/pub/media/wysiwyg/indirizzo.png);}
footer .leading-relaxed.phone::before {background-image: url(/pub/media/wysiwyg/telefono.png);}
footer .column_center ul li::before {border-right: 2px solid gray;border-bottom: 2px solid gray;width: 8px;height: 8px;transform: rotate(-45deg);content: "";display: block;position: absolute;left: 0;top: calc(50% - 4px);}
footer .column_center ul li {margin-bottom: 10px;padding-left: 20px;position: relative;}
footer .uppercase.underline {margin-bottom: 20px;text-decoration: none;border-bottom: 2px solid var(--brand-color);width: max-content;display: block;padding-bottom: 10px;}
footer hr {border: 1px solid lightgray;max-width: 250px;margin-bottom: 20px;}
footer .footer-bottom .footer.content {padding-bottom: 10px;font-size: 15px;line-height: 1.3;}
footer .footer-bottom .footer.links {gap: 10px;}

.copyrights {padding-bottom: 2rem;font-size: 15px;line-height: 1.3;text-align: center;}

.envision-subcategories__list {display: flex;gap: 10px;flex-wrap: wrap;}
.envision-subcategories .envision-subcategories__item {border: 1px solid #e1e1e1;border-radius: 5px;transition: .2s all;}
.envision-subcategories__link {padding: 10px 15px;display: block;font-size: 15px;}
.envision-subcategories__item:hover {transform: scale(1.05);background-color: var(--brand-color);color: white;border-color: transparent !important;}
.envision-subcategories__icon {width: 25px;height: 25px;margin-right: 5px;}
.envision-subcategories__item:hover .envision-subcategories__icon {filter: invert(1);}

.toolbar .pages-items .item.current:last-child, .toolbar .pages-items .item:has(+ .pages-item-next) {margin-right: 0 !important;}
.toolbar .action.next, .toolbar .action.previous {border-radius: 10px !important;color: var(--brand-color) !important;}

.sidebar .block.filter .filter-options-item:last-child {margin-bottom: 0 !important;padding-bottom: 0 !important;}
.sidebar .products-list .product-items .product-item-info {flex-direction: column;}
.sidebar .product-image-container {width: 100% !important;--image-container-aspect-ratio: 100/50 !important;}
.sidebar .product-image-wrapper {background-color: transparent !important;text-align: center;}
.sidebar .products-list .product-items .product-item-info > :first-child {max-width: 100% !important;}
.sidebar .products-list .product-items .product-item-info .prolabels-wrapper {margin-top: 20px;}

.sidebar .prolabel {margin-top: -30px !important;}
body .prolabel {background-color: var(--brand-color) !important;color: white !important;}
body .prolabel .prolabel__content b {border-left-color: var(--brand-color) !important;}
.sidebar .product-item .product-item-actions, .sidebar .product-item .product-item-description {margin-top: 0px !important;}

header .header-bottom {width: 100%;}
header .header.content {flex-wrap: wrap;}
header #navpro-topnav {display: flex;justify-content: center;gap: 30px;}
header .header-bottom {border-top: 1px solid #e1e1e1;border-bottom: 1px solid #e1e1e1;padding-top: 15px;padding-bottom: 15px;line-height: 2;}

header .logo {max-width: 300px;width: 100%;}
header .logo img {width: 100%;}
header .block.block-search.block-swissup-ajaxsearch {width: 55% !important;}
header #search_mini_form {width: 100%;border: 1px solid #e1e1e1;border-radius: 10px;}
.block-swissup-ajaxsearch.block-search .field.search {width: 100% !important;}
header #search {color: var(--color-primary);}
.block-swissup-ajaxsearch-results .grid {padding: 4px;border: 1px solid #e1e1e1;}
body header .minisearch .action.search {height: 100%;background-color: var(--brand-color) !important;opacity: 1;color: white !important;border-radius: 0 10px 10px 0 !important;}
body header .minisearch .label::before, .minisearch .action.search::before {width: 46px !important;height: 46px !important;}
#search::placeholder {color: var(--color-text);}
header #search_mini_form.active .block-swissup-ajaxsearch-results{position: fixed !important;left: auto !important;right: 15vw !important;width: 70vw !important;display: block;}
header .tt-menu.block-swissup-ajaxsearch-results .product-item-info {max-width: unset !important;}
header .block-swissup-ajaxsearch-results .grid .product-item-info-wrapper {grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));}
header .navpro-business :where(.navpro-dropdown-level1.size-fullscreen, .navpro-dropdown-level1) > .navpro-dropdown-inner {min-height: 400px !important;}
header .li-item.level1:hover > a {background-color: var(--brand-color);color: white !important;}
header .li-item.level0:hover > a {color: var(--brand-color) !important;}
header .navpro-dropdown li:hover > a > .navpro-icon-caret::before {background-color: white !important; }
header .navigation-wrapper li:not(.li-item.level0) > a:hover {background: var(--brand-color);color: white !important;}
header .header-bottom .navpro-dropdown-level3 {top: 0 !important;height: 100%;}

.sidebar .block.filter .filter-options-content li.item {padding-right: 7px;}
.sidebar .filter-options-content ol {max-height: 360px;overflow: scroll;scrollbar-width: none !important;}
.sidebar .product-item:not(:last-child) {border-bottom: 1px solid #e8ebf1 !important;}
.sidebar .prolabel {margin-left: 0 !important;}

.product-info-wrapper .page-title-wrapper h1 {font-size: 40px;}
.sidebar .product-image-photo {height: 110px;width: auto;}
.catalog-product-view main .breeze-gallery.default:not(.opened) .stage {border-radius: 10px;max-height: 650px;overflow: hidden !important;}
.product .clamp-toggle span {color: var(--brand-color);}
body .product-addto-links .action::before, .product-social-links .action::before {color: var(--brand-color);}
.catalog-product-view .product-info-wrapper {margin-bottom: 20px;}
.catalog-product-view .price-box {color: var(--brand-color);}
.catalog-product-view .price-label {color: black;}
.catalog-product-view .punti-forza-wrapper {margin-top: 30px;display: block;margin-bottom: 40px;padding: 15px;border: 1px solid #e1e1e1;border-radius: 10px;}
.catalog-category-view .breadcrumbs ul {padding-bottom: 0 !important;padding-top: 10px;}
.catalog-category-view .breadcrumbs {min-height:0px !important;}

.punti-forza-wrapper .flex.flex-col > .color-muted {font-size: 14px;line-height: 1.5;}
.punti-forza-wrapper .flex.items-center {width: 100%;max-width: 25%;margin: 0;padding: 0 10px;}
.punti-forza-wrapper .flex.items-center strong {font-weight: bold;}
.punti-forza-wrapper .flex.items-center:not(:last-child) {border-right: 1px solid #e1e1e1;}
.punti_forza .flex.gap-6, .punti-forza-wrapper .flex.gap-6 {gap: 0 !important;}


.block.filter .filter-current li span.filter-value {text-overflow: unset;overflow: unset;white-space: normal;}
.block.filter .filter-current li .action.remove {opacity: 1 !important;}

.img-background-overlay .pagebuilder-overlay.pagebuilder-poster-overlay {background-color: #0000008c !important;}
#contact-form .field.privacy {font-size: 14px;line-height: 1.3;}
body header .header.content {padding-bottom: 0;}

footer .action-primary.action-accept {border: 2px solid var(--button-primary-bg);}
footer .action-primary.action-accept:hover {background-color: var(--button-primary-bg);color: white;}

#registration .action.primary {border: 1px solid var(--button-primary-bg);}
#registration .action.primary:hover {background-color: var(--button-primary-bg);color: white;}


/* RESPONSIVE SCALING LAYOUT */

@media (max-width: 1500px) {
    
}
@media (max-width: 1440px) {
    body .pagebuilder-slider .slick-prev, .pagebuilder-slider .slick-next {top: 90%;}
    body .pagebuilder-slider .h1 {margin-top: 16px;}
    body .product-info-wrapper .page-title-wrapper h1 {font-size: 35px;}
}
@media (max-width: 1366px) {
    
}
@media (max-width: 1199px) {
    
}
@media (max-width: 1110px) {
    body header .block-swissup-ajaxsearch-results .grid .product-item-info-wrapper {grid-template-columns: repeat(3, minmax(220px, 1fr));}
}
@media (max-width: 1023px) {
    body header .logo {max-width: 200px;}
}
@media (max-width: 991px) {
    body header #search_mini_form.active .block-swissup-ajaxsearch-results {right: 5% !important;width: 90% !important;}
    body .logo_footer {max-width: 240px;}
    body .tocart.primary span {font-size: 12px;}
}

@media (max-width: 767px) {
    body header .block.block-search.block-swissup-ajaxsearch {width: 100% !important;}
    body header .header-bottom {border: 0;padding: 0;}
    body .header .action.nav-toggle {order: -1;flex: 0 0 10%;}
    body header .logo {max-width: calc(90% - 110px);text-align: center;}
    body header .logo img {max-width: 200px;}

    body header .block.block-search.block-swissup-ajaxsearch {width: 100% !important;order: 1;}
    body .nav-open .navigation-wrapper, .nav-before-open .navigation-wrapper {top: 130px;}
    body header #navpro-topnav {gap: 0;flex-direction: column;}
    body .pagebuilder-slider .h1 {font-size: 40px !important;}
    body .pagebuilder-slider .pagebuilder-slide-button {padding: 10px 10px;font-size: 16px;}
    body .punti_forza .flex.gap-6, .punti-forza-wrapper .flex.gap-6 {flex-wrap: wrap;row-gap: 20px !important;}
    body .punti-forza-wrapper .flex.items-center {max-width: 50%;border-right: 0px solid #e1e1e1 !important;}
    body .punti_forza { width: calc(100% - 20px);margin-right: 10px;}
    body .easycatalogimg-grid .item {width: calc(33% - (var(--item-gap) / 2));}
    body .easycatalogimg-grid {--item-gap: 10px;}
    body header .header.content {gap: 0;row-gap: 10px;}
    body .header.content .switcher {margin-right: 10px;width: 30px;}
    body .tocart.primary span, body .stock.unavailable span {font-size: 14px;white-space: break-spaces;}
    body .action.tocart.primary, body .stock.unavailable {padding: 10px 5px !important;text-align: center;}
    body .action.tocart.primary span::before {content: unset;}
    body .products-grid .product-items .product-item-details, [data-appearance="carousel"] .product-items .product-item-details {padding: 5px 0 !important;}
    body .product-items.widget-new-grid .product-item-info, .products.list li .product-item-info {padding-right: 5px;padding-left: 5px;}
    body footer.page-footer {--container-padding: 0.75rem 1rem;}
    body .actions-primary, body .action.tocart.primary {border-radius: 5px !important;}
    body .block-title .subtitle .action {padding: 5px 10px;}
    body :where(.header) .minisearch .control {background: white;}
    body .page-title .base {font-size: 21px;}
    body .amazon-stripe .amazonstyle-checkboxes {padding: 20px 0 0;}
    body .amazon-stripe .amazonstyle-checkboxes .button-cart {margin: 0;}
    body .soldtogether-block .amazonstyle-images li.first ~ .item {padding: 5px !important;}

    /*page checkout*/
    body.page-layout-checkout #checkout {display: flex;flex-direction: column;}
    body.page-layout-checkout #checkout .authentication-wrapper {order: 0;text-align: center;}
    body.page-layout-checkout #checkout .opc-progress-bar       {order: 1;}
    body.page-layout-checkout #checkout .opc-estimated-wrapper  {order: 2;}
    body.page-layout-checkout #checkout .messages               {order: 3;}
    body.page-layout-checkout #checkout .opc-wrapper            {order: 4;}
    body.page-layout-checkout .modal-custom.opc-sidebar.opc-summary-wrapper.custom-slide {position: relative;opacity: 1;z-index: 99999999;padding-left: 0;padding-right: 0;padding-top: 0;order:2;}
    
    body.page-layout-checkout .modal-custom.opc-sidebar.opc-summary-wrapper.custom-slide .modal-inner-wrap {width: 100%;max-width: 100%;}
    body.page-layout-checkout .modal-custom.opc-sidebar.opc-summary-wrapper.custom-slide * {opacity: 1;visibility: visible;pointer-events: auto;}
    body .copyrights {padding: 0 20px 20px;font-size: 14px;}
    
    body .products-grid .product-items .product-item-info, body [data-appearance="carousel"] .product-items .product-item-info {padding-top: 0px !important;}
    body .products-grid .product-items .actions-secondary, body [data-appearance="carousel"] .product-items .actions-secondary {top: 10px !important;}

    body .opc-estimated-wrapper .minicart-wrapper .action.showcart {padding: 10px !important;background-color: var(--brand-color) !important;border-radius: 5px !important;color: white !important;}
    body #checkout .opc-progress-bar {flex-wrap: wrap;white-space: wrap;}
    body .payment-method-content {padding: 0;}
    button.action.primary {padding: 10px 20px !important;font-size: 16px !important;}

}

@media (max-width: 645px) {
    body #soldtogether\.product\.order .block-title strong {font-size: 22px;}
    body .table.grouped .control.qty, body .cart.table-wrapper .col.qty {min-width: 50px;}

    body header #search_mini_form {position: relative;}
    body #search_mini_form .control {top: 0;padding: 0;border-radius: 40px;}

    body .pagebuilder-slider .pagebuilder-poster-content {padding: 0 30px 60px;}
    body .easycatalogimg-grid .item {width: calc(50% - (var(--item-gap) / 2));}   
    body .block-highlight.highlight-carousel .slide.loading.show-button::after {padding: 10px 20px;background-color: var(--brand-color);border-radius: 5px;font-size: 16px;color: white;}
    body .product-info-wrapper .page-title-wrapper h1 {font-size: 25px;}
    body .breadcrumbs ul {padding-top: 0.5rem;padding-bottom: 0.5rem;}
    body .breadcrumbs {min-height: 2.5rem;}
    body.catalog-product-view .breeze-gallery:not(.opened) .thumbnails .item {width: calc(25% - 10px) !important;}
    body .collapsed[data-content-type="easytabs"] > [data-role="content"], body [data-content-type="tabs"] .tabs-content > div {padding: 1.75rem 15px;}
    body .product-image-container {--image-container-aspect-ratio: 200/220 !important;}
    body .product-image-photo {object-fit: contain;width: 100%;}
    body .cart.table-wrapper .product-item-photo {max-width: 100%;width: 100%;max-height: 100px;display: flex;align-items: center;justify-content: center;overflow: hidden;margin-bottom: 10px;}
    body .cart.table-wrapper .product-item-details {max-width: 100%;margin-left: 0;}
    body .cart.table-wrapper .product-item-details .product-item-name {font-size: 15px;line-height: 1.5;}
    body .table.grouped .control.qty, body .cart.table-wrapper .col.qty {min-width: 50px;}
}

@media (max-width: 500px){
    body .pagebuilder-slider .h1 {font-size: 30px !important;}
    body .block-title .subtitle .action {white-space: break-spaces;max-width: 150px;}
    body .easycatalogimg .image {min-height: 130px;}
    body .easycatalogimg .image img {max-width: 90px;margin-top: 30px;}
    body .pagebuilder-slider .font-bold > span {font-size: 18px;}
    body footer .grid.grid-cols-2.gap-2 {grid-template-columns: repeat(1, minmax(0, 1fr));gap: 30px;}
    body footer .grid.grid-cols-2.gap-2 .flex:last-child .unstyled.leading-relaxed {column-count: 2;}
    
}
@media (max-width: 479px) {
    body .punti-forza-wrapper .flex.flex-col > .color-muted {font-size: 13px;line-height: 1.2;}
    body .punti-forza-wrapper .flex.items-center {width: 100%;max-width: 100%;padding: 0;}
    body .punti-forza-wrapper .flex.items-center svg {max-width: 40px;margin-right: 10px;}
    body header .logo {max-width: calc(90% - 70px);text-align: center;}
    body .block.block-highlight.highlight-carousel .product-item {width: 45vw !important;}
    
}
@media (max-width: 399px) {

}
@media (max-width: 364px) {

}

/* ===== Pulsante WhatsApp flottante ===== */
.whatsapp-float {position: fixed;right: 20px;bottom: 20px;z-index: 700;display: flex;align-items: center;justify-content: center;width: 56px;height: 56px;border-radius: 50%;background-color: #25d366;color: #ffffff;box-shadow: 0 4px 12px rgba(0, 0, 0, .25);transition: transform .2s ease, background-color .2s ease;}
.whatsapp-float:hover, .whatsapp-float:focus {background-color: #1da851;color: #ffffff;transform: scale(1.06);text-decoration: none;}
.whatsapp-float svg {display: block;width: 30px;height: 30px;fill: currentColor;}
@media (max-width: 767px) {
    .whatsapp-float {right: 14px;bottom: 14px;width: 50px;height: 50px;}
    .whatsapp-float svg {width: 26px;height: 26px;}
}
@media print {
    .whatsapp-float {display: none;}
}

#checkout-step-shipping {padding-top:0!important;padding:20px;background-color: #f7f7f7;}
#checkout-step-shipping .action.action-show-popup{margin:0}
.opc-wrapper .shipping-address-item.selected-item {border-color: #b71833 !important;}
.opc-wrapper .shipping-address-item.selected-item::after {background: #b71833;}
.checkout-container .opc-wrapper .shipping-address-items{padding:0}
.checkout-index-index #checkout-step-shipping .action.action-show-popup{background:#b71833!important}
.checkout-index-index #opc-new-shipping-address::before{display:none;}
.checkout-index-index #billing #checkout-step-billing{padding-bottom:20px;background:#f7f7f7}
.checkout-index-index #checkout-step-shipping_method{padding:0}
.checkout-index-index #shipping-method-top-fieldset{display:none}
.checkout-index-index #checkout-step-shipping_method{padding-top:0!important}
.checkout-index-index #checkout-step-payment{background:#f9f9f9;background-clip:border-box;padding:0;padding-top:0}
.checkout-index-index .checkout-payment-method .payment-method+.payment-method .payment-method-title{border:0}
.checkout-index-index .checkout-payment-method .payment-method._active .payment-method-content{padding-left:40px}
.checkout-index-index #co-payment-form hr{display:none}
.checkout-index-index #checkout-payment-method-load .payment-method .payment-method-title{padding:10px 20px}
.checkout-index-index #opc-sidebar{background:#f7f7f7}
.checkout-index-index .opc-block-summary.step-content{margin:0}
.checkout-index-index .opc-wrapper .form-discount .actions-toolbar>.primary{float:right;margin-top:5px}
.checkout-index-index .opc-wrapper .form-discount .actions-toolbar>.primary .action.action-apply{margin:0;background:#6ac253!important}
.checkout-index-index .osc-place-order-block{border:0;padding:0!important}
.checkout-index-index .modal-header h1{border:0}
.checkout-index-index #shipping-new-address-form .field.street .field.additional{display:none}
.checkout-index-index .field.choice::before{display:none}
.checkout-index-index .modal-popup.modal-slide .modal-footer{padding-top:0;border:0}
.checkout-index-index .opc-wrapper .shipping-address-item button.edit-address-link{color:#b71833!important;border:1px solid #b71833!important;bottom:5px;right:0;top:unset;left:unset}
.checkout-index-index .opc-wrapper .step-title i{display:none!important}
.checkout-index-index .opc-wrapper .step-title{text-align:center}
.checkout-index-index .opc-wrapper .shipping-address-item{font-weight:600}
.checkout-index-index .opc-wrapper .shipping-address-item span{font-weight:500}
.checkout-index-index #checkout-step-billing{padding:30px}
.checkout-index-index #billing #checkout-step-billing p{margin:0;margin-bottom:2px}
.checkout-index-index #shipping .step-title , .checkout-index-index #billing .step-title{background-color: white;color: #222 !important;}
.checkout-index-index #checkout-step-shipping{background-color: white;padding: 0px;}
.checkout-index-index .opc-wrapper .step-title{text-align:left;background-color: white;color:#222 !important;}
.checkout-index-index .checkout-container .opc-wrapper .shipping-address-items{padding:0;margin-top:0 !important}
.checkout-index-index .step-title{padding-left:0!important}
.checkout-index-index #checkout-shipping-method-load{margin-bottom:20px}
.checkout-index-index #checkout-step-payment{background-color: white;}
.checkout-index-index #payment .step-title{text-transform:initial}
.checkout-index-index #opc-sidebar .step-title{background:#b71833;color:#fff!important;text-align:center}
.opc-wrapper .step-title{border:0;margin:0}
.checkout-cart-index .cart-summary #block-discount {display: none;}
.table-checkout-shipping-method .shipping-method-custom { display: flex;column-gap: 10px;margin-bottom: 20px;}
.table-checkout-shipping-method .col {padding: 0;}
.table-checkout-shipping-method .shipping-method-custom .title {display: flex;column-gap: 10px;align-items: baseline;}
.table-checkout-shipping-method .shipping-method-custom .title .col.col-carrier {flex-grow: 1;font-weight: 600;}
#checkout-shipping-method-load {background: #f9f9f9;padding: 20px;margin-bottom: 20px;border-radius: 3px;}
#checkout-shipping-method-load #label_carrier_amstrates1_amstrates {display: none;}
input[type="radio"]::after {background-color: #b71833 !important;}
.minicart-items .product-item-name{color:#b71833}
#opc-shipping_method .step-title,#shipping .step-title,.checkout-payment-method .step-title,.order-summary .step-title{border:0!important;margin:0 !important}
#checkout-payment-method-load.opc-payment{padding:20px;padding-top:20px;background:#f9f9f9;}
.checkout-index-index .opc-block-summary.step-content{padding:20px!important;background:#f7f7f7!important}
.checkout-index-index #co-place-order-area{padding:0 20px !important}
.checkout-index-index .opc-wrapper .form-discount .actions-toolbar>.primary .action.action-apply{height:auto;padding:8px 10px;margin:0}
.osc-place-order-block.checkout-comment-block .primary{margin-top:0!important}
.opc-block-summary .grand.totals .price{color:#333 !important}

/* ===== One Step Checkout (Mageplaza OSC) - allineamento al tema ===== */

/* Titolo pagina: era sproporzionato rispetto al resto del sito */
.checkout-index-index .page-title-wrapper .page-title {font-size: 28px !important;margin-bottom: 15px;}
.checkout-index-index .authentication-wrapper, .checkout-index-index .osc-authentication {margin-bottom: 20px;font-size: 14px;}

/* Titoli di sezione: stessa impostazione dei block-title del sito.
   Il titolo del riepilogo resta la barra rossa (regola #opc-sidebar sopra). */
.checkout-index-index .checkout-shipping-address > .step-title,
.checkout-index-index .checkout-billing-address > .step-title,
.checkout-index-index .checkout-shipping-method .step-title,
.checkout-index-index .checkout-payment-method .step-title {font-size: 18px;font-weight: 600;color: var(--color-primary) !important;padding-bottom: 10px !important;margin-bottom: 15px !important;border-bottom: 2px solid #e8ebf1 !important;}

/* Campi: altezza e bordi uniformi (prima ogni sezione aveva il suo stile) */
.checkout-index-index .opc-wrapper input[type="text"],
.checkout-index-index .opc-wrapper input[type="email"],
.checkout-index-index .opc-wrapper input[type="tel"],
.checkout-index-index .opc-wrapper input[type="number"],
.checkout-index-index .opc-wrapper input[type="password"],
.checkout-index-index .opc-wrapper select {height: 44px;border: 1px solid #cfd4da;border-radius: 4px;padding: 0 12px;width: 100%;}
.checkout-index-index .opc-wrapper textarea {border: 1px solid #cfd4da;border-radius: 4px;padding: 10px 12px;width: 100%;}
.checkout-index-index .opc-wrapper .field > .label {font-size: 13px;font-weight: 500;color: #555;margin-bottom: 4px;display: inline-block;}

/* Radio e checkbox: Breeze li disegna con appearance:none e li riempie con
   background-color:currentColor, che nel checkout coincide con lo sfondo ->
   lo stato selezionato risultava invisibile. Qui il pieno e' esplicito. */
.checkout-index-index .table-checkout-shipping-method input[type="radio"],
.checkout-index-index .checkout-payment-method input[type="radio"],
.checkout-index-index .opc-wrapper .field.choice input[type="checkbox"],
.checkout-index-index .checkout-agreements-block input[type="checkbox"] {-webkit-appearance: none;appearance: none;width: 18px;height: 18px;margin: 0;flex-shrink: 0;cursor: pointer;border: 2px solid #b0b6bd;background-color: #fff;background-repeat: no-repeat;background-position: center;background-size: 100% 100%;}
.checkout-index-index .table-checkout-shipping-method input[type="radio"],
.checkout-index-index .checkout-payment-method input[type="radio"] {border-radius: 50%;}
.checkout-index-index .opc-wrapper .field.choice input[type="checkbox"],
.checkout-index-index .checkout-agreements-block input[type="checkbox"] {border-radius: 3px;}

.checkout-index-index .table-checkout-shipping-method input[type="radio"]:checked,
.checkout-index-index .checkout-payment-method input[type="radio"]:checked,
.checkout-index-index .opc-wrapper .field.choice input[type="checkbox"]:checked,
.checkout-index-index .checkout-agreements-block input[type="checkbox"]:checked {background-color: var(--brand-color) !important;border-color: var(--brand-color) !important;color: var(--brand-color);}
.checkout-index-index .table-checkout-shipping-method input[type="radio"]:checked,
.checkout-index-index .checkout-payment-method input[type="radio"]:checked {background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e") !important;}
.checkout-index-index .opc-wrapper .field.choice input[type="checkbox"]:checked,
.checkout-index-index .checkout-agreements-block input[type="checkbox"]:checked {background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e") !important;}

/* Righe metodo di spedizione e di pagamento: selezionabili e leggibili */
.checkout-index-index .table-checkout-shipping-method .shipping-method-custom {align-items: center;padding: 10px;border-radius: 4px;background: #fff;cursor: pointer;}
.checkout-index-index .table-checkout-shipping-method .shipping-method-custom:hover {background: #eef0f4;}
.checkout-index-index .payment-method .payment-method-title {display: flex;align-items: center;gap: 10px;margin: 0;padding: 12px 0;}
.checkout-index-index .payment-method:last-child .payment-method-title {border-bottom: 0;}
.checkout-index-index .payment-method .payment-method-title label {margin: 0;cursor: pointer;}

/* "Effettua Ordine": era blu di default, ora usa i colori del brand */
.checkout-index-index .actions-toolbar .action.primary.checkout,
.checkout-index-index .place-order-primary .action.primary.checkout {background-color: var(--brand-color) !important;border: 1px solid var(--brand-color) !important;color: #fff !important;width: 100%;border-radius: 5px;padding: 14px 20px;font-size: 16px;font-weight: 600;}
.checkout-index-index .actions-toolbar .action.primary.checkout:hover,
.checkout-index-index .place-order-primary .action.primary.checkout:hover {background-color: var(--color-primary) !important;border-color: var(--color-primary) !important;}

/* "Applica sconto": era verde, fuori palette */
.checkout-index-index .form-discount .action.action-apply {background-color: var(--color-primary) !important;border: 1px solid var(--color-primary) !important;color: #fff !important;border-radius: 5px;}
.checkout-index-index .form-discount .action.action-apply:hover {background-color: var(--brand-color) !important;border-color: var(--brand-color) !important;}

/* Tabella riepilogo prodotti: sforava a destra fuori dal box.
   Causa: layout auto + nome prodotto lungo + celle con padding 15px e
   min-width 50px (Mageplaza_Osc/css/style.css:334-349). Con table-layout
   fixed e larghezze esplicite la tabella non puo' piu' allargare il box. */
.checkout-index-index #opc-sidebar,
.checkout-index-index .order-summary,
.checkout-index-index .opc-block-summary,
.checkout-index-index .minicart-items-wrapper {max-width: 100%;box-sizing: border-box;}
/* NB: il template ha un <colgroup> con <col width="1"> sulle ultime tre
   colonne. Niente table-layout:fixed, altrimenti quel valore viene preso
   alla lettera come 1px e le colonne collassano. */
.checkout-index-index #checkout-review-table {width: 100% !important;max-width: 100%;}
.checkout-index-index .minicart-items-wrapper.overflowed {overflow-x: auto;}
.checkout-index-index #checkout-review-table th,
.checkout-index-index #checkout-review-table td {padding: 10px 6px !important;min-width: 0 !important;white-space: normal !important;vertical-align: middle;}
.checkout-index-index #checkout-review-table thead th {font-size: 12px;color: #555;font-weight: 600;}
/* solo la prima colonna manda a capo: sulle altre spezzerebbe "9,12 €" */
.checkout-index-index #checkout-review-table td:first-child,
.checkout-index-index #checkout-review-table .product-item-name,
.checkout-index-index #checkout-review-table td.product a {overflow-wrap: anywhere;word-break: break-word;}
.checkout-index-index #checkout-review-table th:not(:first-child),
.checkout-index-index #checkout-review-table td:not(:first-child) {white-space: nowrap !important;}
/* Immagine accanto al nome invece che sopra e centrata.
   La regola globale .product-image-container (riga 66) la forza a width:100%
   con margin:0 auto, per questo occupava tutta la cella. Qui torna a 48px
   in float, con il testo che le scorre a fianco (.product-item-detail crea
   un contesto proprio con overflow:hidden). L'immagine usa il markup Magento
   con wrapper a padding percentuale e img in position:absolute: entrambi
   vanno annullati, altrimenti il riquadro resta alto e vuoto. */
.checkout-index-index #checkout-review-table td.product .product-image-container {float: left;width: 48px !important;min-width: 48px;max-width: 48px !important;margin: 0 10px 0 0 !important;}
.checkout-index-index #checkout-review-table td.product .product-image-wrapper {display: block;padding: 0 !important;height: auto !important;}
.checkout-index-index #checkout-review-table td.product .product-image-photo {position: static !important;width: 48px !important;max-width: 48px !important;height: auto !important;margin: 0 !important;}
.checkout-index-index #checkout-review-table td.product .product-item-detail {overflow: hidden;}

/* Nome prodotto per intero: niente troncamento a una riga */
.checkout-index-index #checkout-review-table .product-item-name,
.checkout-index-index #checkout-review-table td.product a {display: block !important;width: auto !important;max-width: none !important;white-space: normal !important;overflow: visible !important;text-overflow: clip !important;-webkit-line-clamp: unset !important;line-clamp: unset !important;-webkit-box-orient: horizontal !important;font-size: 13px !important;line-height: 1.35;}
.checkout-index-index #checkout-review-table .qty-wrapper {min-width: 0 !important;display: flex;align-items: center;justify-content: center;gap: 2px;}
.checkout-index-index #checkout-review-table input.qty {width: 34px !important;height: 30px;padding: 0 2px !important;text-align: center;}

#checkout-review-table .a-center.details-qty .qty-wrap input{padding:0}
.checkout-index-index .create-account-block {margin-bottom: 80px !important;}
.checkout-index-index .field-tooltip-action.action-help {margin-top: 8px;}
.checkout-index-index .place-order-primary {width: 100%;}
#discount-form .actions-toolbar {margin: 0;}
.checkout-index-index .actions-toolbar .action.primary.checkout, .checkout-index-index .place-order-primary .action.primary.checkout {background: green !important;border: 0 !important;}
.checkout-index-index .opc-wrapper .form-discount .actions-toolbar > .primary .action.action-apply {background: #dfdfdf !important;border: 0px !important;color: #474747 !important;}
.checkout-index-index #create-account-form .field.confirmation {margin: 0;}
.checkout-index-index #create-account-checkbox:checked + label {background: #b71833;}

@media (max-width: 767px) {
    .checkout-index-index .page-title-wrapper .page-title {font-size: 22px !important;}
    .checkout-index-index .opc-wrapper input[type="text"],
    .checkout-index-index .opc-wrapper input[type="email"],
    .checkout-index-index .opc-wrapper input[type="tel"],
    .checkout-index-index .opc-wrapper select {height: 42px;}
}

/* ===== Checkout OSC: responsive ===== */

/* Sotto i 992px il riepilogo non resta agganciato in scroll: su schermi
   bassi restava sospeso sopra il form mentre si compilava. */
@media (max-width: 991px) {
    .checkout-index-index .one-step-checkout-container.opc-sticky,
    .checkout-index-index .one-step-checkout-container > .col-mp.sticky {position: static !important;top: auto !important;}
}

/* Sotto i 768px le due colonne principali vanno una sotto l'altra.
   Serve perche' .mp-6 e' dichiarata senza media query (grid-mageplaza.css:58)
   e .mp-xs-12 entra solo sotto i 480px: nella fascia 481-767px form e
   riepilogo restavano affiancati al 50% ciascuno. */
@media (max-width: 767px) {
    .checkout-index-index .one-step-checkout-container > .col-mp {width: 100% !important;max-width: 100% !important;float: none !important;padding-left: 0 !important;padding-right: 0 !important;}
    .checkout-index-index .one-step-checkout-container > .col-mp.sticky {margin-top: 20px;}

    /* padding delle sezioni ridotti: 20-30px su 360px di schermo sono troppi */
    .checkout-index-index #checkout-step-billing {padding: 15px !important;}
    .checkout-index-index #checkout-shipping-method-load,
    .checkout-index-index #checkout-payment-method-load.opc-payment,
    .checkout-index-index .opc-block-summary.step-content {padding: 12px !important;}
    .checkout-index-index #co-place-order-area {padding: 0 12px !important;}
    .checkout-index-index .actions-toolbar .action.primary.checkout {padding: 14px 12px;font-size: 15px;}

    /* riepilogo prodotti piu' compatto */
    .checkout-index-index #checkout-review-table th,
    .checkout-index-index #checkout-review-table td {padding: 8px 4px !important;}
    .checkout-index-index #checkout-review-table thead th {font-size: 11px;}
    .checkout-index-index #checkout-review-table td.product .product-image-container {width: 40px !important;min-width: 40px;max-width: 40px !important;margin-right: 8px !important;}
    .checkout-index-index #checkout-review-table td.product .product-image-photo {width: 40px !important;max-width: 40px !important;}
    .checkout-index-index #checkout-review-table .product-item-name,
    .checkout-index-index #checkout-review-table td.product a {font-size: 12px !important;}
    .checkout-index-index #checkout-review-table input.qty {width: 30px !important;}

    /* codice sconto: campo e pulsante su due righe invece che stretti in una */
    .checkout-index-index .form-discount .field-row {display: flex;flex-wrap: wrap;gap: 8px;}
    .checkout-index-index .form-discount .control.input-field {flex: 1 1 100%;}
    .checkout-index-index .form-discount .actions-toolbar,
    .checkout-index-index .form-discount .actions-toolbar > .primary,
    .checkout-index-index .form-discount .action.action-apply {width: 100%;}
    .checkout-index-index .opc-estimated-wrapper {  display: none;}
}

/* Sotto i 600px anche i singoli campi vanno a tutta larghezza: le colspan
   configurate in osc/field/position (mp-6, mp-4...) valgono anche sui
   telefoni, quindi Nome/Cognome restavano a meta' schermo. */
@media (max-width: 600px) {
    .checkout-index-index .checkout-shipping-address .col-mp,
    .checkout-index-index .checkout-billing-address .col-mp,
    .checkout-index-index .opc-wrapper .fieldset .col-mp {width: 100% !important;max-width: 100% !important;}
    .checkout-index-index .page-title-wrapper .page-title {font-size: 20px !important;}
    .checkout-index-index .table-checkout-shipping-method .shipping-method-custom {flex-wrap: wrap;row-gap: 4px;}
    .checkout-index-index .payment-method .payment-method-title {flex-wrap: wrap;}
}

/* Campi sfalsati tra loro: la griglia usa .col-mp{float:left;padding:0 10px}
   compensato da .row-mp{margin:0 -10px}. Quando i campi stanno a livelli di
   annidamento diversi la compensazione salta e ogni riga parte da un'ascissa
   diversa. Sotto i 768px azzero gutter e float: tutti i campi allineati. */
@media (max-width: 767px) {
    .checkout-index-index .opc-wrapper .row-mp {margin-left: 0 !important;margin-right: 0 !important;width: 100% !important;}
    .checkout-index-index .opc-wrapper .col-mp {padding-left: 0 !important;padding-right: 0 !important;float: none !important;}
    .checkout-index-index .opc-wrapper .field {margin-bottom: 12px;}

    /* label.label ha padding-left:2% (percentuale, quindi variabile) mentre
       gli input hanno width:100% con float:right: label e campo partivano da
       ascisse diverse. Qui entrambi tornano a filo. */
    .checkout-index-index .opc-wrapper label.label {padding-left: 0 !important;padding-right: 0 !important;}
    .checkout-index-index .form-shipping-address .mp-6 input,
    .checkout-index-index .form-shipping-address .mp-6 .select,
    .checkout-index-index .address-information .mp-6 input,
    .checkout-index-index .address-information .mp-6 .select {float: none !important;width: 100% !important;}
}

/* Modale "Accedi" che sborda dallo schermo: il CSS di OSC impone larghezze
   fisse in !important (style.css:520-527 e 550-555, quest'ultima dentro una
   media query max-width:767px, quindi 600px di larghezza su un telefono). */
@media (max-width: 767px) {
    .checkout-index-index .modal-popup .modal-inner-wrap,
    .checkout-index-index .modal-popup.popup-authentication .modal-inner-wrap,
    .checkout-index-index .modal-popup.osc-social-login-popup .modal-inner-wrap,
    .popup-gift-message-item .modal-inner-wrap {width: auto !important;max-width: calc(100vw - 30px) !important;min-width: 0 !important;margin: 15px auto !important;left: 0 !important;right: 0 !important;box-sizing: border-box;}
    .checkout-index-index .modal-popup .modal-content {padding-left: 15px !important;padding-right: 15px !important;box-sizing: border-box;}
    .checkout-index-index .modal-popup .modal-content .block,
    .checkout-index-index .modal-popup .modal-content .fieldset,
    .checkout-index-index .modal-popup .modal-content .field {max-width: 100% !important;box-sizing: border-box;}
    .checkout-index-index .modal-popup .modal-content input[type="text"],
    .checkout-index-index .modal-popup .modal-content input[type="email"],
    .checkout-index-index .modal-popup .modal-content input[type="password"] {width: 100% !important;max-width: 100% !important;box-sizing: border-box;}
    .checkout-index-index .modal-popup .modal-content .actions-toolbar .action.primary,
    .checkout-index-index .modal-popup .modal-content .actions-toolbar .action.login {width: 100% !important;box-sizing: border-box;}
}