/* BWBS static helpers – replaces Elementor JS-driven presentation */

/* container display vars (Elementor sets these via JS) */
.e-con.e-grid { --display: grid; }
.e-con.e-flex { --display: flex; }

/* sticky header */
.bwbs-sticky-top { position: sticky; top: 0; z-index: 99; }

/* full-screen search overlay */
.elementor-widget-search-form .elementor-search-form__container {
  display: none;
}
.elementor-widget-search-form .elementor-search-form__container.bwbs-search-open {
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, .85);
  align-items: center;
  justify-content: center;
  padding: 8vw;
}
.elementor-widget-search-form .bwbs-search-open .elementor-search-form__input {
  width: 100%;
  max-width: 700px;
  font-size: 2rem;
  padding: .5em .25em;
  background: transparent;
  border: 0;
  border-bottom: 2px solid #fff;
  color: #fff;
  outline: none;
}
.elementor-widget-search-form .bwbs-search-open .dialog-close-button {
  position: absolute;
  top: 30px;
  right: 40px;
  color: #fff;
  cursor: pointer;
  width: 28px;
  height: 28px;
}
.elementor-widget-search-form .bwbs-search-open .dialog-close-button svg { fill: #fff; }

/* nested tabs: hide inactive panels once JS is active */
.e-n-tabs.e-activated > .e-n-tabs-content > :not(.e-active) { display: none; }

/* accordion icon states (native details) */
.e-n-accordion-item .e-n-accordion-item-title-icon .e-opened { display: none; }
.e-n-accordion-item[open] .e-n-accordion-item-title-icon .e-opened { display: inline-flex; }
.e-n-accordion-item[open] .e-n-accordion-item-title-icon .e-closed { display: none; }

/* respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .animated { animation: none !important; }
}

/* ===== BWBS visual refresh (design review 2026-08) ===== */
/* hero legibility scrim */
.bwbs-hero-scrim { position: relative; }
.bwbs-hero-scrim { position: relative; }
.bwbs-hero-scrim::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background: linear-gradient(100deg, rgba(8,8,8,.72) 0%, rgba(8,8,8,.48) 40%,
              rgba(8,8,8,.14) 74%, rgba(8,8,8,0) 100%); }
.bwbs-hero-scrim > .e-con-inner, .bwbs-hero-scrim > .elementor-element { position: relative; z-index: 2; }
/* títulos e subtítulos do hero: leve sombra para garantir leitura sobre qualquer banner */
.bwbs-hero-scrim h1, .bwbs-hero-scrim h2, .bwbs-hero-scrim .elementor-heading-title,
.bwbs-hero-scrim p { text-shadow: 0 1px 12px rgba(0,0,0,.45); }

