.bmf-ls{
  position:relative;
  width:var(--bmf-d-width,100%);
  max-width:100%;
  font:inherit;
  z-index:50;
  background:var(--bmf-underlay,transparent);
  border:0!important;
  box-shadow:none!important;
}
.bmf-ls__trigger{
  display:none;
  width:calc(var(--bmf-d-icon-size,22px) + 18px);
  height:calc(var(--bmf-d-icon-size,22px) + 18px);
  padding:9px!important;
  border:0!important;
  background:transparent!important;
  color:var(--bmf-icon,#333)!important;
  box-shadow:none!important;
  cursor:pointer;
}
.bmf-ls__trigger svg,
.bmf-ls__icon svg,
.bmf-ls__submit svg{
  display:block;
  width:var(--bmf-d-icon-size,22px);
  height:var(--bmf-d-icon-size,22px);
  fill:currentColor;
}
.bmf-ls__surface{position:relative;width:100%;background:transparent!important;border:0!important;box-shadow:none!important}
.bmf-ls__form{position:relative;display:flex;align-items:stretch;width:100%;height:var(--bmf-d-height,46px);margin:0;background:transparent!important;border:0!important;box-shadow:none!important}
.bmf-ls__input{
  min-width:0;
  flex:1;
  width:100%;
  height:100%!important;
  margin:0!important;
  padding:0 var(--bmf-d-pad-right,42px) 0 var(--bmf-d-pad-left,44px)!important;
  border:var(--bmf-border-width,1px) solid var(--bmf-border-color,#d8d8d8)!important;
  border-right-width:0!important;
  border-radius:var(--bmf-radius,12px) 0 0 var(--bmf-radius,12px)!important;
  background:var(--bmf-bar-bg,#fff)!important;
  color:var(--bmf-text,#222)!important;
  font:inherit!important;
  font-size:16px!important;
  -webkit-appearance:none;
  appearance:none;
  touch-action:manipulation;
  outline:none;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
.bmf-ls--no-submit .bmf-ls__input{
  border-right-width:var(--bmf-border-width,1px)!important;
  border-radius:var(--bmf-radius,12px)!important;
}
.bmf-ls__input::placeholder{color:var(--bmf-placeholder,#777);opacity:1}
.bmf-ls__input:focus{box-shadow:inset 0 0 0 1px var(--bmf-border-color,#d8d8d8)!important}
.bmf-ls__icon{position:absolute;z-index:2;left:14px;top:50%;transform:translateY(-50%);display:grid;place-items:center;pointer-events:none;color:var(--bmf-icon,#333)}
.bmf-ls__submit{
  display:grid!important;
  place-items:center;
  width:calc(var(--bmf-d-height,46px) + 4px);
  min-width:42px;
  height:100%!important;
  padding:0!important;
  margin:0!important;
  border:var(--bmf-btn-border-width,0px) solid var(--bmf-btn-border,#d8d8d8)!important;
  border-radius:0 var(--bmf-radius,12px) var(--bmf-radius,12px) 0!important;
  background:var(--bmf-btn-bg,#fff)!important;
  color:var(--bmf-btn-text,#333)!important;
  box-shadow:none!important;
  cursor:pointer;
  box-sizing:border-box!important;
}
.bmf-ls__clear{
  position:absolute;
  z-index:3;
  right:calc(var(--bmf-d-height,46px) + 9px);
  top:50%;
  transform:translateY(-50%);
  width:26px;
  height:26px;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:var(--bmf-text,#222)!important;
  font-size:21px;
  line-height:1;
  cursor:pointer;
  box-shadow:none!important;
}
.bmf-ls--no-submit .bmf-ls__clear{right:10px}
.bmf-ls__clear:hover{background:rgba(0,0,0,.05)!important}
.bmf-ls__spinner{
  position:absolute;
  z-index:3;
  right:calc(var(--bmf-d-height,46px) + 15px);
  top:50%;
  transform:translateY(-50%);
  width:16px;height:16px;
  border:2px solid rgba(0,0,0,.15);
  border-top-color:var(--bmf-icon,#333);
  border-radius:50%;
  animation:bmf-spin .65s linear infinite
}
.bmf-ls--no-submit .bmf-ls__spinner{right:16px}
.bmf-ls.is-loading .bmf-ls__clear{visibility:hidden}
.bmf-ls__panel{
  position:absolute;
  top:calc(100% + 7px);
  left:0;
  width:var(--bmf-d-panel-width,100%);
  max-width:min(100vw - 16px, 1200px);
  overflow:hidden;
  border:var(--bmf-panel-border-width,1px) solid var(--bmf-panel-border-color,#e5e5e5);
  border-radius:var(--bmf-panel-radius,12px);
  background:#fff;
  box-shadow:0 12px 34px rgba(0,0,0,.12);
  max-height:min(480px,70vh);
  overflow-y:auto;
}
.bmf-ls__item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;color:inherit!important;text-decoration:none!important;border-bottom:1px solid rgba(0,0,0,.07)}
.bmf-ls__item:last-of-type{border-bottom:0}
.bmf-ls__item:hover{background:rgba(0,0,0,.035)}
.bmf-ls__thumb{width:48px;height:48px;object-fit:cover;border-radius:8px;background:#f4f4f4}
.bmf-ls__body{display:flex;min-width:0;flex-direction:column;gap:2px}.bmf-ls__name{font-size:14px;font-weight:600;line-height:1.28;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmf-ls__meta{font-size:11px;opacity:.62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bmf-ls__price{font-size:13px;font-weight:600;white-space:nowrap}.bmf-ls__price del{opacity:.5;font-weight:400}.bmf-ls__price ins{text-decoration:none}.bmf-ls__all,.bmf-ls__empty{display:block;padding:11px 12px;font-size:13px}.bmf-ls__all{text-align:center;color:inherit!important;text-decoration:none!important;font-weight:600;border-top:1px solid rgba(0,0,0,.07)}.bmf-ls__all:hover{background:rgba(0,0,0,.035)}.bmf-ls__empty{opacity:.7}
.bmf-ls__overlay-close{display:none}
.bmf-ls--icon>.bmf-ls__trigger,.bmf-ls--desktop_icon>.bmf-ls__trigger{display:grid;place-items:center}
.bmf-ls--icon>.bmf-ls__surface,.bmf-ls--desktop_icon>.bmf-ls__surface{display:none}
.bmf-ls.is-overlay-open>.bmf-ls__surface{
  display:block!important;
  position:fixed;
  z-index:999999;
  inset:0;
  padding:72px 20px 20px;
  background:var(--bmf-overlay-bg,rgba(255,255,255,.98));
}
.bmf-ls.is-overlay-open .bmf-ls__form{width:min(720px,100%);margin:auto}
.bmf-ls.is-overlay-open .bmf-ls__panel{position:relative;width:min(720px,100%);margin:7px auto 0;top:auto;left:auto;max-width:none}
.bmf-ls.is-overlay-open .bmf-ls__overlay-close{display:block;position:fixed;right:18px;top:14px;width:40px;height:40px;padding:0!important;border:0!important;background:transparent!important;color:#222!important;font-size:34px;line-height:1;box-shadow:none!important;cursor:pointer}
.bmf-ls.is-inline-open>.bmf-ls__surface{
  display:block!important;
  position:absolute;
  z-index:99998;
  right:0;
  top:calc(100% + 8px);
  width:min(var(--bmf-d-width,320px),calc(100vw - 24px));
}
.bmf-ls.is-inline-open .bmf-ls__form,
.bmf-ls.is-inline-open .bmf-ls__panel{width:100%}
.bmf-ls.is-inline-open .bmf-ls__overlay-close{display:none!important}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes bmf-spin{to{transform:translateY(-50%) rotate(360deg)}}
@media(max-width:767px){
  .bmf-ls{width:var(--bmf-m-width,100%)}
  .bmf-ls__trigger{width:calc(var(--bmf-m-icon-size,22px) + 18px);height:calc(var(--bmf-m-icon-size,22px) + 18px)}
  .bmf-ls__trigger svg,.bmf-ls__icon svg,.bmf-ls__submit svg{width:var(--bmf-m-icon-size,22px);height:var(--bmf-m-icon-size,22px)}
  .bmf-ls__form{height:var(--bmf-m-height,44px)}
  .bmf-ls__input{padding:0 var(--bmf-m-pad-right,40px) 0 var(--bmf-m-pad-left,42px)!important}
  .bmf-ls__submit{width:calc(var(--bmf-m-height,44px) + 4px)}
  .bmf-ls__clear{right:calc(var(--bmf-m-height,44px) + 9px)}
  .bmf-ls--no-submit .bmf-ls__clear{right:10px}
  .bmf-ls__spinner{right:calc(var(--bmf-m-height,44px) + 15px)}
  .bmf-ls--no-submit .bmf-ls__spinner{right:16px}
  .bmf-ls__panel{width:var(--bmf-m-panel-width,100%)}
  .bmf-ls__thumb{width:44px;height:44px}.bmf-ls__price{font-size:12px}
  .bmf-ls--desktop_icon>.bmf-ls__trigger{display:none}.bmf-ls--desktop_icon>.bmf-ls__surface{display:block}
  .bmf-ls--mobile_icon>.bmf-ls__trigger{display:grid;place-items:center}.bmf-ls--mobile_icon>.bmf-ls__surface{display:none}
  .bmf-ls--mobile-fullscreen.is-overlay-open>.bmf-ls__surface{display:block!important;padding:64px 12px 12px}
  .bmf-ls.is-inline-open>.bmf-ls__surface{left:0;right:auto;top:calc(100% + 8px);width:min(var(--bmf-m-width,100%),calc(100vw - 24px))}
}
@media(min-width:768px){.bmf-ls--mobile_icon>.bmf-ls__trigger{display:none}.bmf-ls--mobile_icon>.bmf-ls__surface{display:block}}

/* v1.4.0: elimina espacio añadido por bloques Shortcode/Gutenberg */
.wp-block-shortcode:has(.bmf-ls){margin:0!important;padding:0!important;min-height:0!important;line-height:normal!important}
.wp-block-shortcode:has(.bmf-ls)>*{margin-top:0!important;margin-bottom:0!important}
.wp-block-shortcode .bmf-ls{margin:0!important}

/* Barra desplegable tipo FiboSearch: ancho de viewport, no ancho del bloque/icono */
.bmf-ls.is-inline-open>.bmf-ls__surface{
  display:block!important;
  position:fixed!important;
  z-index:999999!important;
  top:var(--bmf-inline-top,70px)!important;
  left:var(--bmf-inline-side,8px)!important;
  right:var(--bmf-inline-side,8px)!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}
.bmf-ls.is-inline-open .bmf-ls__form{width:100%!important;margin:0!important}
.bmf-ls.is-inline-open .bmf-ls__panel{width:100%!important;max-width:100%!important}
@media(min-width:768px){
  .bmf-ls.is-inline-open>.bmf-ls__surface{
    width:min(var(--bmf-d-inline-width,100vw),calc(100vw - var(--bmf-inline-side,12px) - var(--bmf-inline-side,12px)))!important;
    right:auto!important;
  }
}
@media(max-width:767px){
  .bmf-ls.is-inline-open>.bmf-ls__surface{
    width:min(var(--bmf-m-inline-width,100vw),calc(100vw - var(--bmf-inline-side,8px) - var(--bmf-inline-side,8px)))!important;
    right:auto!important;
  }
}
/* Disparador externo por clase CSS: el contenedor no ocupa espacio en el layout. */
.bmf-ls--external-root{
  position:fixed!important;
  left:0!important;
  top:0!important;
  width:0!important;
  height:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  pointer-events:none;
  z-index:999999;
}
.bmf-ls--external-root>.bmf-ls__trigger{display:none!important}
.bmf-ls--external-root>.bmf-ls__surface{pointer-events:auto}
.bmf-ls--external-root.is-inline-open>.bmf-ls__surface{
  position:fixed!important;
  left:var(--bmf-inline-side,8px)!important;
  right:var(--bmf-inline-side,8px)!important;
  top:var(--bmf-inline-top,70px)!important;
  width:auto!important;
  max-width:none!important;
}
.bmf-ls--external-root.is-inline-open .bmf-ls__form,
.bmf-ls--external-root.is-inline-open .bmf-ls__panel{width:100%!important}
