/* ==========================================================================
   Invitame · Sistema de diseño
   Submarca de Zentrixia · invitaciones digitales
   ========================================================================== */

/* ---------- Tipografías autoalojadas (todas OFL) ----------
   Subconjunto latino en WOFF2: 2.75 MB de TTF → 237 KB.
   Los originales viven en fuentes-origen/, fuera de lo que se publica. */
@font-face{font-family:'Playfair SC';src:url('../assets/fonts/PlayfairSC-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Playfair SC';src:url('../assets/fonts/PlayfairSC-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Arapey';src:url('../assets/fonts/Arapey-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Arapey';src:url('../assets/fonts/Arapey-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Cormorant';src:url('../assets/fonts/Cormorant-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Cormorant';src:url('../assets/fonts/Cormorant-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Cormorant';src:url('../assets/fonts/Cormorant-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'EB Garamond';src:url('../assets/fonts/EBGaramond-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'EB Garamond';src:url('../assets/fonts/EBGaramond-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Alice';src:url('../assets/fonts/Alice-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Updock';src:url('../assets/fonts/Updock-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Poppins';src:url('../assets/fonts/poppins-300.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:'Poppins';src:url('../assets/fonts/poppins-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Poppins';src:url('../assets/fonts/poppins-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Poppins';src:url('../assets/fonts/poppins-600.woff2') format('woff2');font-weight:600;font-display:swap}

:root{
  /* Marca */
  --azul-950:#04070F;
  --azul-900:#070C1A;
  --azul-800:#0C1428;
  --azul-700:#132039;
  --azul-600:#1B2C4C;

  --oro:#C6A265;
  --oro-claro:#E4CF9E;
  --taupe:#987F64;

  --hueso:#F5F1EA;
  --hueso-70:rgba(245,241,234,.70);
  --hueso-50:rgba(245,241,234,.50);
  --hueso-30:rgba(245,241,234,.30);
  --linea:rgba(245,241,234,.12);

  /* Tipografía */
  --f-display:'Cormorant','EB Garamond',Georgia,serif;
  --f-sc:'Playfair SC',Georgia,serif;
  --f-script:'Updock',cursive;
  --f-ui:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;

  /* Ritmo */
  --radio:16px;
  --radio-lg:26px;
  --ancho:1180px;
  --transicion:.35s cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--azul-950);color:var(--hueso);
  font-family:var(--f-ui);font-weight:300;font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.1}
p{margin:0}
::selection{background:var(--oro);color:var(--azul-950)}

/* ---------- Utilidades ---------- */
.contenedor{width:min(100% - 40px,var(--ancho));margin-inline:auto}
.oro{color:var(--oro)}
.mono-kicker{
  font-size:11px;font-weight:400;letter-spacing:.32em;text-transform:uppercase;
  color:var(--oro);
}
.texto-degradado{
  background-image:linear-gradient(100deg,var(--taupe) 0%,var(--oro) 38%,var(--oro-claro) 62%,var(--taupe) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* Vidrio líquido — tarjetas y chips de la interfaz */
.vidrio{
  position:relative;overflow:hidden;
  background:rgba(255,255,255,.022);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.08),0 24px 60px -30px rgba(0,0,0,.9);
  border-radius:var(--radio);
}
.vidrio::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1.2px;
  background:linear-gradient(180deg,rgba(255,255,255,.40) 0%,rgba(255,255,255,.12) 22%,
    rgba(255,255,255,0) 45%,rgba(255,255,255,0) 58%,rgba(255,255,255,.10) 80%,rgba(255,255,255,.32) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;
}

/* Botones */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--f-ui);font-size:13px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;
  padding:15px 30px;border-radius:999px;border:1px solid transparent;cursor:pointer;
  transition:var(--transicion);white-space:nowrap;
}
.btn-oro{background:var(--oro);color:var(--azul-950);border-color:var(--oro)}
.btn-oro:hover{background:var(--oro-claro);border-color:var(--oro-claro);transform:translateY(-2px);
  box-shadow:0 18px 40px -18px rgba(198,162,101,.75)}
.btn-linea{background:transparent;color:var(--hueso);border-color:rgba(245,241,234,.28)}
.btn-linea:hover{border-color:var(--oro);color:var(--oro);transform:translateY(-2px)}
.btn-sm{padding:11px 22px;font-size:12px}

/* Formularios de la interfaz oscura */
.campo{display:block;margin-bottom:18px}
.campo > span{
  display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--hueso-50);margin-bottom:8px;
}
.campo input,.campo textarea,.campo select{
  width:100%;background:rgba(255,255,255,.04);border:1px solid var(--linea);
  border-radius:12px;padding:12px 15px;font-size:14px;font-weight:300;
  transition:var(--transicion);
}
.campo input:focus,.campo textarea:focus,.campo select:focus{
  outline:none;border-color:var(--oro);background:rgba(198,162,101,.07);
}
.campo input::placeholder,.campo textarea::placeholder{color:var(--hueso-30)}
.dupla{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* Chips seleccionables */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  background:rgba(255,255,255,.04);border:1px solid var(--linea);border-radius:999px;
  padding:8px 16px;font-size:12.5px;font-weight:300;cursor:pointer;transition:var(--transicion);
}
.chip:hover{border-color:rgba(198,162,101,.55);color:var(--oro-claro)}
.chip[aria-pressed="true"]{background:var(--oro);border-color:var(--oro);color:var(--azul-950);font-weight:500}

/* Aparición al hacer scroll */
.revelar{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,.61,.36,1)}
.revelar.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .revelar{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
