/* ============================================================
   Racconta il tuo paese — modulo dedicato.
   Riusa l'impianto di proponi.css; qui solo le specificità.
   ============================================================ */
.pr-cover{ padding:calc(78px + 70px) 0 50px; background:var(--cream-2); border-bottom:1px solid var(--line); }
.pr-cover .pr-kick{ color:var(--red); display:inline-flex; align-items:center; gap:13px;
  font:600 12px/1 var(--sans); letter-spacing:.18em; text-transform:uppercase; }
.pr-cover .pr-kick::before{ content:""; width:30px; height:1px; background:var(--red); }
.pr-cover h1{ font-family:var(--sans); font-weight:800; font-size:clamp(34px,5vw,68px);
  line-height:1.02; letter-spacing:-.02em; margin:24px 0 0; max-width:18ch; text-wrap:balance; }
.pr-cover h1 em{ font-style:italic; color:var(--red); font-family:var(--serif); font-weight:600; }
.pr-cover .lede{ font-family:var(--sans); font-size:clamp(16px,1.5vw,18.5px); line-height:1.6;
  color:var(--ink-70); max-width:60ch; margin:26px 0 0; text-wrap:pretty; }

.pr-wrap{ padding:64px 0 110px; }
.pr-grid{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,0.85fr); gap:64px; align-items:start; }

.pr-step{ font:700 13px/1 var(--sans); letter-spacing:.04em; color:var(--ink);
  display:flex; align-items:center; gap:12px; margin:0 0 18px; }
.pr-step .n{ width:26px; height:26px; border-radius:50%; background:var(--red); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:13px; flex:0 0 26px; }
.pr-field{ display:flex; flex-direction:column; }
.pr-field label{ font:600 12px/1 var(--sans); letter-spacing:.04em; color:var(--ink-70); margin-bottom:9px; }
.pr-field .opt{ text-transform:none; letter-spacing:0; color:var(--ink-40); font-weight:400; }
.pr-field input, .pr-field textarea{ width:100%; box-sizing:border-box; padding:14px 16px;
  font-size:16px; font-family:var(--serif); color:var(--ink); background:#fff;
  border:1px solid var(--line-strong); border-radius:11px; outline:none; transition:border-color .15s; }
.pr-field textarea{ font-family:var(--sans); font-size:15.5px; line-height:1.55; resize:vertical; min-height:170px; }
.pr-field input:focus, .pr-field textarea:focus{ border-color:var(--red); }
.pr-field .help{ font-size:13px; color:var(--ink-55); margin-top:8px; }
.pr-field input[type=file]{ font-family:var(--sans); font-size:14px; padding:11px 14px; cursor:pointer; }

.r-foto-list{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.r-foto-chip{ background:var(--cream-2); border:1px solid var(--line); border-radius:8px;
  padding:6px 11px; font:500 12px/1.2 var(--sans); color:var(--ink-70); }

.pr-submit{ display:inline-flex; align-items:center; gap:10px; margin-top:34px; cursor:pointer;
  background:var(--red); color:#fff; border:0; border-radius:100px; padding:16px 30px;
  font:700 14px/1 var(--sans); letter-spacing:.03em; transition:transform .15s, filter .15s; }
.pr-submit:hover{ transform:translateY(-2px); filter:brightness(1.06); }
.pr-submit:disabled{ opacity:.6; cursor:default; transform:none; }
.pr-fine{ font-size:12.5px; color:var(--ink-55); margin:18px 0 0; max-width:52ch; line-height:1.5; }

.pr-aside{ display:flex; flex-direction:column; gap:18px; position:sticky; top:104px; }
.pr-card{ background:var(--cream-2); border:1px solid var(--line); border-radius:14px; padding:26px 28px; }
.pr-card h3{ font-family:var(--sans); font-weight:700; font-size:17px; margin:0 0 12px; color:var(--ink); }
.pr-card p{ font-size:15px; line-height:1.62; color:var(--ink-70); margin:0; text-wrap:pretty; }

.pr-thanks{ max-width:560px; margin:20px auto 60px; text-align:center; }
.pr-thanks[hidden]{ display:none; }
.pr-tick{ width:64px; height:64px; margin:0 auto 22px; border-radius:50%; background:var(--green);
  color:var(--cream); font-size:30px; display:flex; align-items:center; justify-content:center; }
.pr-thanks h2{ font-family:var(--sans); font-weight:800; font-size:clamp(28px,4vw,42px); margin:0 0 14px; }
.pr-thanks p{ font-size:16px; line-height:1.6; color:var(--ink-70); margin:0 0 26px; }
.pr-again{ display:inline-flex; align-items:center; gap:9px; color:var(--red); text-decoration:none;
  font:600 13px/1 var(--sans); letter-spacing:.06em; text-transform:uppercase; }
.pr-again:hover{ text-decoration:underline; }

@media (max-width:860px){
  .pr-grid{ grid-template-columns:1fr; gap:40px; }
  .pr-aside{ position:static; }
}
