@import url('../fontes/fontes.css?v=2');

/* ============================================================
   Aula Básica de Fotografia — identidade própria do workshop,
   tirada da arte do Ítalo: creme, didone, caixa-alta espaçada,
   bronze. Deliberadamente diferente do site principal.
   ============================================================ */

:root{
  --creme:#F5F2EC;
  --creme-claro:#FAF8F4;
  --rosa-areia:#E1D3CA;
  --tinta:#171310;
  --tinta-2:#554C44;
  --tinta-3:#665C52;
  --bronze:#7A5C40;
  --fio:#DED5CB;

  --didone:'Playfair Display',Georgia,serif;
  --sans:'Figtree',system-ui,sans-serif;
  --gutter:clamp(1.25rem,5vw,4rem);
  --max:68rem;
  --curva:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--rosa-areia) var(--creme)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--creme);color:var(--tinta);font-family:var(--sans);font-size:clamp(1rem,.96rem + .2vw,1.06rem);line-height:1.62;-webkit-font-smoothing:antialiased}
::selection{background:var(--rosa-areia);color:var(--tinta)}
:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
img{max-width:100%;display:block}
h1,h2,h3{margin:0;font-weight:400;line-height:1.05}
p{margin:0}ul{margin:0;padding:0;list-style:none}
a{color:inherit;text-underline-offset:.22em}

.env{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.alta{font-family:var(--sans);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--bronze)}

/* topo */
.topo{padding-block:1.1rem;border-bottom:1px solid var(--fio)}
.topo__linha{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.topo__marca{font-family:var(--didone);font-size:1.1rem;text-decoration:none}
.topo__volta{font-size:.82rem;color:var(--tinta-2);text-decoration:underline;text-decoration-color:var(--fio)}
.topo__volta:hover{color:var(--bronze);text-decoration-color:currentColor}

/* capa */
.capa{padding-block:clamp(2.75rem,7vw,5rem) clamp(2rem,5vw,3.5rem);text-align:center}
.capa__titulo{font-family:var(--didone);font-size:clamp(2.9rem,10vw,6rem);letter-spacing:-.005em;line-height:.94}
.capa__titulo span{display:block}
.capa__titulo .sub{font-size:.3em;letter-spacing:.24em;text-transform:uppercase;margin-top:1.1rem;color:var(--tinta-2);font-family:var(--sans)}
.capa__frase{margin:1.6rem auto 0;max-width:34ch;color:var(--tinta-2);font-size:1.06rem}
.selo{
  display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem 1.4rem;
  margin-top:2rem;padding:.9rem 1.6rem;border:1px solid var(--fio);background:var(--creme-claro);
}
.selo b{font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.84rem}
.selo span{font-size:.86rem;color:var(--tinta-2)}
.capa__bts{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:2rem}
@media (prefers-reduced-motion:no-preference){
  .capa__titulo span,.capa__frase,.selo,.capa__bts{animation:sobe .85s var(--curva) both}
  .capa__titulo span:nth-child(2){animation-delay:.06s}
  .capa__titulo .sub{animation-delay:.12s}
  .capa__frase{animation-delay:.18s}.selo{animation-delay:.24s}.capa__bts{animation-delay:.3s}
}
@keyframes sobe{from{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:none}}

/* faixa de fotos */
.tira{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-top:clamp(1.5rem,4vw,2.5rem)}
.tira img{aspect-ratio:3/4;object-fit:cover;width:100%}
.tira__nota{margin-top:.7rem;font-size:.76rem;color:var(--tinta-3);text-align:center}

/* seções */
.bloco{padding-block:clamp(2.75rem,6vw,4.5rem);border-top:1px solid var(--fio)}
.bloco__titulo{font-family:var(--didone);font-size:clamp(1.75rem,4vw,2.6rem);max-width:18ch}
.bloco__texto{margin-top:1.1rem;max-width:62ch;color:var(--tinta-2)}
.bloco__texto p+p{margin-top:1rem}

/* três promessas — linhas, não cartões */
.promessas{margin-top:clamp(1.8rem,4vw,2.6rem);display:grid;gap:0}
.promessa{display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,3vw,2.5rem);align-items:baseline;padding-block:1.35rem;border-top:1px solid var(--fio)}
.promessa:last-child{border-bottom:1px solid var(--fio)}
.promessa dt{font-family:var(--didone);font-size:clamp(1.1rem,2.3vw,1.4rem);min-width:min(42vw,13rem)}
.promessa dd{margin:0;color:var(--tinta-2)}
@media (max-width:620px){.promessa{grid-template-columns:1fr;gap:.35rem}}

