/*
	Theme Name: Hello Elementor
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 3.3.0
	Stable tag: 3.3.0
	Requires at least: 6.0
	Tested up to: 6.7
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-elementor
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/
/**
 * Loading first in the style.scss & classic-editor.scss
 */
/**
* Document basic styling
* Inspired by Normalize.css, HTML5 Boilerplate & Bootstrap Reboot Projects under MIT License
 */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.
 */
@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Montserrat:wght@300;400;500;600;700&display=swap'); html {
    line-height: 1.15;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

*, *::before, *::after {
    box-sizing: border-box;
    /* 3 */
}

/* Sections
 */
body {
    background-color: #F1F1F1;
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #1B2024;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1, h2, h3, h4, h5, h6 {
    margin-block-start: 0.5rem; margin-block-end: 1rem; font-weight: 500;
    line-height: 1.1!important;
    color: inherit;
}

/* Esempio di utilizzo */
h1, h2,h3,h4 {
    font-family: 'Archivo Black', sans-serif;
}

body, p, .hero-archive-text .sub-title-red {
    font-family: 'Montserrat', sans-serif;
}

h1 {
    font-size: 2.5rem;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.75rem;
}

h4 {
    font-size: 1.5rem;
}

h5 {
    font-size: 1.25rem;
}

h6 {
    font-size: 1rem;
}

p {
    margin-block-start: 0; margin-block-end: 0.9rem; line-height: 1.5!important;
    font-size: 16px!important;
}

/* Grouping content
 */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
    white-space: pre-wrap;
}

/* Text-level semantics
 */
a {
    background-color: transparent;
    text-decoration: none;
    color: #CC3366;
}

a:hover, a:active {
    color: #333366;
}

a:not([href]):not([tabindex]) {
    color: inherit;
    text-decoration: none;
}

a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
    color: inherit;
    text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
    outline: 0;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    border-block-end: none; /* 1 */
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b, strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code, kbd, samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content
 */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
    border-style: none;
    height: auto;
    max-width: 100%;
}

/* Interactive
 */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}

figcaption {
    font-size: 16px;
    color: #333333;
    line-height: 1.4;
    font-style: italic;
    font-weight: 400;
}

/* Misc
 */
/**
 * Add the correct display in IE 10+.
 */
template {
    display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
    display: none;
}

/* Print
 */
@media print {
    *, *:before, *:after {
        background: transparent !important;
        color: #000 !important;
        /* Black prints faster */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a, a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]:after, a[href^="javascript:"]:after {
        content: "";
    }

    pre {
        white-space: pre-wrap !important;
    }

    pre, blockquote {
        -moz-column-break-inside: avoid;
        break-inside: avoid;
        border: 1px solid #cccccc;
    }

    thead {
        display: table-header-group;
    }

    tr, img {
        -moz-column-break-inside: avoid;
        break-inside: avoid;
    }

    p, h2, h3 {
        orphans: 3;
        widows: 3;
    }

    h2, h3 {
        -moz-column-break-after: avoid;
        break-after: avoid;
    }
}

/**
 * Form styling
 */
label {
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
}

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button, input, optgroup, select, textarea {
    font-family: inherit;
    /* 1 */
    font-size: 1rem;
    /* 1 */
    line-height: 1.5;
    /* 1 */
    margin: 0;
    /* 2 */
}

input[type=text], input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=url], select, textarea {
    width: 100%;
    border: solid 1px #666666;
    border-radius: 3px;
    padding: 0.5rem 1rem;
    transition: all 0.3s;
}

