/* ═══════════════════════════════════════════════════════════════
   LINKS — página "link in bio" (carmensilva.com.br/links)
   Reaproveita as cores/fontes de css/tokens.css. Independente do
   restante do site: sem navbar, sem seções, só os links essenciais.
═══════════════════════════════════════════════════════════════ */

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    min-height: 100vh;
    min-height: 100dvh;
    background: linear-gradient(160deg, var(--azul-deep) 0%, var(--azul-dark) 55%, var(--azul) 100%);
    font-family: var(--font-body);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 20px;
}

.links-page {
    position: relative;
    width: 100%;
    max-width: 420px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 8px;
}

/* Fundo animado — mesmas classes/valores do hero da página principal
   (css/site.css), copiados aqui pra essa página ficar independente
   e leve, sem precisar carregar o site.css inteiro. */
.hero-particles { position: absolute; inset: 0; z-index: var(--z-base); pointer-events: none; }
.hero-glow {
    position: absolute; inset: 0; z-index: var(--z-base); pointer-events: none;
    background: radial-gradient(ellipse 60% 55% at 50% 30%, rgba(61,116,232,0.35) 0%, transparent 70%);
}

.links-photo-wrap {
    position: relative;
    z-index: var(--z-overlay);
    width: clamp(150px, 42vw, 200px);
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2px;
}
.hero-star {
    position: absolute; inset: -6%; background: var(--amarelo);
    -webkit-mask-image: url('../img/logo/estrela-hero.png'), linear-gradient(to bottom, #000 15%, transparent 55%);
    -webkit-mask-size: contain, 100% 100%; -webkit-mask-position: center, center; -webkit-mask-repeat: no-repeat, no-repeat; -webkit-mask-composite: source-in;
    mask-image: url('../img/logo/estrela-hero.png'), linear-gradient(to bottom, #000 15%, transparent 55%);
    mask-size: contain, 100% 100%; mask-position: center, center; mask-repeat: no-repeat, no-repeat; mask-composite: intersect;
    filter: drop-shadow(0 16px 40px rgba(0,0,0,0.3));
    animation: linksStarFloat 9s ease-in-out infinite;
}
.hero-cutout-img {
    position: relative; z-index: 1; width: 112%; max-width: none; height: auto;
    filter: drop-shadow(0 18px 36px rgba(0,0,0,0.35));
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 72%, rgba(0,0,0,0) 96%);
    mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 72%, rgba(0,0,0,0) 96%);
}
@keyframes linksStarFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-10px) rotate(6deg); }
}
@media (prefers-reduced-motion: reduce) {
    .hero-star { animation: none; }
}

.links-wordmark {
    position: relative;
    z-index: var(--z-overlay);
    width: clamp(170px, 50vw, 230px);
    height: auto;
    filter: drop-shadow(0 2px 16px rgba(0,0,0,0.35));
    margin: 4px 0 18px;
}

.links-tag {
    position: relative;
    z-index: var(--z-overlay);
    font-family: var(--font-condensed);
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--verde);
    text-align: center;
    margin-bottom: 28px;
}

.link-btn {
    position: relative;
    z-index: var(--z-overlay);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 60px;
    padding: 16px 24px;
    margin-bottom: 14px;
    border-radius: 8px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.03em;
    text-decoration: none;
    text-align: center;
    transition: transform 0.15s, box-shadow 0.2s, filter 0.2s;
}
.link-btn:hover { transform: translateY(-2px); }
.link-btn:active { transform: translateY(0); }
.link-btn svg { flex-shrink: 0; }

.link-btn-primary {
    background: var(--amarelo);
    color: var(--preto);
    box-shadow: 0 10px 30px rgba(249,207,0,0.35);
}
.link-btn-primary:hover { background: var(--amarelo-dark); box-shadow: 0 14px 36px rgba(249,207,0,0.5); }

.link-btn-vaquinha {
    background: linear-gradient(135deg, #F15B5B 0%, var(--vermelho) 55%, #CC1E1E 100%);
    color: #fff;
    box-shadow: 0 10px 30px rgba(238,51,51,0.4);
}
.link-btn-vaquinha:hover { filter: brightness(1.06); box-shadow: 0 14px 36px rgba(238,51,51,0.55); }

.link-btn-materiais {
    background: var(--azul-light);
    color: #fff;
    box-shadow: 0 10px 30px rgba(61,116,232,0.4);
}
.link-btn-materiais:hover { background: var(--azul); box-shadow: 0 14px 36px rgba(61,116,232,0.55); }

.link-btn-instagram {
    background: linear-gradient(135deg, #FEDA77 0%, #F58529 25%, #DD2A7B 50%, #8134AF 75%, #515BD4 100%);
    color: #fff;
    box-shadow: 0 10px 30px rgba(221,42,123,0.4);
}
.link-btn-instagram:hover { filter: brightness(1.08); box-shadow: 0 14px 36px rgba(221,42,123,0.55); }

.link-btn-facebook {
    background: #1877F2;
    color: #fff;
    box-shadow: 0 10px 30px rgba(24,119,242,0.4);
}
.link-btn-facebook:hover { background: #0f5fc7; box-shadow: 0 14px 36px rgba(24,119,242,0.55); }

.links-back {
    position: relative;
    z-index: var(--z-overlay);
    display: inline-block;
    margin-top: 22px;
    font-family: var(--font-condensed);
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.75);
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: opacity 0.2s;
}
.links-back:hover { opacity: 0.75; }

@media (max-width: 400px) {
    .link-btn { font-size: 15px; min-height: 56px; }
}
