/* ====== Reset básico ====== */
*{
  box-sizing: border-box;
}

html, body{
  height: 100%;
}

body{
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #fff;
}

/* ====== Fondo exterior ====== */
.page{
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px 16px;
  background: #000;
}

/* ====== Card central ====== */
.card{
  position: relative;
  width: 100%;
  max-width: 420px;
  min-height: 640px;

  background-size: cover;
  background-position: center;

  border-radius: 36px;
  padding: 34px 28px 26px;

  box-shadow:
    0 18px 40px rgba(0,0,0,.28),
    inset 0 0 0 2px rgba(255,255,255,.08);

  overflow: hidden;
}

/* Overlay suave */
.card::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,.15),
    rgba(0,0,0,.25)
  );
  pointer-events: none;
}

.card > *{
  position: relative;
  z-index: 1;
}

/* ====== Botón compartir ====== */




/* ====== Avatar ====== */
.avatar-wrap{
  width: 112px;
  height: 112px;
  margin: 10px auto 14px;
  border-radius: 999px;

  display: grid;
  place-items: center;

  background: rgba(255,255,255,.08);
  box-shadow:
    0 0 0 6px rgba(255,255,255,.25),
    0 0 0 10px rgba(0,0,0,.18);
}

.avatar{
  width: 96px;
  height: 96px;
  border-radius: 999px;
  object-fit: cover;
  display: block;
}

/* ====== Textos ====== */
.name{
  margin: 0;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: .2px;
  text-shadow: 0 2px 10px rgba(0,0,0,.25);
}

.tagline{
  margin: 8px auto 10px;
  max-width: 320px;
  text-align: center;
  line-height: 1.45;
  opacity: .95;
  text-shadow:
    0 0 6px rgba(0,0,0,.6),
    0 2px 10px rgba(0,0,0,.6);
}

/* ====== Redes sociales ====== */
.socials{
  display: flex;
  justify-content: center;
  gap: 18px;
  margin: 10px 0 20px;
}

.social{
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  text-decoration: none;

  background: rgba(0,0,0,.18);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    0 10px 18px rgba(0,0,0,.18);

  transition: transform .12s ease, background .12s ease, box-shadow .12s ease;
}

.social:hover{
  transform: translateY(-2px);
  background: rgba(0,0,0,.30);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.16),
    0 14px 24px rgba(0,0,0,.22);
}

/* SVG como IMG */
.social img{
  width: 22px;
  height: 22px;
  display: block;
  object-fit: contain;
  opacity: .96;

  /* convierte SVG negros a blancos */
  filter: brightness(0) invert(1);
}

/* ====== Botones principales ====== */
.links{
  display: grid;
  gap: 16px;
  margin: 20px 0 26px;
}

.btn{
  height: 54px;
  border-radius: 999px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(255,255,255,.92);
  color: #2a2a2a;
  text-decoration: none;

  font-size: 16px;
  font-weight: 600;

  border: 1px solid rgba(0,0,0,.08);

  box-shadow:
    0 12px 22px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.75),
    inset 0 -2px 0 rgba(0,0,0,.06);

  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
}

.btn:hover{
  transform: translateY(-2px);
  filter: brightness(1.02);
  box-shadow:
    0 16px 30px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.8),
    inset 0 -2px 0 rgba(0,0,0,.08);
}

.btn:active{
  transform: translateY(0);
  box-shadow:
    0 10px 18px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.7),
    inset 0 -1px 0 rgba(0,0,0,.10);
}

/* ====== Responsive ====== */
@media (max-width: 420px){
  .card{
    min-height: 610px;
    padding: 30px 18px 22px;
    border-radius: 30px;
  }

  .name{
    font-size: 26px;
  }
}
/* Footer tipo "Explorar otros links | Acerca de" */
.mini-footer{
  margin-top: 22px;
  padding: 12px 10px 6px;
  display: flex;
  justify-content: center;
  gap: 26px;
  font-size: 13px;
  font-weight: 700;
  opacity: .85;
}

.mini-footer__link{
  color: rgba(238, 233, 233, 0.88);
  text-decoration: none;
  padding: 6px 10px;
  border-radius: 999px;
  transition: transform .12s ease, filter .12s ease, background .12s ease;
}

.mini-footer__link:hover{
  background: rgba(255,255,255,.08);
  transform: translateY(-1px);
  filter: brightness(1.05);
}

/* Si quieres que quede más abajo y centrado tipo mockup */
@media (max-height: 720px){
  .mini-footer{ margin-top: 14px; }
}
/* ===== Card layout ===== */
.card{
  display: flex;
  flex-direction: column;
  min-height: 100%;
  position: relative;
}

/* El contenido empuja el footer hacia abajo */
.card__content{
  flex: 1;
}

/* ===== Mini footer ===== */
.mini-footer{
  padding: 14px 16px 10px;
  display: flex;
  justify-content: center;
  gap: 26px;
  font-size: 13px;
  font-weight: 700;
  opacity: .85;
}

.mini-footer__link{
  color: rgba(255,255,255,.85);
  text-decoration: none;
  padding: 6px 10px;
  border-radius: 999px;
  transition: background .15s ease, transform .12s ease;
}

.mini-footer__link:hover{
  background: rgba(255,255,255,.08);
  transform: translateY(-1px);
}
/* --- Card como columna para empujar el footer abajo --- */
.card{
  display:flex;
  flex-direction:column;
}

/* footer mini tipo Linktree */
.mini-footer{
  margin-top:auto;              /* 🔥 esto lo empuja hacia abajo */
  padding: 14px 16px 18px;
  display:flex;
  justify-content:center;
  gap: 26px;
  font-size: 13px;
  font-weight: 700;
  opacity: .85;
}

/* enlaces */
.mini-footer__link{
  color: rgba(255,255,255,.88);
  text-decoration:none;
  padding: 6px 10px;
  border-radius: 999px;
  transition: background .15s ease, transform .12s ease, filter .12s ease;
}

.mini-footer__link:hover{
  background: rgba(255,255,255,.08);
  transform: translateY(-1px);
  filter: brightness(1.05);
}

/* móvil */
@media (max-width: 420px){
  .mini-footer{
    gap: 18px;
    font-size: 12px;
  }
}
.links{ margin-bottom: 16px; }


.card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.45),
    rgba(0,0,0,.65)
  );
  z-index: 0;
}

.card > * {
  position: relative;
  z-index: 1;
}