input[type=text]:focus, input[type=date]:focus, input[type=email]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=url]:focus, select:focus, textarea:focus {
    border-color: #333333;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button, input {
    /* 1 */
    overflow: visible;
}
input{
	color:#1B2024!important;
}
/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button, select {
    /* 1 */
    text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button, [type=button], [type=reset], [type=submit] {
    width: auto;
    -webkit-appearance: button;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button, [type=submit], [type=button] {
    display: inline-block;
    font-weight: 400;
    color: #CC3366;
    text-align: center;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid #CC3366;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    border-radius: 3px;
    transition: all 0.3s;
}

button:focus:not(:focus-visible), [type=submit]:focus:not(:focus-visible), [type=button]:focus:not(:focus-visible) {
    outline: none;
}

button:hover, button:focus, [type=submit]:hover, [type=submit]:focus, [type=button]:hover, [type=button]:focus {
    color: #ffffff;
    background-color: #CC3366;
    text-decoration: none;
}

button:not(:disabled), [type=submit]:not(:disabled), [type=button]:not(:disabled) {
    cursor: pointer;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
    box-sizing: border-box;
    /* 1 */
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
    resize: vertical;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox], [type=radio] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

select {
    display: block;
}

/**
 * Table styling
 */
table {
    background-color: transparent;
    width: 100%;
    margin-block-end: 15px; font-size: 0.9em;
    border-spacing: 0;
    border-collapse: collapse;
}

table th, table td {
    padding: 15px;
    line-height: 1.5;
    vertical-align: top;
    border: 1px solid rgba(128, 128, 128, 0.5019607843);
}

table th {
    font-weight: bold;
}

table thead th, table tfoot th {
    font-size: 1em;
}

table caption + thead tr:first-child th, table caption + thead tr:first-child td, table colgroup + thead tr:first-child th, table colgroup + thead tr:first-child td, table thead:first-child tr:first-child th, table thead:first-child tr:first-child td {
    border-block-start: 1px solid rgba(128, 128, 128, 0.5019607843); }

table tbody > tr:nth-child(odd) > td, table tbody > tr:nth-child(odd) > th {
    background-color: rgba(128, 128, 128, 0.0705882353);
}

table tbody tr:hover > td, table tbody tr:hover > th {
    background-color: rgba(128, 128, 128, 0.1019607843);
}

table tbody + tbody {
    border-block-start: 2px solid rgba(128, 128, 128, 0.5019607843); }

@media (max-width: 767px) {
    table table {
        font-size: 0.8em;
    }

    table table th, table table td {
        padding: 7px;
        line-height: 1.3;
    }

    table table th {
        font-weight: 400;
    }
}

/**
 * List styling
 */
dl, dt, dd, ol, ul, li {
    margin-block-start: 0;
    margin-block-end: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    font-size: 16px;
    line-height: 1.5;
}

/* ================================
   HEADER
   (tutte le regole che riguardano il <header> e la navbar)
   ================================ */
/* Logo in header */
.header-logo {
    height: 60px!important;
    margin: 10px 0;
}
.mobile-cart-nav{
	margin-left:auto;
	margin-right: 20px;
}
/* Pulsanti Elementor (qui usati in header) */
.elementor-kit-8 button {
    background-color: #48FD4A00;
    font-family: "Archivo Black", Sans-serif;
    font-size: 18px;
    text-transform: uppercase;
    color: black!important;
    border: none!important;
    padding: 5px 0px!important;
    box-shadow: none!important;
}
.navbar-toggler{
	padding-right:0!important;
}
.elementor-kit-8 button:hover, .elementor-kit-8 button:focus {
    background-color: transparent!important;
    outline: none!important;
    box-shadow: none!important;
}

/* Layout full-width per header (e body, footer-inner ecc.) */
.page-header .entry-title, .site-header .header-inner, .site-header:not(.dynamic-header), body:not([class*=elementor-page-]) .site-main {
    max-width: 100vw!important;
    padding: 0;
    margin: 0;
}

.navbar-nav {
    gap: 20px;
}

/* 1) Link del menu in uppercase e colore */
.navbar-nav .menu-item > a {
    color: #1B2024 !important;
    text-transform: uppercase;
    font-weight: 600;
    position: relative;
    padding: 0.5rem 0.75rem;
    transition: color 0.3s;
}

/* 2) Linea rossa sotto on hover/active */
.navbar-nav .menu-item > a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 0;
    background: #F32728;
    transition: width 0.3s ease;
}
.sub-menu a:after{
	display:none!important;
}
.navbar-nav .menu-item.current-menu-item > a::after, .navbar-nav .menu-item > a:hover::after {
    width: 100%;
}

/* mantiene colore al hover */
/* .navbar-nav .menu-item > a:hover { } */
/* 3) Bottone CTA (Bootstrap) */
.btn-outline-danger {
    color: #F32728 !important;
    border-color: #F32728 !important;
    border-radius: 0;
    font-size: 18px;
    text-transform: uppercase;
    padding: 18px 25px 10px 25px;
    border-width: 2px;
    font-weight: 900;
}

.btn-outline-danger:hover, .btn-outline-danger:focus {
    background-color: #F32728 !important;
    color: #fff !important;
}

/* 4) Toggler icon in bianco */
.navbar-dark .navbar-toggler-icon {
    filter: invert(1);
}

/* Mobile padding navbar */
@media (max-width: 768px) {
    .navbar > .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
	.legal-links{
		justify-content: center!important;
	}
	.piva-info{
	margin: 0 auto;
	}
}

/*
   HEADER: Sticky on scroll
   */
.site-header {
    position: absolute;
    width: 100%;
    top: 0;
    transition: background 0.3s, box-shadow 0.3s;
    z-index: 1000;
}

.site-header.scrolled {
    position: fixed;
    background-color: #f1f1f1;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* fai che si spinga in fondo al flex container */
.collapse.navbar-collapse {
    display: flex !important;
    align-items: center;
}

/* stile e posizionamento */
.btn-cta {
    color: #F32728 !important;
    border: 2px solid #F32728 !important;
    border-radius: 0;
    font-size: 18px;
    text-transform: uppercase;
    padding: 18px 32px;
    font-weight: 900;
    background: none;
    transition: background 0.3s;
    line-height: 1;
}

.btn-cta:hover, .btn-cta:focus {
    background-color: #F32728 !important;
    color: #fff !important;
}

/*SUB MENU*/
/* Desktop - sottomenu che appare al passaggio del mouse sulla voce padre */
.sub-menu {
    list-style: none;
}

.sub-menu li {
    margin-bottom: 0 !important;
}

@media (min-width: 769px) {
    .navbar-nav .menu-item-has-children {
        position: relative;
    }

    /* Nascondi il sottomenu di default */
    .navbar-nav .menu-item-has-children .sub-menu {
        display: none;
        list-style: none;
        position: absolute;
        left: 0;
        top: 100%;
        background-color: #f1f1f1;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        border-radius: 4px;
        z-index: 999;
        border: 15px solid #f1f1f1;
        list-style: none;
    }

    /* Mostra il sottomenu quando il mouse passa sopra la voce padre */
    .navbar-nav .menu-item-has-children:hover .sub-menu {
        display: block;
    }

    /* Aggiustamenti al sottomenu */
    .navbar-nav .sub-menu {
        min-width: 265px;
        /* Impostare una larghezza minima per il sottomenu */
        padding: 5px 0;
    }

    /* Stile per i link del sottomenu */
    .navbar-nav .sub-menu li a {
        color: #1B2024 !important;
        text-transform: uppercase;
        font-weight: 600;
        /* padding: 10px 20px; */
        display: block;
        transition: background 0.3s;
    }

    /* Hover sui link del sottomenu */
    .navbar-nav .sub-menu li a:hover {
        /* background-color: #F32728; */
        color: #fff;
    }
}

/* Mobile - sottomenu che si sposta sotto la voce padre */
@media (max-width: 768px) {
    /* Mostra il sottomenu sotto la voce padre con un piccolo spostamento a destra */ .navbar-nav .menu-item-has-children .sub-menu {
        display: none;
        padding-left: 20px;
        /* Spostamento a destra */
    }

    /* Mostra il sottomenu quando si clicca sulla voce padre */
    .navbar-nav .menu-item-has-children.open .sub-menu {
        display: block;
    }

    /* Stile per i link del sottomenu su mobile */
    .navbar-nav .sub-menu li a {
        color: #1B2024;
        padding: 10px 20px;
        display: block;
        font-weight: 400;
    }

    /* Hover sui link del sottomenu su mobile */
    .navbar-nav .sub-menu li a:hover {
        background-color: #F32728;
        color: #fff;
    }
}

/* ================================
   FOOTER
   (tutte le regole che riguardano il <footer>)
   ================================ */
/* Container footer */
.site-footer {
    background: #f1f1f1;
    color: #1B2024;
    font-size: 0.9rem;
    border-top: 2px solid #F32726;
}

/* Link in footer */
.site-footer a {
    color: #1B2124;
    text-decoration: none;
}

.site-footer a:hover {
    color: #F32728;
}

/* Reset social-link (se non vuoi bordo) */
.social-link {
    border: unset!important;
}

.social-link:hover {
    background-color: unset!important;
}

/* Logo footer */
.footer-logo {
    height: 110px!important;
}
.footer-menu-links .sub-menu {
	display: none;
}
/* Heading footer */
.footer-heading {
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #1B2124!important;
}

/* Colonne footer */
.footer-col {
    margin-bottom: 2rem;
}

/* About text */
.footer-about .footer-text {
    line-height: 1.6;
}

/* Contatti */
.footer-contact li {
    margin-bottom: 5px;
    display: flex;
    align-items: center;
    gap: 12px;
    line-height: 1.6;
    font-size: 16px;
}

/* Icone contatti */
.footer-icon {
    display: inline-block;
    width: 20px;
    margin-right: 0.5em;
    vertical-align: middle;
}

/* Desktop: align contatti */
@media (min-width: 769px) {
    .footer-contact {
        display: flex;
        flex-direction: column;
    }
}

/* Menu links footer */
.footer-menu-links li {
    line-height: 1.5;
    margin-bottom: 5px;
}

.footer-menu-links li a:hover {
    color: #F32728;
}

/* Orari */
.footer-schedule li {
    /* margin-bottom: 0.4rem; */
    font-size: 16px;
}

/* Newsletter form */
.footer-newsletter {
    max-width: 100%;
}

.newsletter-input {
    flex: 1 1 auto;
    color: #E2E2E2 !important;
    background-color: #E2E2E2 !important;
}

/* Focus input */
.newsletter-input:focus {
    border-color: #F32728;
    outline: none;
}

.newsletter-btn {
    background: #F32728;
    border: none;
    color: #666666 !important;
    transition: background 0.3s;
    border-width: 1px 1px 1px 0!important;
    border-color: #666666 !important;
}

.newsletter-btn:hover {
    background: darken(#F32728, 10%);
}

/* Social icons */
.footer-social {
    display: flex;
    gap: 0.5rem;
    /* justify-content: center; */
	width: 100px;
}

.social-link {
    display: inline-block;
    width: 2.2rem;
    height: 2.2rem;
    line-height: 2.2rem;
    text-align: center;
    border: 2px solid #F32728;
    border-radius: 0.25rem;
    transition: background 0.3s, color 0.3s;
}

.social-link:hover {
    background: #F32728;
    color: #000;
}

/* Full-width override */
.site-footer {
    max-width: none!important;
}

@media (max-width: 991px) {
    .collapse.navbar-collapse {
        display: none !important
    }

    .navbar .btn-cta {
        display: none!important;
    }
}

/* Mobile: centra tutto */
@media (max-width: 768px) {
    .site-footer ul, .site-footer h5, .site-footer {
        text-align: center;
        list-style: none;
    }

    .site-footer .sub-menu {
        padding: 0;
    }

    .footer-contact li, .footer-social {
        justify-content: center;
    }

    .footer-social {
        display: flex;
        gap: 0.5rem;
        justify-content: center;
        margin: 0 auto;
    }
}

/* Stile per la scheda laterale */
.side-menu {
    position: fixed;
    top: 0;
    left: -300px;
    /* inizialmente fuori dalla vista */
    width: 300px;
    height: 100%;
    background-color: #fff;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.3);
    transition: left 0.3s ease;
    z-index: 1000;
    padding: 20px;
}

.side-menu .close-btn {
    font-weight: 600!important;
    font-size: 18px;
    font-family: "Montserrat", Sans-serif;
}


.side-menu.open {
    left: 0;
}

/* Pulsante di chiusura */
.close-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 24px;
    color: #F32728;
    background: none;
    border: none;
    cursor: pointer;
}

/* Logo nella scheda laterale */
.side-logo {
    display: block;
    margin-bottom: 40px;
}

.side-logo img {
    height: 80px;
}

/* Voci del menu nella scheda laterale */
.side-menu-list {
    list-style-type: none;
    padding-left: 0;
}

.side-menu-list li {
    padding: 15px 0;
}

.side-menu-list li a {
    font-size: 18px;
    text-transform: uppercase;
    color: #1B2024;
    text-decoration: none;
    transition: color 0.3s ease;
}

/* Linea rossa sotto l'elemento del menu laterale attivo */
.side-menu-list li.current-menu-item a::after, .side-menu-list li a:hover::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 100%;
    background-color: #F32728;
    transition: width 0.3s ease-in-out;
    /* Effetto che cresce da sinistra a destra */
}

/* Linea rossa che parte da sinistra e si espande fino a destra */
.side-menu-list li a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 0;
    background-color: #F32728;
    transition: width 0.3s ease-in-out;
    /* Animazione che espande da sinistra a destra */
}


