/*
 Theme Name:   DacunaSite Otter
 Theme URI:    https://www.dacunastudio.com
 Description:  Dacuna Studio &amp;eacute un&lsquo;agenzia di Comunicazione, Marketing e Design che realizza siti web e mobile, brand identity, e-commerce, strategie digitali, produzione e gestione dei contenuti sia online che offline per dar valore alla tua azienda in formato digitale.
 Author:       Dacuna Studio - Agenzia Marketing Brescia
 Author URI:   https://www.dacunastudio.com
 Template:     generatepress
 Version:      1.9
 
*/


/*------------------------------------------------------------------
[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: #E3E022;
  --ds-color-secondary: #000000;
  --ds-color-tertiary: #454545;
  --ds-color-accent: #E3E022;
  --accent: var(--ds-color-accent);

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

  /* Semantic */
  --ds-color-link: #454545;
  --ds-color-link-hover: var(--ds-color-secondary);
  --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 */
  --ds-font-body: "Inter", sans-serif;
  --ds-font-title: "transducer", sans-serif;
  --ds-body-font-family: var(--ds-font-body);
  --ds-body-font-weight: 400;
  --ds-body-title-weight: 800;
  --ds-line-height-base: 1.2;
  --ds-body-line-height: 1.4;
  --ds-font-size: clamp(1rem, 1.1vw, 1.125rem);

  --ds-font-size-h1: clamp(2.25rem, 5vw, 4.375rem);
	--ds-font-size-h2: clamp(2rem, 4vw, 3.5rem);
	--ds-font-size-h3: clamp(1.75rem, 3.2vw, 2.8125rem);
	--ds-font-size-h4: clamp(1.5rem, 2.5vw, 2.25rem);
	--ds-font-size-h5: clamp(1.25rem, 2vw, 1.75rem);
	--ds-font-size-h6: clamp(1.125rem, 1.5vw, 1.4375rem);

  --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: 50px;
  --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-black);
  --ds-color-font: var(--ds-color-black);
  --ds-body-text-align: left;

  /* Buttons */
  --ds-color-button: var(--ds-color-black);
  --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-white);

  /* 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
-------------------------------------------------------------------*/

/* cursor*/
/* =========================
   TENNIS / PADEL BALL CURSOR TRAIL
========================= */

/* =========================
   PADEL BALL LIGHT TRAIL
========================= */

@media(pointer:fine){

	.ds-cursor-ball,
	.ds-cursor-dot{
		position:fixed;
		top:0;
		left:0;

		border-radius:50%;

		pointer-events:none;

		transform:translate(-50%,-50%);

		z-index:999999;
	}

	.ds-cursor-ball{
		width:16px;
		height:16px;

		background:var(--ds-color-button-hover);

		box-shadow:none;
	}

	.ds-cursor-dot{
		width:7px;
		height:7px;

		background:var(--ds-color-button-hover);

		opacity:.28;

		z-index:999998;
	}

	body.ds-cursor-hover .ds-cursor-ball{
		width:60px;
	height:60px;

	background:transparent;
	border: 1px solid var(--ds-color-button-hover);


	opacity:1;
	}

}





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
}


.screen-reader-response{
	display:none !important;
}
.wpcf7-response-output{
	padding-left: 0px !important
}




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
}


.text-yellow{
	color: var(--ds-color-primary)
}


.nav-bar .menu-item  a{
	font-family: var(--ds-font-title) !important;
}


b, strong {}

a, a:visited  {color: var(--ds-color-link) ;}
a:hover { color: var(--ds-color-link-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-secondary);
}

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


.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
-------------------------------------------------------------------*/
.text-category{
	font-size: 14px;
	letter-spacing: 3px !important;
	color: var(--ds-color-secondary);
}
.content-dark .text-category{

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

.punti-elenco li{
	margin-bottom: 5px !important;
	font-size: 16px
}

/* =========================
   PADEL TITLE REVEAL
========================= */
.title-up-reveal{
	overflow:hidden;
}

.title-up-reveal .word-wrap{
	display:inline-block;
	overflow:hidden;
	vertical-align:bottom;
}

.title-up-reveal .word{
	display:inline-block;
	transform:translateY(110%);
	will-change:transform, opacity;
}




.title h2 {
    font-size: 55px;
}

.subtitle h2 {
    font-size: 25px;
}

/* Icon Fonts */
.fa, .far, .fas {
    /* Stili specifici opzionali */
}

/* Bottoni Outline */
.btn-outline {
    background-color: transparent;
    color: inherit;
    transition: var(--ds-transition-normal);
}

.btn-primary.btn-outline {
    color: var(--ds-color-button-hover);
    border-color: var(--ds-color-button-hover);
    border-radius: var(--ds-radius-button);
    padding: 5px 20px;
}

.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);
}

/* Header */
.site-header a,
.site-header a:visited {
    color: var(--ds-color-primary);
}

/* Bottoni classici */
a.button,
a.button:visited,
a.wp-block-button__link:not(.has-background) {

}

a.button:hover {

}


.elementor-button:focus,
.elementor-button:hover,
.elementor-button:visited {
}

/* Elementor Button Size */
.elementor-button.elementor-size-xs { font-size: 13px; padding: 10px 20px; }
.elementor-button.elementor-size-md { font-size: 16px; padding: 15px 30px; }
.elementor-button.elementor-size-lg { font-size: 18px; padding: 20px 40px; }
.elementor-button.elementor-size-xl { font-size: 20px; padding: 25px 50px; }

/* Elementi testo pulsante */
.elementor-button-text {

}

.elementor-button-text:hover {
 
}


/* hamburger icon*/

.ds-menu-toggle{
	width:45px;
	height:45px;

	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	background-color: transparent;
	gap:6px;

	cursor:pointer;
}

.ds-menu-toggle span{
	width:24px;
	height:3px;

	display:block;

	background:#fff;
	border-radius:100px;

	transform-origin:center;

	transition:
		transform .4s cubic-bezier(.18,.85,.22,1),
		opacity .25s ease,
		background .35s ease;
}

