/*
Theme Name:   Astra Child
Template:     astra
Description:  Acervo de Startups — identidade visual v1
Version:      1.1
*/

/* ============================================
   FONTES
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Inter:wght@400;500;600&display=swap');

/* ============================================
   TOKENS DE IDENTIDADE
   ============================================ */
:root {
  --color-primary:      #1A6B4A;
  --color-primary-dark: #155c3e;
  --color-accent:       #E8A020;
  --color-bg:           #F7F8F5;
  --color-white:        #FFFFFF;
  --color-text:         #0F172A;
  --color-muted:        #475569;
  --color-border:       #E2E8F0;
  --color-badge-green:  #E8F5EF;
  --color-badge-amber:  #FEF3C7;

  --font-heading: 'DM Serif Display', Georgia, serif;
  --font-body:    'Inter', 'Helvetica Neue', sans-serif;

  --radius-sm:    8px;
  --radius-md:    12px;
  --radius-lg:    18px;

  --shadow-card:  0 2px 8px rgba(15, 23, 42, 0.05);
  --shadow-hover: 0 6px 20px rgba(15, 23, 42, 0.10);
}

/* ============================================
   RESET BASE
   ============================================ */
*, *::before, *::after {
  box-sizing: border-box;
}

html, body,
#page, #content,
.site,
.ast-page-builder-template,
.ast-container {
  background-color: #F7F8F5 !important;
}

body {
  font-family:      var(--font-body);
  color:            var(--color-text);
  font-size:        16px;
  line-height:      1.7;
  -webkit-font-smoothing: antialiased;
}

img {
  display:   block;
  max-width: 100%;
  height:    auto;
}

/* ============================================
   TIPOGRAFIA — GERAL
   ============================================ */
h1, h2, h3, h4 {
  font-family: var(--font-heading);
  font-weight: 400;
  color:       var(--color-text);
  line-height: 1.15;
}

/* Forçar DM Serif nos contextos do Astra e front-page */
.home h1,
.home h2,
.front-page h1,
.front-page h2,
.page-template-front-page h1,
.page-template-front-page h2,
.entry-content h1,
.entry-content h2,
.ast-page-builder-template h1,
.ast-page-builder-template h2 {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-weight: 400 !important;
}

h1 { font-size: clamp(32px, 5vw, 48px); }
h2 { font-size: clamp(22px, 3vw, 28px); }
h3 { font-size: clamp(18px, 2.5vw, 22px); }

p {
  font-family: var(--font-body);
  font-size:   16px;
  color:       var(--color-text);
  line-height: 1.7;
}

/* ============================================
   HEADER
   ============================================ */
.site-header,
#masthead,
.ast-header-wrap {
  background-color: #F7F8F5 !important;
  border-bottom:    1px solid var(--color-border);
  position:         sticky;
  top:              0;
  z-index:          999;
}

/* Logo / nome do site */
.ast-site-title-wrap .site-title,
.ast-site-title-wrap .site-title a,
.site-title,
.site-title a {
  font-family:    'DM Serif Display', Georgia, serif !important;
  font-size:      20px !important;
  font-weight:    400 !important;
  color:          #0F172A !important;
  letter-spacing: -0.01em !important;
  text-decoration: none;
}

/* Nav links — remover azul padrão do Astra */
.ast-primary-menu-disabled a,
#ast-desktop-menu .menu-item > a,
.main-header-menu .menu-item > a,
.main-header-menu .menu-item > a:focus,
.main-navigation a,
.ast-main-navigation a {
  font-family:     var(--font-body) !important;
  font-size:       14px !important;
  font-weight:     500 !important;
  color:           #475569 !important;
  text-decoration: none;
  transition:      color 0.15s;
}

#ast-desktop-menu .menu-item > a:hover,
.main-header-menu .menu-item > a:hover,
.main-navigation a:hover,
.ast-main-navigation a:hover {
  color: #1A6B4A !important;
}

/* ============================================
   BOTÕES — override agressivo no Astra
   ============================================ */