.side-menu-list li.current-menu-item a::after, .side-menu-list li a:hover::after {
    width: 100%;
    /* La larghezza aumenta fino a coprire completamente la voce del menu */
}

/* Per evitare il bug della linea che si sovrappone agli altri menu item */
.side-menu-list li {
    position: relative;
    list-style: none;
}

/* Colore di default per i link nel menu laterale */
.side-menu-list li a {
    position: relative;
    padding: 0.5rem 0.75rem 0.5rem 0;
    text-transform: uppercase;
    font-weight: 600;
    transition: color 0.3s;
}

/* Bottone CTA nella scheda laterale */
.side-menu .btn-cta {
    margin-top: 10px;
    position: absolute;
}

/* Aggiungi il comportamento per il menu hamburger */
.navbar-toggler {
    position: relative;
    z-index: 1050;
    /* sopra al menu */
}

/* Effetti di transizione */
.navbar-toggler-icon {
    filter: invert(1);
}

/* ================================
   COMMON / OTHER PAGE
   (regole generiche, non specifiche solo a header o footer)
   ================================ */
/* Reflow specifico pagine Elementor e header/footer */
.page-header .entry-title, .site-footer .footer-inner, .site-footer:not(.dynamic-footer), .site-header .header-inner, .site-header:not(.dynamic-header), body:not([class*=elementor-page-]) .site-main {
    max-width: 100vw!important;
    padding: 0;
    margin: 0;
    background: #fff;
}