/* ACTIVE → X */

.ds-menu-toggle.is-active span{
	background:var(--ds-color-button-hover);
}

.ds-menu-toggle.is-active span:nth-child(1){
	transform:translateY(9px) rotate(45deg);
}

.ds-menu-toggle.is-active span:nth-child(2){
	opacity:0;
	transform:scaleX(0);
}

.ds-menu-toggle.is-active span:nth-child(3){
	transform:translateY(-9px) rotate(-45deg);
}





/* Elementor Button */
.elementor-button{
	position:relative;
	overflow:hidden;

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

	padding:12px 20px;

	border:0 !important;
	outline:0 !important;
	border-radius:var(--ds-radius-button) !important;

	background:#000 !important;
	color:#fff !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;

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

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

	isolation:isolate;

	transition:
	color .35s ease,
	box-shadow .35s ease;
}

/* PALLINO CENTRALE GIALLO */

.elementor-button::before{
	content:"";

	position:absolute;
	inset:-2px;

	background:var(--ds-color-button-hover);

	border-radius:inherit;

	z-index:-1;

	clip-path:circle(0% at 50% 50%);

	transition:
	clip-path .75s cubic-bezier(.18,.85,.22,1);
}

/* TESTO SOPRA */

.elementor-button > *{
	position:relative;
	z-index:2;
}

/* HOVER */

.elementor-button:hover{
	color:#000 !important;
	font-weight:700;
	text-decoration:none !important;
	box-shadow:0 4px 4px rgba(0,0,0,.18) !important;
}
.elementor-button:hover span{
	color:#000 !important;
}

.elementor-button:hover::before{
	clip-path:circle(150% at 50% 50%);
}





/* OUTLINE-BUTTON*/

.outline-button .elementor-button{
	position:relative;
	overflow:hidden;

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

	padding:12px 20px;

	border:1px solid #000 !important;
	outline:0 !important;
	border-radius:var(--ds-radius-button) !important;

	background:transparent !important;
	color:#000 !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;

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

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

	isolation:isolate;

	transform:translateZ(0);

	transition:
		color .35s ease,
		border-color .35s ease,
		box-shadow .35s ease,
		transform .35s ease;
}

/* PALLINO CENTRALE GIALLO */

.outline-button .elementor-button::before{
	content:"";

	position:absolute;
	inset:-1px;

	background:var(--ds-color-button-hover);

	border-radius:inherit;

	z-index:-1;

	clip-path:circle(0% at 50% 50%);

	transition:
		clip-path .75s cubic-bezier(.18,.85,.22,1);
}

/* TESTO SOPRA */

.outline-button .elementor-button > *{
	position:relative;
	z-index:2;
}

/* HOVER */

.outline-button .elementor-button:hover{
	color:#000 !important;
	text-decoration:none !important;
	border-color:var(--ds-color-button-hover) !important;
	box-shadow:0 4px 4px rgba(0,0,0,.18) !important;
	transform:translateY(-2px);
}

.outline-button .elementor-button:hover span,
.outline-button .elementor-button:hover .elementor-button-text{
	color:#000 !important;
}

.outline-button .elementor-button:hover::before{
	clip-path:circle(150% at 50% 50%);
}





.elementor-portfolio__filter {
    padding: 10px 20px !important;
    background-color: var(--ds-color-primary);
    color: var(--ds-color-accent);
}

/* Box associativi */
.box-associativo p {
    font-size: 1rem;
}

.box-associativo h4 {
    text-transform: uppercase;
}

.box-associativo-people h5 {
    font-size: 15px;
    color: var(--ds-color-accent);
    padding: 0 20px 20px;
    background-image: linear-gradient(180deg, #ffffff00 0%, #00000090 90%);
}

.box-servizi h3 {
    font-size: 20px;
    margin-bottom: 0 !important;
}

.box-servizi:hover h3 {
    color: var(--ds-color-accent) !important;
}

.box {
    width: 600px;
    height: 400px;
    overflow: hidden;
    background-color: var(--ds-color-tertiary);
    position: relative;
}

.box-team-shadow {
    box-shadow: var(--ds-shadow-lg);
}

/* Pulsante call */

/* hover */


.menu-btn-call {
    transition: var(--ds-transition-fast);
    display: inline-block;
    line-height: 1;
    background: var(--ds-color-primary) !important;
    border-radius: var(--ds-radius-button) !important;
    padding: 14px 22px;
    font-weight: var(--ds-font-weight-semibold) !important;
    color: var(--ds-color-white);
    text-align: center;
    font-family: var(--ds-font-body) !important;
    font-size: var(--ds-font-size) !important;
    
}

.menu-btn-call:hover {
    background: var(--ds-color-button-hover) !important;
	font-weight: 700;
		text-decoration: none !important
}
.menu-btn-call a{
    color: var(--ds-color-primary) !important;
	line-height: 1 !important;font-size: var(--ds-font-size) !important;
	  padding: 18px 16px !important;
}
.menu-btn-call a:hover {
    text-decoration: none !important
}


.content-dark .tag-button h5 {
    color: var(--ds-color-accent) !important;
    font-size: 18px
}


.contatti-box h3{
	font-size: 30px
}
.contatti-box p{
	font-weight: 400;
	font-size: 22px
}


.df-popup-thumb{
	width: 250px !important;
	margin: 0 !important
}

.sezione-cataloghi h5{
	font-size: 20px;
	padding-top: 20px
}


.cta-icon-after .elementor-cta__content {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: flex-start;
}

.cta-icon-after .elementor-cta__title {
  padding-bottom: 10px;
}


.punti-forza p{
	font-size: 15px
}

.entry-content .alignwide {
	padding: 80px 0 !important
}


.wc-block-components-product-badge {
	display: none !important
}


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

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


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

.top-bar,
.inside-top-bar {
    background-color: var(--ds-color-primary);
    color: var(--ds-color-accent);
    font-size: 12px;
}

.top-bar p,
.top-head-right p {
    margin-bottom: 0;
    color: var(--ds-color-accent);
    font-size: 12px;
}

.top-bar a,
.top-bar a:visited {
    color: var(--ds-color-black);
    font-weight: var(--ds-font-weight-semibold);
}

.top-bar a:hover {
    color: var(--ds-color-secondary);
}

.top-bar ul {
    margin: 0 !important;
}

.inside-top-bar .col {
    padding: 0 !important;
}

.inside-top-bar ol,
.inside-top-bar ul {
    margin: 0;
}

.col .inside-top-bar {
    padding-right: 0;
}

.top-head-right .wpml-ls-legacy-list-horizontal,
.top-head-right .textwidget {
    float: right !important;
}

.top-head-right .textwidget a,
.top-head-right .textwidget a:visited {
    color: var(--ds-color-accent) !important;
}

ul.social-top li,
ul.contact-top li {
    list-style: none;
    display: inline;
    margin-right: 10px;
    padding: 8px 0;
}

ul.contact-top li {
    float: left;
    padding: 5px 0;
}

.top-bar .nav-inline > .menu-item + .menu-item:before {
    content: '|';
    color: rgba(191, 219, 247, 0.4);
    display: inline-block;
    margin: 0 1em;
}

.top-bar .social-top i {
    color: var(--ds-color-secondary);
    width: 15px;
    height: 15px;
    border-radius: 50%;
    font-size: 15px;
    margin-right: 10px;
    transition: var(--ds-transition-fast);
    display: flex;
    justify-content: center;
}

.top-bar .social-top i:hover {
    color: inherit;
}

.top-bar .social-top a {
    text-decoration: none;
}


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

.navigation-branding img, .site-logo.mobile-header-logo img {
    height: auto;
    width: 10vw;
}
.site-logo {margin-bottom: 0;width: 10vw }
.site-logo img {border-radius: 0 !important;width: 100%; text-align: start; height: 100%}

.site-header .header-image{
	margin-top: -10px;
}

.inside-header{
	
}
.margin-header{
	margin-top: -10vh;
}
.main-navigation.has-branding .inside-navigation.grid-container, .main-navigation.has-branding.grid-container .inside-navigation:not(.grid-container) {
    padding:  0px 200px;
	height: 10vh;
	   z-index: 100;
    background-color: var(--ds-bgcolor-header);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); /* Safari */
}

