/* HOME.CSS - HERO + BELOW-FOLD HOMEPAGE */

/* HERO SECTION */
.hero{position:relative;min-height:80vh;display:flex;align-items:center;overflow:hidden;padding:4rem 0}
.hero-picture{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}
.hero-image{width:100%;height:100%;object-fit:cover;object-position:center right;display:block}
.hero-gradient{position:absolute;inset:0;background:linear-gradient(to right,rgba(251,251,240,0.95) 0%,rgba(251,251,240,0.8) 40%,rgba(251,251,240,0.2) 70%,rgba(251,251,240,0) 100%);z-index:2;pointer-events:none}
.hero-container{position:relative;z-index:3;max-width:1400px;margin:0 auto;padding:0 1.5rem;width:100%}
.breadcrumb{display:none}
.hero h1{font-size:4.5rem;line-height:4.5rem;margin-bottom:2rem}
.hero h2{font-size:2.25rem;font-weight:500;line-height:2.5rem;color:#6e8f56;margin-bottom:2rem;max-width:100%}
.hero-description{font-size:1.5rem;line-height:2.3rem;color:#847762;margin-bottom:1.5rem;max-width:50ch}
.hero-buttons{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;}
.hero .fade-in{opacity:1!important;transform:none!important;transition:none!important}


/* SERVICES SECTION - CSS con specificità alta */
.services{padding:5rem 0;margin-top: -1px}
.services-container{max-width:1400px;margin:0 auto;padding:0 2rem}
.services-header{text-align:center;margin-bottom:4rem}
.services-title{font-size:3rem;line-height:3rem;margin-bottom:1rem}
.services-subtitle{font-size:1.25rem;line-height:2rem}
.services .services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:1200px;margin:0 auto}

/* CARD SENZA PADDING/MARGIN */
.services .service-card{height:100%;display:flex;flex-direction:column;background:#fdfdf7;border-radius:15px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,0.05);transition:transform 0.3s ease,box-shadow 0.3s ease;margin:0;padding:0}
.services .service-card:hover{box-shadow:0 8px 25px rgba(0,0,0,0.1)}

/* IMMAGINE CHE INIZIA DA 0,0 */
.services .service-card .service-image-wrapper{position:relative;width:100%;height:280px;overflow:hidden;flex-shrink:0;margin:0;padding:0;border:none;border-radius:0}
.services .service-card .service-image-wrapper img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.3s ease;margin:0;padding:0;border:none;border-radius:0}
.services .service-card:hover .service-image-wrapper img{transform:scale(1.05)}

/* TITOLO */
.services .service-card h3{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;color:white;font-size:1.5rem;line-height:2rem;text-shadow:0 2px 10px rgba(0,0,0,0.5);z-index:2;margin:0}

/* OVERLAY */
.services .service-card .service-image-wrapper::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(0,0,0,0.7) 0%,rgba(0,0,0,0.3) 50%,rgba(0,0,0,0) 100%);z-index:1}

