/* links.css — Danielle Santos Advogada | Hub de Links · JF Agência */
:root {
  --terracotta:      #C8976C;
  --terracotta-dark: #A87349;
  --terracotta-soft: rgba(200, 151, 108, 0.12);
  --charcoal:        #222529;
  --paper-linen:     #FAF8F5;
  --paper-warm:      #F3EFEA;
  --text-main:       #2B2E33;
  --text-muted:      #666D77;
  --line:            rgba(34, 37, 41, 0.12);
  --shadow-sm:       0 2px 10px rgba(34, 37, 41, 0.05);
  --shadow-md:       0 8px 24px rgba(34, 37, 41, 0.08);

  --font-serif:      'Cormorant Garamond', Georgia, serif;
  --font-sans:       'Manrope', system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: var(--font-sans);
  background: var(--paper-linen);
  color: var(--text-main);
  min-height: 100dvh;
  display: flex; justify-content: center;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

.links-page {
  width: 100%; max-width: 440px;
  padding: 2.5rem 1.4rem 3rem;
  display: flex; flex-direction: column; align-items: center;
}

.links-header { text-align: center; margin-bottom: 2rem; width: 100%; }
.links-logo {
  height: 48px; width: auto; object-fit: contain; margin: 0 auto 1.5rem; display: block;
}
.links-portrait-wrap {
  width: 120px; height: 120px; border-radius: 50%;
  overflow: hidden; border: 3px solid var(--terracotta);
  box-shadow: var(--shadow-md); margin: 0 auto 1.25rem;
  background: var(--paper-warm);
}
.links-portrait-img {
  width: 100%; height: 100%; object-fit: cover; object-position: top center;
}
.links-name {
  font-family: var(--font-serif); font-size: 1.7rem; font-weight: 600;
  color: var(--charcoal); line-height: 1.15; margin-bottom: 0.25rem;
}
.links-role {
  font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--terracotta-dark); margin-bottom: 0.85rem;
}
.links-badge {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: var(--paper-warm); border: 1px solid var(--line);
  padding: 0.35rem 0.85rem; border-radius: 999px;
  font-size: 0.76rem; font-weight: 600; color: var(--charcoal);
}
.badge-dot { color: var(--terracotta); }

.links-nav { width: 100%; margin-bottom: 2.25rem; }
.links-list { display: flex; flex-direction: column; gap: 0.8rem; }
.link-item {
  display: flex; align-items: center; gap: 1rem;
  padding: 1.1rem 1.25rem; border-radius: 12px;
  background: #fff; border: 1px solid var(--line);
  box-shadow: var(--shadow-sm); color: var(--charcoal);
  font-size: 0.9rem; font-weight: 600; cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s, background 0.2s;
}
.link-item:hover, .link-item:focus-visible {
  transform: translateY(-2px); box-shadow: var(--shadow-md);
  border-color: var(--terracotta); background: #fff;
}
.link-item:focus-visible { outline: 2px solid var(--terracotta); outline-offset: 2px; }

.link-item--primary {
  background: var(--terracotta-dark); color: #fff; border-color: var(--terracotta-dark);
}
.link-item--primary:hover {
  background: var(--charcoal); border-color: var(--charcoal); color: #fff;
}
.link-item--primary .link-icon { color: #fff; background: rgba(255, 255, 255, 0.15); }
.link-item--primary .link-arrow { color: rgba(255, 255, 255, 0.7); }

.link-icon {
  width: 36px; height: 36px; border-radius: 8px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: var(--terracotta-soft); color: var(--terracotta-dark);
}
.link-label { flex: 1; text-align: left; }
.link-arrow { color: var(--text-muted); font-size: 1.1rem; transition: transform 0.2s; }
.link-item:hover .link-arrow { transform: translateX(3px); }

.links-footer {
  text-align: center; display: flex; flex-direction: column; gap: 0.35rem; width: 100%;
}
.links-address { font-size: 0.76rem; color: var(--text-muted); line-height: 1.5; }
.links-disclaimer { font-size: 0.68rem; color: var(--text-muted); opacity: 0.75; }
.links-agency {
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
  font-size: 0.72rem; color: var(--text-muted); margin-top: 0.4rem;
}
.links-jf-logo { width: 16px; height: 16px; opacity: 0.6; }

