/*
 Theme Name:   Dacuna Theme
 Theme URI:    https://www.dacunastudio.com
 Requires Plugins: dacuna-framework
 Description:  Il sistema di design di Dacuna Studio: palette, tipografia, componenti. Le funzioni — pannello, SEO, AI, contatti, traduzioni, widget Elementor — vivono nel plugin Dacuna Framework, che va installato insieme a questo tema.
 Author:       Dacuna Studio - Agenzia Marketing Brescia
 Author URI:   https://www.dacunastudio.com
 Template:     generatepress
 Version:      1.0.1
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  dacuna-theme
*/


/*------------------------------------------------------------------
[Table of contents]

 1.  CSS Variables / Palette  (Gentle Sea Breeze)
 2.  Global
 3.  Typography
 4.  Color utilities
 5.  UI — Buttons, Boxes, Animations
 6.  Top Header
 7.  Header & Navigation
 8.  Menu
 9.  Title & Breadcrumb
10.  Contents
11.  Content Dark
12.  Blog
13.  Sidebar
14.  Footer Widgets
15.  Footer Bottom (site-info)
16.  Social media icons
17.  Contact form & Inputs
18.  WooCommerce
19.  Media Query — Desktop (≤1366px)
20.  Media Query — Tablet (≤1024px)
21.  Media Query — Mobile (≤767px)
22.  Media Query — Small mobile (≤480px)

-------------------------------------------------------------------*/

:root {
  /* Brand */
  --ds-color-primary: #4FB9AC;
  --ds-color-secondary: #212834;
  --ds-color-tertiary: #307BFF;
  --ds-color-accent: #307BFF;
  --accent: var(--ds-color-accent);

  /* Neutral */
  --ds-color-black: #000000;
  --ds-color-white: #ffffff;
  --ds-color-gray-dark: #535F6C;
  --ds-color-gray-light: #EEF2F8;
  --ds-color-border: rgba(26, 31, 54, 0.12);

  /* Semantic */
  --ds-color-link: var(--ds-color-primary);
  --ds-color-link-hover: var(--ds-color-accent);
  --ds-color-selection: var(--ds-color-primary);
  --ds-outline-success: #25d366;
  --ds-outline-info: #1f7a8c;
  --ds-outline-warning: #ffc107;
  --ds-outline-danger: #d32d12;

  /* Alias plugin / terze parti */
  --ds-color-blue: #1f7a8c;
  --ds-color-yellow: #bfdbf7;

  /* Typography */
  /* Stack completi: se Montserrat/Inter non sono caricati (vedi includes/ds-fonts.php)
     il testo cade su font di sistema simili invece che sul sans-serif generico. */
  --ds-font-body:  "poppins", sans-serif;
  --ds-font-title:  "poppins", sans-serif;
  --ds-body-font-family: var(--ds-font-body);
  --ds-body-font-weight: 400;
  --ds-body-title-weight: 600;
  --ds-line-height-base: 1.2;
  --ds-body-line-height: 1.4;
  --ds-font-size: 16px;

  --ds-font-size-h1: clamp(36px, 5vw, 64px);
  --ds-font-size-h2: clamp(30px, 4vw, 48px);
  --ds-font-size-h3: clamp(26px, 3vw, 36px);
  --ds-font-size-h4: clamp(23px, 2.4vw, 28px);
  --ds-font-size-h5: clamp(20px, 2vw, 22px);
  --ds-font-size-h6: 18px;

  --ds-font-weight-regular: 400;
  --ds-font-weight-medium: 500;
  --ds-font-weight-semibold: 600;
  --ds-font-weight-bold: 700;
  --ds-font-weight-extra-bold: 800;

  /* Layout */
  --ds-container: 1440px;
  --ds-container-narrow: 1100px;
  --ds-header-height: 10vh;
  --ds-header-min-height: 80px;

  /* Spacing */
  --ds-space-2xs: 6px;
  --ds-space-xs: 10px;
  --ds-space-sm: 16px;
  --ds-space-md: 24px;
  --ds-space-lg: 40px;
  --ds-space-xl: 72px;
  --ds-space-2xl: 120px;

  /* Radius */
  --ds-radius-xs: 8px;
  --ds-radius-sm: 12px;
  --ds-radius-md: 18px;
  --ds-radius-lg: 28px;
  --ds-radius-button: 8px;
  --ds-radius-form: 100px;
  --ds-radius-pill: 999px;

  /* Shadows */
  --ds-shadow-sm: 0 2px 5px rgba(2, 43, 58, 0.06);
  --ds-shadow-md: 0 5px 15px rgba(2, 43, 58, 0.1);
  --ds-shadow-lg: 0 20px 30px rgba(2, 43, 58, 0.12);

  /* Transitions */
  --ds-transition-fast: 0.2s ease;
  --ds-transition-normal: 0.35s ease;
  --ds-transition-slow: 0.6s ease;

  /* Body */
  --ds-bgcolor-body: var(--ds-color-white);
  --ds-color-title: var(--ds-color-secondary);
  --ds-color-font: var(--ds-color-gray-dark);
  --ds-body-text-align: left;

  /* Buttons */
  --ds-color-button: var(--ds-color-primary);
  --ds-color-button-hover: var(--ds-color-accent);
  --ds-font-button: var(--ds-color-white);

  /* Icons */
  --ds-bgcolor-icons: transparent;
  --ds-color-icons: var(--ds-color-primary);

  /* Header / Menu */
  --ds-bgcolor-header: var(--ds-color-primary);
  --ds-color-menu: var(--ds-color-white);
  --ds-color-menu-active: var(--ds-color-secondary);
  --ds-color-bg-menu-active: transparent;
  --ds-font-menu: var(--ds-font-title);
  --ds-font-menu-size: 16px;

  /* Forms */
  --ds-form-bg: var(--ds-color-primary);
  --ds-form-text: var(--ds-color-black);
  --ds-form-border: transparent;
  --ds-form-bg-focus: rgba(255, 255, 255, 0.5);
  --ds-form-border-focus: var(--ds-color-white);
  --ds-form-submit-bg: var(--ds-color-white);
  --ds-form-submit-color: var(--ds-color-primary);
  --ds-form-submit-radius: 100px;

  /* Footer */
  --ds-bgcolor-footer: var(--ds-color-primary);
  --ds-font-footer: 14px;
  --ds-font-color-footer: var(--ds-color-white);
  --ds-bgcolor-site-info: var(--ds-color-primary);
  --ds-font-color-site-info: var(--ds-color-white);
  --ds-font-site-info: 14px;
  --ds-footer-title-color: var(--ds-color-white);
  --ds-link-color-site-info: var(--ds-color-white);
  --ds-link-hover-site-info: var(--ds-color-white);

  /* Dark sections */
  --ds-dark-bg: var(--ds-color-primary);
  --ds-dark-text: var(--ds-color-white);
  --ds-dark-link: var(--ds-color-white);
  --ds-dark-link-hover: var(--ds-color-white);
  --ds-dark-button-bg: var(--ds-color-white);
  --ds-dark-button-bg-hover: var(--ds-color-secondary);
  --ds-dark-button-text: var(--ds-color-primary);
  --ds-dark-accent: var(--ds-color-white);

  /* Elementor */
  --e-global-color-primary: var(--ds-color-primary);
  --e-global-color-secondary: var(--ds-color-secondary);
  --e-global-color-text: var(--ds-color-font);
  --e-global-color-accent: var(--ds-color-accent);
  --e-global-typography-primary-font-family: var(--ds-font-body);
  --e-global-typography-primary-font-weight: var(--ds-font-weight-semibold);
  --e-global-typography-secondary-font-family: var(--ds-font-title);
  --e-global-typography-secondary-font-weight: var(--ds-font-weight-bold);
  --e-global-typography-text-font-family: var(--ds-font-body);
  --e-global-typography-text-font-weight: var(--ds-font-weight-regular);
  --e-global-typography-accent-font-family: var(--ds-font-body);
  --e-global-typography-accent-font-weight: var(--ds-font-weight-medium);

  /* The Events Calendar */
  --tec-color-text-primary: var(--ds-color-blue);
  --tec-color-event-icon-hover: var(--ds-color-blue);
  --tec-color-accent-primary: var(--ds-color-blue);
  --tec-color-accent-primary-hover: var(--ds-color-yellow);
  --e-a-btn-bg-accent: var(--ds-color-blue);
}

/*------------------------------------------------------------------
    Global
-------------------------------------------------------------------*/

body {
	margin: 0;
	font-family: var(--ds-font-body) !important;
	font-weight: var(--ds-body-font-weight);
	line-height: var(--ds-body-line-height);
	color: var(--ds-color-font);
	text-align: var(--ds-body-text-align);
	background-color: var(--ds-bgcolor-body);
}

.sidebar{
	display: none
}
.inside-article{
	padding: 0 !important
}

.site-content{
	width: 100%
}
.container  {
    max-width: 100% !important;
    margin: 0;
	padding: 0
}
.grid-container {
    max-width: 100% !important;
    margin: 0;
	padding: 0
}
h1.entry-title{
	display: none !important
}
.entry-content:not(:first-child), .entry-summary:not(:first-child), .page-content:not(:first-child) {
    margin-top: 0 !important;
}
.site-content .content-area {
    width: 100%;
}

.separate-containers .inside-article{
	background-color: var(--ds-bgcolor-body);

}
.page-header-image{
	display: none
}

.aspect-video{
	aspect-ratio: 16 / 9;
}
.aspect-quadrato{
	aspect-ratio: 1 / 1;
}
.aspect-vertical{
	aspect-ratio: 2 / 3;
}
.aspect-ratio-4-3{
	aspect-ratio: 4 / 3;
}

/* submit bottone fisso a destra*/
.elementor .submit-button{
	float: right
}

