/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* GeneratePress Site CSS */ 

/****************************/
/* ____FRAMEWORK CSS PP ____*/
/****************************/
/**
 * The main template file.
 *
 * This is the css file for FONT, PADDING e MARGIN
 * of the standard theme (the other being style.css).
 *
 * @package GeneratePress & FRAMEWORD CSS PAOLO PELI
 */

/* ! Helpers  */


*,*:before,*:after{ box-sizing: border-box; }

div.pointer  {cursor:pointer !important;}

/* ! FONT System */

a {text-decoration:none !important;}
/*a {text-decoration:none; color:#000000 !important; font-weight:400;}*/
a:hover {text-decoration:none; font-weight:400; color:#464646 !important;}

h1.titolohome  {
    font-size: 70px !important; 
	line-height:80px;
	font-weight:800;
	font-family:Inter;
  }

@media (max-width: 999px) {
  h1.titolohome {
    font-size: 40px !important; 
	margin-bottom:0.3rem; 
	font-weight:700 !important; 
	line-height: 38px !important; 
  }
} 

p.sotto-titolohome  {
    font-size: 30px !important; 
	line-height:30px;
	font-weight:800;
	font-family:Inter;
  }

@media (max-width: 999px) {
  p.sotto-titolohome {
    font-size: 22px !important; 
	margin-bottom:0.3rem; 
	font-weight:400 !important; 
	line-height: 25px !important; 
  }
} 

h1.titoligrandi  {
    font-size: 70px !important; 
	line-height:70px;
	font-weight:400;
  }

@media (max-width: 999px) {
  h1.titoligrandi {
    font-size: 36px !important; 
	margin-bottom:0.3rem; 
	font-weight:500 !important; 
	line-height: 38px !important; 
  }
} 

h1.titoligrandi_2  {
    font-size: 50px !important; 
	line-height:50px;
	font-weight:400;
  }

@media (max-width: 999px) {
  h1.titoligrandi_2 {
    font-size: 30px !important; 
	margin-bottom:0.3rem; 
	font-weight:500 !important; 
	line-height: 30px !important; 
  }
} 

h2.titoligrandi  {
    font-size: 50px !important; 
	line-height:52px;
	font-weight:400;
  }

@media (max-width: 999px) {
  h2.titoligrandi {
    font-size: 28px !important; 
	margin-bottom:0.3rem; 
	font-weight:500;
	line-height: 30px !important;
  }
} 

h3.titoligrandi  {
    font-size: 30px !important; 
	line-height:31px;
	font-weight:400;
  }

@media (max-width: 999px) {
  h3.titoligrandi {
    font-size: 21px !important; 
	margin-bottom:0.3rem; 
	font-weight:500;
	line-height: 22px !important;
  }
} 

.testo-grande-0  {
    font-size: 21px !important; 
	line-height:21px;
	font-weight:600;
  }

@media (max-width: 999px) {
  .testo-grande-0  {
    font-size: 19px !important; 
	line-height:20px;
	font-weight:400;
  }
} 

.testo-grande-1  {
    font-size: 21px !important; 
	line-height:21px;
	font-weight:100;
  }

@media (max-width: 999px) {
  .testo-grande-1  {
    font-size: 19px !important; 
	line-height:20px;
	font-weight:100;
  }
} 

.testo-grande-2  {
    font-size: 18px !important; 
	line-height:24px;
	font-weight:100;
  }

@media (max-width: 999px) {
  .testo-grande-2  {
    font-size: 17px !important; 
	line-height:20px;
	font-weight:100;
  }
} 

.numerigrandi  {
    font-size: 50px !important; 
	/*line-height:34px;*/
	font-weight:900;
  }

@media (max-width: 999px) {
  .numerigrandi  {
    font-size: 30px !important; 
	/*line-height:32px;*/
	font-weight:100;
  }
} 

.numerigrandi-2  {
    font-size: 70px !important; 
	/*line-height:34px;*/
	font-weight:900;
  }

@media (max-width: 999px) {
  .numerigrandi-2  {
    font-size: 40px !important; 
	/*line-height:32px;*/
	font-weight:300;
  }
} 

/**************************/
/******* Z-INDEX *** *****/
/**************************/

.zindex10 {z-index:10;}

/**************************/
/******* BORDER RADIUS *****/
/**************************/

.wp-block-media-text__media img {border-radius:9px;}

.border-radius11 img {border-radius:9px;}

/****************************/
/*____ PADDING E MARGIN ____*/
/****************************/

.left0 {left: 0px;}

.padding10 {padding:10px;}
.padding20 {padding:20px !important;}

.pt8 {padding-top:8px;}
.pt10 {padding-top:10px;}
.pt20 {padding-top:20px;}
.pt40 {padding-top:40px;}
.pt60 {padding-top:60px;}
.pt80 {padding-top:80px;}
.pt120 {padding-top:120px;}

.pb10 {padding-bottom:10px;}
.pb20 {padding-bottom:20px;}
.pb40 {padding-bottom:40px;}
.pb60 {padding-bottom:60px;}
.pb80 {padding-bottom:80px;}
.pb120 {padding-bottom:120px;}

.pr10 {padding-right:10px;}
.pr15 {padding-right:15px;}
.pr20 {padding-right:20px;}
.pr40 {padding-right:40px;}
.pr60 {padding-right:60px;}
.pr80 {padding-right:80px;}

.pl10 {padding-left:10px;}
.pl18 {padding-left:18px;}
.pl20 {padding-left:20px;}
.pl40 {padding-left:40px;}
.pl60 {padding-left:60px;}
.pl80 {padding-left:80px;}

/****************************/

.mt10 {margin-top:10px;}
.mt20 {margin-top:20px;}
.mt40 {margin-top:40px;}
.mt60 {margin-top:60px;}
.mt80 {margin-top:80px;}

.mb10 {margin-bottom:10px;}
.mb20 {margin-bottom:20px;}
.mb40 {margin-bottom:40px;}
.mb60 {margin-bottom:60px;}
.mb80 {margin-bottom:80px;}

.mr10 {margin-right:10px;}
.mr20 {margin-right:20px;}
.mr40 {margin-right:40px;}
.mr60 {margin-right:60px;}
.mr100 {margin-right:100px;}

.ml10 {margin-left:10px;}
.ml20 {margin-left:20px;}
.ml40 {margin-left:40px;}
.ml50 {margin-left:60px;}
.ml100 {margin-left:100px;}

/******/

.mr-20 {margin-right:-20px !important;}
.mr-40 {margin-right:-40px !important;}

.ml-20 {margin-left:-20px !important;}
.ml-40 {margin-left:-40px !important;}

.mt-10 {margin-top:-10px;}
.mt-20 {margin-top:-20px;}
.mt-40 {margin-top:-40px;}
.mt-80 {margin-top:-80px !important;}

.mb-10 {margin-bottom:-10px !important;}
.mb-20 {margin-bottom:-20px !important;}
.mb-40 {margin-bottom:-40px !important;}
.mb-50 {margin-bottom:-50px !important;}

/****************************/
/*___ PERSONMALIZZO font ___*/
/****************************/

.fs11 {font-size: 11px !important;}
.fs13 {font-size: 13px !important;}
.fs18 {font-size: 18px !important;}
.fs20 {font-size: 20px !important;}
.fs28 {font-size: 28px !important;}
.fs80 {font-size: 80px !important;}

/****************************/
/*______ ALLINEAMENTI ______*/
/****************************/

.text-center { text-align: center !important; }
.text-right { text-align: right !important; }
.text-left { text-align: left; }
.allineoalcentro {margin:0 auto;}

/****************************/
/*___ SOTTOLINEATO e non ___*/
/****************************/

.underline {text-decoration:underline;}
.text-no-deco {text-decoration:none !important;}
.text-no-deco a {text-decoration:none !important;}
.text-no-deco a:hover {text-decoration:none !important; color:#464646}
.text-no-deco-bianco a:hover {text-decoration:none !important; color:#fff} 

/****************************/
/*___ colore testi ___*/
/****************************/

.bianco {color:#fff !important;}
a.bianco {color:#fff !important;}
.bianco a:hover {color:#fff;}

/****************************/
/*_______ MAX-WIDTH ________*/
/****************************/

.mw300 {max-width:300px;}
.mw400 {max-width:400px;}
.mw600 {max-width:600px;}
.mw700 {max-width:700px;}
.mw800 {max-width:800px;}
.mw900 {max-width:900px;}
.mw1000 {max-width:1000px;}
.mw1100 {max-width:1100px;}
.mw1400 {max-width:1400px;}

/* _______________________ */
/* ! REVEAL PER JAVASCRIPT */
/* _______________________ */

.reveal{
  position: relative;
  transform: translateY(40px) scale(0.99);
  opacity: 0;
  transition: opacity 1s ease, transform 1s ease;
  will-change: opacity, transform;
}

.reveal.active{
  transform: translateY(0) scale(1);
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .reveal{
    transition: none;
    transform: none;
    opacity: 1;
  }
}


/* =========================
   LP Reveal on scroll
   Uso: lp-reveal lp-reveal--left  |  lp-reveal lp-reveal--right
========================= */

.lp-reveal{
  opacity: 0;
  will-change: transform, opacity;
  transition:
    opacity 0.75s ease,
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--lp-delay, 0s); /* opzionale: per ritardi */
}

.lp-reveal--left{  transform: translateX(-60px); }
.lp-reveal--right{ transform: translateX(60px); }

.lp-reveal.is-visible{
  opacity: 1;
  transform: translateX(0);
}

/* Accessibilità: riduci animazioni se l’utente lo chiede */
@media (prefers-reduced-motion: reduce){
  .lp-reveal{
    opacity: 1;
    transform: none;
    transition: none;
  }
}



/* __________________________________ */
/* ! ANIMAZIONE CARICAMENTO CONTENUTI */
/* __________________________________ */

.animazione-0 {
  -webkit-animation: fadeIn_Up 1.2s both;
  -moz-animation: fadeIn_Up 1.2s both;
  -o-animation: fadeIn_Up 1.2s both;
  animation: fadeIn_Up 1.2s ease;
}

.animazione-1 {
  -webkit-animation: fadeIn_Up 1.2s both;
  -moz-animation: fadeIn_Up 1.2s both;
  -o-animation: fadeIn_Up 1.2s both;
  animation: fadeIn_Up 1.2s both;
  animation-delay: 500ms;
}

.animazione-2 {
  -webkit-animation: fadeIn_Up 1.2s both;
  -moz-animation: fadeIn_Up 1.2s both;
  -o-animation: fadeIn_Up 1.2s both;
  animation: fadeIn_Up 1.2s both;
  animation-delay: 1s;
}

.animazione-3 {
  -webkit-animation: fadeIn_Up 1.2s both;
  -moz-animation: fadeIn_Up 1.2s both;
  -o-animation: fadeIn_Up 1.2s both;
  animation: fadeIn_Up 1.2s both;
  animation-delay: 1.5s;
}


.animazione-4 {
  -webkit-animation: fadeIn_Up 1.2s both;
  -moz-animation: fadeIn_Up 1.2s both;
  -o-animation: fadeIn_Up 1.2s both;
  animation: fadeIn_Up 1.2s both;
  animation-delay: 2s;
}

@-webkit-keyframes fadeIn_Up {
  0%{
    opacity:0;
    -webkit-transform: translateY(5px) scale(0.95);
  }
  100%{
    opacity:1;
    -webkit-transform: translateY(0);
  }
}

@-webkit-keyframes fadeIn_Up {
  0%{
    opacity:0;
    -webkit-transform: translateY(5px) scale(0.95);
  }
  100%{
    opacity:1;
    -webkit-transform: translateY(0);
  }
}

@-moz-keyframes fadeIn_Up {
  0%{
    opacity:0;
    -moz-transform: translateY(5px) scale(0.95);
  }
  100%{
    opacity:1;
    -moz-transform: translateY(0);
  }
}

@-o-keyframes fadeIn_Up {
  0%{
    opacity:0;
    -o-transform: translateY(5px) scale(0.95);
  }
  100%{
    opacity:1;
    -o-transform: translateY(0);
  }
}

@keyframes fadeIn_Up {
  0%{
    opacity:0;
    /*transform: translateY(10px);*/
    transform: translateY(5px) scale(0.95);
  }
  100%{
    opacity:1;
    /*transform: translateY(0);*/
    -webkit-transform: translateY(0) scale(1);
  }
}

/****************************/
/*______ PAGINA 404 ________*/
/****************************/


.content-404 {
    position: relative;
    z-index: 5;
    margin-bottom: 0;
    padding: 40px;
    border-radius: 32px;
    background-color: #fff;
    box-shadow: 0 16px 40px 0 rgb(0 0 0 / 20%);
    left:20%;
  }
  
  @media (max-width: 768px) {
    .content-404 {
      padding: 20px;
      left:5%;
      right:5%;
    }
  } 
  
  ._404 {
    font-size: 6rem;
    line-height: 1.556;
    font-weight: 700;
  }


/* ==================== */
/*______ FONT AWESOME ________*/
/* ==================== */

.ico.verde {color:green !important;}


/* ==================== */
/*______ FOOTER ________*/
/* ==================== */

.link-footer {line-height: 1.5em;}

/* ================== */
/*____ Box Centri ____*/
/* ================== */
div.box-centro{
  position: relative;
  padding: 15px;
  margin: 5px;
  border: 5px solid #F6FEFF;
  border-radius: 12px;
  font-size: 14px;
  overflow: hidden;

  /* immagine di sfondo */
  background-image: url("...https://www.dev-pp.it/wp-content/uploads/2026/02/lavanderia-primavera-ancona.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* overlay sopra l’immagine (regola qui la trasparenza) */
div.box-centro::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(173, 216, 230, 0.95); /* aumenta/diminuisci l’ultimo valore */
  z-index: 0;
}

/* porta il contenuto sopra l’overlay */
div.box-centro > *{
  position: relative;
  z-index: 1;
}

p.box-centro {
	font-size:14px;
	line-height:15px;
  }


/* ==================== */
/*__ PALLINI LI LISTE __*/
/* ==================== */


ul li::marker {
	color: #add8e6; /* Cambia con il colore desiderato */
	font-size:1.2rem;
}

li {
    margin: 0;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 10px !important;
    margin-left: 0px;
    padding: 0;
    border: 0;
}


/* ==================== */
/*__ box-colorato2 div __*/
/* ==================== */

.boxcolorato-2 {
	padding:15px;
	border-radius:15px;
	background-color:#add8e6;
  }

/* ==================== */
/*__ barra blu titoli __*/
/* ==================== */

.barrablu {
    background-color: #1e73be;
    width: 100%;
    max-width: 118px;
    height: 3px;
    min-height: 3px;
    margin-bottom: 20px;
}

.barrabianca {
    background-color: #ffffff;
    width: 100%;
    max-width: 118px;
    height: 3px;
    min-height: 3px;
    margin-bottom: 20px;
}


/* ==================== */
/*__   __*/
/* ==================== */

.contronobianco{
    border:2px solid #fff;
	padding:0 20px;
	right:-50px;
}

/* ==================== */
/*__ ACCORDION __*/
/* ==================== */

.wp-block-accordion-item {
    border-bottom:6px solid rgba(245,253,255,0.81);
	background-color: rgb(240, 248, 255,0.60); /*#f0f8ff;*/
	padding:10px;
}

.wp-block-accordion-item:hover {
	background-color:rgba(172, 215, 230, 0.30);
	padding:10px;
}

.wp-block-accordion-heading__toggle-title {
	font-size:30px !important;
}ome


.wp-block-accordion-heading,
.wp-block-accordion-heading:hover,
.wp-block-accordion-heading:focus,
.wp-block-accordion-heading:active,
.wp-block-accordion-heading * ,
.wp-block-accordion-heading *:hover,
.wp-block-accordion-heading *:focus,
.wp-block-accordion-heading *:active{
  text-decoration: none !important;
}


/* Colore + / - dell’accordion */
.wp-block-accordion-heading__toggle-icon{
  color: #4682b4 !important;
}


/* Toggle icon più grande */
.wp-block-accordion-heading__toggle-icon{
  font-size: 30px !important;   /* se è un + / - come testo */
  width: 30px !important;
  height: 30px !important;
  line-height: 1 !important;
}


/* ==================== */
/*__ paragrafi servizi home __*/
/* ==================== */

p.lista-servizi-home {
	padding: 5px 0 15px 0;
	border-bottom:2px dotted #4682b4;
	line-height:1.4rem;
}

/* ===================== */
/*__ personalizzo logo __*/
/*__ solo per la home __*/
/* ==================== */


/* Solo HOME (front page) */
body.home .site-logo,
body.front-page .site-logo{
  max-width: 200px !important;
}


img.wp-post-image  {
  border-radius:20px;
}

a.read-more  {
 	font-weight:600;
	color:#1e73be;
}


/* ===================== */
/*__ tolgo spaziature __*/
/*__ dai gruppi __*/
/* ==================== */

.wp-block-group__inner-container {
    padding: 1px 1px 1px 1px !important; /* era 40px 40px 10px 40px */
}


/* ================================ */
/* inverto colonne da mobile */
/* ================================ */

@media (max-width: 999px) {
    .reverse-mobile {
        flex-direction: column-reverse;
    }
}


/* ================================ */
/* box contorno grigio 
 * box recensioni ========= */

.box-intorno  {
    padding: 20px !important; 
	border:1px solid #efefef;
	background-color:#f7f7f7;
	border-radius:11px;
}

/***************************************/
/* ===== SCRITTA SCORREVOLEBASSO ===== */
/**************************************/


/* ===== Marquee footer (loop orizzontale) ===== */
.rf-marquee{
  /* Variabili/fallback */
  --bg: #111;       /* sfondo */
  --fg: #fff;       /* testo/icone */
  --speed: 30s;     /* fallback se manca data-speed */
  --gap: 48px;      /* fallback se manca data-gap */

  width: 100%;
  overflow: hidden;
  background: var(--bg);
  color: var(--fg);
  position: relative;

  /* Tipografia: 300px desktop */
 	font-size: 150px;
	font-family: "Aeonik Pro";
 	line-height: .9;
 	letter-spacing: .02em;
 	font-weight: 900;
	text-transform: uppercase;
	padding: .15em 0;      /* proporzionale alla dimensione */
}

/* Forza bianco puro su TUTTO il contenuto (link inclusi) */
.rf-marquee,
.rf-marquee *{ color: var(--fg) !important; }
.rf-marquee a,
.rf-marquee a:visited,
.rf-marquee a:hover,
.rf-marquee a:active{ color: var(--fg) !important; text-decoration: none; }
.rf-marquee .sep{ opacity: 1; }         /* separatore bianco pieno */
.rf-marquee svg{ fill: currentColor; stroke: currentColor; }

/* Pista che scorre */
.rf-marquee__track{
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  gap: var(--gap);
  will-change: transform;
  animation: rf-marquee var(--speed) linear infinite;
}

/* Pausa su hover (desktop) */
@media (hover:hover){
  .rf-marquee:hover .rf-marquee__track{ animation-play-state: paused; }
}

/* Animazione: trasla la lunghezza della pista */
@keyframes rf-marquee{
  from { transform: translateX(0); }
  to   { transform: translateX(-100%); }
}

/* Accessibilità: riduci motion */
@media (prefers-reduced-motion: reduce){
  .rf-marquee__track{ animation: none !important; }
}

/* Tablet/Mobile: a 100px su mobile come richiesto */
@media (max-width: 768px){
  .rf-marquee{
    font-size: 70px;      /* <-- MOBILE: 100px */
    letter-spacing: .04em;
    padding: 0.12em 0;
  }
}