/*
 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: #F29200;
  --ds-color-secondary: #1772AD;
  --ds-color-tertiary: #6B6B6B;
  --ds-color-accent: #F29200;
  --accent: var(--ds-color-accent);

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

  /* Semantic */
  --ds-color-link: #6B6B6B;
  --ds-color-link-hover: var(--ds-color-accent);
  --ds-color-selection: var(--ds-color-accent);
  --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: "Playfair Display", serif;
  --ds-body-font-family: var(--ds-font-body);
  /* Font weight */
	--ds-body-font-weight:400;
	--ds-body-title-weight:500;

	/* Line height */
	--ds-line-height-base:1.2;
	--ds-body-line-height:1.4;

	/* Body */
	--ds-font-size:1rem; /* 16px */

	/* Headings - Playfair Display Medium */
	--ds-font-size-h1:clamp(2.25rem, 5vw, 4.6875rem);  /* min 36px / max 75px */
--ds-font-size-h2:clamp(2rem, 4.2vw, 3.75rem);     /* min 32px / max 60px */
--ds-font-size-h3:clamp(1.75rem, 3.6vw, 3rem);     /* min 28px / max 48px */
--ds-font-size-h4:clamp(1.5rem, 2.8vw, 2.375rem);  /* min 24px / max 38px */
--ds-font-size-h5:clamp(1.25rem, 2.1vw, 1.875rem); /* min 20px / max 30px */
--ds-font-size-h6:clamp(1.125rem, 1.6vw, 1.5rem);  /* min 18px / max 24px */

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


  /* Buttons */
  --ds-color-button: var(--ds-color-accent);
  --ds-color-button-hover: #4B620C;
  --ds-font-button: var(--ds-color-black);

  /* Icons */
  --ds-bgcolor-icons: transparent;
  --ds-color-icons: #363636;

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

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

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

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

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

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

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

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

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


footer{
	background-color: var(--ds-color-black) !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
}
w-auto{
	width: auto !important;
}

.screen-reader-response{
	display:none !important;
}
.wpcf7-response-output{
	padding-left: 0px !important
}
.separate-containers .site-main {
    margin: 0px !important;
}

