/* ==================================================================
   Variáveis
   ================================================================== */

:root{
  --orange:        #F47920;
  --orange-2:      #F0710F;
  --orange-dark:   #E1691A;
  --orange-deep:   #D65D14;
  --gold:          #FBB13C;
  --yellow:        #FFC800;
  --yellow-2:      #FFD200;
  --yellow-bright: #F5C518;
  --yellow-lime:   #ECD235;
  --brown:         #994C14;
  --brown-dark:    #84400F;
  --brown-line:    #A85E2A;
  --ink:           #1F1B18;
  --ink-soft:      #3a3330;
  --muted:         #6c6560;
  --card-gray:     #EFECE8;
  --cream:         #FDF4E8;
  --white:         #ffffff;
  --radius:        18px;
  --radius-lg:     26px;
  --shadow:        0 18px 40px -18px rgba(120,60,10,.35);
  --shadow-soft:   0 10px 30px -12px rgba(120,60,10,.25);
  --container:     1200px;
  --font:          'Poppins', 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
}

/* ==================================================================
   Base
   ================================================================== */

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--font);
  font-weight:400;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0; line-height:1.15; font-weight:800; letter-spacing:-.01em; }
p{ margin:0 0 1em; }
:focus-visible{ outline:3px solid var(--orange); outline-offset:2px; border-radius:6px; }
img[alt]{ font-size:.8rem; color:var(--muted); }

/* ==================================================================
   Utilitários
   ================================================================== */

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:24px; }
.hl-orange{ color:var(--orange); }
.section{ padding:84px 0; }
.section--tight{ padding:56px 0; }
.text-center{ text-align:center; }
.eyebrow{
  display:inline-block; font-weight:700; font-size:.82rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--orange);
}
.section-title{ font-size:clamp(1.7rem, 3.4vw, 2.4rem); }
.section-title + .section-sub{ margin-top:.5rem; }
.section-sub{ color:var(--muted); font-size:1rem; }
.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.block-orange{
  position:relative; overflow:hidden;
  background:linear-gradient(120deg, var(--orange-deep), var(--orange) 55%, var(--gold));
  color:#fff;
}
.block-orange::after{
  content:""; position:absolute; right:-10%; top:-30%;
  width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.12), rgba(255,255,255,0) 70%);
}
.section.product-showcase{ padding-bottom:64px; }
.section.home-about{ background:var(--cream); }
.split--about__cta{ margin-top:22px; }
.split{
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
}
.media-frame{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); }
.media-frame img{ width:100%; height:100%; object-fit:cover; }

/* ==================================================================
   Botões
   ================================================================== */

