/* Guia Brás typography bridge — guia-bras-busca-inteligente.
 * Elementor remains the font loader. The component only consumes its global tokens.
 */
.gbbi-app,
.gbbi-autocomplete,
.gbbi-toast{
  --gb-component-font-body:var(--gb-font-body,var(--e-global-typography-text-font-family,"Inter"));
  --gb-component-font-heading:var(--gb-font-heading,var(--e-global-typography-primary-font-family,var(--e-global-typography-secondary-font-family,"Open Sans")));
  font-family:var(--gb-component-font-body),Arial,sans-serif!important;
}
.gbbi-app :where(p,li,dt,dd,label,a,button,input,select,textarea,option,table,th,td,small,summary,[role="button"],[role="tab"],[role="option"],[class*="__label"],[class*="-label"],[class*="__text"],[class*="-text"],[class*="__copy"],[class*="-copy"],[class*="__description"],[class*="-description"],[class*="__meta"],[class*="-meta"],[class*="__message"],[class*="-message"],[class*="__help"],[class*="-help"],[class*="__value"],[class*="-value"],[class*="__condition"],[class*="-condition"],[class*="__temp"],[class*="-temp"]),
.gbbi-autocomplete :where(p,li,dt,dd,label,a,button,input,select,textarea,option,table,th,td,small,summary,[role="button"],[role="tab"],[role="option"],[class*="__label"],[class*="-label"],[class*="__text"],[class*="-text"],[class*="__copy"],[class*="-copy"],[class*="__description"],[class*="-description"],[class*="__meta"],[class*="-meta"],[class*="__message"],[class*="-message"],[class*="__help"],[class*="-help"],[class*="__value"],[class*="-value"],[class*="__condition"],[class*="-condition"],[class*="__temp"],[class*="-temp"]),
.gbbi-toast :where(p,li,dt,dd,label,a,button,input,select,textarea,option,table,th,td,small,summary,[role="button"],[role="tab"],[role="option"],[class*="__label"],[class*="-label"],[class*="__text"],[class*="-text"],[class*="__copy"],[class*="-copy"],[class*="__description"],[class*="-description"],[class*="__meta"],[class*="-meta"],[class*="__message"],[class*="-message"],[class*="__help"],[class*="-help"],[class*="__value"],[class*="-value"],[class*="__condition"],[class*="-condition"],[class*="__temp"],[class*="-temp"]){
  font-family:var(--gb-component-font-body),Arial,sans-serif!important;
}
.gbbi-app :where(h1,h2,h3,h4,h5,h6,legend,[class*="__title"],[class*="-title"],[class*="__heading"],[class*="-heading"]),
.gbbi-autocomplete :where(h1,h2,h3,h4,h5,h6,legend,[class*="__title"],[class*="-title"],[class*="__heading"],[class*="-heading"]),
.gbbi-toast :where(h1,h2,h3,h4,h5,h6,legend,[class*="__title"],[class*="-title"],[class*="__heading"],[class*="-heading"]),
.gbbi-app :where(h1,h2,h3,h4,h5,h6,legend,[class*="__title"],[class*="-title"],[class*="__heading"],[class*="-heading"]) :where(a,span,strong,small,b,em),
.gbbi-autocomplete :where(h1,h2,h3,h4,h5,h6,legend,[class*="__title"],[class*="-title"],[class*="__heading"],[class*="-heading"]) :where(a,span,strong,small,b,em),
.gbbi-toast :where(h1,h2,h3,h4,h5,h6,legend,[class*="__title"],[class*="-title"],[class*="__heading"],[class*="-heading"]) :where(a,span,strong,small,b,em),
.gbbi-app :where([class*="__copy"],[class*="-copy"],[class*="__main"],[class*="-main"]) > strong,
.gbbi-autocomplete :where([class*="__copy"],[class*="-copy"],[class*="__main"],[class*="-main"]) > strong,
.gbbi-toast :where([class*="__copy"],[class*="-copy"],[class*="__main"],[class*="-main"]) > strong{
  font-family:var(--gb-component-font-heading),Arial,sans-serif!important;
}

