/* Ajustes sobre o HTML original para corresponder perfeitamente à captura enviada.
   As fontes oficiais e todos os SVGs/ícones do HTML original são preservados. */
:root {
  --bg-cream: #fffaf2;
  --oliva-escuro: #405c2e;
  --oliva-texto: #354b2b;
  --oliva-footer: #304522;
  --terracota: #d15e35;
  --texto-corpo: #26342b;
  --texto-suave: #667067;
  --borda: #eee8dd;
}
html { scroll-behavior: smooth; }
body { font-size: 14px; }
.container { max-width: 1100px; margin: 0 auto !important; padding-right: 42px; padding-left: 42px; }
.top-bar { min-height: 38px; padding: 9px 0; font-family: 'Caveat', cursive; font-size: 18px; font-weight: 600; }
.top-motto { gap: 8px; letter-spacing: .2px; }
.top-motto svg { width: 18px; height: 18px; }
.top-socials { gap: 14px; }
.top-socials svg { width: 17px; height: 17px; }

header { height: 132px; padding: 0; background: #fffdf8; }
.header-layout { height: 100%; }
.brand-wrap { gap: 14px; }
.logo-svg { width: 82px; height: 82px; }
.logo-title { font-family: 'Caveat', cursive; font-size: 62px; font-weight: 700; line-height: .82; letter-spacing: -1.8px; white-space: nowrap; }
.logo-title .w-sabor { color: #405b2e; }
.logo-title .w-que { margin: 0 1px; font-size: 44px; font-style: italic; font-weight: 600; }
.logo-title .w-cuida { color: #d15e35; }
.logo-slogan { margin-top: 7px; color: #603c25; font-size: 15px; font-weight: 500; white-space: nowrap; }
.header-right-col { gap: 22px; }
.search-box-pill { width: 250px; }
.search-box-pill input { padding: 7px 36px 7px 15px; background: #fff; font-size: 12px; }
nav ul { gap: 20px; flex-wrap: nowrap; }
nav a { font-size: 12.5px; font-weight: 600; color: #242921; white-space: nowrap; }

/* AJUSTES CABEÇALHO 1024px DESKTOP / TABLET (SEM QUEBRA DE LINHA) */
@media (max-width: 1080px) and (min-width: 701px) {
  .container { padding-right: 28px !important; padding-left: 28px !important; }
  .brand-wrap { gap: 12px; }
  .logo-svg { width: 70px; height: 70px; }
  .logo-title { font-size: 54px; letter-spacing: -1.2px; }
  .logo-title .w-que { font-size: 38px; }
  .logo-slogan { font-size: 13px; white-space: nowrap; margin-top: 4px; }
  .header-right-col { gap: 16px; }
  .search-box-pill { width: 220px; }
  nav ul { gap: 15px !important; flex-wrap: nowrap !important; }
  nav a { font-size: 12px !important; white-space: nowrap !important; }
}

/* 3. HERO DESKTOP: CONTAINER RELATIVO E CENTRALIZADO */
.hero-section { position: relative; height: 370px; overflow: hidden; padding: 0; background: #fffaf2; border: 0; }
.hero-section::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: '';
  pointer-events: none;
  background: linear-gradient(90deg, #fffaf2 0%, rgba(255,250,242,.98) 32%, rgba(255,250,242,.84) 43%, rgba(255,250,242,.12) 63%, transparent 75%);
}
.hero-section > .container {
  height: 100%;
  position: relative !important;
  margin: 0 auto !important;
}
.hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  width: 100%;
  height: 100%;
  grid-template-columns: 1fr;
  gap: 0;
}
.hero-left-content {
  position: relative;
  z-index: 2;
  align-self: center;
  width: 48%;
  margin-left: 0;
  padding: 0;
}
.hero-script-title { margin-bottom: 16px; font-family: 'Caveat', cursive; font-size: 46px; font-weight: 700; line-height: 1.02; }
.hero-description { max-width: 370px; margin-bottom: 17px; color: #354039; font-size: 16px; line-height: 1.52; }
.btn-explore-green { padding: 13px 29px; border-radius: 30px; background: #4a6733; font-size: 15px; box-shadow: none; }
.hero-doodle { color: #d15e35; font-size: 34px; }
.hero-photo-wrap {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  display: block;
  width: 58%;
  height: 100%;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.85) 12%, black 25%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.85) 12%, black 25%);
}
.hero-photo-wrap img { width: 100%; height: 100%; max-width: none; border-radius: 0; box-shadow: none; object-fit: cover; object-position: center 53%; }

/* 4. CATEGORIAS TOTALMENTE CENTRALIZADAS */
.categories-section { height: auto; min-height: 255px; padding: 39px 0 21px; background: #fffaf2; }
.categories-section > .container { margin: 0 auto !important; }
.categories-4-grid {
  height: auto;
  min-height: 195px;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px;
  justify-content: center !important;
}
.cat-box {
  position: relative;
  height: 195px;
  padding: 65px 14px 14px;
  border: 1px solid #f0eadf;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(45,39,33,.035);
  background: #fff;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
.cat-circle {
  position: absolute;
  top: -20px;
  left: 50%;
  width: 74px;
  height: 74px;
  margin: 0;
  border: 0;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.cat-circle svg { width: 38px; height: 38px; fill: none; stroke: #fff; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.cat-box h3 {
  margin: 0 0 6px;
  color: #26342b;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-align: center !important;
  width: 100% !important;
}
.cat-box p {
  margin-bottom: 8px;
  color: #3e453e;
  font-size: 13px;
  line-height: 1.45;
  text-align: center !important;
  width: 100% !important;
  flex: 1;
}
.cat-box .arrow-cta {
  font-size: 19px;
  text-align: center !important;
  margin: 0 auto !important;
  display: block !important;
  width: 100% !important;
}

/* 5. DESTAQUES CENTRALIZADOS */
.featured-section { padding: 10px 0 24px; background: #fffaf2; }
.featured-section > .container { margin: 0 auto !important; }
.featured-header { margin-bottom: 14px; display: flex; justify-content: space-between; align-items: center; }
.featured-title { gap: 11px; color: #31503a; font-family: 'Caveat', cursive; font-size: 36px; font-weight: 700; line-height: 1; }
.featured-title svg { width: 30px; height: 30px; }
.featured-title span { font-family: 'Caveat', cursive; font-size: 36px; font-weight: 700; }
.view-all-link { color: #26342b; font-size: 13px; font-weight: 600; }
.featured-4-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px;
  justify-content: center !important;
}
.card-post { height: 310px; border: 1px solid #eee8dd; border-radius: 7px; box-shadow: 0 2px 7px rgba(45,39,33,.04); background: #fff; }
.card-thumb { height: 128px; flex: 0 0 128px; }
.card-thumb img { object-fit: cover; }
.card-body { padding: 11px 14px 13px; }
.card-badge { margin-bottom: 8px; padding: 4px 8px; border-radius: 10px; font-size: 9px; letter-spacing: .35px; }
.card-title { margin-bottom: 6px; color: #26342b; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; font-weight: 700; line-height: 1.35; }
.card-excerpt { margin-bottom: 8px; color: #424940; font-size: 12.5px; line-height: 1.45; }
.card-link { color: #405c2e; font-size: 12px; font-weight: 700; }
.card-post:nth-child(2) .card-link { color: #d15e35; }
.card-post:nth-child(3) .card-link { color: #9e7457; }

/* 6. NEWSLETTER PANORÂMICA */
.newsletter-section {
  min-height: 140px;
  padding: 16px 0;
  color: white;
  background: url('news_panoramic_clean.jpg') no-repeat center right / cover !important;
  position: relative;
}
.newsletter-section > .container { margin: 0 auto !important; }
.news-right-tomatoes {
  display: none !important;
}
.newsletter-grid-wrap {
  min-height: 105px;
  grid-template-columns: 1fr 1.3fr !important;
  gap: 25px;
  align-items: center;
}
.news-left-text h3 { color: #fffaf2; font-size: 31px; line-height: 1.12; font-family: 'Caveat', cursive; }
.news-left-text .heart-underline { margin-top: 0; font-size: 28px; }
.news-input-pill { padding: 3px 4px 3px 14px; background: #fff; border-radius: 50px; display: flex; align-items: center; }
.news-input-pill input { font-size: 12px; border: none; outline: none; flex: 1; padding: 8px 10px; }
.news-input-pill button { padding: 10px 24px; font-size: 12.5px; border-radius: 40px; background: #405c2e; color: #fff; border: none; cursor: pointer; font-weight: 600; }
.news-disclaimer { margin-top: 6px; font-size: 11px; color: rgba(255,255,255,0.9); }

/* 7. FOOTER */
footer { padding: 22px 0 16px; background: #304522; }
footer > .container { margin: 0 auto !important; }
.footer-4-grid { grid-template-columns: 1.45fr .9fr 1fr .95fr; gap: 22px; margin-bottom: 7px; }
.footer-brand > div:first-child { gap: 12px !important; margin-bottom: 6px !important; }
.footer-brand > div:first-child svg { width: 56px !important; height: 56px !important; }
.footer-brand h2 { margin: 0; color: #fff; font-family: 'Caveat', cursive; font-size: 38px !important; font-weight: 700; white-space: nowrap; }
.footer-brand .w-que { color: #fff; font-size: 34px; }
.footer-brand p { color: #f2f1e8; font-size: 11px; }
.footer-col { min-width: 0; }
.footer-col:nth-child(2), .footer-col:nth-child(3), .footer-col:nth-child(4) { padding-left: 22px; border-left: 1px solid rgba(255,255,255,.14); }
.footer-col h4 { margin-bottom: 5px; font-size: 13px; }
.footer-col li { margin-bottom: 1px; }
.footer-col a { color: #f2f1e8; font-size: 11px; line-height: 1.45; }
.footer-social-row { gap: 7px; margin-bottom: 7px; }
.footer-social-row a { width: 23px; height: 23px; background: transparent; }
.footer-social-row svg { width: 17px; height: 17px; }
.footer-handwritten-note { font-size: 21px; }
.bottom-domain-strip { min-height: 62px; padding: 18px 0; border-top: 0; background: #fffaf2; font-size: 11px; }
.bottom-domain-strip > .container { margin: 0 auto !important; }
.bottom-brand-pill { font-size: 11px; }
.bottom-brand-pill svg { width: 20px; height: 20px; }
.bottom-nav-links { font-size: 10px; }

/* TABLET */
@media (max-width: 992px) {
  .container { padding-right: 28px; padding-left: 28px; margin: 0 auto !important; }
  .brand-wrap { margin-left: 0; }
  .logo-svg { width: 64px; height: 64px; }
  .logo-title { font-size: 48px; }
  .newsletter-grid-wrap { grid-template-columns: 1fr !important; }
  .news-left-text { padding-left: 0; }
}

/* MOBILE: PRIORIDADE MÁXIMA (VIEWPORT 390px / 700px) */
@media (max-width: 700px) {
  .container { padding-right: 18px !important; padding-left: 18px !important; margin: 0 auto !important; }
  .top-bar { min-height: 34px; padding: 7px 0; font-size: 14px; }
  .top-socials { gap: 8px; }
  header { height: auto !important; min-height: 115px; padding: 14px 0 !important; }
  .header-layout { align-items: flex-start !important; flex-direction: column !important; gap: 12px !important; }
  .brand-wrap { gap: 10px; margin-left: 0 !important; }
  .logo-svg { width: 56px !important; height: 56px !important; }
  .logo-title { font-size: 40px !important; }
  .logo-title .w-que { font-size: 32px !important; }
  .logo-slogan { margin-top: 4px; font-size: 11px !important; }
  .header-right-col { align-items: stretch !important; width: 100% !important; gap: 10px !important; }
  .search-box-pill { width: 100% !important; }
  nav { overflow-x: auto; width: 100%; padding-bottom: 5px; }
  nav ul { justify-content: flex-start; gap: 17px; white-space: nowrap; }
  nav a { font-size: 12px; }

  /* HERO MOBILE: VERTICAL FLOW, PHOTO FIRST, TEXT BELOW */
  .hero-section { height: auto !important; min-height: 0 !important; overflow: visible !important; background: #fffaf2 !important; }
  .hero-section::before { display: none !important; }
  .hero-grid { display: flex !important; flex-direction: column !important; min-height: 0 !important; padding: 0 !important; width: 100% !important; }
  .hero-photo-wrap {
    order: 0 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 574 / 368 !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  .hero-photo-wrap img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  .hero-left-content {
    order: 1 !important;
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 22px 16px 28px !important;
    text-align: center !important;
  }
  .hero-script-title { font-size: 34px !important; line-height: 1.1 !important; margin-bottom: 12px !important; }
  .hero-description { max-width: 100% !important; font-size: 14px !important; margin: 0 auto 16px !important; }
  .hero-left-content .hero-doodle { justify-content: center !important; margin: 12px auto 0 !important; }

  /* CATEGORIAS MOBILE */
  .categories-section { height: auto !important; padding: 30px 0 20px !important; }
  .categories-4-grid { height: auto !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 32px 12px !important; }
  .cat-box { height: 185px !important; padding: 48px 8px 12px !important; }
  .cat-circle { width: 60px !important; height: 60px !important; top: -18px !important; }
  .cat-circle svg { width: 32px !important; height: 32px !important; }
  .cat-box h3 { font-size: 13.5px !important; }
  .cat-box p { font-size: 11px !important; }

  /* DESTAQUES MOBILE */
  .featured-section { padding: 12px 0 22px !important; }
  .featured-header { margin-bottom: 12px !important; }
  .featured-title, .featured-title span { font-size: 28px !important; }
  .view-all-link { font-size: 11px !important; white-space: nowrap !important; }
  .featured-4-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 12px !important; }
  .card-post { height: 305px !important; }
  .card-thumb { height: 120px !important; flex-basis: 120px !important; }
  .card-body { padding: 10px !important; }
  .card-title { font-size: 12px !important; }
  .card-excerpt { font-size: 11px !important; }
  .card-badge { padding: 4px 6px !important; font-size: 8px !important; }

  /* NEWSLETTER MOBILE */
  .newsletter-section { padding: 22px 0 !important; height: auto !important; min-height: 0 !important; background-position: center right !important; }
  .newsletter-grid-wrap { grid-template-columns: 1fr !important; gap: 14px !important; text-align: center !important; }
  .news-left-text { padding-left: 0 !important; }
  .news-left-text h3 { font-size: 26px !important; }
  .news-input-pill button { padding-right: 14px !important; padding-left: 14px !important; }

  /* FOOTER MOBILE */
  footer { padding: 22px 0 15px !important; }
  .footer-4-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 20px 14px !important; }
  .footer-col:nth-child(2), .footer-col:nth-child(3), .footer-col:nth-child(4) { padding-left: 12px !important; }
  .footer-brand h2 { font-size: 28px !important; }
  .footer-brand .w-que { font-size: 25px !important; }
  .footer-brand > div:first-child svg { width: 42px !important; height: 42px !important; }
  .bottom-domain-inner { align-items: flex-start !important; flex-direction: column !important; }
}
