/* Studio Landi – stili del tema (forme ad arco, fasce, schede) */

:root{
  --sl-verde:#1C3A30; --sl-verde-2:#2B5245; --sl-sabbia:#D9A96A; --sl-sabbia-tenue:#FBF1E3;
  --sl-nebbia:#F2F4F0; --sl-linea:#DCE2DC; --sl-inchiostro:#17241E; --sl-grigio:#4F6158;
}
body{ -webkit-font-smoothing:antialiased; }
.wp-site-blocks{ padding-top:0; padding-bottom:0; }
main.wp-block-group{ margin-top:0 !important; }
.wp-site-blocks > * + *{ margin-block-start:0; }
h1,h2,h3,h4{ text-wrap:balance; }
p{ text-wrap:pretty; }
:where(.wp-site-blocks) :focus-visible{ outline:2px solid var(--sl-sabbia); outline-offset:3px; }

/* ---------- Intestazione ---------- */
.sl-testata{ background:#fff; box-shadow:0 1px 0 var(--sl-linea); position:relative; z-index:20; }
.sl-testata > .wp-block-group{ min-height:76px; }
.sl-marchio{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--sl-verde); }
.sl-marchio span{ font-family:var(--wp--preset--font-family--fraunces); font-size:23px; font-weight:600; }
.sl-marchio svg{ flex-shrink:0; }
.sl-testata .wp-block-navigation a{ text-decoration:none; }
.sl-testata .wp-block-navigation .current-menu-item > a,
.sl-testata .wp-block-navigation a[aria-current="page"]{ box-shadow:inset 0 -2px 0 var(--sl-sabbia); }
.sl-testata .wp-block-button__link{ padding:11px 20px; font-size:14px; }
.wp-block-navigation__responsive-container.is-menu-open{ background:var(--sl-verde) !important; color:#fff !important; }
.wp-block-navigation__responsive-container.is-menu-open a{ color:#fff !important; font-size:22px; font-family:var(--wp--preset--font-family--fraunces); }

/* ---------- Fasce a tutta larghezza ---------- */
.sl-fascia{ padding-top:64px !important; padding-bottom:64px !important; }
.sl-fascia-bianca{ background:#fff; }
.sl-fascia-verde{ background:var(--sl-verde); color:#fff; }
.sl-fascia-verde :where(h1,h2,h3,h4,a:not(.wp-block-button__link)){ color:#fff; }
.sl-fascia-verde p{ color:#E2E8E4; }
.sl-apertura{ padding-top:48px !important; padding-bottom:40px !important; }
.sl-chiusura{ padding-top:48px !important; padding-bottom:48px !important; }

/* Percorso (breadcrumb) e occhiello */
.sl-percorso{ font-size:14px; color:var(--sl-grigio); margin:0; }
.sl-percorso a{ color:var(--sl-verde); }
.sl-occhiello{ font-size:13px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--sl-grigio); margin:0; }
.sl-fascia-verde .sl-occhiello{ color:#D9E2DC; }
.sl-lead{ font-size:var(--wp--preset--font-size--medio); line-height:1.6; max-width:780px; }
.sl-nota{ font-size:15px; color:var(--sl-grigio); }

/* ---------- Home con la foto del lago ---------- */
.sl-hero-lago{ position:relative; background:#3D6E80 url(../img/lago.jpg) center 58%/cover no-repeat; }
.sl-hero-lago::before{ content:""; position:absolute; inset:0; background:rgba(18,34,28,.32); }
.sl-hero-lago > *{ position:relative; }
.sl-hero-lago{ padding-top:210px !important; padding-bottom:34px !important; }
.sl-hero-lago h1{ color:#fff; font-size:var(--wp--preset--font-size--enorme); text-shadow:0 2px 18px rgba(0,0,0,.35); max-width:760px; }
.sl-hero-lago .sl-occhiello{ color:#fff; }
@media (max-width:760px){ .sl-hero-lago{ padding-top:150px !important; } }

/* Simbolo verticale "Studio · arco · Landi" */
.sl-marchio-verticale{ border-radius:200px 200px 24px 24px; background:var(--sl-verde); min-height:380px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; padding:40px 20px; color:#fff; }
.sl-marchio-verticale .riga{ display:flex; align-items:center; gap:14px; }
.sl-marchio-verticale .su,.sl-marchio-verticale .giu{ font-family:var(--wp--preset--font-family--fraunces); font-size:42px; font-weight:600; line-height:1; writing-mode:vertical-rl; }
.sl-marchio-verticale .su{ transform:rotate(180deg); }
.sl-marchio-verticale .motto{ font-size:12px; letter-spacing:.24em; text-transform:uppercase; font-weight:600; }

/* ---------- Schede ad arco ---------- */
.sl-griglia{ gap:18px !important; }
.sl-arco{ position:relative; border-radius:150px 150px 22px 22px; padding:100px 26px 26px !important; min-height:340px; display:flex; flex-direction:column; gap:12px; box-sizing:border-box; }
.sl-arco.sl-bassa{ min-height:250px; padding-top:76px !important; border-radius:120px 120px 20px 20px; }
.sl-arco > *{ margin:0 !important; }
.sl-arco h3{ font-size:23px; font-weight:600; line-height:1.2; }
.sl-arco p{ font-size:15px; line-height:1.55; }
.sl-chiaro{ background:#fff; box-shadow:inset 0 0 0 1px var(--sl-linea); color:var(--sl-inchiostro); }
.sl-chiaro h3{ color:var(--sl-verde); }
.sl-scuro{ background:var(--sl-verde); color:#fff; }
.sl-scuro h3,.sl-scuro a{ color:#fff; }
.sl-scuro p{ color:#E2E8E4; }
.sl-sabbia{ background:var(--sl-sabbia); color:var(--sl-verde); }
.sl-sabbia h3,.sl-sabbia p,.sl-sabbia a{ color:var(--sl-verde); }
.sl-arco .sl-vai{ margin-top:auto !important; font-weight:700; font-size:15px; }
/* tutta la scheda è cliccabile */
.sl-arco a.sl-tutta::after{ content:""; position:absolute; inset:0; border-radius:inherit; }
.sl-arco a{ text-decoration:none; }
.sl-arco:has(a.sl-tutta):hover{ transform:translateY(-3px); transition:transform .2s; }
.sl-numero{ width:44px; height:44px; border-radius:22px; background:var(--sl-sabbia); color:var(--sl-verde) !important; display:flex; align-items:center; justify-content:center; font-family:var(--wp--preset--font-family--fraunces); font-size:22px; font-weight:600; }
.sl-metodo-n{ font-family:var(--wp--preset--font-family--fraunces); font-size:44px; color:var(--sl-sabbia); line-height:1; margin:0; }

/* ---------- Riquadri ---------- */
.sl-riquadro{ border-radius:22px; padding:30px !important; }
.sl-riquadro > *{ margin-top:0; }
.sl-riquadro-nebbia{ background:var(--sl-nebbia); }
.sl-riquadro-bianco{ background:#fff; box-shadow:inset 0 0 0 1px var(--sl-linea); }
.sl-riquadro-verde{ background:var(--sl-verde); color:#fff; }
.sl-riquadro-verde :where(h2,h3,h4,a:not(.wp-block-button__link)){ color:#fff; }
.sl-riquadro-verde p{ color:#E2E8E4; }
.sl-dasapere{ background:var(--sl-nebbia); border-radius:22px; padding:28px 30px !important; box-shadow:inset 4px 0 0 var(--sl-sabbia); }
.sl-fascia-bianca .sl-dasapere{ background:var(--sl-nebbia); }
.sl-etichetta{ font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--sl-verde); margin:0; }

/* Fascia "In evidenza" sabbia */
.sl-evidenza{ background:var(--sl-sabbia); color:var(--sl-verde); border-radius:24px; padding:28px 32px !important; }
.sl-evidenza h2,.sl-evidenza h3,.sl-evidenza p,.sl-evidenza a{ color:var(--sl-verde); }

/* ---------- Elenchi con spunta ---------- */
ul.sl-check{ list-style:none; padding-left:0; display:flex; flex-direction:column; gap:14px; }
ul.sl-check li{ position:relative; padding-left:36px; font-size:17px; line-height:1.55; }
ul.sl-check li::before{ content:""; position:absolute; left:0; top:3px; width:22px; height:22px;
  background:no-repeat center/22px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C3A30' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12 L10 17 L19 7'/%3E%3C/svg%3E"); }
ul.sl-punti{ list-style:none; padding-left:0; display:flex; flex-direction:column; gap:12px; }
ul.sl-punti li{ display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:16px; background:var(--sl-verde-2); color:#fff; font-weight:600; }
ul.sl-punti li::before{ content:""; width:12px; height:12px; border-radius:6px; background:var(--sl-sabbia); box-shadow:0 0 0 6px rgba(217,169,106,.3); flex-shrink:0; }

/* Etichette (paesi, zone) */
.sl-chip{ display:inline-flex !important; align-items:center; height:40px; padding:0 17px !important; border-radius:20px; background:#fff; box-shadow:inset 0 0 0 1px #C9D2CC; font-size:15px; font-weight:600; color:var(--sl-verde); margin:0 !important; }
.sl-chip a{ text-decoration:none; }
.sl-chips{ gap:8px !important; }

/* ---------- Domande frequenti ---------- */
.wp-block-details{ background:#fff; border-radius:18px; box-shadow:inset 0 0 0 1px var(--sl-linea); margin-top:12px !important; }
.wp-block-details summary{ font-size:18px; font-weight:700; color:var(--sl-verde); cursor:pointer; }
.wp-block-details summary::marker{ color:var(--sl-sabbia); }
.wp-block-details > p{ margin-top:14px; font-size:16px; line-height:1.65; }

/* ---------- Pulsanti ---------- */
.wp-block-button.sl-btn-scuro .wp-block-button__link{ background:var(--sl-verde); color:#fff; }
.wp-block-button.sl-btn-scuro .wp-block-button__link:hover{ background:var(--sl-verde-2); }
.wp-block-button.sl-btn-bordo .wp-block-button__link{ background:transparent; color:var(--sl-verde); box-shadow:inset 0 0 0 2px var(--sl-verde); }

/* ---------- Foto ad arco ---------- */
.sl-foto-arco img{ width:290px; height:350px; object-fit:cover; object-position:center 28%; border-radius:145px 145px 18px 18px; box-shadow:0 0 0 8px var(--sl-verde),0 0 0 12px var(--sl-sabbia); }
.sl-foto-arco figcaption{ text-align:center; font-weight:600; color:var(--sl-verde); font-size:15px; margin-top:18px; }
.sl-iniziale{ width:64px; height:72px; border-radius:32px 32px 10px 10px; display:flex; align-items:flex-end; justify-content:center; padding-bottom:12px; box-sizing:border-box; font-family:var(--wp--preset--font-family--fraunces); font-size:26px; font-weight:600; flex-shrink:0; margin:0 !important; }
.sl-persona{ background:#fff; border-radius:20px; box-shadow:inset 0 0 0 1px var(--sl-linea); padding:22px !important; }
.sl-persona h3{ font-size:21px; margin:0; }
.sl-persona p{ margin:2px 0 0; font-size:15px; }

/* Arco decorativo per testate interne */
.sl-arco-deco{ width:220px; height:260px; border-radius:110px 110px 20px 20px; background:var(--sl-verde); display:flex; align-items:flex-end; justify-content:center; padding-bottom:40px; box-sizing:border-box; }
@media (max-width:781px){ .sl-arco-deco{ display:none; } }

/* Orari */
.sl-orari{ border-radius:18px; box-shadow:inset 0 0 0 1px var(--sl-linea); overflow:hidden; background:#fff; }
.sl-orari p{ display:flex; justify-content:space-between; gap:16px; padding:14px 20px; margin:0 !important; box-shadow:0 1px 0 #EEF1EE; font-size:16px; }

/* Canali di contatto */
.sl-canale .sl-valore{ font-family:var(--wp--preset--font-family--fraunces); font-size:23px; font-weight:600; line-height:1.2; overflow-wrap:anywhere; }

/* ---------- Articoli (Risorse) ---------- */
.sl-schede-articoli .wp-block-post{ background:#fff; border-radius:22px; box-shadow:inset 0 0 0 1px var(--sl-linea); padding:26px; display:flex; flex-direction:column; gap:10px; position:relative; }
.sl-schede-articoli .wp-block-post-title{ font-size:22px; font-weight:600; line-height:1.25; margin:0; }
.sl-schede-articoli .wp-block-post-title a{ text-decoration:none; }
.sl-schede-articoli .wp-block-post-title a::after{ content:""; position:absolute; inset:0; }
.sl-schede-articoli .wp-block-post-terms{ font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.sl-schede-articoli .wp-block-post-terms a{ background:var(--sl-nebbia); padding:5px 11px; border-radius:12px; text-decoration:none; position:relative; z-index:1; }
.sl-schede-articoli .wp-block-post-excerpt{ font-size:15px; }
.sl-schede-articoli .wp-block-post-date{ font-size:14px; color:var(--sl-grigio); }
.sl-articolo .wp-block-post-content{ font-size:18px; line-height:1.75; }
.sl-articolo .wp-block-post-content h2{ margin-top:44px; font-size:30px; }
.sl-articolo .wp-block-post-content li::marker{ color:var(--sl-sabbia); }
.sl-inbreve{ background:#fff; border-radius:20px; box-shadow:inset 4px 0 0 var(--sl-sabbia), inset 0 0 0 1px var(--sl-linea); padding:24px 28px !important; }
.wp-block-latest-posts.sl-ultime{ padding:0; }
.wp-block-latest-posts.sl-ultime li{ padding:14px 0; box-shadow:0 1px 0 #EEF1EE; margin:0; display:flex; flex-direction:column-reverse; }
.wp-block-latest-posts.sl-ultime a{ font-weight:600; text-decoration:none; color:var(--sl-inchiostro); font-size:17px; }
.wp-block-latest-posts.sl-ultime time{ font-size:13px; color:var(--sl-grigio); }

/* ---------- Piè di pagina ---------- */
.sl-piede{ background:var(--sl-verde); color:#fff; }
.sl-piede a{ color:#fff; }
.sl-piede p{ color:#E2E8E4; font-size:15px; margin:0; line-height:1.6; }
.sl-piede .sl-occhiello{ color:#D9E2DC; margin-bottom:6px; }
.sl-piede .sl-legale, .sl-piede .sl-legale p{ font-size:13px; color:#D9E2DC; box-shadow:0 -1px 0 var(--sl-verde-2); padding-top:18px; }
.sl-piede .sl-zone-piede a{ font-size:14px; }

@media (max-width:781px){
  .sl-fascia{ padding-top:48px !important; padding-bottom:48px !important; }
  .sl-arco{ min-height:0; }
  .sl-testata .sl-solo-computer{ display:none !important; }
}

/* ---------- Aggiunte ---------- */
.sl-riquadro{ position:relative; }
.sl-riquadro a.sl-tutta::after{ content:""; position:absolute; inset:0; border-radius:inherit; }
.sl-ini-verde{ background:var(--sl-verde); color:var(--sl-sabbia) !important; }
.sl-ini-sabbia{ background:var(--sl-sabbia); color:var(--sl-verde) !important; }
.sl-orari strong{ color:var(--sl-verde); }
.sl-autore-mini img{ border-radius:23px 23px 8px 8px; }
.sl-articolo .wp-block-post-terms a{ background:var(--sl-verde); color:#fff; padding:6px 12px; border-radius:14px; text-decoration:none; font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.sl-riquadro-bianco .wp-block-image img{ border-radius:40px 40px 12px 12px; }

/* Home: la foto del lago sta sopra la barra del menu (sul computer) */
body.home .wp-site-blocks{ display:flex; flex-direction:column; }
@media (max-width:781px){
  body.home .wp-site-blocks > header{ order:-1; }
}

/* Griglie: su tablet due colonne, sul telefono una */
@media (max-width:1100px){
  .sl-griglia.is-layout-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:640px){
  .sl-griglia.is-layout-grid{ grid-template-columns:minmax(0,1fr) !important; }
  .sl-marchio-verticale{ display:none; }
  .sl-arco{ border-radius:120px 120px 20px 20px; padding-top:80px !important; }
}

/* ---------- Modulo contatti (Contact Form 7) ---------- */
.sl-modulo .wpcf7 form{ display:flex; flex-direction:column; gap:16px; }
.sl-modulo .wpcf7 form > p{ margin:0; }
.sl-modulo .wpcf7 label{ display:flex; flex-direction:column; gap:6px; font-size:14px; font-weight:700; color:var(--sl-verde); }
.sl-modulo .wpcf7 input[type=text],.sl-modulo .wpcf7 input[type=email],.sl-modulo .wpcf7 input[type=tel],.sl-modulo .wpcf7 select,.sl-modulo .wpcf7 textarea{
  width:100%; box-sizing:border-box; font:inherit; font-weight:500; font-size:16px; color:var(--sl-inchiostro); background:#fff; border:0;
  box-shadow:inset 0 0 0 1px #C9D2CC; border-radius:12px; padding:12px 14px; }
.sl-modulo .wpcf7 textarea{ min-height:130px; resize:vertical; }
.sl-modulo .wpcf7 input:focus,.sl-modulo .wpcf7 select:focus,.sl-modulo .wpcf7 textarea:focus{ outline:none; box-shadow:inset 0 0 0 2px var(--sl-verde); }
.sl-modulo .wpcf7-acceptance label{ flex-direction:row; align-items:flex-start; gap:10px; font-weight:500; font-size:14px; color:var(--sl-inchiostro); }
.sl-modulo .wpcf7-acceptance input{ width:18px; height:18px; margin-top:2px; accent-color:var(--sl-verde); }
.sl-modulo .wpcf7-list-item{ margin:0; }
.sl-modulo .wpcf7-submit{ align-self:flex-start; font:inherit; font-size:16px; font-weight:700; border:0; cursor:pointer; padding:15px 28px; border-radius:999px; background:var(--sl-sabbia); color:var(--sl-verde); }
.sl-modulo .wpcf7-submit:hover{ background:#C9965A; }
.sl-modulo .wpcf7-submit:disabled{ opacity:.55; cursor:not-allowed; }
.sl-modulo .wpcf7-not-valid-tip{ font-size:13px; font-weight:600; color:#A23B2A; margin-top:4px; }
.sl-modulo .wpcf7 form .wpcf7-response-output{ margin:0; border-radius:12px; padding:12px 16px; font-size:15px; }
.sl-modulo .wpcf7-spinner{ margin:12px; }
.sl-modulo .screen-reader-response{ position:absolute; left:-9999px; }