#wpadminbar #adminbarsearch .adminbar-button{
	display: none !important
}
.separate-containers .site-main{
	margin: 0 !important
}
.gradient-blue{
	background: linear-gradient(90deg, #011028 0%, #307BFF 100%);

}


table, th, td { border: 1px solid rgba(0, 0, 0, 0.1); }

table {
	border-collapse: separate;
	border-spacing: 0;
	border-width: 1px 0 0 1px;
	margin: 0 0 1.5em;
	width: 100%;
}

th, td { padding: 8px; }
th { border-width: 0 1px 1px 0; }
td { border-width: 0 1px 1px 0; }

hr {
	background-color: rgba(0, 0, 0, 0.1);
	border: 0;
	height: 1px;
	margin-bottom: 40px;
	margin-top: 40px;
}

ol, ul {
    padding-left: 0;
}

.pdtb-10{padding-top:10px!important;padding-bottom:10px!important}.pdtb-20{padding-top:20px!important;padding-bottom:20px!important}.pdtb-30{padding-top:30px!important;padding-bottom:30px!important}.pdtb-40{padding-top:40px!important;padding-bottom:40px!important}.pdtb-50{padding-top:50px!important;padding-bottom:50px!important}.pdtb-60{padding-top:60px!important;padding-bottom:60px!important}.pdtb-80{padding-top:80px!important;padding-bottom:80px!important}.pdtb-100{padding-top:100px!important;padding-bottom:100px!important}.pdtb-120{padding-top:120px!important;padding-bottom:120px!important}.pdtb-150{padding-top:150px!important;padding-bottom:150px!important}.pdtb-200{padding-top:200px!important;padding-bottom:200px!important}
.pd-0{padding:0!important}.pd-5{padding:5px!important}.pd-10{padding:10px!important}.pd-15{padding:15px!important}.pd-20{padding:20px!important}.pd-30{padding:30px!important}.pd-40{padding:40px!important}.pd-50{padding:50px!important}.pd-60{padding:60px!important}.pd-70{padding:70px!important}.pd-80{padding:80px!important}.pd-90{padding:90px!important}.pd-100{padding:100px!important}.pd-150{padding:100px!important}.pdt-0{padding-top:0!important}.pdt-5{padding-top:5px!important}.pdt-10{padding-top:10px!important}.pdt-15{padding-top:15px!important}.pdt-20{padding-top:20px!important}.pdt-30{padding-top:30px!important}.pdt-40{padding-top:40px!important}.pdt-50{padding-top:50px!important}.pdt-80{padding-top:80px!important}.pdt-100{padding-top:100px!important}.pdt-150{padding-top:150px!important}.pdt-200{padding-top:200px!important}.pdr-0{padding-right:0!important}.pdr-5{padding-right:5px!important}.pdr-10{padding-right:10px!important}.pdr-15{padding-right:15px!important}.pdr-20{padding-right:20px!important}.pdr-30{padding-right:30px!important}.pdr-40{padding-right:40px!important}.pdr-50{padding-right:50px!important}.pdr-60{padding-right:60px!important}.pdr-70{padding-right:70px!important}.pdr-80{padding-right:80px!important}.pdr-90{padding-right:90px!important}.pdr-100{padding-right:100px!important}.pdr-150{padding-right:150px!important}.pdb-0{padding-bottom:0!important}.pdb-5{padding-bottom:5px!important}.pdb-10{padding-bottom:10px!important}.pdb-15{padding-bottom:15px!important}.pdb-20{padding-bottom:20px!important}.pdb-30{padding-bottom:30px!important}.pdb-40{padding-bottom:40px!important}.pdb-50{padding-bottom:50px!important}.pdb-60{padding-bottom:60px!important}.pdb-70{padding-bottom:70px!important}.pdb-80{padding-bottom:80px!important}.pdb-90{padding-bottom:90px!important}.pdb-100{padding-bottom:100px!important}.pdb-120{padding-bottom:120px!important}.pdb-150{padding-bottom:150px!important}.pdb-200{padding-bottom:200px!important}.pdl-0{padding-left:0!important}.pdl-5{padding-left:5px!important}.pdl-10{padding-left:10px!important}.pdl-15{padding-left:15px!important}.pdl-20{padding-left:20px!important}.pdl-30{padding-left:30px!important}.pdl-40{padding-left:40px!important}.pdl-50{padding-left:50px!important}.pdl-60{padding-left:60px!important}.pdl-70{padding-left:70px!important}.pdl-80{padding-left:80px!important}.pdl-90{padding-left:90px!important}.pdl-100{padding-left:100px!important}.pdl-150{padding-left:150px!important}.mg-0{margin:0!important}.mg-5{margin:5px!important}.mg-10{margin:10px!important}.mg-15{margin:15px!important}.mg-20{margin:20px!important}.mg-30{margin:30px!important}.mg-40{margin:40px!important}.mg-50{margin:50px!important}.mg-60{margin:60px!important}.mg-70{margin:70px!important}.mg-80{margin:80px!important}.mg-90{margin:90px!important}.mg-100{margin:100px!important}.mg-120{margin:120px!important}.mg-130{margin:130px!important}.mg-150{margin:150px!important}.mg-200{margin:200px!important}.mgt-0{margin-top:0!important}.mgt-5{margin-top:5px!important}.mgt-10{margin-top:10px!important}.mgt-15{margin-top:15px!important}.mgt-20{margin-top:20px!important}.mgt-30{margin-top:30px!important}.mgt-40{margin-top:40px!important}.mgt-50{margin-top:50px!important}.mgt-60{margin-top:60px!important}.mgt-70{margin-top:70px!important}.mgt-80{margin-top:80px!important}.mgt-90{margin-top:90px!important}.mgt-100{margin-top:100px!important}.mgt-120{margin-top:120px!important}.mgt-130{margin-top:130px!important}.mgt-150{margin-top:150px!important}.mgt-200{margin-top:200px!important}.mgr-0{margin-right:0!important}.mgr-5{margin-right:5px!important}.mgr-10{margin-right:10px!important}.mgr-15{margin-right:15px!important}.mgr-20{margin-right:20px!important}.mgr-30{margin-right:30px!important}.mgr-40{margin-right:40px!important}.mgr-50{margin-right:50px!important}.mgr-60{margin-right:60px!important}.mgr-70{margin-right:70px!important}.mgr-80{margin-right:80px!important}.mgr-90{margin-right:90px!important}.mgr-100{margin-right:100px!important}.mgr-120{margin-right:120px!important}.mgr-130{margin-right:130px!important}.mgr-150{margin-right:150px!important}.mgr-200{margin-right:200px!important}.mgb-0{margin-bottom:0!important}.mgb-5{margin-bottom:5px!important}.mgb-10{margin-bottom:10px!important}.mgb-15{margin-bottom:15px!important}.mgb-20{margin-bottom:20px!important}.mgb-30{margin-bottom:30px!important}.mgb-40{margin-bottom:40px!important}.mgb-50{margin-bottom:50px!important}.mgb-60{margin-bottom:60px!important}.mgb-70{margin-bottom:70px!important}.mgb-80{margin-bottom:80px!important}.mgb-90{margin-bottom:90px!important}.mgb-100{margin-bottom:100px!important}.mgb-120{margin-bottom:120px!important}.mgb-130{margin-bottom:130px!important}.mgb-150{margin-bottom:150px!important}.mgb-200{margin-bottom:200px!important}.mgl-0{margin-left:0!important}.mgl-5{margin-left:5px!important}.mgl-10{margin-left:10px!important}.mgl-15{margin-left:15px!important}.mgl-20{margin-left:20px!important}.mgl-30{margin-left:30px!important}.mgl-40{margin-left:40px!important}.mgl-50{margin-left:50px!important}.mgl-60{margin-left:60px!important}.mgl-70{margin-left:70px!important}.mgl-80{margin-left:80px!important}.mgl-90{margin-left:90px!important}.mgl-100{margin-left:100px!important}.mgl-120{margin-left:120px!important}.mgl-130{margin-left:130px!important}.mgl-150{margin-left:150px!important}.mgl-200{margin-left:200px!important}.hg-50{height: 50px !important} .hg-60{height: 60px !important} .hg-70{height: 70px !important} .hg-80{height: 80px !important} .hg-90{height: 90px !important} .hg-100{height: 100px !important} .hg-150{height: 150px !important} .hg-200{height: 200px !important} .hg-250{height: 250px !important} .hg-300{height: 300px !important} .hg-350{height: 350px !important}

.min-h-200{min-height:200px}.min-h-230{min-height:230px}.min-h-260{min-height:260px}.min-h-290{min-height:290px}.min-h-320{min-height:320px}.min-h-350{min-height:350px}.min-h-380{min-height:380px}.min-h-410{min-height:410px}.min-h-440{min-height:440px}.min-h-470{min-height:470px}.min-h-500{min-height:500px}.min-h-550{min-height:550px}
.max-h-200{max-height:200px}.max-h-230{max-height:230px}.max-h-260{max-height:260px}.max-h-290{max-height:290px}.max-h-320{max-height:320px}.max-h-350{max-height:350px}.max-h-380{max-height:380px}.max-h-410{max-height:410px}.max-h-440{max-height:440px}.max-h-470{max-height:470px}.max-h-500{max-height:500px}.max-h-550{max-height:550px}


/*------------------------------------------------------------------
    Typography
-------------------------------------------------------------------*/

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--ds-font-title), sans-serif !important;
  color: var(--ds-color-title);
}

.elementor-heading-title {
	font-family: var(--ds-font-title) !important;
	font-weight: var(--ds-body-title-weight);
	line-height: 1.2
}
.e-heading-base{
	font-family: var(--ds-font-title) !important;
	font-weight: 600 !important;
	line-height: 1.2
}

h1, .h1 {
  font-size: var(--ds-font-size-h1);
}

h2, .h2 {
  font-size: var(--ds-font-size-h2);
}

h3, .h3 {
  font-size: var(--ds-font-size-h3);
}

.elementor-kit-7 h3 {
  font-size: var(--ds-font-size-h3);
}

h4, .h4 {
  font-size: var(--ds-font-size-h4);
}

h5, .h5 {
  font-size: var(--ds-font-size-h5);
}

h6, .h6 {
  font-size: var(--ds-font-size-h6);
}

p {
  font-family: var(--ds-font-body);
  font-size: var(--ds-font-size);
  line-height: var(--ds-body-line-height);
	margin-bottom: 0
}


.contenuto-news  h1,
.contenuto-news  h2,
.contenuto-news  h3,
.contenuto-news  h4,
.contenuto-news  h5,
.contenuto-news  h6
{
	font-size: var(--ds-font-size-h2) !important;
	margin: 30px 0px !important;
}




