/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


/* =======================
    MENU
========================== */

.nav-menu{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	background: transparent;
	transition: background-color .3s ease;
}
.nav-menu,
.nav-menu .e-con,
.nav-menu .elementor-container{
	height: auto;
}
.nav-menu{
	min-height: 0;
}
.nav-menu img{
	display: block;                 /* evita spazi strani sotto l'immagine */
	height: auto;
	transform-origin: left center;  /* riduce verso sinistra (più naturale) */
	transition: transform .3s ease;
}
.nav-menu.scrolled{
	background-color: #1d2941;
}
.nav-menu.scrolled img{
	transform: scale(0.65);
}
/* Riduce altezza reale della navbar quando è in stato scrolled */
.nav-menu.scrolled{
  background-color: #1d2941;
}
/* Riduce altezza interna dei container Elementor */
.nav-menu.scrolled .e-con,
.nav-menu.scrolled .elementor-container{
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Riduce altezza delle voci di menu */
.nav-menu.scrolled .elementor-nav-menu--main .elementor-item{
  line-height: 35px;   /* qui controlli l’altezza finale */
  padding-top: 0;
  padding-bottom: 0;
}

/* Logo già ok, ma lo riallineiamo verticalmente */
.nav-menu.scrolled img{
  transform: scale(0.65);
  transform-origin: left center;
}

/* =======================
    HOMEPAGE
========================== */
.giallo {
  color: #F3A73B;
}
.icon-circle{
    width: 80px;
    height: 80px;
    border: 2px solid #F3A73B;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;   
} /* icona calendario */
.icon-circle svg{
    width: 55%;
    height: 55%;
    display: block;
} /* icona calendario */
.icon-circle svg path{
    fill: #F3A73B;
} /* icona calendario */
.szum-hero{
  position: relative;
  overflow: hidden;
} /* Sezione (container rosso) */
.szum-hero .e-con{
  position: relative;
  z-index: 2;
} /* Contenuto (testo) sopra */
.szum-hero .szum-person{
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  will-change: left, transform;
} /* PNG persona (widget) */
.szum-hero .szum-person img{
  width: auto !important;
  max-width: none !important;
  height: clamp(380px, 80vh, 640px);
  display: block;
} /* L'immagine vera e propria dentro al widget */

/* ================================
    TABELLE ELEZIONI TRASPARENTI
=================================== */
.tablepress {
    --text-color: #1d2941;
    --head-text-color: #ffffff;
    --head-bg-color: #ab2216;
    --odd-text-color: var(--text-color);
    --odd-bg-color: #fff;
    --even-text-color: var(--text-color);
    --even-bg-color: #f9f9f9;
    --hover-text-color: var(--text-color);
    --hover-bg-color: #f3f3f3;
    --border-color: #ddd;
    --padding: 0.5rem;
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
    clear: both;
    margin: 0 auto 1rem;
    table-layout: auto;
    width: 100%;
}
.tablepress a {
	color: #1d2941;
	text-decoration: underline;
}

/* ===========================
    CAROSELLO ARTICOLI
============================== */
.elementor-element-13c217a{
  overflow: hidden;
} /* Il "ritaglio" del layout lo fa il container esterno (non Swiper) */
.elementor-element-5f7a5cc,
.elementor-element-5f7a5cc .swiper,
.elementor-element-5f7a5cc .swiper-wrapper,
.elementor-element-5f7a5cc .swiper-slide{
  overflow: visible !important;
} /* Swiper NON deve tagliare le ombre delle card */
.elementor-element-5f7a5cc .swiper{
  padding-left: 24px;
  padding-right: 24px;
  padding-bottom: 24px;
  box-sizing: border-box;
} /* Spazio reale per mostrare le ombre */
.elementor-element-5f7a5cc .swiper-slide{
  position: relative;
} /* Evita che le slide si "coprano" e nascondano le ombre */
.elementor-element-5f7a5cc .swiper-slide-active{
  z-index: 2;
}

/* ===========================
    ARTICOLI
============================== */
/* Togli i bullet di default */
.arrow-list{
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Spaziatura righe */
.arrow-list li{
  margin: 0 0 10px 0;
}

/* Icona */
.arrow-list li .fa{
  color: #F3A73B;
  margin-right: 10px;
  font-size: 18px;
  vertical-align: middle;
}
.link-color {
  color: #ab2216;
}

/* ===========================
    PRIVACY POLICY
============================== */
.rv-privacy-policy{
  max-width:900px;
  margin:0 auto;
  color:#1f2937;
  font-size:17px;
  line-height:1.75;
}

.rv-privacy-policy h1{font-size:34px;line-height:1.2;margin-bottom:16px;}
.rv-privacy-policy h2{font-size:28px;margin-top:40px;}
.rv-privacy-policy h3{font-size:22px;margin-top:24px;}

.rv-privacy-policy ul{padding-left:22px;}

.rv-box{
  margin:30px 0;
  padding:22px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#f8fafc;
}

.rv-privacy-policy a {
  color: #AB2216;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s ease;
}

.rv-privacy-policy a:hover {
  color: #F3A73B;
}

.rv-privacy-policy a:visited {
  color: #AB2216;
}

.rv-privacy-policy hr{
  margin:40px 0;
  border:0;
  border-top:1px solid #e5e7eb;
}

.rv-update{
  font-size:14px;
  color:#6b7280;
}
