/* ==========================================================================
   Fenobill — sistema de marca
   Paleta: gradiente marrom (institucional), preto quase-marrom (texto),
   marrom quase-branco (superfícies), branco (fundo base).
   ========================================================================== */

html{ overflow-x: hidden; }
body{ overflow-x: hidden; max-width: 100vw; }

:root{
  --fb-brown-900: rgb(69, 42, 28);
  --fb-brown-600: rgb(141, 71, 27);
  --fb-gradient: linear-gradient(135deg, rgb(69,42,28) 0%, rgb(141,71,27) 100%);
  --fb-black: #201a16;
  --fb-ink: #2b241f;
  --fb-ink-soft: #6b6058;
  --fb-cream: #f7f1e8;
  --fb-cream-line: #e9ddc9;
  --fb-white: #ffffff;
  --fb-whatsapp: #8d471b;

  --fb-radius: 10px;
  --fb-radius-lg: 16px;
  --fb-shadow: 0 18px 40px -20px rgba(32, 26, 22, 0.35);
  --fb-shadow-sm: 0 8px 20px -12px rgba(32, 26, 22, 0.25);

  --fb-font-display: "Arial Black";
  --fb-font-body: "Poppins", -apple-system, sans-serif;
}

/* ---------- base rhythm ---------- */
.fb-section{ padding: 96px 0; }
.fb-section--tight{ padding: 64px 0; }
.fb-section--cream{ background: var(--fb-cream); }
.fb-section--white{ background: var(--fb-white); }
.fb-section--dark{ background: var(--fb-gradient); }

@media (max-width: 991px){
  .fb-section{ padding: 64px 0; }
  .fb-section--tight{ padding: 48px 0; }
}
@media (max-width: 575px){
  .fb-section{ padding: 48px 0; }
}

.fb-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family: var(--fb-font-body);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--fb-brown-600) !important;
  margin-bottom: 14px;
}
/* .fb-eyebrow::before{
  content:"";
  width: 22px;
  height: 2px;
  background: var(--fb-brown-600);
  display:inline-block;
} */

.fb-heading{
  font-family: var(--fb-font-display);
  color: var(--fb-black) !important;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.01em;
  margin: 0 0 18px;
}
.fb-heading--xl{ font-size: 42px; }
.fb-heading--lg{ font-size: 32px; }
.fb-heading--md{ font-size: 24px; }
@media (max-width: 767px){
  .fb-heading--xl{ font-size: 30px; }
  .fb-heading--lg{ font-size: 25px; }
}
.fb-heading .fb-accent{ color: var(--fb-brown-600) !important; }

.fb-lede{
  font-family: var(--fb-font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--fb-ink-soft) !important;
  max-width: 62ch;
}

.fb-section-head{ margin-bottom: 48px; }
.fb-section-head.text-center{ margin-left:auto; margin-right:auto; }
.fb-section-head .fb-lede{ margin: 0 auto; }
.fb-section-head.text-center .fb-eyebrow::before{ display:none; }

/* ---------- botÃµes ---------- */
.fb-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family: var(--fb-font-body);
  font-weight: 600;
  font-size: 15px;
  padding: 14px 30px;
  border-radius: 6px;
  border: 1.5px solid transparent;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
  white-space: nowrap;
}
.fb-btn i{ font-size: 19px; line-height:1; }
.fb-btn:hover{ transform: translateY(-2px); }