.menu-footer ul,
.menu-footer .elementor-nav-menu{
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

.menu-footer ul li,
.menu-footer .elementor-nav-menu li,
.menu-footer .menu-item{
	margin:0 0 6px 0 !important;
	padding:0 !important;
	list-style:none !important;
}

.menu-footer ul li:last-child,
.menu-footer .elementor-nav-menu li:last-child,
.menu-footer .menu-item:last-child{
	margin-bottom:0 !important;
}

.menu-footer ul a,
.menu-footer .elementor-nav-menu a,
.menu-footer .elementor-item{
	display:inline-block !important;
	padding:0 !important;
	margin:0 !important;
	text-decoration:none;
	font-size: 14px;
	font-weight: 400 !important
}

.menu-footer  li a:hover{
	text-decoration: underline !important
}

.contenuto-news  h1,
.contenuto-news  h2,
.contenuto-news  h3,
.contenuto-news  h4,
.contenuto-news  h5,
.contenuto-news  h6
{
	font-size: var(--ds-font-size-h2) !important;
	margin: 30px 0px !important;
}



b, strong {}

a, a:visited  {}
a:hover { }	

/******    Text Weight    ******/
.fw-1 h1, .fw-1 h2, .fw-1 h3, .fw-1 h4, .fw-1 h5, .fw-1 h6, .fw-1 p { font-weight: 100; }
.fw-2 h1, .fw-2 h2, .fw-2 h3, .fw-2 h4, .fw-2 h5, .fw-2 h6, .fw-2 p { font-weight: 200; }
.fw-3 h1, .fw-3 h2, .fw-3 h3, .fw-3 h4, .fw-3 h5, .fw-3 h6, .fw-3 p { font-weight: 300; }
.fw-4 h1, .fw-4 h2, .fw-4 h3, .fw-4 h4, .fw-4 h5, .fw-4 h6, .fw-4 p { font-weight: 400; }
.fw-5 h1, .fw-5 h2, .fw-5 h3, .fw-5 h4, .fw-5 h5, .fw-5 h6, .fw-5 p { font-weight: 500; }
.fw-6 h1, .fw-6 h2, .fw-6 h3, .fw-6 h4, .fw-6 h5, .fw-6 h6, .fw-6 p { font-weight: 600; }
.fw-7 h1, .fw-7 h2, .fw-7 h3, .fw-7 h4, .fw-7 h5, .fw-7 h6, .fw-7 p { font-weight: 700; }
.fw-8 h1, .fw-8 h2, .fw-8 h3, .fw-8 h4, .fw-8 h5, .fw-8 h6, .fw-8 p { font-weight: 800; }
.fw-9 h1, .fw-9 h2, .fw-9 h3, .fw-9 h4, .fw-9 h5, .fw-9 h6, .fw-9 p { font-weight: 900; }

/******    Font-size Height    ******/
.fh-2 h1, .fh-2 h2, .fh-2 h3, .fh-2 h4, .fh-2 h5, .fh-2 h6, .fh-2 p { font-size: 20px !important; }
.fh-3 h1, .fh-3 h2, .fh-3 h3, .fh-3 h4, .fh-3 h5, .fh-3 h6, .fh-3 p { font-size: 30px !important; }
.fh-4 h1, .fh-4 h2, .fh-4 h3, .fh-4 h4, .fh-4 h5, .fh-4 h6, .fh-4 p { font-size: 40px !important; }
.fh-5 h1, .fh-5 h2, .fh-5 h3, .fh-5 h4, .fh-5 h5, .fh-5 h6, .fh-5 p { font-size: 50px !important; }
.fh-6 h1, .fh-6 h2, .fh-6 h3, .fh-6 h4, .fh-6 h5, .fh-6 h6, .fh-6 p { font-size: 60px !important; }
.fh-7 h1, .fh-7 h2, .fh-7 h3, .fh-7 h4, .fh-7 h5, .fh-7 h6, .fh-7 p { font-size: 70px !important; }
.fh-8 h1, .fh-8 h2, .fh-8 h3, .fh-8 h4, .fh-8 h5, .fh-8 h6, .fh-8 p { font-size: 80px !important; }
.fh-9 h1, .fh-9 h2, .fh-9 h3, .fh-9 h4, .fh-9 h5, .fh-9 h6, .fh-9 p { font-size: 90px !important; }
.fh-10 h1, .fh-10 h2, .fh-10 h3, .fh-10 h4, .fh-10 h5, .fh-10 h6, .fh-10 p { font-size: 100px !important; }

/******    Line Height    ******/
.l-height-24 { line-height: 24px; }
.l-height-26 { line-height: 26px; }
.l-height-28 { line-height: 28px; }
.l-height-30 { line-height: 30px; }
.l-height-32 { line-height: 32px; }
.l-height-34 { line-height: 34px; }
.l-height-36 { line-height: 36px; }
.l-height-38 { line-height: 38px; }
.l-height-40 { line-height: 40px; }


/*------------------------------------------------------------------
    Color
-------------------------------------------------------------------*/

/******    Text selection   ******/
*::-moz-selection { background: var(--ds-color-selection); color: #fff; text-shadow: none; }
::-moz-selection { background: var(--ds-color-selection); color: #fff; text-shadow: none; }
::selection { background: var(--ds-color-selection); color: #fff; text-shadow: none; }

/* SELEZIONE IN DARK */
.content-dark *::selection {
    background: #fff;
    color: var(--ds-color-primary);
}

.content-dark *::-moz-selection {
    background: #fff;
    color: var(--ds-color-primary);
}


.highlighted-link {
        background-color: yellow !important;
        transition: background-color 1s ease-in-out !important;
    }

/******    Text color    ******/
.theme-color { color: var(--ds-color-secondary); }
.text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white h6, .text-white p { color: #fff !important; }
.text-black { color: var(--ds-color-primary); }
.text-gray { color: #999999; }

.text-white { color: #ffffff; }
.white-bg { background: #ffffff; }
.gray-bg { background: #f7f7f7; }
.dark-gray-bg { background: #666666; }
.theme-bg { background: var(--ds-color-secondary); }
.black-bg { background: #323232; }
.dark-theme-bg { background: #050801; }


/*------------------------------------------------------------------
    UI
-------------------------------------------------------------------*/

.btn-success.btn-outline { color: var(--ds-outline-success); }
.btn-info.btn-outline { color: var(--ds-outline-info); }
.btn-warning.btn-outline { color: var(--ds-outline-warning); }
.btn-danger.btn-outline { color: var(--ds-outline-danger); }

.btn-outline:hover {
    color: var(--ds-color-accent);
    background-color: var(--ds-color-button-hover);
}


/* Elementor Button */
.elementor-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    padding: 12px 20px !important;

    background: var(--ds-color-primary) !important;
    color: var(--ds-color-white) !important;

    border: 1px solid  var(--ds-color-primary) !important;
    border-radius: var(--ds-radius-button) !important;

    font-family: var(--ds-font-body) !important;
    font-size: var(--ds-font-size) !important;
    font-weight: 500 !important;
    line-height: 1 !important;

    text-align: center;
    text-decoration: none !important;

    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25) !important;

    transition:all var(--ds-transition-fast)
}


.outline-button .elementor-button {
    background: transparent !important;
    color: var(--ds-color-primary) !important;
    border: 1px solid var(--ds-color-primary)
    
}

.outline-button .elementor-button:hover {
    background: var(--ds-color-gray-light) !important;
    color: var(--ds-color-accent) !important;
	text-decoration: none !important;
	border: 1px solid var(--ds-color-accent)

}




/* LANDING PAGE*/

.content-dark .landing-button .elementor-button {
    background: #4FB9AC !important;
    color: var(--ds-color-black) !important;    
    border: none !important
}

.content-dark .landing-button .elementor-button:hover {
    background: #fff !important;
    color: #4FB9AC !important;
	text-decoration: none !important;
	    border: none !important

}



--------------------------------------------------------------*/


/* =========================
   ICONA SUBMENU MOBILE - PRIMARY
========================= */

/* Base: l'icona eredita il colore del link */
.elementor-nav-menu--dropdown .menu-item-has-children > a .sub-arrow svg,
.elementor-nav-menu--dropdown .menu-item-has-children > a .sub-arrow svg path{
	fill:currentColor !important;
}

/* Hover sulla voce */
.elementor-nav-menu--dropdown .menu-item-has-children > a:hover .sub-arrow svg,
.elementor-nav-menu--dropdown .menu-item-has-children > a:hover .sub-arrow svg path,
.elementor-nav-menu--dropdown .menu-item-has-children:hover > a .sub-arrow svg,
.elementor-nav-menu--dropdown .menu-item-has-children:hover > a .sub-arrow svg path{
	fill:var(--ds-color-primary) !important;
	color:var(--ds-color-primary) !important;
}

/* Voce aperta / selezionata */
.elementor-nav-menu--dropdown .menu-item-has-children > a.highlighted .sub-arrow svg,
.elementor-nav-menu--dropdown .menu-item-has-children > a.highlighted .sub-arrow svg path,
.elementor-nav-menu--dropdown .menu-item-has-children > a[aria-expanded="true"] .sub-arrow svg,
.elementor-nav-menu--dropdown .menu-item-has-children > a[aria-expanded="true"] .sub-arrow svg path,
.elementor-nav-menu--dropdown .menu-item-has-children.menu-open > a .sub-arrow svg,
.elementor-nav-menu--dropdown .menu-item-has-children.menu-open > a .sub-arrow svg path{
	fill:var(--ds-color-primary) !important;
	color:var(--ds-color-primary) !important;
}

/* Quando sei sulla pagina associata */
.elementor-nav-menu--dropdown .menu-item-has-children.current-menu-item > a .sub-arrow svg,
.elementor-nav-menu--dropdown .menu-item-has-children.current-menu-item > a .sub-arrow svg path,
.elementor-nav-menu--dropdown .menu-item-has-children.current-menu-parent > a .sub-arrow svg,
.elementor-nav-menu--dropdown .menu-item-has-children.current-menu-parent > a .sub-arrow svg path,
.elementor-nav-menu--dropdown .menu-item-has-children.current-menu-ancestor > a .sub-arrow svg,
.elementor-nav-menu--dropdown .menu-item-has-children.current-menu-ancestor > a .sub-arrow svg path,
.elementor-nav-menu--dropdown .menu-item-has-children.current_page_item > a .sub-arrow svg,
.elementor-nav-menu--dropdown .menu-item-has-children.current_page_item > a .sub-arrow svg path,
.elementor-nav-menu--dropdown .menu-item-has-children.current_page_parent > a .sub-arrow svg,
.elementor-nav-menu--dropdown .menu-item-has-children.current_page_parent > a .sub-arrow svg path,
.elementor-nav-menu--dropdown .menu-item-has-children.current_page_ancestor > a .sub-arrow svg,
.elementor-nav-menu--dropdown .menu-item-has-children.current_page_ancestor > a .sub-arrow svg path{
	fill:var(--ds-color-primary) !important;
	color:var(--ds-color-primary) !important;
}



.menu-nav .sub-menu a{
	font-size: var(--ds-font-size) !important;
	padding-top: 8px !important;
        padding-bottom: 8px !important;
        font-weight: 400 !important
}







/*--------   Iubenda plugin style    ------------------------------*/

#iub-legalDoc {
	border-top: 0 !important
}
.footer__credits{
	display: none !important
}


/*------------------------------------------------------------------
    Top Header
-------------------------------------------------------------------*/




/*------------------------------------------------------------------
    Header
-------------------------------------------------------------------*/




/*------------------------------------------------------------------
   Menu
-------------------------------------------------------------------*/

/* MENU CATEGORIE SERVIZI */
.menu-categorie-servizi ul,
.menu-categorie-servizi .elementor-nav-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 40px;

    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
}


/* Singola voce */
.menu-categorie-servizi li,
.menu-categorie-servizi .menu-item {
    width: 100% !important;
    margin: 0 !important;
}


/* Link */
.menu-categorie-servizi a,
.menu-categorie-servizi .elementor-item {
    display: flex !important;
    align-items: center;
    justify-content: center;

    width: 100% !important;
    min-height: 38px;

    padding: 10px 16px !important;

    border: 1px solid var(--ds-color-primary) !important;
    border-radius: 6px;

    background: transparent !important;

    color: var(--ds-color-primary) !important;

    font-family: var(--ds-font-body) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2;

    text-align: center;
    text-transform: uppercase;
    text-decoration: none !important;

    transition: var(--ds-transition-fast);
}


/* Freccia finale */
.menu-categorie-servizi a::after,
.menu-categorie-servizi .elementor-item::after {
    content: "›";

    position: static !important;

    width: auto !important;
    height: auto !important;

    margin-left: 6px;

    background: none !important;

    opacity: 1 !important;

    font-size: 18px;
}


/* Hover */
.menu-categorie-servizi a:hover,
.menu-categorie-servizi .elementor-item:hover {
    background: var(--ds-color-primary) !important;
    color: var(--ds-color-white) !important;
}


/* Voce attiva */
.menu-categorie-servizi .current-menu-item > a,
.menu-categorie-servizi .current-menu-item > .elementor-item,
.menu-categorie-servizi .elementor-item-active {
    background: var(--ds-color-primary) !important;
    color: var(--ds-color-white) !important;
}


/* Rimuove underline/indicatori Elementor */
.menu-categorie-servizi .elementor-item::before {
    display: none !important;
}


/* MOBILE */
@media (max-width: 767px) {

    .menu-categorie-servizi ul,
    .menu-categorie-servizi .elementor-nav-menu {
        grid-template-columns: 1fr;
        gap: 12px;
    }

}






.e-n-menu-dropdown-icon .fa-angle-down::before {
    position: absolute;
    top: 50%;
    transform: translateY(-40%);
	left: 25%;
}
.e-n-menu-dropdown-icon .fa-angle-up::before {
    position: absolute;
    top: 50%;
    transform: translateY(-40%);
	left: 25%;
}


/*------------------------------------------------------------------
   Title
-------------------------------------------------------------------*/


/*------------------------------------------------------------------
   Breadcrumb
-------------------------------------------------------------------*/


/*------------------------------------------------------------------
   Contents
-------------------------------------------------------------------*/
.elementor-widget-loop-carousel .swiper-wrapper .swiper-slide a.e-con{
	display: flex !important
}
	
.swiper-slide{
	padding-bottom: 10px !important
	}


.elementor-element :where(.swiper-horizontal) ~ .swiper-pagination-progressbar,
.elementor-lightbox :where(.swiper-horizontal) ~ .swiper-pagination-progressbar{
	height:4px;
	left:50% !important;
	top:110%;
	width:60%;
	transform:translateX(-50%) !important;
}


.elementor-element :where(.swiper-horizontal) ~ .swiper-pagination-progressbar,
.elementor-lightbox :where(.swiper-horizontal) ~ .swiper-pagination-progressbar{
	height:4px;
	left:50% !important;
	top:110%;
	width:60% !important;
	transform:translateX(-50%) !important;
}



.map-full-height{
	position:relative !important;
	width:100% !important;
	height:100% !important;
	min-height:100% !important;
	overflow:hidden !important;
}

.map-full-height .elementor-widget-container,
.map-full-height iframe,
.map-full-height .elementor-custom-embed,
.map-full-height .elementor-google-map,
.map-full-height .gm-style,
.map-full-height > div{
	width:100% !important;
	height:100% !important;
	min-height:100% !important;
}




.turn-to-top{
	cursor: pointer
}


.bg-zoom{
	position: relative;
	overflow: hidden;
}

/* IMMAGINI NORMALI */
.bg-zoom img{
	transition: transform .4s ease;
}

.bg-zoom:hover img{
	transform: scale(1.1);
}


/* IMMAGINI DI BACKGROUND */
.bg-zoom::before{
	content: "";
	position: absolute;
	inset: 0;

	background-image: inherit;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;

	transform: scale(1);
	transition: transform .4s ease;

	z-index: 0;
}

/* zoom background */
.bg-zoom:hover::before{
	transform: scale(1.1);
}

/* contenuti sopra al background */
.bg-zoom > *{
	position: relative;
	z-index: 1;
}




/* ----------------------------------------------------------------------
   9. CONTENT DARK
---------------------------------------------------------------------- */

.content-dark .elementor-heading-title,
.content-dark .e-heading-base,
.content-dark p
 {
	color: #fff
}

.content-dark a {
  color: var(--ds-dark-white);
}

.content-dark a:hover {
  color: var(--ds-dark-link-hover);
  text-decoration: none;
}

.content-dark *::selection,
.content-dark *::-moz-selection {
  background: var(--ds-color-white);
  color: var(--ds-color-primary);
}

.content-dark a.button, 
.content-dark a.button:visited, 
.content-dark a.wp-block-button__link:not(.has-background) {

}

.content-dark .elementor-button {
    color: var(--ds-color-primary) !important;
    background-color: #fff !important;
    border: 1px solid #fff !important;
}

.content-dark .elementor-button:hover {
     color: #fff !important;
    background-color: var(--ds-color-accent) !important;
     border: 1px solid var(--ds-color-accent) !important;
}

.content-dark .outline-button .elementor-button {
    color: #fff !important;
    background-color: transparent !important;
    border: 1px solid #fff !important;
}

.content-dark .outline-button .elementor-button:hover {
     color: var(--ds-color-primary) !important;
    background-color: #fff !important;
     border: 1px solid #fff !important;
}



/*------------------------------------------------------------------
   FAQ
-------------------------------------------------------------------*/

#faq-dstheme {

}

#faq-dstheme .faq-container {
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}

#faq-dstheme .faq-title {
  grid-column: 1 / -1;
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  margin: 0 0 20px;
  color: #fff;
}

#faq-dstheme .faq-item {
  background: #111;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(255, 255, 255, 0.04);
  overflow: hidden;
  transition: all 0.3s ease;
}

#faq-dstheme .faq-question {
  background: transparent;
  border: none;
  width: 100%;
  text-align: left;
  padding: 20px 22px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #fff;
  transition: background 0.3s ease, color 0.3s ease;
}

#faq-dstheme .faq-question:hover {
  background: #1b1b1b;
}

#faq-dstheme .faq-answer {
  max-height: 0;
  overflow: hidden;
  background: #0b0b0b;
  transition: all 0.4s ease;
  padding: 0 22px;
  line-height: 1.6;
  color: #d7d7d7;
  font-size: 0.95rem;
}

#faq-dstheme .faq-item.active .faq-question {
  background: #fff;
  color: #000;
}

