/* Os 15 da Lorena. Paleta e letras escolhidas pela Lorena (2026-11-05):
   as cores da página de escolhas, Italiana para títulos e Jost para textos,
   no estilo "revista" do site Sarah & Daniel (letras grandes, fotos polaroid,
   faixa rolante). */
:root{
  --bg:#FFF7F6; --paper:#FFFFFF; --ink:#3A2A30; --muted:#7D6670; --line:#F0D7DA;
  --rose:#E8899A; --rose-deep:#B84C66; --gold:#C9A24B; --blush:#FDEBEE;
  --display:Italiana,"Bodoni Moda",Didot,"Times New Roman",serif;
  --body:Jost,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--rose-deep)}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1;margin:0;text-wrap:balance}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--rose-deep);font-weight:500}
.btn{display:inline-block;font:inherit;font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:13px;border-radius:999px;padding:14px 26px;border:1.5px solid var(--ink);color:var(--ink);background:transparent;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:var(--ink);color:#fff}
.btn.solid{background:var(--rose-deep);border-color:var(--rose-deep);color:#fff}
.btn.solid:hover{background:var(--ink);border-color:var(--ink)}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--rose);outline-offset:2px}

/* abertura */
#abertura{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;transition:transform .9s cubic-bezier(.77,0,.18,1)}
#abertura.fechar{transform:translateY(-100%)}
#abertura[hidden]{display:none}
#abertura .env{max-width:560px}
#abertura .env h1{font-size:clamp(64px,16vw,160px);letter-spacing:.08em;text-transform:uppercase;margin:12px 0 4px}
#abertura .env p{color:var(--muted);margin:0 0 28px}
#abertura .selo{width:72px;height:72px;border-radius:50%;border:1.5px solid var(--rose-deep);display:grid;place-items:center;margin:0 auto 20px;font-family:var(--display);font-size:30px;color:var(--rose-deep)}
body.aberta #abertura{pointer-events:none}

/* topo */
.topo{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px;border-bottom:1px solid var(--line)}
.topo .marca{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;font-size:15px;text-decoration:none;color:var(--ink)}
.topo nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.topo nav a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.topo nav a:hover{color:var(--rose-deep)}

