/*
Theme Name: Residenza di Scrittura
Theme URI: https://residenzadiscrittura.it
Author: Marco Caponera
Author URI: https://marcocaponerascrittura.it
Description: Tema per le residenze di scrittura di Marco Caponera. Home e pagine modificabili con l'editor a blocchi, prossime residenze, edizioni precedenti con foto e video, modulo informazioni.
Version: 2.0
Requires at least: 6.3
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: residenza-scrittura
*/

/* Petrolio come colore di struttura, teal del calamaio come secondo verde, arancione per le azioni. */
:root{
  --petrol:#013F4A; --petrol-deep:#012C34; --petrol-mid:#0B5260;
  --teal:#1A979B; --teal-soft:#DCEEEC;
  --orange:#E8622C; --orange-ink:#2A1408; --orange-soft:#FBE3D6;
  --paper:#F6F4EE; --card:#FFFFFF; --ink:#0F2A30; --muted:#4F666B; --line:#D3DEDD;
  --on-petrol:#F3F1EA;
  --head:"EB Garamond", Garamond, "Times New Roman", serif;
  --body:"Montserrat", "Helvetica Neue", Arial, sans-serif;
  --gutter-l:max(16px, env(safe-area-inset-left, 0px));
  --gutter-r:max(16px, env(safe-area-inset-right, 0px));
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.7 var(--body)}
img{max-width:100%;height:auto}
a{color:var(--petrol-mid)}
.wrap{max-width:72rem;margin:0 auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
h1,h2,h3,h4{font-family:var(--head);font-weight:500;line-height:1.05;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1 em,h2 em{font-style:italic}
.eyebrow{font:600 .72rem/1.3 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:20;background:var(--petrol-deep);color:var(--on-petrol)}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:0;position:relative}}
.site-header .wrap{display:flex;align-items:center;gap:1rem 1.5rem;padding-block:.7rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:inherit;margin-right:auto}
.brand img{height:42px;width:auto}
.brand span{font:500 1.35rem/1 var(--head);letter-spacing:.01em}
.brand span i{color:var(--teal);font-style:italic}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.15rem;align-items:center}
.nav a{display:block;color:var(--on-petrol);text-decoration:none;font:500 .82rem/1 var(--body);padding:.6rem .75rem;border-radius:99px;opacity:.82}
.nav a:hover{opacity:1;background:rgba(255,255,255,.07)}
.nav .current-menu-item > a,.nav a[aria-current="page"]{opacity:1;background:var(--teal);color:#fff}
.nav .ext > a{border:1px solid rgba(255,255,255,.28);opacity:1;margin-left:.3rem}
.nav .ext > a::after{content:" ↗"}

/* ---------- pulsanti (tema e blocchi) ---------- */
.btn,.wp-block-button__link{display:inline-flex;align-items:center;gap:.5rem;font:600 .88rem/1 var(--body);letter-spacing:.02em;text-decoration:none;padding:1rem 1.45rem;border-radius:99px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease}
.btn:hover,.wp-block-button__link:hover{transform:translateY(-1px)}
.wp-block-button__link{background:var(--petrol);color:var(--on-petrol)}
.btn-orange,.is-style-rs-arancio .wp-block-button__link{background:var(--orange);color:var(--orange-ink)}
.btn-petrol{background:var(--petrol);color:var(--on-petrol)}
.btn-line,.is-style-rs-contorno .wp-block-button__link,.is-style-outline .wp-block-button__link{border-color:currentColor;color:inherit;background:transparent}
.btn-sm{padding:.75rem 1.1rem;font-size:.8rem}
.ctas{display:flex;flex-wrap:wrap;gap:.75rem}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:.75rem}