.social-part .fab{padding-left:20px;}

.site-header {

}


ul.shopping-icon-menu-inline li a{
	    color: #fff !important;
}
/*
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit{
	top: 50%;
	transform: translateY(-50%);
}
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
    font-size: 16px;
    border: 2px solid #D3D3D3 !important;
    font-family: "Inter", sans-serif;
    background-color: transparent !important;font-weight: 500;
	width: 100% !important
}
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:focus {
    font-size: 16px;
    border: 2px solid var(--ds-color-primary) !important;
    font-family: Roboto, sans-serif;
    background-color: #fff !important;
	width: 100% !important
}
*/


.container-cta-header{
	display: block
}

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

/* =========================
   MOBILE MENU WORD REVEAL
========================= */

.mobile-menu-up-reveal .elementor-nav-menu{
	
}

.mobile-menu-up-reveal .elementor-nav-menu li{
	overflow:hidden !important;
	text-align: center
}

.mobile-menu-up-reveal .elementor-nav-menu a.elementor-item{
	display:inline-block !important;
	overflow:hidden !important;
}

.mobile-menu-up-reveal .menu-word-wrap{
	display:inline-block;
	overflow:hidden;
	vertical-align:bottom;
	line-height: 1.2em
}

.mobile-menu-up-reveal .menu-word{
	display:inline-block;
	transform:translateY(110%);
	will-change:transform;
}






.navigation-search input[type="search"],
.navigation-search input[type="search"]:active,
.navigation-search input[type="search"]:focus,
.main-navigation .main-nav ul li.search-item.active > a,
.main-navigation .menu-bar-items .search-item.active > a {
    color: var(--ds-color-menu-active);
    background-color: var(--ds-color-accent) !important;
}

.main-navigation {
    background-color: var(--ds-color-primary);
}

.main-navigation ul ul{
	    border-radius: 5%;
}
.main-navigation .main-nav>ul {
    flex-wrap: nowrap;
}

.main-navigation .main-nav ul li a {
    font-weight: var(--ds-font-weight-semibold);
    font-family: var(--ds-font-menu);
    font-size: var(--ds-font-menu-size);
    padding: 0 15px;
    color: var(--ds-color-menu);
	line-height: 1 !important
}

.main-navigation .main-nav ul li a:hover {

}

.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: var(--ds-color-secondary)
}

.main-navigation .main-nav ul ul li a {
    font-weight: var(--ds-font-weight-semibold);
    font-size: var(--ds-font-size);
}


.header-wrap #site-navigation:not(.toggled) .main-nav > ul > li[class*="current-menu-"] > a, .header-wrap #mobile-header:not(.toggled) .main-nav > ul > li[class*="current-menu-"] > a, .header-wrap #site-navigation:not(.toggled) .main-nav > ul > li[class*="current-menu-"]:hover > a, .header-wrap #mobile-header:not(.toggled) .main-nav > ul > li[class*="current-menu-"]:hover > a{
	background: transparent;
    color: #fff;
}


/* POP UP */
.elementor-popup-modal{
	display: none
}


/* VOCI MENU ACTIVE 
.container-menu-open .content-menu{
  border-style: solid;
  border-width: 0px 0px 4px 0px;
  border-color: transparent;
}
.container-menu-open .content-menu:hover{
  border-style: solid;
  border-width: 0px 0px 4px 0px;
  border-color: var(--ds-color-secondary);
}
*/


.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
-------------------------------------------------------------------*/
.icona-contatti .elementor-icon-box-title a{
	font-family: var(--ds-font-title) !important;
}

.page-hero h1 {
    font-family: var(--ds-font-title);
    font-size: var(--ds-font-size-h3); /* 51.2px */
    font-weight: 600;
    color: #fff;
}

