:root{
    --papel:#F1E4C3;
    --papel-escuro:#E3D1A0;
    --papel-mancha:#D8BE86;
    --tinta:#2E2A22;
    --tinta-suave:#5B5140;
    --caneta:#33415C;
    --selo:#A6402C;
    --musgo:#5F6F42;
    --linha:#C9B583;
    --radius:12px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Lora', serif;
    background:var(--papel);
    color:var(--tinta);
    line-height:1.55;
  }
  h1,h2,h3{font-family:'Lora',serif;font-weight:600;margin:0;letter-spacing:-0.01em;}
  .manuscrita{font-family:'Caveat',cursive;font-weight:700;color:var(--caneta);}
  .mono{font-family:'Space Mono',monospace;}
  .sans{font-family:'Public Sans',sans-serif;}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  button{font-family:inherit;cursor:pointer;}
  :focus-visible{outline:3px solid var(--selo);outline-offset:2px;}

  /* Papel envelhecido: manchas + linhas de caderno */
  .textura-papel{
    background-image:
      radial-gradient(ellipse 220px 160px at 12% 20%, rgba(166,64,44,0.08), transparent 60%),
      radial-gradient(ellipse 180px 140px at 85% 75%, rgba(95,111,66,0.07), transparent 60%),
      repeating-linear-gradient(rgba(46,42,34,0), rgba(46,42,34,0) 27px, var(--linha) 28px);
    background-color:var(--papel);
  }
  .numeros-margem{
    position:absolute; left:14px; top:0; bottom:0; width:22px;
    display:flex; flex-direction:column; padding-top:8px;
    font-family:'Space Mono',monospace; font-size:11px; color:var(--tinta-suave); opacity:0.45;
  }
  .numeros-margem span{height:28px;}

  header{
    position:sticky;top:0;z-index:50;
    background:var(--papel);
    border-bottom:1px solid var(--linha);
  }
  .header-inner{
    max-width:1180px;margin:0 auto;padding:16px 24px;
    display:flex;align-items:center;justify-content:space-between;gap:20px;
  }
  .logo{font-size:1.5rem;display:flex;align-items:baseline;gap:8px;}
  .logo .manuscrita{font-size:1.7rem;}
  nav{display:flex;gap:26px;font-family:'Public Sans',sans-serif;font-weight:600;font-size:0.92rem;}
  nav a{text-decoration:none;border-bottom:2px solid transparent;padding-bottom:4px;transition:border-color .15s;}
  nav a:hover{border-color:var(--selo);}
  .btn{
    display:inline-flex;align-items:center;gap:8px;font-family:'Public Sans',sans-serif;
    padding:10px 20px;border-radius:999px;border:2px solid var(--selo);
    background:transparent;color:var(--selo);font-weight:700;font-size:0.88rem;
    transition:all .15s;
  }
  .btn:hover{background:var(--selo);color:var(--papel);}
  .btn-solid{background:var(--selo);color:var(--papel);}
  .btn-solid:hover{background:#7f331f;border-color:#7f331f;}

  /* Hero em tela cheia com a foto da Vó Suzete */
  .hero-full{
    position:relative;min-height:88vh;
    background-image:url('../img/hero-suzete.jpg');
    background-size:cover;background-position:center 18%;
  }
  .hero-full-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(30,24,14,0.05) 0%, rgba(24,19,12,0.35) 45%, rgba(20,16,10,0.88) 100%);
  }
  .hero-full-conteudo{
    position:relative;max-width:720px;margin:0 auto;padding:0 24px 64px;
    min-height:88vh;display:flex;flex-direction:column;justify-content:flex-end;
    color:#F6ECD8;
  }
  .eyebrow{
    font-family:'Public Sans',sans-serif;font-size:0.78rem;font-weight:700;letter-spacing:0.08em;
    text-transform:uppercase;color:var(--selo);
  }
  .hero-full-titulo{
    font-size:clamp(2.1rem,4.2vw,3rem);line-height:1.14;margin-top:12px;color:#FBF3E2;
  }
  .hero-full-titulo .manuscrita{font-size:1.15em;color:#F0D9B0;}
  .hero-full-lead{margin-top:20px;font-size:1.05rem;color:#E6D9BE;max-width:60ch;}
  .pull-quote{
    margin:30px 0 0;padding:16px 24px;border-left:3px solid var(--selo);
    font-family:'Caveat',cursive;font-size:1.6rem;color:var(--caneta);line-height:1.3;
  }
  .pull-quote-claro{color:#FBF3E2;border-left-color:#E8A33D;}
  #pagina-caderno{padding-top:52px;}
  .pagina-original{
    display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:center;
  }
  .pagina-original img{
    border-radius:6px;box-shadow:0 14px 34px rgba(46,42,34,0.28);
    transform:rotate(-1.2deg);border:6px solid #fff;
  }
  .pagina-legenda{font-family:'Public Sans',sans-serif;font-size:0.82rem;color:var(--tinta-suave);margin-top:10px;}
  .pagina-original .texto{font-size:0.96rem;color:var(--tinta-suave);}

  section{max-width:1180px;margin:0 auto;padding:56px 24px;}
  .section-head{margin-bottom:32px;max-width:640px;}
  .section-head .eyebrow{color:var(--musgo);}
  .section-head h2{font-size:clamp(1.5rem,3vw,2rem);margin-top:8px;}
  .section-head p{color:var(--tinta-suave);margin-top:10px;font-family:'Public Sans',sans-serif;font-size:0.98rem;}

  /* Como as receitas chegam */
  .processo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
  .processo-card{
    background:rgba(255,255,255,0.35);border:1px solid var(--linha);border-radius:var(--radius);
    padding:20px;font-family:'Public Sans',sans-serif;
  }
  .processo-card h3{font-size:0.98rem;margin-bottom:8px;font-family:'Lora',serif;}
  .processo-card p{font-size:0.86rem;color:var(--tinta-suave);}

  /* Filtros + grid de receitas */
  .filtros-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
  .filtro-chip{
    font-family:'Public Sans',sans-serif;padding:7px 15px;border-radius:999px;border:1.5px solid var(--linha);
    background:rgba(255,255,255,0.4);font-size:0.83rem;font-weight:600;color:var(--tinta-suave);
  }
  .filtro-chip.ativo{background:var(--caneta);border-color:var(--caneta);color:var(--papel);}
  .busca-input{
    font-family:'Public Sans',sans-serif;padding:10px 16px;border-radius:999px;border:1.5px solid var(--linha);
    background:rgba(255,255,255,0.5);font-size:0.9rem;width:100%;max-width:320px;margin-bottom:24px;
  }

  .receitas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;}
  .receita-card{
    background:rgba(255,255,255,0.5);border:1px solid var(--linha);border-radius:var(--radius);
    padding:18px 20px;cursor:pointer;transition:transform .15s,box-shadow .15s;
    display:flex;flex-direction:column;gap:8px;
  }
  .receita-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(46,42,34,0.15);}
  .receita-cat{font-family:'Public Sans',sans-serif;font-size:0.7rem;font-weight:700;color:var(--musgo);text-transform:uppercase;letter-spacing:0.03em;}
  .receita-titulo{font-size:1.12rem;font-weight:600;line-height:1.3;}
  .receita-original{font-family:'Caveat',cursive;color:var(--caneta);font-size:1.05rem;margin-top:-4px;}
  .dita-por{font-family:'Public Sans',sans-serif;font-size:0.76rem;color:var(--tinta-suave);}
  .dita-por em{font-style:italic;}
  .status-badge{
    align-self:flex-start;font-family:'Public Sans',sans-serif;font-size:0.68rem;font-weight:700;
    padding:3px 10px;border-radius:999px;margin-top:auto;
  }
  .status-completa{background:#DCE7CE;color:#3B4A28;}
  .status-parcial{background:#F3E1B8;color:#6B4F14;}
  .status-mencao{background:transparent;border:1px dashed var(--linha);color:var(--tinta-suave);}
  .status-revisao_necessaria{background:#F0D3CB;color:#7f331f;}

  /* Newsletter / doação */
  .faixa-apoio{
    background:rgba(255,255,255,0.4);border-radius:20px;padding:44px;
    display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;
  }
  .faixa-apoio h2{font-size:1.5rem;}
  .faixa-apoio p{color:var(--tinta-suave);margin-top:10px;font-family:'Public Sans',sans-serif;font-size:0.95rem;}
  .form-inline{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;}
  .form-inline input{
    font-family:'Public Sans',sans-serif;flex:1;min-width:200px;padding:11px 16px;border-radius:999px;
    border:1.5px solid var(--linha);font-size:0.9rem;background:rgba(255,255,255,0.6);
  }
  .selo-pix{
    border:2px dashed var(--selo);border-radius:14px;padding:24px;text-align:center;
    font-family:'Public Sans',sans-serif;color:var(--tinta-suave);font-size:0.85rem;
  }
  .selo-pix strong{display:block;font-family:'Lora',serif;color:var(--tinta);font-size:1.05rem;margin-bottom:6px;}

  footer{background:var(--tinta);color:#D8CBAE;padding:44px 24px 26px;margin-top:20px;}
  .footer-inner{max-width:1180px;margin:0 auto;}
  .footer-nota{font-family:'Public Sans',sans-serif;font-size:0.82rem;color:#B7A987;max-width:680px;line-height:1.6;}
  .footer-links{display:flex;gap:20px;margin-top:16px;font-family:'Public Sans',sans-serif;font-size:0.85rem;}
  .footer-links a{color:#E8D8B0;text-decoration:none;font-weight:600;}
  .footer-links a:hover{text-decoration:underline;}
  .footer-bottom{margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,0.12);
    font-family:'Public Sans',sans-serif;font-size:0.76rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

  /* Modal */
  .modal-overlay{
    display:none;position:fixed;inset:0;background:rgba(46,42,34,0.55);
    z-index:100;align-items:flex-start;justify-content:center;padding:36px 18px;overflow-y:auto;
  }
  .modal-overlay.aberto{display:flex;}
  .modal{background:var(--papel);border-radius:16px;max-width:680px;width:100%;overflow:hidden;position:relative;}
  .modal-close{
    position:absolute;top:16px;right:16px;background:rgba(255,255,255,0.85);border:none;
    border-radius:999px;width:34px;height:34px;font-size:1.1rem;z-index:2;
  }
  .modal-content{padding:34px 32px 36px;}
  .modal-content .receita-cat{margin-bottom:6px;}
  .modal-titulos{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:6px;}
  .modal-titulos h2{font-size:1.5rem;}
  .toggle-original{
    font-family:'Public Sans',sans-serif;font-size:0.76rem;font-weight:700;color:var(--caneta);
    border:1px solid var(--caneta);border-radius:999px;padding:4px 12px;background:transparent;
  }
  .titulo-original-texto{font-family:'Caveat',cursive;color:var(--caneta);font-size:1.6rem;margin:4px 0 14px;display:none;}
  .titulo-original-texto.visivel{display:block;}
  .modal-meta{font-family:'Public Sans',sans-serif;font-size:0.82rem;color:var(--tinta-suave);margin-bottom:20px;}
  .modal-cols{display:grid;grid-template-columns:1fr 1.4fr;gap:26px;}
  .modal-cols h3{font-family:'Public Sans',sans-serif;font-size:0.85rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:var(--musgo);margin-bottom:10px;}
  .modal-cols ul,.modal-cols ol{padding-left:20px;font-size:0.92rem;}
  .modal-cols li{margin-bottom:7px;}
  .qtd{font-family:'Space Mono',monospace;font-weight:700;color:var(--caneta);}
  .obs-item{font-size:0.8rem;color:var(--tinta-suave);font-style:italic;}
  .vazio-mencao{font-family:'Public Sans',sans-serif;font-size:0.88rem;color:var(--tinta-suave);border:1px dashed var(--linha);border-radius:8px;padding:14px;}
  .obs-autora{
    margin-top:22px;padding:16px 20px;background:rgba(255,255,255,0.5);border-radius:10px;
    font-family:'Caveat',cursive;font-size:1.3rem;color:var(--caneta);border-left:3px solid var(--selo);
  }
  .relacionadas{margin-top:20px;display:flex;gap:8px;flex-wrap:wrap;}
  .relacionada-chip{
    font-family:'Public Sans',sans-serif;font-size:0.78rem;padding:5px 12px;border-radius:999px;
    background:rgba(255,255,255,0.5);border:1px solid var(--linha);
  }
  .modal-rodape{
    margin-top:22px;padding-top:16px;border-top:1px solid var(--linha);
    font-family:'Public Sans',sans-serif;font-size:0.74rem;color:var(--tinta-suave);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
  }
  .modal-secao-extra{margin-top:22px;}
  .modal-secao-extra h3{font-family:'Public Sans',sans-serif;font-size:0.85rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:var(--musgo);margin-bottom:10px;}
  .modal-secao-extra img{border-radius:8px;max-width:100%;border:5px solid #fff;box-shadow:0 10px 24px rgba(46,42,34,0.2);}
  .video-wrap{position:relative;padding-top:56.25%;border-radius:8px;overflow:hidden;}
  .video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

  /* E-books da família */
  .ebooks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
  .ebook-card{
    background:rgba(255,255,255,0.5);border:1px solid var(--linha);border-radius:var(--radius);
    padding:20px;display:flex;gap:16px;align-items:flex-start;
  }
  .ebook-capa{
    font-size:2.4rem;line-height:1;width:72px;height:72px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    background:var(--papel-forte);border-radius:10px;overflow:hidden;
  }
  .ebook-capa img{width:100%;height:100%;object-fit:cover;}
  .ebook-titulo{font-size:1.05rem;font-weight:600;}
  .ebook-autor{font-family:'Public Sans',sans-serif;font-size:0.78rem;color:var(--selo);font-weight:600;margin-top:2px;}
  .ebook-desc{font-family:'Public Sans',sans-serif;font-size:0.85rem;color:var(--tinta-suave);margin:8px 0 14px;}

  /* Avaliação em panelinhas */
  .avaliacao-panelinhas{display:flex;gap:8px;}
  .panelinha{
    font-size:1.7rem;cursor:pointer;opacity:0.32;filter:grayscale(60%);
    transition:opacity .15s, transform .1s;
  }
  .panelinha:hover{transform:scale(1.12);}
  .panelinha.selecionada{opacity:1;filter:none;}
  .avaliacao-resposta{
    margin-top:16px;font-family:'Public Sans',sans-serif;font-size:0.9rem;color:var(--tinta-suave);
  }
  .avaliacao-comemoracao{
    background:rgba(255,255,255,0.5);border-radius:10px;padding:16px 18px;
  }
  .campo-feedback{
    width:100%;min-height:80px;margin-top:10px;padding:10px 14px;border-radius:8px;
    border:1.5px solid var(--linha);font-family:'Public Sans',sans-serif;font-size:0.88rem;
    background:rgba(255,255,255,0.6);resize:vertical;
  }
  .erro-campo{color:var(--selo);font-size:0.78rem;margin-top:4px;font-family:'Public Sans',sans-serif;}
  .botoes-comemoracao{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}

  /* Comentários públicos */
  .comentario-item{
    border-bottom:1px solid var(--linha);padding:10px 0;font-family:'Public Sans',sans-serif;
  }
  .comentario-item strong{font-size:0.85rem;}
  .comentario-item p{font-size:0.86rem;color:var(--tinta-suave);margin:4px 0 0;}
  .form-comentario{margin-top:14px;}
  .campo-comentario-nome{
    width:100%;padding:9px 14px;border-radius:8px;border:1.5px solid var(--linha);
    font-family:'Public Sans',sans-serif;font-size:0.86rem;margin-bottom:8px;
    background:rgba(255,255,255,0.6);
  }

  /* Sistema de engajamento */
  .cta-flutuante{
    position:fixed;bottom:22px;right:22px;z-index:60;
    background:var(--selo);color:var(--papel);border:none;border-radius:999px;
    padding:14px 22px;font-family:'Public Sans',sans-serif;font-weight:700;font-size:0.92rem;
    box-shadow:0 10px 24px rgba(166,64,44,0.35);cursor:pointer;
    transition:opacity .2s, transform .2s;
  }
  .cta-flutuante.escondido{opacity:0;transform:translateY(16px);pointer-events:none;}

  .banner-engajamento{
    position:fixed;left:50%;bottom:24px;transform:translateX(-50%);
    max-width:440px;width:calc(100% - 32px);z-index:65;
    background:var(--papel);border:1px solid var(--linha);border-radius:14px;
    padding:20px 22px;box-shadow:0 16px 40px rgba(46,42,34,0.25);
    font-family:'Public Sans',sans-serif;font-size:0.9rem;
  }
  .banner-engajamento p{margin:0 0 14px;color:var(--tinta-suave);}
  .banner-fechar{
    position:absolute;top:10px;right:12px;background:none;border:none;
    font-size:1rem;color:var(--tinta-suave);
  }

  .termometro{margin-top:22px;max-width:420px;}
  .termometro-barra{
    height:10px;border-radius:999px;background:var(--papel-forte);overflow:hidden;
  }
  .termometro-progresso{
    height:100%;background:linear-gradient(90deg, var(--limao, #E8A33D), var(--selo));
    border-radius:999px;transition:width .5s ease;
  }
  .termometro-texto{font-size:0.8rem;color:var(--tinta-suave);margin-top:6px;}

  .btn-menu-mobile{display:none;background:none;border:none;font-size:1.5rem;color:var(--tinta);padding:4px 6px;}

  @media (max-width:820px){
    .btn-menu-mobile{display:block;}
    nav{
      display:none;
      position:absolute;top:100%;left:0;right:0;
      background:var(--papel);border-bottom:1px solid var(--linha);
      flex-direction:column;padding:8px 24px 16px;gap:2px;z-index:40;
      box-shadow:0 12px 20px rgba(46,42,34,0.08);
    }
    nav.nav-aberto{display:flex;}
    nav a{padding:12px 0;border-bottom:1px solid var(--linha);}
    nav a:last-child{border-bottom:none;}
    .header-inner{padding:14px 16px;}
    .hero-full{min-height:78vh;background-position:center 12%;}
    .hero-full-conteudo{min-height:78vh;padding:0 18px 48px;}
    .pagina-original{grid-template-columns:1fr;}
    #pagina-caderno{padding-top:36px;}
    .faixa-apoio{grid-template-columns:1fr;padding:26px 20px;}
    .modal-cols{grid-template-columns:1fr;}
    .modal-content{padding:24px 18px 30px;}
    .ebook-card{flex-direction:column;}
    section{padding:44px 18px;}
    .receitas-grid, .ebooks-grid{gap:14px;}
  }

  @media (max-width:480px){
    .logo span.sans{display:none;}
    .header-inner .btn{padding:8px 14px;font-size:0.78rem;}
    .hero-full-titulo{font-size:1.7rem;}
    .avaliacao-panelinhas .panelinha{font-size:1.5rem;}
    .filtros-bar{gap:8px;}
  }