#faq-dstheme .faq-item.active .faq-answer {
  max-height: 400px;
  padding: 18px 22px 22px;
}

#faq-dstheme .faq-icon {
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
  transition: transform 0.3s ease;
  flex-shrink: 0;
}

#faq-dstheme .faq-item.active .faq-icon {
  transform: rotate(45deg);
}

@media (max-width: 768px) {
  #faq-dstheme {
    padding: 35px 15px;
  }

  #faq-dstheme .faq-container {
    grid-template-columns: 1fr;
  }

  #faq-dstheme .faq-title {
    font-size: 1.6rem;
  }

  #faq-dstheme .faq-question {
    font-size: 0.95rem;
    padding: 18px;
  }

  #faq-dstheme .faq-answer {
    font-size: 0.9rem;
  }

  #faq-dstheme .faq-item.active .faq-answer {
    padding: 16px 18px 20px;
  }
}



/* ----------------------------------------------------------------------
   11. BLOG / SIDEBAR
---------------------------------------------------------------------- */



/*------------------------------------------------------------------
    Footer
-------------------------------------------------------------------*/


/* Layout colonne */
.footer-widgets .footer-widget-1 { flex-basis: 20%; }
.footer-widgets .footer-widget-2 { flex-basis: 20%; margin-left: 5% }
.footer-widgets .footer-widget-3 { flex-basis: 10%; margin-left: 5%}
.footer-widgets .footer-widget-4 { flex-basis: 18%; }
.footer-widgets .footer-widget-5 { display: flex;justify-content: space-between; align-items: center;max-width: 100%;margin-top: 75px; padding-top: 15px; padding-bottom: 15px; border-top: 1px solid #fff; border-bottom: 1px solid #fff; flex-basis: 100%;}

.logo-footer {
    width: 35%;
    border-radius: 0 !important;
    padding-bottom: 20px;
}

.site-footer {
    margin-top: 0;
}

.footer-widgets {
    background-color: var(--ds-bgcolor-footer);
    padding: 75px 200px 25px 200px;
    font-size: var(--ds-font-footer);
    color: var(--ds-font-color-footer);
}
.footer-widgets-container {
    min-width: 100%;
    max-width: 100%;
}

/* Link footer */
.footer-widgets a,
.footer-widgets a:visited {
    font-size: 15px;
    color: var(--ds-link-color-site-info); /* o crea --ds-footer-link-color */
    text-decoration: none;
}

.footer-widgets a:hover {
    color: var(--ds-link-hover-site-info) !important; /* o --ds-footer-link-hover */
    text-decoration: underline;
}

.site-footer .footer-widgets-container .inside-footer-widgets {
    margin-left: 0px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

/* Paragrafi */
.inside-footer-widgets p,
.footer-widgets p {
    font-size: var(--ds-font-footer);
    color: var(--ds-font-color-footer);
    font-weight: var(--ds-font-weight-regular);
}

/* Titoli footer */
.footer-widgets h6 {
    margin-bottom: 5px;
	font-weight: 600;
	color: #fff;
	text-align: right
}

.footer-widgets .widget-title {
    line-height: var(--ds-line-height-base);
    color: var(--ds-footer-title-color);
    font-size: 16px;
    font-weight: var(--ds-font-weight-bold);
    margin-bottom: 20px !important;
    text-transform: uppercase;
	font-family: "Inter", sans-serif;
	font-weight: 700 !important;
}
.footer-widgets .footer-widget-1 .inner-padding {
   padding: 0 !important;
}
.footer-widgets .footer-widget-5 .widget-title {
    margin-bottom: 0 !important;
}
.footer-widgets .footer-widget-5 .inner-padding{
    padding: 0 !important;
	display: flex;
	align-items: center;
	justify-content: start;
}
.footer-widgets .footer-widget-5 #text-5{
   width: 50%;
	text-align: start;
	margin-bottom: 0;
}

.footer-widget-1 img{
	border-radius: 0px !important
}

/* Grassetti */
.footer-widgets b,
.footer-widgets strong {
}

/* Icone */
.footer-widgets .fa,
.footer-widgets .far,
.footer-widgets .fas {
    padding-right: 10px;
}

/* Liste */
.footer-widgets .widget ul li {
    margin-bottom: 0.8em;
	color: #fff
}

.footer-widget-3 .menu-btn-call{
	display: none
}

.footer-widget-4  .textwidget {
	text-align: right
}


footer .menu{
	margin: 0;
	
}
footer .menu li,
footer .menu a
{
	list-style: none !important;
	margin-bottom: 15px
}

/*------------------------------------------------------------------
    Footer Bottom
-------------------------------------------------------------------*/

.site-info {
    font-size: var(--ds-font-site-info) !important;
    background-color: var(--ds-bgcolor-site-info);
    text-align: center;
    padding: 10px 200px;
    color: var(--ds-font-color-site-info);
}

.site-info p {
    color: var(--ds-font-color-site-info);
    font-size: var(--ds-font-site-info) !important;
}

.site-info a,
.site-info a:visited {
    color: #fff;
    font-size: var(--ds-font-site-info) !important;
    text-decoration: none;
}

.site-info a:hover {
    color: #fff;
}


/*------------------------------------------------------------------
   Social media icon
-------------------------------------------------------------------*/
.social-network li i {
    font-size: 25px !important;
    margin: 0px 3px
}
.social-network li a {
    display: inline-block;
    background: transparent !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    text-align: center;
    border-radius: 50%;
    color: var(--ds-color-primary) !important;
    text-decoration: none;
    transition: 0.3s;
}
.social-network li a:hover {
    opacity: .8;
}


.content-dark .social-network li a {
    display: inline-block;
    background: transparent;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    text-align: center;
    border-radius: 50%;
    color: #fff !important;
    text-decoration: none;
    transition: 0.3s;
}
.content-dark .social-network li a:hover {
    opacity: .8;
    background: transparent;
    
}


#wpadminbar #adminbarsearch .adminbar-button {
    display: none !important;
}