/* Native card link: preserves context menu, open-in-new-tab and modified clicks. */
.gbbi-card,
.gbbi-compact-store{position:relative}
.gbbi-card__link-overlay{position:absolute;inset:0;z-index:2;display:block;border-radius:inherit;background:transparent!important;text-decoration:none!important;color:inherit!important}
.gbbi-card__link-overlay::before,.gbbi-card__link-overlay::after{content:none!important}
.gbbi-card__link-overlay:focus-visible{outline:3px solid color-mix(in srgb,var(--gbbi-primary) 35%,transparent);outline-offset:2px}
.gbbi-card__route-slot,
.gbbi-compact-store__route-slot,
.gbbi-card button,
.gbbi-compact-store button,
.gbbi-card a:not(.gbbi-card__link-overlay),
.gbbi-compact-store a:not(.gbbi-card__link-overlay){position:relative;z-index:3}
.gbbi-card__route-slot,.gbbi-compact-store__route-slot{isolation:isolate}
.gbbi-card__route-slot>*,.gbbi-compact-store__route-slot>*{position:relative;z-index:1;visibility:visible;opacity:1}


/* Route integration: Busca Inteligente controls only placement.
 * Typography, colors, borders, radius and icons belong to Guia Roteiro Base. */
.gbbi-card__route-slot .guia-rota__check,
.gbbi-compact-store__route-slot .guia-rota__check,
.gbbi-card__route-slot .gbbi-route-button,
.gbbi-compact-store__route-slot .gbbi-route-button,
.gbbi-card__route-slot .gbr-card-button,
.gbbi-compact-store__route-slot .gbr-card-button{
  position:relative!important;
  z-index:4!important;
  max-width:100%;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
}

/* 3.0.6 — store name and address always use one line with ellipsis. */
.gbbi-app .gbbi-card__title {
  min-width: 0 !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}
.gbbi-app .gbbi-card__title > span:first-child {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}
.gbbi-app .gbbi-card__qualifications {
  flex: 0 0 auto !important;
}
.gbbi-app .gbbi-card__address {
  min-width: 0 !important;
  min-height: 0 !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}
.gbbi-app .gbbi-card__address span {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
}


/* 3.0.8 — responsive merge: preserve 3.0.6 cards and use the full available
 * width on phones/tablets without escaping the Elementor container. */
