.ct-section {
width:100%;
background-size:cover;
background-repeat:repeat;
}
.ct-section>.ct-section-inner-wrap {
display:flex;
flex-direction:column;
align-items:flex-start;
}
.ct-div-block {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.ct-new-columns {
display:flex;
width:100%;
flex-direction:row;
align-items:stretch;
justify-content:center;
flex-wrap:wrap;
}
.ct-link-text {
display:inline-block;
}
.ct-link {
display:flex;
flex-wrap:wrap;
text-align:center;
text-decoration:none;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-link-button {
display:inline-block;
text-align:center;
text-decoration:none;
}
.ct-link-button {
background-color: #1e73be;
border: 1px solid #1e73be;
color: #ffffff;
padding: 10px 16px;
}
.ct-image {
max-width:100%;
}
.ct-fancy-icon>svg {
width:55px;height:55px;}
.ct-inner-content {
width:100%;
}
.ct-slide {
display:flex;
flex-wrap:wrap;
text-align:center;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-nestable-shortcode {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-comments {
width:100%;
text-align:left;
}
.oxy-comment-form {
width:100%;
}
.oxy-login-form {
width:100%;
}
.oxy-search-form {
width:100%;
}
.oxy-tabs-contents {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab-content {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-testimonial {
width:100%;
}
.oxy-icon-box {
width:100%;
}
.oxy-pricing-box {
width:100%;
}
.oxy-posts-grid {
width:100%;
}
.oxy-gallery {
width:100%;
}
.ct-slider {
width:100%;
}
.oxy-tabs {
display:flex;
flex-wrap:nowrap;
flex-direction:row;
align-items:stretch;
}
.ct-modal {
flex-direction:column;
align-items:flex-start;
}
.ct-span {
display:inline-block;
text-decoration:inherit;
}
.ct-widget {
width:100%;
}
.oxy-dynamic-list {
width:100%;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
			.ct-div-block,
			.oxy-post-content,
			.ct-text-block,
			.ct-headline,
			.oxy-rich-text,
			.ct-link-text { max-width: 100%; }
			img { flex-shrink: 0; }
			body * { min-height: 1px; }
		}            .oxy-testimonial {
                flex-direction: row;
                align-items: center;
            }
                        .oxy-testimonial .oxy-testimonial-photo-wrap {
                order: 1;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo {
                width: 125px;                height: 125px;                margin-right: 20px;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo-wrap, 
            .oxy-testimonial .oxy-testimonial-author-wrap, 
            .oxy-testimonial .oxy-testimonial-content-wrap {
                align-items: flex-start;                text-align: left;            }
            
                                                            .oxy-testimonial .oxy-testimonial-text {
                margin-bottom:8px;font-size: 21px;
line-height: 1.4;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
                                    .oxy-testimonial .oxy-testimonial-author {
                font-size: 18px;
-webkit-font-smoothing: subpixel-antialiased;
            }
                            

                                                .oxy-testimonial .oxy-testimonial-author-info {
                font-size: 12px;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
             
            
                        .oxy-icon-box {
                text-align: left;                flex-direction: column;            }
            
                        .oxy-icon-box .oxy-icon-box-icon {
                margin-bottom: 12px;
                align-self: flex-start;            }
            
                                                                        .oxy-icon-box .oxy-icon-box-heading {
                font-size: 21px;
margin-bottom: 12px;            }
            
                                                                                    .oxy-icon-box .oxy-icon-box-text {
                font-size: 16px;
margin-bottom: 12px;align-self: flex-start;            }
            
                        .oxy-icon-box .oxy-icon-box-link {
                margin-top: 20px;                            }
            
            
            /* GLOBALS */

                                                            .oxy-pricing-box .oxy-pricing-box-section {
                padding-top: 20px;
padding-left: 20px;
padding-right: 20px;
padding-bottom: 20px;
text-align: center;            }
                        
                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                justify-content: center;            }
            
            /* IMAGE */
                                                                                    .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-graphic {
                justify-content: center;            }
            
            /* TITLE */
                                                            
                                    .oxy-pricing-box .oxy-pricing-box-title-title {
                font-size: 48px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-title-subtitle {
                font-size: 24px;
            }
            

            /* PRICE */
                                                .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                                                flex-direction: row;                                            }
            
                                    .oxy-pricing-box .oxy-pricing-box-currency {
                font-size: 28px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-main {
                font-size: 80px;
line-height: 0.7;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-decimal {
                font-size: 13px;
            }
                        
                                    .oxy-pricing-box .oxy-pricing-box-term {
                font-size: 16px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-sale-price {
                font-size: 12px;
color: rgba(0,0,0,0.5);
                margin-bottom: 20px;            }
            
            /* CONTENT */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-content {
                font-size: 16px;
color: rgba(0,0,0,0.5);
            }
            
            /* CTA */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-cta {
                justify-content: center;            }
            
        
                                .oxy-progress-bar .oxy-progress-bar-background {
            background-color: #000000;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);            animation: none 0s paused;        }
                
                .oxy-progress-bar .oxy-progress-bar-progress-wrap {
            width: 85%;        }
        
                                                        .oxy-progress-bar .oxy-progress-bar-progress {
            background-color: #66aaff;padding: 40px;animation: none 0s paused, none 0s paused;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);        
        }
                
                        .oxy-progress-bar .oxy-progress-bar-overlay-text {
            font-size: 30px;
font-weight: 900;
-webkit-font-smoothing: subpixel-antialiased;
        }
        
                        .oxy-progress-bar .oxy-progress-bar-overlay-percent {
            font-size: 12px;
        }
        
        .ct-slider .unslider-nav ol li {border-color: #ffffff; }.ct-slider .unslider-nav ol li.unslider-active {background-color: #ffffff; }.ct-slider .ct-slide {
				padding: 0px;			}
		
                        .oxy-superbox .oxy-superbox-secondary, 
            .oxy-superbox .oxy-superbox-primary {
                transition-duration: 0.5s;            }
            
            
            
            
            
        
        
        
        
            .oxy-shape-divider {
                width: 0px;
                height: 0px;
                
            }
            
            .oxy_shape_divider svg {
                width: 100%;
            }
            .oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .sub-menu{
box-shadow:px px px px ;}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a div{
margin-left:0px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
width:30px;
height:30px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon{
padding-top:15px;
padding-right:15px;
padding-bottom:15px;
padding-left:15px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon, .oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon{
top:20px;
left:20px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
width:24px;
height:24px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon, .oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container{
background-color:#ffffff;
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-open-container{
background-image:url();
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item-has-children > a svg, .oxy-pro-menu .oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item-has-children > a svg{
font-size:24px;
}

.oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-open-container .menu-item-has-children ul, .oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-off-canvas-container .menu-item-has-children ul{
background-color:rgba(0,0,0,0.2);
border-top-style:solid;
}

.oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .oxy-pro-menu-list{
                    flex-direction: row;
               }
.oxy-pro-menu .oxy-pro-menu-container .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .menu-item, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .menu-item{
                    align-items: flex-start;
                }

            .oxy-pro-menu .oxy-pro-menu-off-canvas-container{
                    top: 0;
                    bottom: 0;
                    right: auto;
                    left: 0;
               }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item a, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }

            .oxy-site-navigation {
--oxynav-brand-color:#4831B0;
--oxynav-neutral-color:#FFFFFF;
--oxynav-activehover-color:#EFEDF4;
--oxynav-background-color:#4831B0;
--oxynav-border-radius:0px;
--oxynav-other-spacing:8px;
--oxynav-transition-duration:0.3s;
--oxynav-transition-timing-function:cubic-bezier(.84,.05,.31,.93);
}

.oxy-site-navigation .oxy-site-navigation__mobile-close-wrapper{
text-align:left;
}

.oxy-site-navigation > ul{ left: 0; }
.oxy-site-navigation {
                        --oxynav-animation-name: none; 
                    }

                .oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1){ 
                    background-color: var(--oxynav-brand-color);
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                    border: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2){ 
                    background: transparent;
                    border: 1px solid currentColor;
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2):not(:hover) > img{
                    filter: invert(0) !important;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover{
                    background-color: var(--oxynav-activehover-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a{
                    color: var(--oxynav-neutral-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a::after{
                    color: var(--oxynav-neutral-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > button, .oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }

                .ct-section-inner-wrap, .oxy-header-container{
  max-width: 1120px;
}
body {font-family: 'Lato';}body {line-height: 1.5;font-size: 20px;font-weight: 400;color: ;}.oxy-nav-menu-hamburger-line {background-color: ;}h1, h2, h3, h4, h5, h6 {font-family: 'Lato';font-size: 2em;font-weight: 800;line-height: 1.2;}h2, h3, h4, h5, h6{font-size: 1.5em;font-weight: 700;color: #008540;}h3, h4, h5, h6{font-size: 1em;color: #000000;}h4, h5, h6{font-size: 1.3em;font-weight: 700;color: #008540;}a {color: #000000;text-decoration: none;}a:hover {color: #008540;text-decoration: none;}.ct-link-text {text-decoration: ;}.ct-link {text-decoration: ;}.ct-link-button {border-radius: 3px;}.ct-section-inner-wrap {
padding-top: 12px;
padding-right: 12px;
padding-bottom: 12px;
padding-left: 12px;
}.ct-new-columns > .ct-div-block {
padding-top: 12px;
padding-right: 12px;
padding-bottom: 12px;
padding-left: 12px;
}.oxy-header-container {
padding-right: 12px;
padding-left: 12px;
}@media (max-width: 992px) {
				.ct-columns-inner-wrap {
					display: block !important;
				}
				.ct-columns-inner-wrap:after {
					display: table;
					clear: both;
					content: "";
				}
				.ct-column {
					width: 100% !important;
					margin: 0 !important;
				}
				.ct-columns-inner-wrap {
					margin: 0 !important;
				}
			}
.atomic-subheading {
 font-family:Lato;
 line-height:1.2;
 -webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale; color:#000000;
 padding-bottom:12px;
 width:70%;
}
@media (max-width: 991px) {
}

@media (max-width: 767px) {
.atomic-subheading {
 text-align:center;
 width:90%;
}
}

@media (max-width: 479px) {
.atomic-subheading {
 font-size:18px;
}
}

.atomic-secondary-heading {
 color:color(11);
 font-weight:400;
 font-size:56px;
 line-height:1.1;
 -webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;}
@media (max-width: 1120px) {
.atomic-secondary-heading {
 font-size:52px;
}
}

@media (max-width: 767px) {
.atomic-secondary-heading {
 font-size:44px;
}
}

@media (max-width: 479px) {
.atomic-secondary-heading {
 font-size:40px;
}
}

.fancy-accordion-1-title {
 font-family:;
 color:#2f2f2f;
 font-size:20px;
 font-weight:700;
 margin-top:31px;
}
.fancy-accordion-1-text {
 font-family:Lato;
 text-align:left;
 color:#666666;
 line-height:1.6;
 margin-bottom:16px;
}
.proteus-body-text {
 font-family:Lato;
 color:#576677;
 font-size:16px;
 font-weight:500;
 line-height:1.4;
}
.atomic-iconblock-5-column {
 text-align:center;
}
.atomic-iconblock-5-column:not(.ct-section):not(.oxy-easy-posts),
.atomic-iconblock-5-column.oxy-easy-posts .oxy-posts,
.atomic-iconblock-5-column.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
}
.atomic-iconblock-5-title {
 font-size:20px;
 color:color(5);
 font-weight:500;
 line-height:1.1;
 letter-spacing:.12em;
 margin-bottom:8px;
 -webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;}
.raccolta {
 font-family:Lato;
 color:#000000;
}
.atomic-iconbox-5-text {
 font-weight:400;
 line-height:1.6;
 -webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale; text-align:left;
 color:#000000;
 margin-bottom:16px;
}
.azienda-numerigrandi {
}
.azienda-numerigrandi-plus {
}
.yt-bg {
}
.yt-bg:not(.ct-section):not(.oxy-easy-posts),
.yt-bg.oxy-easy-posts .oxy-posts,
.yt-bg.ct-section .ct-section-inner-wrap{
display:flex;
}
@media (max-width: 1120px) {
.yt-bg {
}
.yt-bg:not(.ct-section):not(.oxy-easy-posts),
.yt-bg.oxy-easy-posts .oxy-posts,
.yt-bg.ct-section .ct-section-inner-wrap{
display:flex;
}
}

.header__logo-img {
}
/* =========================================================
   MONTIECO ARCHITECTURE V2.3 — Accessibility & Performance
   Focus: WCAG 2.1 Compliance, Contrast Fix, Fluid Design
========================================================= */

:root {
  /* --- Design Tokens (Fluid Units) --- */
  --space-xs: clamp(0.5rem, 1vw, 0.75rem);
  --space-sm: clamp(0.75rem, 1.5vw, 1rem);
  --space-md: clamp(1rem, 3vw, 2rem);
  --space-lg: clamp(2rem, 4vw, 3.5rem);

  /* --- Brand Colors (Optimized for Contrast) --- */
  --color-verde: #008540;        /* Rapporto 4.54:1 su Bianco - OK */
  --color-verde-dark: #006832;   /* Scurito per miglior contrasto su sfondi chiari */
  --color-azzurro: #126d8a;      /* Scurito da #1683a4 per contrasto AA (4.5:1) */
  --color-giallo: #ffd700;
  --color-wa: #128c7e;           /* FIX: Sostituito #25d366 (non accessibile) con Verde WA Dark */
  --color-nero: #111827;
  --color-text-muted: #4b5563;   /* FIX: Scurito da #6b7280 per raggiungere 4.5:1 */
  
  /* --- Surfaces --- */
  --bg-about: linear-gradient(135deg, #f9fafb 0%, #e5f4eb 45%, #ffffff 100%);
  --shadow-soft: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
  
  /* --- Settings --- */
  --radius-md: 0.875rem;
  --radius-lg: 1.25rem;
  --touch-target: 3rem;          /* Aumentato a 48px per Google Mobile Friendly */
}

/* =========================================================
   BASE & RESET
========================================================= */

html {
  scroll-behavior: smooth;
  font-size: 100%;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--color-nero);
  line-height: 1.6;
}

/* Focus state ultra-visibile per accessibilità tastiera */
:focus-visible {
  outline: 3px solid var(--color-azzurro);
  outline-offset: 4px;
}

section, .about-grid-v2, .mx-timeline, .mx-team {
  padding-inline: var(--space-md);
}

/* =========================================================
   SISTEMA BOTTONI (UNIFICATO)
========================================================= */

.btn, .ct-link-button, .btn-montieco, .bottone {
  --_btn-bg: var(--color-verde);
  --_btn-text: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  min-height: var(--touch-target);
  padding: 0.75rem 2rem; /* Aumentato padding verticale */
  border-radius: var(--radius-md);
  background: var(--_btn-bg);
  color: var(--_btn-text) !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  border: 2px solid transparent; /* Bordo per stabilità layout */
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  box-shadow: var(--shadow-soft);
}

.btn:hover, .ct-link-button:hover, .btn-montieco:hover, .bottone:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  filter: brightness(1.1);
}

.btn--secondary { --_btn-bg: var(--color-azzurro); }

.btn--outline {
  --_btn-bg: transparent;
  --_btn-text: var(--color-verde-dark);
  border-color: var(--color-verde-dark);
  box-shadow: none;
}
.btn--outline:hover { --_btn-text: #ffffff; --_btn-bg: var(--color-verde-dark); }

/* FIX WHATSAPP: Colore scuro per contrasto AA */
.btn--whatsapp { 
  --_btn-bg: var(--color-wa); 
}

/* FIX CRITICO: Giallo su Verde WA non ha contrasto. 
   Forziamo il bianco o usiamo il giallo solo come accento bordo se necessario. */
.btn--whatsapp.is-header-cta { 
  color: #ffffff !important; 
  border: 1px solid var(--color-giallo); /* Giallo usato come bordo per brand identity */
}

/* =========================================================
   NAVBAR & SEARCH
========================================================= */

.oxy-site-navigation img { height: clamp(2.5rem, 5vw, 3.75rem); }

.c-search__form {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 0.75rem;
  padding: 0.375rem;
  border: 2px solid #e5e7eb; /* Bordo più spesso per visibilità */
}
.c-search__form:focus-within { border-color: var(--color-verde); }
.c-search__input { flex: 1; border: none; padding: 0.5rem 0.75rem; outline: none; font-size: 1rem; }

/* =========================================================
   TYPOGRAPHY & ANIMATIONS
========================================================= */

h1 {
  position: relative;
  display: inline-block;
  font-size: clamp(2.25rem, 6vw, 3.75rem);
  line-height: 1.1;
  margin-bottom: 1.5rem;
  opacity: 0;
  animation: montiecoHeadlineIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  will-change: transform, opacity;
}

h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.10em;
  width: 100%;
  height: 0.12em;
  background: linear-gradient(90deg, var(--color-verde), var(--color-azzurro), var(--color-giallo));
  transform: scaleX(0);
  transform-origin: left;
  animation: montiecoUnderline 0.6s 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

h2, .ct-headline.h2-style {
  margin-top: clamp(2rem, 5vw, 3.5rem) !important;
  margin-bottom: 1.5rem !important;
  color: var(--color-verde-dark);
  font-weight: 800;
}

/* Link standard nel testo per accessibilità */
p a {
  color: var(--color-azzurro);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s;
}
p a:hover { color: var(--color-verde); }

/* =========================================================
   KEYFRAMES
========================================================= */

@keyframes montiecoHeadlineIn {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes montiecoUnderline {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

/* =========================================================
   RESPONSIVE & UTILS
========================================================= */

@media (max-width: 768px) {
  :root { --space-md: 1.25rem; }
  .btn { width: 100%; } /* Bottoni full-width su mobile per facilità di tocco */
}

/* Ottimizzazione per utenti che preferiscono movimenti ridotti */
@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
} :root {
  --form-primary: #00a14b;
  --form-primary-dark: #007c3c;
  --form-text: #0f172a;
  --form-text-muted: #64748b;
  --form-bg: #ffffff;
  --form-border: #e2e8f0;
  --form-focus: rgba(0, 161, 75, .35);
  --form-error: #dc2626;
  --form-success: #10b981;
  --form-radius: 1rem;
  --form-shadow-sm: 0 1px 3px rgba(0,0,0,.08);
  --form-shadow-md: 0 4px 12px rgba(0,0,0,.1);
  --min-touch-target: 44px;
}

.wpcf7-acceptance{
 span.wpcf7-list-item{
   margin: 30px 0 0 0;
}
}

.form-merd {
  display:none;
}


/* riallinea verticalmente la label della checkbox */
.cf7-modern .wpcf7-list-item {
  display: flex;
  align-items: center; /* centra verticalmente */
  gap: .75rem;
}

.cf7-modern .wpcf7-list-item-label {
  margin-top: 0; /* assicura che non ci siano offset */
  line-height: 1.4;
}

/* Wrapper */
.cf7-modern {
  max-width: 100%;
  padding: 0;
}

/* Reset spacing dei paragrafi CF7 */
.cf7-modern p {
  margin: 0;
  padding: 0;
}

/* Etichette */
.cf7-modern label {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  color: var(--form-text);
  margin-bottom: .55rem;
  text-align: left;
  line-height: 1.5;
}

/* Wrap dei controlli */
.cf7-modern .wpcf7-form-control-wrap {
  display: block;
  margin-bottom: .5rem;
}

/* Controlli testuali + select (escludo submit/checkbox/radio/file) */
.cf7-modern input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  input[type="password"],
  input[type="search"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  textarea,
  select
{
  box-sizing: border-box;
  width: 100%;
  min-height: var(--min-touch-target);
  padding: 1rem 1.25rem;
  font-size: 1rem;
  line-height: 1.5;
  font-family: inherit;
  color: var(--form-text);
  background: var(--form-bg);
  border: 2px solid var(--form-border);
  border-radius: var(--form-radius);
  box-shadow: var(--form-shadow-sm);
  transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
  appearance: none;
}

/* Placeholder */
.cf7-modern :is(input, textarea)::placeholder {
  color: var(--form-text-muted);
  opacity: 1;
}

/* Textarea */
.cf7-modern textarea {
  min-height: 150px;
  resize: vertical;
}

/* Select: caret semplice */
.cf7-modern select {
  background-image:
    linear-gradient(45deg, transparent 49%, var(--form-text) 51%),
    linear-gradient(-45deg, transparent 49%, var(--form-text) 51%);
  background-position: right 1.1rem center, right .75rem center;
  background-size: .5rem .5rem, .5rem .5rem;
  background-repeat: no-repeat;
}

/* Focus stato accessibile */
.cf7-modern :is(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  input[type="password"],
  input[type="search"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  textarea,
  select,
  .form-control
):focus-visible {
  outline: 3px solid var(--form-focus);
  outline-offset: 2px;
  border-color: var(--form-primary);
  box-shadow: var(--form-shadow-md);
}

/* Stato disabled/read-only */
.cf7-modern :is(input, textarea, select):disabled,
.cf7-modern :is(input, textarea, select)[aria-disabled="true"] {
  background-color: #f8fafc;
  color: var(--form-text-muted);
  cursor: not-allowed;
}

/* Errori per campo (CF7) */
.cf7-modern .wpcf7-not-valid {
  border-color: var(--form-error) !important;
  background-color: #fef2f2;
}
.cf7-modern .wpcf7-not-valid:focus-visible {
  outline-color: var(--form-error);
  background-color: #ffffff;
}

/* Tip errore */
.cf7-modern .wpcf7-not-valid-tip {
  display: block;
  color: var(--form-error);
  font-size: .9375rem;
  font-weight: 600;
  margin-top: .5rem;
  margin-bottom: 0;
  padding: .5rem .75rem;
  background: #fef2f2;
  border-left: 4px solid var(--form-error);
  border-radius: .375rem;
  line-height: 1.5;
}

/* Checkbox & liste */
.cf7-modern .wpcf7-acceptance { margin: 2.5rem 0; }
.cf7-modern .wpcf7-list-item {
  margin: 0;
  display: flex;
  align-items: flex-start;
  gap: .75rem;
}
.cf7-modern input[type="checkbox"] {
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  margin: 0;
  cursor: pointer;
  flex-shrink: 0;
  border: 2px solid var(--form-border);
  border-radius: .375rem;
  appearance: none;
  position: relative;
  background: var(--form-bg);
  transition: border-color .2s ease, background-color .2s ease;
}
.cf7-modern input[type="checkbox"]:checked {
  background-color: var(--form-primary);
  border-color: var(--form-primary);
}
.cf7-modern input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 3px;
  width: 6px;
  height: 12px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.cf7-modern input[type="checkbox"]:focus-visible {
  outline: 3px solid var(--form-focus);
  outline-offset: 2px;
}

.cf7-modern .wpcf7-list-item-label {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--form-text);
  font-weight: 400;
  margin-top: 2px;
}
.cf7-modern .wpcf7-list-item-label a {
  color: var(--form-primary);
  text-decoration: underline;
  font-weight: 500;
}
.cf7-modern .wpcf7-list-item-label a:hover,
.cf7-modern .wpcf7-list-item-label a:focus-visible {
  color: var(--form-primary-dark);
  text-decoration-thickness: 2px;
}

/* Pulsanti */
.wpcf7 .bottone,
.wpcf7 input[type="submit"] {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: var(--min-touch-target);
  padding: .875rem 3rem;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .01em;
  text-align: center;
  color: #fff;
  background: #2C6F30 !important;
  border: 2px solid var(--form-primary);
  border-radius: var(--form-radius);
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease;
  margin: 1.5rem auto 0;
  appearance: none;
}
.cf7-modern .bottone:hover,
.cf7-modern input[type="submit"]:hover {
/*  background: var(--form-primary-dark); */
  background: rgba(0,133,64,0.41);
  border-color: var(--form-primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 161, 75, .35);
}
.cf7-modern .bottone:focus-visible,
.cf7-modern input[type="submit"]:focus-visible {
  outline: 3px solid var(--form-focus);
  outline-offset: 3px;
}
.cf7-modern .bottone:active,
.cf7-modern input[type="submit"]:active {
  transform: translateY(0);
}

/* Messaggi di risposta globali */
.cf7-modern .wpcf7-response-output {
  margin: 2rem 0 0;
  padding: 1.25rem 1.5rem;
  border-radius: var(--form-radius);
  font-size: 1rem;
  font-weight: 600;
  text-align: left;
  line-height: 1.6;
  border: 2px solid var(--form-border);
  background: #f8fafc;
  color: var(--form-text);
}

/* Successo / Errore (classi CF7) */
.cf7-modern .wpcf7-mail-sent-ok {
  background: #d1fae5;
  border-color: var(--form-success);
  color: #065f46;
}
.cf7-modern .wpcf7-validation-errors,
.cf7-modern .wpcf7-mail-sent-ng {
  background: #fee2e2;
  border-color: var(--form-error);
  color: #991b1b;
}

/* Spinner */
.cf7-modern .wpcf7-spinner {
  margin: 0 0 0 1rem;
  display: inline-block;
  vertical-align: middle;
}

/* Screen reader only */
.cf7-modern .sr-only,
.cf7-modern label.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Preferenze utente */
@media (prefers-reduced-motion: reduce) {
  .cf7-modern :is(input, textarea, select, .bottone, input[type="checkbox"]) {
    transition: none !important;
    animation: none !important;
  }
}
@media (prefers-contrast: more) {
  .cf7-modern :is(input, textarea, select) { border-width: 3px; }
  .cf7-modern .bottone { border-width: 3px; }
  .cf7-modern input[type="checkbox"] { border-width: 3px; }
}

/* Mobile */
@media (max-width: 768px) {
  .cf7-modern :is(input, textarea, select) {
    padding: 1rem;
    font-size: 16px; /* evita zoom su iOS */
  }
  .cf7-modern textarea { min-height: 120px; }
  .cf7-modern .bottone,
  .cf7-modern input[type="submit"] {
    padding: 1rem 1.5rem;
    font-size: 1rem;
    min-height: 48px;
    margin-top: 1.25rem;
  }
  .cf7-modern label,
  .cf7-modern .wpcf7-list-item-label { font-size: .9375rem; }
  .cf7-modern .wpcf7-acceptance { margin: 2rem 0; }
}

@media (max-width: 480px) {
  .cf7-modern :is(input, textarea, select) { font-size: 16px; }
}

/* ============================================
   BREADCRUMB ACCESSIBILE
============================================ */
.breadcrumb{
  font-size: clamp(0.95rem, 2vw, 1.09rem);
  color: var(--crumb-text);
  background: #f9fafb;
  margin-bottom: 1rem;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  align-items: center;
  min-height: 48px; /* touch target */
  padding: 0.5rem 0;
}
.breadcrumb ol{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0.2rem;
}
.breadcrumb li{
  display: flex;
  align-items: center;
  min-height: 40px;
  font-size: inherit;
}
.breadcrumb li:not(:last-child)::after{
  content: "›";
  margin-inline: 0.375rem;
  font-weight: 600;
  color: #6b7280;
}
.breadcrumb a{
  color: var(--crumb-link);
  text-decoration: underline;
  padding: 0.2em 0.5em;
  min-height: 40px;
  min-width: 44px; /* WCAG touch target */
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  transition: background 0.2s, color 0.2s;
}
.breadcrumb a:focus-visible,
.breadcrumb a:hover{
  color: #fff;
  background: var(--crumb-link);
  outline: 2px solid var(--crumb-link);
  outline-offset: 2px;
  text-decoration: none;
}

@media (max-width: 600px){
  .breadcrumb{
    font-size: 0.97rem;
    padding: 0.35rem 0;
    min-height: 44px;
  }
  .breadcrumb li:not(:last-child)::after{
    margin-inline: 0.23rem;
  }
}

/* ============================================
   LAYOUT INTRO: IMMAGINE + CONTENUTI
============================================ */
.prodotto-flex{
  display: grid;
  grid-template-columns: minmax(260px, clamp(300px, 36vw, 420px)) 1fr;
  gap: 0.7rem;
  align-items: start;
}

/* Box immagine con limite fluido */
.prodotto-imgbox{
  position: relative;
  max-width: 100%;
  border-radius: 10px;
  padding: 3px;
  background: #fff;
  box-shadow: var(--shadow-md);
  border: none;
  margin: 0;
  overflow: hidden; /* protegge i bordi arrotondati */
}

/* Immagine */
.prodotto-img{
  border-radius: 8px;
  width: 100%;
  height: auto;
  background: #f7fff9;
  box-shadow: none;
  display: block;
  transition: filter 0.18s;
}
.prodotto-img:hover,
.prodotto-img:focus{
  filter: brightness(1.07) saturate(1.03);
}

/* Caption sotto la foto */
.img-caption{
  position: relative;
  display: block;
  font-size: 1rem;
  background: #f6fff9;
  color: var(--montieco-verde);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  padding: 0.35em 0.75em;
  font-style: italic;
  text-align: center;
  margin-top: 0.55rem;
  border: none;
}

/* Spazio sopra e sotto Descrizione dettagliata */
.prodotto-descrizione{
  margin-top: 2.2rem;
  margin-bottom: 1.7rem;
}

/* Responsive */
@media (max-width: 900px){
  .prodotto-flex{
    grid-template-columns: 1fr;
    gap: 1.1rem;
  }
  .prodotto-imgbox{
    padding: 4px;
    border-radius: 6px;
    margin-bottom: 1.1rem;
  }
  .prodotto-img{ border-radius: 5px; }
  .img-caption{
    font-size: 0.96rem;
    border-radius: 5px;
    padding: 0.25em 0.35em;
    margin-top: 0.33rem;
  }
  .prodotto-descrizione{ margin-top: 1.2rem; }
}

/* ============================================
   TITOLO PAGINA PRODOTTO
============================================ */
.montieco-prodotto-page h1{
  font-size: clamp(2.2rem, 5vw, 3.1rem);
  font-weight: 800;
  color: #183c1f;
  margin: 0 0 1.2rem 0;
  line-height: 1.2;
}

/* ============================================
   TABELLA TECNICA + BLOCCO
============================================ */
.tabella-montieco-blocco{
  margin: 2rem 0 0 0;
  background: #f9fafb;
  border: none;
  border-radius: 16px;
  box-shadow: var(--shadow-md);
  padding: 1rem;
  overflow-x: auto;
}

.tabella-montieco{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: transparent;
  font-size: 1.08rem;
  color: #183c1f;
}
.tabella-montieco thead tr{
  background: #eafff2;
}
.tabella-montieco th{
  padding: 1rem 1.1rem;
  font-size: 1.09em;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--montieco-verde);
  border-bottom: 2px solid #eceedc;
  border-top-left-radius: 13px;
  border-top-right-radius: 13px;
}
.tabella-montieco tbody tr{
  transition: background 0.18s;
}
.tabella-montieco tbody tr:nth-child(even){
  background: #f6fff9;
}
.tabella-montieco tbody tr:nth-child(odd){
  background: #fff;
}
.tabella-montieco tbody tr:hover{
  background: #eafff2;
}
.tabella-montieco td{
  padding: 0.92em 1.05em;
  border-bottom: 1px solid #eceedc;
  font-weight: 500;
  border-radius: 7px;
  vertical-align: middle;
}
.tabella-montieco tbody tr:last-child td{
  border-bottom: none;
}

/* Nota tabella */
.tabella-note{
  margin: 0;
  margin-top: -4px;
  font-size: 0.96rem;
  color: #475569;
  background: #f2fcf9;
  border: 1px solid #e9f7ef;
  border-radius: 10px;
  padding: .6rem .8rem;
}

/* Variante mobile per tabella usando data-label */
@media (max-width: 640px){
  .tabella-montieco thead{
    position: absolute;
    width: 1px; height: 1px;
    margin: -1px; padding: 0; overflow: hidden;
    clip: rect(0,0,0,0); border: 0;
  }
  .tabella-montieco tbody tr{
    display: block;
    border: 1px solid #eceedc;
    border-radius: 10px;
    padding: .4rem 0;
    margin-bottom: .6rem;
    background: #fff;
  }
  .tabella-montieco td{
    display: block;
    text-align: right;
    border-bottom: 1px dashed #eceedc;
    padding: .65rem .8rem;
  }
  .tabella-montieco tbody tr:last-child td{
    border-bottom: none;
  }
  .tabella-montieco td::before{
    content: attr(data-label);
    float: left;
    font-weight: 700;
    color: var(--montieco-verde);
  }
}
.mcx-product-nav{
  margin-top:2rem;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}

.mcx-product-nav .btn-montieco{
  flex:1 1 calc(50% - .5rem);
  justify-content:center;
}

.mcx-product-nav .mcx-prev{
  text-align:left;
}

.mcx-product-nav .mcx-next{
  text-align:right;
}

/* Mobile: bottoni uno sotto l'altro full width */
@media (max-width:640px){
  .mcx-product-nav{
    flex-direction:column;
  }
  .mcx-product-nav .btn-montieco{
    flex:1 1 100%;
    width:100%;
  }
}








/* ============================================
   LISTE E BADGE LATERALE
============================================ */
.ct-text-block ul {
  list-style: disc;
  list-style-position: outside;
  margin: 0 0 .6rem 1.25rem;
  padding: 0;
}

/* Stile per il colore del pallino (marker) */
.ct-text-block ul li::marker { 
  color: var(--montieco-verde); 
}
.ct-text-block strong {
  color: var(--montieco-verde);
}

/* STILE PER IL NUMERO 60 */
.azienda-numerigrandi {
    /* Dimensione e Font */
    font-size: clamp(3rem, 15vw, 6rem);
    font-weight: 900;     /* Molto spesso */
    line-height: 0.85;    /* Basso per ridurre spazi vuoti */
    letter-spacing: -0.02em;

  padding-bottom: 0.1em;
  padding-right: 0.05em;
    
    /* Gradiente */
    background: linear-gradient(135deg, var(--montieco-verde, #008540) 20%, var(--montieco-azzurro, #1683a4) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    
    /* Forzatura trasparenza */
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    
    /* Rimuove margini per evitare conflitti */
    margin-top: 0.15em;
    margin-bottom: -0.1em;
    z-index: 1; /* Assicura che stia "sotto" o "sopra" in base a come vuoi l'incastro */
}

/* STILE PER IL SIMBOLO + */
.azienda-numerigrandi-plus {
    /* 1. Dimensione */
    /* Più grande rispetto a prima per eguagliare lo spessore dell'immagine */
    font-size: 3em;; 
    font-weight: 900;
    line-height: 1; 
    z-index: 1;
  
    /* 2. Colore Giallo Pieno */
    background: none !important;
    -webkit-text-fill-color: initial !important;
    color: var(--montieco-giallo, #ffd700) !important;
    
    /* 3. Ombra morbida */
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.15));

    /* 4. POSIZIONAMENTO DI PRECISIONE */
    position: relative; /* Ci permette di spostarlo come con un joystick */
    
    /* SPOSTAMENTO VERTICALE: */
    /* Aumenta questo valore per farlo scendere, diminuisci per farlo salire. */
    top: 0.1em;   
    
    /* SPOSTAMENTO ORIZZONTALE: */
    /* Valore negativo per avvicinarlo al 60. */
    left: -0.25em;  
    
    /* Margini a 0 per non interferire con il posizionamento relativo */
    margin: 0;
}
/* Testo descrittivo */
.hero-years-label {
  font-size: clamp(1.2rem, 3vw, 1.6rem);
  color: var(--montieco-nero, #111827);
  font-weight: 400;
  line-height: 1.3;
  max-width: 25ch;
  margin: 0;
}

.hero-years-label strong {
  font-weight: 800;
  color: var(--montieco-verde-dark, #007c3c);
}
.hero-years-timeline {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.6em 1.5em;
  background-color: #f3f4f6; 
  border: 1px solid rgba(0, 133, 64, 0.15);
  color: var(--montieco-nero, #111827);
  font-size: 0.95rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 100px;
}

.hero-years-timeline time {
  color: var(--montieco-verde, #008540);
  font-weight: 800;
}/*
 * STILI MENU DI NAVIGAZIONE - ID: #_nav_menu-821-13
 * Paletta Colori: Verde Scuro (#008540), Giallo (#ffe100), Bianco (#ffffff)
*/

/* --- STILE GENERALE DEL CONTENITORE --- */
#_nav_menu-821-13 {
    width: 100%;
}

/* ---------------------------------------------------- */
/* --- MENU DESKTOP (Sopra i 992px) --- */
/* ---------------------------------------------------- */

#_nav_menu-821-13 .oxy-nav-menu-list .menu-item > a {
    color: #ffffff !important;
    background-color: #008540 !important;
    font-weight: 700;
    padding: 15px 20px;
    transition: all 0.3s ease-in-out;
    border-radius: 0;
    text-transform: uppercase;
    font-size: 16px;
    margin-right: 2px;
}

#_nav_menu-821-13 .oxy-nav-menu-list .menu-item > a:hover,
#_nav_menu-821-13 .oxy-nav-menu-list .menu-item.current-menu-item > a,
#_nav_menu-821-13 .oxy-nav-menu-list .menu-item.current-menu-ancestor > a {
    background-color: #ffe100 !important;
    color: #008540 !important;
}

#_nav_menu-821-13 .oxy-nav-menu-list .menu-item-has-children .menu-item-toggle {
    color: #ffffff;
}

#_nav_menu-821-13 .oxy-nav-menu-list .menu-item-has-children > a:hover + .menu-item-toggle,
#_nav_menu-821-13 .oxy-nav-menu-list .menu-item-has-children > a:hover ~ .menu-item-toggle {
    color: #008540;
}

#_nav_menu-821-13 .sub-menu {
    border-top: 3px solid #ffe100;
    background-color: #ffffff !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

#_nav_menu-821-13 .sub-menu .menu-item a {
    color: #008540 !important;
    background-color: #ffffff !important;
    border-bottom: 1px solid #f0f0f0;
}

#_nav_menu-821-13 .sub-menu .menu-item a:hover {
    background-color: #f0f0f0 !important;
    color: #008540 !important;
    padding-left: 25px;
}

/* ---------------------------------------------------- */
/* --- STILI MOBILE (Sotto i 992px) --- */
/* ---------------------------------------------------- */

#_nav_menu-821-13 .oxy-nav-menu-hamburger-line {
    background-color: #ffffff !important;
    height: 3px;
}

#_nav_menu-821-13 .oxy-nav-menu-hamburger:hover .oxy-nav-menu-hamburger-line {
    background-color: #ffe100 !important;
}

@media (max-width: 991px) {
    #_nav_menu-821-13 .oxy-nav-menu-list {
        background-color: #008540 !important;
        border-top: 4px solid #ffe100;
        box-shadow: 0 10px 15px rgba(0,0,0,0.1);
        padding-top: 0;
        padding-bottom: 0;
    }

    #_nav_menu-821-13 .oxy-nav-menu-list .menu-item > a {
        color: #ffffff !important;
        background-color: transparent !important;
        border-bottom: 1px solid rgba(255, 225, 0, 0.5);
        justify-content: flex-start;
        text-align: left;
        padding: 15px 20px;
        width: 100%;
    }
    
    #_nav_menu-821-13 .oxy-nav-menu-list .menu-item > a:hover,
    #_nav_menu-821-13 .oxy-nav-menu-list .menu-item.current-menu-item > a,
    #_nav_menu-821-13 .oxy-nav-menu-list .menu-item.current-menu-ancestor > a {
        background-color: #ffe100 !important;
        color: #008540 !important;
    }

    #_nav_menu-821-13 .sub-menu {
        background-color: rgba(0, 0, 0, 0.1) !important;
        border-top: none;
        box-shadow: none;
    }

    #_nav_menu-821-13 .sub-menu .menu-item a {
        color: #ffffff !important;
        background-color: transparent !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding-left: 40px;
        font-size: 15px;
    }

    #_nav_menu-821-13 .sub-menu .menu-item a:hover {
        background-color: rgba(255, 225, 0, 0.2) !important;
        color: #ffe100 !important;
        padding-left: 45px;
    }
}

#_nav_menu-821-13 .oxy-nav-menu-hamburger-wrap {
    width: 100%; 
    text-align: center; 
}


/* ========================================= */
/* --- STILI CERCA (UGUALE SU TUTTI I DISPOSITIVI) --- */
/* ========================================= */

#searchForm {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    width: 100%;
}

/* Input sempre visibile su tutti i dispositivi */
#searchForm .c-search__input {
    width: 100% !important;
    max-width: 220px; /* Larghezza massima desktop */
    padding: 8px 12px !important;
    border: 1px solid #ddd !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: #fff;
    display: block !important;
    border-radius: 4px;
    margin-right: 5px;
    transition: border-color 0.3s ease;
}

#searchForm .c-search__input:focus {
    border-color: #008540 !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 133, 64, 0.1);
}

/* Bottone submit sempre visibile */
#searchForm .c-search__submit {
    background: transparent;
    border: none;
    padding: 5px;
    cursor: pointer;
    display: block !important;
    flex-shrink: 0;
}

/* Icona lente verde su tutti i dispositivi */
#searchForm .c-search__submit svg,
#searchForm .c-search__submit .c-search__icon {
    stroke: #008540 !important;
    color: #008540 !important;
    width: 24px;
    height: 24px;
    display: block;
}

#searchForm .c-search__submit:hover svg,
#searchForm .c-search__submit:hover .c-search__icon {
    stroke: #ffe100 !important;
    color: #ffe100 !important;
}

/* Responsive: su mobile riduce leggermente la larghezza massima */
@media (max-width: 991px) {
    #searchForm .c-search__input {
        max-width: 180px; /* Riduci su schermi piccoli per evitare overflow */
    }
    
    /* Fix altezza contenitore header su mobile */
    #_header_right-690-13 {
        height: auto !important;
        min-height: 44px;
        display: inline-flex !important;
        align-items: center;
        width: auto !important;
    }
}


/* ========================================= */
/* --- OTTIMIZZAZIONE MOBILE: SOLO WHATSAPP DIVENTA ICONA --- */
/* ========================================= */

@media (max-width: 991px) {
    /* Nascondi il testo SOLO per WhatsApp */
    a.btn-montieco[href*="wa.me"] span:not(.btn__icon) {
        display: none !important;
    }
    
    /* Rendi il bottone WhatsApp quadrato/compatto */
    a.btn-montieco[href*="wa.me"] {
        padding: 10px !important;
        width: 44px;
        height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    
    a.btn-montieco[href*="wa.me"] .btn__icon {
        margin: 0 !important;
    }
    
    /* ALLINEAMENTO: Forza Contatti e Cerca sulla stessa riga */
    #_header_center-689-13 {
        display: inline-flex !important;
        width: auto !important;
        vertical-align: middle;
        align-items: center;
        margin-right: 5px !important;
    }
}
/* ========================================= */
/* --- OTTIMIZZAZIONE MOBILE EXTREME (480px) --- */
/* ========================================= */

@media (max-width: 480px) {
    /* Nascondi il testo del telefono SOLO sotto i 480px */
    a.btn-montieco[href*="tel:"] span:not(.btn__icon) {
        display: none !important;
    }
    
    /* Rendi il bottone del telefono quadrato/compatto come WA */
    a.btn-montieco[href*="tel:"] {
        padding: 10px !important;
        width: 44px;
        height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    
    /* Rimuovi margini dall'icona */
    a.btn-montieco[href*="tel:"] .btn__icon {
        margin: 0 !important;
    }
}/* ========================================= */
/* --- RICERCA MOBILE COMPATTA (Sotto 480px) --- */
/* ========================================= */

@media (max-width: 480px) {
    /* 1. Mostra il pulsante "Toggle" (la lente che apre la ricerca) */
    .c-search__toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 0;
        background: transparent;
        border: none;
        cursor: pointer;
        color: #008540; /* Verde Montieco */
    }
    
    .c-search__toggle svg {
        width: 24px;
        height: 24px;
        stroke: #008540;
    }

    /* 2. Nascondi il Form "sempre aperto" (Input + Lente Submit) */
    /* Nota: Questo sovrascrive il "display: block !important" che abbiamo messo per il desktop */
    #searchForm,
    #searchForm .c-search__input {
        display: none !important;
    }

    /* 3. GESTIONE APERTURA (Opzionale/Necessario) */
    /* Se cliccando la lente la ricerca non appare, significa che il CSS "display: none !important" 
       sta bloccando anche l'apertura. Se conosci la classe che il tema aggiunge quando è aperto 
       (es. .oxy-search-open o .open), aggiungi una regola qui sotto. 
       
       Esempio generico (rimuovi il commento se serve): */
    /*
    .c-search.open #searchForm, 
    .c-search.oxy-search-open #searchForm {
        display: flex !important;
        position: absolute;
        top: 100%;
        right: 0;
        z-index: 999;
        background: #fff;
        padding: 10px;
        box-shadow: 0 10px 20px rgba(0,0,0,0.1);
        width: 260px;
        border-radius: 8px;
    }
    .c-search.open .c-search__input {
        display: block !important;
    }
    *//* Corregge il salto dell'ancora per tener conto dell'header */