.fb-btn--whatsapp{
  background: var(--fb-whatsapp);
  color: #ffffff !important;
  box-shadow: var(--fb-shadow-sm);
}
.fb-btn--whatsapp:hover{ background: #472b1c; color: #fff !important; }

.fb-btn--outline{
  background: transparent;
  border-color: rgba(255,255,255,0.55);
  color: #ffffff !important;
}
.fb-btn--outline:hover{ background: rgba(255,255,255,0.12); }

.fb-btn--outline-dark{
  background: transparent;
  border-color: var(--fb-cream-line);
  color: var(--fb-brown-900) !important;
}
.fb-btn--outline-dark:hover{ background: var(--fb-cream); }

/* ==========================================================================
   HEADER
   ========================================================================== */
.fb-topbar{
  background: var(--fb-gradient);
}
.fb-topbar-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap: 10px 28px;
  min-height: 40px;
  padding: 14px 0;
  font-family: var(--fb-font-body);
  font-size: 13px;
}
@media (max-width: 575px){
  .fb-topbar-inner{ justify-content:center; font-size:12px; gap:8px 18px; }
}
.fb-topbar-inner a{
  color: rgba(255,255,255,0.92) !important;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.fb-topbar-inner a:hover{ color: #fff !important; }
.fb-topbar-inner i{ font-size:15px; }

.fb-header .navbar-area{ background:#fff; }
.fb-header .bl{ display:none; }
.fb-header .desktop-nav{
  /* border-bottom: 1px solid var(--fb-cream-line); */
}
.fb-header .bk_header{ padding: 6px 0; }
.fb-header #logo img{ width:auto; }

.fb-header .navbar-nav{ gap: 6px; }
.fb-header .navbar-nav .nav-link{
  font-family: var(--fb-font-body);
  font-weight: 600;
  font-size: 14.5px;
  color: var(--fb-ink) !important;
  padding: 20px 16px !important;
  border-radius: 5px;
  transition: background-color .2s ease, color .2s ease;
}
.fb-header .navbar-nav .nav-link:hover,
.fb-header .navbar-nav .nav-item:hover > .nav-link{
  background: var(--fb-cream);
  color: var(--fb-brown-900) !important;
}
.fb-header .dropdown-menu{
  min-width: 240px;
  border: 1px solid var(--fb-cream-line);
  border-radius: var(--fb-radius);
  box-shadow: var(--fb-shadow);
  padding: 8px !important;
  margin-top: 12px !important;
}
.fb-header .dropdown-menu li{ padding: 0 !important; }
.fb-header .dropdown-menu li + li{ margin-top: 2px; }
.desktop-nav .navbar .navbar-nav .nav-item .dropdown-menu li a,
.fb-header .dropdown-menu li a,
.fb-header .dropdown-menu .nav-link{
  display: block;
  white-space: nowrap;
  color: var(--fb-ink) !important;
  font-family: var(--fb-font-body) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  padding: 12px 18px !important;
  margin: 0 !important;
  border-bottom: none !important;
  border-radius: 8px !important;
  transition: background-color .2s ease, color .2s ease;
}
.desktop-nav .navbar .navbar-nav .nav-item .dropdown-menu li a:hover,
.desktop-nav .navbar .navbar-nav .nav-item .dropdown-menu li a:focus,
.fb-header .dropdown-menu li a:hover,
.fb-header .dropdown-menu .nav-link:hover{
  background: var(--fb-cream) !important;
  color: var(--fb-brown-900) !important;
}

.fb-header .others-options .midias-s a{
  width:36px; height:36px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%;
  background: var(--fb-cream);
  color: var(--fb-brown-900) !important;
  font-size:15px;
  transition: background-color .2s ease, color .2s ease;
}
.fb-header .others-options .midias-s a:hover{ background: var(--fb-brown-900); color: #fff !important; }

.fb-header .orcamento_s{
  display:inline-flex; align-items:center; gap:8px;
  background: linear-gradient(0deg, rgb(69, 42, 28) 0%, rgb(141, 71, 27) 100%) !important;
  color: #fff !important;
  font-family: var(--fb-font-body);
  font-weight:600;
  font-size:18px;
  padding: 16px 20px !important;
  border-radius: 6px;
  border: none;
}
.fb-header .orcamento_s:hover{ background:#8d471b !important; }

/* ==========================================================================
   MENU MOBILE (overlay próprio, sempre acima de tudo)
   ========================================================================== */
.fb-header{ position: relative; z-index: 40; }

.fb-burger{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:42px;
  height:42px;
  padding:0;
  border:none;
  background:transparent;
  cursor:pointer;
  flex-shrink:0;
}
.fb-burger span{
  display:block;
  width:24px;
  height:2px;
  border-radius:2px;
  background: var(--fb-brown-900);
  transition: transform .25s ease, opacity .25s ease;
}
.fb-burger.is-active span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.fb-burger.is-active span:nth-child(2){ opacity:0; }
.fb-burger.is-active span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

.fb-mobile-nav{
  position: fixed;
  inset: 0;
  z-index: 100000;
  visibility: hidden;
  pointer-events: none;
}
.fb-mobile-nav.is-open{ visibility: visible; pointer-events: auto; }

.fb-mobile-nav-backdrop{
  position:absolute; inset:0;
  background: rgba(32,26,22,0.55);
  opacity:0;
  transition: opacity .3s ease;
}
.fb-mobile-nav.is-open .fb-mobile-nav-backdrop{ opacity:1; }

.fb-mobile-nav-panel{
  position:absolute;
  top:0; right:0;
  height:100%;
  width:min(86vw, 360px);
  background: var(--fb-white);
  box-shadow: -18px 0 40px -20px rgba(32,26,22,0.45);
  display:flex;
  flex-direction:column;
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.22,.61,.36,1);
  overflow-y:auto;
}
.fb-mobile-nav.is-open .fb-mobile-nav-panel{ transform: translateX(0); }

.fb-mobile-nav-head{
  display:flex; align-items:center; justify-content:space-between;
  padding: 20px 22px;
  border-bottom: 1px solid var(--fb-cream-line);
}
.fb-mobile-nav-head img{ height:36px; }
.fb-mobile-nav-close{
  width:36px; height:36px;
  border:none;
  border-radius:50%;
  background: var(--fb-cream);
  color: var(--fb-brown-900);
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.fb-mobile-nav-list{
  list-style:none;
  margin:0;
  padding: 8px 10px;
  flex:1;
}
.fb-mobile-nav-list > li{ border-bottom:1px solid var(--fb-cream-line); }
.fb-mobile-nav-list > li:last-child{ border-bottom:none; }
.fb-mobile-nav-list > li > a{
  display:block;
  padding: 16px 12px;
  font-family: var(--fb-font-body);
  font-weight:600;
  font-size:15.5px;
  color: var(--fb-ink) !important;
}
.fb-mobile-nav-list details > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 16px 12px;
  font-family: var(--fb-font-body);
  font-weight:600;
  font-size:15.5px;
  color: var(--fb-ink) !important;
  cursor:pointer;
  list-style:none;
}
.fb-mobile-nav-list details > summary::-webkit-details-marker{ display:none; }
.fb-mobile-nav-list details > summary::after{
  content:"\e9ac";
  font-family:"boxicons" !important;
  font-size:18px;
  color: var(--fb-brown-600);
  transition: transform .2s ease;
}
.fb-mobile-nav-list details[open] > summary::after{ transform: rotate(180deg); }
.fb-mobile-nav-list details ul{
  list-style:none;
  margin:0 0 10px;
  padding:0 0 0 14px;
}
.fb-mobile-nav-list details ul li a{
  display:block;
  padding:11px 12px;
  font-family: var(--fb-font-body);
  font-size:14.5px;
  color: var(--fb-ink-soft) !important;
}
.fb-mobile-nav-list details ul li a:hover{ color: var(--fb-brown-900) !important; }

.fb-mobile-nav-foot{
  padding: 18px 22px 26px;
  border-top: 1px solid var(--fb-cream-line);
  display:flex;
  flex-direction:column;
  gap:16px;
}
.fb-mobile-nav-foot .fb-btn{ width:100%; justify-content:center; }
.fb-mobile-nav-social{ display:flex; justify-content:center; gap:12px; }
.fb-mobile-nav-social a{
  width:38px; height:38px;
  border-radius:50%;
  background: var(--fb-cream);
  color: var(--fb-brown-900) !important;
  display:flex; align-items:center; justify-content:center;
}

body.fb-noscroll{ overflow:hidden; }

@media (max-width: 991px){
  .fb-burger{ display:flex; }
}
@media (prefers-reduced-motion: reduce){
  .fb-mobile-nav-panel, .fb-mobile-nav-backdrop{ transition:none; }
}

/* ==========================================================================
   HERO
   ========================================================================== */
.fb-hero{
  position: relative;
  min-height: 640px;
  display:flex;
  align-items:center;
  background-color: var(--fb-brown-900);
  background-size: cover;
  background-position: center;
}
.fb-hero > .container{ min-width: 0; width: 100%; }
@media (max-width: 767px){
  .fb-hero{ min-height: 560px; }
}
.fb-hero-scrim{
  position:absolute; inset:0;
  background: linear-gradient(100deg, rgba(32,26,22,0.90) 0%, rgba(69,42,28,0.78) 42%, rgba(69,42,28,0.35) 78%, rgba(69,42,28,0.15) 100%);
}
.fb-hero-inner{
  position:relative;
  z-index:2;
  max-width: 720px;
  width: 100%;
  padding: 60px 0;
}
.fb-hero-inner .fb-eyebrow{ color: #e9c9a6 !important; }
/* .fb-hero-inner .fb-eyebrow::before{ background:#e9c9a6; } */
.fb-hero-inner h1{
  font-family: var(--fb-font-display);
  color: #fff !important;
  font-weight:700;
  font-size: 44px;
  line-height:1.2;
  margin: 0 0 18px;
  text-wrap: balance;
}
@media (max-width: 767px){ .fb-hero-inner h1{ font-size: 30px; } }
.fb-hero-inner p{
  font-family: var(--fb-font-body);
  color: rgba(255,255,255,0.88) !important;
  font-size: 17px;
  line-height:1.7;
  margin: 0 0 30px;
  max-width: 46ch;
}
.fb-hero-actions, .fb-actions{ display:flex; flex-wrap:wrap; gap:14px; }

/* ---------- hero: slider com fade + entrada dos elementos ---------- */
.fb-hero-slider{
  position:relative;
  min-height:640px;
}
@media (max-width:767px){ .fb-hero-slider{ min-height:560px; } }

.fb-hero-slider .fb-hero{
  position:absolute;
  inset:0;
  min-height:0;
  opacity:0;
  visibility:hidden;
  z-index:1;
  transition: opacity 1.1s ease;
}
.fb-hero-slider .fb-hero.is-active{
  position:relative;
  min-height:640px;
  opacity:1;
  visibility:visible;
  z-index:2;
}
@media (max-width:767px){
  .fb-hero-slider .fb-hero.is-active{ min-height:560px; }
}

/* elementos partem "escondidos"; a animação só roda quando o slide vira .is-active */
.fb-hero-slide .fb-hero-inner > *{
  opacity:0;
  transform: translateY(24px);
}
.fb-hero-slide.is-active .fb-eyebrow{ animation: fbHeroRise .75s cubic-bezier(.22,.61,.36,1) .15s forwards; }
.fb-hero-slide.is-active .fb-hero-inner h1{ animation: fbHeroRise .75s cubic-bezier(.22,.61,.36,1) .3s forwards; }
.fb-hero-slide.is-active .fb-hero-inner p{ animation: fbHeroRise .75s cubic-bezier(.22,.61,.36,1) .45s forwards; }
.fb-hero-slide.is-active .fb-hero-actions{ animation: fbHeroRise .75s cubic-bezier(.22,.61,.36,1) .6s forwards; }

@keyframes fbHeroRise{
  from{ opacity:0; transform: translateY(24px); }
  to{ opacity:1; transform: translateY(0); }
}

.fb-hero-dots{
  position:absolute;
  left:0; right:0;
  bottom:26px;
  z-index:5;
  display:flex;
  justify-content:center;
  gap:10px;
}
.fb-hero-dot{
  width:9px; height:9px;
  padding:0;
  border-radius:50%;
  border:2px solid rgba(255,255,255,0.55);
  background:transparent;
  cursor:pointer;
  transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.fb-hero-dot:hover{ border-color:#fff; }
.fb-hero-dot.is-active{ background:#fff; border-color:#fff; transform:scale(1.2); }

@media (prefers-reduced-motion: reduce){
  .fb-hero-slider .fb-hero{ transition:none; }
  .fb-hero-slide .fb-hero-inner > *{ opacity:1 !important; transform:none !important; animation:none !important; }
}

/* ---------- faixa de produtos após o hero ---------- */
.fb-oferta{
  position:relative;
  z-index:3;
  background: var(--fb-white);
  border-top: 1px solid var(--fb-cream-line);
  box-shadow: 0 -18px 30px -24px rgba(32,26,22,.25);
}
.fb-oferta-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    border: 1px solid #e9ddc9;
    border-top: 0;
    border-radius: 0 0 10px 10px;
}
.fb-oferta-col{
  display:flex;
  flex-direction:column;
  gap:4px;
  text-align: center;;
  padding: 22px 28px;
  border-right: 1px solid var(--fb-cream-line);
}
.fb-oferta-col:last-child{ border-right:none; }
.fb-oferta-nome{
  font-family: var(--fb-font-body);
  font-weight:700;
  font-size:15px;
  color: var(--fb-brown-900) !important;
}
.fb-oferta-preco{
  font-family: var(--fb-font-body);
  font-size:14px;
  color: var(--fb-ink-soft) !important;
}
.fb-oferta-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
  padding: 16px 28px;
  border-radius: 6px;
  background: var(--fb-cream);
  border-top: 1px solid var(--fb-cream-line);
}
.fb-oferta-foot span{
  display:flex;
  align-items:center;
  gap:8px;
  font-family: var(--fb-font-body);
  font-size:14px;
  color: var(--fb-ink) !important;
}
.fb-oferta-foot i{ color: #FFF; }

@media (max-width: 767px){
  .fb-oferta-col{
    border-right:none;
    border-bottom: 1px solid var(--fb-cream-line);
    text-align:center;
    align-items:center;
  }
  .fb-oferta-grid > .fb-oferta-col:last-of-type{ border-bottom:none; }
  .fb-oferta-foot{ flex-direction:column; text-align:center; }
}

/* ==========================================================================
   CARDS diferenciais
   ========================================================================== */
.fb-diff-card{
  height:100%;
  background: var(--fb-white);
  border: 1px solid var(--fb-cream-line);
  border-radius: var(--fb-radius-lg);
  padding: 36px 30px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.fb-diff-card:hover{
  transform: translateY(-4px);
  box-shadow: var(--fb-shadow);
  border-color: transparent;
}
.fb-diff-icon{
  width:56px; height:56px;
  border-radius: 50%;
  display:flex; align-items:center; justify-content:center;
  background: var(--fb-gradient);
  color: #fff !important;
  font-size: 24px;
  margin-bottom: 22px;
}
.fb-diff-card h3{
  font-family: var(--fb-font-body);
  font-weight:700;
  font-size:17px;
  color: var(--fb-black) !important;
  margin: 0 0 10px;
}
.fb-diff-card p{
  font-family: var(--fb-font-body);
  font-size:14.5px;
  line-height:1.7;
  color: var(--fb-ink-soft) !important;
  margin:0;
}

/* ==========================================================================
   SOBRE
   ========================================================================== */
.fb-sobre-grid{
  display:grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 64px;
  align-items:center;
}
@media (max-width: 991px){
  .fb-sobre-grid{ grid-template-columns: 1fr; gap: 36px; }
}
.fb-sobre-figure{
  position:relative;
  border-radius: var(--fb-radius-lg);
  overflow:hidden;
  box-shadow: var(--fb-shadow);
  aspect-ratio: 4/3;
  background: var(--fb-gradient);
}
.fb-sobre-figure img{ width:100%; height:100%; object-fit:cover; display:block; }
.fb-sobre-badge{
  position:absolute;
  left:24px; bottom:24px;
  background: rgba(32,26,22,0.72);
  backdrop-filter: blur(6px);
  color: #fff !important;
  font-family: var(--fb-font-body);
  font-size:13px;
  font-weight:600;
  padding: 10px 18px;
  border-radius: 6px;
  display:flex; align-items:center; gap:8px;
}
.fb-sobre-badge i{ color: #e9c9a6 !important; }

.fb-sobre-list{ margin: 26px 0 32px; padding:0; list-style:none; }
.fb-sobre-list li{
  display:flex; gap:14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--fb-cream-line);
  font-family: var(--fb-font-body);
  font-size:15px;
  color: var(--fb-ink) !important;
}
.fb-sobre-list li:last-child{ border-bottom:none; }
.fb-sobre-list i{ color: var(--fb-brown-600) !important; font-size:19px; margin-top:2px; }

/* ==========================================================================
   PRODUTOS
   ========================================================================== */
.fb-product-card{
  background: var(--fb-white);
  border: 1px solid var(--fb-cream-line);
  border-radius: var(--fb-radius-lg);
  overflow:hidden;
  height:100%;
  display:flex;
  flex-direction:column;
  transition: transform .25s ease, box-shadow .25s ease;
}
.fb-product-card:hover{ transform: translateY(-4px); box-shadow: var(--fb-shadow); }
.fb-product-media{
  aspect-ratio: 16/10;
  background: var(--fb-gradient);
  position:relative;
  display:flex; align-items:center; justify-content:center;
}
.fb-product-media img{ width:100%; height:100%; object-fit:cover; }
.fb-product-media .fb-product-placeholder{
  color: rgba(255,255,255,0.85) !important;
  font-family: var(--fb-font-body);
  font-size:13px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.fb-product-tag{
  position:absolute; top:16px; left:16px;
  background:#fff;
  color: var(--fb-brown-900) !important;
  font-family: var(--fb-font-body);
  font-weight:700;
  font-size:12.5px;
  padding: 6px 14px;
  border-radius:999px;
}
.fb-product-body{ padding: 30px 30px 28px; display:flex; flex-direction:column; gap:10px; flex:1; }
.fb-product-body h3{
  font-family: var(--fb-font-display);
  font-size:22px;
  color: var(--fb-black) !important;
  margin:0;
}
.fb-product-body p{
  font-family: var(--fb-font-body);
  font-size:14.5px;
  color: var(--fb-ink-soft) !important;
  margin:0;
  flex:1;
}
.fb-product-footer{
  display:flex; align-items:center; justify-content:space-between;
  margin-top: 10px;
  padding-top: 18px;
  border-top: 1px solid var(--fb-cream-line);
}
.fb-product-link{
  font-family: var(--fb-font-body);
  font-weight:700;
  font-size:14px;
  color: var(--fb-brown-900) !important;
  display:inline-flex; align-items:center; gap:6px;
  transition: gap .2s ease;
}
.fb-product-link:hover{ gap:10px; color: var(--fb-brown-600) !important; }

/* ==========================================================================
   BLOG
   ========================================================================== */
.fb-post-card{
  display:block;
  background: var(--fb-white);
  border: 1px solid var(--fb-cream-line);
  border-radius: var(--fb-radius-lg);
  overflow:hidden;
  height:100%;
  transition: transform .25s ease, box-shadow .25s ease;
}
.fb-post-card:hover{ transform: translateY(-4px); box-shadow: var(--fb-shadow); }
.fb-post-media{
  aspect-ratio: 16/10;
  background: var(--fb-gradient);
  position:relative;
  display:flex; align-items:center; justify-content:center;
}
.fb-post-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.fb-post-media i{ font-size:40px; color:rgba(255,255,255,0.5); }
.fb-post-date{
  position:absolute; top:16px; left:16px;
  background:#fff;
  color: var(--fb-brown-900) !important;
  font-family: var(--fb-font-body);
  font-weight:700;
  font-size:11.5px;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding: 6px 14px;
  border-radius:999px;
}
.fb-post-body{ padding:26px 26px 24px; }
.fb-post-body h3{
  font-family: var(--fb-font-display);
  font-size:19px;
  color: var(--fb-black) !important;
  margin:0 0 16px;
  line-height:1.32;
}
@media (max-width:767px){
  .fb-post-body{ text-align:center; }
}

/* ==========================================================================
   CTA whatsapp
   ========================================================================== */
.fb-cta{
  background: var(--fb-gradient);
  border-radius: var(--fb-radius-lg);
  padding: 56px;
  text-align:center;
  color: #fff !important;
}
@media (max-width: 767px){ .fb-cta{ padding: 40px 24px; } }
.fb-cta h2{
  font-family: var(--fb-font-display);
  font-size:28px;
  font-weight:700;
  color: #fff !important;
  margin: 0 0 12px;
}
.fb-cta p{
  font-family: var(--fb-font-body);
  font-size:16px;
  color: rgba(255,255,255,0.82) !important;
  margin: 0 0 28px;
}

/* ==========================================================================
   PROVA / 30 ANOS
   ========================================================================== */
.fb-prova{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 56px;
  align-items:center;
}
@media (max-width: 991px){ .fb-prova{ grid-template-columns:1fr; gap:28px; } }
.fb-prova-figure{
  position:relative;
  border-radius: var(--fb-radius-lg);
  overflow:hidden;
  box-shadow: var(--fb-shadow);
  aspect-ratio: 4/3;
}
.fb-prova-figure img{ width:100%; height:100%; object-fit:cover; display:block; }
.fb-prova-badge{
  position:absolute;
  left:20px; bottom:20px;
  background: rgba(255,255,255,0.95);
  padding: 14px 22px;
  border-radius: var(--fb-radius);
  font-family: var(--fb-font-display);
  font-size:30px;
  font-weight:700;
  line-height:1;
  color: var(--fb-brown-900) !important;
  box-shadow: var(--fb-shadow-sm);
}
.fb-prova-badge small{
  display:block;
  font-family: var(--fb-font-body);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color: var(--fb-ink-soft) !important;
  margin-top:3px;
}
.fb-prova-num{
  font-family: var(--fb-font-display);
  font-size: 88px;
  font-weight:700;
  color: var(--fb-brown-600) !important;
  line-height:1;
}
.fb-prova-num small{
  display:block;
  font-family: var(--fb-font-body);
  font-size:14px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: var(--fb-ink-soft) !important;
  margin-top:10px;
}
.fb-prova-links{ display:flex; gap:14px; flex-wrap:wrap; margin-top:22px; }
.fb-prova-links a{
  font-family: var(--fb-font-body);
  font-weight:700;
  font-size:14.5px;
  color: var(--fb-brown-900) !important;
  display:inline-flex; align-items:center; gap:6px;
}
.fb-prova-links a:hover{ color: var(--fb-brown-600) !important; }

/* ==========================================================================
   FAQ
   ========================================================================== */
.fb-faq-item{
  border-bottom: 1px solid var(--fb-cream-line);
  padding: 22px 0;
}
.fb-faq-item:first-child{ padding-top:0; }
.fb-faq-item h3{
  font-family: var(--fb-font-body);
  font-weight:700;
  font-size:16px;
  color: var(--fb-black) !important;
  margin:0 0 8px;
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.fb-faq-item h3 i{ color: var(--fb-brown-600) !important; font-size:19px; margin-top:2px; }
.fb-faq-item p{
  font-family: var(--fb-font-body);
  font-size:14.5px;
  line-height:1.7;
  color: var(--fb-ink-soft) !important;
  margin:0 0 0 31px;
}

/* ---------- FAQ accordion (centralizado) ---------- */
.fb-accordion{
  max-width: 680px;
  margin: 0 auto;
}
.fb-accordion-item{
  border-bottom: 1px solid var(--fb-cream-line);
}
.fb-accordion-item:first-child{ border-top: 1px solid var(--fb-cream-line); }
.fb-accordion-item summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding: 20px 8px;
  text-align:center;
  font-family: var(--fb-font-body);
  font-weight:700;
  font-size:16px;
  color: var(--fb-black) !important;
}
.fb-accordion-item summary::-webkit-details-marker{ display:none; }
.fb-accordion-item summary::after{
  content:"\e9ac";
  font-family:"boxicons" !important;
  font-size:20px;
  color: var(--fb-brown-600);
  flex-shrink:0;
  transition: transform .25s ease;
}
.fb-accordion-item[open] summary::after{ transform: rotate(180deg); }
.fb-accordion-body{
  padding: 0 8px 22px;
  text-align:center;
}
.fb-accordion-body p{
  font-family: var(--fb-font-body);
  font-size:14.5px;
  line-height:1.7;
  color: var(--fb-ink-soft) !important;
  margin:0 auto;
  max-width:56ch;
}

/* ==========================================================================
   DEPOIMENTOS
   ========================================================================== */
.fb-quote-card{
  background: var(--fb-cream);
  border-radius: var(--fb-radius-lg);
  padding: 30px 28px;
  height:100%;
}
.fb-quote-card p{
  font-family: var(--fb-font-body);
  font-style: italic;
  font-size:15px;
  line-height:1.7;
  color: var(--fb-ink) !important;
  margin:0 0 16px;
}
.fb-quote-card strong{
  font-family: var(--fb-font-body);
  font-size:14px;
  color: var(--fb-brown-900) !important;
}

/* ==========================================================================
   PÃGINA INTERNA (produto / institucional / blog)
   ========================================================================== */
.fb-page-hero{
  background: var(--fb-gradient);
  padding: 56px 0 44px;
}
.fb-page-hero .fb-eyebrow{ color:#e9c9a6 !important; justify-content:center; }
.fb-page-hero .fb-eyebrow::before{ display:none; }
.fb-page-hero h1{
  font-family: var(--fb-font-display);
  color:#fff !important;
  font-size:36px;
  text-align:left;
  margin:0 0 10px;
  text-wrap:balance;
}
.fb-page-hero .fb-page-sub{
  text-align:left;
  color: rgba(255,255,255,0.82) !important;
  font-family: var(--fb-font-body);
  font-size:15.5px;
  /* max-width:56ch; */
  margin:0 auto 22px;
}
.fb-breadcrumb{
  display:flex; justify-content:start; flex-wrap:wrap; gap:6px;
  list-style:none; padding:0; margin:0;
  font-family: var(--fb-font-body); font-size:13px;
}
.fb-breadcrumb li{ color: rgba(255,255,255,0.6); display:flex; gap:6px; }
.fb-breadcrumb li:not(:last-child)::after{ content:"/"; color:rgba(255,255,255,0.35); margin-left:6px; }
.fb-breadcrumb a{ color: rgba(255,255,255,0.85) !important; }
.fb-breadcrumb a:hover{ color:#fff !important; }
.fb-breadcrumb li.active{ color:#fff !important; font-weight:600; }

.fb-layout{
  display:grid;
  grid-template-columns: 1fr 340px;
  gap: 56px;
  align-items:start;
}
@media (max-width: 991px){
  .fb-layout{ grid-template-columns: 1fr; gap:36px; }
}
.fb-layout-main{ min-width:0; }
.fb-sidebar{
  position:sticky;
  top:24px;
  display:flex;
  flex-direction:column;
  gap:20px;
}

.fb-side-card{
  background: var(--fb-cream);
  border-radius: var(--fb-radius-lg);
  padding: 28px 26px;
}
.fb-side-card h4{
  font-family: var(--fb-font-body);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:12px;
  font-weight:700;
  color: var(--fb-ink-soft) !important;
  margin:0 0 12px;
}
.fb-side-price{
  font-family: var(--fb-font-display);
  font-size:24px;
  color: var(--fb-brown-900) !important;
  margin:0 0 18px;
  line-height:1.3;
}
.fb-side-list{ list-style:none; padding:0; margin:0 0 20px; display:flex; flex-direction:column; gap:11px; }
.fb-side-list li{ display:flex; gap:10px; align-items:flex-start; font-family: var(--fb-font-body); font-size:14px; color: var(--fb-ink) !important; }
.fb-side-list i{ color: var(--fb-brown-600) !important; font-size:16px; margin-top:2px; }
.fb-side-card .fb-btn{ width:100%; justify-content:center; }

.fb-side-card--dark{ background: var(--fb-gradient); }
.fb-side-card--dark h4{ color: rgba(255,255,255,0.7) !important; }
.fb-side-card--dark p{ color:#fff !important; font-family:var(--fb-font-body); font-size:14.5px; line-height:1.6; margin:0 0 18px; }
.fb-side-card--dark .fb-side-nav a{ color:#fff !important; border-bottom-color: rgba(255,255,255,0.2); }
.fb-side-card--dark .fb-side-nav a:hover{ color:#e9c9a6 !important; }
.fb-side-card--dark .fb-side-nav a i{ color:#e9c9a6 !important; }
.fb-side-card--dark .fb-side-nav a.is-active{ background: rgba(255,255,255,0.14); color:#fff !important; }

.fb-side-nav{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; }
.fb-side-nav a{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding:13px 2px;
  border-bottom:1px solid var(--fb-cream-line);
  font-family: var(--fb-font-body); font-weight:600; font-size:14.5px;
  color: var(--fb-ink) !important;
}
.fb-side-nav a:last-child{ border-bottom:none; }
.fb-side-nav a:hover{ color: var(--fb-brown-900) !important; }
.fb-side-nav a.is-active{
  color: var(--fb-brown-900) !important;
  font-weight: 700;
  background: var(--fb-white);
  padding: 12px 14px;
  border-radius: 8px;
  border-bottom-color: transparent;
}
.fb-side-nav a.is-active i{ color: var(--fb-brown-900) !important; }
.fb-side-nav a i{ color: var(--fb-brown-600) !important; font-size:14px; transition: color .2s ease; }

.fb-content-body{
  font-family: var(--fb-font-body);
  color: var(--fb-ink);
  font-size:16px;
  line-height:1.8;
}
.fb-content-body h2{ font-family: var(--fb-font-display); color: var(--fb-black) !important; font-size:25px; margin:40px 0 16px; }
.fb-content-body h2:first-child{ margin-top:0; }
.fb-content-body h3{ font-family: var(--fb-font-display); color: var(--fb-black) !important; font-size:19px; margin:26px 0 10px; }
.fb-content-body h4{ font-family: var(--fb-font-body); font-weight:700; color: var(--fb-black) !important; font-size:15.5px; margin:22px 0 6px; }
.fb-content-body p{ margin:0 0 16px; color: var(--fb-ink) !important; }
.fb-content-body ul, .fb-content-body ol{ margin:0 0 16px; padding-left:22px; }
.fb-content-body li{ margin-bottom:8px; }
.fb-content-body strong{ color: var(--fb-black); }
.fb-content-body > div{ margin: 24px 0; }

.fb-product-hero-figure{
  display:block;
  border-radius: var(--fb-radius-lg);
  overflow:hidden;
  margin-bottom: 32px;
  box-shadow: var(--fb-shadow);
  aspect-ratio: 16/9;
}
.fb-product-hero-figure img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .4s ease; }
.fb-product-hero-figure:hover img{ transform: scale(1.03); }

.fb-gallery{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(150px,1fr));
  gap:14px;
  margin: 28px 0 8px;
}
.fb-gallery a{ display:block; border-radius:12px; overflow:hidden; aspect-ratio:4/3; box-shadow: var(--fb-shadow-sm); }
.fb-gallery img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .35s ease; }
.fb-gallery a:hover img{ transform:scale(1.06); }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.fb-footer{
  background: var(--fb-black);
  color: rgba(255,255,255,0.72) !important;
}
.fb-footer-top{ padding: 92px 0 98px; }
.fb-footer h3{
  font-family: var(--fb-font-body);
  color: #fff !important;
  font-size:15px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin: 0 0 22px;
}
.fb-footer .footer-desc{
  font-family: var(--fb-font-body);
  font-size:14.5px;
  line-height:1.75;
  color: rgba(255,255,255,0.62) !important;
  max-width:32ch;
  margin: 18px 0 24px;
}
.fb-footer .footer-logo{
  display:inline-block;
  /* background:#fff; */
  /* padding: 10px 16px; */
  border-radius: var(--fb-radius);
}
.fb-footer .footer-logo img{display:block;     background: #FFF;
    padding: 5px; border-radius: 10px;}
.fb-footer .footer-social{ display:flex; gap:10px; padding:0; margin:0; list-style:none; }
.fb-footer .footer-social a{
  width:38px; height:38px;
  border-radius:50%;
  background: rgba(255,255,255,0.08);
  display:flex; align-items:center; justify-content:center;
  color: #fff !important;
  transition: background-color .2s ease;
}
.fb-footer .footer-social a:hover{ background: var(--fb-brown-600); }
.fb-footer .use-link, .fb-footer .footer-contact{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.fb-footer .use-link a, .fb-footer .footer-contact a, .fb-footer .footer-contact li{
  font-family: var(--fb-font-body);
  font-size:14.5px;
  color: rgba(255,255,255,0.68) !important;
  line-height:1.6;
}
.fb-footer .use-link a:hover, .fb-footer .footer-contact a:hover{ color: #fff !important; }
.fb-footer .copy-right-area{
  border-top: 1px solid rgba(255,255,255,0.1);
  padding: 22px 0;
}
.fb-footer .copy-right-content p{
  font-family: var(--fb-font-body);
  font-size:13px;
  text-align: center;
  color: rgba(255,255,255,0.5) !important;
  margin:0;
}
.fb-footer .copy-right-content img{ height:16px; vertical-align:middle;  }

/* ==========================================================================
   MOBILE — centralizar todo o conteúdo
   ========================================================================== */
@media (max-width: 767px){
  /* hero (home) */
  .fb-hero-inner{ text-align:center; margin:0 auto; }
  .fb-hero-inner .fb-eyebrow{ justify-content:center; }
  .fb-hero-inner p{ margin-left:auto; margin-right:auto; }
  .fb-hero-actions{ justify-content:center; }

  /* hero de pÃ¡gina interna (produto/institucional) */
  .fb-page-hero{ text-align:center; }
  .fb-page-hero .fb-page-sub{ text-align:center; }
  .fb-breadcrumb{ justify-content:center; }

  /* diferenciais */
  .fb-diff-card{ text-align:center; }
  .fb-diff-icon{ margin-left:auto; margin-right:auto; }

  /* sobre */
  .fb-sobre-grid > div:last-child{ text-align:center; }
  .fb-sobre-grid .fb-eyebrow{ justify-content:center; }
  .fb-sobre-list li{ justify-content:center; }
  .fb-sobre-grid .fb-actions{ justify-content:center; }

  /* prova / 30 anos */
  .fb-prova > div:first-child{ text-align:center; }
  .fb-prova-links{ justify-content:center; }
  .fb-prova-badge{ left:50%; transform:translateX(-50%); text-align:center; }

  /* produtos */
  .fb-product-body{ text-align:center; align-items:center; }
  .fb-product-footer{ justify-content:center; }

  /* sidebar de pÃ¡ginas internas */
  .fb-side-card{ text-align:center; }
  .fb-side-list li{ justify-content:center; }
  .fb-side-nav a{ justify-content:center; }
  .fb-side-nav a i{ display:none; }

  /* depoimentos já centralizados via .fb-quote-card, texto também */
  .fb-quote-card{ text-align:center; }

  /* rodapé */
  .fb-footer .single-footer-widget{ text-align:center; }
  .fb-footer .footer-logo{ margin:0 auto 18px; }
  .fb-footer .footer-social{ justify-content:center; }
  .fb-footer .use-link, .fb-footer .footer-contact{ align-items:center; }
  .fb-footer .copy-right-area .row > div{ text-align:center !important; }
  .fb-footer .copy-right-content p{ justify-content:center; }
}