@media (max-width: 980px) {
  .elementor-widget-guia_bras_busca_inteligente,
  .elementor-widget-guia_bras_busca_inteligente > .elementor-widget-container,
  .elementor-widget-guia_bras_busca_inteligente .gbbi-app,
  .gbbi-app,
  .gbbi-app .gbbi-form,
  .gbbi-app .gbbi-layout,
  .gbbi-app .gbbi-main,
  .gbbi-app [data-gbbi-header],
  .gbbi-app [data-gbbi-results] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .elementor-widget-guia_bras_busca_inteligente .gbbi-app .gbbi-layout,
  .gbbi-app .gbbi-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  .elementor-widget-guia_bras_busca_inteligente .gbbi-app .gbbi-main,
  .gbbi-app .gbbi-main {
    grid-column: 1 / -1 !important;
  }

  .elementor-widget-guia_bras_busca_inteligente .gbbi-app .gbbi-sidebar,
  .gbbi-app .gbbi-sidebar {
    display: none !important;
    position: fixed !important;
    z-index: 100001 !important;
    inset: 0 10% 0 0 !important;
    overflow: auto !important;
    border-radius: 0 !important;
  }

  .elementor-widget-guia_bras_busca_inteligente .gbbi-app.is-filter-open .gbbi-sidebar,
  .gbbi-app.is-filter-open .gbbi-sidebar {
    display: block !important;
  }

  .gbbi-app .gbbi-filter-backdrop {
    position: fixed !important;
    z-index: 100000 !important;
    inset: 0 !important;
    display: block;
    border: 0;
    background: rgba(16, 24, 40, .55);
  }

  .gbbi-app .gbbi-filter-backdrop[hidden] {
    display: none !important;
  }

  .elementor-widget-guia_bras_busca_inteligente .gbbi-app .gbbi-heading,
  .gbbi-app .gbbi-heading {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    width: 100% !important;
    row-gap: 14px !important;
    column-gap: 0 !important;
  }

  .gbbi-app .gbbi-heading__copy,
  .gbbi-app .gbbi-search-panel--inline,
  .gbbi-app .gbbi-tools {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .gbbi-app .gbbi-search-panel,
  .gbbi-app .gbbi-search-panel--inline {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    margin: 0 !important;
  }

  .gbbi-app .gbbi-searchbar,
  .gbbi-app .gbbi-searchbar__input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .gbbi-app .gbbi-search-submit {
    display: none !important;
  }

  .gbbi-app .gbbi-tools {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }

  .gbbi-app .gbbi-mobile-filter {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }

  .gbbi-app .gbbi-view-switch {
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }

  .elementor-widget-guia_bras_busca_inteligente .gbbi-app [data-gbbi-results] > .gbbi-grid,
  .gbbi-app [data-gbbi-results] > .gbbi-grid,
  .gbbi-app .gbbi-grid {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .elementor-widget-guia_bras_busca_inteligente .gbbi-app [data-gbbi-results] > .gbbi-grid > .gbbi-card,
  .gbbi-app [data-gbbi-results] > .gbbi-grid > .gbbi-card,
  .gbbi-app .gbbi-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }
}

@media (max-width: 767px) {
  .gbbi-app .gbbi-heading h2 {
    font-size: 27px;
  }

  .gbbi-app .gbbi-grid {
    gap: 16px !important;
  }
}

/* 3.0.9 — mobile controls and filter drawer hardened against theme/Elementor button styles. */
.gbbi-sidebar__actions{display:flex;align-items:center;gap:10px}
.gbbi-sidebar__close{display:none}

@media (max-width:980px){
  html.gbbi-no-scroll,
  html.gbbi-no-scroll body,
  body.gbbi-no-scroll{overflow:hidden!important;overscroll-behavior:none!important}

  .elementor-widget-guia_bras_busca_inteligente .gbbi-app .gbbi-mobile-filter,
  .gbbi-app .gbbi-mobile-filter{
    display:inline-flex!important;
    width:auto!important;
    min-width:100px!important;
    max-width:100%!important;
    height:44px!important;
    min-height:44px!important;
    flex:0 1 auto!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    margin:0!important;
    border:1px solid var(--gbbi-border)!important;
    border-radius:10px!important;
    background:#fff!important;
    background-image:none!important;
    color:var(--gbbi-text)!important;
    -webkit-text-fill-color:var(--gbbi-text)!important;
    padding:0 13px!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    font:inherit!important;
    font-size:14px!important;
    font-weight:700!important;
    line-height:1!important;
    letter-spacing:0!important;
    text-align:center!important;
    text-decoration:none!important;
    text-indent:0!important;
    text-shadow:none!important;
    text-transform:none!important;
    white-space:nowrap!important;
  }

  .elementor-widget-guia_bras_busca_inteligente .gbbi-app .gbbi-mobile-filter span,
  .gbbi-app .gbbi-mobile-filter span{
    display:inline!important;
    color:inherit!important;
    -webkit-text-fill-color:inherit!important;
    font:inherit!important;
    line-height:1!important;
    opacity:1!important;
    visibility:visible!important;
  }

  .elementor-widget-guia_bras_busca_inteligente .gbbi-app .gbbi-mobile-filter svg,
  .gbbi-app .gbbi-mobile-filter svg{
    display:block!important;
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
    fill:none!important;
    stroke:currentColor!important;
    color:inherit!important;
    opacity:1!important;
    visibility:visible!important;
  }

  .gbbi-app .gbbi-mobile-filter:hover,
  .gbbi-app .gbbi-mobile-filter:focus-visible{
    border-color:var(--gbbi-primary)!important;
    background:#fff!important;
    color:var(--gbbi-primary)!important;
    -webkit-text-fill-color:var(--gbbi-primary)!important;
    outline:0!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--gbbi-primary) 14%,transparent)!important;
  }

  .gbbi-app .gbbi-mobile-filter b{
    display:grid!important;
    min-width:20px!important;
    height:20px!important;
    flex:0 0 auto!important;
    place-items:center!important;
    margin:0!important;
    border:0!important;
    border-radius:999px!important;
    background:var(--gbbi-primary)!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    padding:0 5px!important;
    font-size:10px!important;
    font-weight:800!important;
    line-height:20px!important;
  }

  .elementor-widget-guia_bras_busca_inteligente .gbbi-app .gbbi-sidebar,
  .gbbi-app .gbbi-sidebar{
    inset:0 auto 0 0!important;
    width:min(88vw,360px)!important;
    max-width:360px!important;
    height:100vh!important;
    height:100dvh!important;
    background:#fff!important;
    box-shadow:14px 0 36px rgba(16,24,40,.22)!important;
    overscroll-behavior:contain!important;
  }

  .gbbi-app .gbbi-sidebar__head{
    position:sticky!important;
    z-index:5!important;
    top:0!important;
    align-items:center!important;
    background:#fff!important;
    padding-top:max(16px,env(safe-area-inset-top))!important;
  }

  .gbbi-app .gbbi-sidebar__actions{flex:0 0 auto!important;gap:8px!important}

  .gbbi-app .gbbi-sidebar .gbbi-clear{
    display:inline-flex!important;
    min-height:36px!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    background-image:none!important;
    color:var(--gbbi-primary)!important;
    -webkit-text-fill-color:var(--gbbi-primary)!important;
    padding:0 2px!important;
    box-shadow:none!important;
    font:inherit!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1!important;
    text-decoration:none!important;
    text-transform:none!important;
  }

  .gbbi-app .gbbi-filter__toggle{
    background:transparent!important;
    background-image:none!important;
    color:var(--gbbi-text)!important;
    -webkit-text-fill-color:var(--gbbi-text)!important;
    box-shadow:none!important;
    font:inherit!important;
    text-transform:none!important;
  }

  .gbbi-app .gbbi-sidebar__close{
    display:grid!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    place-items:center!important;
    margin:0!important;
    border:0!important;
    border-radius:9px!important;
    background:#f2f4f7!important;
    background-image:none!important;
    color:#344054!important;
    -webkit-text-fill-color:#344054!important;
    padding:0!important;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    cursor:pointer!important;
  }

  .gbbi-app .gbbi-sidebar__close svg{
    display:block!important;
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    color:inherit!important;
  }

  .gbbi-app .gbbi-sidebar__close:hover,
  .gbbi-app .gbbi-sidebar__close:focus-visible{
    background:color-mix(in srgb,var(--gbbi-primary) 10%,#fff)!important;
    color:var(--gbbi-primary)!important;
    -webkit-text-fill-color:var(--gbbi-primary)!important;
    outline:2px solid color-mix(in srgb,var(--gbbi-primary) 28%,transparent)!important;
    outline-offset:1px!important;
  }

  .gbbi-app .gbbi-filter-backdrop{
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent!important;
  }
}