/* ---------- contenuto a sezioni (pagine a blocchi) ---------- */
.rs-content > :not(.rs-section):not(.alignfull){max-width:72rem;margin-left:auto;margin-right:auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
.rs-section{padding-left:var(--gutter-l);padding-right:var(--gutter-r);padding-block:clamp(3rem,7vw,5.5rem);margin:0}
.rs-section + .rs-section{margin-top:0}
.rs-inner{max-width:72rem;margin:0 auto}
.rs-inner > *{margin-top:0;margin-bottom:0}
.rs-inner > * + *{margin-top:1rem}
.rs-inner > .eyebrow + *{margin-top:.6rem}
.rs-inner > .wp-block-heading + *{margin-top:1.2rem}
.rs-inner > :is(.cards,.grid-ed,.rs-acts,.wp-block-columns,.wp-block-gallery,.wp-block-buttons,.wp-block-image,.wp-block-rs-prossime,.wp-block-rs-edizioni){margin-top:2.2rem}
.rs-inner > p:not(.eyebrow){max-width:44rem}
.rs-section h1{font-size:clamp(2.6rem,6vw,4.4rem)}
.rs-section h2{font-size:clamp(2.3rem,5vw,3.6rem)}
.rs-section h3{font-size:1.6rem}
.rs-sub{color:var(--muted);font-size:1.05rem}
.rs-small{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:600}
.rs-section .wp-block-columns{gap:2.5rem;margin-bottom:0}
.rs-section .wp-block-column > * {margin-top:0;margin-bottom:0}
.rs-section .wp-block-column > * + *{margin-top:1rem}
.rs-section .wp-block-column > .eyebrow + *{margin-top:.6rem}
.rs-section .wp-block-column > .wp-block-heading + *{margin-top:1.2rem}

/* varianti di colore */
.rs-petrol{background:var(--petrol);color:var(--on-petrol)}
.rs-band{background:var(--petrol-mid);color:var(--on-petrol)}
.rs-alt{background:var(--teal-soft)}
.rs-petrol a:not(.wp-block-button__link),.rs-band a:not(.wp-block-button__link){color:var(--on-petrol)}
.rs-band .eyebrow{color:#9FD8D6}
.rs-petrol .wp-block-button__link{background:var(--teal);color:#fff}
.rs-petrol .is-style-rs-arancio .wp-block-button__link{background:var(--orange);color:var(--orange-ink)}
.rs-petrol .is-style-rs-contorno .wp-block-button__link,.rs-band .is-style-rs-contorno .wp-block-button__link{background:transparent;color:var(--on-petrol)}
.rs-petrol .rs-sub,.rs-band .rs-sub{color:var(--on-petrol);opacity:.85}

/* hero */
.rs-hero .rs-hero-cols{align-items:center}
.rs-hero .rs-hero-title{font-size:clamp(3rem,8vw,6.2rem);margin-top:.8rem}
.rs-hero .rs-hero-title em{color:var(--orange)}
.rs-lead{font-size:1.06rem;max-width:34rem;opacity:.92}
.rs-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.25);max-width:34rem;margin-top:2.4rem!important}
.rs-facts > *{margin:0!important}
.rs-fact{padding-top:.9rem}
.rs-fact > *{margin:0}
.rs-fact-val{font:500 1.5rem/1.1 var(--head)}
.rs-logo-box{margin:0;padding:2rem;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:var(--petrol-deep);text-align:center}
.rs-logo-box img{width:100%;max-width:26rem;margin:0 auto}

/* attività */
.rs-acts{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.rs-act{flex:1 1 18rem;padding:1.6rem 1.4rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);margin:0!important}
.rs-act > *{margin:0}
.rs-act > * + *{margin-top:.45rem}
.rs-act h3{font-size:1.6rem}
.rs-act p{color:var(--muted);font-size:.95rem}
.rs-n{font:italic 500 1.2rem/1 var(--head);color:var(--teal)}
.rs-include strong{font:600 .72rem/1.3 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-right:.8rem}
.rs-quote{font:italic 400 clamp(1.7rem,3.4vw,2.5rem)/1.2 var(--head)}

/* riquadro bianco (stile del blocco Gruppo) */
.is-style-rs-scheda{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1.6rem;color:var(--ink)}

/* galleria e immagini nelle sezioni */
.rs-section .wp-block-gallery{gap:.6rem}
.rs-section .wp-block-image img{border-radius:4px}
.rs-section .rs-logo-box img{border-radius:0}

/* nota nell'editor sopra i blocchi automatici */
.rs-editor-nota{font:500 .75rem/1.4 var(--body);color:var(--muted);background:#fff;border:1px dashed var(--teal);padding:.5rem .7rem;margin-bottom:.8rem;border-radius:4px}

/* ---------- testo semplice ---------- */
.section{padding-block:clamp(3rem,7vw,5.5rem)}
.section-head{display:grid;gap:.6rem;max-width:44rem;margin-bottom:2.4rem}
.section-head p{margin:0;color:var(--muted);font-size:1.05rem}
.prose{max-width:40rem}
.prose p{margin:0 0 1rem}
.prose h2{font-size:2rem;margin:2rem 0 .8rem}
.prose h3{font-size:1.6rem;margin:1.6rem 0 .6rem}
.prose figure{margin:1.5rem 0}
.prose iframe,.prose video{max-width:100%}
.prose-wide{max-width:60rem}
.single-photo{margin:0 0 2rem}
.single-photo img{border-radius:4px}

/* ---------- schede residenze ---------- */
.cards{display:grid;gap:1.5rem}
.res{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden;color:var(--ink)}
.res .when{background:var(--petrol);color:var(--on-petrol);padding:1.5rem;display:grid;align-content:space-between;gap:1rem}
.res .when b{font:500 2rem/1 var(--head)}
.res .when img{border-radius:3px;aspect-ratio:4/3;object-fit:cover;width:100%}
.res .body{padding:1.6rem;display:grid;gap:.9rem;align-content:start}
.res h3{font-size:clamp(1.8rem,3vw,2.3rem)}
.res h3 a{color:inherit;text-decoration:none}
.res p{margin:0}
.meta{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{font:500 .76rem/1 var(--body);padding:.5rem .75rem;border-radius:99px;background:var(--teal-soft);color:var(--ink)}
.res .actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.3rem}
.res .btn-line{color:var(--ink)}
.empty{border:1px dashed var(--muted);padding:2rem;color:var(--muted);border-radius:6px}

/* ---------- schede edizioni ---------- */
.grid-ed{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1.6rem}
.ed{display:grid;grid-template-rows:auto 1fr;background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .15s ease}
.ed:hover{transform:translateY(-2px)}
.ed .ph{aspect-ratio:4/3;max-width:100%;background:var(--petrol);display:grid;place-items:center;overflow:hidden}
.ed .ph img{width:100%;height:100%;object-fit:cover}
.ed .ph .noimg{width:30%;height:auto;opacity:.5}
.ed .tx{padding:1.2rem 1.3rem 1.4rem;display:grid;gap:.35rem;align-content:start}
.ed h3{font-size:1.7rem}
.ed p{margin:0;color:var(--muted);font-size:.9rem}

/* ---------- pagine singole ---------- */
.single-head{background:var(--petrol);color:var(--on-petrol)}
.single-head .wrap{padding-block:clamp(2.5rem,6vw,4.5rem);display:grid;gap:.8rem}
.single-head h1{font-size:clamp(2.6rem,6vw,4.6rem)}
.single-head .meta .chip{background:rgba(255,255,255,.1);color:var(--on-petrol)}
.back{display:inline-block;margin-top:2.5rem;font-weight:600;font-size:.85rem}

/* ---------- modulo ---------- */
.rs-form{display:grid;gap:1rem;background:var(--card);border:1px solid var(--line);padding:1.6rem;border-radius:6px;color:var(--ink)}
.rs-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.rs-form label{display:grid;gap:.35rem;font:600 .8rem/1.2 var(--body)}
.rs-form input,.rs-form select,.rs-form textarea{font:400 1rem/1.4 var(--body);padding:.75rem .85rem;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);width:100%}
.rs-form textarea{min-height:8rem;resize:vertical}
.rs-form .check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;font-size:.82rem;color:var(--muted)}
.rs-form .check input{width:auto;margin-top:.2rem}
.rs-form .hp{position:absolute;left:-9999px}
.notice{margin:0 0 1rem;padding:.9rem 1rem;border-radius:4px;font-size:.92rem}
.notice.ok{background:var(--teal-soft)}
.notice.err{background:var(--orange-soft)}

/* ---------- footer ---------- */
.site-footer{background:var(--petrol-deep);color:var(--on-petrol)}
.site-footer .wrap{padding-block:3rem;display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:2.5rem;align-items:start}
.site-footer img{width:100%;max-width:12rem}
.site-footer .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 2.5rem;font-size:.88rem}
.site-footer .cols > div{display:grid;gap:.35rem;align-content:start}
.site-footer .cols p{margin:0;opacity:.85}
.site-footer a{color:var(--on-petrol)}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.site-footer .ext > a::after{content:" ↗"}

@media (max-width:820px){
  .res,.site-footer .wrap,.site-footer .cols{grid-template-columns:minmax(0,1fr)}
  .rs-form .row2{grid-template-columns:1fr}
  .rs-hero .wp-block-column:last-child{order:-1}
  .rs-logo-box{padding:1.4rem}
  .rs-logo-box img{max-width:16rem}
  .rs-fact-val{font-size:1.15rem}
  .brand span{font-size:1.15rem}
  .brand img{height:34px}
}
@media (prefers-reduced-motion:reduce){.btn,.ed,.wp-block-button__link{transition:none}}
