/* Adattamento del design ai blocchi di WordPress (si aggiunge a theme.css) */
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block:0}
.wp-block-post-content{margin:0}
.wp-block-group.wrap{width:min(1200px,100% - 2.5rem);max-width:none;margin-inline:auto}
.wp-block-group.sec.wrap,.wp-block-group.wrap.sec{padding-block:clamp(3.5rem,7vw,6rem)}
.wp-block-heading{margin:0 0 .4rem}
.wp-block-image{margin:0}
.wp-block-image img{height:auto}
.wp-block-list{padding-left:1.2rem;margin:0 0 1rem}

/* Comparsa dei blocchi: solo se JavaScript è attivo */
.reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){
  .js .reveal:not(.in){opacity:0;transform:translateY(28px)}
  .js .reveal{transition:opacity .9s var(--ease),transform .9s var(--ease)}
}

/* Testata */
header.top{position:sticky;top:0;z-index:30}
.top__in.wp-block-group{min-height:68px;gap:1.5rem;flex-wrap:nowrap!important;align-items:center}
.top .brand{display:flex;align-items:center;flex:none}
.top .brand img{height:44px;width:auto}
.wp-block-navigation.nav{margin-inline:auto}
.wp-block-navigation.nav .wp-block-navigation__container{gap:1.4rem}
.wp-block-navigation.nav a{font-weight:550;font-size:.97rem;color:var(--muted);text-decoration:none;padding:.4rem 0}
.wp-block-navigation.nav a:hover,.wp-block-navigation.nav .current-menu-item>a{color:var(--ink)}
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close{color:var(--ink)}
.wp-block-navigation__responsive-container.is-menu-open{background:var(--bg);color:var(--ink)}
.top__act{margin-left:auto}
.top__act .wp-block-buttons{margin:0}