/* Sticky element (altre pagine) */
.sticky-img {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 100px;
    z-index: 10;
}

/* Impostazione del font-size per h1 */
h1 {
    font-size: 55px !important;
    /* Dimensione di base per h1 */
}

/* Scala tipografica per gli altri titoli, utilizzando un rapporto di 1.25 */
/* h2 = h1 / 1.25 */
h2 {
    font-size: 40px !important;
    /* 55px / 1.25 */
}

/* h3 = h2 / 1.25 */
h3 {
    font-size: 35.2px !important;
    /* 44px / 1.25 */
}

/* h4 = h3 / 1.25 */
h4 {
    font-size: 28.16px !important;
    /* 35.2px / 1.25 */
}

/* h5 = h4 / 1.25 */
h5 {
    font-size: 20px !important;
    /* 28.16px / 1.25 */
}

/* h6 = h5 / 1.25 */
h6 {
    font-size: 18.02px !important;
    /* 22.53px / 1.25 */
}

/* Altri paragrafi o elementi di testo */
p {
    font-size: 16px !important;
    /* Impostazione del testo di base */
}

/* Dimensione del testo per i link */
a {
    font-size: 16px !important;
    /* Puoi regolare la dimensione dei link come il testo di base */
}

/* Altri elementi di testo generali */
span, strong, em {
    /* Impostazione standard per testo inline */
}

@media(max-width: 480px) {
    /* Impostazione del font-size per h1 */ h1 {
        font-size: 40px !important;
        /* Dimensione di base per h1 */
    }

    /* Scala tipografica per gli altri titoli, utilizzando un rapporto di 1.25 */
    /* h2 = h1 / 1.25 */
    h2 {
        font-size: 32px !important;
        /* 55px / 1.25 */
    }

    /* h3 = h2 / 1.25 */
    h3 {
        font-size: 35.2px !important;
        /* 44px / 1.25 */
    }

    /* h4 = h3 / 1.25 */
    h4 {
        font-size: 28.16px !important;
        /* 35.2px / 1.25 */
    }

    /* h5 = h4 / 1.25 */
    h5 {
        font-size: 20px !important;
        /* 28.16px / 1.25 */
    }

    /* h6 = h5 / 1.25 */
    h6 {
        font-size: 18px !important;
        /* 22.53px / 1.25 */
    }

    /* Altri paragrafi o elementi di testo */
    p {
        font-size: 16px !important;
        /* Impostazione del testo di base */
    }

    /* Dimensione del testo per i link */
    a {
        font-size: 18px !important;
        /* Puoi regolare la dimensione dei link come il testo di base */
    }

    /* Altri elementi di testo generali */
    span, strong, em {
        /* Impostazione standard per testo inline */
    }

    .footer-contact li,.site-footer a,.footer-schedule li {
        font-size: 16px;
    }
}