/* ==========================================================
   DACUNA STUDIO — CONTACT FORM 7
   Layout basato sul Figma
========================================================== */

.ds-cf7-minimal-form {
    width: 100%;
    color: var(--ds-color-white);
}


/* ==========================================================
   RESET CF7
========================================================== */

.ds-cf7-minimal-form br {
    display: none !important;
}

.ds-cf7-minimal-form p {
    margin: 0 !important;
    padding: 0 !important;
}

.ds-cf7-minimal-form .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
}


/* ==========================================================
   LAYOUT
========================================================== */

.ds-cf7-minimal-form .row {
    display: flex !important;
    flex-wrap: wrap !important;

    width: 100% !important;
    margin: 0 !important;

    column-gap: 20px;
    row-gap: 20px;
}


/* Spazio tra prima riga e textarea */
.ds-cf7-minimal-form .ds-form-row {
    margin-bottom: 28px !important;
}


/* Tutte le colonne */
.ds-cf7-minimal-form .ds-form-row > [class*="col-"] {
    display: flex !important;
    flex-direction: column !important;

    min-width: 0 !important;
}


/* Full width */
.ds-cf7-minimal-form .col-12 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}


/* ==========================================================
   DESKTOP — 3 COLONNE
========================================================== */

@media (min-width: 768px) {

    .ds-cf7-minimal-form .col-md-4 {
        flex: 0 0 calc((100% - 40px) / 3) !important;
        max-width: calc((100% - 40px) / 3) !important;
        width: calc((100% - 40px) / 3) !important;
    }

}


/* ==========================================================
   LABEL
========================================================== */

.ds-cf7-minimal-form .form-label {
    display: block !important;

    margin: 0 0 9px !important;
    padding: 0 !important;

    color: var(--ds-color-white) !important;

    font-family: var(--ds-font-body) !important;
    font-size: var(--ds-font-size) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}


/* ==========================================================
   INPUT / EMAIL / TEL / TEXTAREA / SELECT
========================================================== */

.ds-cf7-minimal-form input[type="text"],
.ds-cf7-minimal-form input[type="email"],
.ds-cf7-minimal-form input[type="tel"],
.ds-cf7-minimal-form select,
.ds-cf7-minimal-form textarea {

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    border: 1px solid transparent !important;
    border-radius: 8px !important;

    background: var(--ds-color-gray-light) !important;
    color: var(--ds-color-secondary) !important;

    font-family: var(--ds-font-body) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;

    box-shadow: none !important;
    outline: none !important;

    box-sizing: border-box !important;

    transition:
        background-color var(--ds-transition-fast),
        border-color var(--ds-transition-fast);
}


/* ==========================================================
   INPUT
========================================================== */

.ds-cf7-minimal-form input[type="text"],
.ds-cf7-minimal-form input[type="email"],
.ds-cf7-minimal-form input[type="tel"],
.ds-cf7-minimal-form select {

    height: 42px !important;
    min-height: 42px !important;

    padding: 0 14px !important;
}


/* ==========================================================
   TEXTAREA
========================================================== */

.ds-cf7-minimal-form textarea {

    height: 115px !important;
    min-height: 115px !important;
    max-height: 115px !important;

    padding: 14px !important;

    resize: none !important;
    overflow: auto !important;
}


/* ==========================================================
   PLACEHOLDER
========================================================== */

.ds-cf7-minimal-form input::placeholder,
.ds-cf7-minimal-form textarea::placeholder {

    color: var(--ds-color-gray-dark) !important;
    opacity: .65 !important;
}


/* ==========================================================
   FOCUS
========================================================== */

.ds-cf7-minimal-form input[type="text"]:focus,
.ds-cf7-minimal-form input[type="email"]:focus,
.ds-cf7-minimal-form input[type="tel"]:focus,
.ds-cf7-minimal-form textarea:focus,
.ds-cf7-minimal-form select:focus {

    background: var(--ds-color-gray-light) !important;

    border-color: var(--ds-color-tertiary) !important;

    color: var(--ds-color-secondary) !important;

    box-shadow: none !important;
    outline: none !important;
}


/* ==========================================================
   SELECT CUSTOM
========================================================== */

.ds-cf7-minimal-form .ds-select-field {
    position: relative !important;
}

.ds-cf7-minimal-form .ds-select-field .wpcf7-form-control-wrap {
    position: relative !important;

    display: block !important;
    width: 100% !important;
}


.ds-cf7-minimal-form select,
.ds-cf7-minimal-form .ds-form-select {

    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;

    padding-right: 50px !important;

    cursor: pointer !important;
}


/* Rimuove eventuali pseudo-elementi precedenti */
.ds-cf7-minimal-form
.ds-select-field
.wpcf7-form-control-wrap::before {

    display: none !important;
    content: none !important;
}


/* Freccia */
.ds-cf7-minimal-form
.ds-select-field
.wpcf7-form-control-wrap::after {

    content: "" !important;

    position: absolute !important;

    right: 18px !important;
    top: 50% !important;

    width: 8px !important;
    height: 8px !important;

    border-right: 2px solid var(--ds-color-secondary) !important;
    border-bottom: 2px solid var(--ds-color-secondary) !important;

    transform:
        translateY(-65%)
        rotate(45deg) !important;

    pointer-events: none !important;

    z-index: 5 !important;
}


/* ==========================================================
   FOOTER
   PRIVACY + SUBMIT
========================================================== */

.ds-cf7-minimal-form .ds-form-footer {

    display: flex !important;
    flex-wrap: wrap !important;

    align-items: end !important;
    justify-content: space-between !important;

    width: 100% !important;

    gap: 30px !important;

    margin-top: 4px !important;
}


/* ==========================================================
   PRIVACY
========================================================== */

.ds-cf7-minimal-form .ds-privacy-checks {

    display: flex !important;
    flex-direction: column !important;
    flex-wrap: wrap !important;

    align-items: start !important;

    gap: 10px !important;
}


/* Rimuove margin CF7 */
.ds-cf7-minimal-form
.ds-privacy-checks
.wpcf7-list-item {

    margin: 0 !important;
}


/* Label checkbox */
.ds-cf7-minimal-form
.ds-privacy-checks label {

    display: flex !important;

    align-items: center !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--ds-color-white) !important;

    font-family: var(--ds-font-body) !important;

    font-size: 14px !important;
    font-weight: 400 !important;

    line-height: 1.35 !important;

    cursor: pointer;
}


/* Testo checkbox */
.ds-cf7-minimal-form
.ds-privacy-checks
.wpcf7-list-item-label {

    margin: 0 !important;

    color: var(--ds-color-white) !important;

    font-size: 11px !important;
    font-weight: 400 !important;

    line-height: 1.35 !important;
}


/* Link privacy */
.ds-cf7-minimal-form
.ds-privacy-checks a {

    color: var(--ds-color-tertiary) !important;

    text-decoration: none !important;

    transition: opacity var(--ds-transition-fast);
}


.ds-cf7-minimal-form
.ds-privacy-checks a:hover {

    opacity: .75;
}


/* ==========================================================
   CHECKBOX CUSTOM
========================================================== */

