/* FOLD — colori e impostazione presi dal catalogo stampato */
:root {
  --carbone: #1b1916;
  --inchiostro: #211e19;
  --sabbia: #f1ede4;
  --pannello: #f2ede7;
  --ottone: #a8946c;
  --ottone-chiaro: #c9b58c;
  --muto: #5f594f;
  --muto-scuro: rgba(241, 237, 228, .74);
  --riga: rgba(33, 30, 25, .16);
  --riga-scura: rgba(241, 237, 228, .2);
  /* equivalenti liberi di Optima e Avenir Next del catalogo, ospitati nel tema (fonts.css) */
  --f-titoli: "Marcellus", "Optima", Candara, serif;
  --f-testo: "Nunito Sans", "Avenir Next", system-ui, -apple-system, "Segoe UI", sans-serif;
  --lato: clamp(20px, 5vw, 64px);
  /* un solo margine per testata, copertina, sezioni e piè di pagina */
  --bordo: max(var(--lato), calc((100vw - 1400px) / 2));
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--sabbia); color: var(--inchiostro); font: 400 1rem/1.65 var(--f-testo); font-variant-numeric: tabular-nums; font-synthesis: none; caret-color: var(--ottone); accent-color: var(--ottone); }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .22em; text-decoration-thickness: 1px; }
h1, h2, h3 { font-family: var(--f-titoli); font-weight: 400; line-height: 1.08; margin: 0; text-wrap: balance; }
::selection { background: var(--ottone); color: var(--carbone); }
:focus-visible { outline: 2px solid var(--ottone); outline-offset: 3px; }
.fold-salta { position: absolute; left: -9999px; }
.fold-salta:focus { left: 12px; top: 12px; z-index: 10; padding: .6em 1em; background: var(--sabbia); color: var(--carbone); }
.fold-colonna { width: 100%; padding-inline: var(--bordo); }

/* Testata */
.fold-testata { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: clamp(16px, 3vw, 40px); padding: 12px var(--bordo); background: var(--carbone); color: var(--sabbia); }
.fold-marchio { display: flex; align-items: center; gap: 14px; text-decoration: none; margin-right: auto; }
.fold-marchio img { width: 30px; height: auto; filter: brightness(0) invert(.94); }
.fold-marchio span { font: 400 1.05rem/1 var(--f-titoli); letter-spacing: .32em; }
.fold-menu { display: flex; gap: clamp(16px, 2.4vw, 32px); }
.fold-menu a { font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; text-decoration: none; color: var(--muto-scuro); padding: 10px 0; }
.fold-menu a:hover { color: var(--sabbia); }
.fold-testata-btn { padding: .7em 1.1em; font-size: .82rem; }

