/* Cordel D' Prata · v2 — página Enviar */

  /* ── zona de envio: texto à esquerda, ficha à direita ── */
  .envio{
    position:relative;background:var(--paper);
    padding-block:calc(var(--header-h,130px) + clamp(28px,3.6vw,52px)) clamp(44px,5vw,72px);
  }
  .envio-inner{
    display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
    gap:clamp(30px,4.6vw,74px);align-items:start;
  }
  .envio-copy{max-width:46ch}
  .envio h1{margin:16px 0 0;font-size:clamp(2.1rem,3.9vw,3.3rem)}
  .envio .lead{margin-top:18px}

  .promessas{list-style:none;margin:30px 0 0;padding:0;display:grid}
  .promessas li{
    position:relative;padding:15px 0 15px 28px;border-top:1px solid var(--line);
    font-size:.92rem;color:var(--muted);
  }
  .promessas li:first-child{border-top:0}
  .promessas li::before{
    content:"";position:absolute;left:0;top:23px;width:14px;height:2px;border-radius:2px;background:var(--red);
  }
  .promessas b{display:block;color:var(--ink);font-weight:600;font-size:.98rem;margin-bottom:2px}


  /* ── a ficha ── */
  .envio-formulario{position:relative}
  .ficha{
    position:relative;display:grid;gap:16px;
    padding:clamp(24px,2.6vw,36px);border-radius:6px;
    background:#fff;border:1px solid rgba(176,25,31,.28);
    box-shadow:var(--shadow-md);
  }
  .ficha::before{
    content:"";position:absolute;inset:7px;border-radius:3px;pointer-events:none;
    border:1px solid rgba(176,25,31,.16);
  }
  .ficha-titulo{
    font-family:var(--font-nav);font-size:.72rem;font-weight:700;letter-spacing:.14em;
    text-transform:uppercase;color:var(--red);
  }
  .campo{display:grid;gap:6px}
  .campo-duplo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .campo label{font-size:.82rem;font-weight:600;color:var(--ink-soft)}
  .campo input,.campo select{
    width:100%;padding:.78em .9em;border-radius:var(--radius-xs);
    border:1px solid var(--line-strong);background:var(--paper);
    font:inherit;font-size:.94rem;color:var(--ink);
    transition:border-color .3s ease,background .3s ease,box-shadow .3s ease;
  }
  .campo input::placeholder{color:var(--muted);opacity:.75}
  .campo input:focus,.campo select:focus{
    outline:none;border-color:var(--red);background:#fff;
    box-shadow:0 0 0 3px rgba(176,25,31,.12);
  }
  .campo.erro input,.campo.erro select{border-color:var(--red);background:rgba(176,25,31,.04)}
  .campo-aviso{font-size:.78rem;color:var(--red)}
  .ficheiro.erro{border-color:var(--red);background:rgba(176,25,31,.04)}
  .consentimento.erro{color:var(--red)}
  .consentimento.erro a{color:var(--red)}
  .consentimento .campo-aviso{flex-basis:100%;margin:0}
  .consentimento{flex-wrap:wrap}

  /* ficheiro */
  .ficheiro{
    position:relative;display:grid;gap:4px;place-items:center;text-align:center;
    padding:22px 16px;border-radius:var(--radius-sm);
    border:1.5px dashed rgba(176,25,31,.34);background:rgba(176,25,31,.035);
    transition:background .3s ease,border-color .3s ease;
  }
  .ficheiro input{position:absolute;inset:0;opacity:0;cursor:pointer}
  .ficheiro.is-sobre{background:rgba(176,25,31,.09);border-color:var(--red)}
  .ficheiro.tem-ficheiro{border-style:solid;border-color:var(--red);background:rgba(176,25,31,.06)}
  .ficheiro-texto{font-size:.92rem;color:var(--ink-soft)}
  .ficheiro-texto b{color:var(--red);font-weight:600}
  .ficheiro-formatos{font-size:.76rem;color:var(--muted);letter-spacing:.04em}

  /* extra opcional */
  .extra{border-top:1px solid var(--line);padding-top:14px}
  .extra summary{
    cursor:pointer;font-size:.88rem;font-weight:600;color:var(--ink-soft);
    list-style:none;display:flex;align-items:center;gap:.5em;
  }
  .extra summary::-webkit-details-marker{display:none}
  .extra summary::before{content:"+";color:var(--red);font-size:1.05rem;line-height:1}
  .extra[open] summary::before{content:"−"}
  .extra summary span{font-weight:400;color:var(--muted)}
  .extra-campos{display:grid;gap:16px;margin-top:16px}

  .consentimento{display:flex;align-items:flex-start;gap:10px;font-size:.84rem;color:var(--muted)}
  .consentimento input{margin-top:3px;accent-color:var(--red);width:16px;height:16px;flex:0 0 auto}
  .consentimento a{color:var(--red);border-bottom:1px solid rgba(176,25,31,.35)}
  .ficha-enviar{justify-content:center;margin-top:4px}
  .ficha-nota{font-size:.8rem;color:var(--muted);text-align:center}

  /* confirmação */
  .chegou{
    display:grid;gap:12px;justify-items:center;text-align:center;
    padding:clamp(36px,4vw,60px) clamp(24px,3vw,44px);border-radius:6px;
    background:#fff;border:1px solid rgba(176,25,31,.28);box-shadow:var(--shadow-md);
  }
  .chegou-selo{
    display:grid;place-items:center;width:54px;height:54px;border-radius:50%;
    background:var(--red);color:#fff;font-size:1.3rem;
  }
  .chegou h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}
  .chegou p{color:var(--muted);max-width:38ch}
  .chegou-assina{font-family:var(--font-display);font-style:italic;color:var(--ink) !important}

  /* ── o que acontece a seguir ── */
  .head--centro{text-align:center;margin-inline:auto}
  .depois-enviar{
    list-style:none;margin:clamp(26px,3vw,40px) 0 0;padding:0;
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);
  }
  .depois-enviar li{padding:24px clamp(14px,2vw,26px);border-left:1px solid var(--line);display:grid;gap:4px;align-content:start}
  .depois-enviar li:first-child{border-left:0;padding-left:0}
  .depois-enviar li:last-child{padding-right:0}
  .depois-enviar span{
    font-family:var(--font-nav);font-size:.7rem;font-weight:700;letter-spacing:.14em;color:var(--red);
  }
  .depois-enviar h3{font-size:1.06rem}
  .depois-enviar p{font-size:.9rem;color:var(--muted)}

  /* ── confiança ── */
  .confianca{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:clamp(26px,4.4vw,64px);align-items:center}
  .confianca-foto{max-width:250px;padding:10px 10px 46px}
  .confianca-foto img{aspect-ratio:4/5}
  .confianca-foto figcaption{font-size:1.2rem}
  .confianca .quote{margin-top:0}
  .confianca-links{display:flex;gap:26px;flex-wrap:wrap;margin-top:18px}

  /* ── ajuda ── */
  .ajuda{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
  .ajuda h2{font-size:clamp(1.4rem,2.2vw,1.9rem)}
  .ajuda .lead{margin-top:8px;font-size:.96rem}
  .ajuda-acoes{display:flex;gap:12px;flex-wrap:wrap}

  @media (max-width:980px){
    /* no telemóvel a ficha sobe: primeiro a promessa curta, logo a seguir o formulário */
    .envio-inner{grid-template-columns:1fr}
    .envio-copy{display:contents}
    .envio-copy > .eyebrow{order:1}
    .envio-copy > h1{order:2}
    .envio-copy > .lead{order:3}
    .envio-formulario{order:4;margin-top:8px}
    .promessas{order:5;margin-top:34px}
    .envio-pessoa{order:6;margin-top:24px}
    .depois-enviar{grid-template-columns:repeat(2,1fr)}
    .depois-enviar li:nth-child(odd){border-left:0;padding-left:0}
    .confianca{grid-template-columns:1fr}
    .confianca-foto{max-width:220px}
  }
  @media (max-width:560px){
    .campo-duplo{grid-template-columns:1fr}
    .depois-enviar{grid-template-columns:1fr}
    .depois-enviar li{border-left:0;padding:18px 0;border-top:1px solid var(--line)}
    .depois-enviar li:first-child{border-top:0}
  }


  /* ── quem recebe o livro ── */
  .recebe{overflow:hidden}
  .recebe-inner{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
    gap:clamp(24px,4vw,64px);align-items:end;
  }
  .recebe-foto{margin:0;position:relative}
  .recebe-foto::before{
    content:"";position:absolute;left:50%;bottom:0;width:min(92%,460px);aspect-ratio:1;
    transform:translateX(-50%);border-radius:50%;
    background:radial-gradient(circle at 50% 55%,rgba(176,25,31,.16),transparent 68%);
  }
  .recebe-foto img{
    position:relative;width:100%;max-width:560px;display:block;
    filter:drop-shadow(0 30px 46px rgba(22,18,15,.22));
  }
  .recebe-copy{padding-bottom:clamp(10px,3vw,48px)}
  .recebe-copy h2{margin:16px 0 18px;font-size:clamp(1.7rem,3.2vw,2.6rem)}
  .recebe-copy p{color:var(--ink-soft);max-width:46ch;margin-bottom:12px}
  .recebe-assina{
    font-family:var(--font-display);font-style:italic;font-size:1.1rem;color:var(--ink) !important;
    margin-top:18px;padding-left:14px;border-left:2px solid var(--red);
  }
  .recebe-assina em{display:block;font-style:normal;font-family:var(--font-nav);
    font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:2px}

  /* ── vozes de autores, com retrato grande ── */
  .vozes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,38px);margin-top:clamp(30px,3.4vw,50px)}
  .voz{margin:0;display:grid;gap:16px}
  .voz img{
    width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top center;
    border-radius:var(--radius);background:var(--paper-2);
    transition:transform .6s var(--ease);
  }
  .voz:hover img{transform:translateY(-5px)}
  .voz blockquote{
    margin:0;font-family:var(--font-display);font-size:clamp(1.02rem,1.3vw,1.16rem);
    line-height:1.35;letter-spacing:-.01em;
  }
  /* nome e livro logo por baixo do retrato, bem legíveis; a frase vem depois */
  .voz figcaption{display:grid;gap:3px;margin-top:-2px}
  .voz b{font-size:1.06rem;font-weight:700;letter-spacing:-.01em}
  .voz em{font-family:var(--font-display);font-style:italic;font-size:.98rem;color:var(--red)}
  .voz blockquote{padding-top:12px;border-top:1px solid var(--line);color:var(--ink-soft)}

  /* ── destinos ── */
  .destinos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px);margin-top:clamp(28px,3vw,44px)}
  .destinos-strip{margin-top:clamp(28px,3vw,44px);background:transparent;border-bottom:0}
  /* uma fotografia real no lugar do espaço reservado: a legenda fica por baixo, a vermelho */
  .destino-foto{position:relative;margin:0;display:grid;gap:0}
  .destino-foto>img{display:block;width:100%;aspect-ratio:var(--ratio,4/3);object-fit:cover;border-radius:var(--radius);background:var(--paper-2)}
  .destino-foto figcaption{
    margin-top:10px;font-family:var(--font-nav);font-size:.72rem;font-weight:700;
    letter-spacing:.08em;text-transform:uppercase;line-height:1.4;color:var(--red);
  }
  .destino-foto figcaption small{
    display:block;margin-top:3px;font-family:var(--font-hand);font-size:1.08rem;font-weight:500;
    letter-spacing:0;text-transform:none;opacity:.9;transform:rotate(-1deg);transform-origin:left;
  }

  /* ── fecho ── */
  .fecho-inner{display:grid;justify-items:center;text-align:center;gap:18px}
  .fecho h2{font-size:clamp(1.8rem,3.6vw,2.9rem);line-height:1.1}
  .btn--grande{padding:1.05em 2em;font-size:1rem}
  .fecho-nota{font-size:.86rem;color:var(--muted)}

  @media (max-width:900px){
    .recebe-inner{grid-template-columns:1fr;gap:0}
    .recebe-foto img{max-width:420px;margin-inline:auto}
    .recebe-copy{padding-bottom:0;margin-top:18px}
    .vozes{grid-template-columns:1fr;gap:34px}
    .destinos{grid-template-columns:1fr}
  }

  /* cartão de quem vai ler, no topo */
  .editor{
    display:flex;align-items:center;gap:18px;margin:0 0 26px;
    padding-bottom:22px;border-bottom:1px solid var(--line);
  }
  .editor-foto{
    position:relative;flex:0 0 auto;width:clamp(88px,9vw,116px);aspect-ratio:1;border-radius:50%;
    overflow:hidden;background:var(--paper-2);
    box-shadow:0 14px 28px -16px rgba(22,18,15,.45);
  }
  .editor-foto img{width:100%;height:100%;object-fit:cover;object-position:top center}
  /* Na página de envio não há um editor atribuído: mostram-se todos os que
     lêem originais, lado a lado. Assim ninguém promete uma cara em
     particular a quem ainda agora carregou no botão. */
  .editor-caras{display:flex;align-items:center;flex:0 0 auto}
  .editor-caras img{
    width:clamp(62px,6.4vw,84px);height:clamp(62px,6.4vw,84px);border-radius:50%;
    object-fit:cover;object-position:top center;background:var(--paper-2);
    border:3px solid var(--paper);margin-left:-18px;
    box-shadow:0 14px 28px -18px rgba(22,18,15,.5);
  }
  .editor-caras img:first-child{margin-left:0}
  .editor--equipa .editor-nome{font-size:1.12rem}
  @media (max-width:520px){
    .editor-caras img{width:56px;height:56px;margin-left:-15px}
  }
  .editor figcaption{display:grid;gap:1px}
  .editor-etiqueta{
    font-family:var(--font-nav);font-size:.68rem;font-weight:700;letter-spacing:.14em;
    text-transform:uppercase;color:var(--red);margin-bottom:3px;
  }
  .editor-nome{font-family:var(--font-display);font-size:1.24rem;letter-spacing:-.015em}
  .editor-cargo{font-size:.8rem;color:var(--muted)}
  .editor-nota{
    font-family:var(--font-hand);font-size:1.16rem;color:var(--red);margin-top:6px;
    transform:rotate(-1deg);transform-origin:left;
  }

  /* quem lê os originais, na secção grande */
  .gestores{list-style:none;display:flex;flex-wrap:wrap;gap:clamp(14px,2vw,26px);margin:24px 0 0;padding:20px 0 0;border-top:1px solid var(--line)}
  .gestores li{display:flex;align-items:center;gap:10px}
  .gestores img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top center;background:var(--paper-2)}
  .gestores span{display:grid;font-size:.78rem;color:var(--muted);line-height:1.3}
  .gestores b{font-size:.86rem;font-weight:600;color:var(--ink)}

  /* fundo esbatido do hero */
  .band-photo--envio{--band-photo:url('/img/faixas/faixa-envio.jpg')}
  .envio.band-photo::before{opacity:.07}

  /* «hidden» tem de ganhar sempre: o .editor é display:flex e, sem isto, o
     cartão escondido aparecia vazio — «Falou com» sem nome nenhum */
  [hidden]{display:none !important}

  /* ── a página «A sua obra»: continuação de uma conversa, não uma landing ──
     Sem a fotografia de fundo da página de envio; o cartão de quem atendeu
     ganha corpo e fica como uma nota deixada em cima da mesa. */
  /* a fotografia de fundo fica, como na página de envio; o que distingue é o cartão */
  .obra .editor{
    align-items:center;gap:20px;margin:0 0 30px;padding:18px 22px;border-bottom:0;
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs);
  }
  .obra .editor-foto{width:clamp(96px,10vw,128px)}
  .obra .editor-nome{font-size:1.4rem}
  .obra .obra-resumo{
    margin:26px 0 0;padding:16px 20px;border-left:3px solid var(--red);
    background:rgba(255,255,255,.6);font-family:var(--font-display);font-style:italic;color:var(--ink-soft);
  }
  .obra .obra-resumo cite{display:block;margin-top:8px;font-family:var(--font-nav);font-style:normal;font-size:.76rem;color:var(--muted)}

  /* as capas que começaram num email */
  .comecaram{padding-top:clamp(30px,3.4vw,50px);overflow:hidden}
  .comecaram-nota{
    font-family:var(--font-hand);font-size:clamp(1.2rem,1.7vw,1.5rem);color:var(--red);
    display:inline-block;transform:rotate(-1.4deg);
  }
  .comecaram-fila{
    display:flex;justify-content:center;align-items:flex-end;gap:0;
    margin-top:clamp(18px,2.4vw,32px);padding-inline:var(--gutter);
  }
  .comecaram-fila img{
    width:clamp(78px,9vw,124px);aspect-ratio:2/3;object-fit:cover;
    border-radius:4px;background:var(--paper-2);
    box-shadow:var(--shadow-book);
    margin-left:-14px;
    transition:transform .55s var(--ease),box-shadow .55s var(--ease);
  }
  .comecaram-fila img:first-child{margin-left:0}
  .comecaram-fila img:nth-child(odd){transform:rotate(-2.2deg)}
  .comecaram-fila img:nth-child(even){transform:rotate(1.8deg) translateY(-8px)}
  .comecaram-fila img:hover{transform:translateY(-14px) rotate(0);box-shadow:0 26px 40px -18px rgba(22,18,15,.55);z-index:2}
  @media (max-width:760px){
    .comecaram-fila{overflow-x:auto;justify-content:flex-start;scrollbar-width:none;padding-bottom:8px}
    .comecaram-fila::-webkit-scrollbar{display:none}
  }

  /* o aviso de que o envio não foi — por baixo do botão, onde se carregou */
  .ficha-erro{
    margin:14px 0 0;padding:12px 14px;border-radius:var(--radius-xs);
    background:rgba(176,25,31,.08);color:var(--red);
    font-size:.92rem;font-weight:600;line-height:1.5;
  }
  .ficha-erro[hidden]{display:none}

  /* ══ ecrã pequeno ══ */
  @media (max-width:900px){
    /* a Jéssica mais pequena, ao centro */
    .recebe-foto img{max-width:280px}

    /* padrão das filas: primeiro cartão pela margem do texto, o seguinte a espreitar */
    .vozes,.destinos{
      display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);
      scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding:6px var(--gutter) 10px;gap:12px;
      -webkit-overflow-scrolling:touch;
    }
    .vozes::-webkit-scrollbar,.destinos::-webkit-scrollbar{display:none}
    .vozes .reveal,.destinos .reveal{opacity:1;transform:none}

    /* vozes: cartão com retrato pequeno ao lado do nome, e a frase por baixo */
    .voz{
      flex:0 0 min(80%,320px);scroll-snap-align:start;
      grid-template-columns:auto 1fr;align-items:center;column-gap:14px;row-gap:12px;
      padding:18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;
    }
    .voz img{width:64px;aspect-ratio:1;border-radius:var(--radius-xs,6px)}
    .voz:hover img{transform:none}
    .voz figcaption{margin:0}
    .voz b{font-size:.98rem}
    .voz em{font-size:.9rem}
    .voz blockquote{grid-column:1 / -1;font-size:1rem;padding-top:12px}

    /* onde pode chegar: as duas fotografias lado a lado */
    .destino-foto{flex:0 0 min(78%,340px);scroll-snap-align:start}
  }
  @media (max-width:760px){
    /* menos capas, todas à vista e centradas; o espaço em baixo é para a
       sombra, que a secção corta */
    .comecaram-fila{overflow:visible;justify-content:center;padding-bottom:34px}
    .comecaram-fila img{width:clamp(60px,16vw,78px)}
    .comecaram-fila img:nth-child(n+6){display:none}
  }
  @media (max-width:560px){
    .recebe-foto img{max-width:240px}
  }
