/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.9.1779866508
Updated: 2026-05-27 09:21:48

*/

/* Evita che Elementor aggiunga effetti al passaggio del mouse o allo scroll */
.elementor-widget, .elementor-column, .elementor-widget-container {
    transition: none !important;
}

/* abilitazione view-transitions */
@view-transition { navigation: auto; }

::view-transition-group(*) {
  animation-duration: 0.75s;
}

:root{
	--celeste:#00AEEF;
	--azzurro:#125872;
	--blu:#0b1f34;
	
	--fs-sm: clamp(1rem, 0.95rem + 0.3vw, 1.125rem);
    --fs-rg: clamp(1.125rem, 1rem + 0.6vw, 1.375rem);
    --fs-md: clamp(1.375rem, 1.15rem + 1vw, 1.875rem);
    --fs-lg: clamp(1.75rem, 1.35rem + 1.5vw, 2.5rem);
    --fs-xl: clamp(2rem, 1.5rem + 2vw, 3rem);
    --fs-xxl: clamp(2.25rem, 1.722rem + 2.25vw, 4rem);
}

.fs-xxl {
	font-size: var(--fs-xxl);
	line-height:1.1;
}
.fs-xl {
	font-size: var(--fs-xl)!important;
	line-height:1.1;
}
.fs-lg {
	font-size: var(--fs-lg)!important;
}
.fs-md {
	font-size: var(--fs-md)!important;
}
.fs-rg {
	font-size: var(--fs-rg)!important;
}
.fs-sm {
	font-size: var(--fs-sm)!important;
}


.celeste {
	color:var(--celeste) !important;
}
.azzurro {
	color:var(--azzurro) !important;
}
.blu {
	color:var(--blu) !important;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Manrope', sans-serif;
}
p, li, a {
	font-family: 'Poppins', sans-serif;
}

.section-wrap {
	max-width: 1366px !important;
}
.p100-50 {
	padding: 100px 50px 100px 50px !important;
}
.p50-50 {
	padding: 50px 50px !important;
}

@media(max-width: 1024px) {
	br {
		display: none !important;
	}
	#copy-footer br {
		display: block !important;
	}
}

@media(max-width: 640px) {
	.p100-50, .p50-50 {
		padding: 50px 20px 50px 20px !important;
	}
}



.form-newsletter {
	display: none !important
}

a {
    color:var(--celeste);
    text-decoration: none;
}
a:hover {
    color:var(--azzurro);
    text-decoration: none;
}

/****************** PULSANTE ***************/
.main-cta {
  position: relative;
  overflow: hidden;
  background-color: #ffffff;
  color: #000000;
  border-radius: 50px;
  border: 1px solid #e5e7eb;
  padding: 12px 24px; 
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 1;
}

.main-cta:hover {
  color: transparent; 
  border-radius: 0px; 
}

.main-cta::before {
  content: "Raccontami la tua storia";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  color: var(--blu);
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(100%); /* Lo posiziona fuori dal pulsante, in basso */
  opacity: 0;
  transition: all 0.3s ease;
  z-index: 2;
  border-radius: 0px;
}
.about-cta::before {
  content: "Scopri di più su di me";
	background-color: var(--blu);
	color: #fff;
}

/* L'animazione: fa salire il riquadro dal basso */
.main-cta:hover::before {
  transform: translateY(0);
  opacity: 1;
}

@media(max-width:640px){
	.main-cta {
  padding: 10px 12px; 
}
}


/****************** NAVIGAZIONE CAROSELLI ***************/
.swiper-pagination-bullet {
  transition: width 0.3s ease-out, background-color 0.3s ease;
  background-color: #ccc; 
  width: 10px; 
  height: 10px;
}

.swiper-pagination-bullet-active {
  width: 30px !important; 
  background-color: var(--celeste) !important; 
  border-radius: 10px !important; 
  transition: width 0.3s ease-out, background-color 0.3s ease;
}

/****************************************************/
/************* FORM ************************/
/****************************************************/
#form-informazioni .elementor-field-type-acceptance label {
  font-size: 14px;
  color: #000;
}
#form-informazioni .elementor-field-type-acceptance label a {
  font-size: 14px;
}

#form-informazioni .elementor-message {
	background: #fff;
    padding: 20px 20px;
    border-radius: 10px;
}

#form-informazioni .elementor-form-fields-wrapper > div {
	position: relative;
}
#form-informazioni label {
	color: #333;
    position: absolute;
    z-index: 2;
    font-size: 16px;
    top: 6px;
    left: 12px;
}

#form-informazioni input[type="text"],
#form-informazioni input[type="email"],
#form-informazioni input[type="number"],
#form-informazioni select,
#form-informazioni textarea {
	padding: 16px 6px 0px 6px;
}
#form-informazioni textarea{
	padding: 24px 6px 0px 6px !important;
}
#form-informazioni .elementor-field-type-acceptance label {
	left:28px;
}

#form-informazioni button {
	margin-top:20px;
}

.elementor-field-type-acceptance {
	margin-bottom:15px !important;
}


  /* =========================
   ROBERTO FUNARI NEWSLETTER
   High specificity override
  ========================= */
  
 /* Card newsletter */
#rf-newsletter-form {
  position: relative;
  display: block;
  padding: 32px;
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.035);
  overflow: hidden;
}

/* Wrapper email */
#rf-newsletter-email {
  position: relative;
  display: block;
  width: 100%;
  margin-top: 22px;
}

/* Campo email */
#rf-newsletter-email input[type="email"] {
  display: block;
  width: 100%;
  height: 52px;
  padding: 0 60px 0 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.055);
  color: #ffffff;
  outline: none;
  box-sizing: border-box;
	transition:
    border-color 0.25s ease,
    background 0.25s ease,
    box-shadow 0.25s ease;
}

#rf-newsletter-email input[type="email"]::placeholder {
  color: rgba(255, 255, 255, 0.58);
}

#rf-newsletter-email input[type="email"]:hover {
  border-color: var(--celeste);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--celeste) 18%, transparent);
}

#rf-newsletter-email input[type="email"]:focus {
  border-color: var(--celeste);
  background: rgba(255, 255, 255, 0.085);
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--celeste) 22%, transparent),
    0 0 22px color-mix(in srgb, var(--celeste) 32%, transparent);
}

/* Bottone */
#rf-newsletter-email button[type="submit"] {
  position: absolute;
  top: 50%;
  right: 6px;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #071d34;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#rf-newsletter-email button[type="submit"]:hover {
  transform: translateY(-50%) translateX(2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
	background: var(--celeste);
}

#rf-newsletter-email button[type="submit"]:active {
  transform: translateY(-50%) scale(0.94);
}

/* Privacy */
#rf-newsletter-privacy {
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 10px;
}

#rf-newsletter-privacy input[type="checkbox"] {
  width: 16px;
  height: 16px;
margin-top: 4px;	
}

#rf-newsletter-privacy label {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.68);
}

#rf-newsletter-privacy a {
  color: #ffffff;
  text-decoration: underline;
}