/* Baby Kangaroo · camada de motion e polish (The Media Bees)
   Regras: só transform/opacity/box-shadow animam; nada de layout shift;
   tudo desligado com prefers-reduced-motion. */

:root{
  --bk-ease: cubic-bezier(.16,1,.3,1);
  --bk-green:#7A9662;
  --bk-green-dark:#5B7148;
  --bk-terracotta:#D4875D;
  --bk-shadow-soft: 0 1px 2px rgba(91,113,72,.06), 0 8px 24px rgba(91,113,72,.10);
  --bk-shadow-lift: 0 2px 4px rgba(91,113,72,.08), 0 18px 40px rgba(91,113,72,.16);
}

html{ -webkit-font-smoothing:antialiased; }
h1,h2,h3,.elementor-heading-title{ text-wrap:balance; }
p{ text-wrap:pretty; }
.price,.woocommerce-Price-amount,.fkcart-count,.fkcart-item-price,.cart-count{ font-variant-numeric:tabular-nums; }

/* 1 · Reveal em cascata ao scroll (só com JS ligado) */
html.bk-js .bk-reveal{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .6s var(--bk-ease), transform .7s var(--bk-ease);
  transition-delay:var(--bk-delay,0ms);
  will-change:opacity,transform;
}
html.bk-js .bk-reveal.bk-in{ opacity:1; transform:none; will-change:auto; }

/* 2 · Título do hero palavra a palavra */
html.bk-js .bk-words .bk-w{
  display:inline-block;
  opacity:0;
  transform:translateY(.35em);
  filter:blur(4px);
  transition:opacity .5s var(--bk-ease), transform .6s var(--bk-ease), filter .5s var(--bk-ease);
  transition-delay:calc(var(--i) * 70ms + 120ms);
}
html.bk-js .bk-words.bk-in .bk-w{ opacity:1; transform:none; filter:blur(0); }

/* 3 · Cartões de produto */
.e-loop-item.product, ul.products li.product{
  transition:transform .35s var(--bk-ease), box-shadow .35s var(--bk-ease);
  border-radius:16px;
}
.e-loop-item.product:hover, ul.products li.product:hover{
  transform:translateY(-4px);
  box-shadow:var(--bk-shadow-lift);
}
.e-loop-item.product .elementor-widget-theme-post-featured-image img,
ul.products li.product img{
  outline:1px solid rgba(0,0,0,.06);
  outline-offset:-1px;
  transition:transform .6s var(--bk-ease);
  transform-origin:center;
}
.e-loop-item.product:hover .elementor-widget-theme-post-featured-image img,
ul.products li.product:hover img{ transform:scale(1.03); }
.e-loop-item.product .elementor-widget-theme-post-featured-image{ overflow:hidden; border-radius:12px; }

/* 4 · Ícones de categoria */
.elementor-widget-image-box .elementor-image-box-img img{
  transition:transform .45s var(--bk-ease);
}
.elementor-widget-image-box:hover .elementor-image-box-img img{ transform:translateY(-4px) scale(1.06); }
.elementor-widget-image-box .elementor-image-box-title{ transition:color .2s var(--bk-ease); }
.elementor-widget-image-box:hover .elementor-image-box-title{ color:var(--bk-terracotta); }

/* 5 · Botões: feedback tátil */
.elementor-button, .button, .single_add_to_cart_button, .fkcart-checkout-btn, #place_order{
  transition:transform .12s var(--bk-ease), box-shadow .25s var(--bk-ease), background-color .2s var(--bk-ease), color .2s var(--bk-ease);
}
.elementor-button:hover, .button:hover, .single_add_to_cart_button:hover{ box-shadow:var(--bk-shadow-soft); }
.elementor-button:active, .button:active, .single_add_to_cart_button:active, #place_order:active{ transform:scale(.96); }

/* 6 · Header a encolher ao scroll */
.elementor-location-header .elementor-widget-theme-site-logo img{
  transition:transform .35s var(--bk-ease);
  transform-origin:left center;
}
html.bk-scrolled .elementor-location-header .elementor-widget-theme-site-logo img{ transform:scale(.86); }
html.bk-scrolled .elementor-location-header .elementor-sticky--active{ box-shadow:0 6px 24px rgba(91,113,72,.10); }

