/*
Theme Name:   PT Swing — Astra Child
Theme URI:    https://ptswing.com
Description:  Child theme do Astra para PT Swing. Dark theme com Bootstrap 5.
Author:       PT Swing
Template:     astra
Version:      1.0.0
Text Domain:  ptswing-astra-child
*/

/* ============================================================
   VARIÁVEIS
   ============================================================ */
:root {
  --pink:       #e91e8c;
  --pink-dark:  #c4176f;
  --dark:       #0f0f1a;
  --dark2:      #1a1a2e;
}

/* ============================================================
   RESET ASTRA — override globals
   ============================================================ */
body {
  font-family: -apple-system, 'Segoe UI', Roboto, sans-serif !important;
  background: #f7f7f8 !important;
  color: var(--dark2) !important;
}

/* ============================================================
   NAVBAR (substitui header Astra)
   ============================================================ */
#masthead,
.site-header,
.ast-primary-header-bar {
  background: rgba(15,15,26,0.97) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  padding: 10px 0 !important;
  box-shadow: none !important;
}

.site-title a,
.ast-site-name {
  font-weight: 800 !important;
  font-size: 1.4rem !important;
  color: #fff !important;
  letter-spacing: -0.5px !important;
}

/* "Swing" em rosa — adicionar via JS ou usar logo imagem */
.site-description { display: none !important; }

/* ── MOBILE MENU — fix fundo branco ── */
@media (max-width: 921px) {

  /* Todos os containers do menu mobile */
  body #ast-mobile-header,
  body #ast-mobile-header .ast-mobile-header-wrap,
  body #ast-mobile-header .ast-mobile-header-content,
  body #ast-mobile-header .ast-main-header-wrap,
  body #ast-mobile-header .ast-builder-menu-mobile,
  body #ast-mobile-header .ast-main-header-bar-alignment,
  body .main-header-bar-navigation,
  body #ast-mobile-site-navigation,
  body #ast-hf-mobile-menu,
  body #ast-hf-mobile-menu ul,
  body #ast-hf-mobile-menu ul li,
  body .ast-header-break-point .main-navigation,
  body .ast-header-break-point .main-navigation ul,
  body .ast-mobile-popup-drawer,
  body .ast-mobile-popup-inner {
    background-color: #0f0f1a !important;
    background: #0f0f1a !important;
  }

  /* Links do menu mobile */
  body #ast-hf-mobile-menu a,
  body #ast-hf-mobile-menu .menu-item > a,
  body #ast-hf-mobile-menu .menu-item > a.menu-link,
  body #ast-mobile-site-navigation a,
  body .main-header-bar-navigation a,
  body .ast-header-break-point .main-navigation a {
    color: rgba(255,255,255,0.85) !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    padding: 14px 20px !important;
    display: block !important;
    background: transparent !important;
  }
  body #ast-hf-mobile-menu a:hover,
  body #ast-mobile-site-navigation a:hover,
  body .main-header-bar-navigation a:hover {
    color: #fff !important;
    background: rgba(255,255,255,0.06) !important;
  }

  /* Hamburguer e masthead mobile */
  body .ast-header-break-point #masthead {
    background: #0f0f1a !important;
  }
  body .ast-menu-toggle,
  body .ast-mobile-menu-buttons {
    color: #fff !important;
    fill: #fff !important;
  }
}

.main-navigation a,
.ast-main-navigation .menu-item > a,
.nav-item > a {
  color: rgba(255,255,255,0.7) !important;
  font-size: .88rem !important;
  font-weight: 500 !important;
  transition: color .2s !important;
}
.main-navigation a:hover,
.ast-main-navigation .menu-item > a:hover {
  color: #fff !important;
  background: transparent !important;
}

/* Botão CTA no menu */
.menu-item-cta > a,
.nav-cta > a {
  background: var(--pink) !important;
  color: #fff !important;
  border-radius: 20px !important;
  padding: 6px 20px !important;
  font-weight: 600 !important;
}
.menu-item-cta > a:hover,
.nav-cta > a:hover {
  background: var(--pink-dark) !important;
  color: #fff !important;
}

/* ============================================================
   SINGLE POST — HERO HEADER (todos os layouts Astra)
   ============================================================ */

/* Cobre todos os possíveis containers de header do Astra em single */
.single-post .ast-article-single,
.single-post .entry-header,
.single-post .ast-article-post .entry-header,
.single .entry-header,
.single .ast-post-header,
.single .post-header,
.blog-single .entry-header,
.ast-single-post-header {
  background: var(--dark) !important;
  padding: 50px 48px 40px !important;
  margin-bottom: 0 !important;
  border-radius: 12px !important;
  position: relative !important;
}

/* Título H1 em todos os posts individuais */
.single-post .entry-title,
.single .entry-title,
.single h1.entry-title,
.ast-article-single .entry-title {
  color: #fff !important;
  font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
  line-height: 1.2 !important;
  margin-bottom: 16px !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
  padding-top: 48px !important;
}

