/* ============================================
   App do Dia FSE — Global CSS
   Complementa o theme.json com animações,
   hover states e estilos que o JSON não cobre
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600&display=swap');

/* ============================================
   BASE
   ============================================ */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
img { max-width: 100%; height: auto; }
a { text-decoration: none; }

/* ============================================
   HEADER
   ============================================ */
.site-header {
  border-bottom: 1px solid rgba(123,97,255,0.2);
  z-index: 100;
}

.nav-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 2.5rem;
  height: 64px;
}

.site-logo-wrap .wp-block-site-logo img {
  border-radius: 10px;
  border: 1px solid rgba(123,97,255,0.4);
}

/* Nav links */
.primary-nav .wp-block-navigation-item__content {
  padding: 0 1rem;
  height: 64px;
  line-height: 64px;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
}

.primary-nav .wp-block-navigation-item__content:hover,
.primary-nav .current-menu-item .wp-block-navigation-item__content {
  color: #fff !important;
  border-bottom-color: #7B61FF;
}

/* Search na nav */
.nav-search .wp-block-search__input {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(123,97,255,0.25) !important;
  border-radius: 8px;
  color: #fff;
  font-size: 0.8rem;
  padding: 6px 12px;
}
.nav-search .wp-block-search__input::placeholder { color: #8886A8; }
.nav-search .wp-block-search__button { background: transparent; border: none; color: #8886A8; }

/* ============================================
   TICKER
   ============================================ */
.ticker-bar {
  overflow: hidden;
  height: 36px;
  display: flex;
  align-items: center;
}

.ticker-label {
  height: 100%;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.ticker-wrapper {
  overflow: hidden;
  flex: 1;
}

.ticker-track {
  white-space: nowrap;
  animation: ticker-scroll 28s linear infinite;
}

.ticker-track:hover { animation-play-state: paused; }

@keyframes ticker-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ============================================
   HERO
   ============================================ */
.hero-section {
  position: relative;
  overflow: hidden;
}

.hero-section::before {
  content: '';
  position: absolute;
  top: -60px; right: -80px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(123,97,255,0.18) 0%, transparent 70%);
  pointer-events: none;
}

.hero-badge {
  display: inline-flex;
  margin-bottom: 1rem;
}

/* ============================================
   CARDS
   ============================================ */
.post-card {
  transition: transform .2s, box-shadow .2s;
  overflow: hidden;
}

.post-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(123,97,255,0.12);
}

.post-card .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s;
}

.post-card:hover .wp-block-post-featured-image img {
  transform: scale(1.03);
}

/* Categoria badge nos cards */
.post-card .wp-block-post-terms a {
  display: inline-block;
  background: #7B61FF;
  color: #fff !important;
  font-family: var(--wp--preset--font-family--sora);
  font-size: 0.65rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 5px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
}

/* ============================================
   SECTION TITLE
   ============================================ */
.section-title {
  position: relative;
  padding-left: 14px !important;
  border-left: 4px solid #7B61FF;
}

/* ============================================
   WIDGETS / SIDEBAR
   ============================================ */
.widget {
  overflow: hidden;
}

.widget-title {
  display: inline-block;
}

/* Newsletter widget */
.widget-newsletter {
  position: relative;
  overflow: hidden;
}

.widget-newsletter::before {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 160px; height: 160px;
  background: radial-gradient(circle, rgba(123,97,255,0.25) 0%, transparent 70%);
  pointer-events: none;
}

/* Newsletter form (mc4wp / padrão) */
.widget-newsletter form input[type="email"],
.newsletter-form input[type="email"] {
  width: 100%;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(123,97,255,0.3);
  border-radius: 8px;
  padding: 9px 12px;
  font-family: var(--wp--preset--font-family--inter);
  font-size: 0.82rem;
  color: #fff;
  outline: none;
  margin-bottom: 8px;
}