/*BOOKLY*/
.bookly-css-root button, .bookly-css-root input, .bookly-css-root select, .bookly-css-root optgroup, .bookly-css-root textarea, .bookly-css-root ::file-selector-button {
    color: #1B2024!important;
}

.bookly-form input[type="text"]:not(.iti__tel-input), .bookly-form input[type="number"], .bookly-form input[type="password"], .bookly-form textarea {
    padding-left: 7px !important;
    background-color: unset !important;
}

.bookly-box.bookly-nav-steps button {
    padding: 16px 30px !important;
    border-radius: 0 !important;
    border: 2px solid #F32726 !important;
    background-color: transparent !important;
}

.bookly-box.bookly-nav-steps button span {
    color: #F32726!important;
}

.bookly-box.bookly-nav-steps button:hover {
    background-color: #F32726 !important;
}

.bookly-box.bookly-nav-steps button:hover span {
    color: white !important;
}
.bookly-time-next.bookly-btn.bookly-left.ladda-button, .bookly-time-prev.bookly-btn.bookly-left.ladda-button{
	padding:5px!important;
}
.bookly-js-user-phone-input.bookly-user-phone.iti__tel-input{
	background-color:unset!important;
}
.bookly-js-user-phone-input.bookly-user-phone.iti__tel-input{
	padding-left:45px!important;
}
.bookly-box{
 color:black;
}
/*
 * WOOCOMMERCE
 * */
/*
 * ARCHIVE
 * */
.hero-archive-products {
    position: relative;
   
    /* background-image: url("/wp-content/uploads/2025/05/AdobeStock_296191090.jpeg"); */
    margin-top: 25px;
    height: 250px;
    background-position-y: center;
    background-size: cover;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.hero-archive-products::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #1e1e1e54;
    pointer-events: none;
    z-index: 1;
    /* overlay sotto il testo */
}

.hero-archive-products .hero-archive-text {
    position: relative;
    z-index: 2;

}

.archive-prod-container {
    margin-top: 80px;
}

.product-re {
    display: flex;
    flex-direction: column;
    text-align: left;
    padding: 0;
    height: 100%;
    /* max-height:800px; */
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-re img {
    max-height: 400px;
    object-fit: cover;
}

.product-re:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
}

.card-texts-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /* spinge titolo/descrizione in alto e prezzo/bottone in basso */
    flex: 1;
    /* occupa tutto lo spazio verticale disponibile */
    padding: 30px;
    gap: 0.5rem;
    align-items: flex-start;
}

.sub-title-red {
    color: #F32728!important;
    text-transform: uppercase;
    font-weight: 500;
    font-family: "Montserrat";
    font-size: 18px;
    padding: 0;
    margin: 0;
}

.title-grey {
    text-transform: uppercase;
    color: #1B2024!important;
    font-weight: 500;
    font-family: "Archivo Black", Sans-serif;
    margin: 0;
}

.product-title {
    margin: 0;
    padding-bottom: 5px;
}

.product-title a {
    display: block;
    width: 100%;
    text-transform: uppercase;
    color: #1B2024 !important;
    font-weight: 500;
    font-family: "Archivo Black", Sans-serif;
    font-size: 20px!important;
    padding: 0;
    margin: 0;
}

.product-subtitle {
    color: #F32728 !important;
    text-transform: uppercase;
    font-weight: 500;
    font-family: "Montserrat";
    font-size: 14px!important;
    padding: 0;
    margin: 0;
}

.product-short-desc {
}

.product-price bdi {
    color: #F32728;
    font-weight: 900;
    padding: 5px;
}

.discover-more-btn {
    color: #F32728;
    text-transform: uppercase;
    border: 2px solid #F32728;
    padding: 8px 15px;
    font-weight: 900;
    transition: background 0.3s;
}

.discover-more-btn:hover {
    color: #f1f1f1;
    background-color: #F32728;
}

.bg-transparent {
    --bs-bg-opacity: 1;
    background-color: #ffffff !important;
}
@media(max-width:480px){
	.hero-archive-products .hero-archive-text {
   	 padding:0 20px;
	}
	.archive-prod-container {
  	  margin-top: 80px;
  	  padding: 0 20px;
  	  padding-bottom: 80px !important;
	}
	.container-single-product {
   	 margin-top: 120px!important;
   	 padding: 0 20px;
	}
}
/*
 * PRODUCT PAGE
 * */
.container-single-product {
    margin-top: 100px;
	background-color:#F1F1F1;
}
.container-single-product > .content-area > .site-main{
	background-color:#F1F1F1!important;
}
.product-title-single {
    display: block;
    width: 100%;
    text-transform: uppercase;
    color: #1B2024 !important;
    font-weight: 500;
    font-family: "Archivo Black", Sans-serif;
    /* font-size: 20px !important; */
    padding: 0;
    margin: 0;
}

.product-subtitle-single {
    color: #F32728 !important;
    text-transform: uppercase;
    font-weight: 500;
    font-family: "Montserrat";
    font-size: 18px !important;
    padding: 0;
    margin: 0;
}

.single-price span {
    background-color: #F32728;
    color: #F1F1F1;
    font-weight: 900;
    padding: 5px;
    font-size: 22px;
}

.single-price .woocommerce-Price-currencySymbol {
    padding: 0;
}