.ds-cf7-minimal-form
.ds-privacy-checks
input[type="checkbox"] {

    width: 12px !important;
    height: 12px !important;

    flex: 0 0 12px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid var(--ds-color-white) !important;

    border-radius: 1px !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    background: transparent !important;

    box-shadow: none !important;

    cursor: pointer !important;

    position: relative !important;

    transition:
        background-color var(--ds-transition-fast),
        border-color var(--ds-transition-fast);
}


/* Checkbox selezionata */
.ds-cf7-minimal-form
.ds-privacy-checks
input[type="checkbox"]:checked {

    background: var(--ds-color-tertiary) !important;
    border-color: var(--ds-color-tertiary) !important;
}


/* Check bianca */
.ds-cf7-minimal-form
.ds-privacy-checks
input[type="checkbox"]:checked::after {

    content: "" !important;

    position: absolute !important;

    width: 5px !important;
    height: 3px !important;

    left: 2px !important;
    top: 2px !important;

    border-left: 1.5px solid var(--ds-color-white) !important;
    border-bottom: 1.5px solid var(--ds-color-white) !important;

    transform: rotate(-45deg) !important;
}


/* ==========================================================
   SUBMIT
========================================================== */

.ds-cf7-minimal-form .container-submit {

    display: flex !important;

    align-items: center !important;
    justify-content: flex-end !important;

    margin-left: auto !important;
}


.ds-cf7-minimal-form .container-submit p {

    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================================
   BOTTONE
========================================================== */

.ds-cf7-minimal-form input[type="submit"],
.ds-cf7-minimal-form .ds-submit-button {

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    padding: 12px 20px !important;

    background: var(--ds-color-white) !important;
    color: var(--ds-color-primary) !important;

    border: 1px solid  var(--ds-color-white) !important;
    border-radius: var(--ds-radius-button) !important;

    font-family: var(--ds-font-body) !important;
    font-size: var(--ds-font-size) !important;
    font-weight: 500 !important;
    line-height: 1 !important;

    text-align: center;
    text-decoration: none !important;

    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25) !important;

    transition:all var(--ds-transition-fast)
}


/* Hover */
.ds-cf7-minimal-form input[type="submit"]:hover,
.ds-cf7-minimal-form .ds-submit-button:hover {
	background: transparent !important;
    color: var(--ds-color-white) !important;
    text-decoration: none !important;
    border: 1px solid  var(--ds-color-white) !important;
}


/* Focus */
.ds-cf7-minimal-form input[type="submit"]:focus,
.ds-cf7-minimal-form .ds-submit-button:focus {

    background: var(--ds-color-accent) !important;

    color: var(--ds-color-white) !important;

    border-color: var(--ds-color-accent) !important;
}


/* ==========================================================
   DISABLED
========================================================== */

.ds-cf7-minimal-form
input[type="submit"][disabled] {

    opacity: .7 !important;

    cursor: not-allowed !important;
}


/* ==========================================================
   SPINNER CF7
========================================================== */

.ds-cf7-minimal-form .wpcf7-spinner {

    margin: 0 0 0 10px !important;
}


/* ==========================================================
   ERRORI
========================================================== */

.ds-cf7-minimal-form .wpcf7-not-valid {

    border-color: #ffb3b3 !important;
}


.ds-cf7-minimal-form .wpcf7-not-valid-tip {

    margin-top: 6px !important;

    color: #ffb3b3 !important;

    font-size: 11px !important;
    font-weight: 500 !important;

    line-height: 1.3 !important;
}


/* ==========================================================
   RESPONSE OUTPUT
========================================================== */

.ds-cf7-minimal-form + .wpcf7-response-output,
.ds-cf7-minimal-form .wpcf7-response-output,
.wpcf7 form
.ds-cf7-minimal-form ~ .wpcf7-response-output {

    display: none !important;
}


/* ==========================================================
   SUCCESSO
========================================================== */

.wpcf7 form.sent .wpcf7-response-output {

    display: block !important;

    width: 100% !important;

    margin: 24px 0 0 !important;

    padding: 14px 18px !important;

    border: 1px solid #A7D7B8 !important;
    border-radius: 8px !important;

    background: #DFF3E6 !important;

    color: #14532D !important;

    font-family: var(--ds-font-body) !important;

    font-size: 14px !important;
    font-weight: 500 !important;

    line-height: 1.4 !important;

    box-shadow: none !important;
}


/* ==========================================================
   ERRORE GENERALE CF7
========================================================== */

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {

    display: block !important;

    width: 100% !important;

    margin: 24px 0 0 !important;

    padding: 14px 18px !important;

    border: 1px solid #ffb3b3 !important;
    border-radius: 8px !important;

    background: rgba(255, 179, 179, .12) !important;

    color: var(--ds-color-white) !important;

    font-size: 13px !important;
    font-weight: 500 !important;

    line-height: 1.4 !important;
}

@media (max-width: 1366px) {

    
    .ds-cf7-minimal-form .form-label{
	    font-size: 13px !important
    }
.ds-cf7-minimal-form .ds-form-footer{
	display: flex !important;
    align-items: start !important;
    justify-content: start !important;
    width: 100% !important;
    gap: 30px !important;
    flex-direction: column;
    
    }
        /* Submit */
    .ds-cf7-minimal-form .container-submit {

        width: 100% !important;

        margin-left: 0 !important;

        justify-content: flex-start !important;
    }

}


}
/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1024px) {

    .ds-cf7-minimal-form .ds-privacy-checks {

        gap: 20px !important;
    }
    
       /* Submit */
    .ds-cf7-minimal-form .container-submit {

        width: 100% !important;

        margin-left: 0 !important;

        justify-content: flex-start !important;
    }




}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    .ds-cf7-minimal-form .row {

        flex-direction: column !important;

        row-gap: 18px !important;
    }


    .ds-cf7-minimal-form .ds-form-row {

        margin-bottom: 20px !important;
    }


    .ds-cf7-minimal-form .col-12,
    .ds-cf7-minimal-form .col-md-4 {

        flex: 0 0 100% !important;

        max-width: 100% !important;

        width: 100% !important;
    }


    .ds-cf7-minimal-form textarea {

        height: 130px !important;

        min-height: 130px !important;

        max-height: 130px !important;
    }


    /* Footer verticale */
    .ds-cf7-minimal-form .ds-form-footer {

        flex-direction: column !important;

        align-items: stretch !important;

        gap: 24px !important;
    }


    /* Privacy una sotto l'altra */
    .ds-cf7-minimal-form .ds-privacy-checks {

        flex-direction: column !important;

        align-items: flex-start !important;

        gap: 12px !important;
    }


    /* Submit */
    .ds-cf7-minimal-form .container-submit {

        width: 100% !important;

        margin-left: 0 !important;

        justify-content: flex-start !important;
    }


    .ds-cf7-minimal-form input[type="submit"],
    .ds-cf7-minimal-form .ds-submit-button {

        width: auto !important;
    }

}


/*------------------------------------------------------------------
    Woocommerce MODE
-------------------------------------------------------------------*/


.woocommerce table.shop_attributes td p{
	padding: 8px 10px;
}

.footer-widgets .payment-icon ul li {
	margin-bottom: 0;
}


.woocommerce ul.products li.product a img{
	border-radius: 15%;
}

ul.products li.product span.onsale{
	border-radius: 10% !important;
    padding: 10px !important;
}

.woocommerce ul.products li.product.sales-flash-overlay .onsale{
	top: 10px !important;
    right: 10px !important;
}


.woocommerce ul.products li.product .button{
	    border-radius: 50px;
    padding: 5px 25px;
    text-transform: uppercase;
    font-weight: 600;
    background-color: var(--e-global-color-primary);
    color: #fff;
}

.woocommerce ul.products li.product .price{
	font-size: 1.2em;
}


.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-family: var(--ds-font-title);
    font-weight: var(--ds-body-title-weight);
    line-height: 1.2;
    color: var(--ds-color-title);
}


.woocommerce-product-gallery__image {
	position: relative;
}

/* Badge "Promo" in stile pillola */
.woocommerce span.onsale {
	position: absolute !important;
	top: 10px;
	left: 10px;
	background-color: var(--ds-color-primary);
	color: #fff;
	padding: 15px 25px;
	border-radius: 50px;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	z-index: 10;
	pointer-events: none;
	line-height: 1;
}

.single-product span.onsale {
	top: 10px;
	left: 10px;
	background-color: var(--e-global-color-primary);
	color: #fff;
	padding: 12px 20px !important;
	border-radius: 50px;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	z-index: 10;
	pointer-events: none;
	line-height: 1;
}


.woocommerce-message {
	display: flex;
  flex-direction: column;
  align-items: flex-start; /* o center se vuoi centrare il bottone */
  gap: 0.5rem;
  position: absolute !important;
  bottom: 0;
  left: 0;
  text-align: left !important;
  width: 100%;
  z-index: 9999;
  margin: 0;
  border-radius: 0;
}

.woocommerce-message .button {
  display: block;
  white-space: normal;
  text-align: left;
  width: 100%;
    background-color: var(--ds-color-button) !important;
    border-radius: var(--ds-radius-button) !important;
    border: 2px solid var(--ds-color-button);
    font-size: 15px;
    width: 200px;
    padding: 5px 24px !important;
    font-weight: var(--ds-font-weight-semibold);
    color: var(--ds-color-accent);
    text-align: center;
}

.yith-wcan-filters {
    background-color: var(--ds-color-tertiary) !important;
}

.yith-wcan-filters h4{
	font-size: 20px
}
.yith-wcan-filters .yith-wcan-filter{
	margin-bottom: 10px
}





/* ======================================================================
   DACUNASITE OTTER — ENHANCEMENT LAYER
   Base: style(3).css — migliorie componenti, classi riutilizzabili e fix
   ====================================================================== */
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img,
svg,
video,
canvas {
  max-width: 100%;
  height: auto;
}

p:not(:last-child),
.entry-content li:not(:last-child) {
  margin-bottom: .85em;
}

/* Layout system */
.ds-container,
.ds-container-fluid,
.ds-container-narrow {
  width: min(100% - 40px, var(--ds-container));
  margin-inline: auto;
}

.ds-container-fluid {
  width: min(100% - 40px, 100%);
}

.ds-container-narrow {
  width: min(100% - 40px, var(--ds-container-narrow));
}

.ds-section { padding-block: var(--ds-space-xl); }
.ds-section-sm { padding-block: var(--ds-space-lg); }
.ds-section-lg { padding-block: var(--ds-space-2xl); }

