/* ==========================================================
   THEME: Classic
   Professional, corporate, conservative — empresas, escritórios
   Loaded AFTER core.css; user CSS variables override this.
   ========================================================== */

:root {
  /* ── Classic topbar height ── */
  --classic-topbar-h: 2.125rem;

  /* ── Border Radii: near-zero, traditional ── */
  --radius-sm:   0.125rem;  /* 2px */
  --radius-md:   0.25rem;   /* 4px */
  --radius-lg:   0.375rem;  /* 6px */
  --radius-xl:   0.5rem;    /* 8px */
  --radius-2xl:  0.625rem;  /* 10px */
  --radius-full: 0.375rem;  /* override pill → also rectangular */

  /* ── Motion: minimal ── */
  --transition:      150ms ease;
  --transition-slow: 250ms ease;

  /* ── Layout: contained ── */
  --section-py:  4rem;
  --content-max: 1060px;
}

/* ── Typography: traditional, no tricks ── */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  letter-spacing: 0;
}
h1 { font-size: clamp(1.875rem, 4vw, 3rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); }

/* ── Body text: serif feel ── */
body { font-size: 1.0625rem; line-height: 1.75; }
p    { opacity: 0.85; }

/* ── Buttons: no transform, brightness hover ── */
.btn {
  letter-spacing: 0;
  border-radius: var(--radius-md);
}
.btn::after { display: none; }
.btn:hover        { transform: none; }
.btn:active       { transform: none; filter: brightness(0.92); }
.btn-primary:hover  { box-shadow: var(--shadow-md); filter: brightness(1.08); transform: none; }
.btn-secondary:hover { box-shadow: var(--shadow-md); filter: brightness(1.08); transform: none; }
.btn-accent:hover    { box-shadow: var(--shadow-md); filter: brightness(1.08); transform: none; }
.btn-outline { border-width: 1px; }
.btn-outline:hover { transform: none; }
.btn-ghost:hover  { background: rgba(255,255,255, 0.06); transform: none; }

/* ── Cards: traditional border, no transform ── */
.card {
  border-color: rgba(255,255,255, 0.1);
  border-radius: var(--radius-xl);
}
.card:hover {
  transform: none;
  box-shadow: var(--shadow-lg);
  border-color: rgba(255,255,255, 0.18);
}
.card-feature {
  border-color: rgba(255,255,255, 0.08);
}
.card-feature:hover {
  transform: none;
  box-shadow: var(--shadow-lg);
  border-color: rgba(255,255,255, 0.2);
}
.card-feature-icon { border-radius: var(--radius-md); }

/* ── Section tag: understated, muted ── */
.section-tag {
  font-size: 0.75rem;
  color: var(--color-text);
  opacity: 0.45;
  letter-spacing: 0.05em;
}

/* ── Hero: shorter, no badge, contained ── */
.hero { min-height: 62vh; }
.hero h1 { /* no gradient text override — use core's gradient */ }
.hero-badge { display: none; }
.hero-bg { opacity: 0.35; }
.hero-bg::after { display: none; }
.hero-stats { margin-top: 2.5rem; }
.hero .lead { font-size: 1.125rem; }

/* ── About: traditional border instead of color block ── */
.about { background: var(--color-surface); border-top: 1px solid rgba(255,255,255, 0.06); border-bottom: 1px solid rgba(255,255,255, 0.06); }
.about-visual { border-radius: var(--radius-xl); }
.about-list li::before { border-radius: var(--radius-md); }

/* ── Testimonials: static, no hover lift ── */
.testimonial-card:hover { transform: none; box-shadow: var(--shadow-md); }

/* ── Nav: traditional underline hover ── */
.nav-link { border-radius: 0; }
.nav-link:hover {
  background: transparent;
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: var(--color-primary);
}