.custom-add-to-cart-form button {
    color: #F32728 !important;
    border: 2px solid #F32728 !important;
    border-radius: 0!important;
    font-size: 18px;
    text-transform: uppercase;
    padding: 18px 32px!important;
    font-weight: 900;
    background: none!important;
    transition: background 0.3s;
    line-height: 1;
}

.custom-add-to-cart-form button:hover, .custom-add-to-cart-form button:focus {
    background-color: #F32728 !important;
    color: #fff !important;
}


.related-title {
    width: 100%;
    text-transform: uppercase;
    color: #1B2024 !important;
    font-weight: 500;
    font-family: "Archivo Black", Sans-serif;
    padding-bottom: 20px;
}

.related.products {
    padding-bottom: 100px;
}

.product-subtitle-service p {
    color: #F32728 !important;
    text-transform: uppercase;
    font-weight: 500;
    font-family: "Montserrat";
    font-size: 14px !important;
    padding: 0;
    margin: 0;
}

.service-title h4 {
    display: block;
    color: #1B2024 !important;
    font-weight: 500;
    font-family: "Archivo Black", Sans-serif;
    font-size: 24px !important;
}

/*
 * FORM CONTATTO
 * */
/* Contenitore a due colonne */
.wpcf7-form input:not(.cf7c-submit), .wpcf7-form textarea {
    background-color: white!important;
    color: #333!important;
}

.form-control:focus {
    box-shadow: none!important;
    border-color: #F32726;
}

.cf7c-row {
    display: flex;
    gap: 1rem;
    /* margin-bottom: 1rem; */
}

/* Colonna half-width */
.cf7c-col--half {
    flex: 1;
}

/* Stile comune a tutti i campi */
.cf7c-field {
    width: 100%;
    margin-top: 0;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em;
    box-sizing: border-box;
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

/* Focalizzazione sul campo */
.cf7c-field:focus {
    border-color: #F34645!important;
    box-shadow: none !important;
    outline: none!important ;
}

.cf7c-label {
    font-weight: 600;
    font-size: 0.95em;
    color: #333;
    display: block;
}

.cf7c-submit {
    background: none!important;
    color: #F34645!important;
    padding: 0.7em 1.2em;
    border: 2px solid #F34645!important;
    border-radius: 4px;
    transition: background 0.2s ease-in-out;
}

.cf7c-submit:hover {
    background: #F34645!important;
    color: white!important;
}

.wpcf7 form .wpcf7-response-output {
    color: #dc3232;
}

.elementor-kit-8 label {
    line-height: 1.2em;
}


/*
 * CART
 * */
/* Cart icon desktop */
.cart-link img,
.cart-link-mobile img {
  width: 24px;
  height: auto;
}

/* Pallino rosso con numero articoli */
.cart-count,
.cart-count-mobile {
  position: absolute;
  top: -5px;
  right: -5px;
  background: #F32728;
  color: #fff;
  border-radius: 50%;
  padding: 2px 6px;
  font-size: 0.75rem;
  line-height: 1;
}

/* Se vuoi spostare leggermente il badge su mobile */
.cart-count-mobile {
  top: 0;
  right: 0;
}
/*
 * WHATSAPP
 * */
.whatsapp-float {
  position: fixed;
  width: 48px;      
  height: 48px;    
  bottom: 20px;    
  right: 20px;     
  z-index: 9999;    
}

.whatsapp-float img {
  width: 100%;
  height: auto;
  display: block;
	transition:0.2s ease-in;
}
.whatsapp-float img:hover {
	transform:scale(1.1)
}
/*
 * CART/CHECKOUT
 * */
body.page-id-459 .wp-block-woocommerce-checkout{
	max-width:1300px;
	margin-top:40px;
	margin-bottom:80px;
	margin-left:auto;
	margin-right:auto;
}
@media(max-width:1400px){
body.page-id-459 .wp-block-woocommerce-checkout{
	max-width: 90%;
	/* margin-top:40px; */
	margin-bottom:80px;
	margin-left:auto;
	margin-right:auto;
}
}
body.page-id-459 {
	background-color:white!important;
}
/* style.css del tuo child theme */

/* rende il btn full-width e stacca un po' dal riepilogo */
.wc-block-checkout__sidebar
  .wc-block-components-checkout-order-summary__content
  .wc-block-components-checkout-place-order-button {
    display: block;
    width: 100%;
    margin-top: 1.5rem;
    color: #F82728!important;
    border: 2px solid #F82728!important;
    border-radius: 0;
	  transition:0.2s ease-in;
}
.wc-block-checkout__sidebar
  .wc-block-components-checkout-order-summary__content
  .wc-block-components-checkout-place-order-button:hover {

    background-color:#F82728!important;
    color: white!important;
    border: 2px solid #F82728!important;

}
.wc-block-components-totals-coupon__content button,.wc-block-components-totals-coupon__content button {
      display: block;
    width: 100%;
    margin-top: 1.5rem;
    color: #F82728!important;
    border: 2px solid #F82728!important;
    border-radius: 0;
	  transition:0.2s ease-in;
}
.wc-block-components-totals-coupon__content  button:hover,.wc-block-components-totals-coupon__content   button:focus {
    background-color:#F82728!important;
    color: white!important;
    border: 2px solid #F82728!important;
}



.container-login-form {
  max-width: 500px;
  margin: 100px auto 80px;
  padding: 2rem;
  background: #fff;
  /* box-shadow: 0 2px 8px rgba(0,0,0,0.1); */
  border-radius: 8px;
}

/* Titolo dei form */
.container-login-form h2 {
  margin-bottom: 1.5rem;
  font-size: 1.8rem;
  text-align: center;
}

/* Campi input a tutta larghezza */
.container-login-form .input-text {
  width: 100%;
  /* se vuoi padding extra: */
  /* padding: .8rem; */
  box-sizing: border-box;
}


.container-login-form .login-my-form .button,
.container-login-form .register-my-form .button {
  color: #F32728 !important;
  border: 2px solid #F32728 !important;
  border-radius: 0;
  font-size: 18px;
  text-transform: uppercase;
  padding: 18px 32px !important;
  font-weight: 900;
  background: none;
  transition: background 0.3s;
  line-height: 1;
  width: 100%;
  margin-top: 15px;
}

.container-login-form .login-my-form .button:hover,
.container-login-form .register-my-form .button:hover {
  color: #fff !important;
  background-color: #F32728 !important;
  border-color: #F32728 !important;
}


.container-login-form .mobile-switching,
.container-login-form .lost_password {
  text-align: center;
  margin-top: 1rem;
}

.container-login-form .mobile-switching a,
.container-login-form .lost_password a {
  color: #F32728 !important;
}

.container-login-form .mobile-switching a:hover,
.container-login-form .lost_password a:hover {
  text-decoration: underline !important;
}





.woocommerce-MyAccount-content {
  max-width: 800px !important;
  margin: 2.5rem auto !important;
  padding: 2rem !important;
  background: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}

.woocommerce-MyAccount-navigation {
  display: flex !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
  margin-bottom: 2rem !important;
  list-style: none !important;
}

.woocommerce-MyAccount-navigation li {
  margin-right: 1.5rem !important;
}

.woocommerce-MyAccount-navigation a {
  color: #333333 !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  padding: .5rem 0 !important;
  display: inline-block !important;
  border-bottom: 3px solid transparent !important;
  transition: color .3s, border-bottom-color .3s !important;
  text-decoration:none!important;
}

.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation a:hover {
  color: #F32728 !important;
  border-bottom-color: #F32728 !important;
	
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-size: 1.6rem !important;
  margin-bottom: 1rem !important;
  color: #333333 !important;
}

.woocommerce-MyAccount-content p {
  margin-bottom: 1rem !important;
  line-height: 1.6 !important;
}


.woocommerce-MyAccount-content a {
  color: #F32728 !important;
  text-decoration: underline !important;
}

.woocommerce-MyAccount-content a:hover {
  color: #D11616 !important;
}


.woocommerce-orders-table,
.woocommerce-MyAccount-downloads table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 2rem !important;
}