/* Meta (By autor) com mesmo padding */
.single-post .entry-header .entry-meta,
.single .entry-header .entry-meta,
.single-post .entry-header .ast-article-post-meta,
.single .posted-on,
.single .byline {
  padding-left: 48px !important;
  padding-right: 48px !important;
  padding-bottom: 8px !important;
}

/* Meta linha: "By Domme /" — estilizar e esconder data desnecessária */
.single-post .entry-meta,
.single .entry-meta,
.single .posted-on,
.single .byline,
.single .ast-blog-single-element,
.single-post .ast-article-post .entry-meta {
  color: rgba(255,255,255,0.4) !important;
  font-size: .78rem !important;
}
.single-post .entry-meta a,
.single .entry-meta a,
.single .byline a {
  color: rgba(255,255,255,0.55) !important;
  text-decoration: none !important;
}
.single-post .entry-meta a:hover,
.single .entry-meta a:hover {
  color: var(--pink) !important;
}

/* Ocultar o separador " / " do Astra */
.single .ast-article-single .entry-meta .ast-separator,
.single .posted-on::before,
.single .byline::before {
  color: rgba(255,255,255,0.2) !important;
}

/* Fundo da área de conteúdo após o header */
.single-post .ast-article-single,
.single-post #content,
.single .site-content {
  background: #f7f7f8 !important;
}

/* Card branco do conteúdo do artigo */
.single-post .entry-content,
.single .entry-content {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 40px !important;
  margin-top: 24px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05) !important;
}

/* Headings dentro do artigo */
.single-post .entry-content h2,
.single .entry-content h2 {
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: var(--dark2) !important;
  margin-top: 36px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid var(--pink) !important;
  display: inline-block !important;
}
.single-post .entry-content h3,
.single .entry-content h3 {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--dark2) !important;
  margin-top: 24px !important;
}
.single-post .entry-content p,
.single .entry-content p {
  color: #444 !important;
  line-height: 1.8 !important;
  font-size: 1rem !important;
}

/* ============================================================
   BLOG — ARCHIVE / HOME
   ============================================================ */

/* Hero do blog */
.blog .page-header,
.archive .page-header {
  background: var(--dark) !important;
  padding: 60px 0 50px !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.blog .page-header .page-title,
.archive .page-header .page-title {
  color: #fff !important;
  font-size: 2.2rem !important;
  font-weight: 800 !important;
  letter-spacing: -1px !important;
}
.blog .page-header .archive-description,
.archive .page-header .archive-description {
  color: rgba(255,255,255,0.45) !important;
}

/* Grid de posts */
.ast-blog-layout-1 .ast-article-post,
.post-card-wrap,
article.post {
  background: #fff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid #efefef !important;
  transition: transform .25s, box-shadow .25s !important;
  margin-bottom: 28px !important;
}
article.post:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,0.08) !important;
}