.titolo-pagina {
    font-family: var(--ds-font-title);
    text-align: center;
    font-size: var(--ds-font-size-h4); /* 40.96px */
    font-weight: var(--ds-font-weight-bold);
    margin: 0;
    padding: 200px 0;
}

.titolo-pagina a,
.titolo-pagina a:visited {
    color: var(--ds-color-accent);
    font-size: var(--ds-font-size);
}


.titolo-pagina a:hover {
    color: var(--ds-color-secondary);
    font-size: var(--ds-font-size);
}

.header-news {
    margin-bottom: 100px;
}

.section-titolo {
    min-height: 250px;
}

.title-autore h3 {
    text-transform: uppercase;
}

.title-corner h3 {
    font-size: var(--ds-font-size-h5); /* 32.77px oppure regola personalizzata */
}

.title-corner-sidebar h3 {
    font-size: var(--ds-font-size-h6); /* 26.21px oppure regola personalizzata */
}

.page-caption-divider {
    border-color: var(--ds-color-secondary);
    width: 80px;
    border-bottom-width: 5px;
    border-bottom-style: solid;
    margin-top: 35px;
}


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

.header-breadcrumb {
  color: var(--ds-color-secondary);
}

.breadcrumbs span,
.breadcrumbs a {
  color: var(--ds-color-secondary) !important;
  font-size: 12px;
  font-weight: var(--ds-font-weight-semibold);
  text-transform: capitalize;
}

.breadcrumb_last {
  color: var(--ds-color-primary);
}

/*------------------------------------------------------------------
   Contents
-------------------------------------------------------------------*/
.whatsapp-float{
	z-index: 997 !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;
}



/* =========================
   LOGO MARQUEE INFINITO
========================= */

logo-marquee{
	position:relative;
	width:100%;
	overflow:hidden;

	display:flex;
	align-items:center;

	padding:10px;

	white-space:nowrap;
}

/* sfumature laterali */
.logo-marquee::before,
.logo-marquee::after{
	content:"";
	position:absolute;
	top:0;
	bottom:0;

	width:90px;

	z-index:5;
	pointer-events:none;
}

.logo-marquee::before{
	left:0;
	background:linear-gradient(
		to right,
		#000 0%,
		rgba(0,0,0,0) 100%
	);
}


/* track animato */
.logo-marquee-track{
	display:flex !important;
	align-items:center !important;
	flex-wrap:nowrap !important;

	width:max-content !important;

	will-change:transform;

	animation:logoMarqueeRight 20s linear infinite;
}

/* gruppi duplicati */
.logo-marquee-group{
	display:flex !important;
	align-items:center !important;
	flex-wrap:nowrap !important;

	gap:18px !important;

	flex:0 0 auto !important;

	padding-right:18px !important;
}


/* immagini logo */
.logo-marquee-group img{
	display:block !important;

	width:250px;

	object-fit:contain !important;
}

/* movimento verso destra */
@keyframes logoMarqueeRight{
	from{
		transform:translate3d(-50%,0,0);
	}
	to{
		transform:translate3d(0,0,0);
	}
}

/* pausa hover opzionale */
.logo-marquee:hover .logo-marquee-track{
	animation-play-state:paused;
}






/* =========================
   PADEL SCROLL TRAIL
========================= */

.padel-ball-section{
	position:relative;
	overflow:hidden;
	isolation:isolate;
}

.padel-trail-layer{
	position:absolute !important;
	inset:0 !important;
	width:100% !important;
	height:100% !important;
	z-index:1 !important;
	pointer-events:none !important;
}

.padel-scroll-trail{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	pointer-events:none;
}

.padel-trail-svg{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	display:block;
	overflow:visible;
}

/* contenuto sopra la scia */
.padel-ball-section > *:not(.padel-trail-layer){
	position:relative;
	z-index:2;
}

/* path guida invisibile */
.padel-motion-path{
	fill:none;
	stroke:none;
}