.padding-container {
  padding: clamp(60px, 7vw, 125px) clamp(24px, 10vw, 200px);
}

.padding-lateral,
.ds-padding-inline {
  padding-inline: clamp(24px, 10vw, 200px);
}

.ds-grid,
.ds-grid-2,
.ds-grid-3,
.ds-grid-4 {
  display: grid;
  gap: var(--ds-space-md);
}

.ds-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ds-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ds-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.ds-flex { display: flex; gap: var(--ds-space-sm); }
.ds-flex-center { display: flex; align-items: center; justify-content: center; gap: var(--ds-space-sm); }
.ds-flex-between { display: flex; align-items: center; justify-content: space-between; gap: var(--ds-space-sm); }
.ds-wrap { flex-wrap: wrap; }

/* Typography helpers */
.ds-kicker,
.ds-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  line-height: 1;
  font-weight: var(--ds-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ds-color-primary);
  margin-bottom: 14px;
}

.ds-title-tight h1,
.ds-title-tight h2,
.ds-title-tight h3,
.ds-title-tight .elementor-heading-title {
  line-height: .98 !important;
  letter-spacing: -0.035em;
}

.ds-text-lead,
.text-lead p,
p.ds-text-lead {
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.45;
}

/* Button system — compatibile con Elementor, WooCommerce e CF7 
.ds-btn,
.elementor-button,
.menu-btn-call,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
button[type="submit"],
input[type="submit"] {
  --_btn-bg: var(--ds-color-button);
  --_btn-color: var(--ds-font-button);
  --_btn-border: var(--ds-color-button);
  --_btn-bg-hover: var(--ds-color-button-hover);
  --_btn-color-hover: var(--ds-color-white);
  --_btn-border-hover: var(--ds-color-button-hover);

  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 14px 24px !important;
  border: 1px solid var(--_btn-border) !important;
  border-radius: var(--ds-radius-button) !important;
  background: var(--_btn-bg) !important;
  color: var(--_btn-color) !important;
  font-family: var(--ds-font-body) !important;
  font-size: var(--ds-font-size) !important;
  font-weight: var(--ds-font-weight-semibold) !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0,0,0,.14) !important;
  transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
}

.ds-btn:hover,
.elementor-button:hover,
.menu-btn-call:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background: var(--_btn-bg-hover) !important;
  color: var(--_btn-color-hover) !important;
  border-color: var(--_btn-border-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
  text-decoration: none !important;
}

.ds-btn:active,
.elementor-button:active,
.menu-btn-call:active {
  transform: translateY(0);
}

.ds-btn--secondary {
  --_btn-bg: var(--ds-color-secondary);
  --_btn-color: var(--ds-color-primary);
  --_btn-border: var(--ds-color-secondary);
  --_btn-bg-hover: var(--ds-color-primary);
  --_btn-color-hover: var(--ds-color-white);
  --_btn-border-hover: var(--ds-color-primary);
}

.ds-btn--white,
.white-button .elementor-button {
  --_btn-bg: var(--ds-color-white);
  --_btn-color: var(--ds-color-primary);
  --_btn-border: var(--ds-color-white);
  --_btn-bg-hover: var(--ds-color-primary);
  --_btn-color-hover: var(--ds-color-white);
  --_btn-border-hover: var(--ds-color-primary);
}

.ds-btn--outline,
.outline-button .elementor-button,
#outline-button .elementor-button {
  --_btn-bg: transparent;
  --_btn-color: var(--ds-color-primary);
  --_btn-border: var(--ds-color-primary);
  --_btn-bg-hover: var(--ds-color-primary);
  --_btn-color-hover: var(--ds-color-white);
  --_btn-border-hover: var(--ds-color-primary);
  box-shadow: none !important;
}

.ds-btn--outline-white,
.content-dark .outline-button .elementor-button {
  --_btn-bg: transparent;
  --_btn-color: var(--ds-color-white);
  --_btn-border: var(--ds-color-white);
  --_btn-bg-hover: var(--ds-color-white);
  --_btn-color-hover: var(--ds-color-primary);
  --_btn-border-hover: var(--ds-color-white);
  box-shadow: none !important;
}

.content-dark .elementor-button:not(.outline-button .elementor-button) {
  --_btn-bg: var(--ds-color-white);
  --_btn-color: var(--ds-color-primary);
  --_btn-border: var(--ds-color-white);
  --_btn-bg-hover: var(--ds-color-secondary);
  --_btn-color-hover: var(--ds-color-primary);
  --_btn-border-hover: var(--ds-color-secondary);
}

.ds-btn--sm { min-height: 40px; padding: 10px 18px !important; font-size: 14px !important; }
.ds-btn--lg { min-height: 58px; padding: 18px 32px !important; font-size: 18px !important; }
.ds-btn--full { width: 100%; }
.ds-btn--square { aspect-ratio: 1 / 1; padding: 0 !important; width: 48px; }

.ds-icon-btn,
.ds-play-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--ds-color-primary);
  color: var(--ds-color-white) !important;
  border: 1px solid var(--ds-color-primary);
  transition: var(--ds-transition-fast);
}

.ds-icon-btn:hover,
.ds-play-btn:hover {
  background: var(--ds-color-accent);
  border-color: var(--ds-color-accent);
  transform: translateY(-2px) scale(1.03);
  text-decoration: none;
}

.ds-play-btn {
  width: 72px;
  height: 72px;
  box-shadow: 0 16px 40px rgba(0,0,0,.22);
}

/* Cards / box */
.ds-card,
.card-servizi,
.box-servizi,
.box-associativo,
.box-team-shadow {
  border-radius: var(--ds-radius-lg);
  background: var(--ds-color-white);
  box-shadow: var(--ds-shadow-md);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.ds-card {
  padding: var(--ds-space-md);
  border: 1px solid rgba(39,50,112,.10);
}

.ds-card:hover,
.card-servizi:hover,
.box-servizi:hover,
.box-associativo:hover {
  transform: translateY(-8px);
  box-shadow: var(--ds-shadow-lg);
}



.ds-tag,
.tag-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: var(--ds-radius-pill);
  padding: 8px 14px;
  background: var(--ds-color-secondary);
  color: var(--ds-color-primary);
  font-size: 13px;
  font-weight: var(--ds-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* Liste evolute */
.check-list ul,
ul.ds-check-list {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.check-list li,
ul.ds-check-list li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 14px;
}

.check-list li::before,
ul.ds-check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ds-color-primary);
  color: var(--ds-color-white);
  font-size: 13px;
  font-weight: var(--ds-font-weight-bold);
}

.content-dark .check-list li::before,
.content-dark ul.ds-check-list li::before {
  background: var(--ds-color-white);
  color: var(--ds-color-primary);
}

/* Form — CF7, Elementor, WooCommerce */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
input[type="date"],
textarea,
select,
.form-control,
.form-select {
  width: 100%;
  min-height: 48px;
  padding: 12px 18px;
  color: var(--ds-form-text) !important;
  border: 1px solid var(--ds-form-border);
  border-radius: var(--ds-radius-form);
  background: var(--ds-form-bg);
  outline: none;
  box-sizing: border-box;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

textarea {
  min-height: 150px;
  border-radius: var(--ds-radius-md) !important;
  resize: vertical;
}

input:focus,
textarea:focus,
select:focus,
.form-control:focus,
.form-select:focus {
  background: var(--ds-form-bg-focus);
  border-color: var(--ds-form-border-focus);
  box-shadow: 0 0 0 3px rgba(39,50,112,.12);
}

.ds-form-grid,
.form-row-ds {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ds-space-sm);
}

.ds-form-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.wpcf7 form .wpcf7-response-output {
  margin: var(--ds-space-sm) 0 0;
  padding: 14px 18px;
  border-radius: var(--ds-radius-sm);
}


/* Header / Footer responsiveness */
.navigation-branding img,
.site-logo.mobile-header-logo img,
.site-logo {
  width: clamp(120px, 10vw, 190px);
}

.main-navigation.has-branding .inside-navigation.grid-container,
.main-navigation.has-branding.grid-container .inside-navigation:not(.grid-container) {
  min-height: 80px;
  height: auto;
  padding-inline: clamp(24px, 10vw, 200px);
}

.footer-widgets,
.site-info {
  padding-inline: clamp(24px, 10vw, 200px);
}

/* Utility extra */
.ds-bg-primary { background: var(--ds-color-primary); color: var(--ds-color-white); }
.ds-bg-soft { background: var(--ds-color-tertiary); }
.ds-bg-secondary { background: var(--ds-color-secondary); }
.ds-radius { border-radius: var(--ds-radius-md); }
.ds-radius-lg { border-radius: var(--ds-radius-lg); }
.ds-shadow { box-shadow: var(--ds-shadow-md); }
.ds-shadow-lg { box-shadow: var(--ds-shadow-lg); }
.ds-overflow-hidden { overflow: hidden; }
.ds-sticky-top { position: sticky; top: 120px; }

/* Accessibilità */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.elementor-button:focus-visible,
.ds-btn:focus-visible {
  outline: 3px solid var(--ds-color-secondary);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}


@media (max-width: 1366px){
		.site-info {
    padding: 10px 50px;
}


.inside-header{
	
}
.footer-widgets .footer-widget-1 { flex-basis: 20%; }
.footer-widgets .footer-widget-2 { flex-basis: 15%; margin-left: 5%}
.footer-widgets .footer-widget-3 { flex-basis: 10%; margin-left: 0%}
.footer-widgets .footer-widget-4 { flex-basis: 15%; }


	.footer-widgets .footer-widget-2 {
    margin-left: 10%;
}
.

.text-small p{
    font-size: 14px !important;
}
.text-small{
	    font-size: 14px !important;
}

footer .menu a {

    font-size: 13px;
}
footer p {

    font-size: 13px;
}

.footer-section h6{
	font-size: 16px
}
	
	
}

