/*
Theme Name: Flagee Varejo Child
Template: twentytwentyfive
Version: 1.0
Description: Child theme do Flagee Varejo com design editorial moderno.
*/

/* ==========================================
   VARIAVEIS
   ========================================== */
:root {
  --fv-navy: #0a1628;
  --fv-blue: #0d2b55;
  --fv-teal: #00d4aa;
  --fv-teal-dark: #00b891;
  --fv-white: #ffffff;
  --fv-gray-100: #f4f6f9;
  --fv-gray-200: #edf0f4;
  --fv-gray-400: #9ca3af;
  --fv-gray-600: #4b5563;
  --fv-gray-900: #111827;
  --fv-radius: 12px;
  --fv-shadow: 0 1px 3px rgba(0,0,0,.06),0 4px 16px rgba(0,0,0,.07);
  --fv-shadow-hover: 0 4px 12px rgba(0,0,0,.10),0 16px 40px rgba(0,0,0,.12);
  --fv-transition: .2s ease;
}

/* ==========================================
   GLOBAL
   ========================================== */
body { -webkit-font-smoothing: antialiased; color: var(--fv-gray-900); }

/* ==========================================
   HEADER
   ========================================== */
.wp-block-site-title a {
  font-weight: 700 !important; font-size: 1.15rem !important;
  color: var(--fv-navy) !important; text-decoration: none !important;
  letter-spacing: -0.02em !important;
}
.wp-block-navigation a {
  font-size: .88rem !important; font-weight: 500 !important;
  color: var(--fv-gray-600) !important; text-decoration: none !important;
  transition: color var(--fv-transition) !important;
}
.wp-block-navigation a:hover { color: var(--fv-navy) !important; }

/* ==========================================
   BLOG HERO
   ========================================== */