/* glow della scia */
.padel-trail-soft{
	fill:none;
	stroke:url(#padelTrailGradient);
	stroke-width:120;
	stroke-linecap:round;
	stroke-linejoin:round;
	opacity:.38;
	filter:url(#padelTrailBlur);
}

/* scia principale */
.padel-trail-main{
	fill:none;
	stroke:url(#padelTrailGradient);
	stroke-width:76;
	stroke-linecap:round;
	stroke-linejoin:round;
	opacity:.95;
}

/* glow della pallina */
.padel-ball-glow{
	fill:#E2DF22;
	opacity:.8;
	filter:url(#padelBallGlow);
}

.padel-ball-head{
	fill:#E2DF22;
	opacity:1;
}







/* =========================
   TEXT MARQUEE INFINITO
========================= */

.ds-text-marquee{
	width:100%;
	overflow:hidden;
	padding:30px;
text-decoration: none !important;
	white-space:nowrap;
}

.ds-text-marquee-track{
	display:flex;
	align-items:center;
	width:max-content;

	animation:dsTextMarquee 30s linear infinite;
}
.text-black .ds-text-marquee h1{
		color:#000;
}

.ds-text-marquee h1{
	display:inline-flex;
	align-items:center;
	margin:0 25px;
	color:#fff;
	font-weight:800;
	line-height:1;
	text-transform:uppercase;
	letter-spacing:.02em;
}

.ds-text-marquee .dot{
	color:var(--ds-color-primary);
	font-size:var(--ds-font-size-h1);
	line-height:1;
	margin-bottom: 5px
}
/* Scroll verso sinistra */

@keyframes dsTextMarquee{
	from{
		transform:translateX(0);
	}
	to{
		transform:translateX(-50%);
	}
}





.turn-to-top{
	cursor: pointer
}

.card-servizi .elementor-heading-title{
	margin-bottom: 0 !important;
}
.card-servizi{
	transition: all 0.3s ease;
	aspect-ratio: 9 / 11
}
.card-servizi:hover{
	transform: translateY(-15px)
}
.swiper{
	overflow: visible
}

.check-list ul {
  list-style: none;
  margin-top: 20px;
  margin-left: 20px
}

.check-list li {
  position: relative;
  padding-left: 10px;
  margin-bottom: 12px;
  list-style: none
}

.check-list li::before {
  content: "✓";
  position: absolute;
  left: -20px;
  top: 0;

  font-weight: 700;
  color: #ffffff; /* cambia colore */
  font-size: 18px;
}

.stack-section {
  position: relative;
  padding-bottom: 40vh;
}

.stack-card-1 {
  position: sticky;
  top: 20vh;
  z-index: 1;
}

.stack-card-2 {
  position: relative;
  z-index: 2;
  margin-top: 80px;
}


.separate-containers .site-main {
    margin: 0;
}

.site-content {
    padding: 0;
}

.box-shadow-multicolor p,
.box-shadow-multicolor h2 {
    color: var(--ds-color-accent) !important;
}

.title-content h2 {
    font-size: var(--ds-font-size-h2); /* 64px */
    font-weight: var(--ds-font-weight-bold);
}

.entry-meta a {
    color: var(--ds-color-secondary);
}

.elementor-posts .elementor-post__title a {
    font-weight: var(--ds-font-weight-regular);
    font-size: var(--ds-font-size-h5); /* 32.77px */
}

.icon_box_heading {
    font-weight: var(--ds-font-weight-regular);
}
.elementor-icon-box-icon{
	display: flex;
    justify-content: center;
    align-items: center;
}

.box-team h3 {
    font-size: 22px;
    text-align: center;
}

.box-team p {
    text-align: center;
}

.box-attivita h6 {
    font-size: 14px;
    line-height: 20px;
}


.dgwt-wcas-search-wrapp{
	min-width: 100%
}
.dgwt-wcas-search-wrapp{
	max-width: 100%
}


.cta-box-prefooter {
    /* Aggiungi qui eventuali stili specifici */
}

.cta-box-prefooter h2 {
    margin-bottom: 0.2rem !important;
    font-weight: var(--ds-font-weight-bold);
}

.cta-box-prefooter .elementor-button:hover {
    background-color: var(--ds-color-button) !important;
    color: var(--ds-color-accent) !important;
}


.elementor-icon-box-icon{
	display: flex !important
}


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

.content-dark,
.content-dark :is(h1,h2,h3,h4,h5,h6,strong,b,p,ul,li),
.box-dark,
.box-dark :is(h1,h2,h3,h4,h5,h6,strong,b,p,a) {
  color: var(--ds-dark-text) !important;
}

.content-dark {
}

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

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


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

}




.content-dark .elementor-button{
	position:relative;
	overflow:hidden;

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

	padding:12px 20px;

	border:1px solid #fff !important;
	outline:0 !important;
	border-radius:var(--ds-radius-button) !important;

	background:#fff !important;
	color:#000 !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;

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

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

	isolation:isolate;

	transform:translateZ(0);

	transition:
		color .35s ease,
		border-color .35s ease,
		box-shadow .35s ease,
		transform .35s ease;
}

/* PALLINO CENTRALE GIALLO */

.content-dark .elementor-button::before{
	content:"";

	position:absolute;
	inset:-1px;

	background:var(--ds-color-button-hover);

	border-radius:inherit;

	z-index:-1;

	clip-path:circle(0% at 50% 50%);

	transition:
		clip-path .75s cubic-bezier(.18,.85,.22,1);

}

/* TESTO SOPRA */

.content-dark .elementor-button > *{
	position:relative;
	z-index:2;
}

/* HOVER */

.content-dark .elementor-button:hover{
	color:#000 !important;
	text-decoration:none !important;
	border-color:var(--ds-color-button-hover) !important;
	box-shadow:0 4px 4px rgba(0,0,0,.18) !important;
	transform:translateY(-2px);
				background:#fff !important;

	
}

.content-dark .elementor-button:hover span,
.content-dark .elementor-button:hover .elementor-button-text{
	color:#000 !important;
}

.content-dark .elementor-button:hover::before{
	clip-path:circle(150% at 50% 50%);
}





.content-dark .outline-button .elementor-button{
	position:relative;
	overflow:hidden;

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

	padding:12px 20px;

	border:1px solid #fff !important;
	outline:0 !important;
	border-radius:var(--ds-radius-button) !important;

	background:transparent !important;
	color:#fff !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;

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

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

	isolation:isolate;

	transform:translateZ(0);

	transition:
		color .35s ease,
		border-color .35s ease,
		box-shadow .35s ease,
		transform .35s ease;
}

/* PALLINO CENTRALE GIALLO */

.content-dark .outline-button .elementor-button::before{
	content:"";

	position:absolute;
	inset:-1px;

	background:var(--ds-color-button-hover);

	border-radius:inherit;

	z-index:-1;

	clip-path:circle(0% at 50% 50%);

	transition:
		clip-path .75s cubic-bezier(.18,.85,.22,1);
}

/* TESTO SOPRA */

.content-dark .outline-button .elementor-button > *{
	position:relative;
	z-index:2;
}

/* HOVER */

.content-dark .outline-button .elementor-button:hover{
	color:#000 !important;
	text-decoration:none !important;
	border-color:var(--ds-color-button-hover) !important;
	box-shadow:0 4px 4px rgba(0,0,0,.18) !important;
	transform:translateY(-2px);
}

.content-dark .outline-button .elementor-button:hover span,
.content-dark .outline-button .elementor-button:hover .elementor-button-text{
	color:#000 !important;
}

.content-dark .outline-button .elementor-button:hover::before{
	clip-path:circle(150% at 50% 50%);
}








.box-dark h3 {
  color: var(--ds-dark-accent);
  margin-bottom: 0.2rem !important;
}

/* Elementor accordion */
.elementor-widget-container > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.elementor-widget-container > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title h4 {
  color: var(--ds-color-white) !important;
}

.e-n-accordion-item-title-text {
  font-size: 26px !important;
}

.e-n-accordion-item-title-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px !important;
  height: 40px;
  border-radius: var(--ds-radius-pill);
  background-color: var(--ds-color-primary);
}

.elementor-widget-container > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon {
  background-color: var(--ds-color-white) !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
---------------------------------------------------------------------- */

.entry-title {
  color: var(--ds-color-primary);
  font-family: var(--ds-font-title);
  font-size: 30px;
  font-weight: var(--ds-font-weight-bold);
}

.entry-title a {
  color: var(--ds-color-primary);
}

.entry-title a:hover {
  color: var(--ds-color-link-hover);
}

.entry-meta,
.entry-meta a {
  color: var(--ds-color-secondary);
  font-weight: var(--ds-font-weight-semibold);
}

.elementor-posts .elementor-post__title a {
  font-size: var(--ds-font-size-h5);
  font-weight: var(--ds-font-weight-semibold);
}

.widget-area .widget {
  padding: 0 20px 10px;
}

.sidebar .widget .widget-title {
  padding-bottom: 8px;
  border-bottom: solid var(--ds-color-secondary);
  color: var(--ds-color-primary);
  font-family: var(--ds-font-title);
  font-size: 18px;
  font-weight: var(--ds-font-weight-bold);
  text-transform: none;
}

.sidebar .widget-area .widget {
  padding: 0;
}

.widget-title {
  margin-bottom: 0;
}

.widget .search-form button.search-submit {
  border-radius: var(--ds-radius-button) !important;
  background: var(--ds-color-secondary);
}

/*------------------------------------------------------------------
    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 */
}

.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;
}

/* CTA footer button (ripetuto dal blocco precedente) */
.cta-box-prefooter .elementor-size-md:hover {
    background: var(--ds-color-button) !important;
    color: var(--ds-font-button) !important;
}


/*------------------------------------------------------------------
   Social media icon
-------------------------------------------------------------------*/
.social-network li i {
    font-size: 25px !important;
}
.social-network li a {
    display: inline-block;
    background: transparent !important;
    width: 35px !important;
    height: 35px !important;
    line-height: 35px!important;
    text-align: center;
    border-radius: 50%;
    color: #000;
    text-decoration: none;
    transition: 0.3s;
}
.social-network li a:hover {
    opacity: .8;
    background: transparent;
}


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


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




ul.social-network {
	list-style: none;
	display: inline;
	margin-left: 0 !important;
	padding: 0;
}
ul.social-network li {
	display: inline;
	margin: 0 5px;
}
.social-network a.icoRss:hover { background-color: #F56505; }
.social-network a.icoFacebook:hover { background-color: #3B5998; }
.social-network a.icoTwitter:hover { background-color: #1DA1F2; }
.social-network a.icoLinkedin:hover { background-color: #0e76a8; }
.social-network a.icoYoutube:hover { background-color: #FF0000; }

.social-network a.icoInstagram:hover {
	background: #f09433;
	background: -moz-linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
	background: -webkit-linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
	background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f09433', endColorstr='#bc1888', GradientType=1);
}

.social-network a.icoRss:hover i,
.social-network a.icoFacebook:hover i,
.social-network a.icoTwitter:hover i,
.social-network a.icoGoogle:hover i,
.social-network a.icoVimeo:hover i,
.social-network a.icoLinkedin:hover i {
	color: var(--ds-color-icons);
}

a.socialIcon:hover, .socialHoverClass {
    color: var(--ds-color-secondary);
}

.social-circle li a {
	display: inline-block;
	position: relative;
	margin: 0 auto;
	border-radius: 50px;
	text-align: center;
	width: 40px;
	height: 40px;
	font-size: 20px;
	background: transparent;
	color: #fff !important;
}

.social-circle li i {
	margin: 0;
	line-height: 40px;
	text-align: center;
}


.social-circle li a:hover i, .triggeredHover {
	opacity: 0.8;
	transition: all 0.2s;
}

.social-circle i {
	color: var(--ds-color-icons);
	transition: all 0.8s;
}

/****** Social icon Box team ******/
.box-team .social-circle li a {
	display: inline-block;
	position: relative;
	margin-left: 45%;
	border-radius: 50%;
	text-align: center;
	width: 30px;
	height: 30px;
	font-size: 15px;
	color: var(--ds-color-icons);
}

.box-team .social-circle li i {
	margin: 0;
	line-height: 30px;
	text-align: center;
	color: var(--ds-color-icons);
}


/* Versione verticale */
ul.social-network.vertical {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0;
    margin: 0;
    align-items: flex-start; /* 👈 Forza l'allineamento a sinistra */
}

ul.social-network.vertical li {
    display: block;
    margin: 0;
}

ul.social-network.vertical li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    text-align: center;
    background: var(--ds-bgcolor-icons);
    color: var(--ds-color-icons) !important;
    transition: all 0.3s ease;
}

ul.social-network.vertical li a:hover i {
    transform: rotate(360deg);
}

ul.social-network.vertical li i {
    font-size: 20px;
    line-height: 1;
    transition: all 0.3s ease;
}


/****** Social icon footer ******/
.footer-widgets .social-circle li a {
	color: var(--ds-color-white) !important;
	background: transparent !important;
}

.footer-widgets .social-circle i {
	color: var(--ds-color-white) !important;
	font-size: 25px
}


/*------------------------------------------------------------------
   Contact form
-------------------------------------------------------------------*/


.ds-cf7-minimal-form{
	width:100%;
}

/* 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{
	width:100% !important;
}

/* Righe Bootstrap corrette */
.ds-cf7-minimal-form .row{
	display:flex !important;
	flex-wrap:nowrap !important;
	width: 100%;
	gap: 18px;
}
.ds-cf7-minimal-form .row div{
	width: 100%
}

.ds-cf7-minimal-form .ds-form-row{
	margin-bottom:20px;
}

.ds-cf7-minimal-form .ds-form-row > [class*="col-"]{
	display:flex;
	flex-direction:column;
}

/* Spazio colonne desktop */
.ds-cf7-minimal-form .ds-form-row{
	--bs-gutter-x:24px;
	--bs-gutter-y:18px;
}

/* Label */
.ds-cf7-minimal-form .form-label{
	display:block;

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

	color:#000;

	font-size:var(--ds-font-size);
	font-weight:700;
	line-height:1.2;
}

/* 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 textarea{
	width:100% !important;

	border:0 !important;
	border-radius:999px !important;

	background:#e6e6e6 !important;
	color:#000 ;

	font-size:15px;
	font-weight:400;
	line-height:1.2;

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

	box-sizing:border-box;
}

.ds-cf7-minimal-form input[type="text"],
.ds-cf7-minimal-form input[type="email"],
.ds-cf7-minimal-form input[type="tel"]{
	height:45px !important;
	min-height:45px !important;
	padding:12px 20px !important;
}

.ds-cf7-minimal-form textarea{
	height:130px !important;
	min-height:130px !important;
	max-height:130px !important;

	padding:18px 22px !important;

	border-radius:28px !important;

	resize:none;
	overflow:auto;
}

.ds-cf7-minimal-form input:focus,
.ds-cf7-minimal-form textarea:focus{
	border:1px solid var(--ds-color-black) !important;
	background:#000 !important;
	box-shadow:none !important;
	outline:none !important;
	color:#fff !important;
}

/* Footer privacy + bottone */
.ds-cf7-minimal-form .ds-form-footer{
	display:flex !important;
	align-items:flex-end !important;
	margin-top:20px;
	--bs-gutter-x:24px;
}

/* Privacy */
.ds-cf7-minimal-form .ds-privacy-checks{
	display:flex;
	flex-direction:column;
	gap:8px;
}

.ds-cf7-minimal-form .ds-privacy-checks .wpcf7-list-item{
	margin:0 !important;
}

.ds-cf7-minimal-form .ds-privacy-checks label{
	display:flex !important;
	align-items:center;
	gap:10px;

	margin-top: 10px;
	padding:0 !important;

	color:#000;

	font-size:13px;
	font-weight:400;
	line-height:1.3;
}

.ds-cf7-minimal-form .ds-privacy-checks input[type="checkbox"]{
	width:13px !important;
	height:13px !important;

	flex:0 0 13px;

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

	border:1px solid #000 !important;
	border-radius:50% !important;

	appearance:none;
	-webkit-appearance:none;

	background:transparent !important;

	cursor:pointer;
}

.ds-cf7-minimal-form .ds-privacy-checks input[type="checkbox"]:checked{
	background:#000 !important;
	box-shadow:inset 0 0 0 3px #fff;
}

.ds-cf7-minimal-form .wpcf7-list-item-label{
	margin:0 !important;

	font-size:12px !important;
	line-height:1.3 !important;
}

/* Submit in basso a destra */
.ds-cf7-minimal-form .container-submit{
	display:flex !important;
	align-items:flex-end !important;
	justify-content:flex-end !important;
}

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

.ds-cf7-minimal-form input[type="submit"],
.ds-cf7-minimal-form .ds-submit-button{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;

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

	padding:0 22px !important;

	border:0 !important;
	border-radius:999px !important;

	background:#000 !important;
	color:#fff !important;

	font-size:13px !important;
	font-weight:500 !important;
	line-height:1 !important;

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

	cursor:pointer;

	transition:
		background .25s ease,
		color .25s ease,
		transform .25s ease;
}

.ds-cf7-minimal-form input[type="submit"]:hover,
.ds-cf7-minimal-form .ds-submit-button:hover{
	background:#222 !important;
	color:#fff !important;
	transform:translateY(-2px);
}

/* Spinner */
.ds-cf7-minimal-form .wpcf7-spinner{
	margin-left:10px;
}

/* Errori */
.ds-cf7-minimal-form .wpcf7-not-valid-tip{
	margin-top:6px;

	color:#c00000;

	font-size:11px;
	font-weight:600;
	line-height:1.3;
}

.ds-cf7-minimal-form .wpcf7-response-output{
	margin:18px 0 0 !important;

	padding:12px 14px !important;

	border-radius:14px;

	font-size:13px;
	line-height:1.4;
}


/* =========================
   CONTACT FORM DARK VERSION
   Attiva con classe .content-dark
========================= */

/* Label bianche */
.content-dark .ds-cf7-minimal-form .form-label{
	color:#fff !important;
}

/* Testo privacy bianco */
.content-dark .ds-cf7-minimal-form .ds-privacy-checks label,
.content-dark .ds-cf7-minimal-form .wpcf7-list-item-label{
	color:#fff !important;
}

/* Checkbox bianco */
.content-dark .ds-cf7-minimal-form .ds-privacy-checks input[type="checkbox"]{
	border-color:#fff !important;
	background:transparent !important;
}

.content-dark .ds-cf7-minimal-form .ds-privacy-checks input[type="checkbox"]:checked{
	background:#fff !important;
	box-shadow:inset 0 0 0 3px #000 !important;
}

/* Input chiari su sfondo scuro */
.content-dark .ds-cf7-minimal-form input[type="text"],
.content-dark .ds-cf7-minimal-form input[type="email"],
.content-dark .ds-cf7-minimal-form input[type="tel"],
.content-dark .ds-cf7-minimal-form textarea{
	background:#fff !important;
	color:#000 !important;
}

/* Focus dark */
.content-dark .ds-cf7-minimal-form input:focus,
.content-dark .ds-cf7-minimal-form textarea:focus{
	border:1px solid var(--ds-color-secondary) !important;
	background:#f0f0f0 !important;
	color:#000 !important;
}

/* Bottone invertito */
.content-dark .ds-cf7-minimal-form input[type="submit"],
.content-dark .ds-cf7-minimal-form .ds-submit-button{
	background:#fff !important;
	border: 1px solid #fff !important;
	color:#000 !important;
}

/* Hover bottone dark */
.content-dark .ds-cf7-minimal-form input[type="submit"]:hover,
.content-dark .ds-cf7-minimal-form .ds-submit-button:hover{
	background:transparent !important;
	border: 1px solid #fff !important;
	color:#fff !important;
	font-weight: 600
}

/* Messaggi errore più leggibili su dark */
.content-dark .ds-cf7-minimal-form .wpcf7-not-valid-tip{
	color:var(--ds-color-secondary, #E2DF22) !important;
}

.content-dark .ds-cf7-minimal-form .wpcf7-response-output{
	color:#fff !important;
	border-color:rgba(255,255,255,.35) !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
}


/*------------------------------------------------------------------
   Pc e Desktop - Media Query style
-------------------------------------------------------------------*/

@media (max-width: 1600px) { 
.card-servizi{
	padding: 20px;
}
.card-servizi .elementor-heading-title{
	margin-bottom: 0 !important;
	font-size: var(--ds-font-size-h5);
}
.card-servizi .elementor-widget-theme-post-excerpt{
	font-size: 14px;
	}

.card-servizi .content-dark {
	gap: 15px;
}
}


/* Media Query for Laptops and Desktops */
@media (max-width: 1366px) { 
	.card-servizi{
	padding: 30px;
}
.box-sport h6{
	margin-bottom: 15px;
	font-weight: 600;
	font-size: 16px
}
.box-sport p{
	font-size: 13px
}	
.elementor-widget-button {
	max-height: 52px
}
	
.navigation-branding img, .site-logo.mobile-header-logo img {
    height: auto;
    width: 12vw;
}
.site-logo {margin-bottom: 0;width: 12vw }

		.footer-widgets {
    padding: 50px 50px 25px 50px;
}
	.site-info {
    padding: 10px 50px;
}
.main-navigation.has-branding .inside-navigation.grid-container, .main-navigation.has-branding.grid-container .inside-navigation:not(.grid-container) {
    padding:  0px 50px;
}	

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

.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%;
}
.site-footer .footer-widgets-container .inner-padding {
    padding: 0 0 0 0;
}

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

footer .menu a {

    font-size: 14px;
}
footer p {

    font-size: 14px;
}
	
	
}


/* Media Query for Tablets Ipads portrait mode */
@media (max-width: 1024px) {
	
	
/* ANIMAZIONE PATH PALLINA*/
	.padel-trail-soft{
		stroke-width:92;
	}

	.padel-trail-main{
		stroke-width:56;
	}

	.padel-ball-glow{
		r:34;
	}

	.padel-ball-head{
		r:10;
	}
	
	
	
	
	
	
	

.card-servizi .content-dark {
	gap: 20px;
}	

	

	

	 .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;
    }	
	
	
/* HEADER*/
.navigation-branding img, .site-logo.mobile-header-logo img {
        height: auto;
        width: 22vw;
    }
.slideout-navigation .menu li[class*="current-menu-"] > a{
    color: var(--ds-color-secondary) !important;
}
.slideout-navigation .menu li[class*="current-menu-"] > a::after{
    transform: rotate(45deg);
}

	
	.inside-navigation .menu-toggle{
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
		justify-content: end
	}
.inside-navigation .menu-toggle .gp-icon {
    display: inline-flex;
    align-self: center;
    font-size: 30px;
}
.menu-toggle .mobile-menu {
    padding-right: 15px;
    font-size: 26px;
	padding-top: 5px
}
footer .menu li,
footer .menu a
{
	text-align: center
}

}
/*------------------------------------------------------------------
    Mobile - Media Query style
-------------------------------------------------------------------*/
/* Media Query for low resolution Tablets, Ipads */
@media (max-width: 767px) {
	

.card-servizi .elementor-heading-title{
	font-size: var(--ds-font-size-h4);
}
	
/* 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;
}



	
.container-cta-header {
	display: none !important
}
	

	.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) {
	

.card-servizi .elementor-widget-theme-post-excerpt{
	font-size: 14px 
}
.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);}
		
		.slideout-navigation.main-navigation .widget-title{
		color: #fff !important
		}
		
		.slideout-navigation.main-navigation .main-nav ul li a{		
		}
		
		body.elementor-popup-active .your-mobile-menu-class {
    display: none !important;
}


	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
	
}
}

/* ======================================================================
   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-card--soft { background: var(--ds-color-tertiary); }
.ds-card--dark { background: var(--ds-color-primary); color: var(--ds-color-white); }
.ds-card--dark h1,
.ds-card--dark h2,
.ds-card--dark h3,
.ds-card--dark h4,
.ds-card--dark h5,
.ds-card--dark h6,
.ds-card--dark p { color: var(--ds-color-white) !important; }

.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: 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;
  }
  
  
  .ds-cf7-minimal-form .row {
    flex-wrap: wrap !important;
}
.ds-cf7-minimal-form .container-submit {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

/* immagini logo */
.logo-marquee-group img{
	display:block !important;

	width:200px;

	object-fit:contain !important;
}


/* POP UP MOBILE */
 .dialog-type-lightbox {
        z-index: 998  !important;
    }
  
  
}

@media (max-width: 767px) {
  .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%;
  }
  
  /* track animato */
.logo-marquee-track{

	animation:logoMarqueeRight 15s linear infinite;
}



/* immagini logo */
.logo-marquee-group img{
	width:150px;
}


/* Mobile */

	.ds-cf7-minimal-form .ds-form-row{
		margin-bottom:16px;
		--bs-gutter-y:16px;
	}

	.ds-cf7-minimal-form input[type="text"],
	.ds-cf7-minimal-form input[type="email"],
	.ds-cf7-minimal-form input[type="tel"]{
		height:40px !important;
		min-height:40px !important;
	}

	.ds-cf7-minimal-form textarea{
		height:120px !important;
		min-height:120px !important;
		max-height:120px !important;
	}

	.ds-cf7-minimal-form .ds-form-footer{
		margin-top:20px;
		row-gap:20px;
	}

	.ds-cf7-minimal-form .container-submit{
		justify-content:flex-start !important;
	}

	.ds-cf7-minimal-form input[type="submit"],
	.ds-cf7-minimal-form .ds-submit-button{
		width:100% !important;
	}

/* POP UP MOBILE */
.dialog-type-lightbox {
        z-index: 998  !important;
    }
    
.whatsapp-float{
	transform:scale(0.7);
	transform-origin:right bottom;
}
  
  
  
}