@media (max-width: 1024px) {
  .ds-grid-3,
  .ds-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .main-navigation.has-branding .inside-navigation.grid-container,
  .main-navigation.has-branding.grid-container .inside-navigation:not(.grid-container) {
    padding-inline: 30px;
  }

  .footer-widgets .footer-widget-1,
  .footer-widgets .footer-widget-2,
  .footer-widgets .footer-widget-3,
  .footer-widgets .footer-widget-4,
  .footer-widgets .footer-widget-5 {
    flex-basis: 48%;
    margin-left: 0;
  }
  
  
  
	.sub-menu{
		padding: 0 !important 
	}
	.sub-menu a{
		padding: 15px 20px !important 
	}	

	
.container-cta-header {
	display: none !important
}
	
.site-logo {
    margin-bottom: 0;
    width: 22vw;
}
	

.inside-header{
	
}	

	 .e-n-accordion-item-title-text{
	font-size: 22px !important
	
}
		.footer-widgets {
    padding: 50px 50px 25px 50px;
}
	
.footer-widgets .footer-widget-1 {
       padding: 50px 0px;
	border-bottom: 1px solid #fff;
	width: 100%
    }	
.footer-widgets .footer-widget-2 {
      padding: 50px 0px;
	width: 100%;
	border-bottom: 1px solid #fff;
	margin-top: 0px !important
    }	
.footer-widgets .footer-widget-3 {
        padding: 50px 0px;
		width: 100%;
	border-bottom: 1px solid #fff
    }	
    .footer-widgets .footer-widget-4 {
        display: flex;
        padding: 50px 0px;
        width: 100%;
        border-bottom: 1px solid #fff;
        justify-content: center;
        flex-direction: column;
        align-items: center;
    }
.footer-widgets .footer-widget-5 {
        padding: 50px 0px;
	width: 100%;
	border-bottom: 1px solid #fff;
	margin-top: 0;
	flex-direction: column;
	border-top: 0px solid #fff;
	gap: 30px
    }	

	
.site-footer .footer-widgets-container .inside-footer-widgets {
    margin-left: 0px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
	gap: 0px;
	align-items: center;
    justify-content: center;
}
	.footer-widget-1 p{
		width: 50%
	}
	.footer-widgets .footer-widget-2 {
    flex-basis: 22%;
    margin-left: 0%;
		margin-top: 50px
}
	.site-footer .footer-widgets-container .inner-padding {
    padding: 0 0 0 0px !important;
}
.footer-widgets .footer-widget-5 {
    width: 100%;
    margin-top: 0px;
}
	.footer-widgets h2{
		text-align: center
	}
	.footer-widgets p{
		text-align: center
	}.footer-widgets li{
		text-align: center
	}
	
.footer-widgets .footer-widget-1 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
}.footer-widgets .footer-widget-1 .textwidget  {
display: flex;
		align-items: center;
		justify-content: center;
    text-align: center;
}

	.footer-widget-4 .textwidget{
		text-align: center
	}
	
.footer-widgets .footer-widget-5 #text-5 {
    width: 100%;

}
.footer-widgets h6 {
    text-align: center;
}
	
.inside-site-info {
    padding: 0px;
    display: flex;
	margin: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
} 
	.footer-bar-align-right .copyright-bar {
    margin-right: 0;
}
	.footer-widgets .footer-widget-2 { margin-left: 0% }
.footer-widgets .footer-widget-3 {  margin-left: 0%}
		.site-info {
    padding: 10px 50px;
}
	
.footer-widgets .social-circle i {
    color: var(--ds-color-white) !important;
    font-size: 35px;
}
	
.navigation-branding {
        margin-right: auto;
        margin-left: 0px;
    }	
	
	.menu-toggle .mobile-menu {
    padding-right: 15px;
    font-size: 26px;
	padding-top: 5px
}
footer .menu li,
footer .menu a
{
	text-align: center
}
  
  
  
  
}

@media (max-width: 767px) {
	
	
.elementor-button {

    padding: 10px 18px !important;

    font-family: 14px !important;
    font-size: var(--ds-font-size) !important;
}	
	

.menu-nav .sub-menu a{
	font-size: var(--ds-font-size) !important;
	padding-top: 6px !important;
        padding-bottom: 6px !important;
        font-weight: 400 !important;
        font-size: 14px !important
}	
	
	
	
  .ds-container,
  .ds-container-fluid,
  .ds-container-narrow {
    width: min(100% - 30px, 100%);
  }

  .ds-section { padding-block: 52px; }
  .ds-section-lg { padding-block: 70px; }

  .ds-grid-2,
  .ds-grid-3,
  .ds-grid-4,
  .ds-form-grid,
  .ds-form-grid--3,
  .form-row-ds {
    grid-template-columns: 1fr;
  }

  .ds-flex,
  .ds-flex-center,
  .ds-flex-between {
    flex-direction: column;
    align-items: stretch;
  }

  .ds-btn,
  .elementor-button,
  .menu-btn-call,
  .wp-block-button__link,
  button[type="submit"],
  input[type="submit"] {
    width: 100%;
  }

  .footer-widgets .footer-widget-1,
  .footer-widgets .footer-widget-2,
  .footer-widgets .footer-widget-3,
  .footer-widgets .footer-widget-4,
  .footer-widgets .footer-widget-5 {
    flex-basis: 100%;
  }
  
  
  
/* submit bottone fisso a sinistra*/
.elementor .submit-button{
	float: left
}

.box-sport h6{
	margin-bottom: 15px;
	font-weight: 600;
	font-size: 22px
}
.box-sport p{
	font-size: 16px
}	


.p-static{
	position: static
}


	.text-small p{
    font-size: 16px !important;
}

	.sub-menu{
		padding: 0 !important 
	}
	.sub-menu a{
		padding: 15px 20px !important 
	}	

	
.container-cta-header {
	display: none !important
}
	
.site-logo {
    margin-bottom: 0;
    width: 22vw;
}

	
.site-logo {
    margin-bottom: 0;
    width: 25vw;
}
	
.inside-header{
}
.main-navigation.has-branding .inside-navigation.grid-container, .main-navigation.has-branding.grid-container .inside-navigation:not(.grid-container) {
    padding: 0px 30px;
}

	.elementor-popup-modal{
	display: block
}
	.footer-widgets {
    padding: 50px 30px;
}
    .inside-footer-widgets>div:not(:last-child) {
        margin-bottom: 0px;
    }
	
	textarea {
	min-height: 140px;
	max-height: 140px;
}
	.file-drop {
    padding: 10px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: start;
    color: transparent !important;
    font-size: 16px !important;
		gap:15px;
		align-items: start;
}
	.file-drop__input {
    width: 80px;
    padding: 0;
    height: auto;
    margin-bottom: 0;
    background: transparent;
    box-sizing: border-box;
    margin-top: 10px;
    display: flex;
		margin-left: 12px;
    flex-direction: column;
    color: transparent !important;
    transform: scale(1.3);
}
	input[type="submit"]{
		float: left;
	}
	
		.site-info {
    padding: 0px;
}
	.footer-widgets .footer-widget-5 .inner-padding{
	justify-content: center
}
	.container-drop {
    gap: 15px;
    height: auto;
    flex-direction: column;
    justify-content: space-between;
}
.footer-widgets .social-circle i {
    font-size: 30px;
}
	
	
.footer-widgets .footer-widget-1 {
       padding: 30px 0px;
    }	
.footer-widgets .footer-widget-2 {
       padding: 30px 0px;
    }	
.footer-widgets .footer-widget-3 {
       padding: 30px 0px;

    }	
    .footer-widgets .footer-widget-4 {
        padding: 30px 0px;
    }
.footer-widgets .footer-widget-5 {
       padding: 30px 0px;
    }	
	


}




/* Media Query for Mobile Devices */
@media (max-width: 480px) {
	
.site-logo {
    width: 32vw;
}
.nav-align-right .navigation-branding {
    margin-right: auto;
    width: 35%;
}
.navigation-branding img, .site-logo.mobile-header-logo img {
        width: 100% !important;
    }


		/******    Font-size Height    ******/
		.fh-2 h1, .fh-2 h2, .fh-2 h3, .fh-2 h4, .fh-2 h5, .fh-2 h6, .fh-2 p { font-size: 18px !important; }
		.fh-3 h1, .fh-3 h2, .fh-3 h3, .fh-3 h4, .fh-3 h5, .fh-3 h6, .fh-3 p { font-size: 20px !important; }
		.fh-4 h1, .fh-4 h2, .fh-4 h3, .fh-4 h4, .fh-4 h5, .fh-4 h6, .fh-4 p { font-size: 25px !important; }
		.fh-5 h1, .fh-5 h2, .fh-5 h3, .fh-5 h4, .fh-5 h5, .fh-5 h6, .fh-5 p { font-size: 40px !important; }
		.fh-6 h1, .fh-6 h2, .fh-6 h3, .fh-6 h4, .fh-6 h5, .fh-6 h6, .fh-6 p { font-size: 45px !important; }
		.fh-7 h1, .fh-7 h2, .fh-7 h3, .fh-7 h4, .fh-7 h5, .fh-7 h6, .fh-7 p { font-size: 50px !important; }
		.fh-8 h1, .fh-8 h2, .fh-8 h3, .fh-8 h4, .fh-8 h5, .fh-8 h6, .fh-8 p { font-size: 50px !important; }
		.fh-9 h1, .fh-9 h2, .fh-9 h3, .fh-9 h4, .fh-9 h5, .fh-9 h6, .fh-9 p { font-size: 60px !important; }
		.fh-10 h1, .fh-10 h2, .fh-10 h3, .fh-10 h4, .fh-10 h5, .fh-10 h6, .fh-10 p { font-size: 60px !important; }
				
				
				
		.inside-header{padding: 0px 30px;}
			
		.header-widget{
		display: none
		}
		

		.entry-content .alignwide {
		padding: 40px 50px !important
		}
		.page-hero h1{
		padding: 0 30px
		}
		
		.logo-mobile {
		max-width: 70%}
		
		.main-navigation .main-nav ul li a{
		font-size: 25px;
		font-weight: var(--ds-body-title-weight);}
		

	input[type="submit"]{
		float: left;
		
	}
		
		
		.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation, .one-container .site-content, .inside-page-header{
			padding: 0 
		}
		
		.title-long h1{
		}
		
		h1 {}
		h2 { }
		h3 { } 

		.site-info .inside-site-info{
        flex-direction: column-reverse;
    	}
    	
    	.footer-widgets{
	    	padding: 50px 30px
    	}
	.footer-widgets-container {
        padding: 0 !important
    }
	    .footer-widget-1 p {
			width: 100%
	}
	.footer-widget-1 img{
		width: 70%
	}
	.inside-site-info {
        gap: 10px;
    }
	 .e-n-accordion-item-title-text{
	font-size:10px !important
	
}
		.file-drop {

		gap:10px;
}
	.file-drop__input {

		margin-left:10px
}
		.file-drop__input {

    transform: scale(1.2);
}
}