.woocommerce-orders-table th,
.woocommerce-orders-table td,
.woocommerce-MyAccount-downloads th,
.woocommerce-MyAccount-downloads td {
  padding: .75rem 1rem !important;
  border: 1px solid #eee !important;
}

.woocommerce-orders-table thead {
  background: #f9f9f9 !important;
}

.woocommerce-orders-table tr:nth-child(even) {
  background: #fcfcfc !important;
}


.woocommerce-Addresses address,
.woocommerce-AccountDetails form {
  margin-bottom: 1.5rem !important;
}


.woocommerce-Button, .woocommerce-address-fields .button.alt, .woocommerce-Button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button {
  background: none !important;
  color: #F32728 !important;
  border: 2px solid #F32728 !important;
  padding: .8rem 2rem !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  transition: background .3s !important;
  text-decoration: none!important;
  text-align: center;
}

.woocommerce-Button:hover, .woocommerce-address-fields .button.alt:hover, .woocommerce-Button.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover {
  background: #F32728 !important;
  color: #fff !important;
  border-color: #F32728 !important;
}
body.page-id-460 {
	
	background-color:white;

}
body.page-id-460 .woocommerce{
	margin:100px auto 80px;
	background-color:white;
	max-width: 1200px;
}
.woocommerce-info {
    border-top-color: #F32728;
}
.woocommerce-info::before {
    color: #F32728;
}
.woocommerce-info > .woocommerce-Button.wc-forward.button, .woocommerce-Message.woocommerce-Message--info.woocommerce-info > .woocommerce-Button.button{
	text-decoration:none!important;
	
}
.woocommerce-info > .woocommerce-Button.wc-forward.button:hover, .woocommerce-Message.woocommerce-Message--info.woocommerce-info > .woocommerce-Button.button:hover{
	text-decoration:none!important;
	color:white!important;
}
fieldset {
    padding: 0; 
}
@media(max-width:480px){
	body.page-id-460 .woocommerce{
		margin:60px auto 80px;
		padding: 0 20px;
	}
	body.page-id-460 button{
		display: none;

	}
	body.page-id-460 .container{
		padding-left: 20px;
		padding-right: 20px;
	}
	.woocommerce-Message.woocommerce-Message--info.woocommerce-info > .woocommerce-Button.button {   
    	width: 100%;
		font-size:16px!important;
	}
}



/*
 * review form
 * */