/* Imagem de destaque */
.post-thumbnail,
.ast-blog-featured-section {
  background: linear-gradient(135deg, var(--dark2), #2d1b4e) !important;
}
.post-thumbnail img { width: 100%; height: 220px; object-fit: cover; }

/* Categoria badge */
.cat-links a,
.ast-blog-single-element.category .entry-meta a {
  background: var(--pink) !important;
  color: #fff !important;
  padding: 3px 12px !important;
  border-radius: 20px !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  text-decoration: none !important;
}
.cat-links a:hover,
.ast-blog-single-element.category .entry-meta a:hover {
  background: var(--pink-dark) !important;
  color: #fff !important;
}

/* Títulos dos posts */
.entry-title a {
  color: var(--dark2) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}
.entry-title a:hover { color: var(--pink) !important; }

/* Excerpt */
.entry-summary, .entry-content p {
  color: #666 !important;
  font-size: .9rem !important;
  line-height: 1.6 !important;
}

/* Meta (data, tempo de leitura) */
.entry-meta,
.posted-on,
.byline {
  color: #aaa !important;
  font-size: .75rem !important;
}
.entry-meta a { color: #aaa !important; }

/* Read More */
.read-more-container .ast-read-more,
a.read-more,
.more-link {
  color: var(--pink) !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.read-more-container .ast-read-more:hover,
a.read-more:hover { color: var(--pink-dark) !important; }

/* ============================================================
   POST INDIVIDUAL (single.php)
   ============================================================ */
.single .site-content { background: #f7f7f8; }

/* Hero do post */
.single .entry-header {
  background: var(--dark) !important;
  padding: 60px 0 50px !important;
  margin-bottom: 0 !important;
}
.single .entry-title {
  color: #fff !important;
  font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
  font-weight: 800 !important;
  letter-spacing: -1px !important;
  line-height: 1.2 !important;
}
.single .entry-header .entry-meta,
.single .entry-header .entry-meta a {
  color: rgba(255,255,255,0.4) !important;
}
.single .entry-header .cat-links a {
  background: rgba(233,30,140,0.15) !important;
  color: var(--pink) !important;
  border: 1px solid rgba(233,30,140,0.3) !important;
}

/* Corpo do artigo */
.single .entry-content {
  background: #fff !important;
  border-radius: 0 !important;
  padding: 48px 0 !important;
  margin-top: 0 !important;
  position: relative !important;
  z-index: 1 !important;
  box-shadow: none !important;
}
.single .entry-content h2 {
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: var(--dark2) !important;
  margin-top: 36px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid var(--pink) !important;
  display: inline-block !important;
}
.single .entry-content h3 {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--dark2) !important;
  margin-top: 28px !important;
}
.single .entry-content p {
  color: #444 !important;
  line-height: 1.8 !important;
  font-size: 1rem !important;
}
.single .entry-content a {
  color: var(--pink) !important;
  text-decoration: underline !important;
}
.single .entry-content ul li {
  color: #444 !important;
  line-height: 1.7 !important;
}

/* ============================================================
   ARTIGOS RELACIONADOS (Astra Related Posts)
   ============================================================ */
.ast-related-posts-wrapper,
.ast-single-related-posts-container {
  background: #f7f7f8 !important;
  padding: 40px 0 !important;
}
.ast-related-post,
.ast-related-post-content {
  background: var(--dark2) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.ast-related-post-title a,
.ast-related-post-content .entry-title a,
.ast-related-post-content .ast-related-post-title a {
  color: #fff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
}
.ast-related-post-title a:hover,
.ast-related-post-content .entry-title a:hover {
  color: var(--pink) !important;
}
.ast-related-post-content .entry-meta,
.ast-related-post-content .entry-meta a,
.ast-related-post-content .byline,
.ast-related-post-content .posted-on {
  color: rgba(255,255,255,0.45) !important;
  font-size: .75rem !important;
}
.ast-related-post-content .cat-links a {
  background: var(--pink) !important;
  color: #fff !important;
  font-size: .65rem !important;
  padding: 2px 10px !important;
  border-radius: 20px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
}
/* Título da secção "Artigos Relacionados" */
.ast-related-posts-title-section h3,
.ast-related-posts-title {
  color: var(--dark2) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
}

/* ============================================================
   SIDEBAR
   ============================================================ */
#secondary .widget {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  border: 1px solid #efefef !important;
}
#secondary .widget-title {
  font-size: .78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
  color: #aaa !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  margin-bottom: 18px !important;
}
#secondary .widget ul li {
  padding: 8px 0 !important;
  border-bottom: 1px solid #f7f7f7 !important;
}
#secondary .widget ul li a {
  color: #444 !important;
  font-size: .88rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
#secondary .widget ul li a:hover { color: var(--pink) !important; }

/* Widget CTA */
.widget-cta {
  background: var(--dark) !important;
  border: none !important;
  text-align: center !important;
}
.widget-cta .widget-title { color: rgba(255,255,255,0.3) !important; border-color: rgba(255,255,255,0.08) !important; }

/* ============================================================
   PAGINAÇÃO
   ============================================================ */
.page-numbers {
  border-color: #e0e0e0 !important;
  color: var(--dark2) !important;
  border-radius: 8px !important;
}
.page-numbers.current,
.page-numbers:hover {
  background: var(--pink) !important;
  border-color: var(--pink) !important;
  color: #fff !important;
}

/* ============================================================
   BREADCRUMBS
   ============================================================ */
.ast-breadcrumbs-wrapper {
  background: #f0f0f2 !important;
  padding: 10px 0 !important;
}
.ast-breadcrumbs a { color: var(--pink) !important; font-size: .8rem !important; }
.ast-breadcrumbs .ast-breadcrumbs-separator { color: #ccc !important; }

/* ============================================================
   COMENTÁRIOS
   ============================================================ */
#comments { margin-top: 40px !important; }
#comments .comment-respond .comment-form-comment textarea,
#comments .comment-respond input[type="text"],
#comments .comment-respond input[type="email"] {
  border: 1px solid #e0e0e0 !important;
  border-radius: 10px !important;
  padding: 12px !important;
}
#comments .comment-respond input[type="submit"],
#comments .submit {
  background: var(--pink) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 10px 28px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer,
#colophon {
  background: #0f0f1a !important;
  color: rgba(255,255,255,0.35) !important;
  padding: 36px 0 !important;
  border-top: none !important;
}
.site-footer a { color: rgba(255,255,255,0.35) !important; text-decoration: none !important; }
.site-footer a:hover { color: var(--pink) !important; }
.site-footer .site-info { color: rgba(255,255,255,0.2) !important; font-size: .8rem !important; }

/* ============================================================
   BOTÕES GLOBAIS
   ============================================================ */
.ast-button,
.button,
input[type="submit"],
button[type="submit"] {
  background: var(--pink) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 10px 24px !important;
  font-weight: 600 !important;
}
.ast-button:hover,
.button:hover {
  background: var(--pink-dark) !important;
  color: #fff !important;
}

/* ============================================================
   LINKS GLOBAIS
   ============================================================ */
a { color: var(--pink) !important; }
a:hover { color: var(--pink-dark) !important; }