/* 7 · Carrinho: pop ao adicionar */
@keyframes bk-pop{ 0%{transform:scale(1)} 35%{transform:scale(1.28)} 70%{transform:scale(.94)} 100%{transform:scale(1)} }
.bk-pop{ animation:bk-pop .55s var(--bk-ease) both; }
.fkcart-mini-toggler, #fkcart-floating-toggler{ transition:transform .2s var(--bk-ease); }
.fkcart-mini-toggler:hover, #fkcart-floating-toggler:hover{ transform:translateY(-2px); }

/* 9 · Cartões de produto uniformes (loop template 94): imagem 4:5, título a 2 linhas, botão sempre alinhado */
.swiper .swiper-wrapper:has(.e-loop-item.product){ align-items:stretch; }
.swiper .swiper-slide.e-loop-item.product{ height:auto; }
.e-loop-item.product, .e-loop-item.product > .e-parent, .e-loop-item.product > .e-parent > .e-con-inner{ display:flex; flex-direction:column; height:100%; }
.e-loop-item.product > .e-parent > .e-con-inner > .e-con:last-child{ margin-top:auto; }
.e-loop-item.product .elementor-widget-theme-post-featured-image img{ aspect-ratio:4/5; object-fit:cover; width:100%; display:block; }
.e-loop-item.product .product_title{
  font-size:20px !important; line-height:1.25 !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height:2.5em; margin-bottom:6px;
}
.e-loop-item.product .price{ font-size:18px; font-weight:600; }
.e-loop-item.product .elementor-widget-button .elementor-button-wrapper{ text-align:left; }
.e-loop-item.product .elementor-button{
  background:transparent !important; color:var(--bk-green-dark) !important;
  border:1.5px solid var(--bk-green-dark); border-radius:999px;
  text-transform:none !important; letter-spacing:0 !important; font-weight:600; font-size:14px; padding:11px 22px;
}
.e-loop-item.product .elementor-button:hover{ background:var(--bk-green-dark) !important; color:#fff !important; }
/* Botão de carrinho ao lado de "Saber mais": redondo, mesma altura e cor do botão */
.e-loop-item.product :is(.bk-cart-btn, .botao-comprar-ajax){ width:auto !important; flex:0 0 auto; }
.e-loop-item.product :is(.bk-cart-btn, .botao-comprar-ajax) .elementor-icon-wrapper{ display:flex; }
.e-loop-item.product :is(.bk-cart-btn, .botao-comprar-ajax) .elementor-icon{
  display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; padding:0;
  background:var(--bk-green-dark) !important; border:1.5px solid var(--bk-green-dark); border-radius:999px; color:#fff;
  transition:transform .2s var(--bk-ease), background-color .2s var(--bk-ease), box-shadow .2s var(--bk-ease);
}
.e-loop-item.product :is(.bk-cart-btn, .botao-comprar-ajax) .elementor-icon svg{ width:22px; height:22px; }
.e-loop-item.product :is(.bk-cart-btn, .botao-comprar-ajax) .elementor-icon svg circle{ fill:transparent; }
.e-loop-item.product :is(.bk-cart-btn, .botao-comprar-ajax) .elementor-icon svg path{ fill:#fff; stroke:#fff; }
.e-loop-item.product :is(.bk-cart-btn, .botao-comprar-ajax) .elementor-icon:hover{ transform:scale(1.06); box-shadow:0 6px 16px rgba(91,113,72,.25); }
.e-loop-item.product :is(.bk-cart-btn, .botao-comprar-ajax) .elementor-icon.up-hov, .e-loop-item.product :is(.bk-cart-btn, .botao-comprar-ajax) .elementor-icon.added{ background:var(--bk-terracotta, #D4875D) !important; border-color:var(--bk-terracotta, #D4875D); }
.e-loop-item.product .elementor-element-c0ce0fe{ display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; align-items:center !important; justify-content:center !important; gap:10px !important; }
.e-loop-item.product .elementor-element-c0ce0fe .elementor-widget-button{ width:auto !important; }
.e-loop-item.product .elementor-element-c0ce0fe .elementor-widget-button .elementor-button-wrapper{ text-align:center; }
.e-loop-item.product .elementor-button{ white-space:nowrap; }
@media (max-width:767px){
  .e-loop-item.product .elementor-button{ padding:10px 16px; font-size:13px; }
  .e-loop-item.product :is(.bk-cart-btn, .botao-comprar-ajax) .elementor-icon{ width:38px; height:38px; }
  .e-loop-item.product :is(.bk-cart-btn, .botao-comprar-ajax) .elementor-icon svg{ width:20px; height:20px; }
}

/* 10 · Setas dos carrosséis: discretas, redondas, brancas */
.elementor-swiper-button{ width:40px; height:40px; border-radius:50%; background:#fff; box-shadow:var(--bk-shadow-soft); display:flex; align-items:center; justify-content:center; color:var(--bk-green-dark); transition:transform .2s var(--bk-ease), opacity .2s var(--bk-ease); }
.elementor-swiper-button svg{ width:12px; height:auto; fill:var(--bk-green-dark); }
.elementor-swiper-button:hover{ transform:scale(1.06); }
.swiper-pagination-bullet{ background:var(--bk-green); opacity:.35; }
.swiper-pagination-bullet-active{ opacity:1; }

/* 11 · Hero com vida: formas orgânicas a flutuar atrás da foto, foto a "respirar" e parallax leve */
.bk-hero{ position:relative; overflow:hidden; isolation:isolate; }
.bk-hero::before, .bk-hero::after{
  content:""; position:absolute; z-index:-1; border-radius:50%; pointer-events:none;
  filter:blur(48px); opacity:.55; will-change:transform;
}
.bk-hero::before{ width:52vw; height:52vw; max-width:720px; max-height:720px; right:-12vw; top:-18vw; background:#E9DFD0; animation:bk-drift-a 22s ease-in-out infinite alternate; }
.bk-hero::after{ width:34vw; height:34vw; max-width:460px; max-height:460px; left:-10vw; bottom:-16vw; background:rgba(122,150,98,.35); animation:bk-drift-b 26s ease-in-out infinite alternate; }
@keyframes bk-drift-a{ from{ transform:translate(0,0) scale(1);} to{ transform:translate(-6vw,6vw) scale(1.12);} }
@keyframes bk-drift-b{ from{ transform:translate(0,0) scale(1);} to{ transform:translate(7vw,-5vw) scale(1.08);} }
.bk-hero-img{ position:relative; isolation:isolate; flex-wrap:nowrap; } /* nowrap: Chrome colapsa colunas com wrap */
/* Pilha de fotos: a da frente nítida, as de trás desfocadas e inclinadas; trocam a cada 5 s */
.bk-stack{ position:relative; width:100%; height:0; padding-bottom:125%; animation:bk-float 7s ease-in-out infinite; transform:translateY(calc(var(--bk-py,0px) * -1)); will-change:transform; }
.bk-stack img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:28px; margin:0;
  transition:transform .85s var(--bk-ease), filter .85s var(--bk-ease), opacity .85s var(--bk-ease);
  box-shadow:0 18px 40px rgba(91,113,72,.14);
}
.bk-stack img[data-pos="0"]{ z-index:3; transform:none; filter:none; opacity:1; }
.bk-stack img[data-pos="1"]{ z-index:2; transform:translate(7%,5%) rotate(4deg) scale(.94); filter:blur(3px) saturate(.85); opacity:.85; }
.bk-stack img[data-pos="2"]{ z-index:1; transform:translate(-7%,-4%) rotate(-4deg) scale(.9); filter:blur(5px) saturate(.8); opacity:.6; }
.bk-stack img[data-pos="3"]{ z-index:0; transform:translate(0,-6%) rotate(0deg) scale(.86); filter:blur(6px); opacity:0; }
.bk-stack img.bk-leaving{ z-index:4; transform:translate(-4%,10%) rotate(-6deg) scale(.96); opacity:0; }
@keyframes bk-float{ 0%,100%{ translate:0 0;} 50%{ translate:0 -8px;} }
.bk-hero .elementor-widget-button:first-child .elementor-button{ position:relative; overflow:hidden; }
.bk-hero .elementor-widget-button:first-child .elementor-button::after{
  content:""; position:absolute; top:0; left:0; width:40%; height:100%;
  background:linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.35) 50%, rgba(255,255,255,0) 100%);
  transform:translateX(-150%) skewX(-20deg); animation:bk-shine 5s ease-in-out infinite; will-change:transform;
}
@keyframes bk-shine{ 0%,70%{ transform:translateX(-150%) skewX(-20deg);} 100%{ transform:translateX(325%) skewX(-20deg);} }
/* Telemóvel: sem formas desfocadas nem pilha (o JS também não a cria) — poupa ~8 s de thread principal em telemóveis modestos */
@media (max-width: 767px){
  .bk-hero::before, .bk-hero::after{ display:none; }
  .bk-hero .elementor-widget-button:first-child .elementor-button::after{ animation:none; display:none; }
  .bk-hero-img img{ border-radius:24px; }
  /* Selo de avaliações Google (iframe fixo) causava CLS 0.18 em telemóvel; em ecrãs pequenos só tapa conteúdo */
  [id^="___ratingbadge"]{ display:none !important; }
}

/* 12 · Navegação: sublinhado que cresce, header com vidro ao scroll */
.elementor-location-header .elementor-nav-menu a.elementor-item{ position:relative; }
.elementor-location-header .elementor-nav-menu a.elementor-item::after{
  content:""; position:absolute; left:50%; right:50%; bottom:2px; height:2px; border-radius:2px; background:currentColor; opacity:.8;
  transition:left .3s var(--bk-ease), right .3s var(--bk-ease);
}
.elementor-location-header .elementor-nav-menu a.elementor-item:hover::after,
.elementor-location-header .elementor-nav-menu a.elementor-item-active::after{ left:6px; right:6px; }
.elementor-location-header .elementor-nav-menu a.elementor-item{ transition:transform .2s var(--bk-ease); }
.elementor-location-header .elementor-nav-menu a.elementor-item:hover{ transform:translateY(-1px); }
html.bk-scrolled .elementor-location-header .elementor-sticky--active{ backdrop-filter:saturate(1.2) blur(8px); -webkit-backdrop-filter:saturate(1.2) blur(8px); }
.elementor-location-header .elementor-widget-theme-site-logo img:hover{ transform:rotate(-4deg) scale(1.04); }

/* 13 · Barra fixa "Comprar" em telemóvel (página de produto) */
.bk-buybar{ position:fixed; left:0; right:0; bottom:0; z-index:9998; display:none; align-items:center; gap:12px; padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-top:1px solid #E8E2DA; box-shadow:0 -8px 24px rgba(91,113,72,.10);
  transform:translateY(110%); transition:transform .35s var(--bk-ease); font-family:Inter, -apple-system, "Segoe UI", Roboto, sans-serif; }
.bk-buybar.bk-on{ transform:none; }
.bk-buybar__info{ flex:1 1 auto; min-width:0; }
.bk-buybar__name{ display:block; font-size:12px; color:#6B6B66; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bk-buybar__price{ display:block; font-size:18px; font-weight:700; color:var(--bk-terracotta); font-variant-numeric:tabular-nums; }
.bk-buybar__btn{ flex:0 0 auto; background:var(--bk-green); color:#fff; border:0; border-radius:999px; padding:13px 22px; font-weight:700; font-size:15px; cursor:pointer; }
.bk-buybar__btn:active{ transform:scale(.97); }
@media (max-width:767px){
  .bk-buybar{ display:flex; }
  body.bk-buybar-open #fkcart-floating-toggler, body.bk-buybar-open .fkcart-toggler{ bottom:96px !important; transition:bottom .35s var(--bk-ease); }
  body.bk-buybar-open .cky-btn-revisit-wrapper{ bottom:96px !important; transition:bottom .35s var(--bk-ease); }
  body.bk-buybar-open [id^="___ratingbadge"]{ bottom:82px !important; }
  body.bk-buybar-open .tinvwl-wishlist-button, body.bk-buybar-open .woosw-floating{ bottom:96px !important; }
  body.bk-buybar-on{ padding-bottom:72px; }
}

/* 8 · Acessibilidade: sem movimento */
@media (prefers-reduced-motion: reduce){
  html.bk-js .bk-reveal, html.bk-js .bk-words .bk-w{ opacity:1; transform:none; filter:none; transition:none; }
  .e-loop-item.product, ul.products li.product, .elementor-widget-image-box .elementor-image-box-img img,
  .elementor-button, .button, .elementor-location-header .elementor-widget-theme-site-logo img{ transition:none; }
  .e-loop-item.product:hover, ul.products li.product:hover{ transform:none; }
  .bk-pop{ animation:none; }
  .bk-hero::before, .bk-hero::after, .bk-stack, .bk-hero .elementor-button::after{ animation:none; }
  .bk-stack{ transform:none; }
}

/* 14 · Vistos recentemente (gerado no cliente) */
.bk-rv{ padding:40px 20px 56px; max-width:1200px; margin:0 auto; }
.bk-rv__title{ font-family:Chennai, "Chennai", serif; font-weight:400; color:var(--bk-terracotta); font-size:28px; margin:0 0 18px; }
.bk-rv__track{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(150px, 1fr); gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
.bk-rv--page .bk-rv__track{ grid-auto-columns:minmax(170px, 210px); }
.bk-rv__card{ display:flex; flex-direction:column; gap:8px; text-decoration:none; scroll-snap-align:start; border-radius:14px; transition:transform .3s var(--bk-ease); }
.bk-rv__card:hover{ transform:translateY(-3px); }
.bk-rv__card img{ width:100%; aspect-ratio:1; object-fit:cover; border-radius:12px; display:block; outline:1px solid rgba(0,0,0,.06); outline-offset:-1px; }
.bk-rv__name{ font-size:14px; line-height:1.3; color:#2B2B2B; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bk-rv__price{ font-size:14px; font-weight:600; color:var(--bk-green-dark); }
.bk-rv__price del{ color:#9A9A94; font-weight:400; margin-right:6px; }
/* dentro do carrinho lateral */
.fkcart-modal .bk-rv{ padding:8px 16px 16px; }
.fkcart-modal .bk-rv__title{ font-size:16px; font-family:inherit; font-weight:600; color:#2B2B2B; margin-bottom:10px; }
.fkcart-modal .bk-rv__track{ grid-auto-columns:120px; gap:10px; }
.fkcart-modal .bk-rv__name, .fkcart-modal .bk-rv__price{ font-size:12px; }

/* 15 · Swatches de texto (ex.: "Ímanes" no bundle Quadro Completo): o plugin de swatches aplica 30x30 a tudo, o que esmaga os botões com texto */
.woo-variation-swatches .variable-items-wrapper .button-variable-item{ width:auto !important; height:auto !important; min-width:0 !important; padding:6px 14px !important; border-radius:999px !important; margin:0 8px 8px 0 !important; box-shadow:none !important; border:1.5px solid #D9D6CF !important; background:#fff !important; }
.woo-variation-swatches .variable-items-wrapper .button-variable-item .variable-item-span-button{ font-size:13px; line-height:1.2; white-space:nowrap; color:#2B2B2B; overflow:visible !important; width:auto !important; padding:0 2px; }
.woo-variation-swatches .variable-items-wrapper .button-variable-item.selected{ border-color:#5B7148 !important; background:#EEF2EA !important; }
.woo-variation-swatches .variable-items-wrapper .button-variable-item.selected .variable-item-span-button{ color:#5B7148; font-weight:600; }
.woosb-products .woosb-title-inner, .woosb-products .woosb-text{ font-size:15px !important; font-weight:600; line-height:1.3; margin:8px 0 !important; }

/* 16 · Header translúcido (Opção B): sticky, vidro no scroll, logo recolorido, menos ruído.
        O toggle .bk-solid é aplicado por um script inline sempre ativo (bk-performance §7). */
[data-elementor-type="header"]{ position:sticky; top:0; z-index:9990; }
[data-elementor-type="header"] .elementor-widget-theme-site-logo img{
  max-height:64px !important; height:auto !important; width:auto !important;
  filter:brightness(0) saturate(100%) invert(46%) sepia(38%) saturate(760%) hue-rotate(338deg) brightness(93%) contrast(88%);
  transition:max-height .3s var(--bk-ease), filter .3s var(--bk-ease);
}
[data-elementor-type="header"].bk-solid .elementor-widget-theme-site-logo img{ max-height:52px !important; }
/* linha principal: vidro creme por defeito, texto e ícones escuros */
.elementor-element-122b763{
  background:rgba(255,253,251,.92) !important;
  -webkit-backdrop-filter:blur(12px) saturate(1.1); backdrop-filter:blur(12px) saturate(1.1);
  box-shadow:0 2px 16px rgba(58,46,38,.08);
  transition:background .3s var(--bk-ease), box-shadow .3s var(--bk-ease);
}
.elementor-element-122b763 .elementor-nav-menu .elementor-item,
.elementor-element-122b763 .elementor-nav-menu a{ color:#3A2E26 !important; }
.elementor-element-122b763 a.elementor-icon,
.elementor-element-122b763 .elementor-icon i,
.elementor-element-122b763 .elementor-icon svg,
.elementor-element-122b763 .fkcart-mini-toggler,
.elementor-element-122b763 .dgwt-wcas-search-icon svg{ color:#3A2E26 !important; fill:#3A2E26 !important; }
/* homepage: transparente sobre o hero enquanto não há scroll */
body.home{ background:#F6EEE6; }
body.home [data-elementor-type="header"]:not(.bk-solid) .elementor-element-122b763{
  background:transparent !important; box-shadow:none !important;
  -webkit-backdrop-filter:none; backdrop-filter:none;
}
/* barra sage (mensagens + idioma) recolhe ao rolar */
[data-elementor-type="header"].bk-solid .elementor-element-e82cf87{ display:none !important; }
/* menos ruído: favoritos fora do header, tira de confiança duplicada, carrinho flutuante */
[data-elementor-type="header"] a[href*="wishlist"]{ display:none !important; }
.elementor-element-ac41198{ display:none !important; }
.fkcart-toggler{ display:none !important; }

/* 16b · Contraste dos ícones do header (pesquisa, carrinho, conta): vinham brancos do antigo
        bloco terracota e ficavam invisíveis sobre o creme. Escuros em todo o header, exceto a
        barra sage do topo (mantém branco) e o contador do carrinho. */
[data-elementor-type="header"] svg,
[data-elementor-type="header"] svg *{ fill:#3A2E26 !important; }
[data-elementor-type="header"] .elementor-item i,
[data-elementor-type="header"] .elementor-icon i,
[data-elementor-type="header"] .fkcart-shortcode-container,
[data-elementor-type="header"] .dgwt-wcas-search-icon{ color:#3A2E26 !important; }
/* barra sage do topo mantém conteúdo branco */
[data-elementor-type="header"] .elementor-element-e82cf87 svg,
[data-elementor-type="header"] .elementor-element-e82cf87 svg *,
[data-elementor-type="header"] .faixa-passante i,
[data-elementor-type="header"] .faixa-passante svg *{ fill:#fff !important; color:#fff !important; }
/* contador do carrinho: texto branco sobre terracota */
[data-elementor-type="header"] .fkcart-item-count,
[data-elementor-type="header"] .fkcart-item-count *{ color:#fff !important; fill:#fff !important; }
/* esconder o selo flutuante "Store quality by Google" (o inquérito de avaliações mantém-se) */
[id^="___ratingbadge"]{ display:none !important; }

/* 16c · Camada 2 do header: indicador que desliza + mega-menu com fotos (bk-header.js) */
.elementor-nav-menu--main{ position:relative; }
.elementor-nav-menu--main .elementor-item{ position:relative; z-index:1; }
.bk-ind{ position:absolute; z-index:0; top:50%; transform:translateY(-50%); height:34px; border-radius:999px; background:rgba(198,123,84,.16); left:0; width:0; opacity:0; pointer-events:none; transition:left .28s var(--bk-ease), width .28s var(--bk-ease), opacity .2s; }
.bk-mega{ position:fixed; z-index:9995; background:rgba(255,253,251,.98); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border:1px solid var(--bk-line,#E7D9C9); border-radius:20px; box-shadow:0 18px 50px rgba(58,46,38,.18); padding:16px; opacity:0; transform:translateY(-8px); pointer-events:none; transition:opacity .24s var(--bk-ease), transform .24s var(--bk-ease); }
.bk-mega.open{ opacity:1; transform:translateY(0); pointer-events:auto; }
.bk-mega__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
.bk-mega__card{ display:flex; flex-direction:column; text-decoration:none; color:#3A2E26; border:1px solid var(--bk-line,#E7D9C9); border-radius:14px; overflow:hidden; background:#F6EEE6; transition:transform .2s var(--bk-ease), box-shadow .2s var(--bk-ease); }
.bk-mega__card:hover{ transform:translateY(-3px); box-shadow:0 8px 22px rgba(58,46,38,.12); }
.bk-mega__ph{ display:block; aspect-ratio:1.3; background:#EFE0D0 center/cover no-repeat; }
.bk-mega__cap{ padding:9px 11px 11px; font-weight:800; font-size:12.5px; line-height:1.25; }
.bk-mega__cap .nm{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bk-mega__cap small{ display:block; margin-top:3px; font-weight:600; color:#8A7A6C; font-size:11px; }
@media (max-width:1024px){ .bk-mega{ display:none !important; } }

/* 16d · Correções pós-review do header mobile:
        - esconder favoritos (coração) que escapava no cluster de ícones;
        - ícone de conta é de contorno (o §16b enchia-o de cor e ficava um borrão);
        - menu mobile (dropdown) claro, coerente com o header novo, em vez do bloco sage. */
[data-elementor-type="header"] svg.e-fas-heart{ display:none !important; }
[data-elementor-type="header"] .elementor-icon-list-item:has(svg.e-fas-heart),
[data-elementor-type="header"] .elementor-widget-icon:has(svg.e-fas-heart),
[data-elementor-type="header"] a.elementor-icon:has(svg.e-fas-heart){ display:none !important; }
[data-elementor-type="header"] .elementor-icon-list-icon svg,
[data-elementor-type="header"] .elementor-icon-list-icon svg *{ fill:none !important; stroke:#3A2E26 !important; stroke-width:1.7px !important; }
/* menu mobile claro */
.elementor-nav-menu--dropdown{ background:#FFFDFB !important; border-top:1px solid #E7D9C9 !important; }
.elementor-nav-menu--dropdown .elementor-item{ border-bottom:1px solid #F0E7DB !important; }

/* 17 · Hero por idade (bk-hero.js), só na homepage. Substitui o conteúdo do hero. */
.bk-agehero{ display:grid; grid-template-columns:1.02fr .98fr; gap:40px; align-items:center; max-width:1180px; margin:0 auto; padding:40px 22px; }
@media(max-width:900px){ .bk-agehero{ grid-template-columns:1fr; gap:22px; padding:24px 20px 30px; } }
.bk-agehero__eyebrow{ font-size:12px; letter-spacing:.15em; text-transform:uppercase; color:#5A7454; font-weight:800; }
.bk-agehero__title{ font-family:Chennai,"Chennai",serif; color:#C67B54; font-size:clamp(40px,5vw,60px); line-height:1.02; margin:10px 0 14px; }
.bk-agehero__sub{ color:#5c4f44; max-width:44ch; font-size:16px; }
.bk-agehero__lead{ margin:26px 0 14px; font-size:12.5px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:#8A7A6C; }
.bk-tl{ position:relative; display:flex; justify-content:space-between; max-width:560px; }
.bk-tl__line,.bk-tl__prog{ position:absolute; top:10px; height:3px; border-radius:2px; }
.bk-tl__line{ background:#D8C9B6; }
.bk-tl__prog{ background:#C67B54; width:0; transition:left .4s var(--bk-ease), width .4s var(--bk-ease); }
.bk-tl__stop{ position:relative; z-index:1; background:transparent !important; border:0 !important; box-shadow:none !important; -webkit-appearance:none; appearance:none; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:9px; flex:1; padding:0; }
.bk-tl__stop:hover,.bk-tl__stop:active,.bk-tl__stop:focus{ background:transparent !important; box-shadow:none !important; }
.bk-tl__stop:focus-visible{ outline:2px solid rgba(198,123,84,.6); outline-offset:4px; border-radius:10px; }
.bk-tl__dot{ width:22px; height:22px; border-radius:50%; background:#F6EEE6; border:3px solid #D8C9B6; transition:.25s var(--bk-ease); }
.bk-tl__lbl{ font-size:10.5px; font-weight:800; color:#8A7A6C; white-space:nowrap; transition:color .2s; }
.bk-tl__stop.on .bk-tl__dot{ background:#C67B54; border-color:#C67B54; transform:scale(1.18); box-shadow:0 0 0 6px rgba(198,123,84,.16); }
.bk-tl__stop.on .bk-tl__lbl{ color:#A85D3C; }
.bk-agehero__cta{ display:inline-flex; align-items:center; gap:8px; margin-top:26px; background:#C67B54; color:#fff; border-radius:999px; padding:14px 26px; font-weight:800; font-size:15px; text-decoration:none; box-shadow:0 6px 18px rgba(198,123,84,.35); transition:background .2s, transform .2s; }
.bk-agehero__cta:hover{ background:#A85D3C; transform:translateY(-2px); color:#fff; }
.bk-agehero__stage{ background:rgba(255,253,251,.55); border:1px solid var(--bk-line,#E7D9C9); border-radius:22px; padding:18px; }
.bk-agehero__tender{ font-family:Chennai,"Chennai",serif; font-size:24px; color:#3A2E26; margin-bottom:14px; min-height:1.2em; }
.bk-picks{ display:flex; flex-direction:column; gap:10px; }
.bk-picks__load{ color:#8A7A6C; font-size:13px; padding:6px 2px; }
.bk-pick{ display:flex; gap:12px; align-items:center; background:#fff; border:1px solid var(--bk-line,#E7D9C9); border-radius:14px; padding:9px; text-decoration:none; color:#3A2E26; transition:transform .2s var(--bk-ease), box-shadow .2s var(--bk-ease); }
.bk-pick:hover{ transform:translateX(3px); box-shadow:0 8px 20px rgba(58,46,38,.10); }
.bk-pick__img{ width:52px; height:52px; border-radius:10px; flex:0 0 auto; background:#EFE0D0 center/cover no-repeat; }
.bk-pick__nm{ font-weight:800; font-size:13.5px; line-height:1.2; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bk-pick__pr{ color:#A85D3C; font-weight:800; font-size:13px; margin-top:2px; display:block; }
.bk-swap{ animation:bk-heroswap .42s ease; }
@keyframes bk-heroswap{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }

/* 17b · Hero à prova de saltos (CLS) + contraste do botão.
        O conteúdo original do hero é escondido por CSS (instantâneo, sem flash) e o espaço
        das sugestões é reservado para não haver salto quando carregam. */
.bk-hero > *:not(.bk-agehero-wrap){ display:none !important; }
.bk-agehero__stage{ min-height:300px; }
.bk-picks{ min-height:222px; }
@media(max-width:900px){ .bk-agehero__stage{ min-height:0; } }
.bk-agehero__cta, .bk-agehero__cta:hover, .bk-agehero__cta:focus, .bk-agehero__cta:visited, .bk-agehero__cta *{ color:#fff !important; }
