/* Cameramenotre: stile condiviso (Call to Artists + Privacy) */

@font-face{
  font-family:"AlteHaasEmbedded";
  src:url("/fonts/AlteHaasGrotesk-Regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"AlteHaasEmbedded";
  src:url("/fonts/AlteHaasGrotesk-Bold.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap;
}

:root{
  --bg:#000;--fg:#fff;--muted:#8c8c8c;--line:#242424;--field:#090909;--field-line:#2d2d2d;
  --pink:#ff00a8;--error:#ff4d6d;
  --display:"AlteHaasEmbedded","Alte Haas Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  --text:Arial,"Helvetica Neue",Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--fg);min-height:100vh;
  font-family:var(--display);overflow-x:hidden;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
a{color:inherit}
button{cursor:pointer;font-family:var(--display)}
::selection{background:var(--pink);color:#fff}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px}

/* Titoli "chunky" con contorno spesso */
.chunky{
  font-family:var(--display);font-weight:700;
  letter-spacing:-.038em;line-height:.88;
  paint-order:stroke fill;
  -webkit-text-stroke:var(--outline,7px) currentColor;
  text-rendering:geometricPrecision;font-synthesis:none;
}

/* Layout pagina */
.call-shell{
  width:min(760px,calc(100% - 36px));
  margin:0 auto;
  padding:clamp(56px,8vw,110px) 0 40px;
}
.call-head{border-bottom:1px solid var(--field-line);padding-bottom:34px;margin-bottom:38px}
.call-head h1{
  margin:0;font-size:clamp(64px,13vw,170px);
  --outline:clamp(5px,.075em,14px);
  overflow-wrap:break-word;
}

/* Modulo */
.form-grid{display:grid;grid-template-columns:1fr;gap:0}
.field{display:flex;flex-direction:column;gap:9px;padding:20px 0;border-bottom:1px solid var(--line)}
.field > label{
  font-family:var(--text);font-size:11px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;
}
.field input,.field select,.field textarea{
  width:100%;font-family:var(--display);font-size:18px;
  background:var(--field);color:var(--fg);
  border:1px solid var(--field-line);border-radius:0;padding:15px 14px;outline:none;
  -webkit-appearance:none;appearance:none;
}
.field select{
  background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);
  background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;
  background-size:6px 6px;background-repeat:no-repeat;padding-right:44px;
}
.field select option{background:#000;color:#fff}
.field textarea{resize:vertical;min-height:170px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#fff}
.field input::placeholder,.field textarea::placeholder{color:#5c5c5c}
.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid{border-color:var(--error)}

/* Campo trappola per i bot: fuori dallo schermo, non visibile agli utenti */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.consent-block{padding:22px 0 0;display:grid;gap:14px}
.check{
  display:flex;gap:11px;align-items:flex-start;
  font-family:var(--text);font-size:12px;line-height:1.45;color:#9f9f9f;
}
.check input{width:16px;height:16px;margin:2px 0 0;flex:none;accent-color:#fff}
.check a{color:#fff;text-underline-offset:2px}

.submit{
  margin-top:26px;width:100%;border:1px solid #fff;background:#fff;color:#000;
  padding:18px;font-size:14px;font-weight:700;letter-spacing:.1em;
  transition:background .2s,color .2s;
}
.submit:hover{background:var(--pink);border-color:var(--pink);color:#fff}
.submit[disabled]{opacity:.55;cursor:wait}

.form-status{margin:18px 0 0;font-family:var(--text);font-size:14px;line-height:1.5;color:#cfcfcf;min-height:1.5em}
.form-status.error{color:var(--error)}

/* Messaggio di conferma dopo l'invio */
.thanks{display:none;padding:10px 0 20px}
.thanks h2{font-size:clamp(46px,8vw,96px);margin:0 0 24px;--outline:clamp(3px,.06em,9px)}
.thanks p{font-family:var(--text);font-size:clamp(16px,1.8vw,19px);line-height:1.5;color:#c8c8c8;max-width:560px;margin:0}
.is-sent .thanks{display:block}
.is-sent #artist-form{display:none}

/* Footer */
.site-footer{
  width:min(760px,calc(100% - 36px));margin:0 auto;padding:28px 0 40px;
  border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;
  font-family:var(--text);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:#fff}

/* Pagina testo (Privacy) */
.legal{font-family:var(--text);color:#cfcfcf;font-size:16px;line-height:1.65}
.legal h2{
  font-family:var(--display);font-weight:700;color:#fff;letter-spacing:-.02em;
  font-size:clamp(22px,2.6vw,28px);line-height:1.15;margin:46px 0 12px;
}
.legal p,.legal ul{margin:0 0 14px;max-width:68ch}
.legal ul{padding-left:20px}
.legal li{margin-bottom:6px}
.legal strong{color:#fff}
.legal a{color:#fff;text-underline-offset:3px}
.legal .updated{color:var(--muted);font-size:13px;margin-top:40px}
.back{
  display:inline-block;margin-bottom:34px;font-family:var(--text);font-size:11px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--muted);text-decoration:none;
}
.back:hover{color:#fff}

@media(max-width:560px){
  .call-shell{padding-top:46px}
  .call-head{margin-bottom:28px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