/* Bottoni */
.wp-block-buttons{gap:.8rem}
.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.65rem 1.25rem;border-radius:var(--r-ctl);font:600 1rem/1 var(--font);text-decoration:none;white-space:nowrap;border:1.5px solid transparent;transition:transform .25s var(--ease),box-shadow .25s,background-color .25s,color .25s}
.wp-block-button__link:active{transform:translateY(1px) scale(.98)}
.btn-brand .wp-block-button__link{background:var(--brand);color:var(--brand-ink)}
.btn-brand .wp-block-button__link:hover{box-shadow:0 10px 24px -12px var(--brand);transform:translateY(-1px)}
.btn-light .wp-block-button__link{background:#fff;color:#16301a}
.btn-ghost .wp-block-button__link{background:rgba(10,20,10,.35);color:#fff;border-color:rgba(255,255,255,.75)}
.btn-ghost .wp-block-button__link:hover{background:rgba(255,255,255,.16)}
.btn-line .wp-block-button__link{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-line .wp-block-button__link:hover{background:var(--ink);color:var(--bg)}

/* Apertura della Home (blocco Copertina) */
.wp-block-cover.hero{min-height:min(86dvh,780px);padding:0;align-items:center;justify-content:flex-start;color:#fff;overflow:hidden;isolation:isolate}
.wp-block-cover.hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(9,22,10,.82) 0%,rgba(9,22,10,.55) 45%,rgba(9,22,10,.12) 100%),linear-gradient(0deg,rgba(9,22,10,.5),transparent 40%)!important;opacity:1!important}
.wp-block-cover.hero .wp-block-cover__inner-container{width:min(1200px,100% - 2.5rem);margin-inline:auto;padding-block:3rem 7rem}
.hero h1{font-size:clamp(2.7rem,7vw,5.4rem);letter-spacing:-.035em;max-width:11ch;font-weight:720;color:#fff;margin:0}
.hero .hero__sub{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:40ch;margin:1.3rem 0 1.8rem;color:rgba(255,255,255,.92)}
@media (prefers-reduced-motion:no-preference){.wp-block-cover.hero .wp-block-cover__image-background{animation:lento 24s var(--ease) infinite alternate}}

/* Apertura delle pagine interne */
.wp-block-cover.phero{min-height:min(54dvh,480px);padding:0;align-items:flex-end;justify-content:flex-start;color:#fff;overflow:hidden}
.wp-block-cover.phero .wp-block-cover__background{background:linear-gradient(0deg,rgba(8,20,9,.86),rgba(8,20,9,.18) 72%)!important;opacity:1!important}
.wp-block-cover.phero .wp-block-cover__inner-container{width:min(1200px,100% - 2.5rem);margin-inline:auto;padding-block:5rem 2.8rem}
.phero h1{font-size:clamp(2.3rem,5.2vw,4rem);max-width:15ch;font-weight:720;color:#fff;margin:0}
.phero p{margin:.9rem 0 0;max-width:46ch;color:rgba(255,255,255,.92);font-size:1.15rem}

/* Colonne di testo e foto */
.wp-block-columns.cols{gap:clamp(1.8rem,5vw,4.5rem);margin:0}
.wp-block-columns.cols>.wp-block-column{flex-basis:0;flex-grow:1}
.prose p{color:var(--muted);font-size:1.08rem}
.sec-tint{background:var(--tint)}
.wp-block-group.sec-tint{padding-block:clamp(3.5rem,7vw,6rem)}
.one-pic img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-card);box-shadow:var(--shadow)}
.pics.wp-block-group{display:grid!important;grid-template-columns:1.15fr 1fr;gap:.8rem}
.pics .wp-block-image img{border-radius:var(--r-card);width:100%;height:100%;object-fit:cover;aspect-ratio:16/10;box-shadow:var(--shadow)}
.pics .tall{grid-row:span 2}
.pics .tall img{aspect-ratio:auto}
.facts.wp-block-group{display:flex;flex-wrap:wrap;gap:1.8rem 2.6rem;margin:1.8rem 0}
.facts p{margin:0;display:grid;font-size:.92rem;color:var(--muted)}
.facts strong{font-size:2rem;letter-spacing:-.03em;color:var(--brand);line-height:1.1}

/* Elenchi e regole */
.vals{list-style:none;padding:0;margin:1.4rem 0 0;display:grid;gap:1.1rem}
.vals li{padding-left:1.1rem;border-left:3px solid var(--brand)}
.vals strong{display:block;font-size:1.12rem}
.rules{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.7rem}
.rules li{display:flex;justify-content:space-between;gap:1.2rem;background:var(--surface);padding:.85rem 1.1rem;border-radius:var(--r-ctl)}
.rules li span{color:var(--muted)}
.rules li strong{text-align:right}
.svc{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 3rem}
.svc strong{display:block;font-size:1.08rem}
.svc span{color:var(--muted);font-size:.98rem}
.steps{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1.4rem}
.steps li{display:grid;grid-template-columns:5.2rem 1fr;gap:1rem}
.steps time{font-weight:700;color:var(--brand);font-size:1.1rem}
.steps strong{display:block}

/* Camere */
.rooms.wp-block-group{background:var(--tint);padding-block:clamp(4rem,8vw,7rem);overflow:hidden}
.rooms__in.wp-block-group{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.rooms__info p{color:var(--muted)}
.rooms__track.wp-block-group{display:flex!important;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.4rem .2rem 1rem;margin-right:calc(50% - 50vw);flex-wrap:nowrap!important}
.rooms__track .wp-block-image{flex:0 0 min(78%,560px);scroll-snap-align:start;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow)}
.rooms__track .wp-block-image img{aspect-ratio:3/2;width:100%;object-fit:cover}
.arrows{display:flex;gap:.6rem;margin-top:1.2rem}

/* Griglia asimmetrica */
.bento.wp-block-group{padding-block:clamp(4.5rem,9vw,8rem)}
.bento__grid.wp-block-group{display:grid!important;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(240px,auto);gap:1rem}
.cell.wp-block-cover{position:relative;overflow:hidden;border-radius:var(--r-card);min-height:260px;padding:1.5rem;align-items:flex-end;justify-content:flex-start;color:#fff}
.cell.wp-block-cover .wp-block-cover__background{background:linear-gradient(0deg,rgba(8,20,9,.88),rgba(8,20,9,.15) 62%)!important;opacity:1!important}
.cell.wp-block-cover .wp-block-cover__inner-container{padding:0;width:100%}
.cell h3{color:#fff;margin:0}
.cell p{margin:.5rem 0 0;max-width:46ch;color:rgba(255,255,255,.92)}
.cell.cell--tint,.cell.cell--tint2{border-radius:var(--r-card);padding:1.5rem;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end}
.cell--tint{background:var(--tint)}
.cell--tint2{background:var(--tint2)}
.cell--tint p,.cell--tint2 p{color:var(--muted)}
.cell--rist{grid-column:span 4;grid-row:span 2;min-height:440px!important}
.cell--olive{grid-column:span 2;grid-row:span 2}
.cell--tint,.cell--tint2{grid-column:span 2}
.cell--shop{grid-column:span 6;min-height:240px}
.cell a{color:#fff;font-weight:600}

/* Storia, recensioni, galleria, contatti */
.story.wp-block-group{background:var(--surface);border-block:1px solid var(--line);padding-block:clamp(4rem,8vw,7rem)}
.voices.wp-block-group{padding-block:clamp(4.5rem,9vw,8rem)}
.voices__grid.wp-block-group{display:grid!important;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:1.2rem 3rem}
.voice.wp-block-quote{margin:0;padding:0 0 0 1.4rem;border-left:3px solid var(--brand)}
.voice p{font-size:1.2rem;line-height:1.5;margin-bottom:.8rem;color:var(--ink)}
.voice cite{color:var(--muted);font-size:.95rem;font-weight:600;font-style:normal}
.voice--big{grid-row:span 2;align-self:center}
.voice--big p{font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.2;letter-spacing:-.02em;font-weight:620;max-width:20ch}
.gallery-g.wp-block-gallery{display:grid!important;width:100%;max-width:none;box-sizing:border-box;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:.8rem}
.gallery-g.wp-block-gallery .wp-block-image{margin:0!important;width:auto!important;border-radius:var(--r-card);overflow:hidden}
.gallery-g.wp-block-gallery .wp-block-image img{width:100%;height:100%;object-fit:cover}
.gallery-g.wp-block-gallery .wp-block-image:nth-child(1),.gallery-g.wp-block-gallery .wp-block-image:nth-child(5),.gallery-g.wp-block-gallery .wp-block-image:nth-child(7),.gallery-g.wp-block-gallery .wp-block-image:nth-child(8){grid-column:span 2}
.contact.wp-block-group{background:var(--brand);color:var(--brand-ink);padding-block:clamp(4rem,8vw,7rem)}
.contact h2,.contact h3,.contact p,.contact a{color:var(--brand-ink)}
.contact .btn-brand .wp-block-button__link{background:var(--brand-ink);color:var(--brand)}
.contact .btn-line .wp-block-button__link{color:var(--brand-ink);border-color:var(--brand-ink)}
.phones.wp-block-group{display:grid!important;gap:.2rem;max-width:420px;margin:1.6rem 0}
.phones p{display:flex;justify-content:space-between;gap:1rem;margin:0;padding:.7rem 0;border-bottom:1px solid color-mix(in srgb,currentColor 28%,transparent)}
.phones a{font-weight:700;text-decoration:none;font-size:1.25rem}

/* Piè di pagina */
footer.foot{padding-block:2.2rem 6rem;color:var(--muted);font-size:.95rem}
.foot__in.wp-block-group{display:grid!important;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:1.5rem}
.foot p{margin:0}
.foot a{color:var(--ink)}
.foot__id img{height:52px;width:auto;margin-bottom:.8rem}

@media (max-width:900px){
  .rooms__in.wp-block-group,.voices__grid.wp-block-group{grid-template-columns:1fr!important}
  .pics.wp-block-group{grid-template-columns:1fr 1fr}
  .bento__grid.wp-block-group{grid-template-columns:1fr 1fr}
  .cell--rist{grid-column:span 2;grid-row:auto;min-height:340px!important}
  .cell--olive,.cell--tint,.cell--tint2{grid-column:span 1;grid-row:auto}
  .cell--shop{grid-column:span 2}
  .svc{grid-template-columns:1fr}
  .gallery-g.wp-block-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}
  .foot__in.wp-block-group{grid-template-columns:1fr!important}
}
@media (max-width:640px){
  .bento__grid.wp-block-group{grid-template-columns:1fr}
  .cell--rist,.cell--olive,.cell--tint,.cell--tint2,.cell--shop{grid-column:auto}
  .wp-block-cover.hero .wp-block-cover__inner-container{padding-block:2rem 6.5rem}
  .hero .wp-block-buttons{flex-direction:column;align-items:stretch}
  .top .brand img{height:38px}
}

/* Modulo contatti */
.formx__trap{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn-form{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.65rem 1.8rem;border-radius:var(--r-ctl);border:1.5px solid transparent;background:var(--brand);color:var(--brand-ink);font:600 1rem/1 var(--font);cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s}
.btn-form:hover{box-shadow:0 10px 24px -12px var(--brand);transform:translateY(-1px)}
.form-msg{padding:.9rem 1.1rem;border-radius:var(--r-ctl);margin:0 0 1rem;font-weight:600}
.form-msg--ok{background:var(--tint);color:var(--ink)}
.form-msg--err{background:#fbe3e0;color:#7a1b13}
@media (prefers-color-scheme:dark){.form-msg--err{background:#4a1d19;color:#ffd9d4}}
.phones--page.wp-block-group{max-width:none}
.phones--page a{color:var(--ink)}
.prenota-box.wp-block-group{padding-block:0 clamp(2rem,5vw,4rem)}

/* Correzioni dopo il primo controllo sul sito vero */
.wp-block-cover.hero,.wp-block-cover.phero{display:flex;justify-content:center}
.wp-block-cover.hero{align-items:center}
.wp-block-cover.phero{align-items:flex-end}
.wp-site-blocks p{margin-block:0 1rem}
.wp-block-cover.hero .wp-block-cover__inner-container,.wp-block-cover.phero .wp-block-cover__inner-container{width:min(1200px,100% - 2.5rem)!important;max-width:none!important;margin-inline:auto!important;box-sizing:border-box}
.cell.wp-block-cover{flex-direction:row;align-items:flex-end;justify-content:flex-start}
.cell.wp-block-cover .wp-block-cover__inner-container{width:100%!important}
.pic.wp-block-image{margin:0}
.pic.wp-block-image img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.wp-block-group p+p,.wp-block-group p+.wp-block-buttons,.wp-block-group ul+p{margin-top:0}
.wp-block-group .wp-block-buttons{margin-top:1.4rem}
.story__txt p+p{margin-top:0}
.wp-block-cover.hero h1,.wp-block-cover.phero h1{margin-block:0 .9rem}
/* selettore lingua */
.top__act{gap:.9rem;align-items:center}
.lang{display:inline-flex;gap:.15rem;font:600 .85rem/1 var(--font)}
.lang a{padding:.45rem .6rem;border-radius:var(--r-ctl);text-decoration:none;color:var(--muted)}
.lang a:hover{color:var(--ink)}
.lang a[aria-current]{background:var(--tint);color:var(--ink)}
@media (max-width:520px){.lang a{padding:.4rem .45rem}}
/* pagina privacy */
.privacy h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:0 0 1.2rem;font-weight:720}
.privacy h2{font-size:1.4rem;max-width:none;margin:2.2rem 0 .7rem;letter-spacing:-.01em}
.privacy.wp-block-group{max-width:820px}
/* Bio-Shop in evidenza nel menu */
.wp-block-navigation.nav a[href*="moiobio.it"]{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .95rem;border:1.5px solid var(--brand);border-radius:var(--r-ctl);
  background:var(--tint);color:var(--brand);font-weight:650;transition:background-color .25s,color .25s,transform .25s var(--ease)}
.wp-block-navigation.nav a[href*="moiobio.it"]::after{content:"";width:.8em;height:.8em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 1h8v8M11 1 1 11' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 1h8v8M11 1 1 11' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.wp-block-navigation.nav a[href*="moiobio.it"]:hover{background:var(--brand);color:var(--brand-ink);transform:translateY(-1px)}
.wp-block-navigation.nav a[href*="moiobio.it"]::after{position:static;inset:auto;transform:none;opacity:1;flex:none;margin:0}
@media (max-width:620px){.top__act .wp-block-buttons{display:none}.top__in.wp-block-group{gap:.8rem}.lang{margin-left:auto}}
/* menu aperto su telefono: la sfocatura della testata renderebbe il menu alto quanto la testata */
.top:has(.wp-block-navigation__responsive-container.is-menu-open),html.has-modal-open .top{backdrop-filter:none;-webkit-backdrop-filter:none}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:1.2rem;align-items:flex-start}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation.nav a{font-size:1.25rem;color:var(--ink)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation.nav a[href*="moiobio.it"]{color:var(--brand)}

/* Prezzo "da" (senza listino pubblico) */
.price-from{font-size:clamp(1.5rem,2.6vw,2rem);margin:1.2rem 0 .4rem!important;color:var(--ink)}
.price-from strong{color:var(--brand)}

/* Frasi lunghe nelle regole (come si paga): testo normale a capo, non righe a due colonne */
.rules.rules--testo li{display:block;line-height:1.5}
.rules.rules--testo li strong{text-align:left}

/* Foto delle camere: restano dentro la colonna, non escono dal bordo destro della pagina */
.rooms__track.wp-block-group{margin-right:0;padding-right:0;max-width:100%}
.rooms__track .wp-block-image{flex:0 0 100%;max-width:100%}
@media (max-width:900px){.rooms__track.wp-block-group{margin-right:0}}

/* Immagine ingrandita al clic (lightbox di WordPress): la copia dell'immagine eredita la classe "reveal" (invisibile finche non entra nella pagina). Qui deve restare sempre visibile. */
.wp-lightbox-overlay .reveal{opacity:1!important;transform:none!important;transition:none!important}

/* Home: foto che si alternano con dissolvenza dietro al testo, e logo al posto della scritta */
.wp-block-cover.hero .wp-block-cover__inner-container{position:static!important;z-index:auto!important}
.wp-block-cover.hero .wp-block-cover__inner-container>*:not(.hero-slides){position:relative;z-index:2}
.hero-slides{position:absolute!important;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero-slides img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:0;transition:opacity .9s ease}
.hero-slides img.on{opacity:1}
.hero .hero__logo{width:clamp(210px,30vw,360px);max-width:none;margin:0 0 1.1rem;line-height:0;font-size:1rem}
.hero .hero__logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 14px rgba(0,0,0,.45))}
@media (prefers-reduced-motion:reduce){.hero-slides img{transition:none}}

/* Testata alta con logo grande (computer); si restringe quando si scende nella pagina. Su telefono e tablet resta com'era. */
@media (min-width:901px){
  .top__in.wp-block-group{min-height:116px}
  .top .brand img{height:76px}
  header.top.is-stuck{margin-bottom:44px}
  .top.is-stuck .top__in.wp-block-group{min-height:72px}
  .top.is-stuck .brand img{height:48px}
}

/* Home: fascia piu bassa e larga (rettangolo), logo ben visibile sulla foto */
.wp-block-cover.hero{min-height:clamp(400px,29vw,560px)}
@media (min-width:641px){
  .wp-block-cover.hero .wp-block-cover__inner-container{padding-block:2.2rem 2.6rem}
}
.hero-slides img{object-position:50% 42%}
.wp-block-cover.hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(7,17,8,.9) 0%,rgba(7,17,8,.78) 34%,rgba(7,17,8,.34) 62%,rgba(7,17,8,.08) 100%),linear-gradient(0deg,rgba(7,17,8,.45),transparent 45%)!important}
.hero .hero__logo{width:clamp(230px,26vw,420px)}
.hero .hero__logo img{filter:drop-shadow(0 0 2px rgba(0,0,0,.7)) drop-shadow(0 4px 20px rgba(0,0,0,.65))}
.hero .hero__sub{text-shadow:0 1px 14px rgba(0,0,0,.55)}

/* Chi e collegato come amministratore: la testata fissa resta sotto la barra nera di WordPress */
body.admin-bar header.top{top:32px}
@media (max-width:782px){body.admin-bar header.top{top:46px}}