.ast-button,
.ast-button:visited,
a.ast-button,
a.ast-button:visited,
.menu-item a.ast-button,
.ast-header-break-point .ast-button,
.wp-block-button .wp-block-button__link,
button.ast-button,
.btn-primary,
input[type="submit"],
button[type="submit"] {
  background-color: #1A6B4A !important;
  background:       #1A6B4A !important;
  color:            #FFFFFF !important;
  border-color:     #1A6B4A !important;
  border-radius:    8px !important;
  font-family:      var(--font-body) !important;
  font-size:        15px !important;
  font-weight:      600 !important;
  padding:          12px 24px !important;
  border:           none !important;
  cursor:           pointer;
  text-decoration:  none;
  display:          inline-block;
  transition:       background 0.15s;
  box-shadow:       none !important;
}

.ast-button:hover,
a.ast-button:hover,
.wp-block-button .wp-block-button__link:hover,
.btn-primary:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background-color: #155c3e !important;
  background:       #155c3e !important;
  border-color:     #155c3e !important;
  color:            #FFFFFF !important;
}

/* ============================================
   CARDS
   ============================================ */
.card,
.startup-card {
  background:    var(--color-white);
  border:        1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow:    var(--shadow-card);
  padding:       24px;
  transition:    box-shadow 0.18s, transform 0.18s;
}

.card:hover,
.startup-card:hover {
  box-shadow: var(--shadow-hover);
  transform:  translateY(-2px);
}

/* ============================================
   BADGES
   ============================================ */
.badge,
.startup-badge {
  display:        inline-block;
  padding:        5px 12px;
  border-radius:  999px;
  font-family:    var(--font-body);
  font-size:      12px;
  font-weight:    600;
  letter-spacing: 0.04em;
  line-height:    1.2;
}

.badge-green,
.startup-badge-stage {
  background: var(--color-badge-green);
  color:      var(--color-primary);
}

.badge-amber,
.startup-badge-invest {
  background: var(--color-badge-amber);
  color:      #92400E;
}

.badge-gray,
.startup-badge-loc {
  background: var(--color-border);
  color:      var(--color-muted);
}

/* ============================================
   LINKS
   ============================================ */
a {
  color:           var(--color-primary);
  text-decoration: none;
  transition:      color 0.15s;
}

a:hover {
  color: var(--color-primary-dark);
}

/* ============================================
   FORMULÁRIOS
   ============================================ */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="number"],
textarea,
select {
  font-family:   var(--font-body) !important;
  font-size:     15px !important;
  color:         var(--color-text) !important;
  background:    var(--color-white) !important;
  border:        1px solid var(--color-border) !important;
  border-radius: var(--radius-sm) !important;
  padding:       11px 14px !important;
  width:         100%;
  transition:    border-color 0.18s, box-shadow 0.18s;
}

input:focus,
textarea:focus,
select:focus {
  outline:      none !important;
  border-color: var(--color-primary) !important;
  box-shadow:   0 0 0 3px rgba(26, 107, 74, 0.12) !important;
}

label {
  font-family:    var(--font-body);
  font-size:      13px;
  font-weight:    600;
  color:          var(--color-text);
  letter-spacing: 0.03em;
  display:        block;
  margin-bottom:  6px;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer,
#colophon {
  background-color: #0F172A !important;
  color:            #94A3B8 !important;
  font-family:      var(--font-body);
  font-size:        14px;
  padding:          32px 24px;
  border-top:       none;
}

.site-footer a,
#colophon a {
  color:      #94A3B8 !important;
  transition: color 0.15s;
}

.site-footer a:hover,
#colophon a:hover {
  color: #FFFFFF !important;
}

/* ============================================
   RESPONSIVO
   ============================================ */
@media (max-width: 768px) {
  h1 { font-size: clamp(28px, 7vw, 36px); }
  h2 { font-size: clamp(20px, 5vw, 26px); }

  .card,
  .startup-card {
    padding: 16px;
  }

  .btn-primary,
  .ast-button,
  a.ast-button {
    width:      100%;
    text-align: center;
  }
}

@media (max-width: 480px) {
  body { font-size: 15px; }
}