.green-gradient{
	background: linear-gradient(180deg, #F5F5F2 0%, #95C11F 100%);


} 

.box-target{
	transition: all 0.3s ease;
}
.box-target:hover{
	background: linear-gradient(180deg, #F5F5F2 0%, #95C11F 100%);
}

.d-block{
	display: block !important
}

.video-hero{
	aspect-ratio: auto !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: var(--ds-line-height-base)
}
.e-heading-base{
	font-family: var(--ds-font-title) !important;
	font-weight: 500 ;
	line-height: var(--ds-line-height-base)
}

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

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

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

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

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

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

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

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




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

.contenuto-news a{
	color: var(--ds-color-primary) !important;
	text-decoration: underline !important;
}


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

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

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

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

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

.ds-loop-category-badge{
	font-size:14px;
	font-weight:500;
	line-height:1;
	color: var(--ds-color-primary)
}



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

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


.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
-------------------------------------------------------------------*/
.broken_link, a.broken_link {
    text-decoration: none !important;
}

.primary-list{
	margin-left:0px;
	padding-left:20px;
}

.primary-list li::marker{
	color:var(--ds-color-primary);
}


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


.extra-bold{
	font-weight: var(--ds-font-weight-extra-bold) !important
}

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

.elementor-button-text{
	text-decoration: none !important
}

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

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





	
.elementor-button{
	position:relative;
	overflow:hidden;
	padding: 14px 12px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:1px solid var(--ds-color-primary) !important;;
	border-radius:var(--ds-radius-button) !important;

	background:var(--ds-color-primary) !important;;
	color:var(--ds-color-white) !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;
	isolation:isolate;
		box-shadow:0 2px 6px rgba(0,0,0,0.3) !important;

	transition: all .35s cubic-bezier(.34, 1.56, .64, 1);
}

.elementor-button:hover{
	color:#fff !important;
	background:#C07300 !important;
	text-decoration:none !important;
	box-shadow:0 5px 0px rgba(0,0,0,0.9) !important;
	transform: translateY(-4px)
}

/* BLUE VARIANT */
.blue-button .elementor-button{
	border:1px solid var(--ds-color-secondary) !important;
	background:var(--ds-color-secondary) !important;
	color:var(--ds-color-white) !important;
}

.blue-button .elementor-button:hover{
	color:var(--ds-color-white) !important;
	background:#104A73 !important;
	border-color:#104A73 !important;
}
 
/* CONTENT DARK ORANGE VARIANT */
.content-dark .elementor-button,
.content-dark .elementor-button:visited,
.content-dark .elementor-button:focus{
	border:1px solid var(--ds-color-primary) !important;
	background-color:transparent !important;
	color:var(--ds-color-primary) !important;

	transition:
		background-color .25s ease,
		color .25s ease,
		border-color .25s ease,
		transform .35s cubic-bezier(.34, 1.56, .64, 1) !important;
}

/* Hover */
.content-dark .elementor-button:hover,
.content-dark .elementor-button:focus:hover{
	background-color:#FFF4E5 !important;
	color:var(--ds-color-primary) !important;
	border-color:var(--ds-color-primary) !important;
}



/* CONTENT DARK BLUE VARIANT*/
.content-dark .blue-button .elementor-button{
	border:1px solid var(--ds-color-secondary) !important;;
	background:#fff !important;;
	color:var(--ds-color-secondary) !important;
}

.content-dark .blue-button .elementor-button:hover{
color:var(--ds-color-secondary) !important;
	background:#FFF4E5 !important;
}


/* BOTTONI ETOMICI ELEMENTOR VARIANTI CONTENT DARK
	
.content-dark .button-primary {
	color: var(--ds-color-accent);
	background-color: #fff;
	border-color: white
}

.content-dark .button-primary:hover {
	color: var(--ds-color-accent);
	background-color: var(--ds-color-secondary);
	border-color: var(--ds-color-secondary);

}


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

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

 */



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

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


.container-cta-header{
	display: block
}


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



/* Solo template/pagina ID 934: header primary iniziale */
.header-section.header-primary-start{
	background:var(--ds-color-primary) !important;
	box-shadow:none !important;
	backdrop-filter:none !important;
	-webkit-backdrop-filter:none !important;
}

/* Stato dopo scroll */
.header-section.header-scrolled{
	background:rgba(0,0,0,.65) !important;
	box-shadow:0 4px 18px rgba(0,0,0,.08);
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
}



/* Homepage, Librixia 2026 e singole Edizioni:
   header oscurato già a inizio pagina */
body.page-id-40106 .header-section,
body.elementor-page-40106 .header-section,
body.page-id-40222 .header-section,
body.elementor-page-40222 .header-section,
body.single-edizioni .header-section,
body.edizioni-template-default .header-section {
	background: rgba(0, 0, 0, .65) !important;
	box-shadow: 0 4px 18px rgba(0, 0, 0, .08) !important;
	backdrop-filter: blur(14px) !important;
	-webkit-backdrop-filter: blur(14px) !important;
}

/* =========================
   HEADER FIXED TRASPARENTE / SCROLL
========================= */

.header-section{

	transition:
		all .35s ease,
}

/* Stato dopo scroll */
.header-section.header-scrolled{
	background:rgba(0,0,0,.65) !important;
	box-shadow:0 4px 18px rgba(0,0,0,.08);
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
}




.elementor-nav-menu__align-justify .elementor-nav-menu--layout-horizontal .elementor-nav-menu>li {
    flex-grow: 0;
}
.elementor-nav-menu__align-justify .elementor-nav-menu--layout-horizontal .elementor-nav-menu {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}




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

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

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

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

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





/* =========================
   MENU MOBILE - UNDERLINE VOCE ATTIVA / CLICK
========================= */

/* Reset: evita underline di default */
.menu-nav .elementor-nav-menu--dropdown a,
.menu-nav .elementor-nav-menu--dropdown .menu-link-text{
	text-decoration:none !important;
}

/* Hover */
.menu-nav .elementor-nav-menu--dropdown a:hover,
.menu-nav .elementor-nav-menu--dropdown a:hover .menu-link-text{
	text-decoration:underline !important;
	text-decoration-thickness:2px !important;
	text-underline-offset:5px !important;
	text-decoration-color:var(--ds-color-white) !important;
}

/* Voce aperta / cliccata con submenu */
.menu-nav .elementor-nav-menu--dropdown .menu-item-has-children.menu-open > a .menu-link-text,
.menu-nav .elementor-nav-menu--dropdown .menu-item-has-children > a.highlighted .menu-link-text,
.menu-nav .elementor-nav-menu--dropdown .menu-item-has-children > a[aria-expanded="true"] .menu-link-text{
	text-decoration:underline !important;
	text-decoration-thickness:2px !important;
	text-underline-offset:5px !important;
	text-decoration-color:var(--ds-color-white) !important;
}

/* Pagina corrente */
.menu-nav .elementor-nav-menu--dropdown .current-menu-item > a,
.menu-nav .elementor-nav-menu--dropdown .current-menu-parent > a,
.menu-nav .elementor-nav-menu--dropdown .current-menu-ancestor > a,
.menu-nav .elementor-nav-menu--dropdown .current_page_item > a,
.menu-nav .elementor-nav-menu--dropdown .current_page_parent > a,
.menu-nav .elementor-nav-menu--dropdown .current_page_ancestor > a{
	text-decoration:underline !important;
	text-decoration-thickness:2px !important;
	text-underline-offset:5px !important;
	text-decoration-color:var(--ds-color-white) !important;
}

/* Pagina corrente su voci con span interno */
.menu-nav .elementor-nav-menu--dropdown .current-menu-item > a .menu-link-text,
.menu-nav .elementor-nav-menu--dropdown .current-menu-parent > a .menu-link-text,
.menu-nav .elementor-nav-menu--dropdown .current-menu-ancestor > a .menu-link-text,
.menu-nav .elementor-nav-menu--dropdown .current_page_item > a .menu-link-text,
.menu-nav .elementor-nav-menu--dropdown .current_page_parent > a .menu-link-text,
.menu-nav .elementor-nav-menu--dropdown .current_page_ancestor > a .menu-link-text{
	text-decoration:underline !important;
	text-decoration-thickness:2px !important;
	text-underline-offset:5px !important;
	text-decoration-color:var(--ds-color-white) !important;
}





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




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

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



.hero-sm{
	height: 50vh;
	padding-bottom: 50px;
}

/*------------------------------------------------------------------
   EVENTO
-------------------------------------------------------------------*/

.tec-events-elementor-event-widget__datetime .tec-events-elementor-event-widget__datetime-time--end{
	display: none 
}
.tribe-event-time{
	display: none 
}
.tribe-events-calendar-list__event-venue-title {
	display: none
}
.tec-events-elementor-event-widget__venue-name{
	display: none
}

#tribe-events-pg-template {
    margin: 0;
    max-width: 100%;
    padding: 0;
}

.tec-events-elementor-event-widget__datetime-wrapper{
	margin: 0 !important;
}

.tec-events-elementor-event-widget__venue, .tec-events-elementor-event-widget__venue .tribe-events-content{
	justify-content: space-between
}

.tec-events-elementor-event-widget__venue .tec-events-elementor-event-widget__venue-details, .tec-events-elementor-event-widget__venue .tribe-events-content .tec-events-elementor-event-widget__venue-details {
    padding: 0px !important;
    margin: 0 !important;
    max-width: 100% !important;
    min-width: 100% !important
}

.tec-events-elementor-event-widget__venue .tec-events-elementor-event-widget__venue-container, .tec-events-elementor-event-widget__venue .tribe-events-content .tec-events-elementor-event-widget__venue-container{
	border: none !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-width: 100% !important
}

.venue-address {
	font-size: 14px !important;
	line-height: 1.2;
}


.container-location{
	transition:all 0.3s ease 
}
.container-location:hover{
	transform: translateY(-10px)
}






/* EVENTI*/



.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__time-separator-heading time{
    font-size: 18px !important;
}

.tribe-events .tribe-events-calendar-day__type-separator{
	margin-bottom: 20px
}

/* Hero prima del calendario */
.tribe-events-before-html {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Template Elementor 40739 */
.tribe-events-before-html .elementor-40739 {
	display: block !important;
	width: 100% !important;
	visibility: visible !important;
	opacity: 1 !important;
}



/* Contenitore principale hero */
.tribe-events-before-html .elementor-element-5107271f {
	display: flex !important;
	width: 100% !important;
	background: var(--ds-color-primary);
	box-sizing: border-box;
}

/* Contenitore interno */
.tribe-events-before-html .elementor-element-11161a4f {
	width: 100% !important;
	max-width: 1600px;
	margin: 0 auto;
}

/* Testi */
.tribe-events-before-html .elementor-element-60506573 {
    display: flex !important;
    visibility: visible !important;
    justify-content: end;
    align-items: start;
    flex-direction: column;
    gap: 30px    /* opacity: 1 !important; */
}
.tribe-events-before-html h1,
.tribe-events-before-html p {
	display: block !important;
	color: #fff !important;
	visibility: visible !important;
	opacity: 1 !important;
}



@media (max-width: 767px) {
	.tribe-events-before-html .elementor-element-5107271f {
		min-height: 35vh;
		max-height: 35vh;
		padding: 130px 20px 60px;
	}
}








/* =========================================================
   LIBRIXIA — CALENDARIO EVENTI
   Hero Elementor invariata
   ========================================================= */

:root {
	--cal-container: 1600px;
	--cal-padding-desktop: 150px;
	--cal-padding-tablet: 40px;
	--cal-padding-mobile: 20px;
	--cal-sidebar: 225px;
	--cal-gap: 64px;
	--cal-card-bg: #f5f3ef;
	--tec-color-text-primary:var(--ds-color-primary) !important; 
	--tec-form-color-border-active: #6b6b6b
}


/* =========================================================
   CONTENITORE GENERALE
   ========================================================= */



	 
   
 .tribe-common--breakpoint-medium.tribe-events .tribe-events-c-messages__message{
	 margin-top: 20px;
 }  

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-l-container {
	display: grid !important;
	grid-template-columns: var(--cal-sidebar) minmax(0, 1fr);
	column-gap: var(--cal-gap);
	align-items: start;

	width: 100% !important;
	max-width: var(--cal-container) !important;
	min-width: 0 !important;

	margin: 0 auto !important;
	padding: 0 var(--cal-padding-desktop) 80px !important;
	box-sizing: border-box;
}

/* =========================================================
   HERO CALENDARIO ASSOLUTA
   ========================================================= */

.tribe-events .tribe-events-l-container {
	position: relative !important;

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

	margin: 0 auto !important;
	padding:
		600px
		150px
		80px !important;

	box-sizing: border-box;
}

/* Wrapper generato da The Events Calendar */
.tribe-events-before-html {
	position: absolute !important;
	top: 0;
	left: 50%;

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

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

	transform: translateX(-50%);
	z-index: 1;
}

/* Wrapper aggiunto dal PHP */
.ds-hero-calendario {
	position: static !important;

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

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

/* Template Elementor */
.ds-hero-calendario .elementor-40739 {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

/* =========================================================
   HEADER CALENDARIO
   Ricerca + navigazione
   ========================================================= */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-header {
	grid-column: 1 / -1;

	width: 100% !important;
	margin: 55vh 0 45px !important;
	padding: 0 !important;
	box-sizing: border-box;
}


/* Barra di ricerca */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-c-events-bar {
	width: 100% !important;
	min-height: 54px !important;

	border: 1px solid #d8d8d8 !important;
	border-radius: 5px !important;
	background: #fff !important;
	box-shadow: none !important;
	overflow: hidden;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-c-search {
	display: flex !important;
	align-items: center !important;
	gap: 12px;

	width: 100%;
	padding: 6px !important;
	box-sizing: border-box;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-c-search__input-group {
	flex: 1 1 auto;
	min-width: 0;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-c-search__input-control {
	padding: 0 !important;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-c-search__input {
	height: 40px !important;
	padding: 0 15px 0 42px !important;

	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;

	font-size: 13px !important;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-c-search__button {
	flex: 0 0 auto;

	min-width: 130px !important;
	height: 40px !important;
	padding: 0 20px !important;

	border-radius: 4px !important;
	background: var(--ds-color-primary) !important;
	color: #fff !important;

	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: none !important;
}


/* Navigazione data */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-c-top-bar {
	width: 100%;
	margin: 22px 0 0 !important;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-c-top-bar__datepicker-button {
	font-size: 18px !important;
	font-weight: 500 !important;
	color: var(--ds-color-primary) !important;
}


/* =========================================================
   COLONNA FILTRI
   ========================================================= */

.tribe-common--breakpoint-medium
.tribe-filter-bar--vertical.tribe-filter-bar {
	grid-column: 1;
	grid-row: auto;

	position: static !important;

	width: var(--cal-sidebar) !important;
	min-width: 0 !important;

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

	background: transparent !important;
	box-sizing: border-box;
}

/* Rimuove il titolo aggiunto artificialmente */
.tribe-filter-bar--vertical::before {
	content: none !important;
	display: none !important;
}

/* Titolo originale Filtri */
.tribe-common--breakpoint-medium
.tribe-filter-bar__form-heading {
	position: static !important;

	width: auto !important;
	height: auto !important;
	margin: 0 0 18px !important;

	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;

	font-size: 14px !important;
	font-weight: 700 !important;
	color: #333 !important;
	text-transform: uppercase;
}

/* Singoli filtri */

.tribe-common--breakpoint-medium
.tribe-filter-bar-c-filter {
	margin: 0 !important;
	border-top: 1px solid #d8d8d8 !important;
}

.tribe-common--breakpoint-medium
.tribe-filter-bar-c-filter:last-child {
	border-bottom: 1px solid #d8d8d8 !important;
}

.tribe-common--breakpoint-medium
.tribe-filter-bar-c-filter__toggle {
	width: 100% !important;
	min-height: 48px !important;

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

	font-size: 13px !important;
	font-weight: 400 !important;
}

.tribe-common--breakpoint-medium
.tribe-filter-bar-c-filter__toggle-label {
	color: #5f5f5f !important;
}


/* =========================================================
   COLONNA EVENTI
   ========================================================= */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list {
	grid-column: 2;

	width: 100% !important;
	min-width: 0 !important;

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


/* Separatore mese */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__month-separator {
	display: flex !important;
	align-items: center !important;
	gap: 18px;

	width: 100%;
	margin: 0 0 28px !important;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__month-separator::after {
	content: "";
	flex: 1;

	height: 1px;
	background: #d8d8d8;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__month-separator-text {
	flex: 0 0 auto;

	font-size: 14px !important;
	font-weight: 500 !important;
	color: #777 !important;
}


/* =========================================================
   RIGA EVENTO
   ========================================================= */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-row {
	display: grid !important;
	grid-template-columns: 62px minmax(0, 1fr) !important;
	column-gap: 20px !important;

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


/* Data laterale */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-date-tag {
	width: 62px !important;
	padding: 15px 0 0 !important;
	text-align: center;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-date-tag-weekday {
	font-size: 10px !important;
	font-weight: 500 !important;
	color: #777 !important;
	text-transform: uppercase;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-date-tag-daynum {
	font-size: 30px !important;
	line-height: 1 !important;
	font-weight: 600 !important;
	color: var(--ds-color-primary) !important;
}


/* Wrapper card */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-wrapper {
	width: 100% !important;
	min-width: 0 !important;
}


.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event {
	display: grid !important;
	grid-template-columns: minmax(0, 60fr) minmax(0, 25fr) !important;
	grid-template-areas: "details image";
	gap: 5% !important;
	align-items: stretch !important;

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

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

	border: 0 !important;
	border-radius: 7px !important;
	background: var(--ds-color-gray-light) !important;
	box-sizing: border-box;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-details {
	grid-area: details;
	width: 100% !important;
	min-width: 0 !important;
	padding: 0 !important;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-featured-image-wrapper {
	grid-area: image;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-featured-image-link {
	display: block;
	width: 100%;
	height: 100%;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-featured-image {
	display: block;
	width: 100% !important;
	height: auto !important;
	object-fit: cover !important;
	border-radius: 4px;
}


/* Evento senza immagine */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event:not(:has(.tribe-events-calendar-list__event-featured-image-wrapper)) {
	grid-template-columns: minmax(0, 1fr) !important;
	grid-template-areas: "details";
}


/* Testi card */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-datetime {
	font-size: 13px !important;
	font-weight: 400 !important;
	color: #747474 !important;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-title {
	margin: 10px 0 15px !important;

	font-size: 22px !important;
	line-height: 1.15 !important;
	font-weight: 600 !important;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-title-link {
	color: var(--ds-color-primary) !important;
	text-decoration: none !important;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-venue {
	margin: 0 0 12px !important;

	font-size: 14px !important;
	color: #555 !important;
}

/* Colonna dettagli */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-details {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	min-height: 0 !important;
}

/* Descrizione */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-description {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;

	margin: 10px 0 0 !important;
	color: #555 !important;
}

/* Il paragrafo occupa tutta l'altezza disponibile */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-description p {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	margin: 0 !important;
	font-size: 14px
}

/* Leggi tutto in fondo */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-description .read-more {
	display: inline-flex !important;
	align-items: center !important;
	align-self: flex-start !important;
	gap: 7px;

	margin-top: auto !important;
	padding-top: 24px;

	color: var(--ds-color-primary) !important;
	font-weight: 500 !important;
	text-underline-offset: 3px;
}

/* Freccia */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-description .read-more::after {
	content: "→";
	display: inline-block;
	font-size: var(--ds-font-size);
	line-height: 1;
	text-decoration: none;
	transition: transform .2s ease;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event-description .read-more:hover::after {
	transform: translateX(4px);
}


/* =========================================================
   NAVIGAZIONE FINALE
   ========================================================= */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-c-nav {
	grid-column: 2;

	width: 100% !important;
	margin: 35px 0 70px !important;
}


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

@media (max-width: 1024px) {

	.tribe-common--breakpoint-medium.tribe-events
	.tribe-events-l-container {
		grid-template-columns: 210px minmax(0, 1fr);
		column-gap: 35px;

		padding-left: var(--cal-padding-tablet) !important;
		padding-right: var(--cal-padding-tablet) !important;
	}

	.tribe-common--breakpoint-medium
	.tribe-filter-bar--vertical.tribe-filter-bar {
		width: 210px !important;
	}

	.tribe-common--breakpoint-medium.tribe-events
	.tribe-events-calendar-list__event {
		grid-template-columns: minmax(0, 1fr) 150px !important;
	}

	.tribe-common--breakpoint-medium.tribe-events
	.tribe-events-calendar-list__event-featured-image-wrapper {
		width: 150px !important;
		min-width: 150px !important;
	}
	
	
	.tribe-common--breakpoint-medium.tribe-events .tribe-events-header {
    margin: 40vh 0 45px !important;
}






.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-list__event {
	display: grid !important;
	grid-template-columns: 1fr !important;
	grid-template-areas:
		"details"
		"image";
	gap: 24px !important;
}
}







/* =========================================================
   DAY VIEW
   Stesso layout della LIST VIEW
   ========================================================= */


/* Il contenitore Giorno occupa la colonna eventi */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day {
    grid-column: 2;

    width: 100% !important;
    min-width: 0 !important;

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


/* =========================================================
   SEPARATORE ORARIO
   ========================================================= */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__time-separator {
    display: flex !important;
    align-items: center !important;
    gap: 18px;

    width: 100% !important;
    margin: 0 0 28px !important;
}


/* Linea dopo l'orario */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__time-separator::after {
    content: "";
    flex: 1;

    height: 1px;
    background: #d8d8d8;
}


/* Testo 10:00 / 11:00 ecc. */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__time-separator-heading {
    flex: 0 0 auto;

    margin: 0 !important;

    font-size: 14px !important;
    font-weight: 500 !important;
    color: #777 !important;
}


/* =========================================================
   EVENTO
   ========================================================= */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event {
    display: block !important;

    width: 100% !important;

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


/* Questo div diventa la vera CARD */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-content {
    display: grid !important;

    grid-template-columns:
        minmax(0, 60fr)
        minmax(0, 25fr) !important;

    grid-template-areas:
        "details image";

    gap: 5% !important;
    align-items: stretch !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 205px;

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

    border: 0 !important;
    border-radius: 7px !important;
    background: var(--ds-color-gray-light) !important;

    box-sizing: border-box;
}


/* =========================================================
   DETTAGLI
   ========================================================= */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-details {
    grid-area: details;

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

    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;

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


/* Header interno */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-header {
    display: flex !important;
    flex-direction: column !important;
}





/*
 * Nella Day View Tribe mette:
 * titolo
 * data
 * luogo
 *
 * Qui li riordiniamo come nella tua List View:
 * data
 * titolo
 * luogo
 */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-datetime-wrapper {
    order: 1;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-title {
    order: 2;
}

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-venue {
    order: 3;
}


/* Data / ora */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-datetime {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #747474 !important;
}


/* Titolo */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-title {
    margin: 7px 0 12px !important;

    font-size: 22px !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
}


/* Link titolo */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-title-link {
    color: var(--ds-color-primary) !important;
    text-decoration: none !important;
}


/* Luogo */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-venue {
    display: flex;
    margin: 0 0 12px !important;
    font-size: 14px !important;
    color: #555 !important;
    flex-direction: column;
    gap: 0px;
}


/* Nome luogo visibile */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-venue-title {
    display: inline !important;
}


/* =========================================================
   IMMAGINE
   ========================================================= */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-featured-image-wrapper {
    grid-area: image;

    width: 100% !important;
    min-width: 0 !important;

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


/* Immagine */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-featured-image {
    display: block !important;

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

    object-fit: cover !important;

    border-radius: 4px;
}


/* =========================================================
   DESCRIZIONE
   ========================================================= */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-description {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;

    margin: 10px 0 0 !important;

    color: #555 !important;
}


/* Paragrafo */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-description p {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;

    margin: 0 !important;
}


/* Leggi tutto in basso */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-description .read-more {
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;

    gap: 7px;

    margin-top: auto !important;
    padding-top: 24px;

    color: var(--ds-color-primary) !important;
    font-weight: 500 !important;

    text-underline-offset: 3px;
}


/* Freccia */
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-description .read-more::after {
    content: "→";

    display: inline-block;

    font-size: var(--ds-font-size);
    line-height: 1;

    text-decoration: none;

    transition: transform .2s ease;
}


.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-description .read-more:hover::after {
    transform: translateX(4px);
}


/* =========================================================
   EVENTO SENZA IMMAGINE
   ========================================================= */

.tribe-common--breakpoint-medium.tribe-events
.tribe-events-calendar-day__event-content:not(
    :has(.tribe-events-calendar-day__event-featured-image-wrapper)
) {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "details" !important;
}








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

@media (max-width: 767px) {


/* EVENT LIST*/


/* CONTENITORE GENERALE */
    .tribe-events .tribe-events-l-container {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 40vh 14px 20px !important;
        box-sizing: border-box;
    }


    /* LISTA */
    .tribe-events .tribe-events-calendar-list {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }


    /* =====================================================
       RIGA EVENTO
       ===================================================== */

    .tribe-events .tribe-events-calendar-list__event-row {
        display: grid !important;

        grid-template-columns:
            48px
            minmax(0, 1fr) !important;

        column-gap: 12px !important;

        width: 100% !important;
        margin: 0 0 18px !important;
        padding: 0 !important;

        background: transparent !important;
        border-radius: 0 !important;
    }


    /* =====================================================
       GIORNO A SINISTRA
       ===================================================== */

    .tribe-events .tribe-events-calendar-list__event-date-tag {
        width: 48px !important;
        margin: 0 !important;
        padding: 16px 0 0 !important;

        text-align: center;
    }

    .tribe-events
    .tribe-events-calendar-list__event-date-tag-weekday {
        display: block;

        font-size: 9px !important;
        line-height: 1 !important;

        color: #777 !important;
        text-transform: uppercase;
    }

    .tribe-events
    .tribe-events-calendar-list__event-date-tag-daynum {
        display: block;

        margin-top: 2px;

        font-size: 25px !important;
        line-height: 1 !important;
        font-weight: 600 !important;

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


    /* =====================================================
       WRAPPER CARD
       ===================================================== */

    .tribe-events .tribe-events-calendar-list__event-wrapper {
        width: 100% !important;
        min-width: 0 !important;
    }


    /* =====================================================
       CARD: INFO + FOTO
       ===================================================== */

    .tribe-events .tribe-events-calendar-list__event {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            32% !important;

        grid-template-areas:
            "details image";

        gap: 14px !important;
        align-items: stretch !important;

        width: 100% !important;
        min-height: 0 !important;

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

        background: #f5f5f5 !important;
        border-radius: 10px !important;

        box-sizing: border-box;
    }


    /* =====================================================
       INFORMAZIONI
       ===================================================== */

    .tribe-events .tribe-events-calendar-list__event-details {
        grid-area: details;

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

        width: 100% !important;
        min-width: 0 !important;
        height: 100% !important;

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


    /* DATA + ORA */
    .tribe-events
    .tribe-events-calendar-list__event-datetime {
        font-size: 11px !important;
        line-height: 1.25 !important;
        color: #777 !important;
    }


    /* TITOLO */
    .tribe-events
    .tribe-events-calendar-list__event-title {
        margin: 10px 0 15px !important;

        font-size: 17px !important;
        line-height: 1.15 !important;
        font-weight: 600 !important;
    }

    .tribe-events
    .tribe-events-calendar-list__event-title-link {
        color: var(--ds-color-primary) !important;
        text-decoration: none !important;
    }


    /* LUOGO */
    .tribe-events
    .tribe-events-calendar-list__event-venue {
        margin: 0 0 8px !important;

        font-size: 11px !important;
        line-height: 1.3 !important;

        color: #555 !important;
    }

    .tribe-events
    .tribe-events-calendar-list__event-venue-title {
        display: inline !important;
        font-weight: 600 !important;
    }

    .tribe-events
    .tribe-events-calendar-list__event-venue-address {
        display: inline !important;
    }


    /* =====================================================
       DESCRIZIONE
       ===================================================== */

    .tribe-events
    .tribe-events-calendar-list__event-description {
        display: flex !important;
        flex-direction: column !important;
        flex: 1 1 auto !important;

        margin: 8px 0 0 !important;

        font-size: 12px !important;
        line-height: 1.35 !important;

        color: #555 !important;
    }

    .tribe-events
    .tribe-events-calendar-list__event-description p {
        display: flex !important;
        flex-direction: column !important;
        flex: 1 1 auto !important;
		font-size: 12px;
        margin: 0 !important;
    }


    /* LEGgi TUTTO */
    .tribe-events
    .tribe-events-calendar-list__event-description .read-more {
        display: inline-flex !important;
        align-items: center !important;
        align-self: flex-start !important;

        gap: 5px;

        margin-top: auto !important;
        padding-top: 12px !important;

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

        color: var(--ds-color-primary) !important;
        text-decoration: none !important;
    }

    .tribe-events
    .tribe-events-calendar-list__event-description .read-more::after {
        content: "→";
        display: inline-block;
    }


    /* =====================================================
       FOTO A DESTRA
       ===================================================== */

    .tribe-events
    .tribe-events-calendar-list__event-featured-image-wrapper {
        grid-area: image;

        width: 100% !important;
        min-width: 0 !important;

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

    .tribe-events
    .tribe-events-calendar-list__event-featured-image-link {
        display: block !important;

        width: 100% !important;
        height: 100% !important;
    }

    .tribe-events
    .tribe-events-calendar-list__event-featured-image {
        display: block !important;

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

        object-fit: cover !important;

        border-radius: 4px !important;
    }


    /* =====================================================
       EVENTO SENZA FOTO
       ===================================================== */

    .tribe-events
    .tribe-events-calendar-list__event:not(
        :has(.tribe-events-calendar-list__event-featured-image-wrapper)
    ) {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas: "details" !important;
    }


    /* =====================================================
       SEPARATORE MESE
       ===================================================== */

    .tribe-events
    .tribe-events-calendar-list__month-separator {
        margin: 0 0 16px !important;
    }


    /* SEARCH MOBILE */
    .tribe-events
    .tribe-events-c-events-bar
    .tribe-common-form-control-text__input {
        padding: 10px !important;
        border: 1px solid var(--ds-color-tertiary) !important;
    }

    .tribe-events
    .tribe-events-c-search__input-control-icon-svg {
        right: 20px;
    }
.tribe-common .tribe-common-a11y-hidden{
	visibility: visible
}


.tribe-events .tribe-events-calendar-list__event-venue {
        margin: 0 0 8px !important;
        font-size: 11px !important;
        line-height: 1.3 !important;
        color: #555 !important;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }
    
    
    
    /* EVENT DAY*/

    
    /* =========================================================
   MOBILE - DAY VIEW
   Stesso layout della LIST VIEW
   ========================================================= */


/* CONTENITORE GIORNO */
.tribe-events .tribe-events-calendar-day {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =====================================================
   SEPARATORE ORARIO
   ===================================================== */

.tribe-events .tribe-events-calendar-day__time-separator {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;

    width: 100% !important;
    margin: 0 0 16px !important;
}

.tribe-events .tribe-events-calendar-day__time-separator::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #d8d8d8;
}

.tribe-events .tribe-events-calendar-day__time-separator-heading {
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    color: var(--ds-color-primary) !important;
}


/* =====================================================
   EVENTO
   ===================================================== */

.tribe-events .tribe-events-calendar-day__event {
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}


/* =====================================================
   CARD: INFO + FOTO
   ===================================================== */

.tribe-events .tribe-events-calendar-day__event-content {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        32% !important;

    grid-template-areas:
        "details image";

    gap: 14px !important;
    align-items: stretch !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;

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

    background: #f5f5f5 !important;
    border-radius: 10px !important;

    box-sizing: border-box;
}


/* =====================================================
   INFORMAZIONI
   ===================================================== */

.tribe-events .tribe-events-calendar-day__event-details {
    grid-area: details;

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

    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;

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


/* Riordina data, titolo, luogo */
.tribe-events .tribe-events-calendar-day__event-header {
    display: flex !important;
    flex-direction: column !important;
}

.tribe-events .tribe-events-calendar-day__event-datetime-wrapper {
    order: 1;
}

.tribe-events .tribe-events-calendar-day__event-title {
    order: 2;
}

.tribe-events .tribe-events-calendar-day__event-venue {
    order: 3;
}


/* DATA + ORA */
.tribe-events .tribe-events-calendar-day__event-datetime {
    font-size: 11px !important;
    line-height: 1.25 !important;
    color: #777 !important;
}


/* TITOLO */
.tribe-events .tribe-events-calendar-day__event-title {
    margin: 10px 0 15px !important;

    font-size: 17px !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
}

.tribe-events .tribe-events-calendar-day__event-title-link {
    color: var(--ds-color-primary) !important;
    text-decoration: none !important;
}


/* LUOGO */
.tribe-events .tribe-events-calendar-day__event-venue {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;

    margin: 0 0 12px !important;

    font-size: 11px !important;
    line-height: 1.3 !important;

    color: #555 !important;
}

.tribe-events .tribe-events-calendar-day__event-venue-title {
    display: inline !important;
    font-weight: 600 !important;
}

.tribe-events .tribe-events-calendar-day__event-venue-address {
    display: inline !important;
}


/* =====================================================
   DESCRIZIONE
   ===================================================== */

.tribe-events
.tribe-events-calendar-day__event-description.tribe-common-a11y-hidden {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;

    position: static !important;

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

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

    overflow: visible !important;

    clip: auto !important;
    clip-path: none !important;

    white-space: normal !important;

    font-size: 12px !important;
    line-height: 1.35 !important;

    color: #555 !important;
}


/* PARAGRAFO */
.tribe-events .tribe-events-calendar-day__event-description p {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
    font-size: 12px
}


/* =====================================================
   LEGGI TUTTO
   ===================================================== */

.tribe-events
.tribe-events-calendar-day__event-description .read-more {
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;

    gap: 5px;

    margin-top: auto !important;
    padding-top: 12px !important;

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

    color: var(--ds-color-primary) !important;
    text-decoration: none !important;
}

.tribe-events
.tribe-events-calendar-day__event-description .read-more::after {
    content: "→";
    display: inline-block;
}


/* =====================================================
   FOTO A DESTRA
   ===================================================== */

.tribe-events .tribe-events-calendar-day__event-featured-image-wrapper {
    grid-area: image;

    width: 100% !important;
    min-width: 0 !important;

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

.tribe-events .tribe-events-calendar-day__event-featured-image {
    display: block !important;

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

    object-fit: cover !important;

    border-radius: 4px !important;
}


/* =====================================================
   EVENTO SENZA FOTO
   ===================================================== */

.tribe-events
.tribe-events-calendar-day__event-content:not(
    :has(.tribe-events-calendar-day__event-featured-image-wrapper)
) {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "details" !important;
}
    
}






/*------------------------------------------------------------------
   Contents
-------------------------------------------------------------------*/
.excerpt-loop {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    overflow: hidden;
    text-overflow: ellipsis;
}





.tribe-events .datepicker .day.current, .tribe-events .datepicker .month.current, .tribe-events .datepicker .year.current {

    color: #fff ;
}



.tribe-filter-bar .tribe-filter-bar-c-multiselect .select2-results__option--highlighted{
	opacity: 0.7 !important
}



.filone-tematico-shhortcode .elementor-shortcode{
	text-transform: uppercase
}


.tec-events-elementor-event-widget__categories-link-wrapper{
	line-height: 1 !important
}

.tec-events-elementor-event-widget__venue-address-address{
	width: 80%
}





.tribe-events-calendar-list__event-venue-title {
    display: block !important;
    margin-bottom: 2px;
}

.tribe-events-calendar-list__event-venue-address {
    display: block !important;
}




.tec-events-elementor-event-widget__venue-name {
    display: none !important;
}

.ds-venue-name-inline {
    display: inline;
    font-weight: 500;
    text-decoration: underline
}


/* Nasconde tutto il blocco se la gallery non contiene elementi */
.ds-collaborazione-gallery:not(:has(.e-gallery-item)) {
  display: none !important;
}


#tribe-events-pg-template {
    margin: 0;
    max-width: 100%;
    min-width: 100%;
    padding: 0;
}

.ds-indirizzo-luogo {
  font-size: 16px;
}

.ds-sito-web-evento {
	font-size: 16px;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}



.text-dettagli p,
.text-dettagli a,
.text-dettagli span,
.text-dettagli div
{
	margin-bottom: 0;
	font-size: 15px !important;
	text-transform: uppercase !important
}




.e--pointer-double-line .elementor-item:after, .e--pointer-double-line .elementor-item:before, .e--pointer-overline .elementor-item:after, .e--pointer-overline .elementor-item:before, .e--pointer-underline .elementor-item:after, .e--pointer-underline .elementor-item:before {
    background-color: #fff;

}

.tec-events-elementor-event-widget__venue-map iframe{
	aspect-ratio: 16/9
}


.evento-loop .tec-events-elementor-event-widget__venue-container{
	display: flex !important
}

/* =========================
   OSPITI PRINCIPALI ACF
========================= */

.ds-ospiti-principali-list{
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	column-gap:64px;
	row-gap:36px;

	width:100%;
}

/* Singolo ospite */
.ds-ospite-item{
	display:flex;
	align-items:center;
	gap:16px;

	min-width:0;
}

/* Icona */
.ds-ospite-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;

	width:24px;
	height:24px;

	flex:0 0 24px;

	color:var(--ds-color-primary);
}

.ds-ospite-icon svg{
	display:block;

	width:22px;
	height:22px;

	fill:currentColor;
}

/* Nome */
.ds-ospite-name{
	display:block;

	color:var(--ds-color-black);

	font-family:var(--ds-heading-font-family);
	font-size:var(--ds-font-size);
	font-weight:500;
	line-height:1.2;

	white-space:normal;
}






/* =========================
   IMG HOVER CON COVER + ZOOM
========================= */

.img-hover{
	position:relative !important;
	overflow:hidden !important;
	isolation:isolate;
}

/* Background gestito dallo pseudo-elemento */
.img-hover::before{
	content:"";
	position:absolute;
	inset:0;

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

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

	z-index:0;
}

/* Zoom */
.img-hover:hover::before{
	transform:scale(1.08);
}

/* Overlay nero leggero */
.img-hover::after{
	content:"";
	position:absolute;
	inset:0;

	background:rgba(0,0,0,.22);

	z-index:1;
	pointer-events:none;

	transition:background .3s ease;
}

/* Overlay più intenso in hover */
.img-hover:hover::after{
	background:rgba(0,0,0,.3);
}

/* Contenuti sopra */
.img-hover > *{
	position:relative;
	z-index:2;
}





.elementor-countdown-item:not(:first-of-type) {
    margin-top: calc(20px / 2);
    margin-left: calc(20px / 2);
}


/* =========================
   FIX LOOP CAROUSEL ELEMENTOR
   evita che il template venga tagliato/compressso
========================= */

.servizi-loop-carousel .swiper-wrapper{
	align-items:stretch !important;
}

.servizi-loop-carousel .swiper-slide{
	height:auto !important;
	display:flex !important;
	align-items:stretch !important;
}

.servizi-loop-carousel .swiper-slide > .elementor{
	width:100% !important;
	height:100% !important;
	display:flex !important;
}

.servizi-loop-carousel .swiper-slide > .elementor > .elementor-element{
	width:100% !important;
	height:100% !important;
}



.loop-carousel-servizio{
	display: flex !important;
	justify-content: space-between;
	min-width: 100%
}




/* MAPPA */
.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;
}


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


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


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

}









.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-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px !important;
  height: 40px;
  border-radius: var(--ds-radius-pill);
}

.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 DS THEME
========================= */

#faq-dstheme{
	width:100%;
}

/* Container */
#faq-dstheme .faq-container{
	max-width:100%;
	margin:0 auto;

	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:22px;

	align-items:start;
}

/* Titolo se presente */
#faq-dstheme .faq-title{
	grid-column:1 / -1;

	margin:0 0 24px;

	color:var(--ds-color-primary);
	font-size:var(--ds-font-size-h3);
	font-weight:700;
	line-height:1.1;
	text-align:center;
}

/* Item base */
#faq-dstheme .faq-item{
	background:#fff;

	border:1px solid #111;
	border-radius:18px;

	overflow:hidden;

	box-shadow:none;

	transition:
		background .3s ease,
		border-color .3s ease,
		color .3s ease;
}

/* Domanda */
#faq-dstheme .faq-question{
	width:100%;

	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:40px;

	padding:24px 26px;

	background:transparent;
	border:0;

	color:#111;

	font-size:18px;
	font-weight:700;
	line-height:1.35;
	text-align:left;

	cursor:pointer;

	text-decoration:none !important;

	transition:
		background .3s ease,
		color .3s ease;
}

#faq-dstheme .faq-question:hover{
	background:transparent;
	color:#111;
}

/* Testo domanda */
#faq-dstheme .faq-question span:first-child{
	display:block;
	max-width:calc(100% - 42px);
}

/* Risposta */
#faq-dstheme .faq-answer{
	max-height:0;

	overflow:hidden;

	padding:0 26px;

	background:transparent;

	color:#fff;

	font-size:16px;
	font-weight:400;
	line-height:1.45;

	transition:
		max-height .4s ease,
		padding .4s ease,
		opacity .3s ease;

	opacity:0;
}




/* =========================
   FAQ ICON 
========================= */

#faq-dstheme .faq-icon{
	width:26px;
	height:26px;

	flex:0 0 26px;

	display:block;

	background-image:url("https://dacuna.studio/clienti/spaziofiniture/wp-content/uploads/2026/06/arrow-right-up-green.png");
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;

	font-size:0;
	line-height:1;

		transform: rotate(90deg);
		transition: all 0.3s ease

}


/* stato aperto */
#faq-dstheme .faq-item.active .faq-icon{
	background-image:url("https://dacuna.studio/clienti/spaziofiniture/wp-content/uploads/2026/06/arrow-right-up-green.png");
	transform: rotate(0deg)
}




/* =========================
   STATO APERTO
========================= */

#faq-dstheme .faq-item.active{
	background:#4A4A4A;
	border-color:#4A4A4A;
	border-radius:20px;
}

#faq-dstheme .faq-item.active .faq-question{
	color:#fff;
	padding:28px 26px 14px;
}

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

#faq-dstheme .faq-item.active .faq-answer{
	max-height:420px;

	padding:8px 26px 30px;

	opacity:1;
}


/* =========================
   RESPONSIVE
========================= */

@media(max-width:768px){

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

	#faq-dstheme .faq-question{
		padding:20px 22px;

		font-size:16px;
	}

	#faq-dstheme .faq-item.active .faq-question{
		padding:22px 22px 12px;
	}

	#faq-dstheme .faq-answer{
		font-size:14px;
		padding:0 22px;
	}

	#faq-dstheme .faq-item.active .faq-answer{
		padding:8px 22px 24px;
	}

	#faq-dstheme .faq-icon{
		width:24px;
		height:24px;
		flex-basis:24px;
	}

	#faq-dstheme .faq-icon::before{
		width:18px;
		height:3px;
	}

	#faq-dstheme .faq-icon::after{
		width:10px;
		height:10px;
		right:4px;
		top:4px;
	}

}





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





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

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

.footer-widgets a:hover {
    color: var(--ds-link-hover-site-info) !important; 
}

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

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

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


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

.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 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-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: 30px !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 3px !important;
}
.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: 30px;
	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;
}
.content-dark .social-circle i {
	color: #fff;
}

/****** 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 PARTNER
   Classe: .ds-partner-form
========================= */

.ds-cf7-minimal-form.ds-partner-form{
	width:100%;
	color:#6B6B6B;
}

/* Reset CF7 */
.ds-cf7-minimal-form.ds-partner-form br{
	display:none !important;
}

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

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

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

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

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

	column-gap:28px;
	row-gap:18px;
}

.ds-cf7-minimal-form.ds-partner-form .ds-form-row{
	margin-bottom:18px !important;
}

.ds-cf7-minimal-form.ds-partner-form .ds-form-row > [class*="col-"],
.ds-cf7-minimal-form.ds-partner-form .ds-form-footer > [class*="col-"]{
	display:flex !important;
	flex-direction:column !important;
	min-width:0 !important;
}

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

@media(min-width:768px){

	.ds-cf7-minimal-form.ds-partner-form .col-md-6{
		flex:0 0 calc(50% - 14px) !important;
		max-width:calc(50% - 14px) !important;
		width:calc(50% - 14px) !important;
	}

	.ds-cf7-minimal-form.ds-partner-form .col-md-8{
		flex:0 0 calc(66.666% - 14px) !important;
		max-width:calc(66.666% - 14px) !important;
		width:calc(66.666% - 14px) !important;
	}

	.ds-cf7-minimal-form.ds-partner-form .col-md-4{
		flex:0 0 calc(33.333% - 14px) !important;
		max-width:calc(33.333% - 14px) !important;
		width:calc(33.333% - 14px) !important;
	}
	
	
	
	

}

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

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

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

	color:#6B6B6B !important;

	font-size:12px !important;
	font-weight:700 !important;
	line-height:1.2 !important;
}




/* =========================
   SELECT FORM PARTNER / CONTATTO
========================= */

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

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

/* Select */
.ds-cf7-minimal-form.ds-partner-form select,
.ds-cf7-minimal-form.ds-partner-form .ds-form-select{
	display:block !important;

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

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

	padding:12px 48px 12px 16px !important;

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

	background:#F4F2EF !important;
	color:#6B6B6B !important;

	font-size:14px !important;
	font-weight:500 !important;
	line-height:1.2 !important;

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

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

	cursor:pointer !important;
}

/* Focus select */
.ds-cf7-minimal-form.ds-partner-form select:focus,
.ds-cf7-minimal-form.ds-partner-form .ds-form-select:focus{
	background:#fff !important;
	border:1px solid var(--ds-color-primary, #F29200) !important;
	color:#6B6B6B !important;
}

/* Freccia select */
.ds-cf7-minimal-form.ds-partner-form .ds-select-field .wpcf7-form-control-wrap::after{
	content:"" !important;
	position:absolute !important;

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

	width:10px !important;
	height:10px !important;

	border-right:2px solid #6B6B6B !important;
	border-bottom:2px solid #6B6B6B !important;

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

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

/* Rimuove eventuali icone precedenti */
.ds-cf7-minimal-form.ds-partner-form .ds-select-field .wpcf7-form-control-wrap::before{
	display:none !important;
	content:none !important;
}

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

.ds-cf7-minimal-form.ds-partner-form input[type="text"],
.ds-cf7-minimal-form.ds-partner-form input[type="email"],
.ds-cf7-minimal-form.ds-partner-form input[type="tel"],
.ds-cf7-minimal-form.ds-partner-form textarea{
	display:block !important;

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

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

	background:#F4F2EF !important;
	color:#6B6B6B !important;

	font-size:14px !important;
	font-weight:500 !important;
	line-height:1.2 !important;

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

	box-sizing:border-box !important;

	transition:
		border-color .25s ease,
		background-color .25s ease,
		color .25s ease;
}

/* Altezza campi */
.ds-cf7-minimal-form.ds-partner-form input[type="text"],
.ds-cf7-minimal-form.ds-partner-form input[type="email"],
.ds-cf7-minimal-form.ds-partner-form input[type="tel"]{
	height:48px !important;
	min-height:48px !important;
	padding:12px 16px !important;
}

/* Textarea */
.ds-cf7-minimal-form.ds-partner-form textarea{
	height:150px !important;
	min-height:150px !important;
	max-height:150px !important;

	padding:18px 16px !important;

	border-radius:8px !important;

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

/* Placeholder */
.ds-cf7-minimal-form.ds-partner-form input::placeholder,
.ds-cf7-minimal-form.ds-partner-form textarea::placeholder{
	color:rgba(107,107,107,.55) !important;
}

/* Focus */
.ds-cf7-minimal-form.ds-partner-form input:focus,
.ds-cf7-minimal-form.ds-partner-form textarea:focus{
	background:#fff !important;
	color:#6B6B6B !important;

	border:1px solid var(--ds-color-primary, #F29200) !important;

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

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

.ds-cf7-minimal-form.ds-partner-form .ds-form-footer{
	display:flex !important;
	flex-wrap:wrap !important;
	align-items:flex-end !important;

	width:100% !important;

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

	margin-top:26px !important;
}

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

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

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

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

	color:#6B6B6B !important;

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

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

	color:#6B6B6B !important;

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

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

	flex:0 0 13px !important;

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

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

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

	background:transparent !important;

	cursor:pointer !important;
}

.ds-cf7-minimal-form.ds-partner-form .ds-privacy-checks input[type="checkbox"]:checked{
	background:var(--ds-color-primary, #F29200) !important;
	border-color:var(--ds-color-primary, #F29200) !important;
	box-shadow:inset 0 0 0 3px #fff !important;
}

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

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

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

	width:auto !important;
	min-width:150px !important;
	min-height:46px !important;

	padding:0 24px !important;

	border:1px solid var(--ds-color-primary, #F29200) !important;
	border-radius:10px !important;

	background:var(--ds-color-primary, #F29200) !important;
	color:#fff !important;

	font-size:14px !important;
	font-weight:700 !important;
	line-height:1 !important;
	text-align:center !important;

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

	cursor:pointer !important;

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

.ds-cf7-minimal-form.ds-partner-form input[type="submit"]:hover,
.ds-cf7-minimal-form.ds-partner-form .ds-submit-button:hover{
	background:transparent !important;
	color:var(--ds-color-primary, #F29200) !important;
	border-color:var(--ds-color-primary, #F29200) !important;

	transform:translateY(-2px);
}

/* Disabled */
.ds-cf7-minimal-form.ds-partner-form input[type="submit"][disabled]{
	opacity:1 !important;
	cursor:pointer !important;
}

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

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

	color:#c00000 !important;

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

/* =========================
   MESSAGGI CF7
========================= */

.ds-cf7-minimal-form + .wpcf7-response-output,
.ds-cf7-minimal-form .wpcf7-response-output,
.wpcf7 form .ds-cf7-minimal-form ~ .wpcf7-response-output{
	display:none !important;
}

/* Successo */
.wpcf7 form.sent .wpcf7-response-output{
	display:block !important;

	width:100% !important;

	margin:24px 0 0 !important;
	padding:14px 18px !important;

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

	background:#DFF3E6 !important;
	color:#14532D !important;

	font-size:14px !important;
	font-weight:600 !important;
	line-height:1.4 !important;

	box-shadow:none !important;
}

/* Errore globale */
.wpcf7 form.invalid .ds-cf7-minimal-form ~ .wpcf7-response-output,
.wpcf7 form.unaccepted .ds-cf7-minimal-form ~ .wpcf7-response-output,
.wpcf7 form.failed .ds-cf7-minimal-form ~ .wpcf7-response-output{
	display:block !important;

	width:100% !important;

	margin:24px 0 0 !important;
	padding:14px 18px !important;

	border:1px solid #E53935 !important;
	border-radius:10px !important;

	background:#FDECEC !important;
	color:#8A1F1F !important;

	font-size:14px !important;
	font-weight:600 !important;
	line-height:1.4 !important;

	box-shadow:none !important;
}

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

@media(max-width:767px){

	.ds-cf7-minimal-form.ds-partner-form .row{
		row-gap:16px !important;
	}

	.ds-cf7-minimal-form.ds-partner-form .ds-form-row{
		margin-bottom:16px !important;
	}

	.ds-cf7-minimal-form.ds-partner-form .col-12,
	.ds-cf7-minimal-form.ds-partner-form .col-md-6,
	.ds-cf7-minimal-form.ds-partner-form .col-md-8,
	.ds-cf7-minimal-form.ds-partner-form .col-md-4{
		flex:0 0 100% !important;
		max-width:100% !important;
		width:100% !important;
	}

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

	.ds-cf7-minimal-form.ds-partner-form .ds-form-footer{
		flex-direction:column !important;
		align-items:stretch !important;
		gap:22px !important;
	}

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

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

}


/* Successo*/
.ds-cf7-minimal-form + .wpcf7-response-output,
.ds-cf7-minimal-form .wpcf7-response-output,
.wpcf7 form .ds-cf7-minimal-form ~ .wpcf7-response-output{
	display:none !important;
}

/* Messaggio successo */
.wpcf7 form.sent .wpcf7-response-output{
	display:block !important;

	width:100% !important;

	margin:24px 0 0 !important;
	padding:14px 18px !important;

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

	background:#DFF3E6 !important;
	color:#14532D !important;

	font-size:14px !important;
	font-weight:600 !important;
	line-height:1.4 !important;

	box-shadow:none !important;
}



.ds-cf7-minimal-form .wpcf7-response-output{
	margin:18px 0 0 !important;
	padding:12px 14px !important;
	border-radius:10px !important;
	font-size:13px;
	line-height:1.4;
}




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


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

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


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

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

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


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

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


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


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

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

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


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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 14px !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%;

  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: 1500px) {
.nav-header .elementor-item{
	font-size: 14px !important;
padding-left: 12px !important;
    padding-right: 12px !important;
}

}

@media (max-width: 1366px) {
	
	.elementor-element :where(.swiper-horizontal) ~ .swiper-pagination-progressbar,
.elementor-lightbox :where(.swiper-horizontal) ~ .swiper-pagination-progressbar{
	width:100%;
}
.menu-footer ul a,
.menu-footer .elementor-nav-menu a,
.menu-footer .elementor-item{

	font-size: 14px
}

.hero-sm{
	height: 45vh;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {

    padding: 50px !important;
}
.tribe-common--breakpoint-medium.tribe-events
.tribe-events-header {

	margin: 45vh 0 45px !important;

}

}





@media (max-width: 1024px) {
	

/* Applica le 2 colonne soltanto quando il sottomenu è aperto */
.menu-edizioni  li.menu-open .sub-menu{
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}




.ds-indirizzo-luogo {
  font-size: 14px;
}
 	.ds-ospiti-principali-list{
		grid-template-columns:repeat(3, minmax(0, 1fr));
		column-gap:40px;
		row-gap:28px;
	}
	.ds-ospite-name{
		font-size:14px !important;
		line-height:1.25 !important;
	}
	
	
.menu-footer ul a,
.menu-footer .elementor-nav-menu a,
.menu-footer .elementor-item{

	text-align: center !important
}
.menu-footer ul li, .menu-footer .elementor-nav-menu li, .menu-footer .menu-item {
    display: flex;
    justify-content: center;
}
ul.social-network {
    display: flex;
}
	
  .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) {
	.hero-sm{
	padding-bottom: 40px;
}


.text-dettagli p,
.text-dettagli a,
.text-dettagli span
{
	font-size: 13px !important;
	text-transform: uppercase !important
}	
	
	
	
/* Applica le 2 colonne soltanto quando il sottomenu è aperto */
.menu-edizioni  li.menu-open .sub-menu{
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}



	
.ds-indirizzo-luogo {
  font-size: 12px;
}

  
  		.ds-ospiti-principali-list{
		grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
		column-gap:20px !important;
		row-gap:20px !important;
	}

	.ds-ospite-item{
		gap:10px !important;
		align-items:center !important;
	}

	.ds-ospite-icon{
		width:18px !important;
		height:18px !important;
		flex:0 0 18px !important;
	}

	.ds-ospite-icon svg{
		width:16px !important;
		height:16px !important;
	}

	.ds-ospite-name{
		font-size:12px !important;
		line-height:1.25 !important;
	}
	
	
.elementor-button{
	padding: 12px 10px;
	font-size:14px!important;
}
	
	
.elementor-element :where(.swiper-horizontal) ~ .swiper-pagination-progressbar,
.elementor-lightbox :where(.swiper-horizontal) ~ .swiper-pagination-progressbar{
	width:60% !important;
}
	
/* 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"] {
  padding: 12px 14px !important;

  font-size: 14px !important;
}

	

	:root {
		
		--ds-font-size: 0.9rem
	}
	
		.why-slide{
		grid-template-columns:1fr;
	}

	.why-slide-image{
		min-height:220px;
	}

	.why-slide-content{
		padding:32px 28px;
	}

	.why-slider-dots{
		margin-top:28px;
	}
	
  .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 */


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



/* BLOCCO LUOGO */
.tec-events-elementor-event-widget__venue-container {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    height: auto !important;
    min-height: 0 !important;
}

/* Dettagli luogo */
.tec-events-elementor-event-widget__venue-details {
    height: auto !important;
    min-height: 0 !important;
}

/* Mappa */
.tec-events-elementor-event-widget__venue-map {
    aspect-ratio: 3/2;
    width: 100%;
    margin-top: 0 !important;
}
  
  
 .tec-events-elementor-event-widget__venue-address-address{
	width: 80%
}
 
  
  
}


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