/* hero slideshow: camada de slides com cross-fade, abaixo do scrim e do conteúdo */
.bwbs-slides{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.bwbs-slide{ position:absolute; inset:0; background-size:cover; background-position:center center;
  background-repeat:no-repeat; opacity:0; transition:opacity 1.4s ease-in-out; will-change:opacity; }
@media (prefers-reduced-motion: reduce){ .bwbs-slide{ transition:none; } }

/* top and bottom bars: AA-compliant darker brand orange */
.elementor-element.elementor-element-470c2a9c:not(.elementor-motion-effects-element-type-background),
.elementor-element.elementor-element-470c2a9c > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element.elementor-element-36d69459:not(.elementor-motion-effects-element-type-background),
.elementor-element.elementor-element-36d69459 > .elementor-motion-effects-container > .elementor-motion-effects-layer{
  background-color:#D6401F !important; }

/* primary CTA: mesmo botao dos cards da pagina Locations — fundo branco, borda laranja
   que engrossa no hover (o solido laranja foi aposentado a pedido da cliente) */
a.elementor-button.bwbs-cta{ background-color:#fff !important; color:#EF5136 !important;
  border:2px solid #EF5136 !important; border-radius:30px !important;
  padding:15px 30px !important; font-size:15px !important; line-height:1.35 !important;
  font-weight:600 !important; letter-spacing:.01em;
  box-shadow:inset 0 0 0 0 #EF5136 !important;
  transition:box-shadow .2s ease, background-color .2s ease, color .2s ease; }
a.elementor-button.bwbs-cta .elementor-button-text{ color:#EF5136 !important; font-weight:600; }
a.elementor-button.bwbs-cta svg{ fill:#EF5136 !important; }
a.elementor-button.bwbs-cta:hover, a.elementor-button.bwbs-cta:focus{
  background-color:#FFF6F3 !important; color:#EF5136 !important;
  box-shadow:inset 0 0 0 2px #EF5136 !important; }
a.elementor-button.bwbs-cta:hover .elementor-button-text{ color:#EF5136 !important; }

/* ===== cards de preço (página First Time) — redesenho ===== */
.bwbs-price-card{ position:relative; background:#fff !important; background-image:none !important;
  border:1px solid #ECECEF !important; border-radius:22px !important;
  padding:38px 30px 32px !important; overflow:hidden;
  box-shadow:0 1px 2px rgba(16,16,20,.04);
  transition:transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s ease, border-color .28s ease; }
.bwbs-price-card:hover{ transform:translateY(-5px);
  box-shadow:0 20px 44px rgba(214,64,31,.13); border-color:#F6D9CE !important; }
.bwbs-price-card > .e-con-inner{ padding:0 !important; gap:0 !important; }
.bwbs-price-card .elementor-widget{ margin:0 !important; }

/* foto: recorte circular de verdade (o arquivo é quadrado com cantos brancos) */
.bwbs-price-card .elementor-image-box-wrapper{ text-align:center; }
.bwbs-price-card .elementor-image-box-img{ margin:0 auto 22px !important; width:150px !important; }
.bwbs-price-card .elementor-image-box-img img{ width:150px; height:150px; display:block;
  border-radius:50%; object-fit:cover; box-shadow:0 12px 28px rgba(16,16,20,.13); }
.bwbs-price-card .elementor-image-box-title{ margin:0 !important; font-size:22px !important;
  line-height:1.25 !important; color:#2E2E31 !important; }
.bwbs-price-card .elementor-image-box-description{ margin-top:8px !important; }

/* preço: número grande em laranja, legenda embaixo */
.bwbs-price-card .elementor-widget-price-table > .elementor-widget-container,
.bwbs-price-card .elementor-price-table,
.bwbs-price-card .elementor-price-table__features-list{ background:none !important;
  background-color:transparent !important; padding-bottom:0 !important; }
.bwbs-price-card .elementor-price-table__price{ padding:22px 0 0 !important; margin:0 !important;
  display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:center; gap:2px; }
.bwbs-price-card .elementor-price-table__currency{ font-size:22px !important; line-height:1 !important;
  color:#EF5136 !important; font-weight:600 !important; margin:9px 1px 0 0 !important; }
.bwbs-price-card .elementor-price-table__integer-part{ font-size:56px !important; line-height:1 !important;
  color:#EF5136 !important; font-weight:700 !important; letter-spacing:-.02em;
  font-variant-numeric:tabular-nums; }
.bwbs-price-card .elementor-price-table__period{ flex:0 0 100%; text-align:center;
  font-size:13.5px !important; color:#8A8A8F !important; font-style:normal !important;
  margin:9px 0 0 !important; }

/* itens inclusos: bloco centralizado, texto alinhado à esquerda */
.bwbs-price-card .elementor-price-table__features-list{ max-width:290px; margin:24px auto 4px !important;
  padding:22px 0 0 !important; border-top:1px solid #F1F1F4; text-align:left !important;
  list-style:none; }
.bwbs-price-card .elementor-price-table__features-list li{ padding:0 !important; margin:0 !important; }
.bwbs-price-card .elementor-price-table__feature-inner{ display:grid !important;
  grid-template-columns:17px minmax(0,1fr); gap:11px; align-items:start; padding:0 0 12px;
  font-size:14.3px !important; line-height:1.5 !important; color:#5B5B5E !important;
  text-align:left !important; justify-items:start; }
.bwbs-price-card .elementor-price-table__feature-inner span{ text-align:left !important; }
.bwbs-price-card .elementor-price-table__feature-inner svg{ width:16px; height:16px;
  fill:#EF5136 !important; margin-top:2px; }

/* "FIRST TIME": pílula no canto, no lugar da faixa diagonal */
.bwbs-price-card .elementor-widget-price-table,
.bwbs-price-card .elementor-widget-price-table > .elementor-widget-container,
.bwbs-price-card .elementor-price-table{ position:static !important; overflow:visible !important; }
.bwbs-price-card .elementor-ribbon{ position:absolute !important; top:18px; right:18px;
  left:auto !important; bottom:auto !important; width:auto !important; height:auto !important;
  overflow:visible !important; z-index:3; }
.bwbs-price-card .elementor-ribbon-inner{ position:static !important; transform:none !important;
  width:auto !important; margin:0 !important; padding:6px 13px !important; line-height:1.1 !important;
  border-radius:999px !important; font-size:10.5px !important; font-weight:700 !important;
  letter-spacing:.09em; text-transform:uppercase; box-shadow:none !important;
  background:#FDB407 !important; color:#3A2A00 !important; }

/* botão ocupa a base do card */
.bwbs-price-card .elementor-widget-button{ margin-top:22px !important; }
.bwbs-price-card .elementor-button-wrapper{ text-align:center !important; }
.bwbs-price-card a.elementor-button.bwbs-cta{ width:100%; max-width:290px; justify-content:center; }
@media (max-width:767px){ .bwbs-price-card{ padding:30px 22px 26px !important; }
  .bwbs-price-card .elementor-price-table__integer-part{ font-size:48px !important; }
  .bwbs-price-card .elementor-image-box-img,
  .bwbs-price-card .elementor-image-box-img img{ width:128px !important; }
  .bwbs-price-card .elementor-image-box-img img{ height:128px; } }

/* price-table ribbon in brand amber */
.elementor-ribbon-inner{ background-color:#FDB407 !important; color:#1A1A1A !important; font-weight:600 !important; }

/* inline brand icons replacing emojis */
.bwbs-ico svg{ width:1em; height:1em; fill:#EF5136; vertical-align:-0.125em; margin-right:.2em; }

/* hamburger nav (mobile only) */
.elementor-menu-toggle{ display:none; cursor:pointer; align-items:center; justify-content:center;
  padding:8px; border-radius:6px; }
.elementor-menu-toggle svg{ width:24px; height:24px; fill:#EF5136; }
.elementor-menu-toggle .bwbs-icon-close{ display:none; }
.elementor-menu-toggle.elementor-active .bwbs-icon-close{ display:block; }
.elementor-menu-toggle.elementor-active .bwbs-icon-open{ display:none; }
@media (max-width:767px){
  .elementor-widget-nav-menu{ position:relative; }
  .elementor-nav-menu--dropdown-mobile .elementor-menu-toggle{ display:flex !important; margin:0 auto;
    background:none; }
  .elementor-widget-nav-menu .elementor-nav-menu--dropdown{ display:none; position:fixed !important;
    left:12px !important; right:12px !important; width:auto !important; z-index:9997; background:#fff !important;
    box-shadow:0 12px 32px rgba(0,0,0,.18); border-radius:12px; padding:6px 0; }
  .elementor-widget-nav-menu.elementor-nav-menu--toggled-open .elementor-nav-menu--dropdown{ display:block; }
  .elementor-nav-menu--dropdown ul.elementor-nav-menu{ width:100%; margin:0; padding:0; list-style:none; }
  .elementor-nav-menu--dropdown ul.elementor-nav-menu li{ display:block; border-bottom:1px solid #f2f2f2; }
  .elementor-nav-menu--dropdown ul.elementor-nav-menu li:last-child{ border-bottom:0; }
  .elementor-nav-menu--dropdown .elementor-item{ display:block; padding:13px 22px; color:#3a3a3c !important;
    font-weight:500; }
  .elementor-nav-menu--dropdown .elementor-item.elementor-item-active{ color:#EF5136 !important; }
  /* home: show only the first 3 blog cards on phones */
  body.page-id-8 .elementor-widget-posts article:nth-of-type(n+4){ display:none !important; }
}

/* ===== wider buttons site-wide ===== */
a.elementor-button{ padding-left:2.6em !important; padding-right:2.6em !important; }

/* ===== Locations page refresh ===== */
.bwbs-intro-map{ display:flex; align-items:center; gap:48px; width:100%; }
.bwbs-intro-text{ flex:1 1 52%; }
.bwbs-intro-text p{ text-align:left !important; }
.bwbs-map-box{ flex:1 1 44%; max-width:470px; background:#fff; border:1px solid #F0EBE4;
  border-radius:16px; box-shadow:0 10px 28px rgba(0,0,0,.07); padding:14px 14px 6px; }
.bwbs-map-wrap{ position:relative; display:block; }
.bwbs-map-wrap img{ width:100%; height:auto; display:block; }
.bwbs-map-pin{ position:absolute; width:42px; height:42px; transform:translate(-50%,-50%);
  border-radius:50%; }
.bwbs-map-pin:hover, .bwbs-map-pin:focus{ box-shadow:0 0 0 3px rgba(239,81,54,.30);
  background:rgba(239,81,54,.07); }
.bwbs-map-hint{ text-align:center; color:#8a8a8c; font-size:12.5px; margin:8px 0 6px;
  font-family:Poppins,sans-serif; }
@media (max-width:767px){
  .bwbs-intro-map{ flex-direction:column; gap:26px; }
  .bwbs-map-box{ max-width:100%; flex-basis:auto; }
}
/* ===== largura do conteúdo ===== */
/* o tema limita <main> a 1140px — é o teto real de tudo */
main.site-main, .elementor-location-single, .elementor-location-single > .elementor{
  max-width:none !important; width:100% !important; }
/* o tema limitava tudo a 1140px; 1340px dá mais respiro sem quebrar o design */
.elementor-section.elementor-section-boxed > .elementor-container,
.e-con{ --container-max-width:1340px; }
.e-con > .e-con-inner{ max-width:1340px !important; }
.bwbs-crumbs-inner{ max-width:1340px; }
/* blog e posts: coluna de leitura mais larga */
.elementor-location-single .e-con > .e-con-inner{ max-width:1340px !important; }
.bwbs-post-links{ max-width:1340px; }
@media (max-width:1400px){ .e-con > .e-con-inner{ max-width:calc(100vw - 60px) !important; } }

/* ===== programa de fidelidade (páginas de cidade) ===== */
.bwbs-loy{ margin:40px 0 0; padding:30px 30px 28px; border:1px solid #EFE7E3; border-radius:20px;
  background:linear-gradient(180deg,#FFFCFA 0%,#fff 55%); box-shadow:0 1px 2px rgba(16,16,20,.04);
  font-family:Poppins,sans-serif; }
.bwbs-loy-head{ display:flex; align-items:center; gap:13px; }
.bwbs-loy-badge{ width:38px; height:38px; border-radius:12px; background:#FDF1EC; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center; }
.bwbs-loy-badge svg{ width:20px; height:20px; fill:#EF5136; }
.bwbs-loy h2{ margin:0 !important; font-size:22px !important; line-height:1.25 !important; }
.bwbs-loy-lead{ margin:15px 0 20px !important; color:#5B5B5E; }
.bwbs-loy-ladder{ list-style:none; margin:0 0 22px !important; padding:0 !important;
  display:flex; gap:14px; flex-wrap:wrap; }
.bwbs-loy-step{ flex:1 1 190px; display:grid; grid-template-columns:auto minmax(0,1fr);
  grid-template-areas:"n u" "n r"; column-gap:14px; align-items:center;
  padding:15px 18px; border:1px solid #F3E3DC; border-radius:14px; background:#fff; }
.bwbs-loy-n{ grid-area:n; font-size:32px; font-weight:700; color:#EF5136; line-height:1;
  font-variant-numeric:tabular-nums; }
.bwbs-loy-u{ grid-area:u; font-size:11.5px; text-transform:uppercase; letter-spacing:.09em;
  color:#9A9AA0; align-self:end; }
.bwbs-loy-r{ grid-area:r; font-size:16px; font-weight:600; color:#2E2E31; align-self:start; }
.bwbs-loy-actions{ margin:0 !important; }

/* modal de inscrição */
.bwbs-loy-modal{ position:fixed; inset:0; z-index:1000; background:rgba(8,3,29,.45);
  display:flex; align-items:center; justify-content:center; padding:20px; overflow:auto; }
.bwbs-loy-modal[hidden]{ display:none !important; }
.bwbs-loy-box{ position:relative; width:100%; max-width:520px; background:#fff; border-radius:18px;
  padding:32px 32px 28px; box-shadow:0 24px 60px rgba(8,3,29,.28); }
.bwbs-loy-box h3{ margin:0 !important; font-size:21px !important; line-height:1.25 !important;
  color:#2E2E31 !important; padding-right:34px; }
.bwbs-loy-sub{ margin:10px 0 22px !important; font-size:14.5px; color:#6B6B70; line-height:1.6; }
.bwbs-loy-x{ position:absolute; top:18px; right:18px; width:34px; height:34px; padding:0;
  border:0; border-radius:50%; background:#F5F5F7; cursor:pointer; display:flex;
  align-items:center; justify-content:center; transition:background .18s ease; }
.bwbs-loy-x:hover{ background:#ECECEF; }
.bwbs-loy-x svg{ width:15px; height:15px; fill:#4A4A4C; }
.bwbs-loy-field{ margin-bottom:15px; }
.bwbs-loy-field label, .bwbs-loy-dob legend{ display:block; font-size:12.5px; font-weight:600;
  color:#3A3A3C; margin-bottom:5px; padding:0; }
.bwbs-loy-field input, .bwbs-loy-dob input{ width:100%; height:46px; box-sizing:border-box;
  padding:11px 14px; border:1px solid #D9D9DF; border-radius:9px; font-family:Poppins,sans-serif;
  font-size:15px; color:#2E2E31; background:#fff; transition:border-color .18s ease, box-shadow .18s ease; }
.bwbs-loy-field input:focus, .bwbs-loy-dob input:focus{ outline:0; border-color:#EF5136;
  box-shadow:0 0 0 3px rgba(239,81,54,.15); }
.bwbs-loy-field input[aria-invalid], .bwbs-loy-dob input[aria-invalid]{ border-color:#D33A22; }
.bwbs-loy-err{ display:block; margin-top:5px; font-size:12px; color:#D33A22; }
.bwbs-loy-err:empty{ display:none; }
.bwbs-loy-dob{ border:0; margin:0 0 6px; padding:0; }
.bwbs-loy-dob input{ width:76px; display:inline-block; margin-right:9px; text-align:center; }
.bwbs-loy-dob input:last-of-type{ width:96px; margin-right:0; }
.bwbs-loy-consent{ margin:16px 0 20px !important; font-size:11.8px !important; line-height:1.65 !important;
  color:#8A8A8F !important; }
.bwbs-loy-consent a{ color:#EF5136 !important; font-size:inherit !important; }
.bwbs-loy-consent b{ color:#6B6B70; }
.bwbs-loy-send{ width:100%; border:2px solid transparent !important; cursor:pointer;
  font-family:Poppins,sans-serif; background:#EF5136 !important; color:#fff !important;
  font-size:15px !important; font-weight:600 !important; }
.bwbs-loy-send:hover{ background:#D6401F !important; }
.bwbs-loy-send[disabled]{ opacity:.6; cursor:default; }
.bwbs-loy-view[hidden]{ display:none !important; }
@media (max-width:767px){
  .bwbs-loy{ padding:24px 20px 22px; border-radius:16px; }
  .bwbs-loy h2{ font-size:20px !important; }
  .bwbs-loy-step{ flex-basis:100%; }
  .bwbs-loy-box{ padding:26px 20px 22px; border-radius:14px; }
  .bwbs-loy-dob input{ width:64px; } .bwbs-loy-dob input:last-of-type{ width:84px; }
}

/* ===== cards das unidades (página Locations) — markup próprio ===== */
.bwbs-loc-grid{ display:grid; grid-template-columns:1fr; gap:24px;
  width:100% !important; flex:1 1 100% !important; align-items:stretch; }
.bwbs-loc-grid > .bwbs-loc-card{ width:100% !important; max-width:none !important;
  flex:none !important; margin:0 !important; }
@media (min-width:700px){ .bwbs-loc-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1100px){ .bwbs-loc-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; } }
.bwbs-loc-card{ background:#fff !important; border:1px solid #ECECEF !important;
  border-radius:20px !important; padding:0 !important; overflow:hidden;
  box-shadow:0 1px 2px rgba(16,16,20,.04);
  transition:transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s ease, border-color .28s ease; }
.bwbs-loc-card:hover{ transform:translateY(-5px);
  box-shadow:0 20px 44px rgba(214,64,31,.13); border-color:#F6D9CE !important; }
.bwbs-loc-card > .e-con-inner{ padding:0 !important; display:block !important; }
.bwbs-lc{ display:flex; flex-direction:column; height:100%; padding:32px 30px 28px;
  font-family:Poppins,sans-serif; color:#606062; text-align:left; }

/* cabeçalho: cidade + filete laranja + endereço como subtítulo (some a linha de ícone) */
.bwbs-lc-head{ margin:0 0 22px; }
.bwbs-lc-city{ margin:0 !important; font-size:23px !important; line-height:1.2 !important;
  color:#2E2E31 !important; letter-spacing:-.01em; font-weight:600 !important; }
.bwbs-lc-accent{ display:block; width:32px; height:3px; border-radius:2px;
  background:linear-gradient(90deg,#EF5136,#FDB407); margin:11px 0 13px;
  transition:width .28s cubic-bezier(.2,.7,.3,1); }
.bwbs-loc-card:hover .bwbs-lc-accent{ width:52px; }
.bwbs-lc-addr{ margin:0 !important; font-size:14px !important; line-height:1.6; color:#8A8A8F; }

/* lista de contatos: ícone em ladrilho suave + texto */
.bwbs-lc-info{ list-style:none; margin:0; padding:0; }
.bwbs-lc-row{ display:grid; grid-template-columns:22px minmax(0,1fr);
  align-items:center; gap:14px; padding:0 0 13px; }
/* telefone: numero e WhatsApp lado a lado, sem esticar ate a borda do card */
.bwbs-lc-phone{ grid-template-columns:22px auto auto; justify-content:start; }
.bwbs-lc-ico{ display:flex; align-items:center; justify-content:center; width:22px; height:30px; }
.bwbs-lc-ico svg{ width:17px; height:17px; fill:#EF5136; }
.bwbs-lc-txt{ font-size:14.5px !important; line-height:1.55 !important; color:#5B5B5E !important; text-decoration:none;
  min-width:0; overflow-wrap:anywhere; }
a.bwbs-lc-txt{ transition:color .18s ease; }
a.bwbs-lc-txt:hover{ color:#EF5136 !important; }
.bwbs-lc-phone .bwbs-lc-txt{ font-size:15.5px !important; font-weight:600 !important; color:#2E2E31 !important;
  letter-spacing:.01em; }
.bwbs-lc-mail{ font-size:12.9px !important; letter-spacing:-.15px; overflow-wrap:break-word; }

/* WhatsApp: só o ícone oficial, agora na mesma linha do telefone */
.bwbs-lc-wa{ display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:50%; background:#25D366; flex:0 0 auto;
  transition:transform .2s ease, box-shadow .2s ease; }
.bwbs-lc-wa svg{ width:16px; height:16px; fill:#fff; }
.bwbs-lc-wa:hover{ transform:scale(1.09); box-shadow:0 6px 16px rgba(37,211,102,.42); }

/* horários: bloco suave no lugar do filete + texto solto */
.bwbs-lc-hours{ display:grid; grid-template-columns:22px minmax(0,1fr); gap:14px;
  align-items:center; margin:9px 0 24px; padding:14px 16px;
  background:#FAFAFB; border:1px solid #F1F1F4; border-radius:14px; }
.bwbs-lc-hours .bwbs-lc-txt{ font-size:13.8px !important; line-height:1.65 !important; }
.bwbs-lc-hours strong{ color:#2E2E31; font-weight:600; }
.bwbs-lc-dot{ color:#C9C9CE; padding:0 8px; }

/* CTA: botão branco de borda laranja que engrossa no hover + link discreto da unidade */
.bwbs-lc-cta{ margin-top:auto; display:flex; flex-direction:column; align-items:stretch; gap:10px; }
.bwbs-lc-book{ display:inline-flex; align-items:center; justify-content:center; gap:9px;
  background:#fff; color:#EF5136 !important; border:2px solid #EF5136; border-radius:30px;
  padding:15px 30px; font-size:15px !important; line-height:1.35 !important;
  font-weight:600 !important; text-decoration:none; letter-spacing:.01em;
  box-shadow:inset 0 0 0 0 #EF5136;
  transition:box-shadow .2s ease, background .2s ease, color .2s ease; }
.bwbs-lc-book svg{ width:15px; height:15px; fill:currentColor; }
.bwbs-lc-book:hover{ box-shadow:inset 0 0 0 2px #EF5136; background:#FFF6F3; }
.bwbs-lc-page{ display:inline-flex; align-items:center; justify-content:center; gap:8px;
  color:#8A8A8F !important; font-size:13.6px !important; font-weight:600 !important; text-decoration:none;
  padding:3px 0; transition:color .2s ease; }
.bwbs-lc-page span{ border-bottom:1px solid transparent; transition:border-color .2s ease; }
.bwbs-lc-page:hover span{ border-bottom-color:#EF5136; }
.bwbs-lc-page i{ font-style:normal; transition:transform .2s ease; }
.bwbs-lc-page:hover{ color:#EF5136 !important; }
.bwbs-lc-page:hover i{ transform:translateX(4px); }
@media (max-width:767px){ .bwbs-lc{ padding:26px 22px 24px; }
  .bwbs-lc-city{ font-size:20px !important; } .bwbs-lc-hours{ padding:13px 14px; } }

/* posts do blog: o tema colocava um filete acima de cada subtítulo — sai */
.elementor-location-single .elementor-widget-text-editor hr,
.elementor-location-single .elementor-widget-divider,
.elementor-location-single .elementor-divider,
.elementor-location-single .elementor-widget-container > hr{ display:none !important; }
.elementor-location-single .elementor-widget-text-editor h1,
.elementor-location-single .elementor-widget-text-editor h2,
.elementor-location-single .elementor-widget-text-editor h3,
.elementor-location-single .elementor-widget-text-editor h4{ border-top:0 !important;
  border-bottom:0 !important; }

/* ===== bloco de links relacionados nos posts ===== */
.bwbs-post-links{ max-width:1140px; margin:0 auto 56px; padding:26px 30px; background:#FBFBFC;
  border:1px solid #ECECEE; border-radius:14px; font-family:Poppins,sans-serif; }
.bwbs-post-links h2{ color:#EF5136; font-size:18px; margin:0 0 12px; }
.bwbs-post-links ul{ margin:0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:10px 26px; }
.bwbs-post-links a{ color:#606062 !important; font-size:15px; text-decoration:none; font-weight:500; }
.bwbs-post-links a:hover{ color:#EF5136 !important; text-decoration:underline; }
@media (max-width:767px){ .bwbs-post-links{ margin:0 16px 40px; padding:20px; } }

/* ===== páginas de cidade (SEO local) ===== */
.bwbs-city-hero{ position:relative; background-size:cover; background-position:center;
  padding:96px 20px; text-align:center; color:#fff; }
.bwbs-city-hero::after{ content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(8,8,8,.62) 0%, rgba(8,8,8,.50) 60%, rgba(8,8,8,.62) 100%); }
.bwbs-city-hero-in{ position:relative; z-index:1; max-width:840px; margin:0 auto; }
.bwbs-city-hero h1{ color:#fff; font-size:clamp(28px,4vw,42px); line-height:1.15; margin:0 0 12px;
  text-shadow:0 1px 14px rgba(0,0,0,.4); }
.bwbs-city-sub{ color:rgba(255,255,255,.94); font-size:clamp(15px,1.6vw,18px); margin:0 0 24px;
  text-shadow:0 1px 12px rgba(0,0,0,.4); }
.bwbs-city-actions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin:0; }
.bwbs-city-btn{ display:inline-block; background:#EF5136; color:#fff !important; text-decoration:none;
  font-family:Poppins,sans-serif; font-weight:600; font-size:15px !important; line-height:1.35;
  padding:15px 30px; border:2px solid transparent; border-radius:30px;
  transition:background .2s ease; }
.bwbs-city-btn:hover{ background:#D6401F; }
.bwbs-city-btn.is-alt{ background:#FDB407; color:#1a1a1a !important; }
.bwbs-city-btn.is-alt:hover{ background:#e5a206; }
.bwbs-city-btn.is-ghost{ background:transparent; color:#EF5136 !important; border:2px solid #EF5136;
  padding:11px 24px; }
.bwbs-city-btn.is-ghost:hover{ background:#EF5136; color:#fff !important; }

.bwbs-city-wrap{ background:#F7F7F8; padding:56px 20px 64px; }
.bwbs-city-grid{ max-width:1340px; margin:0 auto; display:grid;
  grid-template-columns:minmax(0,1fr) 360px; gap:46px; align-items:start; }
.bwbs-city-main{ background:#fff; border-radius:18px; padding:40px 44px;
  box-shadow:0 12px 34px rgba(0,0,0,.07); font-family:Poppins,sans-serif; font-size:16px;
  line-height:1.75; color:#606062; }
.bwbs-city-main h2{ color:#EF5136; font-size:22px; line-height:1.3; margin:34px 0 12px; }
.bwbs-city-main h3{ color:#3A3A3C; font-size:17px; line-height:1.4; margin:22px 0 6px; }
.bwbs-city-main p{ margin:0 0 16px; }
.bwbs-city-main a{ color:#EF5136; }
.bwbs-city-lead{ font-size:17.5px; line-height:1.7; color:#4A4A4C; }
.bwbs-city-serv{ margin:0 0 18px; padding:0; list-style:none; }
.bwbs-city-serv li{ position:relative; padding:0 0 0 26px; margin:0 0 8px; }
.bwbs-city-serv li::before{ content:""; position:absolute; left:2px; top:.62em; width:9px; height:9px;
  border-radius:50%; background:#FDB407; }
.bwbs-city-faq-item{ border-top:1px solid #ECECEE; padding-top:14px; margin-top:14px; }
.bwbs-city-faq-item h3{ margin-top:0; }

.bwbs-city-card{ background:#fff; border-radius:18px; padding:30px 30px 26px;
  box-shadow:0 12px 34px rgba(0,0,0,.07); font-family:Poppins,sans-serif; font-size:15px;
  color:#707072; position:sticky; top:24px; }
.bwbs-city-card h2{ color:#EF5136; font-size:20px; margin:0 0 16px; }
.bwbs-city-line{ margin:0 0 14px; line-height:1.6; }
.bwbs-city-line strong{ color:#3A3A3C; }
.bwbs-city-line a{ color:#707072 !important; text-decoration:none; }
.bwbs-city-line a:hover{ color:#EF5136 !important; }
.bwbs-city-hours{ width:100%; border-collapse:collapse; margin:0 0 20px; font-size:14.5px; border:0; }
.bwbs-city-hours th, .bwbs-city-hours td, .bwbs-city-hours tr{ border:0; }
.bwbs-city-hours th, .bwbs-city-hours td{ padding:6px 0; border-bottom:1px solid #ECECEE;
  font-weight:400; text-align:left; }
.bwbs-city-hours td{ text-align:right; white-space:nowrap; }
.bwbs-city-hours tr:last-child th, .bwbs-city-hours tr:last-child td{ border-bottom:0; }
.bwbs-city-card .bwbs-city-actions{ justify-content:flex-start; flex-direction:column; }
.bwbs-city-card .bwbs-city-btn{ width:100%; text-align:center; }
@media (max-width:1024px){ .bwbs-city-grid{ grid-template-columns:1fr; gap:24px; }
  .bwbs-city-card{ position:static; } .bwbs-city-main{ padding:30px 26px; } }
@media (max-width:767px){ .bwbs-city-hero{ padding:64px 18px; }
  .bwbs-city-wrap{ padding:34px 16px 44px; } .bwbs-city-main{ padding:24px 20px; font-size:15px; }
  .bwbs-city-main h2{ font-size:19px; } .bwbs-city-lead{ font-size:16px; } }

.bwbs-city-photos{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px; margin:0 0 22px; }
.bwbs-city-photos img{ width:100%; height:220px; object-fit:cover; border-radius:12px; display:block; }
/* seção de avaliações das unidades — carrossel contínuo, 2 por vez */
.bwbs-rv{ background:#FBFBFC; border:1px solid #ECECEE; border-radius:16px; padding:24px 0 20px;
  margin:0 0 26px; overflow:hidden; }
.bwbs-rv-marquee{ overflow:hidden; container-type:inline-size; -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40px,
  #000 calc(100% - 40px),transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%); }
.bwbs-rv-track{ display:flex; width:max-content; gap:16px; padding:0 16px;
  animation:bwbs-rv-scroll var(--bwbs-rv-dur,40s) linear infinite; will-change:transform; }
@keyframes bwbs-rv-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.bwbs-rv-card{ margin:0; background:#fff; border:1px solid #EFEFF1; border-radius:12px;
  padding:20px 22px; display:flex; flex-direction:column; gap:10px;
  flex:0 0 calc((100cqw - 64px) / 2); box-sizing:border-box; min-height:100%; }
.bwbs-rv-stars{ color:#FDB407; font-size:16px; letter-spacing:3px; }
.bwbs-rv-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);
  white-space:nowrap; }
.bwbs-rv-card blockquote{ margin:0; padding:0; border:0; font-size:15px; line-height:1.65;
  color:#4A4A4C; font-style:normal; }
.bwbs-rv-card figcaption{ margin-top:auto; font-style:normal; padding-top:2px; }
.bwbs-rv-author{ display:block; font-size:14px; font-weight:600; color:#3A3A3C; font-style:normal; }
.bwbs-rv-src{ display:block; font-size:12.5px; color:#8A8A8E; font-style:normal; }
.bwbs-rv-empty{ margin:0 26px; font-size:15.5px; line-height:1.7; color:#606062; }
.bwbs-rv-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px;
  margin:20px 26px 0 !important; }
@media (max-width:767px){ .bwbs-rv-card{ flex-basis:calc(100cqw - 32px); }
  .bwbs-rv-actions{ margin:18px 18px 0 !important; } }
@media (prefers-reduced-motion: reduce){ .bwbs-rv-track{ animation:none; flex-wrap:wrap; } }

.bwbs-city-btn.is-wa{ background:#25D366; color:#fff !important; display:inline-flex;
  align-items:center; justify-content:center; gap:9px; }
.bwbs-city-btn.is-wa:hover{ background:#1da851; }
.bwbs-city-btn.is-wa svg{ width:17px; height:17px; fill:currentColor; }

/* ===== páginas legais: breadcrumb + faixa sólida + cartão ===== */
.bwbs-crumbs{ background:#F7F7F8; border-bottom:1px solid #ECECEE; }
/* breadcrumb dentro da faixa colorida (paginas de politicas) */
.bwbs-crumbs--on-hero{ background:none !important; border:0 !important; width:100%;
  margin:0 0 20px !important; }
.bwbs-crumbs--on-hero .bwbs-crumbs-inner{ max-width:none !important; padding:0 !important;
  justify-content:center; }
.bwbs-crumbs--on-hero a, .bwbs-crumbs--on-hero .bwbs-crumb-sep{ color:rgba(255,255,255,.82) !important; }
.bwbs-crumbs--on-hero a:hover{ color:#fff !important; }
.bwbs-crumbs--on-hero .bwbs-crumb-cur{ color:#fff !important; font-weight:600; }
.bwbs-crumbs-inner{ max-width:1140px; margin:0 auto; padding:12px 20px; display:flex;
  align-items:center; gap:9px; font-family:Poppins,sans-serif; font-size:13.5px; color:#707072; }
.bwbs-crumbs a{ display:inline-flex; align-items:center; gap:7px; color:#707072 !important;
  text-decoration:none; }
.bwbs-crumbs a:hover{ color:#EF5136 !important; }
.bwbs-crumbs svg{ width:14px; height:14px; fill:currentColor; }
.bwbs-crumb-sep{ color:#C9C9CC; }
.bwbs-crumb-cur{ color:#3A3A3C; font-weight:600; }

.bwbs-legal-hero{ background:#D6401F !important; background-image:none !important;
  padding:52px 20px 128px !important; text-align:center; min-height:0 !important; }
.bwbs-legal-hero > .e-con-inner{ max-width:900px !important; margin:0 auto; align-items:center;
  text-align:center; gap:10px !important; padding:0 !important; }
.bwbs-legal-hero .elementor-widget-container{ margin:0 !important; padding:0 !important; }
.bwbs-legal-hero .elementor-widget{ margin:0 !important; }
.bwbs-legal-hero h1{ color:#fff !important; text-transform:uppercase; letter-spacing:.01em;
  font-size:clamp(24px,3vw,34px) !important; line-height:1.2; margin:0 0 12px;
  text-shadow:none !important; }
.bwbs-legal-sub{ color:rgba(255,255,255,.92) !important; font-size:clamp(14.5px,1.3vw,16px);
  line-height:1.55; margin:0 auto; max-width:700px; text-align:center !important; }
.bwbs-legal-hero .elementor-widget{ width:100% !important; }

.bwbs-legal-wrap{ background:#F7F7F8; padding:0 20px 64px !important; }
/* páginas legais: medida de leitura confortável (o cartão não acompanha os 1340px do resto) */
.bwbs-legal-wrap > .e-con-inner{ max-width:1120px !important; margin:0 auto; padding:0 !important; }
.bwbs-legal-card{ display:grid; grid-template-columns:300px minmax(0,1fr); gap:52px;
  background:#fff; border-radius:18px; padding:44px 48px; margin-top:-96px;
  box-shadow:0 18px 48px rgba(0,0,0,.09); }
.bwbs-legal-aside{ font-family:Poppins,sans-serif; font-size:15px; color:#707072; align-self:start;
  position:sticky; top:24px; }
.bwbs-legal-meta{ display:flex; align-items:flex-start; gap:11px; margin:0 0 18px; line-height:1.55; }
.bwbs-legal-meta strong{ color:#3A3A3C; font-weight:600; }
.bwbs-legal-meta a{ color:#707072 !important; text-decoration:none; overflow-wrap:anywhere;
  font-size:14.5px; }
.bwbs-legal-meta a:hover{ color:#EF5136 !important; }
.bwbs-legal-ico{ flex:0 0 auto; width:19px; height:19px; margin-top:2px; }
.bwbs-legal-ico svg{ width:19px; height:19px; fill:#EF5136; }
.bwbs-legal-mail{ font-size:13.4px !important; letter-spacing:-.1px; }
.bwbs-legal-rule{ border:0; border-top:1px solid #ECECEE; margin:26px 0 22px; }
.bwbs-legal-ask{ color:#EF5136; font-weight:600; font-size:18px; margin:0 0 4px; }
.bwbs-legal-help{ margin:0 0 20px; }
.bwbs-legal-body{ font-family:Poppins,sans-serif; font-size:16px; line-height:1.75; color:#606062; }
/* zera os paddings dos containers do Elementor que ficaram dentro do cartão */
.bwbs-legal-body .e-con{ padding:0 !important; background:none !important; box-shadow:none !important;
  border:0 !important; border-radius:0 !important; }
.bwbs-legal-body .e-con-inner{ padding:0 !important; gap:0 !important; width:100% !important;
  max-width:100% !important; }
.bwbs-legal-body p{ margin:0 0 18px; }
.bwbs-legal-h2{ color:#EF5136 !important; font-size:20px; line-height:1.35; font-weight:600;
  margin:34px 0 12px; }
.bwbs-legal-body > *:first-child, .bwbs-legal-body .elementor-widget-container > *:first-child{ margin-top:0; }
.bwbs-legal-body a{ color:#EF5136; }
@media (max-width:1024px){ .bwbs-legal-card{ grid-template-columns:1fr; gap:26px; padding:34px 26px;
    margin-top:-84px; } .bwbs-legal-aside{ position:static; }
  .bwbs-legal-rule{ margin:20px 0 18px; } }
@media (max-width:767px){ .bwbs-legal-hero{ padding:40px 18px 120px !important; }
  .bwbs-legal-card{ padding:26px 20px; margin-top:-76px; border-radius:14px; }
  .bwbs-legal-body{ font-size:15px; } .bwbs-legal-h2{ font-size:18px; margin-top:28px; } }

/* ===== tabela de preços (substitui as duas icon-lists paralelas) ===== */
.bwbs-price-holder{ width:100% !important; max-width:100% !important; flex:1 1 100% !important; }
.bwbs-price-table, .bwbs-price-table tr, .bwbs-price-table th, .bwbs-price-table td{ border:0; }
.bwbs-price-table{ width:100%; border-collapse:collapse; table-layout:auto;
  font-family:Poppins,sans-serif; font-size:15px; line-height:1.5; color:#707070; }
.bwbs-price-table th, .bwbs-price-table td{ padding:6px 0; vertical-align:baseline;
  border-bottom:1px solid #DDD; font-weight:400; }
.bwbs-price-table tr:last-child th, .bwbs-price-table tr:last-child td{ border-bottom:0; }
.bwbs-price-table th{ text-align:left; padding-right:18px; hyphens:auto; }
.bwbs-price-table td{ text-align:right; white-space:nowrap; width:1%; font-weight:600;
  font-variant-numeric:tabular-nums; }
@media (max-width:767px){ .bwbs-price-table{ font-size:14px; }
  .bwbs-price-table th{ padding-right:12px; } }

/* rodapé: dias + horários fundidos numa lista só */
.bwbs-pair-merged{ width:100% !important; max-width:100% !important; flex:1 1 100% !important; }
.bwbs-pair-merged .elementor-icon-list-item{ display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:8px; }
.bwbs-pair-a, .bwbs-pair-b{ display:inline-flex; align-items:flex-start; gap:8px; min-width:0; }

/* ===== language switcher (top bar) — pílulas com bandeira ===== */
.bwbs-lang{ display:flex; align-items:center; gap:2px; flex:0 0 auto; margin-left:auto;
  margin-right:14px; font-family:Poppins,sans-serif; font-size:12.5px; font-weight:600;
  letter-spacing:.06em; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28);
  border-radius:9px; padding:2px; }
.bwbs-lang-item{ display:inline-flex; align-items:center; gap:6px;
  color:rgba(255,255,255,.82) !important; padding:4px 9px; border-radius:7px;
  transition:color .2s ease, background .2s ease; }
.bwbs-lang-item img{ width:18px; height:13.5px; display:block; flex:0 0 auto; }
.bwbs-lang-item:hover{ color:#fff !important; background:rgba(255,255,255,.12); }
.bwbs-lang-item.bwbs-lang-active{ color:#D6401F !important; background:#fff; }
@media (max-width:767px){ .bwbs-lang{ margin-right:8px; padding:1px; }
  .bwbs-lang-item{ padding:4px 7px; gap:5px; }
  .bwbs-lang-item img{ width:16px; height:12px; } }
/* telas bem estreitas: só as bandeiras, sem as siglas */
@media (max-width:340px){ .bwbs-lang-item span{ display:none; }
  .bwbs-lang-item{ padding:4px 6px; } }

/* ===== banners das páginas (Images Backup, 1920x650) ===== */
.elementor-element.elementor-element-cc90ec0:not(.elementor-motion-effects-element-type-background){background-image:url("/images/smooth-legs-white-sand-beach-waxing-florida.webp") !important;background-position:center center !important;background-size:cover !important;background-repeat:no-repeat !important;}
.elementor-element.elementor-element-1878c71:not(.elementor-motion-effects-element-type-background){background-image:url("/images/body-waxing-all-skin-tones-florida.webp") !important;background-position:center center !important;background-size:cover !important;background-repeat:no-repeat !important;}
.elementor-element.elementor-element-0535585:not(.elementor-motion-effects-element-type-background){background-image:url("/images/smooth-legs-ocean-view-waxing-florida.webp") !important;background-position:center center !important;background-size:cover !important;background-repeat:no-repeat !important;}
.elementor-element.elementor-element-de84986:not(.elementor-motion-effects-element-type-background){background-image:url("/images/waxing-smooth-legs-beach-florida-1.webp") !important;background-position:center center !important;background-size:cover !important;background-repeat:no-repeat !important;}
.elementor-element.elementor-element-59771b4:not(.elementor-motion-effects-element-type-background){background-image:url("/images/waxing-smooth-legs-beach-florida-2.webp") !important;background-position:center center !important;background-size:cover !important;background-repeat:no-repeat !important;}
.elementor-element.elementor-element-6af7d95:not(.elementor-motion-effects-element-type-background){background-image:url("/images/facial-lip-waxing-close-up-florida.webp") !important;background-position:center center !important;background-size:cover !important;background-repeat:no-repeat !important;}
.elementor-element.elementor-element-54d6fa3:not(.elementor-motion-effects-element-type-background){background-image:url("/images/underarm-waxing-close-up-florida.webp") !important;background-position:center center !important;background-size:cover !important;background-repeat:no-repeat !important;}
.elementor-element.elementor-element-072addf:not(.elementor-motion-effects-element-type-background){background-image:url("/images/smooth-legs-ocean-view-waxing-florida.webp") !important;background-position:center center !important;background-size:cover !important;background-repeat:no-repeat !important;}
.elementor-element.elementor-element-97a4792:not(.elementor-motion-effects-element-type-background){background-image:url("/images/waxing-smooth-legs-beach-florida-2.webp") !important;background-position:center center !important;background-size:cover !important;background-repeat:no-repeat !important;}

/* headings invisíveis (color transparente, só SEO): a sombra ainda pintava e virava um borrão no hero */
.elementor-element-0a5e4d6, .elementor-element-0a5e4d6 *, .elementor-element-4aa7e0ad, .elementor-element-4aa7e0ad * { text-shadow: none !important; }
