/*
Theme Name: Kidz Festas
Theme URI: https://kidzfestas.com.br
Author: NexBraz
Author URI: https://nexbraz.com
Description: Tema institucional para o Kidz Festas — curadoria de fornecedores para festas infantis. Convertido a partir do protótipo HTML aprovado, com Fornecedores (custom post type) e Categorias (taxonomia) editáveis pelo painel do WordPress.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kidz-festas
*/

/* =========================================================
   O CSS abaixo é o mesmo do protótipo aprovado, ajustado
   apenas onde o WordPress exige classes específicas
   (ex.: .wp-block-*, .alignwide, formulário de busca nativo).
   ========================================================= */

  :root{
    --cream:#FAF6EE;
    --cream-2:#F1E9D8;
    --paper:#FFFFFF;
    --ink:#141F2B;
    --ink-soft:#5B5347;
    --pink:#7A2E3D;
    --pink-deep:#5E2230;
    --yellow:#B8935A;
    --yellow-deep:#8C6A3A;
    --turquoise:#1F4D3E;
    --green:#3B6B57;
    --purple:#2B3A55;
    --line:rgba(20,32,43,0.13);
    --gold-line:rgba(184,147,90,0.55);
    --radius:10px;
    --radius-sm:7px;
    --shadow-sm: 0 14px 30px -20px rgba(20,32,43,0.35);
    --shadow-lg: 0 36px 70px -32px rgba(20,32,43,0.32);
    --font-display:'Fraunces', serif;
    --font-body:'Manrope', sans-serif;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:var(--font-body);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none; margin:0; padding:0;}
  h1,h2,h3,h4{font-family:var(--font-display); margin:0; color:var(--ink); font-weight:600;}
  p{margin:0;}
  .container{width:100%; max-width:1180px; margin-inline:auto; padding-inline:24px;}
  section{padding:88px 0;}
  .skip-link{
    position:absolute; left:-999px; top:0; background:var(--ink); color:#fff; padding:12px 18px;
    border-radius:0 0 10px 0; z-index:200;
  }
  .skip-link:focus{left:0;}
  :focus-visible{outline:3px solid var(--purple); outline-offset:3px;}

  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-family:var(--font-body); font-weight:700; font-size:0.78rem;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--pink-deep);
  }
  .eyebrow::before{
    content:""; width:7px; height:7px; border-radius:50%; background:var(--pink);
  }
  .section-head{max-width:640px; margin-bottom:48px;}
  .section-head h2{font-size:clamp(1.8rem, 3.2vw, 2.6rem); margin-top:10px; line-height:1.15;}
  .section-head p{color:var(--ink-soft); margin-top:14px; font-size:1.05rem;}
  .section-head.center{margin-inline:auto; text-align:center;}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    font-family:var(--font-body); font-weight:700; font-size:0.82rem;
    letter-spacing:0.05em; text-transform:uppercase;
    padding:14px 26px; border-radius:3px; border:1.5px solid transparent;
    cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--ink); color:var(--cream); box-shadow:var(--shadow-sm); border-color:var(--ink);}
  .btn-primary:hover{background:var(--pink-deep); border-color:var(--pink-deep); transform:translateY(-2px);}
  .btn-ghost{background:transparent; color:var(--ink); border-color:var(--line);}
  .btn-ghost:hover{border-color:var(--ink); background:var(--paper);}
  .btn-dark{background:var(--yellow); color:var(--ink); border-color:var(--yellow);}
  .btn-dark:hover{background:var(--yellow-deep); border-color:var(--yellow-deep); transform:translateY(-2px);}
  .btn-sm{padding:10px 18px; font-size:0.74rem;}

  /* ---------- Header ---------- */
  .topbar{
    background:var(--ink); color:rgba(255,255,255,0.85); font-size:0.82rem;
  }
  .topbar .container{display:flex; justify-content:space-between; align-items:center; padding-block:8px; gap:16px;}
  .topbar a{color:inherit;}
  .topbar-social{display:flex; gap:14px;}
  .topbar-social a{opacity:0.85; transition:opacity .15s;}
  .topbar-social a:hover{opacity:1;}

  .site-header{position:sticky; top:0; z-index:100; background:rgba(255,251,242,0.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
  .nav-wrap{display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:14px;}
  .logo{display:flex; align-items:center; flex-shrink:0;}
  .logo img{height:84px; width:auto; max-width:300px; object-fit:contain; display:block;}
  .logo a{display:flex; align-items:center;}
  .nav{display:flex; align-items:center; gap:22px;}
  .nav > ul{display:flex; align-items:center; gap:22px;}
  .nav a{font-weight:600; font-size:0.95rem; padding:6px 2px; position:relative; white-space:nowrap;}
  .nav > ul > li > a::after{
    content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px; background:var(--pink);
    transform:scaleX(0); transform-origin:left; transition:transform .2s ease;
  }
  .nav > ul > li > a:hover::after{transform:scaleX(1);}
  .has-dropdown{position:relative;}
  .dropdown{
    position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%);
    background:var(--paper); border:1px solid var(--line); border-radius:4px; padding:8px;
    min-width:200px; box-shadow:var(--shadow-lg); opacity:0; visibility:hidden; translate:0 6px;
    transition:opacity .18s ease, translate .18s ease, visibility .18s;
  }
  .has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown{opacity:1; visibility:visible; translate:0 0;}
  .dropdown li a{display:block; padding:9px 12px; border-radius:2px; font-weight:500;}
  .dropdown li a:hover{background:var(--cream-2); color:var(--pink-deep);}
  .nav-actions{display:flex; align-items:center; gap:12px;}
  .nav-toggle{display:none; width:42px; height:42px; border-radius:10px; border:1px solid var(--line); background:var(--paper); cursor:pointer; position:relative;}
  .nav-toggle span, .nav-toggle::before, .nav-toggle::after{
    content:""; position:absolute; left:10px; right:10px; height:2px; background:var(--ink); transition:transform .2s, opacity .2s;
  }
  .nav-toggle::before{top:14px;} .nav-toggle span{top:20px;} .nav-toggle::after{top:26px;}
  .nav-toggle[aria-expanded="true"]::before{transform:translateY(6px) rotate(45deg);}
  .nav-toggle[aria-expanded="true"]::after{transform:translateY(-6px) rotate(-45deg);}
  .nav-toggle[aria-expanded="true"] span{opacity:0;}

  /* ---------- Hero ---------- */
  .hero{padding-top:76px; padding-bottom:88px; overflow:hidden; background:var(--ink); position:relative;}
  .hero::before{
    content:""; position:absolute; inset:0;
    background:
      radial-gradient(600px 320px at 85% 0%, rgba(184,147,90,0.14), transparent 60%),
      radial-gradient(500px 300px at 10% 100%, rgba(184,147,90,0.08), transparent 60%);
    pointer-events:none;
  }
  .hero-inner{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; position:relative;}
  .hero-glow{position:absolute; border-radius:50%; pointer-events:none; filter:blur(2px);}
  .hero-glow-1{width:220px; height:220px; background:radial-gradient(circle, rgba(184,147,90,0.18), transparent 70%); top:-40px; right:10%;}
  .hero-glow-2{width:160px; height:160px; background:radial-gradient(circle, rgba(122,46,61,0.22), transparent 70%); bottom:-20px; left:0;}
  .hero .eyebrow{color:var(--yellow);}
  .hero .eyebrow::before{background:var(--yellow);}
  .hero-copy h1{font-size:clamp(2.3rem, 4.4vw, 3.5rem); line-height:1.12; margin-top:18px; color:var(--cream); font-weight:500;}
  .hero-copy h1 em{color:var(--yellow); font-style:italic; font-weight:400;}
  .hero-copy > p{margin-top:20px; font-size:1.12rem; color:rgba(250,246,238,0.68); max-width:480px;}

  .search-form{
    display:flex; gap:10px; margin-top:34px; background:var(--paper); padding:7px; border-radius:4px;
    border:1px solid var(--line); box-shadow:var(--shadow-lg); max-width:480px;
  }
  .search-form input{
    flex:1; min-width:0; border:none; background:transparent; padding:10px 16px; font-family:var(--font-body);
    font-size:0.98rem; color:var(--ink);
  }
  .search-form input:focus{outline:none;}
  .search-form button{border:none;}

  .hero-stats{display:flex; flex-wrap:wrap; gap:28px; margin-top:38px;}
  .hero-stats li{display:flex; align-items:center; gap:10px; font-weight:600; font-size:0.9rem; color:var(--cream);}
  .hero-stats .dot{width:5px; height:5px; border-radius:50%; flex-shrink:0; background:var(--yellow);}

  .hero-visual{position:relative; display:flex; justify-content:center; padding-bottom:36px;}
  .invite-card{
    background:var(--paper); border-radius:6px; padding:38px 34px; width:100%; max-width:380px;
    box-shadow:var(--shadow-lg); border:1px solid var(--line); position:relative; rotate:-2deg;
  }
  .invite-card::before{
    content:""; position:absolute; inset:12px; border:1px solid var(--gold-line); border-radius:2px; pointer-events:none;
  }
  .invite-kicker{font-family:var(--font-display); font-style:italic; color:var(--yellow-deep); font-size:1.1rem; font-weight:500;}
  .invite-card h3{font-size:1.6rem; margin-top:8px; line-height:1.25; font-weight:500;}
  .invite-list{margin-top:24px; display:flex; flex-direction:column; gap:15px;}
  .invite-list li{display:flex; align-items:center; gap:13px; font-weight:600; font-size:0.94rem;}
  .invite-swatch{width:30px; height:30px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:#fff;}
  .invite-seal{
    position:absolute; top:-24px; right:-20px; width:92px; height:92px; border-radius:50%;
    background:var(--ink); color:var(--yellow); display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; font-family:var(--font-display); font-style:italic; font-weight:500; line-height:1.1;
    box-shadow:var(--shadow-sm); border:3px solid var(--cream);
  }
  .invite-seal strong{font-size:1.5rem; font-style:normal; display:block;}
  .invite-seal span{font-size:0.5rem; letter-spacing:0.1em; text-transform:uppercase; font-family:var(--font-body); font-style:normal; opacity:0.85;}
  .float-badge{
    position:absolute; background:var(--paper); border:1px solid var(--line); border-radius:4px;
    padding:12px 16px; box-shadow:var(--shadow-sm); display:flex; align-items:center; gap:10px; font-weight:700; font-size:0.86rem;
  }
  .float-badge.b1{bottom:-36px; left:-24px; rotate:-3deg;}
  .float-badge svg{color:var(--yellow-deep);}

  /* ---------- Ornamental divider (signature element) ---------- */
  .divider{display:flex; align-items:center; gap:18px; max-width:420px; margin:0 auto; padding:0 24px;}
  .divider-line{flex:1; height:1px; background:linear-gradient(to right, transparent, var(--gold-line));}
  .divider-line.reverse{background:linear-gradient(to left, transparent, var(--gold-line));}
  .divider-diamond{width:7px; height:7px; background:var(--yellow); transform:rotate(45deg); flex-shrink:0;}
  section + .divider, .divider + section{}
  .divider-wrap{padding:0;}

  /* ---------- Categories ---------- */
  .cat-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:22px;}
  .cat-card{
    background:var(--paper); border-radius:var(--radius); padding:30px 24px 26px; border:1px solid var(--line);
    position:relative; transition:transform .2s ease, box-shadow .2s ease; overflow:visible;
  }
  .cat-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg);}
  .cat-icon{
    width:58px; height:58px; border-radius:16px; display:flex; align-items:center; justify-content:center;
    color:#fff; margin-bottom:18px; position:relative;
  }
  .cat-icon::after{
    content:""; position:absolute; top:-8px; right:-8px; width:14px; height:14px; border-radius:50%;
    background:var(--cream); border:2px dashed var(--line);
  }
  .cat-card h3{font-size:1.22rem;}
  .cat-card p{color:var(--ink-soft); margin-top:8px; font-size:0.94rem;}
  .cat-card .cat-link{
    display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-weight:700; font-size:0.88rem; color:var(--ink);
  }
  .cat-card .cat-link svg{transition:transform .2s;}
  .cat-card:hover .cat-link svg{transform:translateX(4px);}

  /* ---------- Why us ---------- */
  .why{background:var(--cream-2);}
  .why-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:22px;}
  .why-card{text-align:left;}
  .why-icon{
    width:52px; height:52px; border-radius:14px; background:var(--paper); border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; margin-bottom:16px; color:var(--pink-deep);
  }
  .why-card h3{font-size:1.08rem;}
  .why-card p{color:var(--ink-soft); margin-top:8px; font-size:0.92rem;}

  /* ---------- Vendors ---------- */
  .vendors-head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:44px;}
  .vendor-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:20px;}
  .vendor-card{
    background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:22px;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .vendor-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-lg);}
  .vendor-top{display:flex; align-items:center; gap:12px;}
  .avatar{
    width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-family:var(--font-display); font-weight:700; color:#fff; font-size:1.1rem; flex-shrink:0;
  }
  .vendor-name{font-weight:800; font-size:0.98rem; line-height:1.25;}
  .vendor-tag{
    display:inline-block; margin-top:4px; font-size:0.74rem; font-weight:700; letter-spacing:0.03em;
    padding:3px 9px; border-radius:999px; color:var(--ink);
  }
  .vendor-verified{
    display:flex; align-items:center; gap:6px; margin-top:16px; font-size:0.82rem; font-weight:700; color:var(--green);
  }
  .vendors-foot{text-align:center; margin-top:40px;}

  /* ---------- Blog ---------- */
  .blog-grid{display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:22px;}
  .post-card{
    background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
    display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease;
  }
  .post-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-lg);}
  .post-media{height:170px; display:flex; align-items:center; justify-content:center; position:relative;}
  .post-media svg{width:56px; height:56px; opacity:0.9;}
  .post-card:nth-child(1) .post-media{background:linear-gradient(135deg, var(--purple), #1a2740);}
  .post-card:nth-child(2) .post-media{background:linear-gradient(135deg, var(--turquoise), #163a2f);}
  .post-card:nth-child(3) .post-media{background:linear-gradient(135deg, var(--pink), var(--pink-deep));}
  .post-body{padding:22px; display:flex; flex-direction:column; gap:10px; flex:1;}
  .post-cat{font-size:0.74rem; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:var(--pink-deep);}
  .post-body h3{font-size:1.12rem; line-height:1.3;}
  .post-body p{color:var(--ink-soft); font-size:0.92rem; flex:1;}
  .post-more{font-weight:700; font-size:0.85rem; display:inline-flex; align-items:center; gap:6px;}

  /* Card de fornecedor no estilo blog (páginas de listagem por categoria e "todos os fornecedores") */
  .post-media.vendor-logo{padding:22px;}
  .post-media.vendor-logo img{width:100%; height:100%; object-fit:contain;}
  .vendor-fallback-mark{font-family:var(--font-display); font-weight:600; font-size:2.1rem; color:#fff; letter-spacing:0.02em;}
  .post-body .vendor-verified{margin-top:2px;}
  /* Aviso visível só para quem pode editar o fornecedor (logado no wp-admin) */
  .vendor-missing-logo{
    position:absolute; bottom:8px; right:10px; background:rgba(0,0,0,0.55); color:#fff !important;
    font-size:0.68rem; font-weight:700; padding:4px 8px; border-radius:4px; text-decoration:none !important;
  }
  .vendor-missing-logo:hover{background:rgba(0,0,0,0.75);}

  /* ---------- CTA vendor ---------- */
  .cta-vendor{
    background:var(--ink); color:var(--cream); border-radius:8px; margin-inline:24px; padding:68px 56px;
    max-width:1180px; margin-inline:auto; position:relative; overflow:hidden;
    display:flex; align-items:center; justify-content:space-between; gap:40px;
    border:1px solid rgba(184,147,90,0.3);
  }
  .cta-blob{position:absolute; border-radius:50%; pointer-events:none;}
  .cta-blob-1{width:340px; height:340px; background:radial-gradient(circle, rgba(184,147,90,0.22), transparent 70%); top:-140px; right:-100px;}
  .cta-blob-2{width:280px; height:280px; background:radial-gradient(circle, rgba(122,46,61,0.28), transparent 70%); bottom:-140px; left:-80px;}
  .cta-copy{position:relative; z-index:1; max-width:520px;}
  .cta-copy .eyebrow{color:var(--yellow);}
  .cta-copy .eyebrow::before{background:var(--yellow);}
  .cta-copy h2{color:var(--cream); font-weight:500; font-size:clamp(1.6rem, 2.6vw, 2.1rem); margin-top:12px;}
  .cta-copy p{color:rgba(250,246,238,0.7); margin-top:14px;}
  .cta-actions{position:relative; z-index:1; display:flex; gap:14px; flex-wrap:wrap;}

  /* ---------- Footer ---------- */
  .site-footer{background:var(--ink); color:rgba(250,246,238,0.72); border-top:1px solid rgba(184,147,90,0.25); margin-top:96px; padding-top:72px;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:36px; padding-bottom:48px;}
  .footer-brand .logo{display:flex; margin-bottom:16px;}
  .footer-brand .logo img{height:80px; max-width:300px;}
  .footer-brand p{color:rgba(250,246,238,0.6); font-size:0.94rem; max-width:300px;}
  .footer-social{display:flex; gap:12px; margin-top:20px;}
  .footer-social a{
    width:38px; height:38px; border-radius:50%; background:rgba(250,246,238,0.06); border:1px solid rgba(250,246,238,0.18);
    color:var(--cream); display:flex; align-items:center; justify-content:center; transition:background .15s, color .15s, border-color .15s;
  }
  .footer-social a:hover{background:var(--yellow); color:var(--ink); border-color:var(--yellow);}
  .footer-col h4{font-family:var(--font-body); font-size:0.8rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--yellow); margin-bottom:16px; font-weight:700;}
  .footer-col ul{display:flex; flex-direction:column; gap:11px;}
  .footer-col a{color:rgba(250,246,238,0.68); font-size:0.94rem; transition:color .15s;}
  .footer-col a:hover{color:var(--yellow);}
  .footer-bottom{
    border-top:1px solid rgba(250,246,238,0.12); padding:22px 0; display:flex; justify-content:space-between;
    align-items:center; gap:16px; flex-wrap:wrap; font-size:0.85rem; color:rgba(250,246,238,0.5);
  }

  /* ---------- Reveal animation ---------- */
  .reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
  .reveal.is-visible{opacity:1; transform:translateY(0);}

  /* ---------- Responsive ---------- */
  @media (max-width:1000px){
    .hero-inner{grid-template-columns:1fr; gap:48px;}
    .hero-visual{order:-1;}
    .invite-card{max-width:340px;}
    .cat-grid{grid-template-columns:repeat(2, 1fr);}
    .why-grid{grid-template-columns:repeat(2, 1fr);}
    .vendor-grid{grid-template-columns:repeat(2, 1fr);}
    .blog-grid{grid-template-columns:1fr; }
    .footer-grid{grid-template-columns:1fr 1fr;}
    .cta-vendor{flex-direction:column; text-align:left; align-items:flex-start;}
  }
  @media (max-width:760px){
    .topbar{display:none;}
    .logo img{height:36px;}
    .nav{position:fixed; top:56px; left:0; right:0; height:calc(100vh - 56px); z-index:99; background:var(--cream); flex-direction:column; align-items:stretch;
      padding:24px; transform:translateX(100%); transition:transform .25s ease; overflow-y:auto;}
    .nav.is-open{transform:translateX(0);}
    .nav > ul{flex-direction:column; align-items:flex-start; gap:6px; width:100%;}
    .nav > ul > li{width:100%;}
    .nav > ul > li > a{display:block; padding:12px 4px;}
    .dropdown{position:static; transform:none; opacity:1; visibility:visible; box-shadow:none; border:none; display:none; padding-left:12px;}
    .has-dropdown.is-open .dropdown{display:block;}
    .nav-actions .btn-ghost{display:none;}
    .nav-toggle{display:block;}
    .cat-grid, .why-grid, .vendor-grid{grid-template-columns:1fr;}
    section{padding:64px 0;}
    .cta-vendor{padding:40px 26px; border-radius:20px;}
    .footer-grid{grid-template-columns:1fr; gap:32px;}
    .search-form{max-width:100%; flex-wrap:nowrap;}
    .search-form button{padding:13px 18px;}
    .invite-card{max-width:100%; rotate:0deg;}
    .invite-seal{right:4px; top:-20px; width:76px; height:76px;}
    .invite-seal strong{font-size:1.2rem;}
    .float-badge.b1{left:0;}
  }

/* =========================================================
   Utilitários e acessibilidade padrão do WordPress
   ========================================================= */
.screen-reader-text{
  position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap;
}
.screen-reader-text:focus{
  position:static !important; width:auto; height:auto; clip:auto; padding:8px 12px;
}

/* =========================================================
   Conteúdo interno (páginas e posts) — tipografia de leitura
   usada em single.php, page.php e single-fornecedor.php
   ========================================================= */
.page-hero{background:var(--ink); padding:64px 0 56px; position:relative; overflow:hidden;}
.page-hero::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(600px 320px at 85% 0%, rgba(184,147,90,0.14), transparent 60%);
  pointer-events:none;
}
.page-hero .eyebrow{color:var(--yellow); position:relative;}
.page-hero .eyebrow::before{background:var(--yellow);}
.page-hero h1{color:var(--cream); font-weight:500; font-size:clamp(2rem, 4vw, 2.8rem); margin-top:14px; position:relative;}
.page-hero p{color:rgba(250,246,238,0.68); margin-top:14px; max-width:640px; position:relative;}

.entry-content{max-width:760px; margin:0 auto; padding:64px 24px;}
.entry-content h2{font-size:1.7rem; margin-top:2.2em; margin-bottom:0.6em;}
.entry-content h3{font-size:1.3rem; margin-top:1.8em; margin-bottom:0.5em;}
.entry-content p{margin-bottom:1.2em; color:var(--ink-soft); font-size:1.05rem; line-height:1.75;}
.entry-content ul, .entry-content ol{margin:0 0 1.2em; padding-left:1.4em; color:var(--ink-soft); line-height:1.75;}
.entry-content li{margin-bottom:0.4em;}
.entry-content a{color:var(--pink-deep); text-decoration:underline; text-underline-offset:3px;}
.entry-content img{border-radius:var(--radius); margin:1.6em 0;}
.entry-content blockquote{
  border-left:3px solid var(--yellow); padding-left:1.2em; margin:1.8em 0; font-family:var(--font-display);
  font-style:italic; font-size:1.2rem; color:var(--ink);
}
.entry-meta{display:flex; gap:16px; flex-wrap:wrap; color:var(--ink-soft); font-size:0.85rem; margin-top:10px;}
.entry-content .alignwide{max-width:960px; margin-left:calc(50% - 480px); width:960px;}
.entry-content .alignfull{max-width:none; margin-left:calc(50% - 50vw); width:100vw;}

.pagination-nav{display:flex; justify-content:center; gap:10px; padding:0 24px 64px; max-width:760px; margin:0 auto;}
.pagination-nav a, .pagination-nav span{
  padding:9px 15px; border:1px solid var(--line); border-radius:4px; font-weight:700; font-size:0.85rem;
}
.pagination-nav a:hover{border-color:var(--ink);}
.pagination-nav .current{background:var(--ink); color:var(--cream); border-color:var(--ink);}

.no-results{max-width:640px; margin:0 auto; padding:80px 24px; text-align:center;}
.no-results p{color:var(--ink-soft); margin-top:12px;}

/* Fornecedor único (single-fornecedor.php) */
.vendor-hero{display:flex; align-items:center; gap:20px; flex-wrap:wrap;}
.vendor-hero .avatar{width:76px; height:76px; font-size:1.5rem;}
.vendor-detail-grid{display:grid; grid-template-columns:2fr 1fr; gap:40px; max-width:1000px; margin:0 auto; padding:64px 24px;}
.vendor-side{background:var(--cream-2); border-radius:var(--radius); padding:26px;}
.vendor-side h4{font-size:0.9rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--yellow-deep); margin-bottom:14px;}
.vendor-side p{color:var(--ink-soft); font-size:0.94rem; margin-bottom:10px;}
@media (max-width:760px){
  .vendor-detail-grid{grid-template-columns:1fr;}
  .entry-content{padding:48px 20px;}
}

/* Página de FAQ */
.faq-wrap{max-width:820px; margin:0 auto; padding:64px 24px 96px;}
.faq-group{margin-bottom:56px;}
.faq-group:last-child{margin-bottom:0;}
.faq-group-title{font-size:0.82rem; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; color:var(--yellow-deep); margin-bottom:8px;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item:first-child{border-top:1px solid var(--line);}
.faq-question{
  width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px;
  padding:24px 2px; background:none; border:none; cursor:pointer; text-align:left;
  font-family:var(--font-display); font-size:1.08rem; font-weight:500; color:var(--ink);
}
.faq-question:hover{color:var(--pink-deep);}
.faq-icon{flex-shrink:0; color:var(--yellow-deep); transition:transform .25s ease;}
.faq-item:not(.is-collapsed) .faq-icon{transform:rotate(45deg);}
.faq-answer{display:grid; grid-template-rows:1fr; transition:grid-template-rows .3s ease;}
.faq-item.is-collapsed .faq-answer{grid-template-rows:0fr;}
.faq-answer-inner{overflow:hidden;}
.faq-answer p{margin:0; padding:0 2px 24px; color:var(--ink-soft); font-size:0.98rem; line-height:1.75; max-width:640px;}
.faq-cta{
  margin-top:64px; padding:36px; border-radius:var(--radius); background:var(--cream-2);
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.faq-cta p{margin:0; color:var(--ink-soft); max-width:420px;}
@media (max-width:600px){
  .faq-question{font-size:1rem;}
  .faq-cta{flex-direction:column; align-items:flex-start;}
}