@media (max-width:480px){
  .gbbi-app .gbbi-heading{row-gap:12px!important;margin-bottom:16px!important}
  .gbbi-app .gbbi-searchbar{min-height:48px!important;padding-inline:14px!important}
  .gbbi-app .gbbi-searchbar input{height:46px!important;font-size:14px!important}
  .gbbi-app .gbbi-tools{min-height:44px!important}
}


/* Archive editorial content: integrated directly below filters on desktop and after results on mobile. */
.gbbi-app .gbbi-sidebar-column{
  grid-column:1;
  min-width:0;
  align-self:start;
}
.gbbi-app .gbbi-sidebar-column > .gbbi-sidebar{width:100%}
.gbbi-app .gbbi-main{
  grid-column:2;
  min-width:0;
}
.gbbi-app .gbbi-archive-editorial{
  width:100%;
  min-width:0;
  margin:12px 0 0;
  overflow:hidden;
  border:1px solid var(--gbbi-border,#e4e7ec);
  border-radius:10px;
  background:#fff;
  color:var(--gbbi-text,#373737);
  box-shadow:none;
}
.gbbi-app .gbbi-archive-editorial__media{
  margin:0;
  overflow:hidden;
  background:#f6f6f6;
}
.gbbi-app .gbbi-archive-editorial__media img{
  display:block;
  width:100%;
  max-height:110px;
  aspect-ratio:16/7;
  object-fit:cover;
}
.gbbi-app .gbbi-archive-editorial__body{padding:12px 13px 13px}
.gbbi-app .gbbi-archive-editorial__eyebrow{
  display:block;
  margin:0 0 4px;
  color:var(--gbbi-primary,#c55553);
  font-family:inherit;
  font-size:9px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.gbbi-app .gbbi-archive-editorial__title{
  margin:0 0 7px;
  color:#373737;
  font-family:inherit;
  font-size:13px;
  font-weight:600;
  line-height:1.35;
}
.gbbi-app .gbbi-archive-editorial__text{
  position:relative;
  overflow:hidden;
  color:#696969;
  font-family:inherit;
  font-size:11px;
  font-weight:400;
  line-height:1.55;
  transition:max-height .22s ease;
}
.gbbi-app .gbbi-archive-editorial.is-collapsed .gbbi-archive-editorial__text{max-height:6.2em}
.gbbi-app .gbbi-archive-editorial.is-collapsed .gbbi-archive-editorial__text:after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:2.2em;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 84%);
}
.gbbi-app .gbbi-archive-editorial.is-expanded .gbbi-archive-editorial__text{max-height:1400px}
.gbbi-app .gbbi-archive-editorial__text>:first-child{margin-top:0}
.gbbi-app .gbbi-archive-editorial__text>:last-child{margin-bottom:0}
.gbbi-app .gbbi-archive-editorial__text p{margin:0 0 8px}
.gbbi-app .gbbi-archive-editorial__toggle{
  display:inline-flex;
  min-height:0;
  align-items:center;
  gap:3px;
  margin:7px 0 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--gbbi-primary,#c55553);
  padding:0;
  box-shadow:none;
  font:inherit;
  font-size:10px;
  font-weight:700;
  line-height:1.4;
  text-transform:none;
  cursor:pointer;
}
.gbbi-app .gbbi-archive-editorial__chevron{
  display:inline-block;
  font-size:14px;
  line-height:1;
  transform:rotate(90deg);
  transition:transform .18s ease;
}
.gbbi-app .gbbi-archive-editorial.is-expanded .gbbi-archive-editorial__chevron{transform:rotate(-90deg)}
.gbbi-app .gbbi-archive-editorial__toggle:focus-visible{
  outline:2px solid color-mix(in srgb,var(--gbbi-primary) 30%,transparent);
  outline-offset:3px;
  border-radius:3px;
}

@media (max-width:980px){
  .gbbi-app .gbbi-sidebar-column{display:contents}
  .gbbi-app .gbbi-main{
    grid-column:1 / -1!important;
    grid-row:auto!important;
    order:1;
  }
  .gbbi-app .gbbi-archive-editorial{
    grid-column:1 / -1;
    grid-row:auto;
    order:3;
    margin:24px 0 0;
    border-radius:10px;
  }
  .gbbi-app .gbbi-archive-editorial__body{padding:15px 16px}
  .gbbi-app .gbbi-archive-editorial__title{font-size:16px}
  .gbbi-app .gbbi-archive-editorial__text{font-size:13px;line-height:1.65}
  .gbbi-app .gbbi-archive-editorial.is-collapsed .gbbi-archive-editorial__text{max-height:6.6em}
  .gbbi-app .gbbi-archive-editorial__toggle{font-size:12px;margin-top:9px}
  .gbbi-app .gbbi-archive-editorial__media img{max-height:220px;aspect-ratio:16/8}
}

@media (max-width:480px){
  .gbbi-app .gbbi-archive-editorial{margin-top:20px}
  .gbbi-app .gbbi-archive-editorial__body{padding:14px}
}