.fv-blog-hero {
  background: linear-gradient(135deg,var(--fv-navy) 0%,var(--fv-blue) 60%,#0d3d6b 100%) !important;
  padding: 80px 24px 72px !important;
}
.fv-blog-hero-inner { max-width: 800px !important; margin: 0 auto !important; }
.fv-blog-label {
  font-size: .72rem !important; font-weight: 700 !important; letter-spacing: .18em !important;
  color: var(--fv-teal) !important; text-transform: uppercase !important; margin: 0 0 16px !important;
}
.fv-blog-hero-title {
  font-size: clamp(2rem,4vw,2.8rem) !important; font-weight: 800 !important;
  color: var(--fv-white) !important; line-height: 1.15 !important;
  letter-spacing: -0.03em !important; margin: 0 0 18px !important;
}
.fv-blog-hero-desc {
  font-size: 1.1rem !important; color: rgba(255,255,255,.7) !important;
  line-height: 1.7 !important; margin: 0 !important; max-width: 620px !important;
}

/* ==========================================
   POSTS GRID WRAPPER
   ========================================== */
.fv-posts-grid-wrap {
  background: var(--fv-gray-100) !important;
  padding: 60px 24px 80px !important;
}

/* ==========================================
   POST CARDS GRID
   ========================================== */
.fv-post-grid {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 28px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: 1200px !important;
}
@media(max-width:900px){.fv-post-grid{grid-template-columns:repeat(2,1fr) !important;}}
@media(max-width:600px){.fv-post-grid{grid-template-columns:1fr !important;}}

.fv-card {
  background: var(--fv-white) !important;
  border-radius: var(--fv-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--fv-shadow) !important;
  transition: box-shadow var(--fv-transition),transform var(--fv-transition) !important;
  display: flex !important; flex-direction: column !important;
}
.fv-card:hover {
  box-shadow: var(--fv-shadow-hover) !important;
  transform: translateY(-4px) !important;
}

/* Card image placeholder */
.fv-card .wp-block-post-featured-image {
  margin: 0 !important;
  min-height: 180px !important;
  background: linear-gradient(135deg,var(--fv-navy) 0%,#1a3a6b 100%) !important;
  display: block !important;
}
.fv-card .wp-block-post-featured-image img {
  width: 100% !important; height: 200px !important;
  object-fit: cover !important; display: block !important;
}

.fv-card-body {
  padding: 22px !important; flex: 1 !important;
  display: flex !important; flex-direction: column !important; gap: 8px !important;
}

/* Category badge */
.fv-card-cats .wp-block-post-terms a,
.fv-card-cats a {
  display: inline-block !important; font-size: .68rem !important;
  font-weight: 700 !important; letter-spacing: .09em !important;
  text-transform: uppercase !important; color: #0a7a6a !important;
  background: #e3f8f3 !important; padding: 3px 10px !important;
  border-radius: 20px !important; text-decoration: none !important;
  border: 1px solid #b2e8db !important;
  transition: all var(--fv-transition) !important;
}
.fv-card-cats a:hover {
  background: var(--fv-teal) !important;
  color: var(--fv-white) !important; border-color: var(--fv-teal) !important;
}

/* Card title */
.fv-card-title .wp-block-post-title,
.fv-card-title h2 {
  font-size: 1.05rem !important; font-weight: 700 !important;
  line-height: 1.35 !important; letter-spacing: -.02em !important;
  margin: 0 !important; color: var(--fv-navy) !important;
}
.fv-card-title a,
.fv-card-title .wp-block-post-title a {
  color: var(--fv-navy) !important; text-decoration: none !important;
  transition: color var(--fv-transition) !important;
}
.fv-card-title a:hover { color: var(--fv-teal-dark) !important; }

/* Card excerpt */
.fv-card-excerpt .wp-block-post-excerpt__excerpt {
  font-size: .88rem !important; line-height: 1.65 !important;
  color: var(--fv-gray-600) !important; margin: 0 0 8px !important;
}
.fv-card-excerpt .wp-block-post-excerpt__more-link {
  font-size: .82rem !important; font-weight: 600 !important;
  color: var(--fv-teal-dark) !important; text-decoration: none !important;
}
.fv-card-excerpt .wp-block-post-excerpt__more-link:hover { color: var(--fv-navy) !important; }

/* Card date */
.fv-card-date .wp-block-post-date,
.fv-card-date time { font-size: .76rem !important; color: var(--fv-gray-400) !important; }
.fv-card-date {
  padding-top: 12px !important;
  border-top: 1px solid var(--fv-gray-200) !important;
  margin-top: auto !important;
}
.fv-card-date a { color: var(--fv-gray-400) !important; text-decoration: none !important; }

/* ==========================================
   PAGINATION
   ========================================== */
.wp-block-query-pagination {
  margin-top: 48px !important; display: flex !important;
  justify-content: center !important; gap: 8px !important;
}
.wp-block-query-pagination a,.wp-block-query-pagination-numbers a {
  display: inline-flex !important; align-items: center !important;
  justify-content: center !important; min-width: 40px !important;
  height: 40px !important; padding: 0 14px !important;
  border-radius: 8px !important; font-size: .88rem !important;
  font-weight: 500 !important; color: var(--fv-gray-600) !important;
  background: var(--fv-white) !important; border: 1px solid #e5e7eb !important;
  text-decoration: none !important; transition: all var(--fv-transition) !important;
}
.wp-block-query-pagination a:hover {
  background: var(--fv-navy) !important; color: var(--fv-white) !important;
  border-color: var(--fv-navy) !important;
}

/* ==========================================
   SINGLE ARTICLE - HEADER
   ========================================== */
.fv-single-header {
  background: linear-gradient(135deg,var(--fv-navy) 0%,var(--fv-blue) 100%) !important;
  padding: 72px 24px 60px !important;
}
.fv-single-header .wp-block-group { max-width: 800px !important; margin: 0 auto !important; }

.fv-single-cats .wp-block-post-terms a,
.fv-single-cats a {
  display: inline-block !important; font-size: .68rem !important;
  font-weight: 700 !important; letter-spacing: .1em !important;
  text-transform: uppercase !important; color: var(--fv-teal) !important;
  background: rgba(0,212,170,.12) !important; padding: 4px 12px !important;
  border-radius: 20px !important; border: 1px solid rgba(0,212,170,.3) !important;
  text-decoration: none !important; margin-bottom: 16px !important;
}

.fv-single-title .wp-block-post-title {
  font-size: clamp(1.7rem,3.5vw,2.4rem) !important; font-weight: 800 !important;
  color: var(--fv-white) !important; line-height: 1.2 !important;
  letter-spacing: -0.03em !important; margin: 12px 0 20px !important;
}

.fv-single-date .wp-block-post-date,
.fv-single-date time,
.fv-single-date a {
  font-size: .83rem !important; color: rgba(255,255,255,.55) !important;
  text-decoration: none !important;
}

/* Featured image */
.fv-single-image { overflow: hidden !important; max-height: 460px !important; }
.fv-single-image img {
  width: 100% !important; max-height: 460px !important;
  object-fit: cover !important; display: block !important;
}

/* ==========================================
   SINGLE ARTICLE - CONTENT
   ========================================== */
.fv-single-content {
  padding: 56px 24px 32px !important;
  max-width: 760px !important; margin: 0 auto !important;
}
.fv-single-content .wp-block-post-content {
  font-size: 1.05rem !important; line-height: 1.82 !important; color: #1f2937 !important;
}
.fv-single-content .wp-block-post-content h2 {
  font-size: 1.45rem !important; font-weight: 700 !important;
  color: var(--fv-navy) !important; margin: 2.5rem 0 1rem !important;
  letter-spacing: -0.02em !important; padding-top: 1.25rem !important;
  border-top: 2px solid var(--fv-teal) !important;
}
.fv-single-content .wp-block-post-content h3 {
  font-size: 1.2rem !important; font-weight: 700 !important;
  color: var(--fv-navy) !important; margin: 2rem 0 .6rem !important;
}
.fv-single-content .wp-block-post-content p { margin: 0 0 1.4rem !important; }
.fv-single-content .wp-block-post-content ul,
.fv-single-content .wp-block-post-content ol {
  padding-left: 1.6rem !important; margin: 0 0 1.4rem !important;
}
.fv-single-content .wp-block-post-content li { margin-bottom: .55rem !important; }
.fv-single-content .wp-block-post-content blockquote {
  border-left: 4px solid var(--fv-teal) !important;
  padding: 18px 22px !important; margin: 2rem 0 !important;
  background: #f0faf7 !important; border-radius: 0 8px 8px 0 !important;
}
.fv-single-content .wp-block-post-content blockquote em {
  font-size: 1rem !important; line-height: 1.7 !important;
  color: #374151 !important; font-style: italic !important;
}
.fv-single-content .wp-block-post-content strong {
  color: var(--fv-navy) !important; font-weight: 700 !important;
}

/* ==========================================
   SINGLE ARTICLE - CTA BOX
   ========================================== */
.fv-single-cta {
  max-width: 760px !important; margin: 40px auto 20px !important;
  padding: 40px !important;
  background: linear-gradient(135deg,var(--fv-navy),var(--fv-blue)) !important;
  border-radius: 16px !important;
}
.fv-single-cta h3 {
  font-size: 1.3rem !important; font-weight: 700 !important;
  color: var(--fv-white) !important; margin: 0 0 10px !important;
  letter-spacing: -0.02em !important;
}
.fv-single-cta p {
  color: rgba(255,255,255,.7) !important; margin: 0 0 24px !important;
  font-size: .95rem !important; line-height: 1.65 !important;
}
.fv-cta-btn .wp-block-button__link {
  background: var(--fv-teal) !important; color: var(--fv-navy) !important;
  font-weight: 700 !important; border-radius: 8px !important;
  padding: 13px 28px !important; text-decoration: none !important;
  font-size: .93rem !important; transition: all var(--fv-transition) !important;
  border: none !important; display: inline-block !important;
}
.fv-cta-btn .wp-block-button__link:hover {
  background: var(--fv-teal-dark) !important; transform: translateY(-1px) !important;
}

/* ==========================================
   FOOTER
   ========================================== */
footer.wp-block-template-part,
.wp-site-blocks > footer { background: var(--fv-navy) !important; }
footer .wp-block-site-title a { color: var(--fv-white) !important; }
footer a { color: rgba(255,255,255,.6) !important; text-decoration: none !important; transition: color var(--fv-transition) !important; }
footer a:hover { color: var(--fv-white) !important; }
footer p,footer li { color: rgba(255,255,255,.5) !important; font-size: .85rem !important; }

/* ==========================================
   RESPONSIVO
   ========================================== */
@media(max-width:768px){
  .fv-blog-hero,.fv-single-header{padding: 52px 20px 44px !important;}
  .fv-single-cta{padding: 28px 22px !important; margin: 28px 16px !important;}
  .fv-posts-grid-wrap{padding: 40px 16px 60px !important;}
  .fv-single-content{padding: 40px 16px 24px !important;}
}
/* ==========================================
   FIXES - TITULO BRANCO NO HERO DO ARTIGO
   ========================================== */
.fv-single-header h1,
.fv-single-header h1.wp-block-post-title,
.fv-single-header .wp-block-post-title,
.fv-single-header .wp-block-post-title * {
  color: #ffffff !important;
}

.fv-single-header .wp-block-post-date,
.fv-single-header .wp-block-post-date a,
.fv-single-header .wp-block-post-date time {
  color: rgba(255,255,255,.55) !important;
}

/* ==========================================
   FIX - CTA BOX (simplificado)
   ========================================== */
.fv-single-cta,
.wp-block-group.fv-single-cta {
  background: linear-gradient(135deg,#0a1628,#0d2b55) !important;
  border-radius: 16px !important;
  padding: 40px !important;
  margin: 48px auto !important;
  max-width: 760px !important;
  display: block !important;
}
.fv-single-cta h3,
.fv-single-cta .wp-block-heading {
  color: #ffffff !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  margin: 0 0 10px !important;
}
.fv-single-cta p,
.fv-single-cta .wp-block-paragraph {
  color: rgba(255,255,255,.7) !important;
  font-size: .95rem !important;
  line-height: 1.65 !important;
  margin: 0 0 24px !important;
}
.fv-single-cta .wp-block-button__link {
  background: #00d4aa !important;
  color: #0a1628 !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  padding: 13px 28px !important;
  text-decoration: none !important;
  font-size: .93rem !important;
  display: inline-block !important;
  border: none !important;
  transition: background .2s ease !important;
}
.fv-single-cta .wp-block-button__link:hover {
  background: #00b891 !important;
}

/* ==========================================
   FIX - FOOTER ATRIBUICAO
   ========================================== */
.wp-block-template-part footer .wp-block-group:last-child p,
footer .site-info,
footer [class*="powered"],
footer p:last-child {
  font-size: .75rem !important;
  color: rgba(255,255,255,.3) !important;
}

/* Oculta "Twenty Twenty-Five" do footer */
footer .wp-block-paragraph a[href*="wordpress.org"],
footer a[href*="wordpress.org"] {
  opacity: .4 !important;
}

/* ==========================================
   FIX - CARDS: titulos grandes demais
   ========================================== */
.fv-card-title .wp-block-post-title,
.fv-card h2.wp-block-post-title {
  font-size: 1rem !important;
  line-height: 1.35 !important;
}

/* ==========================================
   FIX - HERO BLOG: largura total
   ========================================== */
.fv-blog-hero {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  width: 100vw !important;
}