/* Pulsanti */
.fold-btn { display: inline-flex; align-items: baseline; gap: .7em; min-height: 48px; padding: .95em 1.6em; border: 1px solid currentColor; font: 600 .95rem/1.2 var(--f-testo); letter-spacing: .03em; text-decoration: none; transition: background-color .2s, color .2s; }
.fold-btn-chiaro { background: var(--sabbia); border-color: var(--sabbia); color: var(--carbone); }
.fold-btn-chiaro:hover { background: #fff; border-color: #fff; }
.fold-btn-linea:hover { background: var(--sabbia); color: var(--carbone); }
.fold-link { font-size: .95rem; }
.fold-azioni { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 36px; }

/* Copertina */
.fold-copertina { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: calc(100svh - 72px); background: var(--carbone); color: var(--sabbia); }
.fold-copertina-testo { align-self: center; padding: clamp(40px, 6vw, 88px) var(--lato) clamp(40px, 6vw, 88px) var(--bordo); }
.fold-piega { display: block; width: 100%; height: auto; margin-bottom: clamp(24px, 4vw, 40px); overflow: visible; }
.fold-piega path { fill: none; stroke: var(--ottone-chiaro); stroke-width: 3px; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
/* il titolo riempie la colonna: 2,62 è la larghezza di «FOLD» in rapporto al corpo */
.fold-copertina h1 { font-size: min(11.5rem, calc((41.66vw - var(--bordo) - var(--lato)) / 2.62)); letter-spacing: .04em; line-height: .95; }
.fold-copertina-sotto { margin: 22px 0 0; font-size: clamp(1.1rem, 1.6vw, 1.3rem); }
.fold-copertina-motto { margin: 6px 0 0; font: 400 clamp(1.05rem, 1.5vw, 1.2rem)/1.5 var(--f-titoli); color: var(--muto-scuro); }
/* la foto riempie la colonna senza allungare la sezione oltre lo schermo */
.fold-copertina-foto { position: relative; min-height: 100%; }
.fold-copertina-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 85%; }

/* Fondi */
section, .fold-elenco { scroll-margin-top: 84px; }
.fold-scuro { background: var(--carbone); color: var(--sabbia); }
.fold-sabbia { background: var(--sabbia); }
.fold-collezione, .fold-dettagli, .fold-finiture, .fold-contatti { padding-block: clamp(72px, 10vw, 144px); }
.fold-collezione { padding-bottom: clamp(56px, 7vw, 96px); }
h2 { font-size: clamp(2.3rem, 4.6vw, 3.7rem); }
.fold-intro { max-width: 62ch; margin: 22px 0 0; font-size: 1.08rem; line-height: 1.75; color: var(--muto); }
.fold-scuro .fold-intro { color: var(--muto-scuro); }

/* La collezione */
.fold-elenco { list-style: none; margin: clamp(40px, 5vw, 64px) 0 0; padding: 0; border-top: 1px solid var(--riga-scura); }
.fold-elenco a { display: grid; grid-template-columns: 52px minmax(7rem, 11rem) minmax(0, 1fr); align-items: center; gap: 0 clamp(14px, 3vw, 40px); padding: 22px 0; border-bottom: 1px solid var(--riga-scura); text-decoration: none; transition: background-color .25s; }
.fold-elenco a:hover { background: rgba(241, 237, 228, .04); }
.fold-elenco strong { font: 400 1.5rem/1 var(--f-titoli); letter-spacing: .14em; }
.fold-elenco span { color: var(--muto-scuro); }
.fold-profilo { width: 40px; height: 40px; }
.fold-profilo path { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.fold-largo { margin: clamp(48px, 7vw, 96px) 0 0; }
.fold-largo img { width: 100%; max-height: 86svh; object-fit: cover; }

/* Riquadri di dati come nel catalogo */
.fold-dati { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); margin: clamp(40px, 6vw, 72px) auto 0; border: 1px solid var(--riga); }
.fold-scuro .fold-dati { border-color: var(--riga-scura); }
.fold-collezione .fold-dati { width: calc(100% - 2 * var(--bordo)); padding: 0; }
.fold-dati div { display: flex; flex-direction: column-reverse; align-items: center; gap: 4px; padding: 20px 14px; text-align: center; border-left: 1px solid var(--riga); }
.fold-scuro .fold-dati div { border-color: var(--riga-scura); }
.fold-dati div:first-child { border-left: 0; }
.fold-dati dd { margin: 0; font: 400 1.3rem/1.2 var(--f-titoli); }
.fold-dati dt { font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--muto); }
.fold-scuro .fold-dati dt { color: var(--muto-scuro); }

/* I tre modelli */
.fold-modello { background: #fff; padding-top: clamp(72px, 10vw, 140px); }
.fold-modello-scheda { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); grid-template-areas: "testo foto"; gap: clamp(32px, 6vw, 96px); align-items: center; }
#short .fold-modello-scheda { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); grid-template-areas: "foto testo"; }
.fold-modello-testo { grid-area: testo; }
.fold-modello-foto { grid-area: foto; background: var(--pannello); }
.fold-modello-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: contain; }
#relax .fold-modello-foto img { aspect-ratio: 4 / 3; }
.fold-modello h2 { font-size: clamp(3.2rem, 7vw, 5.4rem); letter-spacing: .08em; }
.fold-modello-sotto { margin: 8px 0 22px; font: 400 1.2rem/1.4 var(--f-titoli); color: var(--muto); }
.fold-modello-testo > p:not([class]) { max-width: 58ch; color: var(--muto); line-height: 1.75; }
.fold-misure { margin: 28px 0 0; max-width: 30rem; border-top: 1px solid var(--riga); }
.fold-misure div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--riga); }
.fold-misure dt { color: var(--muto); }
.fold-misure dd { margin: 0; font-weight: 600; }
.fold-chiedi { margin: 26px 0 0; }
.fold-ambienti { margin: 22px 0 0; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--muto); }