#testimonial_form_1070.sp-tpro-fronted-form .sp-tpro-form-submit-button input[type='submit'] {
    color: #ffffff!important;
    background: #F32728 !important;
    outline:none!important;
    border:2px solid  #F32728;
    border-radius: 0!important;
}
#sp-testimonial-free-wrapper-1060 .sp-testimonial-free-section .testimonial-pagination span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background:  #F32728 !important;
}
#sp-testimonial-free-wrapper-1060 .sp-testimonial-free-section .testimonial-nav-arrow:hover {
    background: #F32728;
    border-color: #F32728;
    color: #ffffff;
}
#testimonial_form_1070.sp-tpro-fronted-form .sp-tpro-form-field:not(.tpro-category-list-field,.tpro-social-profiles-field) .sp-testimonial-input-field input #testimonial_form_1070.sp-tpro-fronted-form .sp-tpro-form-field:not(.tpro-category-list-field,.tpro-social-profiles-field) .sp-testimonial-input-field input{
	color:black!importan;
}
.sp-testimonial-free-section .testimonial-nav-arrow {

    width: 36px;
	height: 36px;
}
#testimonial_form_1070.sp-tpro-fronted-form .sp-tpro-form-field textarea{
	color:#1B2024!important;
}
#tpro_client_image1070{
	background-color: unset;
}
.termini-cond h4{
	color:#363535!important;
}

.sp-testimonial-free-section .swiper-wrapper{
	align-items:center;
}

/*
 * CART
 * */

body.page-id-458 .wp-block-woocommerce-cart{
	    max-width: 1300px;
	    padding-top: 80px;
	    padding-bottom: 80px;
	    margin-left: auto;
	    margin-right: auto;
}
@media(max-width:1400px){
body.page-id-458 .wp-block-woocommerce-cart{
	max-width: 90%;
	padding-top: 80px;
	padding-bottom: 80px;
	margin-left:auto;
	margin-right:auto;
}
}
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link, .wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained {
    color: #F32728 !important;
    border: 2px solid #F32728 !important;
    border-radius: 0;
    font-size: 18px;
    text-transform: uppercase;
    padding: 18px 32px;
    font-weight: 900;
    background: none;
    transition: background 0.3s;
    line-height: 1;
    text-decoration: none;
}
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:hover, .wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover{
    background-color: #F32728 !important;
    color: #fff !important;
}
.wc-block-grid__product-title, .wc-block-components-product-name {
	text-decoration: none!important;
	text-transform: uppercase;
	color: #1B2024 !important;
	font-weight: 500!important;
	font-family: "Archivo Black", Sans-serif!important;
	font-size: 20px !important;
}
.wc-block-grid__product-price.price span{
	color: #F32728;
	font-weight: 900;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
}
.wc-block-grid__product .wc-block-grid__product-link {
	text-decoration:none;
}
.wc-block-grid__product.wc-block-grid__product {
    box-sizing: border-box;
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-end;
}
.wc-block-grid.wp-block-product-new.wp-block-woocommerce-product-new.wc-block-product-new.has-4-columns{
	padding-top:60px!important;
}

/*
 * after purchase table
 */
/* Tabella principale */
.woocommerce .woocommerce-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin-bottom: 1.5em !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

/* Header con accent red */
.woocommerce .woocommerce-table thead th {
  background: #F32728 !important;
  color: #fff !important;
  font-weight: 600 !important;
  padding: 0.75em 1em !important;
  text-transform: uppercase !important;
  font-size: 0.9rem !important;
  border: none !important;
}

/* Celle del corpo */
.woocommerce .woocommerce-table tbody td {
  padding: 0.75em 1em !important;
  color: #334155 !important;
  border-bottom: 1px solid #f1f5f9 !important;
  background: #fff !important;
  transition: background .2s ease !important;
}

/* Hover su riga */
.woocommerce .woocommerce-table tbody tr:hover td {
  background: #f8fafc !important;
}

/* Footer (totali) */
.woocommerce .woocommerce-table tfoot th,
.woocommerce .woocommerce-table tfoot td {
  padding: 0.75em 1em !important;
  font-weight: 600 !important;
  background: #f1f5f9 !important;
  border: none !important;
  font-size: 0.95rem !important;
}

/* Pulsante download in rosso brand */
.woocommerce .woocommerce-MyAccount-downloads-file.button.alt {
  background: #F32728 !important;
  color: #fff !important;
  padding: 0.6em 1.2em !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: background .2s ease !important;
  height: 38px;
}
.woocommerce .woocommerce-MyAccount-downloads-file.button.alt:hover {
  background: #c41e1f !important; /* versione leggermente piÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¹ scura */
}
.download-product a, .woocommerce-table__product-name.product-name a{
	text-decoration: none!important;
	text-transform: uppercase;
	color: #1B2024 !important;
	font-weight: 400!important;
	font-family: "Archivo Black", Sans-serif!important;
	font-size: 15px !important;
}
main.post-459 .container{
	padding-top:40px!important;
	padding-bottom:80px!important;
}
.woocommerce-order-downloads__title, .woocommerce-order-details__title, .woocommerce-column__title, .wc-block-components-title.wc-block-components-checkout-step__title{
	font-size: 35px !important;
}


/*
 * review
 * */

.sp-testimonial-free-section .sp-testimonial-client-name{
	font-size: 18px !important;
}
.sp-testimonial-free-section .sp-testimonial-title h3 {
	font-size: 20px !important;
}



.footer-transparency a {
  font-weight: 600;
  text-transform: uppercase;
}

.footer-invitalia-logo {
  max-width: 80px!important;
  padding-left:10px;
  height: auto;
  display: block;
}
body.page-id-460{
	max-width:unset!important;
	padding:unset;
	margin:unset;
}
.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions{
    display: flex;
    flex-direction: column;
    gap: 10px;
}