/* capa */
.capa{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;padding-block:56px 40px}
.capa .txt .eyebrow{margin-bottom:18px}
.capa h1{font-size:clamp(76px,13vw,190px);letter-spacing:.06em;text-transform:uppercase}
.capa h1 .amp{color:var(--rose-deep);font-style:italic;font-family:"Bodoni Moda",var(--display)}
.capa .sub{font-family:var(--display);font-size:clamp(24px,3.4vw,40px);letter-spacing:.3em;text-transform:uppercase;color:var(--rose-deep);margin:4px 0 22px}
.capa .quando{display:grid;gap:4px;margin:0 0 28px;font-size:16px}
.capa .quando b{font-weight:500;letter-spacing:.04em}
.capa .acoes{display:flex;flex-wrap:wrap;gap:12px}
.polaroid{background:#fff;padding:14px 14px 48px;box-shadow:0 18px 40px rgba(58,42,48,.16);transform:rotate(3deg);max-width:420px;margin:0 auto;position:relative}
.polaroid img{aspect-ratio:4/5;object-fit:cover;width:100%}
.polaroid figcaption{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;font-size:13px;color:var(--muted)}
.polaroid.b{transform:rotate(-2.5deg)}

/* faixa rolante */
.faixa{background:var(--rose-deep);color:#fff;overflow:hidden;white-space:nowrap;padding-block:12px;font-size:13px;letter-spacing:.2em;text-transform:uppercase}
.faixa .trilho{display:inline-block;animation:rolar 40s linear infinite}
.faixa span{padding:0 22px}
@keyframes rolar{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.faixa .trilho{animation:none}#abertura{transition:none}html{scroll-behavior:auto}}

/* seções */
section.bloco{padding-block:72px}
section.bloco+section.bloco{border-top:1px solid var(--line)}
.cab{margin-bottom:34px}
.cab h2{font-size:clamp(44px,7vw,92px);letter-spacing:.06em;text-transform:uppercase}
.cab p{margin:10px 0 0;color:var(--muted);max-width:40em}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}

/* galeria */
.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px;grid-auto-flow:dense}
.galeria figure.wide{grid-column:span 2}
.galeria figure.wide img{aspect-ratio:3/2}
.galeria figure{margin:0;background:#fff;padding:10px 10px 34px;box-shadow:0 12px 30px rgba(58,42,48,.12);transition:transform .2s}
.galeria figure:nth-child(3n+1){transform:rotate(-2deg)}
.galeria figure:nth-child(3n+2){transform:rotate(1.5deg)}
.galeria figure:nth-child(3n){transform:rotate(-1deg)}
.galeria figure:hover{transform:rotate(0) scale(1.02)}
.galeria img{aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;width:100%}
.galeria figcaption{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;font-size:12px;color:var(--muted);text-align:center;margin-top:12px}

/* local */
.endereco{font-size:20px;line-height:1.5}
.endereco b{font-family:var(--display);font-weight:400;font-size:30px;letter-spacing:.06em;display:block;margin-bottom:6px}
.mapa{border:0;width:100%;aspect-ratio:4/3;border-radius:6px;box-shadow:0 12px 30px rgba(58,42,48,.12);background:var(--blush)}
.acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

/* presentes */
.lista{columns:2;column-gap:40px;list-style:none;padding:0;margin:0;font-size:18px}
.lista li{break-inside:avoid;padding:10px 0;border-bottom:1px solid var(--line)}
.nota{background:var(--blush);border-radius:6px;padding:16px 20px;margin-top:24px;font-size:15px}

/* formulários */
form.f{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px;display:grid;gap:18px;box-shadow:0 12px 30px rgba(58,42,48,.08)}
form.f label{display:grid;gap:6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}
form.f input,form.f select,form.f textarea{font:inherit;font-size:17px;letter-spacing:0;text-transform:none;color:var(--ink);border:0;border-bottom:1.5px solid var(--line);background:transparent;padding:8px 0;border-radius:0;width:100%}
form.f input:focus,form.f select:focus,form.f textarea:focus{border-bottom-color:var(--rose-deep);outline:none}
form.f textarea{min-height:70px;resize:vertical}
form.f .linha{display:grid;grid-template-columns:1fr 1fr;gap:18px}
form.f .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form.f .rodape{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:6px}
form.f .prazo{font-size:14px;color:var(--muted)}
.obrigada{display:none;background:#fff;border:1px solid var(--line);border-radius:8px;padding:36px 28px;text-align:center}
.obrigada h3{font-size:clamp(40px,6vw,64px);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.obrigada p{margin:0 0 22px;color:var(--muted)}
.erro{display:none;color:var(--rose-deep);font-size:15px}
.aviso{background:var(--blush);border-radius:6px;padding:12px 16px;font-size:14px;color:var(--muted)}

/* rodapé */
footer{padding-block:48px 64px;text-align:center;color:var(--muted);font-size:14px;letter-spacing:.1em;text-transform:uppercase;border-top:1px solid var(--line)}
footer b{display:block;font-family:var(--display);font-size:28px;letter-spacing:.2em;color:var(--ink);font-weight:400;margin-bottom:6px}

@media (max-width:820px){
  .capa{grid-template-columns:1fr;padding-block:36px 28px}
  .capa .foto{order:-1}
  .polaroid{max-width:320px}
  .duas{grid-template-columns:1fr;gap:28px}
  .galeria{grid-template-columns:repeat(2,1fr);gap:22px 16px}
  .galeria figure{padding:8px 8px 26px}
  .lista{columns:1}
  form.f .linha{grid-template-columns:1fr}
  form.f{padding:22px 18px}
  section.bloco{padding-block:52px}
  .topo nav{display:none}
}