/* ── Scroll reveal: minimal ── */
.reveal {
  transform: translateY(10px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

/* ── Footer: thin divider ── */
.footer-bottom { opacity: 0.6; }

/* ── Section header: no oversized type ── */
.section-header { margin-bottom: 2.5rem; }

/* ── Hero actions: no flex direction change ── */
.hero-actions { gap: 0.75rem; }

/* ── Topbar: barra superior fina com contato e redes ── */
.classic-topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--classic-topbar-h);
  background: #1a2332;
  z-index: 101;
  display: flex;
  align-items: center;
  font-size: .8125rem;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.classic-topbar .container { display: flex; align-items: center; justify-content: space-between; height: 100%; }
.classic-topbar-left { display: flex; align-items: center; gap: 1.25rem; opacity: .6; }
.classic-topbar-right { display: flex; align-items: center; gap: .5rem; }
.topbar-social {
  display: flex; align-items: center; justify-content: center;
  opacity: .5; transition: opacity .15s; color: #e2e8f0;
}
.topbar-social:hover { opacity: 1; }
.topbar-social svg { width: 13px; height: 13px; fill: currentColor; }

/* Header: sempre sólido, posicionado abaixo da topbar ── */
.site-header {
  top: var(--classic-topbar-h);
  background: #0e1a2e;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.site-header.scrolled {
  background: #0e1a2e;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 2px 8px rgba(0,0,0,.35);
}
.mobile-nav {
  top: calc(var(--header-h) + var(--classic-topbar-h));
}

/* Main offset: topbar + header ── */
#main-content { padding-top: calc(var(--header-h) + var(--classic-topbar-h)); }
#main-content > .hero:first-child,
#main-content > .page-hero:first-child,
#main-content > .blog-post-hero:first-child { margin-top: calc(-1 * (var(--header-h) + var(--classic-topbar-h))); }

/* Hero e páginas: compensar topbar ── */
.hero { padding-top: calc(var(--header-h) + var(--classic-topbar-h)); }
.page-hero { padding-top: calc(var(--header-h) + var(--classic-topbar-h) + 4rem); }

/* Nav: underline na cor primária ── */
.nav-link {
  border-radius: 0;
  border-bottom: 2px solid transparent;
  padding-bottom: calc(.5rem - 2px);
}
.nav-link:hover {
  background: transparent;
  opacity: 1;
  border-bottom-color: var(--color-primary);
  text-decoration: none;
}

/* ── Nav: item destacado — botão com cor primária ── */
.nav-link--highlight {
  background: var(--color-primary) !important;
  color: #fff !important;
  border-radius: var(--radius-sm) !important;
  border-bottom: none !important;
  opacity: 1 !important;
  padding: .4rem 1rem !important;
}
.nav-link--highlight:hover {
  background: var(--color-secondary) !important;
  border-bottom-color: transparent !important;
  transform: none !important;
}

/* Hero: alinhado à esquerda com accent border ── */
.hero-content {
  text-align: left;
  margin: 0;
  max-width: 680px;
  padding-left: 1.5rem;
  border-left: 4px solid var(--color-primary);
}
.hero-actions { justify-content: flex-start; }

/* Footer: 4 colunas, títulos na cor primária ── */
.footer--classic {
  background: #0c1524;
  border-top: 3px solid var(--color-primary);
  padding: 4rem 0 2rem;
}
.footer-classic-grid { display: grid; gap: 2.5rem; margin-bottom: 2.5rem; }
.footer-classic-grid--4col { grid-template-columns: 1.25fr 1fr 1fr 1fr; }
.footer-classic-grid--3col { grid-template-columns: 1.25fr 1fr 1fr; }
.footer--classic .footer-col h4 {
  color: var(--color-primary);
  opacity: 1;
  font-size: .8125rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 1.125rem;
  font-family: var(--font-body);
}
.footer--classic .footer-links a { font-size: .9rem; opacity: .6; }
.footer--classic .footer-links a:hover { opacity: 1; color: var(--color-primary); }
.footer--classic .footer-bottom {
  border-top: 1px solid rgba(255,255,255,.07);
  padding-top: 1.75rem;
  opacity: .5;
  font-size: .8125rem;
}
.footer-credit-link { color: var(--color-primary) !important; text-decoration: none; }
.footer-credit-link:hover { opacity: .75 !important; }

/* Social icons in classic footer (small square buttons) ── */
.footer-social-link--classic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-md);
  transition: all .15s;
  color: var(--color-text);
  opacity: .55;
}
.footer-social-link--classic:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  opacity: 1;
}
.footer-social-link--classic svg { width: .875rem; height: .875rem; fill: currentColor; }

@media(max-width:1024px) {
  .footer-classic-grid--4col { grid-template-columns: 1fr 1fr; }
  .footer-classic-grid--3col { grid-template-columns: 1fr 1fr; }
}
@media(max-width:768px) {
  .footer-classic-grid--4col,
  .footer-classic-grid--3col { grid-template-columns: 1fr; gap: 1.5rem; }
  .hero-content { max-width: 100%; }
}

/* ── Light mode ── */
[data-theme="light"] .card     { border-color: rgba(0,0,0, 0.08); }
[data-theme="light"] .card:hover { box-shadow: 0 8px 24px -4px rgba(0,0,0, 0.1); }
[data-theme="light"] .about    { background: #f8fafc; border-top-color: rgba(0,0,0, 0.07); border-bottom-color: rgba(0,0,0, 0.07); }
[data-theme="light"] .classic-topbar { background: #1a2332; }
[data-theme="light"] .site-header { background: #ffffff; border-bottom-color: rgba(0,0,0,.08); }
[data-theme="light"] .site-header.scrolled { background: #ffffff; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
[data-theme="light"] .footer--classic { background: #e8edf4; }