.btn{
  --btn-fg:#3a2a12;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  font-weight:700; font-size:.95rem;
  padding:.85em 1.8em; border:0; border-radius:999px;
  color:var(--btn-fg);
  background:linear-gradient(90deg, var(--gold), var(--yellow-2));
  box-shadow:0 12px 24px -12px rgba(210,140,20,.7);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.btn:hover{ transform:translateY(-2px); filter:brightness(1.04); box-shadow:0 16px 30px -12px rgba(210,140,20,.8); }
.btn:active{ transform:translateY(0); }
.btn--block{ display:flex; width:100%; }
.btn--orange{
  background:linear-gradient(90deg, var(--orange), var(--gold));
  color:#fff;
}
.btn--marca{
  background:var(--orange-deep); color:#fff;
  box-shadow:0 12px 26px -12px rgba(120,45,0,.6);
}
.btn--marca:hover{ background:var(--orange-2); }

/* ==================================================================
   Barra superior
   ================================================================== */

.topbar{
  background:var(--orange);
  color:#fff;
  font-size:.82rem;
}
.topbar .container{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; min-height:42px; padding-block:6px;
}
.topbar__social{ display:flex; gap:14px; }
.topbar__social a{ display:grid; place-items:center; opacity:.95; }
.topbar__social a:hover{ opacity:1; }
.topbar__social svg{ width:17px; height:17px; }
.topbar__info{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.topbar__info a{ display:inline-flex; align-items:center; gap:7px; opacity:.95; }
.topbar__info a:hover{ opacity:1; text-decoration:underline; }
.topbar__info svg{ width:15px; height:15px; }
@media (min-width:961px){
  .topbar .container,
  .site-header .container,
  .site-footer__top,
  .site-footer__bottom .container{ max-width:none; padding-inline:48px; }
  .site-header .container,
  .site-footer__top{ padding-left:110px; }
}

/* ==================================================================
   Cabeçalho e menu
   ================================================================== */

.site-header{
  position:sticky; top:0; z-index:100;
  background:#fff;
  box-shadow:0 4px 20px -14px rgba(0,0,0,.25);
}
.site-header .container{
  position:relative;
  display:flex; align-items:center; justify-content:space-between;
  min-height:96px; gap:24px;
}
@media (max-width:960px){
  .site-header .container{ padding-left:28px; }
  .site-footer .site-footer__top{ padding-left:30px; }
}
.logo{ display:inline-flex; align-items:center; max-width:100%; }
.logo img{ width:130px; max-width:100%; height:auto; display:block; }
.logo svg{ width:118px; height:auto; display:block; }
.nav{ display:flex; align-items:center; gap:34px; }
.nav a{
  font-weight:500; font-size:.98rem; color:var(--ink-soft);
  padding:6px 2px; position:relative; transition:color .15s ease;
}
.nav a:hover{ color:var(--orange); }
.nav a.is-active{ color:var(--orange); font-weight:700; }
.nav a.is-active::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:3px;
  background:var(--orange); border-radius:3px;
}
.nav-dropdown{ position:relative; }
.nav-dropdown__toggle{
  display:inline-flex; align-items:center; gap:6px; background:none; border:0; cursor:pointer;
  font-family:inherit; font-weight:500; font-size:.98rem; color:var(--ink-soft);
  padding:6px 2px; transition:color .15s ease;
}
.nav-dropdown__toggle:hover{ color:var(--orange); }
.nav-dropdown__toggle svg{ width:10px; height:7px; flex:none; transition:transform .18s ease; }
.nav-dropdown.is-active > .nav-dropdown__toggle{ color:var(--orange); font-weight:700; }
.nav-dropdown:hover > .nav-dropdown__toggle svg,
.nav-dropdown.is-open > .nav-dropdown__toggle svg{ transform:rotate(180deg); }
.nav-dropdown__menu{
  position:absolute; top:100%; left:50%; min-width:220px; margin-top:14px;
  background:#fff; border-radius:14px; padding:8px; box-shadow:var(--shadow);
  display:flex; flex-direction:column; gap:2px;
  opacity:0; visibility:hidden; transform:translate(-50%,6px); transition:opacity .15s ease, transform .15s ease; z-index:60;
}
.nav-dropdown:hover .nav-dropdown__menu,
.nav-dropdown:focus-within .nav-dropdown__menu,
.nav-dropdown.is-open .nav-dropdown__menu{
  opacity:1; visibility:visible; transform:translate(-50%,0);
}
.nav-dropdown__menu a{
  padding:10px 14px; border-radius:9px; font-size:.9rem; color:var(--ink-soft); font-weight:500; white-space:nowrap;
}
.nav-dropdown__menu a:hover,
.nav-dropdown__menu a.is-active{ background:#FCEEDF; color:var(--orange); }
@media (prefers-reduced-motion:reduce){
  .nav-toggle span, .nav, .nav > *{ transition:none !important; }
}
/* Com o menu do celular aberto, a página por trás não rola */
body.menu-aberto{ overflow:hidden; }

/* Botão do menu (celular): três linhas de tamanhos diferentes que viram um X branco num círculo laranja */
.nav-toggle{
  display:none; position:relative; width:46px; height:46px; border:0; padding:0;
  background:transparent; border-radius:50%; cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:background-color .3s ease, box-shadow .3s ease, transform .15s ease;
}
.nav-toggle:active{ transform:scale(.92); }
.nav-toggle span{
  position:absolute; right:10px; height:3px; border-radius:3px; background:var(--ink);
  transition:top .3s cubic-bezier(.68,-.55,.27,1.55), transform .35s cubic-bezier(.68,-.55,.27,1.55) .05s,
             width .3s ease, opacity .2s ease, background-color .3s ease, right .3s ease;
}
.nav-toggle span:nth-child(1){ top:14px; width:26px; }
.nav-toggle span:nth-child(2){ top:21.5px; width:19px; background:var(--orange); }
.nav-toggle span:nth-child(3){ top:29px; width:12px; }
.nav-toggle:hover span{ width:26px; }
.nav-toggle[aria-expanded="true"]{
  background:linear-gradient(135deg, var(--orange-deep), var(--orange) 60%, var(--gold));
  box-shadow:0 8px 18px -6px rgba(214,93,20,.6);
}
.nav-toggle[aria-expanded="true"] span{ right:11px; width:24px; background:#fff; top:21.5px; }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; transform:translateX(10px); }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:rotate(-45deg); }

/* ==================================================================
   Início
   ================================================================== */

.home-hero{ display:block; line-height:0; background:var(--orange); }
.hero-baked{ display:block; width:100%; height:auto; }
.home-slider{ position:relative; overflow:hidden; background:var(--orange); line-height:0; }
.home-slider__track{ display:flex; transition:transform .7s cubic-bezier(.65,0,.35,1); will-change:transform; }
.home-slider__track.is-instant{ transition:none; }
.home-slider__slide{ flex:0 0 100%; min-width:100%; }
.home-slider__slide a{ display:block; }
.home-slider__slide img{ display:block; width:100%; height:auto; aspect-ratio:1920/1078; object-fit:cover; }
.home-slider__dots{
  position:absolute; left:50%; bottom:18px; transform:translateX(-50%);
  display:flex; gap:10px; line-height:normal; z-index:2;
}
.home-slider__dot{
  display:grid; place-items:center; min-width:24px; height:40px; padding:0 2px;
  border:0; background:none; cursor:pointer;
}
.home-slider__dot::before{
  content:""; display:block; width:11px; height:11px; border-radius:999px;
  background:rgba(255,255,255,.55); box-shadow:0 2px 6px rgba(0,0,0,.25);
  transition:width .3s ease, background .3s ease;
}
.home-slider__dot.is-active::before{ width:30px; background:#fff; }
.home-slider__dot:focus-visible{ outline:2px solid #fff; outline-offset:-6px; border-radius:999px; }
@media (max-width:600px){
  .home-slider__dots{ bottom:0; gap:2px; }
  .home-slider__dot::before{ width:8px; height:8px; }
  .home-slider__dot.is-active::before{ width:20px; }
}
.home-hero--marca{ position:relative; background:#FDB515; }
.home-hero--marca .home-hero__cta{ position:absolute; left:15.6%; top:84.5%; line-height:normal; }
.home-hero--marca .btn{ font-size:clamp(.78rem, 1.05vw, .95rem); }
@media (max-width:760px){
  .home-hero--marca .home-hero__cta{ position:static; padding:4px 16px 26px; text-align:center; }
  .home-hero--marca .btn{ font-size:.88rem; padding:.8em 1.6em; width:auto; }
}
.product-showcase .section-sub{ max-width:56ch; margin-inline:auto; }
.product-showcase__cta{ margin-top:40px; }
.showcase-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:26px; margin-top:40px;
  transition:opacity .4s ease, transform .4s ease;
}
.showcase-grid.is-fading{ opacity:0; transform:translateY(8px); }
.showcase-card{
  display:flex; flex-direction:column; align-items:center; text-align:center;
  background:#fff; border-radius:var(--radius); padding:22px 18px; box-shadow:var(--shadow-soft);
  transition:transform .2s ease, box-shadow .2s ease;
}
.showcase-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.showcase-card__media{
  position:relative;
  width:100%; aspect-ratio:1; border-radius:14px; background:#F6E9B9;
  display:flex; align-items:center; justify-content:center; margin-bottom:16px; overflow:hidden;
}
.showcase-card__media img{ max-width:74%; max-height:74%; filter:drop-shadow(0 10px 14px rgba(120,70,10,.22)); }
.showcase-card__title{ font-size:.9rem; font-weight:700; color:var(--ink); line-height:1.3; }
@media (max-width:900px){
  .showcase-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  .showcase-grid{ grid-template-columns:1fr 1fr; gap:16px; }
  .showcase-card{ padding:16px 12px; }
}
@media (prefers-reduced-motion:reduce){
  .showcase-grid{ transition:none; }
}

.presence{ background:#fff; padding:82px 0 0; position:relative; z-index:2; }
.icon-cards{
  display:grid; grid-template-columns:repeat(4,1fr); gap:22px;
  margin-top:34px; transform:translateY(44px); position:relative; z-index:3;
}
.icon-card{
  background:#F6E9B9;
  border-radius:16px; padding:22px 16px 18px; text-align:center;
  color:var(--ink); font-weight:600; font-size:.98rem;
  box-shadow:0 16px 30px -16px rgba(120,70,10,.45);
  transition:transform .22s ease, box-shadow .22s ease;
}
.icon-card:hover{ transform:translateY(-6px); box-shadow:0 22px 38px -16px rgba(120,70,10,.55); }
.icon-card__box{
  width:68px; height:68px; margin:0 auto 12px;
  background:#fff; border-radius:15px; display:grid; place-items:center;
  transition:transform .25s ease;
}
.icon-card:hover .icon-card__box{ transform:scale(1.08) rotate(-4deg); }
.icon-card__box img{ width:38px; height:38px; object-fit:contain; }
.icon-card__box svg{ width:36px; height:36px; color:var(--orange); }
.revendedor{ position:relative; background:#FF7402; overflow:hidden; }
.revendedor__inner{
  display:flex; flex-direction:column; align-items:center;
  padding-top:84px; padding-bottom:64px;
}
.revendedor__media{ width:100%; max-width:560px; }
.revendedor__media img{
  display:block; width:100%; height:auto;
  -webkit-mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
          mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}
.revendedor__card{
  background:#fff; color:var(--ink); border-radius:24px;
  padding:clamp(26px, 3vw, 46px);
  text-align:center;
  position:relative; width:100%; max-width:660px; margin-top:-4px;
  box-shadow:0 30px 60px -26px rgba(90,40,0,.5);
}
.revendedor__card h3{ font-size:clamp(1.5rem,2.8vw,2.15rem); margin-bottom:10px; }
.revendedor__card p{ color:var(--muted); margin-bottom:18px; }
.instagram-feed{ padding-bottom:64px; }
.section.home-recipes{ background:var(--cream); }
.home-recipes__cta{ margin:40px 0 0; }
.instagram-feed__widget{ margin-top:30px; min-height:120px; }
.recipe-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:34px; }
.recipe-card{
  display:flex; flex-direction:column; background:#fff; border-radius:var(--radius-lg);
  overflow:hidden; box-shadow:var(--shadow-soft); transition:transform .2s ease, box-shadow .2s ease;
}
.recipe-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.recipe-card__media{ aspect-ratio:16/11; overflow:hidden; }
.recipe-card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.recipe-card:hover .recipe-card__media img{ transform:scale(1.06); }
.recipe-card__body{ padding:20px 22px 24px; display:flex; flex-direction:column; gap:14px; flex:1; }
.recipe-card h3{ font-size:1.05rem; color:var(--ink); line-height:1.35; margin:0; }
.recipe-card__cta{
  display:inline-flex; align-items:center; gap:8px; margin-top:auto;
  color:var(--orange); font-weight:800; font-size:.84rem; text-transform:uppercase; letter-spacing:.04em;
}
.recipe-card__cta svg{ width:16px; height:16px; transition:transform .18s ease; }
.recipe-card:hover .recipe-card__cta svg{ transform:translateX(4px); }

/* ==================================================================
   Nossa história
   ================================================================== */

.timeline{ margin-top:40px; }
.timeline__viewport{
  overflow:hidden; position:relative; padding-top:34px;
}
.timeline__viewport::before{
  content:""; position:absolute; left:0; right:0; top:9px; height:3px; background:var(--ink);
}
.timeline__track{
  display:flex; gap:24px; width:max-content;
  animation:timeline-scroll 90s linear infinite;
}
.timeline__viewport:hover .timeline__track{ animation-play-state:paused; }
@keyframes timeline-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.timeline__node{ position:relative; flex:0 0 260px; width:260px; }
.timeline__node::before{
  content:""; position:absolute; top:-34px; left:calc(50% - 9px);
  width:18px; height:18px; border-radius:50%; background:var(--ink);
}
.timeline__card{
  background:var(--card-gray); border-radius:14px; padding:16px; text-align:center; height:100%;
}
.timeline__year{ font-weight:800; color:var(--orange); }
.timeline__img{
  margin:10px 0; border-radius:10px; aspect-ratio:16/10; overflow:hidden;
  background:#ddd8d2;
}
.timeline__img img{ width:100%; height:100%; object-fit:cover; }
.timeline__img--icon{
  display:grid; place-items:center;
  background:radial-gradient(circle at 50% 50%, #FFF3E2 0%, #F9E6CF 100%);
}
.timeline__icon{
  width:78px; height:78px; border-radius:50%;
  display:grid; place-items:center; color:#fff;
  background:linear-gradient(135deg, var(--orange), var(--gold));
  box-shadow:0 12px 24px -12px rgba(214,93,20,.75);
}
.timeline__icon svg{ width:38px; height:38px; }
.timeline__card b{ display:block; margin-bottom:6px; }
.timeline__card p{ font-size:.85rem; color:var(--muted); margin:0; }
@media (prefers-reduced-motion:reduce){
  .timeline__track{ animation:none; }
}
@media (max-width:600px){
  .timeline__node{ flex:0 0 225px; width:225px; }
  .timeline__card{ padding:14px; }
}
.mvv{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:34px; }
.mvv__card{
  background:#fff; color:var(--ink); border-radius:var(--radius); padding:36px 30px;
  box-shadow:var(--shadow); text-align:center; display:flex; flex-direction:column; align-items:center;
  opacity:0; transform:translateY(26px);
  transition:opacity .6s ease, transform .6s ease, box-shadow .25s ease;
}
.mvv__card.is-visible{ opacity:1; transform:translateY(0); }
.mvv__card.is-visible:hover{ transform:translateY(-6px); box-shadow:0 26px 46px -18px rgba(120,60,10,.35); }
.mvv__card:nth-child(2){ transition-delay:.12s; }
.mvv__card:nth-child(3){ transition-delay:.24s; }
.mvv__icon{
  width:64px; height:64px; border-radius:50%; flex:none;
  background:linear-gradient(180deg, var(--gold), var(--orange)); color:#fff;
  display:grid; place-items:center; margin-bottom:18px;
  box-shadow:0 12px 20px -10px rgba(214,93,20,.6); transition:transform .3s ease;
}
.mvv__card:hover .mvv__icon{ transform:scale(1.1) rotate(-6deg); }
.mvv__icon svg{ width:28px; height:28px; }
.mvv__card h3{ font-size:1.3rem; margin-bottom:12px; }
.mvv__card p{ font-size:.92rem; color:var(--ink-soft); }
.mvv__card p:last-child{ margin-bottom:0; }
@media (prefers-reduced-motion:reduce){
  .mvv__card{ opacity:1; transform:none; transition:none; }
}
.where{ display:grid; grid-template-columns:1fr 1.1fr; gap:48px; align-items:center; margin-top:34px; }
.where__map{ position:relative; }
.where__svg{ width:100%; height:auto; display:block; overflow:visible; }
.where__state{ fill:#F3E7DB; stroke:#fff; stroke-width:1.6; stroke-linejoin:round; transition:fill .2s ease; }
.where__state.is-present{ fill:var(--orange); stroke:rgba(255,255,255,.45); }
.where__state.is-present:hover{ fill:var(--orange-dark); }
.where__label{
  font-family:'Poppins',sans-serif; font-weight:700; font-size:9px; fill:#a89a8b;
  pointer-events:none; paint-order:stroke; stroke:#fff; stroke-width:2px; stroke-linejoin:round;
}
.where__label.is-present{ fill:#fff; stroke:rgba(0,0,0,.18); font-size:10px; }
@keyframes where-pulse{ 0%{ transform:scale(1); opacity:.35; } 100%{ transform:scale(2.6); opacity:0; } }
.where__pin{ cursor:pointer; }
.where__pin-pulse{
  fill:var(--orange-2); opacity:.4; transform-box:fill-box; transform-origin:center;
  animation:where-pulse 2.2s ease-out infinite;
}
.where__pin-drop{ fill:var(--orange-2); filter:drop-shadow(0 2px 3px rgba(120,70,10,.5)); }
.where__pin-drop-hole{ fill:#fff; }
.where__pin-icon{ transition:transform .2s ease; transform-box:fill-box; transform-origin:bottom center; }
.where__pin:hover .where__pin-icon, .where__pin:focus-visible .where__pin-icon{ transform:translateY(-3px) scale(1.18); }
.where__pin:focus-visible{ outline:none; }
.where__legend h2{ margin-bottom:10px; }
.where__legend > p{ margin-bottom:0; }
.where__list{ list-style:none; padding:0; margin:22px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.where__list li{ display:flex; align-items:center; gap:12px; background:#fff; border-radius:14px; padding:12px 14px; box-shadow:var(--shadow-soft); }
@media (max-width:480px){ .where__list{ grid-template-columns:1fr; } }
.where__badge{ flex:none; width:34px; height:34px; border-radius:50%; background:var(--orange); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.8rem; }
.where__list b{ display:block; font-size:.95rem; }
.where__list span{ font-size:.82rem; color:var(--muted); }
.where__list .where__badge{ color:#fff; font-size:.8rem; }
.where__stats{ display:flex; justify-content:center; gap:28px; margin-top:26px; }
.where__stats div{ text-align:left; }
.where__stats strong{ display:block; font-size:1.8rem; color:var(--orange); line-height:1; }
.where__stats span{ font-size:.8rem; color:var(--muted); }
@media (max-width:900px){
  .where{ grid-template-columns:1fr; }
  .where__stats{ justify-content:flex-start; gap:40px; padding-left:18px; }
}
.nh-hero.nh-hero--foto{
  min-height:0; aspect-ratio:1920/523;
  background:#B5520F url('../img/banners/nossa-historia.jpg') center / cover no-repeat;
}
.nh-hero--foto::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse 55% 70% at 50% 52%, rgba(70,25,0,.38), rgba(70,25,0,0) 75%);
}
.nh-hero--foto h1, .nh-hero--foto p{ text-shadow:0 2px 14px rgba(60,20,0,.45); }
@media (max-width:900px){
  .nh-hero.nh-hero--foto{ aspect-ratio:auto; min-height:300px; }
}
.nh-hero{
  position:relative; min-height:320px; display:grid; place-items:center;
  text-align:center; color:#fff; overflow:hidden;
  background:var(--orange);
}
.nh-hero .container{ position:relative; z-index:2; padding-block:60px; }
.nh-hero h1{ font-size:clamp(1.7rem,3.6vw,2.6rem); }
.nh-hero p{ margin-top:14px; max-width:64ch; margin-inline:auto; font-size:1.02rem; color:rgba(255,255,255,.95); }
@media (max-width:600px){
  .nh-hero{ min-height:0; }
  .nh-hero .container{ padding-block:44px; }
}

/* ==================================================================
   Produtos
   ================================================================== */

.filterbar{
  position:relative; z-index:5; margin-top:-30px;
}
.filterbar .container{ display:flex; gap:14px; flex-wrap:wrap; }
.filter-tab{
  border:0; border-radius:12px; padding:.7em 1.4em;
  font-weight:600; font-size:.9rem; color:#5a3c12;
  background:linear-gradient(180deg, var(--yellow-2), var(--gold));
  box-shadow:var(--shadow-soft);
}
.filter-tab.is-active{ background:linear-gradient(180deg, var(--orange), var(--orange-dark)); color:#fff; }
.product-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:26px; margin-top:34px;
}
.product-card{
  display:flex; flex-direction:column; border-radius:var(--radius);
  overflow:hidden; background:#fff;
  box-shadow:var(--shadow-soft); text-align:center;
  transition:transform .18s ease, box-shadow .18s ease;
}
.product-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.selo-lancamento{
  position:absolute; top:14px; left:14px; z-index:2;
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 13px 7px 10px; border-radius:999px;
  background:linear-gradient(135deg, #E5251B, var(--orange-deep) 60%, var(--orange));
  color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; line-height:1;
  box-shadow:0 8px 18px -8px rgba(200,40,20,.75), inset 0 0 0 1.5px rgba(255,255,255,.35);
  animation:selo-brilho 2.4s ease-in-out infinite;
}
.selo-lancamento svg{ width:13px; height:13px; color:var(--yellow); }
@keyframes selo-brilho{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.06); } }
@media (prefers-reduced-motion:reduce){ .selo-lancamento{ animation:none; } }
.showcase-card__media .selo-lancamento{ top:10px; left:10px; font-size:.62rem; padding:6px 10px 6px 8px; }
.pd-photo .selo-lancamento{ top:18px; left:18px; font-size:.8rem; padding:9px 16px 9px 12px; }
.product-card__media{
  position:relative;
  background:#F6E9B9; display:flex; align-items:center; justify-content:center;
  padding:20px 16px; min-height:340px;
}
.product-card__media img{
  width:auto; max-width:92%; max-height:300px; height:auto;
  filter:drop-shadow(0 16px 18px rgba(120,70,10,.22));
}
.product-card__body{
  padding:20px 20px 24px; color:var(--ink); display:flex; flex-direction:column; gap:10px; flex:1;
  border-top:1px solid #F3E7D4;
}
.product-card__title{ font-size:1.02rem; font-weight:700; color:var(--ink); }
.product-card .btn{ align-self:center; padding:.55em 1.5em; font-size:.82rem; }
.catalog{ display:grid; grid-template-columns:210px 1fr; gap:40px; align-items:start; }
.catalog--no-side{ grid-template-columns:1fr; }
.catalog__toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  flex-wrap:wrap; margin-bottom:24px; padding-bottom:18px; border-bottom:1px solid #F0E4D8;
}
.catalog__count{ font-size:.85rem; color:var(--muted); font-weight:600; }
.catalog__search{ position:relative; width:100%; max-width:260px; margin-left:auto; }
.catalog__search svg{ position:absolute; left:12px; top:50%; transform:translateY(-50%); width:15px; height:15px; color:var(--muted); pointer-events:none; }
.catalog__search input{
  width:100%; padding:9px 12px 9px 36px; border:1.5px solid #ECE3D9; border-radius:20px;
  font-size:.85rem; font-family:inherit; color:var(--ink); background:#fff; box-sizing:border-box;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.catalog__search input:focus{ outline:none; border-color:var(--orange); box-shadow:0 0 0 3px rgba(244,121,32,.12); }
.catalog__side{ padding-top:8px; }
.catalog__side[hidden]{ display:none; }
.catalog__side h3{ font-size:1.1rem; margin-bottom:14px; }
.catalog__side ul li{ margin:6px 0; }
.catalog__side button{
  background:none; border:0; padding:4px 0; color:var(--ink-soft); font-size:.95rem;
}
.catalog__side button:hover,
.catalog__side button.is-active{ color:var(--orange); font-weight:700; }
.catalog .product-grid{ margin-top:0; }
.catalog__empty{ padding:40px 0; color:var(--muted); }
.cta-block{
  position:relative; overflow:hidden;
  background:linear-gradient(135deg, var(--orange-deep), var(--orange) 55%, var(--gold));
  color:#fff; border-radius:var(--radius-lg); padding:64px 56px; text-align:center;
  box-shadow:var(--shadow); max-width:820px; margin-inline:auto;
}
.catalog__cta{ margin-top:64px; }
.cta-block::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.16) 1.5px, transparent 1.5px);
  background-size:22px 22px; opacity:.6;
}
.cta-block__glow{
  position:absolute; width:340px; height:340px; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(255,255,255,.28), transparent 70%);
  top:-150px; right:-90px;
}
.cta-block__glow--2{ top:auto; right:auto; bottom:-160px; left:-100px; width:280px; height:280px; }
.cta-block__badge{
  position:relative; display:inline-flex; width:64px; height:64px; border-radius:50%;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.32);
  align-items:center; justify-content:center; margin-bottom:20px;
  animation:cta-float 3s ease-in-out infinite;
}
.cta-block__badge svg{ width:30px; height:30px; }
@keyframes cta-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-7px); } }
.cta-block h2{ position:relative; font-size:clamp(1.7rem,3.2vw,2.4rem); margin-bottom:14px; }
.cta-block p{ position:relative; max-width:56ch; margin:0 auto 26px; color:rgba(255,255,255,.94); font-size:1.02rem; }
.cta-block__trust{
  position:relative; display:flex; flex-wrap:wrap; justify-content:center; gap:24px;
  margin-bottom:30px; font-size:.85rem; font-weight:600; color:rgba(255,255,255,.95);
}
.cta-block__trust span{ display:inline-flex; align-items:center; gap:8px; }
.cta-block__trust svg{ width:18px; height:18px; flex:none; }
.cta-block__btn{
  position:relative; display:inline-flex; align-items:center; gap:10px;
  background:#fff; color:var(--orange-deep); font-weight:800;
  box-shadow:0 16px 32px -14px rgba(0,0,0,.45);
}
.cta-block__btn:hover{ filter:brightness(.97); transform:translateY(-3px); }
.cta-block__btn svg{ width:20px; height:20px; }
@media (prefers-reduced-motion:reduce){
  .cta-block__badge{ animation:none; }
}

/* ==================================================================
   Produto
   ================================================================== */

.page-banner{
  height:clamp(150px, 24vw, 340px); background-size:cover; background-position:center;
}
.product-detail{ display:grid; grid-template-columns:1.65fr .8fr; gap:56px; align-items:start; padding-block:70px; }
.product-detail__title{ font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:26px; }
.pd-showcase{
  display:grid; grid-template-columns:400px 1fr; gap:32px; align-items:stretch;
  background:#fff; border:1px solid #F0E4D8; border-radius:var(--radius-lg);
  padding:32px; box-shadow:var(--shadow-soft); margin-top:8px;
}
.pd-photo{
  position:relative; background:#F6E9B9;
  border-radius:var(--radius); padding:22px 22px 76px; min-height:480px;
  display:flex; align-items:center; justify-content:center;
}
.pd-photo img{
  width:auto; max-width:100%; max-height:410px; height:auto;
  filter:drop-shadow(0 18px 22px rgba(120,70,10,.3));
  transition:transform .25s ease;
}
.pd-photo:hover img{ transform:scale(1.04) rotate(-1deg); }
.pd-photo__download{
  position:absolute; right:16px; bottom:16px; display:inline-flex; align-items:center; gap:8px;
  background:#fff; color:var(--orange); font-weight:700; font-size:.86rem;
  padding:.65em 1.2em .65em .9em; border-radius:999px;
  border:2px solid #F0E4D8; box-shadow:0 10px 20px -8px rgba(120,70,10,.4);
  transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
.pd-photo__download:hover{ background:var(--orange); border-color:var(--orange); color:#fff; transform:translateY(-2px); }
.pd-photo__download svg{ width:20px; height:20px; flex:none; }
.pd-showcase__info{ display:flex; flex-direction:column; min-width:0; }
.pd-lede{ color:var(--orange); font-weight:700; font-size:1.08rem; margin-bottom:12px; }
.pd-desc p{ color:var(--ink-soft); font-size:.95rem; line-height:1.65; margin-bottom:10px; }
.pd-desc p:last-child{ margin-bottom:0; }
.pd-sizes{ margin-top:20px; }
.pd-sizes__label{
  display:flex; align-items:center; gap:8px; margin-bottom:10px;
  color:var(--orange-2); font-weight:700; font-size:.86rem;
}
.pd-sizes__label svg{ width:18px; height:18px; flex:none; }
.pd-sizes__chips{ display:flex; flex-wrap:wrap; gap:10px; }
.pd-sizes__chip{
  background:#FCEEDF; color:var(--orange-2);
  font-weight:700; font-size:.9rem; padding:.55em 1.2em; border-radius:10px;
}
.pd-sizes__chip--download{
  display:inline-flex; align-items:center; gap:7px; cursor:pointer;
  transition:background .15s ease, color .15s ease, transform .15s ease;
}
.pd-sizes__chip--download svg{ width:15px; height:15px; flex:none; }
.pd-sizes__chip--download:hover{ background:var(--orange); color:#fff; transform:translateY(-2px); }
.related{ margin-top:40px; }
.related h2{ font-size:1.5rem; margin-bottom:18px; }
.related__item{
  display:flex; align-items:center; gap:14px;
  background:#fff; border:1px solid #F0E4D8; border-radius:16px; padding:14px;
  margin-bottom:14px; box-shadow:var(--shadow-soft);
  transition:transform .15s ease, border-color .15s ease;
}
.related__item:hover{ transform:translateY(-3px); border-color:var(--orange); }
.related__item-media{
  width:112px; height:112px; border-radius:12px; background:#F6E9B9; flex:none;
  display:grid; place-items:center; overflow:hidden;
}
.related__item-media img{
  max-width:86%; max-height:86%;
  filter:drop-shadow(0 8px 10px rgba(120,70,10,.25));
}
.related__item-media--foto{ background:none; }
.related__item-media--foto img{
  width:100%; height:100%; max-width:none; max-height:none;
  object-fit:cover; filter:none;
}
.related__more{
  display:flex; align-items:center; gap:14px; margin-top:6px;
  background:linear-gradient(120deg, var(--orange-deep), var(--orange));
  color:#fff; border-radius:16px; padding:16px 18px;
  box-shadow:0 16px 30px -16px rgba(120,70,10,.5);
  transition:transform .15s ease, box-shadow .15s ease;
}
.related__more:hover{ transform:translateY(-3px); box-shadow:0 20px 36px -16px rgba(120,70,10,.6); }
.related__more-icon{
  width:40px; height:40px; border-radius:50%; flex:none;
  background:rgba(255,255,255,.18); display:grid; place-items:center;
}
.related__more-text{ display:flex; flex-direction:column; gap:2px; flex:1; min-width:0; }
.related__more-text strong{ font-size:.92rem; }
.related__more-text small{ font-size:.78rem; opacity:.9; }
.related__more-arrow{ width:18px; height:18px; flex:none; transition:transform .15s ease; }
.related__more:hover .related__more-arrow{ transform:translateX(3px); }
.related__item-body{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1; }
.related__item-brand{ font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--orange); }
.related__item-name{ font-size:.9rem; font-weight:700; color:var(--ink); line-height:1.3; }
.related__item-arrow{ width:18px; height:18px; flex:none; color:var(--muted); }

/* ==================================================================
   Marca própria
   ================================================================== */

.marca-hero{
  position:relative; color:#fff; background:#F7920F;
  background-image:url('../img/banners/marca-propria.jpg');
  background-size:cover; background-position:center;
}
.marca-hero .container{
  position:relative; z-index:2; min-height:460px;
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  padding-block:70px;
}
.marca-hero .hero__title{ font-size:clamp(2.1rem,4.4vw,3.3rem); font-weight:800; line-height:1.08; }
.marca-hero .hero__text{ margin-top:16px; max-width:40ch; font-size:1.02rem; color:rgba(255,255,255,.95); }
.marca-hero .hero__actions{ margin-top:26px; }
.hero__title{
  font-size:clamp(2.3rem, 5vw, 3.6rem);
  font-weight:800; line-height:1.08;
}
.hero__text{ margin-top:18px; font-size:1.05rem; max-width:46ch; color:rgba(255,255,255,.94); }
.hero__actions{ margin-top:30px; display:flex; gap:14px; flex-wrap:wrap; }
.feature-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; }
.feature-card{
  background:var(--orange); color:#fff; border-radius:var(--radius);
  padding:34px 26px; text-align:center; box-shadow:var(--shadow);
  transition:transform .18s ease, box-shadow .18s ease;
}
.feature-card:hover{ transform:translateY(-6px); box-shadow:0 22px 38px -16px rgba(120,70,10,.55); }
.feature-card__icon{
  width:74px; height:74px; margin:0 auto 18px; border-radius:50%;
  background:#fff; display:grid; place-items:center;
  transition:transform .18s ease;
}
.feature-card:hover .feature-card__icon{ transform:scale(1.08) rotate(-4deg); }
.feature-card__icon img{ width:38px; height:38px; object-fit:contain; }
.feature-card__icon svg{ width:34px; height:34px; color:var(--orange); }
.feature-card h3{ font-size:1.05rem; margin-bottom:8px; }
.feature-card p{ font-size:.88rem; color:rgba(255,255,255,.9); margin:0; }
.mp-hero{ position:relative; background:var(--orange); overflow:hidden; }
.mp-hero__media{
  position:absolute; inset:0; background-size:cover; background-position:right center; background-repeat:no-repeat;
  background-image:url('../img/banners/marca-propria-sua-marca-aqui.jpg');
}
.mp-hero__body{ position:relative; z-index:2; min-height:540px; display:flex; align-items:center; padding-block:64px; }
.mp-hero__text{ max-width:460px; color:#fff; }
.mp-hero__text h2{ font-size:clamp(1.9rem,3.6vw,2.5rem); line-height:1.16; margin-bottom:22px; }
.mp-hero__text p{ font-size:.95rem; line-height:1.6; color:rgba(255,255,255,.94); margin-bottom:14px; }
.mp-hero__text p:last-child{ margin-bottom:0; }
@media (max-width:900px){
  .mp-hero{ background:none; }
  .mp-hero__media{
    position:static; width:100%; aspect-ratio:1920/750; height:auto;
    background-size:contain; background-repeat:no-repeat; background-position:center;
  }
  .mp-hero .mp-hero__body{ min-height:0; display:block; padding:22px 24px 34px; }
  .mp-hero__text{
    max-width:none; position:relative; z-index:2;
    background:linear-gradient(135deg, var(--orange-deep), var(--orange));
    border-radius:var(--radius-lg); padding:26px 22px; box-shadow:var(--shadow);
  }
}

/* ==================================================================
   Receitas
   ================================================================== */

.recipe-hero{
  position:relative; min-height:420px; display:grid; place-items:center;
  text-align:center; color:#fff; overflow:hidden;
  background:var(--orange);
}
.recipe-hero .container{ position:relative; z-index:2; padding-block:70px; }
.recipe-hero h1{ font-size:clamp(1.7rem,3.6vw,2.6rem); }
.recipe-hero__meta{ margin-top:14px; font-size:1.02rem; }
.recipe-hero__meta--narrow{ max-width:66ch; margin-inline:auto; }
.recipe-hero.recipe-hero--foto{
  min-height:0; aspect-ratio:2400/654;
  background:#5A2E10 url('../img/banners/receitas.jpg') center / cover no-repeat;
}
.recipe-hero.recipe-hero--blog{ background-image:url('../img/banners/blog.jpg'); }
.recipe-hero.recipe-hero--catalogo{ background-image:url('../img/banners/catalogo.jpg'); }
.recipe-hero--foto::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse 50% 75% at 50% 50%, rgba(40,15,0,.55), rgba(40,15,0,.15) 80%);
}
.recipe-hero--foto .container{ padding-block:40px; }
.recipe-hero--foto h1, .recipe-hero--foto p{ text-shadow:0 2px 14px rgba(30,10,0,.55); }
@media (max-width:900px){
  .recipe-hero.recipe-hero--foto{ aspect-ratio:auto; min-height:320px; }
}
.recipe-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:10px; }
.recipe-tile{
  display:flex; flex-direction:column; background:#fff; border-radius:var(--radius-lg);
  overflow:hidden; box-shadow:var(--shadow-soft); transition:transform .2s ease, box-shadow .2s ease;
}
.recipe-tile:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.recipe-tile__media{ position:relative; aspect-ratio:4/3; overflow:hidden; }
.recipe-tile__media img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.recipe-tile:hover .recipe-tile__media img{ transform:scale(1.06); }
.recipe-tile__badge{
  position:absolute; top:14px; left:14px; background:var(--yellow); color:var(--ink);
  font-size:.72rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
  padding:.4em .8em; border-radius:999px;
}
.recipe-tile__body{ padding:20px 22px 24px; display:flex; flex-direction:column; gap:12px; flex:1; }
.recipe-tile h3{ font-size:1.02rem; color:var(--ink); line-height:1.35; margin:0; }
.recipe-tile__meta{ display:flex; gap:16px; flex-wrap:wrap; }
.recipe-tile__meta span{ display:inline-flex; align-items:center; gap:6px; font-size:.78rem; color:var(--muted); font-weight:600; }
.recipe-tile__meta svg{ width:15px; height:15px; color:var(--orange); flex:none; }
.recipe-tile__cta{
  display:inline-flex; align-items:center; gap:8px; margin-top:auto;
  color:var(--orange); font-weight:800; font-size:.84rem; text-transform:uppercase; letter-spacing:.04em;
}
.recipe-tile__cta svg{ width:16px; height:16px; transition:transform .18s ease; }
.recipe-tile:hover .recipe-tile__cta svg{ transform:translateX(4px); }
@media (max-width:900px){
  .recipe-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  .recipe-grid{ grid-template-columns:1fr; }
}

/* ==================================================================
   Receita
   ================================================================== */

.rd-hero{
  position:relative; min-height:440px; display:flex; align-items:flex-end;
  color:#fff; overflow:hidden;
}
.rd-hero__bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
.rd-hero__bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(31,20,10,.1) 0%, rgba(31,20,10,.55) 55%, rgba(20,13,7,.92) 100%);
}
.rd-hero .container{ position:relative; z-index:2; padding-block:40px 44px; }
/* Banner panorâmico da receita: mantém a proporção da foto no desktop e escurece só a base, onde fica o título */
@media (min-width:961px){
  .rd-hero.rd-hero--banner{ min-height:max(400px, calc(100vw * 1056 / 3968)); }
}
.rd-hero--banner .rd-hero__bg::after{
  background:linear-gradient(180deg, rgba(20,13,7,0) 30%, rgba(20,13,7,.5) 62%, rgba(20,13,7,.88) 100%);
}
.rd-hero h1{ font-size:clamp(1.8rem,3.6vw,2.7rem); margin:14px 0 22px; max-width:26ch; line-height:1.25; }
.rd-badges{ display:flex; gap:12px; flex-wrap:wrap; }
.rd-badge{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(6px); padding:.55em 1.15em; border-radius:999px;
  font-weight:700; font-size:.86rem;
}
.rd-badge svg{ width:16px; height:16px; flex:none; }
.rd-layout{ display:grid; grid-template-columns:1.7fr .85fr; gap:48px; align-items:start; padding-block:56px; }
.rd-intro{ font-size:1.1rem; line-height:1.75; color:var(--ink-soft); margin-bottom:32px; }
.rd-card{
  background:#fff; border:1px solid #F0E4D8; border-radius:var(--radius-lg);
  padding:32px; box-shadow:var(--shadow-soft); margin-bottom:28px;
}
.rd-card h2{
  display:flex; align-items:center; gap:12px; font-size:1.22rem; margin-bottom:22px; color:var(--ink);
}
.rd-card h2 svg{ width:24px; height:24px; color:var(--orange); flex:none; }
.rd-ingredients{ display:grid; gap:13px; }
.rd-ingredients li{ display:flex; align-items:flex-start; gap:12px; font-size:.95rem; color:var(--ink-soft); line-height:1.5; }
.rd-ingredients li svg{
  width:20px; height:20px; flex:none; margin-top:1px; padding:3px; box-sizing:border-box;
  color:#fff; background:var(--orange); border-radius:50%;
}
.rd-steps{ list-style:none; margin:0; padding:0; }
.rd-steps li{ display:flex; gap:18px; position:relative; padding-bottom:26px; }
.rd-steps li::before{
  content:""; position:absolute; left:17px; top:38px; bottom:2px; width:2px; background:#F0E4D8;
}
.rd-steps li:last-child{ padding-bottom:0; }
.rd-steps li:last-child::before{ display:none; }
.rd-step__num{
  width:36px; height:36px; border-radius:50%; flex:none; z-index:1;
  background:linear-gradient(180deg,var(--gold),var(--orange)); color:#fff;
  font-weight:800; font-size:.95rem; display:grid; place-items:center;
}
.rd-steps p{ margin:0; padding-top:6px; font-size:.95rem; color:var(--ink-soft); line-height:1.65; }
.rd-tip{
  display:flex; gap:14px; align-items:flex-start;
  background:#FCEEDF; border-radius:var(--radius-lg); padding:22px 26px;
}
.rd-tip svg{ width:24px; height:24px; color:var(--orange); flex:none; margin-top:1px; }
.rd-tip p{ margin:0; font-size:.92rem; color:var(--ink); line-height:1.55; }
.rd-tip strong{ color:var(--orange-deep); }
.rd-side > div{ margin-bottom:26px; }
.rd-feito-com{
  background:#fff; border:1px solid #F0E4D8; border-radius:var(--radius-lg);
  padding:26px; box-shadow:var(--shadow-soft); text-align:center;
}
.rd-feito-com__eyebrow{
  display:block; font-size:.72rem; font-weight:800; text-transform:uppercase;
  letter-spacing:.06em; color:var(--orange); margin-bottom:14px;
}
.rd-feito-com__media{
  display:flex; align-items:center; justify-content:center; background:#F6E9B9;
  border-radius:var(--radius); padding:16px; min-height:150px; margin-bottom:14px;
}
.rd-feito-com__media img{ max-width:80%; max-height:120px; filter:drop-shadow(0 10px 14px rgba(120,70,10,.22)); }
.rd-feito-com__nome{ display:block; font-weight:700; color:var(--ink); font-size:.95rem; margin-bottom:16px; line-height:1.35; }
.rd-feito-com__nome:hover{ color:var(--orange); }
.rd-feito-com__btn{ width:100%; padding:.7em 1em; font-size:.86rem; }
.rd-share{
  background:#FBF7F2; border-radius:var(--radius-lg); padding:24px;
}
.rd-share h3{ font-size:1rem; margin-bottom:16px; }
.rd-share__text{ font-size:.86rem; color:var(--muted); margin-bottom:14px; }
.rd-share__buttons{ display:flex; flex-direction:column; gap:10px; }
.rd-share__btn{
  display:flex; align-items:center; justify-content:center; gap:10px; width:100%;
  background:#fff; border:2px solid #F0E4D8; border-radius:12px; padding:.75em 1em;
  font-family:inherit; font-weight:700; font-size:.88rem; color:var(--ink); cursor:pointer;
  transition:border-color .15s ease, transform .15s ease;
}
.rd-share__btn:hover{ border-color:var(--orange); transform:translateY(-2px); }
.rd-share__btn svg{ width:19px; height:19px; flex:none; }
.rd-share__btn--whatsapp{ color:#2EA84C; }
.rd-more h3{ font-size:1rem; margin-bottom:16px; padding-left:2px; }

/* ==================================================================
   Blog, notícias e dicas
   ================================================================== */

.content-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:26px; margin-top:34px; }
.content-card{
  display:flex; flex-direction:column; background:#fff; border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow-soft); transition:transform .18s ease, box-shadow .18s ease;
}
.content-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.content-card__media{ position:relative; background:#F3E7DB; min-height:190px; overflow:hidden; }
.content-card__media img{ width:100%; height:100%; aspect-ratio:2560/1664; object-fit:cover; display:block; transition:transform .3s ease; }
.content-card:hover .content-card__media img{ transform:scale(1.06); }
.content-card__tag{
  position:absolute; top:14px; left:14px; background:var(--orange); color:#fff;
  font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  padding:.4em .8em; border-radius:20px; z-index:2;
}
.content-card__placeholder{
  height:190px; display:grid; place-items:center;
  background:linear-gradient(120deg, var(--orange-deep), var(--orange) 55%, var(--gold));
  transition:transform .3s ease;
}
.content-card:hover .content-card__placeholder{ transform:scale(1.06); }
.content-card__placeholder svg{ width:44px; height:44px; color:rgba(255,255,255,.55); }
.content-card__body{ padding:20px 22px 24px; display:flex; flex-direction:column; gap:8px; flex:1; }
.content-card__date{ font-size:.76rem; color:var(--muted); font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.content-card__body h3{ font-size:1.06rem; color:var(--ink); line-height:1.3; }
.content-card__body p{ font-size:.88rem; color:var(--muted); flex:1; }
.content-card__cta{ margin-top:6px; font-size:.86rem; font-weight:700; color:var(--orange); display:inline-flex; align-items:center; gap:6px; }
.content-note{ margin-top:26px; font-size:.82rem; }
@media (max-width:900px){
  .content-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  .content-grid{ grid-template-columns:1fr; }
}
.content-hero{
  background:linear-gradient(180deg, #FDECD9, #FBDFC2);
  text-align:center; padding:64px 0 54px;
}
.content-hero h1{ color:var(--ink); font-size:clamp(1.7rem,3.6vw,2.4rem); margin-top:16px; }
.content-hero p{ color:var(--ink-soft); margin-top:14px; max-width:64ch; margin-inline:auto; font-size:1rem; }

/* ==================================================================
   Matéria
   ================================================================== */

.materia-hero{
  position:relative; min-height:300px; display:grid; place-items:center;
  text-align:center; color:#fff; overflow:hidden; background:var(--orange);
}
.materia-hero .container{ position:relative; z-index:2; max-width:780px; padding-block:60px; }
.materia-hero h1{ font-size:clamp(1.7rem,3.6vw,2.5rem); margin-top:16px; line-height:1.18; }
.materia-hero__date{ margin-top:16px; font-size:.86rem; opacity:.85; font-weight:600; text-transform:uppercase; letter-spacing:.05em; }
/* Legenda sobre o banner da matéria — centralizada no espaço livre entre a logo do evento (esq.) e a personagem (dir.) */
.materia-banner{ position:relative; background:#14101F; }
.materia-banner__caption{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  padding:0 29% 0 19%; text-align:center; pointer-events:none;
  background:radial-gradient(ellipse 30% 62% at 45% 50%, rgba(12,8,24,.72), rgba(12,8,24,0) 100%);
}
.materia-banner__caption[hidden]{ display:none; }
/* Sem o bloco de título, o texto sobe para perto do banner */
.materia-com-banner .section.section--tight{ padding-top:0; }
.materia-com-banner .materia-wrap{ padding-top:28px; }
.materia-banner__title{
  margin:0; color:#fff; font-weight:800; letter-spacing:-.01em;
  font-size:clamp(.85rem, 2.1vw, 2.2rem); line-height:1.2;
  text-shadow:0 3px 18px rgba(0,0,0,.75), 0 1px 3px rgba(0,0,0,.6);
}
/* Duas linhas fixas: frase em branco + nome do evento em destaque */
.materia-banner__title span{ display:block; white-space:nowrap; }
.materia-banner__title .materia-banner__hl{ margin-top:.12em; color:var(--yellow); }
@media (max-width:700px){
  .materia-banner__caption{ position:static; padding:16px 18px 20px; background:none; }
  .materia-banner__title{ font-size:1.2rem; }
  .materia-banner__title span{ white-space:normal; }
}
.materia-wrap{ display:grid; grid-template-columns:1fr 300px; gap:56px; align-items:start; padding-block:64px; }
.materia-lede{ font-size:1.14rem; color:var(--ink); line-height:1.6; font-weight:600; margin-bottom:22px; }
.materia-body h2{ font-size:1.28rem; color:var(--ink); margin:32px 0 12px; }
.materia-body p{ font-size:1rem; color:var(--ink-soft); line-height:1.8; margin-bottom:16px; }
.materia-body strong{ color:var(--ink); }
.materia-video{
  display:flex; align-items:center; gap:16px; text-decoration:none;
  background:#FBF7F2; border-radius:var(--radius-lg); padding:18px 20px; margin:20px 0 28px;
  box-shadow:var(--shadow-soft); transition:transform .15s ease, box-shadow .15s ease;
}
.materia-video:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.materia-video__icon{
  flex:none; width:50px; height:50px; border-radius:50%; color:#fff;
  background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);
  display:grid; place-items:center;
}
.materia-video__icon svg{ width:23px; height:23px; }
.materia-video__body strong{ display:block; font-size:.95rem; color:var(--ink); margin-bottom:2px; }
.materia-video__body span{ font-size:.84rem; color:var(--muted); }
.materia-quote{
  margin:8px 0 4px; padding:26px 28px; border-radius:var(--radius-lg); text-align:center;
  background:linear-gradient(120deg, var(--orange-deep), var(--orange) 60%, var(--gold));
  color:#fff; font-size:1.08rem; font-weight:700; line-height:1.5;
}
.materia-side{ display:flex; flex-direction:column; gap:24px; position:sticky; top:24px; }
.materia-more{ background:#FBF7F2; padding-block:64px; }
.materia-more__grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:26px; }
.materia-more__item{
  display:flex; align-items:center; gap:14px; background:#fff; border-radius:16px;
  padding:16px 18px; box-shadow:var(--shadow-soft); transition:transform .15s ease, box-shadow .15s ease;
}
.materia-more__item:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.materia-more__icon{
  flex:none; width:42px; height:42px; border-radius:50%; background:var(--orange);
  color:#fff; display:grid; place-items:center; font-weight:800; font-size:.78rem;
}
.materia-more__icon--foto{ width:64px; border-radius:10px; overflow:hidden; background:none; }
.materia-more__icon--foto img{ width:100%; height:100%; object-fit:cover; }
.materia-banner img{ width:100%; height:auto; display:block; }
.materia-more__body{ min-width:0; flex:1; display:flex; flex-direction:column; gap:3px; }
.materia-more__tag{ font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--orange); }
.materia-more__title{ font-size:.92rem; font-weight:700; color:var(--ink); line-height:1.3; }
.materia-more__arrow{ width:18px; height:18px; flex:none; color:var(--muted); }
@media (max-width:900px){
  .materia-wrap{ grid-template-columns:1fr; gap:36px; padding-block:48px; }
  .materia-side{ position:static; }
}
@media (max-width:600px){
  .materia-hero{ min-height:0; }
  .materia-hero .container{ padding-block:40px 36px; }
  .materia-video{ flex-direction:column; text-align:center; }
  .materia-more__grid{ grid-template-columns:1fr; }
}

/* ==================================================================
   Catálogo
   ================================================================== */

.section.catdl{ padding-top:12px; }
.catdl .split{ grid-template-columns:1.15fr .85fr; }
.catdl__eyebrow{ margin-bottom:14px; }
.catdl__text h2{ font-size:clamp(1.6rem,3vw,2.1rem); }
.catdl__text > p{ margin-top:14px; color:var(--ink-soft); font-size:1rem; max-width:56ch; }
.catdl__text > p strong{ color:var(--ink); }
.catdl__features{ display:grid; gap:16px; margin:26px 0 24px; }
.catdl__features li span strong{ color:var(--ink); }
.catdl__text > .catdl__cta-text{ margin:0 0 22px; color:var(--orange-deep); font-size:1.05rem; }
.catdl__text > .catdl__cta-text strong{ color:inherit; }
.catdl__features li{ display:flex; gap:14px; align-items:flex-start; }
.catdl__features li svg{
  flex:none; width:26px; height:26px; padding:5px; border-radius:50%;
  background:var(--orange); color:#fff; box-shadow:var(--shadow-soft);
}
.catdl__features li span{ font-size:.95rem; color:var(--ink-soft); line-height:1.5; padding-top:2px; }
.catdl__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.catdl__actions .btn svg{ width:19px; height:19px; }
.catdl__meta{ display:flex; align-items:center; gap:8px; font-size:.85rem; font-weight:600; color:var(--muted); }
.catdl__meta svg{ width:17px; height:17px; color:var(--orange); flex:none; }
.catdl__doc{ position:relative; display:grid; place-items:center; padding:12px; }
.catdl__stack{ position:relative; width:100%; max-width:330px; aspect-ratio:900/1273; }
.catdl__page{
  position:absolute; inset:0; background:#fff; border-radius:16px;
  box-shadow:0 10px 24px -14px rgba(120,60,10,.4);
}
.catdl__page--1{ transform:rotate(-7deg) translate(-14px,10px); }
.catdl__page--2{ transform:rotate(4deg) translate(10px,4px); }
.catdl__cover{
  position:relative; z-index:3; width:100%; height:100%; border-radius:16px;
  box-shadow:var(--shadow); overflow:hidden; background:#fff;
}
.catdl__cover img{ width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
@media (max-width:960px){
  .catdl .split{ grid-template-columns:1fr; gap:40px; }
  .catdl__doc{ order:-1; }
}

/* ==================================================================
   Contato e Trabalhe conosco
   ================================================================== */

.form-hero{ position:relative; overflow:hidden; color:#fff; }
.form-hero__bg{ position:absolute; inset:0; background-size:cover; background-position:right center; }
.form-hero__bg--contato{ background-image:url('../img/banners/contato.jpg'); }
.form-hero__bg--trabalhe{ background-image:url('../img/banners/trabalhe-conosco.png'); }
.form-hero__bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(214,93,20,.94) 30%, rgba(240,126,25,.6) 60%, rgba(255,200,0,.25));
}
.form-hero .container{ position:relative; z-index:2; padding-block:70px; }
.form-hero h1{ font-size:clamp(2rem,4vw,3rem); text-align:center; }
.form-hero__intro{ max-width:46ch; margin:16px auto 0; text-align:center; }
.form-hero__intro strong{ display:block; font-size:1.05rem; margin-bottom:8px; }
@media (max-width:900px){
  .form-hero{ background:var(--orange); }
  .form-hero__bg{ position:relative; inset:auto; width:100%; height:220px; }
  .form-hero .container{ padding-block:26px 44px; }
  .form-hero__bg--trabalhe{ background-image:url('../img/banners/trabalhe-conosco-mobile.png'); background-position:center; }
}
.form-card{
  background:var(--orange); border-radius:var(--radius);
  padding:30px; box-shadow:var(--shadow); max-width:620px; margin-top:34px;
}
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-grid .full{ grid-column:1 / -1; }
/* Página de erro 404 */
.section.erro-404{ padding:96px 0 110px; background:var(--cream); }
.erro-404__code{
  margin:0 0 6px; font-size:clamp(5rem,14vw,8.5rem); font-weight:800; line-height:1;
  background:linear-gradient(120deg, var(--orange-deep), var(--orange) 55%, var(--gold));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.erro-404 .section-sub{ max-width:52ch; margin:14px auto 0; }
.erro-404__actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:32px; }

/* Campo-armadilha para robôs: fora da tela, invisível para pessoas e leitores de tela */
.form-card__hp{ position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-card input,
.form-card textarea{
  width:100%; border:0; border-radius:10px; padding:14px 16px;
  font-family:inherit; font-size:.95rem; color:var(--ink); background:#fff;
}
.form-card textarea{ min-height:120px; resize:vertical; }
.form-card__check{ display:flex; align-items:center; gap:10px; margin:16px 0; color:#fff; font-size:.9rem; min-height:40px; cursor:pointer; }
.form-card__check input{ width:18px; height:18px; flex:none; cursor:pointer; }
.form-card__upload{ margin:0 0 20px; }
.upload-drop{
  display:flex; align-items:center; gap:14px; cursor:pointer;
  background:#fff; border:2px dashed rgba(31,27,24,.18); border-radius:14px;
  padding:16px 18px; transition:border-color .15s ease, background .15s ease;
}
.upload-drop:hover{ border-color:var(--orange); background:#FFFBF6; }
.upload-drop svg{ width:26px; height:26px; color:var(--orange); flex:none; }
.upload-drop__text{ display:flex; flex-direction:column; gap:2px; }
.upload-drop__text strong{ font-size:.9rem; color:var(--ink); }
.upload-drop__text small{ font-size:.78rem; color:var(--muted); }
.upload-drop__filename{
  margin:10px 0 0; font-size:.85rem; font-weight:700; color:#fff;
  background:rgba(255,255,255,.18); border-radius:8px; padding:8px 12px;
}
.upload-drop__note{ margin:10px 0 0; font-size:.76rem; color:rgba(255,255,255,.85); line-height:1.5; }
.form-card .btn{ min-width:200px; }
.form-msg{ margin-top:14px; color:#fff; font-weight:600; display:none; }
.form-msg.is-visible{ display:block; }
.reason-picker{
  background:#fff; border-radius:var(--radius); padding:34px 32px;
  max-width:640px; margin:34px auto 0; box-shadow:var(--shadow);
}
.reason-picker__title{ font-size:1.15rem; color:var(--ink); margin-bottom:4px; }
.reason-picker__sub{ font-size:.86rem; color:var(--muted); margin-bottom:22px; }
.reason-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.reason-card{
  display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center;
  background:#FBF7F2; border:2px solid transparent; border-radius:14px; padding:20px 10px;
  cursor:pointer; transition:border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
  font-family:inherit;
}
.reason-card:hover{ border-color:var(--orange); background:#fff; transform:translateY(-3px); box-shadow:var(--shadow-soft); }
.reason-card__icon{
  width:44px; height:44px; border-radius:50%; background:linear-gradient(180deg,var(--gold),var(--orange)); color:#fff;
  display:grid; place-items:center; flex:none;
}
.reason-card__icon svg{ width:20px; height:20px; }
.reason-card__label{ font-size:.82rem; font-weight:700; color:var(--ink); line-height:1.25; }
.form-card__back{
  background:none; border:0; color:#fff; opacity:.85; font-weight:700; font-size:.85rem; cursor:pointer;
  display:inline-flex; align-items:center; gap:6px; margin-bottom:14px; padding:0; min-height:40px;
}
.form-card__back:hover{ opacity:1; text-decoration:underline; }
.form-card__reason{
  display:inline-block; background:rgba(255,255,255,.18); color:#fff; font-weight:700; font-size:.82rem;
  padding:.5em 1em; border-radius:20px; margin-bottom:18px;
}
@media (max-width:600px){
  .reason-grid{ grid-template-columns:repeat(2,1fr); }
  .reason-picker{ padding:26px 20px; }
}

/* ==================================================================
   Páginas legais
   ================================================================== */

.legal-hero{
  background:linear-gradient(160deg, var(--orange), var(--orange-2) 65%, var(--brown-dark));
  color:#fff; padding:64px 0 52px; text-align:center;
}
.legal-hero .eyebrow{ color:#fff; opacity:.85; }
.legal-hero h1{ font-size:clamp(1.8rem,3.6vw,2.6rem); margin-top:8px; }
.legal-hero p{ margin-top:12px; opacity:.92; max-width:56ch; margin-inline:auto; }
.legal-wrap{ display:grid; grid-template-columns:230px 1fr; gap:52px; padding-block:64px; align-items:start; }
.legal-toc{ position:sticky; top:24px; background:#FAF5EF; border-radius:16px; padding:22px; }
.legal-toc h2{ font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--orange-2); margin-bottom:14px; }
.legal-toc ol{ list-style:none; margin:0; padding:0; counter-reset:legal; display:grid; gap:10px; }
.legal-toc li{ counter-increment:legal; }
.legal-toc a{
  display:flex; gap:10px; font-size:.86rem; color:var(--ink-soft); line-height:1.4;
}
.legal-toc a::before{
  content:counter(legal); flex:none; width:20px; height:20px; border-radius:50%;
  background:#fff; color:var(--orange); font-size:.7rem; font-weight:800;
  display:grid; place-items:center; box-shadow:var(--shadow-soft);
}
.legal-toc a:hover{ color:var(--orange); }
.legal-content .legal-updated{
  display:inline-block; font-size:.76rem; font-weight:700; color:var(--orange-2);
  background:#FCEEDF; padding:.4em 1em; border-radius:20px; margin-bottom:28px;
}
.legal-content section{ margin-bottom:36px; scroll-margin-top:24px; }
.legal-content section:last-child{ margin-bottom:0; }
.legal-content h2{ font-size:1.25rem; margin-bottom:14px; display:flex; align-items:center; gap:12px; }
.legal-content h2 span.n{
  flex:none; width:32px; height:32px; border-radius:9px; background:var(--orange); color:#fff;
  font-size:.85rem; display:grid; place-items:center;
}
.legal-content h3{ font-size:1rem; color:var(--orange-2); margin:18px 0 8px; }
.legal-content p{ font-size:.94rem; color:var(--ink-soft); line-height:1.75; margin-bottom:14px; }
.legal-content ul{ margin:0 0 14px 20px; padding:0; display:grid; gap:6px; }
.legal-content li{ font-size:.94rem; color:var(--ink-soft); line-height:1.65; }
.legal-content strong{ color:var(--ink); }
@media (max-width:860px){
  .legal-wrap{ grid-template-columns:1fr; padding-block:44px; }
  .legal-toc{ position:static; }
}
@media (max-width:960px){
  .legal-toc ol{ gap:0; }
  .legal-toc a{ align-items:center; min-height:40px; padding-block:4px; }
}

/* ==================================================================
   Rodapé
   ================================================================== */

.site-footer .logo img{ width:230px; max-width:100%; }
.site-footer .logo svg{ width:178px; }
.site-footer{ background:var(--brown); color:rgba(255,255,255,.86); }
.site-footer__top{
  display:grid; grid-template-columns:1.15fr .8fr 1.15fr .8fr;
  padding-block:56px;
}
.site-footer__top > div{ min-width:0; }
.site-footer__top > div:first-child{
  display:flex; align-items:flex-start; justify-content:flex-start;
  text-align:left; padding-right:36px; padding-top:34px;
}
.site-footer__top > div:not(:first-child){
  border-left:1px solid var(--brown-line); padding-left:36px; padding-right:36px;
}
.site-footer__contact a{ overflow-wrap:anywhere; }
.site-footer__info-block{ margin-top:30px; }
.site-footer__social{ display:flex; flex-direction:row; gap:12px; }
.footer-trabalhe-mobile{ display:none; }
.site-footer__social a{
  width:40px; height:40px; border-radius:50%; display:grid; place-items:center;
  background:rgba(255,255,255,.12); color:#fff; transition:background .18s ease, transform .18s ease;
}
.site-footer__social a:hover{ background:var(--orange); transform:translateY(-3px); }
.site-footer__social svg{ width:18px; height:18px; }
.site-footer h4{ color:#fff; font-size:1.05rem; margin-bottom:16px; }
.site-footer ul li{ margin:9px 0; font-size:.92rem; }
.site-footer ul li a:hover{ color:#fff; text-decoration:underline; }
.site-footer__contact li{ display:flex; gap:10px; align-items:flex-start; }
.site-footer__contact svg{ width:16px; height:16px; flex:none; margin-top:4px; opacity:.85; }
.site-footer__bottom{
  border-top:1px solid var(--brown-line);
  padding-block:22px; font-size:.85rem; color:rgba(255,255,255,.7);
}
.site-footer__bottom .container{
  display:flex; align-items:center; justify-content:space-between; gap:16px 28px; flex-wrap:wrap; text-align:center;
}
.site-footer__legal{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.site-footer__legal a{ color:rgba(255,255,255,.7); }
.site-footer__legal a:hover{ color:#fff; text-decoration:underline; }
.site-footer__legal span{ color:rgba(255,255,255,.35); font-size:.7rem; }

/* ==================================================================
   Botão do WhatsApp
   ================================================================== */

.whatsapp-float{
  position:fixed; right:24px; bottom:24px; z-index:150;
  width:58px; height:58px; border-radius:50%; background:#25D366; color:#fff;
  display:grid; place-items:center; box-shadow:0 14px 28px -10px rgba(0,0,0,.4);
  transition:transform .2s ease, box-shadow .2s ease;
}
.whatsapp-float:hover{ transform:translateY(-3px) scale(1.05); box-shadow:0 18px 34px -10px rgba(0,0,0,.5); }
.whatsapp-float svg{ width:30px; height:30px; position:relative; z-index:2; }
.whatsapp-float__pulse{
  position:absolute; inset:0; border-radius:50%; background:#25D366;
  animation:whatsapp-pulse 2.2s ease-out infinite;
}
@keyframes whatsapp-pulse{
  0%{ transform:scale(1); opacity:.55; }
  100%{ transform:scale(1.8); opacity:0; }
}
@media (prefers-reduced-motion:reduce){
  .whatsapp-float__pulse{ animation:none; }
}
@media (max-width:600px){
  .whatsapp-float{ right:16px; bottom:16px; width:52px; height:52px; }
  .whatsapp-float svg{ width:26px; height:26px; }
}

/* ==================================================================
   Responsivo
   ================================================================== */

@media (max-width:1080px){
  .catalog{ grid-template-columns:1fr; }
  .catalog__side ul{ display:flex; gap:10px; flex-wrap:wrap; }
  .catalog__side ul li{ margin:0; }
  .catalog__side button{
    background:#F6EEE3; border-radius:20px; padding:8px 16px;
    font-size:.88rem; font-weight:600; min-height:40px;
  }
  .catalog__side button:hover,
  .catalog__side button.is-active{ background:var(--orange); color:#fff; }
  .pd-showcase{ grid-template-columns:1fr; }
  .pd-photo{ max-width:380px; margin-inline:auto; }
}
@media (max-width:960px){
  .section{ padding:60px 0; }
  .nav-toggle{ display:block; }
  .nav{
    position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0;
    background:#fff; padding:8px 0 14px;
    border-top:3px solid var(--orange);
    border-radius:0 0 22px 22px;
    max-height:calc(100vh - 110px); max-height:calc(100dvh - 110px); overflow-y:auto;
    /* a sombra gigante escurece a página por trás do menu aberto */
    box-shadow:0 22px 34px -18px rgba(0,0,0,.35), 0 0 0 100vmax rgba(31,20,10,0);
    transform:translateY(-14px); opacity:0; pointer-events:none;
    transition:transform .35s cubic-bezier(.22,1,.36,1), opacity .25s ease, box-shadow .35s ease;
  }
  /* logo e botão ficam acima da área escurecida */
  .site-header .logo, .nav-toggle{ position:relative; z-index:2; }
  .nav{ z-index:1; clip-path:inset(0 -100vmax -100vmax -100vmax); }
  .nav > :last-child{ border-bottom:0; }
  .nav.is-open{
    transform:translateY(0); opacity:1; pointer-events:auto;
    box-shadow:0 22px 34px -18px rgba(0,0,0,.35), 0 0 0 100vmax rgba(31,20,10,.42);
  }
  /* itens entram em sequência, deslizando da esquerda */
  .nav > *{ opacity:0; transform:translateX(-16px); transition:opacity .3s ease, transform .4s cubic-bezier(.22,1,.36,1); }
  .nav.is-open > *{ opacity:1; transform:none; }
  .nav.is-open > :nth-child(1){ transition-delay:.05s; }
  .nav.is-open > :nth-child(2){ transition-delay:.09s; }
  .nav.is-open > :nth-child(3){ transition-delay:.13s; }
  .nav.is-open > :nth-child(4){ transition-delay:.17s; }
  .nav.is-open > :nth-child(5){ transition-delay:.21s; }
  .nav.is-open > :nth-child(6){ transition-delay:.25s; }
  .nav.is-open > :nth-child(7){ transition-delay:.29s; }
  .nav a{ position:relative; padding:14px 24px; border-bottom:1px solid #f0ece7; transition:color .15s ease, background-color .15s ease, padding-left .2s ease; }
  .nav > a:active, .nav-dropdown__menu a:active{ background:#FFF4EA; }
  .nav a.is-active::after{ display:none; }
  .nav > a.is-active{ padding-left:30px; background:linear-gradient(90deg, #FFF1E4, rgba(255,241,228,0) 80%); }
  .nav > a.is-active::before{
    content:""; position:absolute; left:14px; top:50%; width:5px; height:22px; margin-top:-11px;
    border-radius:4px; background:linear-gradient(180deg, var(--gold), var(--orange));
  }
  .nav-dropdown{ border-bottom:1px solid #f0ece7; }
  .nav-dropdown__toggle{ width:100%; justify-content:space-between; padding:14px 24px; }
  .nav-dropdown__menu,
  .nav-dropdown.is-open .nav-dropdown__menu{
    position:static; left:auto; box-shadow:none; margin-top:0; transform:none; padding:0 24px;
    opacity:1; visibility:visible; max-height:0; overflow:hidden; transition:max-height .2s ease;
  }
  .nav-dropdown.is-open .nav-dropdown__menu{ max-height:260px; padding:2px 24px 12px; }
  .nav-dropdown__menu a{ padding:9px 4px; }
  .split,
  .product-detail,
  .rd-layout{ grid-template-columns:1fr; }
  .product-detail{ gap:32px; padding-block:40px 56px; }
  .related{ margin-top:0; }
  .split.split--about{ gap:20px; }
  .split--about .media-frame{ max-width:280px; margin:0 auto; }
  .split--about .section-title{ text-align:center; }
  .split--about__cta{ text-align:center; }
  .site-footer__top{ grid-template-columns:1fr 1fr; row-gap:40px; }
  .site-footer__top > div:first-child{ grid-column:1 / -1; text-align:left; padding-right:0; }
  .site-footer__social-col{ border-left:0; padding-left:0; }
  .site-footer__social{ flex-direction:row; }
  /* Celular: mesmo banner do computador — texto em cima, embalagens embaixo à direita */
  .marca-hero{
    /* o degradê de cima esconde a emenda onde a foto das embalagens começa */
    background:
      linear-gradient(180deg, #FF8C00 0, #FF8C00 calc(100% - 290px), rgba(255,140,0,0) calc(100% - 245px)),
      url('../img/banners/marca-propria.jpg') 82% 100% / auto 290px no-repeat,
      #FF8C00;
  }
  .marca-hero .container{ min-height:0; padding:40px 22px 270px; }
  .marca-hero .hero__title{ font-size:2.1rem; }
  .marca-hero .hero__text{ font-size:1rem; max-width:32ch; }
  .marca-hero .hero__actions{ margin-top:22px; }

  .revendedor__inner{ padding:24px 22px 40px; }
  .revendedor__media{ max-width:460px; }
  .revendedor__card{ max-width:520px; margin-top:-10px; }
  .icon-cards{ transform:none; margin-bottom:0; }
  .presence{ padding-bottom:20px; }
  .product-grid,
  .recipe-cards,
  .feature-cards,
  .mvv{ grid-template-columns:1fr 1fr; }
  .icon-cards{ grid-template-columns:1fr 1fr; }
  .rd-card{ padding:26px; }
  .site-footer ul li{ margin:0; }
  .site-footer ul li a{ display:inline-flex; align-items:center; min-height:40px; }
  .site-footer__contact li{ align-items:center; }
  .site-footer__contact svg{ margin-top:0; }
  .site-footer__info-block{ margin-top:22px; }
  .site-footer__legal{ gap:0 2px; justify-content:center; }
  .site-footer__legal a{ display:inline-flex; align-items:center; min-height:40px; padding-inline:6px; }
  .footer-trabalhe-mobile{ min-height:44px; }
  .rd-feito-com__nome{ padding-block:10px; }
  .topbar .container{ padding-block:0; }
  .topbar__social a,
  .topbar__info a{ min-height:40px; min-width:40px; justify-content:center; }
}
@media (max-width:600px){
  .container{ padding-inline:18px; }
  .topbar .container{ flex-wrap:nowrap; justify-content:space-between; gap:8px; min-height:0; padding-block:0; }
  .topbar__social{ flex:none; gap:0; margin-left:-10px; }
  .topbar__social a{ width:40px; height:40px; }
  .topbar__social svg{ width:16px; height:16px; }
  .topbar__info{ flex:none; flex-wrap:nowrap; gap:0; font-size:.78rem; margin-right:-8px; }
  .topbar__info a{ gap:6px; white-space:nowrap; min-height:40px; min-width:40px; justify-content:center; padding-inline:8px; }
  .topbar__info svg{ width:15px; height:15px; flex:none; }
  .topbar__info a[href$="trabalhe-conosco.html"]{ display:none; }
  .topbar__info a[href^="mailto:"] span{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .site-header .container{ min-height:68px; gap:16px; }
  .logo img{ width:92px; }
  .logo svg{ width:84px; }
  .footer-trabalhe-mobile{
    display:inline-flex; align-items:center; gap:8px; margin-top:38px;
    color:rgba(255,255,255,.85); font-weight:600; font-size:.88rem;
  }
  .footer-trabalhe-mobile:hover{ color:#fff; }
  .footer-trabalhe-mobile svg{ width:17px; height:17px; flex:none; }
  .site-footer .logo img{ width:150px; }
  .site-footer .logo svg{ width:118px; }
  .product-showcase__cta{ margin-top:22px; }
  .section.product-showcase{ padding-bottom:22px; }
  .filterbar + .section{ padding-top:20px; }
  .recipe-cards,
  .feature-cards,
  .mvv,
  .icon-cards{ grid-template-columns:1fr; }
  .product-grid{ grid-template-columns:1fr 1fr; gap:12px; }
  .product-card__media{ min-height:0; aspect-ratio:1; padding:12px; }
  .product-card__media img{ max-height:100%; max-width:88%; }
  .product-card__media .selo-lancamento{ top:8px; left:8px; font-size:.6rem; padding:5px 8px 5px 6px; gap:4px; }
  .product-card__media .selo-lancamento svg{ width:10px; height:10px; }
  .product-card__body{ padding:12px 10px 14px; gap:10px; text-align:center; }
  .product-card__title{ font-size:.84rem; line-height:1.3; }
  .product-card .btn{ font-size:.78rem; padding:.6em 1.2em; min-height:38px; }
  .revendedor__card .btn{ white-space:nowrap; font-size:.88rem; padding-inline:1.3em; }
  .site-footer__legal{ flex-direction:column; }
  .site-footer__legal span{ display:none; }
  .home-hero--produtos .hero-baked{ aspect-ratio:930/492; object-fit:cover; object-position:25% center; }
  .home-hero--marca .hero-baked{ aspect-ratio:1180/1078; object-fit:cover; object-position:22% center; }
  .form-grid{ grid-template-columns:1fr; }
  .section{ padding:48px 0; }
  .rd-card,
  .cta-block{ padding:32px 22px; }
  .site-footer__top{ grid-template-columns:1fr; row-gap:32px; padding-block:44px; }
  .site-footer__top > div:first-child{ grid-column:auto; padding-right:0; padding-top:0; }
  .site-footer__top > div:not(:first-child){ border-left:0; padding-left:0; }
  .site-footer__bottom .container{ flex-direction:column; text-align:center; }

  .filterbar{ margin-top:0; padding-top:18px; }
  .filterbar .container{
    flex-wrap:nowrap; gap:10px; overflow-x:auto; padding-bottom:4px;
    scrollbar-width:none; -ms-overflow-style:none;
  }
  .filterbar .container::-webkit-scrollbar{ display:none; }
  .filter-tab{ flex:none; white-space:nowrap; padding:.6em 1.1em; font-size:.85rem; min-height:42px; }

  .catalog__toolbar{ flex-direction:column; align-items:stretch; }
  .catalog__search{ max-width:none; margin-left:0; }
}