/* CONTENUTO */
.services .service-card .service-content{flex:1;padding:2rem;display:flex;flex-direction:column;margin:0;background:#fdfdf7}
.services .service-card .service-description{font-size:1.15rem;line-height:1.7rem;margin-bottom:2rem;flex-grow:1}

.services .service-card .secondary-button{width:100%;margin-top:auto}
.services .service-card .secondary-button:hover{transform:translateY(-2px)}
.services .service-card .secondary-button .arrow{transition:transform 0.3s ease}
.services .service-card .secondary-button:hover .arrow{transform:translateX(5px)}



/* BENEFITS SECTION */
.benefits-section{padding:6rem 0;text-align:center}
.benefits-container{max-width:1400px;margin:0 auto;padding:0 2rem}
.benefits-header{margin-bottom:4rem}
.benefits-header h2{font-size:3rem;line-height:3rem;color:#494236;margin-bottom:1rem}
.benefits-header p{font-size:1.25rem;line-height:2rem}
.benefits-grid{display:grid;gap:2rem;justify-content:center;max-width:1200px;margin:0 auto;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.benefit-card{background-color:#fdfdf7;border-radius:15px;padding:2.5rem 1.5rem;box-shadow:0 4px 15px rgba(0,0,0,0.05);transition:transform 0.3s ease,box-shadow 0.3s ease;text-align:center;min-height:auto;display:flex;flex-direction:column;justify-content:flex-start;aspect-ratio:1/1}
.benefit-card:hover{transform:translateY(-10px);box-shadow:0 8px 25px rgba(0,0,0,0.1)}
.benefit-icon{width:70px;height:70px;background-color:#e6f0e6;border-radius:50%;display:flex;justify-content:center;align-items:center;margin:0 auto 1.5rem}
.benefit-icon i{color:#7a9b76}
.benefit-card h3{font-size:1.25rem;line-height:1.75;margin-bottom:0.75rem}
.benefit-card p{line-height:1.6rem;font-size:1rem}

/* ICONE COLORATE E DIMENSIONATE */
.benefit-icon .icon{width:2.5rem;height:2.5rem;fill:#7a9b76}
.book-badge .icon{width:1.6rem;height:1.6rem;fill:#6e8f56}
.detail-icon .icon{width:1.3rem;height:1.3rem;fill:#7a9b76}

/* TESTIMONIALS SECTION */
.testimonials-section{padding:6rem 0;text-align:center}
.testimonials-container{max-width:1400px;margin:0 auto;padding:0 2rem}
.testimonials-header{margin-bottom:4rem}
.testimonials-header h2{font-size:3rem;line-height:3rem;margin-bottom:1rem}
.testimonials-header p{font-size:1.25rem;line-height:2rem}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:3rem;justify-content:center;max-width:1200px;margin:0 auto}
.testimonial-card{background-color:#fdfdf7;border-radius:15px;padding:2.5rem 1.5rem;box-shadow:0 4px 15px rgba(0,0,0,0.05);text-align:left;display:flex;flex-direction:column;justify-content:space-between;min-height:300px;overflow: hidden}
.testimonial-stars{color:#ffd700;font-size:1.1rem;margin-bottom:0.8rem;display:flex;justify-content:flex-start}
.testimonial-stars svg{margin-right:0.2rem}
.testimonial-icon{margin-bottom:0.5rem;margin-top:0.3rem;color:#6e8f56}
.testimonial-icon svg{font-size:2rem}
.testimonial-text{font-size:1rem;line-height:1.65;margin-bottom:1.5rem;font-style:italic;flex-grow:1}
.testimonial-card hr{border:none;border-top:1px solid #ddd;margin:0.5rem 0}
.testimonial-name{font-family:'Playfair Display',serif;font-weight:600;font-size:1rem;line-height:1.5;margin:0.5rem 0 0;color:#494236}
.testimonial-profession{font-size:0.87rem;line-height:1.5;margin:0}

/* CHI SONO SECTION */
.chi-sono{padding:5rem 0;margin-top: -1px;}

.chi-sono-container{max-width:1400px;margin:0 auto;padding:0 2rem}
.chi-sono-header{margin-bottom:4rem;text-align:center}
.chi-sono-header h2{font-size:3rem;line-height:3rem;margin-bottom:1rem}
.chi-sono-header p{font-size:1.25rem;line-height:2rem}
.chi-sono-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.paolo-block{width:100%}
.paolo-image-wrapper{width:100%;aspect-ratio:1.5/1;overflow:hidden;border-radius:15px;margin-bottom:2rem}
.paolo-image-wrapper img{width:100%;height:100%;object-fit:cover;object-position:center 15%}
.paolo-header{display:flex;align-items:center;gap:0.8rem;margin-bottom:1rem}
.paolo-icon{width:55px;height:55px;background-color:#e6f0e6;border-radius:50%;display:flex;justify-content:center;align-items:center;flex-shrink:0}
.paolo-icon svg{color:#7a9b76;font-size:2rem}
.paolo-text h3.paolo-name{font-size:1.5rem;line-height:1.2;margin:0 0 0.3rem 0}
.paolo-text p.paolo-title{font-size:1rem;margin:0}
.paolo-bio{font-size:1.125rem;line-height:1.6;margin:1.5rem 0 2rem 0}

/* .paolo-button{background:#7a9b76;color:white;padding:0.8rem 1.5rem;border-radius:15px;font-family:'Inter',sans-serif;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:0.5rem;transition:all 0.3s ease;font-size:1.12rem}
.paolo-button:hover{background:#89a885} 
*/
.book-card-wrapper{display:flex;justify-content:center}
.book-card{background:#fdfdf7;border-radius:20px;padding:2rem;text-align:center;box-shadow:0 5px 20px rgba(0,0,0,0.08);width:100%;max-width:800px}
.book-cover{margin-bottom:1.5rem;perspective:1000px}
.book-3d{position:relative;width:14rem;height:auto;margin:0 auto;transform-style:preserve-3d;transition:transform 0.3s ease}
.book-card:hover .book-3d{transform:rotateY(-12deg) rotateX(5deg)}
.book-3d img{width:100%;border-radius:8px;box-shadow:0 5px 15px rgba(0,0,0,0.2)}
.book-badge{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:600;color:#494236;display:inline-flex;align-items:center;gap:0.5rem;padding:0.4rem 1rem;margin-bottom:0.5rem}
.book-badge i{color:#6e8f56}
.book-name{font-family:'Playfair Display',serif;font-size:clamp(1.25rem,1.5vw,1.2rem);font-weight:600;color:#6e8f56;margin-bottom:1rem}
.book-description{font-size:1rem;line-height:1.6;margin-bottom:2rem;max-width:55ch}

.paolo-block .primary-button,.book-card .secondary-button{display:inline-flex;width:auto;}

/* LOCATION SECTION */
.location-section{padding:6rem 0}
.location-header{margin-bottom:4rem;text-align:center}
.location-header h2{font-size:3rem;line-height:3rem;margin-bottom:1rem}
.location-header p{font-size:1.25rem;line-height:1.6;margin-bottom:2rem}
.location-container{max-width:1400px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.location-map-container{width:100%;height:400px;border-radius:15px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,0.05)}
.location-map-container iframe{width:100%;height:100%;border:0}
.location-info-container{display:flex;flex-direction:column;gap:2rem}
.location-info-title h3{font-size:1.9rem;margin-bottom:0.8rem}
.location-info-title p{font-size:1.12rem;line-height:1.6}
.detail-item{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem}
.detail-icon{width:50px;height:50px;background-color:#e6f0e6;border-radius:50%;display:flex;justify-content:center;align-items:center;flex-shrink:0;margin-top:0.2rem}
.detail-icon i{color:#7a9b76;font-size:1.3rem}
.detail-text{display:flex;flex-direction:column}
.detail-text .detail-title{font-family:'Playfair Display',serif;font-weight:600;font-size:1rem;line-height:1.5;color:#494236;margin:0 0 0.3rem 0}
.detail-text p{font-size:1rem;line-height:1.5;margin:0 0 0 0}
.location-info-container .primary-button{width:fit-content;margin-top:0.5rem}

/* UTILITY */
.fade-in-up{opacity:0;transform:translateY(20px);transition:opacity 0.8s ease-out,transform 0.8s ease-out}
.fade-in-up.visible{opacity:1;transform:translateY(0)}


/* Lazy rendering nativo delle sezioni below-fold */
.services-grid,
.benefits-section,
.testimonials-section,
.chi-sono,
.location-section {
  content-visibility: auto;
  contain-intrinsic-size: auto 600px;
}

/* Isola rendering hero per evitare reflow */
.hero {
  content-visibility: auto;
  contain-intrinsic-size: 100vw 80vh;
}


/* RESPONSIVE */

/* Desktop grande - 4 colonne */
@media (min-width: 1400px) {
    .benefits-grid{grid-template-columns:repeat(4,1fr);max-width:1300px}
    .testimonials-grid{grid-template-columns:repeat(3,1fr);max-width:1300px}
    .services .services-grid{grid-template-columns:repeat(3,1fr);max-width:1300px}
}

/* Desktop medio - 3/2 colonne */
@media (min-width: 1200px) and (max-width: 1399px) {
    .benefits-grid{grid-template-columns:repeat(4,1fr)}
    .services .services-grid{grid-template-columns:repeat(3,1fr);max-width:1300px}
}

/* Tablet grande - inizia a ridurre colonne */
@media (max-width: 1199px) {
    .benefits-grid{grid-template-columns:repeat(2,1fr)}
    .services .services-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width: 1024px) {
    .testimonials-grid{grid-template-columns:repeat(2,1fr)}
    .chi-sono-content{grid-template-columns:1fr;gap:3rem}
    .location-container{grid-template-columns:1fr;gap:3rem}
}

/* TABLET - 768px: mantiene ancora alcune 2 colonne */
@media (max-width: 768px) {
    .benefits-header h2,.testimonials-header h2,.chi-sono-header h2,.location-header h2,.services-title{font-size:2.25rem}
    .hero{min-height:70vh;padding:4rem 1.5rem 2rem}
    .hero-image{object-position:center center}
    .hero-gradient{background:linear-gradient(to bottom,rgba(251,251,240,0.85) 0%,rgba(251,251,240,0.6) 50%,rgba(251,251,240,0.85) 100%)}
    .hero-buttons{justify-content:center;gap:1rem;flex-wrap:wrap}
    .services .service-card .service-image-wrapper{height:230px}
    .services .service-card .service-content{padding:1.5rem}
    .services .service-card h3{bottom:1rem;left:1rem;right:1rem}
    .testimonials-grid{grid-template-columns:repeat(2,1fr)}
    .benefits-grid{grid-template-columns:repeat(2,1fr)}
    .services .services-grid{grid-template-columns:repeat(2,1fr)}
    .paolo-image-wrapper{aspect-ratio:0.94/1;padding:2rem 0.5rem}
    .paolo-image-wrapper img{border-radius:15px}
    .paolo-bio{padding:2rem 0.5rem}
    .location-info-title h3{font-size:1.87rem;line-height:2.25rem}
    .location-info-title p{font-size:1.12rem;line-height:1.87rem}
    .chi-sono,.benefits-section,.testimonials-section,.location-section{padding:3rem 0}
}

/* SMARTPHONE - 480px: tutto a 1 colonna + ottimizzazioni spazio */
@media (max-width: 480px) {
    .hero{min-height:60vh;padding:6rem 1rem 2rem;text-align:left}
    .hero h1{font-size:3rem;line-height:3.75rem;margin-bottom:2rem}
    .hero h2{font-size:1.85rem;line-height:2.87rem;margin-bottom:2rem}
    .hero-description{font-size:1.25rem;line-height:2rem;margin-bottom:1.5rem}
    .hero-buttons{flex-direction:column;width:100%}
    .hero-buttons .primary-button,.hero-buttons .secondary-button{width:100%}
    .services-container,.benefits-container,.testimonials-container,.chi-sono-container,.location-container{padding:0 1rem}
    .services .services-grid{grid-template-columns:min(23rem,90vw) !important;justify-content:center}
    .benefits-grid{grid-template-columns:min(23rem,90vw);justify-content:center}
    .testimonials-grid{grid-template-columns:min(23rem,90vw);justify-content:center}
    .services .service-card .service-image-wrapper{height:17rem}
    .services .service-card .service-content{padding:1.25rem}
    .service-card,.testimonial-card{padding:1.5rem 1rem}
    .benefit-card{aspect-ratio:unset;padding:2rem 1rem}
    .testimonial-card{aspect-ratio:unset;padding:2rem 1rem}
    .paolo-image-wrapper{padding:1rem 0.5rem}
    .paolo-bio{padding:1rem 0.5rem}
    .paolo-header{padding:0 0.5rem}
    .paolo-block .primary-button{margin-left:0.5rem}
    .book-card-wrapper,.location-info-container{padding:0 0.5rem}
    .location-header,.location-container{padding:0 1.5rem}
}