/* Dettagli */
.fold-dettagli-griglia { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 88px); align-items: center; margin-top: clamp(40px, 6vw, 72px); }
.fold-dettagli-foto { margin: 0; }
.fold-dettagli-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.fold-punti { margin: 0; }
.fold-punti div { padding: 22px 0; border-top: 1px solid var(--riga); }
.fold-punti div:last-child { border-bottom: 1px solid var(--riga); }
.fold-punti dt { font: 400 1.45rem/1.2 var(--f-titoli); }
.fold-punti dd { margin: 8px 0 0; color: var(--muto); max-width: 46ch; }

/* Finiture */
.fold-finiture { padding-top: 0; }
.fold-finiture h3 { display: flex; align-items: center; gap: 18px; margin: clamp(40px, 5vw, 56px) 0 22px; font: 500 .72rem/1 var(--f-testo); letter-spacing: .24em; text-transform: uppercase; color: var(--muto); }
.fold-finiture h3::after { content: ""; flex: 1; height: 1px; background: var(--riga); }
.fold-campioni { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 168px), 1fr)); gap: 28px 20px; font-size: .78rem; letter-spacing: .06em; color: var(--muto); }
.fold-campioni strong { display: block; margin-top: 12px; font: 400 1.05rem/1.3 var(--f-titoli); letter-spacing: 0; color: var(--inchiostro); }
.fold-campioni em { display: inline-block; margin-top: 10px; padding: 4px 10px; border: 1px solid var(--inchiostro); font-style: normal; font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--inchiostro); }
.fold-campione { display: block; aspect-ratio: 16 / 9; border: 1px solid var(--riga); }
.fold-c-nero { background: #0d0d0e; }
.fold-c-bianco { background: #f3f1ea; }
.fold-c-antracite { background: #383e42; }
.fold-c-bordeaux { background: #5c2026; }
.fold-c-petrolio { background: #16545f; }
.fold-c-corten { background: linear-gradient(135deg, #a4542e, #854025 55%, #6f3620); }
.fold-c-rpl { background: repeating-linear-gradient(100deg, rgba(255,255,255,.07) 0 2px, transparent 2px 5px), linear-gradient(135deg, #c8cbcf, #9ea2a7 55%, #8d9094); }

/* Galleria */
.fold-galleria { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: clamp(160px, 21vw, 330px); gap: 6px; padding: 6px; }
.fold-galleria figure { margin: 0; overflow: hidden; }
.fold-galleria img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.16, 1, .3, 1); }
.fold-galleria figure:hover img { transform: scale(1.03); }
.fold-galleria figure:nth-child(1) { grid-column: span 4; grid-row: span 2; }
.fold-galleria figure:nth-child(2), .fold-galleria figure:nth-child(3) { grid-column: span 2; }
.fold-galleria figure:nth-child(4), .fold-galleria figure:nth-child(5) { grid-column: span 3; }

/* Contatti e modulo */
.fold-contatti-griglia { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(40px, 7vw, 112px); }
.fold-contatti-firma { margin: 28px 0 0; max-width: 34ch; font: 400 1.3rem/1.45 var(--f-titoli); }
.fold-recapiti { margin: 44px 0 0; display: grid; gap: 14px; }
.fold-recapiti dt { font-size: .68rem; letter-spacing: .22em; text-transform: uppercase; color: var(--muto-scuro); }
.fold-recapiti dd { margin: 2px 0 0; }
.fold-modulo form { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 24px; }
.fold-modulo label { display: block; font-size: .78rem; letter-spacing: .08em; color: var(--muto-scuro); }
.fold-modulo form > label:nth-of-type(5), .fold-modulo form > label:nth-of-type(6), .fold-modulo .wpcf7-acceptance, .fold-modulo form > p, .fold-modulo .wpcf7-response-output, .fold-modulo input[type=submit] { grid-column: 1 / -1; }
.fold-modulo input:not([type=checkbox]):not([type=submit]), .fold-modulo select, .fold-modulo textarea { width: 100%; margin-top: 6px; padding: .7em 0; border: 0; border-bottom: 1px solid var(--riga-scura); border-radius: 0; background: transparent; color: var(--sabbia); font: inherit; font-size: 1rem; letter-spacing: 0; }
.fold-modulo select { appearance: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23c9b58c' stroke-width='1.5'/%3E%3C/svg%3E") right 4px center / 12px 8px no-repeat; }
.fold-modulo select option { color: var(--inchiostro); }
.fold-modulo textarea { height: 7.5em; resize: vertical; }
.fold-modulo form > .wpcf7-form-control-wrap { grid-column: 1 / -1; }
.fold-modulo .wpcf7-list-item { margin: 0; }
.fold-modulo input:focus, .fold-modulo select:focus, .fold-modulo textarea:focus { outline: none; border-bottom-color: var(--ottone-chiaro); }
.fold-modulo .wpcf7-acceptance { font-size: .85rem; color: var(--muto-scuro); }
.fold-modulo .wpcf7-acceptance label { display: flex; gap: 10px; align-items: flex-start; letter-spacing: 0; font-size: .85rem; }
.fold-modulo .wpcf7-acceptance input { margin-top: .25em; }
.fold-modulo input[type=submit] { justify-self: start; min-height: 48px; padding: .95em 2em; border: 1px solid var(--sabbia); background: var(--sabbia); color: var(--carbone); font: 600 .95rem/1.2 var(--f-testo); letter-spacing: .03em; cursor: pointer; }
.fold-modulo input[type=submit]:hover { background: #fff; }
.fold-modulo .wpcf7-not-valid-tip { margin-top: 6px; color: #f0b9a8; font-size: .82rem; }
.fold-modulo .wpcf7-response-output { margin: 0; padding: 12px 14px; border: 1px solid var(--riga-scura); }
.fold-modulo .wpcf7-spinner { margin: 0 12px; }

/* Piè di pagina */
.fold-piede { padding: 40px 0 48px; background: #141210; color: var(--muto-scuro); font-size: .85rem; }
.fold-piede p { margin: 0 0 8px; }
.fold-piede-firma { font: 400 1rem/1.4 var(--f-titoli); letter-spacing: .12em; color: var(--sabbia); }
.fold-piede-graphx { margin-top: 20px !important; font-size: .78rem; }

/* Pagine semplici */
.fold-pagina { max-width: 760px; margin: 0 auto; padding: clamp(72px, 10vw, 128px) var(--lato); }
.fold-pagina h1 { font-size: clamp(2.4rem, 5vw, 3.6rem); }
.fold-pagina-testo { margin-top: 24px; font-size: 1.08rem; color: var(--muto); }

@media (max-width: 900px) {
  .fold-copertina, .fold-modello-scheda, #short .fold-modello-scheda, .fold-dettagli-griglia, .fold-contatti-griglia { grid-template-columns: 1fr; grid-template-areas: "testo" "foto"; }
  .fold-copertina { min-height: 0; }
  .fold-copertina h1 { font-size: min(11.5rem, calc((100vw - 2 * var(--lato)) / 2.62)); }
  .fold-copertina-foto img { position: static; aspect-ratio: 4 / 5; height: auto; }
  .fold-elenco a { grid-template-columns: 44px minmax(0, 1fr); }
  .fold-elenco span { grid-column: 2; }
  .fold-galleria { grid-template-columns: 1fr 1fr; grid-auto-rows: 42vw; }
  .fold-galleria figure:nth-child(n) { grid-column: span 1; grid-row: span 1; }
  .fold-galleria figure:nth-child(1) { grid-column: span 2; }
  .fold-modulo form { grid-template-columns: 1fr; }
  .fold-campioni { grid-template-columns: 1fr 1fr; }
  .fold-modulo form > label { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .fold-menu { display: none; }
  .fold-dati { grid-template-columns: 1fr; }
  .fold-dati div { border-left: 0; border-top: 1px solid var(--riga); }
  .fold-scuro .fold-dati div { border-top-color: var(--riga-scura); }
  .fold-dati div:first-child { border-top: 0; }
}
