/* ============================================================
   Stile per i BLOCCHI Gutenberg della home (editabili nell'editor)
   ============================================================ */
.blocks-page{ font-family:'Be Vietnam Pro',sans-serif; color:#545960; }
.blocks-page h1,.blocks-page h2,.blocks-page h3,.blocks-page h4{ font-family:'Sora',sans-serif; color:#262b35; font-weight:700; letter-spacing:-.4px; line-height:1.15; }
.blocks-page h2{ font-size:clamp(1.9rem,3.4vw,2.6rem); }
.blocks-page p{ line-height:1.7; }

/* full-width helper */
.blocks-page .alignfull{ margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); max-width:100vw; }

/* sezioni */
.blocks-page .sec{ padding:clamp(3.5rem,7vw,6rem) 1.5rem; }
.blocks-page .sec>*{ max-width:1180px; margin-left:auto; margin-right:auto; }
.blocks-page .sec-value{ background:#fff; }
.blocks-page .sec-services{ background:#f0f4fd; }
.blocks-page .sec-audience{ background:#fff; }
.blocks-page .sec-about{ background:#fff; }
.blocks-page .sec-blog{ background:#f0f4fd; }
.blocks-page .sec-contact{ background:#16213a; }
.blocks-page .sec-contact h2,.blocks-page .sec-contact p{ color:#fff; }
.blocks-page .sec .intro-lead{ text-align:center; max-width:60ch; color:#545960; margin:.4rem auto 0; }

/* hero cover video */
.blocks-page .sec-hero{ min-height:86vh; }
.blocks-page .sec-hero .wp-block-cover__background{ background:linear-gradient(180deg,rgba(22,33,58,.5),rgba(22,33,58,.12) 32%,rgba(22,33,58,.5)) !important; opacity:1 !important; }
/* bottone hero: centrato orizzontalmente ma più in basso */
.blocks-page .sec-hero .wp-block-cover__inner-container{ margin-top:auto; margin-bottom:14vh; }

/* pulsanti */
.blocks-page .wp-block-button__link{ border-radius:50px !important; font-weight:600; padding:.85rem 2rem; background:#2d4999; color:#fff; transition:all .3s ease; }
.blocks-page .wp-block-button__link:hover{ background:#0073ce; transform:translateY(-2px); }
.blocks-page .wp-block-button.is-style-outline .wp-block-button__link{ background:transparent; color:#2d4999; border:2px solid #2d4999; }
.blocks-page .wp-block-button.is-style-outline .wp-block-button__link:hover{ background:#2d4999; color:#fff; }
.blocks-page .btn-scopri .wp-block-button__link{ padding:1rem 2.6rem; font-size:1rem; }

/* card valori — riusata anche da "A chi ci rivolgiamo" (stessa struttura wp:columns.cards-grid) */
.blocks-page .cards-grid{ gap:1.4rem; margin-top:2.5rem; }
.blocks-page .cards-grid .wp-block-column{ background:#f0f4fd; border-radius:16px; padding:2rem 1.4rem; text-align:center; }
.blocks-page .cards-grid h3{ font-size:1.2rem; margin:0 0 .5rem; }

/* card servizi (immagine in alto) */
.blocks-page .services-grid{ gap:1.4rem; margin-top:2.5rem; }
.blocks-page .svc-card{ background:#fff; border:1px solid #e6e9f2; border-radius:16px; overflow:hidden; box-shadow:0 14px 34px -24px rgba(38,43,53,.4); text-align:center; padding:0 0 1.6rem; display:flex; flex-direction:column; transition:transform .3s ease, box-shadow .3s ease; }
.blocks-page .svc-card:hover{ transform:translateY(-6px); box-shadow:0 28px 56px -28px rgba(38,43,53,.45); }
.blocks-page .svc-card .svc-img{ margin:0 0 1.1rem; }
.blocks-page .svc-card .svc-img img{ width:100%; height:190px; object-fit:cover; display:block; }
.blocks-page .svc-card h3{ padding:0 1rem; font-size:1.2rem; margin:0 0 .4rem; }
.blocks-page .svc-card p{ padding:0 1.2rem; flex:1; font-size:.95rem; }
.blocks-page .svc-card .wp-block-buttons{ justify-content:center; padding:.4rem 1.2rem 0; }

/* chi sono + certificati */
.blocks-page .about-cols{ gap:clamp(2rem,5vw,4rem); align-items:flex-start !important; }
/* colonna foto stretta + testo in alto (annulla l'allineamento verticale centrato del blocco) */
.blocks-page .about-cols>.wp-block-column{ align-self:flex-start !important; }
.blocks-page .about-cols>.wp-block-column:first-child{ flex:0 0 320px; }
.blocks-page .about-cols>.wp-block-column:last-child{ flex:1 1 0; }
@media (max-width:781px){ .blocks-page .about-cols>.wp-block-column:first-child{ flex:1 1 auto; max-width:360px; margin-inline:auto; } }
.blocks-page .eyebrow{ color:#2d4999; font-weight:600; letter-spacing:.12em; text-transform:uppercase; font-size:.8rem; margin:0 0 .3rem; }
.blocks-page .cert-img{ margin:0 0 1.1rem; }
.blocks-page .cert-img img{ width:100%; border:1px solid #e6e9f2; border-radius:12px; background:#f4f6fb; box-shadow:0 14px 34px -24px rgba(38,43,53,.4); cursor:zoom-in; }
/* card foto ritratto + mini attestati */
.blocks-page .about-photo{ margin:0; }
.blocks-page .about-photo img{ width:100%; border-radius:16px; box-shadow:0 20px 44px -24px rgba(38,43,53,.45); display:block; }
.blocks-page .cert-mini{ gap:.8rem; margin-top:1rem; }
.blocks-page .cert-mini .wp-block-column{ margin:0; }
.blocks-page .cert-mini .cert-img{ margin:0; }
.blocks-page .cert-mini .cert-img img{ border-radius:8px; box-shadow:0 8px 20px -14px rgba(38,43,53,.4); }

/* blog — slider di card (Query Loop nativo) */
.blocks-page .home-blog-slider{ position:relative; margin-top:2.5rem; overflow-x:clip; }

/* scorrimento orizzontale con snap: la lista generata dal blocco Query diventa lo "slider track" */
.blocks-page .home-blog-slider__query .wp-block-post-template{
	display:flex; flex-wrap:nowrap; gap:1.4rem; margin:0; padding:.4rem .2rem 1.4rem; list-style:none;
	overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.blocks-page .home-blog-slider__query .wp-block-post-template::-webkit-scrollbar{ display:none; }

/* card articolo */
.blocks-page .home-blog-slider__query .wp-block-post{
	flex:0 0 clamp(260px,28%,300px); scroll-snap-align:start; margin:0 !important;
	display:flex; flex-direction:column; background:#fff; border:1px solid #e6e9f2; border-radius:16px; overflow:hidden;
	box-shadow:0 14px 34px -24px rgba(38,43,53,.35); transition:transform .3s ease, box-shadow .3s ease;
}
.blocks-page .home-blog-slider__query .wp-block-post:hover{ transform:translateY(-6px); box-shadow:0 22px 44px -22px rgba(38,43,53,.4); }

/* immagine anteprima a grandezza fissa */
.blocks-page .home-blog-slider__query .wp-block-post-featured-image{ margin:0; }
.blocks-page .home-blog-slider__query .wp-block-post-featured-image img{ width:100% !important; height:190px !important; object-fit:cover; display:block; }

.blocks-page .home-blog-slider__query .wp-block-post-title{ padding:1rem 1.2rem 0; margin:0; font-family:'Sora',sans-serif; font-size:1.1rem; }
.blocks-page .home-blog-slider__query .wp-block-post-title a{ color:#262b35; }

.blocks-page .home-blog-slider__query .wp-block-post-excerpt{ padding:.5rem 1.2rem 0; }
.blocks-page .home-blog-slider__query .wp-block-post-excerpt__excerpt{ margin:0; font-size:.92rem; color:#545960; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* pulsante "Leggimi" — sempre in fondo alla card */
.blocks-page .home-blog-slider__query .wp-block-read-more{
	margin:1rem 1.2rem 1.3rem; margin-top:auto; align-self:flex-start;
	display:inline-flex; align-items:center; background:#2d4999; color:#fff !important; text-decoration:none;
	font-family:'Be Vietnam Pro',sans-serif; font-weight:600; font-size:.86rem; padding:.6rem 1.3rem; border-radius:50px;
	transition:all .3s ease;
}
.blocks-page .home-blog-slider__query .wp-block-read-more:hover{ background:#0073ce; transform:translateY(-2px); }

/* frecce di navigazione */
.blocks-page .home-blog-slider__nav{
	position:absolute; top:40%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; border:none;
	background:#fff; box-shadow:0 10px 30px -18px rgba(38,43,53,.28); color:#2d4999; cursor:pointer;
	display:flex; align-items:center; justify-content:center; font-size:1.5rem; line-height:1; z-index:5;
	transition:background .25s ease, color .25s ease;
}
.blocks-page .home-blog-slider__nav:hover{ background:#2d4999; color:#fff; }
.blocks-page .home-blog-slider__prev{ left:-14px; }
.blocks-page .home-blog-slider__next{ right:-14px; }
@media (max-width:680px){ .blocks-page .home-blog-slider__nav{ display:none; } }

/* form CF7 nel contatto */
.blocks-page .sec-contact .wpcf7-form{ max-width:640px; margin:1.5rem auto 0; }
.blocks-page .sec-contact input[type=text],.blocks-page .sec-contact input[type=email],.blocks-page .sec-contact input[type=tel],.blocks-page .sec-contact textarea{ width:100%; padding:.85rem 1rem; border-radius:10px; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff; margin-top:.35rem; font-family:'Be Vietnam Pro',sans-serif; }
.blocks-page .sec-contact textarea{ min-height:130px; }
.blocks-page .sec-contact label{ color:#fff; font-weight:600; display:block; text-align:left; margin-bottom:.9rem; }

/* ============================================================
   Pagine SERVIZIO (a blocchi)
   ============================================================ */

/* hero con immagine di sfondo + testo leggibile */
.blocks-page .svc-hero-cover .wp-block-cover__inner-container{ max-width:900px; margin:0 0 3.5rem 1.5rem; text-align:left; }
.blocks-page .svc-hero-cover .eyebrow{ color:#8fb0ee; font-weight:600; letter-spacing:.14em; text-transform:uppercase; font-size:.8rem; margin:0 0 .8rem; }
.blocks-page .svc-hero-cover h1{ color:#fff; font-size:clamp(2rem,4.4vw,3rem); margin:0 0 .8rem; }
.blocks-page .svc-hero-cover .svc-hero-lead{ color:rgba(255,255,255,.88); font-size:1.15rem; max-width:60ch; margin:0; }

/* intro: testo + immagine laterale */
.blocks-page .svc-intro-cols{ align-items:center; gap:clamp(2rem,5vw,4rem); }
.blocks-page .svc-intro-cols>.wp-block-column:first-child{ flex:1.15; }
.blocks-page .svc-intro-cols>.wp-block-column:last-child{ flex:.85; }
.blocks-page .svc-side-img{ margin:0; }
.blocks-page .svc-side-img img{ width:100%; border-radius:16px; box-shadow:0 20px 44px -24px rgba(38,43,53,.45); display:block; }
@media (max-width:781px){ .blocks-page .svc-intro-cols>.wp-block-column:last-child{ order:-1; } }

/* checklist "cosa consegniamo" */
.blocks-page .sec-svc-deliver{ background:#f0f4fd; }
.blocks-page .deliver-list{ list-style:none; margin:2.5rem 0 0; padding:0; column-count:2; column-gap:2.5rem; }
.blocks-page .deliver-list li{ position:relative; padding:.6rem 0 .6rem 2rem; break-inside:avoid; font-weight:500; color:#262b35; border-bottom:1px solid #e6e9f2; }
.blocks-page .deliver-list li::before{ content:"✓"; position:absolute; left:0; top:.55rem; width:22px; height:22px; border-radius:50%; background:#2d4999; color:#fff; font-size:.75rem; line-height:22px; text-align:center; }
@media (max-width:680px){ .blocks-page .deliver-list{ column-count:1; } }

/* gallery lavori — blocco Galleria nativo (nessun CSS extra necessario per il layout) */
.blocks-page .sec-svc-gallery .wp-block-gallery{ margin-top:2.5rem; }
.blocks-page .sec-contact .wpcf7-submit{ background:#2d4999; color:#fff; border:0; border-radius:50px; padding:.9rem 2.2rem; font-weight:600; cursor:pointer; }
.blocks-page .sec-contact .wpcf7-submit:hover{ background:#0073ce; }

@media (max-width:781px){
  .blocks-page .svc-card{ margin-bottom:1rem; }
}