.widget-newsletter form input[type="email"]::placeholder { color: #8886A8; }

.widget-newsletter form input[type="submit"],
.widget-newsletter form button[type="submit"] {
  width: 100%;
  background: #7B61FF;
  color: #fff;
  font-family: var(--wp--preset--font-family--sora);
  font-size: 0.82rem;
  font-weight: 600;
  padding: 10px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: opacity .2s;
}

.widget-newsletter form input[type="submit"]:hover,
.widget-newsletter form button[type="submit"]:hover { opacity: 0.85; }

/* Trending items */
.trending-item {
  border-bottom: 1px solid #EEEDF8;
}
.trending-item:last-child { border-bottom: none; }

/* Tag cloud */
.wp-block-tag-cloud a {
  display: inline-block;
  background: #EEEDF8;
  color: #5C5A7A !important;
  font-family: var(--wp--preset--font-family--sora);
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid rgba(123,97,255,0.12);
  transition: background .2s, color .2s;
  margin: 3px;
  text-decoration: none;
  font-size: 0.72rem !important;
}

.wp-block-tag-cloud a:hover {
  background: #7B61FF;
  color: #fff !important;
  border-color: #7B61FF;
}

/* ============================================
   PAGINAÇÃO
   ============================================ */
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-numbers a,
.wp-block-query-pagination-numbers span {
  font-family: var(--wp--preset--font-family--sora);
  font-size: 0.85rem;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 8px;
  color: #5C5A7A;
  border: 1px solid rgba(123,97,255,0.12);
  transition: all .2s;
  text-decoration: none;
}

.wp-block-query-pagination-numbers .current,
.wp-block-query-pagination .page-numbers:hover {
  background: #7B61FF;
  color: #fff;
  border-color: #7B61FF;
}

/* ============================================
   SINGLE POST
   ============================================ */
.post-content h2 {
  font-family: var(--wp--preset--font-family--sora);
  font-weight: 700;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.post-content p { line-height: 1.75; margin-bottom: 1.25rem; }

.post-content a { color: #7B61FF; text-decoration: underline; }

.post-content img { border-radius: 12px; margin: 1.5rem 0; }

.post-content blockquote {
  border-left: 3px solid #7B61FF;
  padding: 1rem 1.5rem;
  background: #EEEDF8;
  border-radius: 0 8px 8px 0;
  margin: 1.5rem 0;
  font-style: italic;
}

/* ============================================
   FOOTER
   ============================================ */
.footer-grid {
  max-width: 1160px;
  margin: 0 auto;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.footer-bottom {
  max-width: 1160px;
  margin: 0 auto;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.footer-nav-1 a,
.footer-nav-2 a,
.footer-nav-3 a {
  font-size: 0.82rem;
  color: #8886A8 !important;
  transition: color .2s;
  text-decoration: none;
}

.footer-nav-1 a:hover,
.footer-nav-2 a:hover,
.footer-nav-3 a:hover { color: #fff !important; }

/* Social links no footer */
.social-links .wp-block-social-link {
  border-radius: 8px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(123,97,255,0.2);
  transition: all .2s;
}
.social-links .wp-block-social-link:hover {
  background: #7B61FF;
  border-color: #7B61FF;
}

/* ============================================
   BOTÕES
   ============================================ */
.wp-block-button__link {
  transition: opacity .2s;
}
.wp-block-button__link:hover { opacity: 0.85; }

.btn-newsletter .wp-block-button__link {
  font-size: 0.78rem;
  white-space: nowrap;
}

/* ============================================
   EDITOR (admin) — estilos do bloco
   ============================================ */
.editor-styles-wrapper .post-card { border: 1px solid rgba(123,97,255,0.12); border-radius: 14px; }

/* ============================================
   RESPONSIVO
   ============================================ */
@media (max-width: 1024px) {
  .nav-inner { padding: 0 1.5rem; }
  .footer-grid, .footer-bottom { padding-left: 1.5rem; padding-right: 1.5rem; }
}

@media (max-width: 781px) {
  .nav-inner { height: 56px; }
  .primary-nav .wp-block-navigation-item__content { height: 56px; line-height: 56px; }
  .hero-section .wp-block-columns { flex-direction: column; }
  .sidebar-column { display: none; }
  .post-content-wrap .wp-block-columns { flex-direction: column; }
}

@media (max-width: 600px) {
  .nav-inner { padding: 0 1rem; }
  .nav-search { display: none; }
  .footer-grid, .footer-bottom { padding-left: 1rem; padding-right: 1rem; }
}