/* etapas do dia */
.etapas{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--fio);border:1px solid var(--fio);margin-top:clamp(1.8rem,4vw,2.6rem)}
.etapa{background:var(--creme);padding:clamp(1.2rem,2.6vw,1.8rem)}
.etapa h3{font-family:var(--sans);text-transform:uppercase;letter-spacing:.2em;font-size:.76rem;color:var(--bronze)}
.etapa p{margin-top:.7rem;color:var(--tinta-2);font-size:.95rem}
@media (max-width:700px){.etapas{grid-template-columns:1fr}}

/* inscrição */
.inscricao{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.8rem,5vw,4rem);align-items:start}
@media (max-width:860px){.inscricao{grid-template-columns:1fr}}
.preco{font-family:var(--didone);font-size:clamp(2rem,5vw,2.8rem);line-height:1}
.preco small{display:block;font-family:var(--sans);font-size:.8rem;letter-spacing:.06em;color:var(--tinta-3);margin-top:.6rem;text-transform:uppercase}

.form{display:grid;gap:1.05rem}
.campo{display:grid;gap:.4rem}
.campo label{font-size:.8rem;letter-spacing:.02em;color:var(--tinta-2)}
.campo input,.campo select,.campo textarea{
  font:inherit;font-size:.95rem;color:var(--tinta);background:var(--creme-claro);
  border:1px solid var(--fio);border-radius:2px;padding:.72rem .85rem;width:100%;
  transition:border-color .22s ease-out,box-shadow .22s ease-out;
}
.campo textarea{min-height:6.5rem;resize:vertical}
.campo input:hover,.campo select:hover,.campo textarea:hover{border-color:var(--tinta-3)}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--bronze);box-shadow:0 0 0 3px color-mix(in srgb,var(--rosa-areia) 60%,transparent)}
.campo input::placeholder,.campo textarea::placeholder{color:var(--tinta-3);opacity:1}
.dupla{display:grid;grid-template-columns:1fr 1fr;gap:1.05rem}
@media (max-width:620px){.dupla{grid-template-columns:1fr}}

fieldset{border:0;padding:0;margin:0;display:grid;gap:.5rem}
legend{font-size:.8rem;color:var(--tinta-2);padding:0;margin-bottom:.35rem}
.nivel{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem .85rem;border:1px solid var(--fio);background:var(--creme-claro);cursor:pointer;transition:border-color .2s ease-out,background .2s ease-out}
.nivel:hover{border-color:var(--tinta-3)}
.nivel:has(input:checked){border-color:var(--bronze);background:#fff}
.nivel input{margin:.28rem 0 0;accent-color:var(--bronze);flex:none}
.nivel span{font-size:.93rem}

.bt{
  display:inline-flex;align-items:center;gap:.6rem;font:inherit;font-size:.92rem;font-weight:500;cursor:pointer;
  padding:.85rem 1.6rem;border:1px solid var(--tinta);border-radius:999px;background:var(--tinta);color:var(--creme);text-decoration:none;
  transition:background .25s ease-out,border-color .25s ease-out,transform .12s ease-out;
}
.bt:hover{background:#2C2520;border-color:#2C2520}
.bt:active{transform:scale(.98)}
.bt--vazado{background:transparent;color:var(--tinta);border-color:var(--fio)}
.bt--vazado:hover{background:transparent;border-color:var(--tinta)}
.bt svg{width:1em;height:1em;flex:none}
.bt__seta{transition:transform .3s var(--curva)}
.bt:hover .bt__seta{transform:translateX(.22rem)}
.form__pe{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:.3rem}
.form__estado{font-size:.85rem;min-height:1.2em}
.form__estado.ok{color:var(--bronze)}
.form__estado.erro{color:#9A2424}
.form__nota{font-size:.8rem;color:var(--tinta-3)}

.pe{border-top:1px solid var(--fio);padding-block:2.2rem 3rem;font-size:.85rem;color:var(--tinta-3)}
.pe__linha{display:flex;flex-wrap:wrap;gap:.7rem 2rem;justify-content:space-between}
.pe a{color:var(--tinta-2);text-decoration:underline;text-decoration-color:var(--fio)}
.pe a:hover{color:var(--bronze)}
.pular{position:absolute;left:-9999px}.pular:focus{left:.5rem;top:.5rem;background:var(--tinta);color:var(--creme);padding:.7rem 1rem;z-index:50}

/* a tira prioriza o rosto quando a caixa é mais larga que a foto */
.tira img{object-position:50% 28%}
@media (max-width:620px){.tira{gap:.3rem}.tira img{aspect-ratio:2/3}}

.pular{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pular:focus{width:auto;height:auto;clip-path:none;left:.5rem;top:.5rem;overflow:visible;background:var(--tinta);color:var(--creme);padding:.7rem 1rem;z-index:50}
.fora-de-vista{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
