/* ==========================================================================
   Burguer Bestia · CSS de marca para Elementor
   Se carga en todo el sitio (lo encola el plugin burguer-bestia-kit, o se pega en
   Elementor > Código personalizado). Los colores salen de los globales de Elementor,
   así que cambian solos si se cambia la paleta en Ajustes del sitio.
   Referencia visual: ../03-mockup/*.html
   ========================================================================== */
:root{
  --bb-lima:var(--e-global-color-primary,#C6FF3D);
  --bb-carbon:var(--e-global-color-secondary,#141414);
  --bb-pan:var(--e-global-color-text,#F3EBDD);
  --bb-cheddar:var(--e-global-color-accent,#FF8A1F);
  --bb-brasa:var(--e-global-color-bb_brasa,#232323);
  --bb-linea:#333;
  --bb-ft:"Big Shoulders Display",Impact,"Arial Narrow",sans-serif;
}
html,body{overflow-x:clip}
body{background:var(--bb-carbon);color:var(--bb-pan);-webkit-font-smoothing:antialiased}
:focus-visible{outline:3px solid var(--bb-cheddar);outline-offset:3px}

/* ---------- ayudas de texto ---------- */
.bb-lima{color:var(--bb-lima)}
.bb-et .elementor-heading-title{letter-spacing:.16em;text-transform:uppercase;font-size:14px;margin:0 0 14px}
.bb-lead{margin-top:clamp(14px,2.2vw,30px)}
.bb-lead p{font-size:clamp(17px,1.6vw,22px);max-width:52ch}
.bb-suave p{font-size:15px;color:#cfc8ba;margin:6px 0 0}
.bb-sobre-lima,.bb-sobre-lima p{color:var(--bb-carbon)}
.bb-prosa p{font-size:clamp(17px,1.5vw,20px);max-width:58ch}
.elementor-widget-heading .elementor-heading-title{line-height:.88}
h3.elementor-heading-title{line-height:.98}

/* ---------- botones (variantes sobre el botón global) ---------- */
.elementor-button{transition:background .15s,transform .15s,color .15s}
.elementor-button:hover,.elementor-button:focus-visible{transform:translateY(-2px) rotate(-1deg)}
/* los colores de cada variante se fijan en el propio widget con colores globales; aquí solo el tamaño de las fichas */
.bb-btn-chip .elementor-button{padding:11px 16px;font-size:14px}

/* ==========================================================================
   ANIMACIONES DE MARCA
   ========================================================================== */
@property --b1{syntax:"<length>";inherits:false;initial-value:0px}
@property --b2{syntax:"<length>";inherits:false;initial-value:0px}
@property --b3{syntax:"<length>";inherits:false;initial-value:0px}

/* 1 · bb-mordisco: clase en un widget Imagen (o Encabezado, en el 404). Tres bocados al entrar en pantalla. */
.bb-mordisco img,.bb-404.bb-mordisco .elementor-heading-title{--t:clamp(34px,5.2vw,74px);--b1:var(--t);--b2:calc(var(--t)*.52);--b3:calc(var(--t)*.56);
  -webkit-mask-image:radial-gradient(circle at calc(100% - var(--t)*.25) calc(var(--t)*.3),#0000 var(--b1),#000 calc(var(--b1) + .6px)),radial-gradient(circle at calc(100% - var(--t)*1.3) calc(var(--t)*.02),#0000 var(--b2),#000 calc(var(--b2) + .6px)),radial-gradient(circle at calc(100% + var(--t)*.1) calc(var(--t)*1.4),#0000 var(--b3),#000 calc(var(--b3) + .6px));
  mask-image:radial-gradient(circle at calc(100% - var(--t)*.25) calc(var(--t)*.3),#0000 var(--b1),#000 calc(var(--b1) + .6px)),radial-gradient(circle at calc(100% - var(--t)*1.3) calc(var(--t)*.02),#0000 var(--b2),#000 calc(var(--b2) + .6px)),radial-gradient(circle at calc(100% + var(--t)*.1) calc(var(--t)*1.4),#0000 var(--b3),#000 calc(var(--b3) + .6px));
  -webkit-mask-composite:source-in;mask-composite:intersect}
.bb-mordisco img{border-radius:16px;width:100%;object-fit:cover;display:block}
.bb-404.bb-mordisco .elementor-heading-title{--t:clamp(60px,12vw,190px);display:inline-block;line-height:.78}
.bb-js .bb-mordisco:not(.bb-visto) img,.bb-js .bb-404.bb-mordisco:not(.bb-visto) .elementor-heading-title{--b1:0px;--b2:0px;--b3:0px}
.bb-js .bb-mordisco.bb-visto img,.bb-js .bb-404.bb-mordisco.bb-visto .elementor-heading-title{animation:bb-m1 .2s cubic-bezier(.3,1.6,.5,1) .25s backwards,bb-m2 .2s cubic-bezier(.3,1.6,.5,1) .55s backwards,bb-m3 .2s cubic-bezier(.3,1.6,.5,1) .85s backwards,bb-sacude .16s ease-out .25s,bb-sacude .16s ease-out .55s,bb-sacude .16s ease-out .85s}
@keyframes bb-m1{from{--b1:0px}}
@keyframes bb-m2{from{--b2:0px}}
@keyframes bb-m3{from{--b3:0px}}
@keyframes bb-sacude{40%{transform:translate(-3px,2px) rotate(-.7deg)}}
.bb-girada img{transform:rotate(-4deg)}

/* 2 · bb-golpe: clase en un widget Encabezado. El titular cae de golpe. */
.bb-js .bb-golpe .elementor-heading-title{opacity:0}
.bb-js .bb-golpe.bb-visto .elementor-heading-title{opacity:1;animation:bb-cae .42s cubic-bezier(.2,1.4,.4,1) both}
@keyframes bb-cae{0%{opacity:0;transform:scale(1.18) translateY(-12px)}55%{opacity:1;transform:scale(.985) translateY(3px) rotate(-.5deg)}75%{transform:scale(1.008) rotate(.3deg)}100%{opacity:1;transform:none}}

/* 3 · bb-cinta: pieza de widget HTML (ver cinta.html). */
.bb-cinta{background:var(--bb-lima);color:var(--bb-carbon);overflow:hidden;white-space:nowrap;transform:rotate(-2deg) scale(1.04);padding:14px 0;position:relative;z-index:3;font:900 clamp(22px,3.4vw,44px)/1 var(--bb-ft);text-transform:uppercase}
.bb-cinta.c{background:var(--bb-cheddar);transform:rotate(1.6deg) scale(1.04)}
.bb-cinta span{display:inline-block;padding-right:.6em;animation:bb-corre 30s linear infinite}
@keyframes bb-corre{to{transform:translateX(-50%)}}

/* 4 · bb-burger: clase en el widget Imagen del hero (PNG recortado). Tres bocados del logo, flota y gira con el scroll. */
@property --k1{syntax:"<number>";inherits:false;initial-value:1}
@property --k2{syntax:"<number>";inherits:false;initial-value:1}
@property --k3{syntax:"<number>";inherits:false;initial-value:1}
.bb-burger{container-type:inline-size;pointer-events:none;transform:translateY(var(--sube,0px)) rotate(var(--giro,0deg))}
.bb-burger img{width:100%;height:auto;display:block;transform-origin:50% 92%;
  -webkit-mask-image:radial-gradient(circle calc(11.5cqw*var(--k1)) at 84% 13%,#0000 99.3%,#000 100%),radial-gradient(circle calc(6.2cqw*var(--k2)) at 70.5% 3.5%,#0000 99%,#000 100%),radial-gradient(circle calc(6.5cqw*var(--k3)) at 91.5% 33%,#0000 99%,#000 100%);
  mask-image:radial-gradient(circle calc(11.5cqw*var(--k1)) at 84% 13%,#0000 99.3%,#000 100%),radial-gradient(circle calc(6.2cqw*var(--k2)) at 70.5% 3.5%,#0000 99%,#000 100%),radial-gradient(circle calc(6.5cqw*var(--k3)) at 91.5% 33%,#0000 99%,#000 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.bb-js .bb-burger img{animation:bb-llega .5s cubic-bezier(.2,1.4,.4,1) .15s both,
  bb-k1 .22s cubic-bezier(.3,1.6,.5,1) .15s backwards,bb-k2 .22s cubic-bezier(.3,1.6,.5,1) .15s backwards,bb-k3 .22s cubic-bezier(.3,1.6,.5,1) .15s backwards,
  bb-k1 .22s cubic-bezier(.3,1.6,.5,1) 1s backwards,bb-k2 .22s cubic-bezier(.3,1.6,.5,1) 1.55s backwards,bb-k3 .22s cubic-bezier(.3,1.6,.5,1) 2.1s backwards,
  bb-nam .2s ease-out 1s,bb-nam .2s ease-out 1.55s,bb-nam .2s ease-out 2.1s,bb-flota 5s ease-in-out 2.6s infinite}
@keyframes bb-llega{0%{opacity:0;transform:scale(1.14) translateY(-4%)}60%{opacity:1;transform:scale(.985) translateY(1%)}100%{opacity:1;transform:none}}
@keyframes bb-k1{from{--k1:0}}
@keyframes bb-k2{from{--k2:0}}
@keyframes bb-k3{from{--k3:0}}
@keyframes bb-nam{40%{transform:translate(-7px,4px) rotate(-1.2deg)}}
@keyframes bb-flota{50%{transform:translateY(-2.2%) rotate(-1.1deg)}}
/* móvil: la hamburguesa deja de flotar sobre el texto y pasa debajo de los botones */
@media (max-width:767px){
  .bb-hero .bb-burger{position:relative!important;inset:auto!important;width:106vw!important;max-width:none!important;margin:8vw 0 -6vw -8vw!important}
}

/* 5 · pegatina: clase en un widget Botón. Círculo girado que late. */
.pegatina .elementor-button{width:clamp(104px,11.5vw,168px);aspect-ratio:1;border-radius:50%;padding:0;display:grid;place-items:center;text-align:center;white-space:normal;
  font:900 clamp(20px,2.3vw,34px)/.9 var(--bb-ft);text-transform:uppercase;transform:rotate(-12deg);animation:bb-late 2.4s ease-in-out infinite}
.pegatina .elementor-button:hover,.pegatina .elementor-button:focus-visible{background:var(--bb-pan);transform:rotate(-12deg)}
@keyframes bb-late{50%{transform:rotate(-8deg) scale(1.06)}}
@media (max-width:767px){.bb-hero .pegatina{inset:auto auto 6vw 18px!important}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .bb-js .bb-mordisco:not(.bb-visto) img{--b1:var(--t);--b2:calc(var(--t)*.52);--b3:calc(var(--t)*.56)}
  .bb-js .bb-mordisco.bb-visto img,.bb-js .bb-golpe.bb-visto .elementor-heading-title,.bb-cinta span,.pegatina .elementor-button,.bb-js .bb-burger img{animation:none!important}
  .bb-js .bb-golpe .elementor-heading-title{opacity:1}
  .bb-burger{--sube:0px!important;--giro:0deg!important}
}

/* ==========================================================================
   COMPONENTES
   ========================================================================== */
/* cabecera y pie */
.bb-menu .elementor-item{letter-spacing:.04em;text-transform:uppercase;font-weight:700;font-size:15px}
/* desplegable del menú en móvil, con los colores y la tipografía de la marca */
.bb-menu .elementor-menu-toggle{background:transparent!important;color:var(--bb-pan)!important;padding:6px;border-radius:4px}
.bb-menu .elementor-menu-toggle svg{fill:currentColor;width:28px;height:28px}
.bb-menu .elementor-menu-toggle:hover,.bb-menu .elementor-menu-toggle.elementor-active{color:var(--bb-lima)!important}
.bb-menu .elementor-nav-menu--dropdown{background:var(--bb-carbon)!important;border-top:1px solid var(--bb-linea);border-bottom:4px solid var(--bb-lima);margin-top:14px!important}
.bb-menu .elementor-nav-menu--dropdown a.elementor-item{color:var(--bb-pan)!important;background:transparent!important;font:900 34px/1 var(--bb-ft)!important;text-transform:uppercase;letter-spacing:0;padding:20px clamp(18px,3.2vw,48px)!important;border-bottom:1px solid var(--bb-linea)}
.bb-menu .elementor-nav-menu--dropdown a.elementor-item:hover,.bb-menu .elementor-nav-menu--dropdown a.elementor-item:focus,.bb-menu .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{color:var(--bb-lima)!important;background:var(--bb-brasa)!important}
.bb-lista .elementor-icon-list-item a:hover{color:var(--bb-lima)}
.bb-logo-pie img{width:100%}
.bb-legal p{font-size:13px;color:#8d8d8d;margin:0}
.bb-legal a{color:inherit;text-decoration:none}
.bb-legal a:hover{color:var(--bb-lima)}

/* portada */
.bb-cats>.e-con-inner>.bb-cat:nth-child(even),.bb-cats>.bb-cat:nth-child(even){margin-top:clamp(0px,4vw,60px)}
.bb-cat img{transition:transform .2s}
.bb-cat:hover img{transform:translateY(-6px) rotate(-1.2deg)}
.bb-cat .elementor-heading-title a{color:inherit;text-decoration:none;transition:color .15s}
.bb-cat:hover .elementor-heading-title a{color:var(--bb-lima)}
.bb-ingr .elementor-icon-list-items{gap:8px;flex-wrap:wrap}
.bb-ingr .elementor-icon-list-item{background:var(--bb-carbon);color:var(--bb-pan);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:8px 12px;border-radius:4px;margin:0!important}
.bb-ingr .elementor-icon-list-item::after{display:none}
.bb-ley .elementor-heading-title{margin:0}
.bb-dato{margin-top:22px}
.bb-dato .elementor-icon{font-size:30px}
.bb-dato .elementor-icon-box-title{font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:0}
.bb-horas{border-collapse:collapse;font-size:17px;border:0!important;width:auto;margin:0}
/* sin el sombreado ni los bordes que el tema pone a las tablas */
.bb-horas,.bb-horas tbody,.bb-horas tr,.bb-horas td,.bb-horas tr:hover>td,.bb-horas tbody>tr:nth-child(odd)>td{background:none!important;border:0!important}
.bb-horas td{padding:2px 22px 2px 0!important;vertical-align:top}
.bb-mapa iframe{filter:grayscale(1) invert(.92) contrast(.9);border-radius:16px}
.bb-insta .gallery-item img{border-radius:10px;aspect-ratio:1;object-fit:cover;border:0!important}
.bb-insta .gallery-item:nth-child(odd) img{transform:rotate(-1.5deg)}
.bb-insta .gallery-item:nth-child(even) img{transform:rotate(1.5deg)}
.bb-galeria .gallery-item img{border-radius:16px;aspect-ratio:4/3;object-fit:cover;border:0!important}

/* formulario de reservas (sobre fondo lima) */
.bb-form .elementor-field-label{font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--bb-carbon)}
.bb-form .elementor-field-textual,.bb-form select.elementor-field{background:var(--bb-carbon);color:var(--bb-pan);border:2px solid var(--bb-carbon);border-radius:4px;padding:14px;font-size:17px}
.bb-form .elementor-field-textual::placeholder{color:#8d8d8d}
.bb-form .elementor-field-textual:focus{border-color:var(--bb-cheddar);outline:0}
.bb-form .elementor-field-type-acceptance,.bb-form .elementor-field-type-acceptance a{color:var(--bb-carbon);font-size:14px}
.bb-form .elementor-button{background:var(--bb-carbon);color:var(--bb-lima)}

/* carta */
.bb-precios .elementor-price-list-item{padding:18px 0;border-bottom:1px solid var(--bb-linea)}
.bb-sobre-lima .bb-precios .elementor-price-list-item{border-color:var(--bb-carbon)}
.bb-precios .elementor-price-list-title,.bb-precios .elementor-price-list-price{font-size:clamp(24px,2.4vw,36px);text-transform:uppercase}
.bb-sobre-lima .bb-precios .elementor-price-list-title,.bb-sobre-lima .bb-precios .elementor-price-list-price,.bb-sobre-lima .bb-precios .elementor-price-list-description{color:var(--bb-carbon)}
.bb-precios .elementor-price-list-description{font-size:15px;opacity:.82}
.bb-precios .elementor-price-list-separator{border-bottom-style:dotted;border-bottom-width:2px;opacity:.35}
/* la foto de cada plato ocupa su caja 4:3 y nunca se sale de ella, para que el texto quede siempre debajo */
.bb-plato>.elementor-element{flex:0 0 auto}
.bb-plato-img{aspect-ratio:4/3;width:100%;height:auto!important;overflow:hidden;border-radius:16px;flex:0 0 auto!important}
.bb-plato-img img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover;display:block}
.bb-plato-img img[src$=".png"]{object-fit:contain;background:var(--bb-brasa);padding:6% 5% 3%}
.bb-picante .elementor-heading-title{font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-top:10px}
.e-loop-item:not(.bb_picante-1) .bb-picante{display:none}
.bb-nota .elementor-icon{font-size:40px}
.bb-cta p{font-size:clamp(18px,1.6vw,22px);max-width:44ch;margin:18px auto 0}

/* la bestia */
.bb-cifra{border-top:4px solid var(--bb-carbon);padding-top:14px}
.bb-cifra .elementor-counter-number-wrapper{font-size:clamp(72px,11vw,170px);line-height:.84;justify-content:flex-start}
.bb-cifra .elementor-counter-title{text-align:left;font-size:15px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}

/* reservas */
.bb-acord .elementor-accordion-item{border-color:var(--bb-linea)}
.bb-acord .elementor-tab-title{font-size:clamp(22px,2.2vw,32px);text-transform:uppercase;padding:18px 0}
.bb-acord .elementor-tab-content{padding:0 0 18px;max-width:56ch}

/* dónde estamos */
.bb-llegar{background:var(--bb-brasa);border-radius:16px;padding:clamp(20px,2.6vw,32px)}
.bb-llegar .elementor-icon{font-size:36px}

/* legales */
.bb-legal-txt{max-width:820px}
.bb-legal-txt h2{font-family:var(--bb-ft);font-weight:900;text-transform:uppercase;font-size:clamp(40px,5.4vw,72px);line-height:.9;margin:clamp(40px,5vw,70px) 0 16px;scroll-margin-top:90px}
.bb-legal-txt h3{font-family:var(--bb-ft);font-weight:900;text-transform:uppercase;font-size:26px;margin:26px 0 8px}
.bb-legal-txt p{color:#d9d2c4}
.bb-pend{background:var(--bb-brasa);border-left:6px solid var(--bb-cheddar);border-radius:8px;padding:16px 20px;font-size:15px}

/* tabla de alérgenos (la pinta el shortcode [bb_tabla_alergenos]) */
.bb-leyenda{display:flex;gap:22px;flex-wrap:wrap;font-size:15px}
.bb-leyenda span{display:inline-flex;align-items:center;gap:8px}
.si,.tr{display:inline-block;width:16px;height:16px;border-radius:50%;background:var(--bb-lima);vertical-align:middle}
.tr{background:transparent;box-shadow:inset 0 0 0 2.5px var(--bb-cheddar)}
.resumen-al{display:none;background:var(--bb-lima);color:var(--bb-carbon);border-radius:16px;padding:20px 24px;margin:0 0 18px;font-size:17px;scroll-margin-top:90px}
.resumen-al.ver{display:block}
.resumen-al b{font:900 clamp(26px,2.6vw,38px)/1 var(--bb-ft);text-transform:uppercase;display:block;margin-bottom:6px}
.tabla-al{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;background:var(--bb-brasa)}
.tabla-al table{border-collapse:collapse;width:100%;min-width:980px;font-size:15px;margin:0;border:0}
.tabla-al th,.tabla-al td{padding:12px 6px;text-align:center;border:0;border-bottom:1px solid var(--bb-linea);background:none}
.tabla-al thead th{font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;vertical-align:bottom;height:120px;padding-bottom:14px}
.tabla-al thead th span{display:inline-block;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}
.tabla-al th:first-child,.tabla-al td:first-child{text-align:left;padding-left:20px;position:sticky;left:0;background:var(--bb-brasa);min-width:210px;z-index:1}
.tabla-al tbody th{font:900 20px/1.1 var(--bb-ft);text-transform:uppercase}
.tabla-al tr.grupo th{background:var(--bb-carbon);color:var(--bb-lima);font:700 12px/1 inherit;letter-spacing:.16em;text-transform:uppercase;padding:14px 20px;text-align:left;position:static}
.tabla-al tr.grupo th span{position:sticky;left:20px;display:inline-block}
.tabla-al tbody tr:target th,.tabla-al tbody tr:target td{background:#3a3a1f;box-shadow:inset 0 2px 0 var(--bb-lima),inset 0 -2px 0 var(--bb-lima)}
@media (min-width:1025px){
  .tabla-al{overflow:visible}
  .tabla-al thead th{position:sticky;top:66px;background:var(--bb-brasa);z-index:3;box-shadow:inset 0 -1px 0 var(--bb-linea)}
  .tabla-al thead th:first-child{z-index:4;border-top-left-radius:16px}
  .tabla-al thead th:last-child{border-top-right-radius:16px}
}
@media (max-width:767px){
  .tabla-al table{min-width:700px;font-size:14px}
  .tabla-al th:first-child,.tabla-al td:first-child{min-width:0;width:128px;max-width:128px;padding-left:12px;white-space:normal}
  .tabla-al tbody th{font-size:16px}
  .tabla-al th,.tabla-al td{padding:10px 3px}
  .si,.tr{width:13px;height:13px}
}

/* ==========================================================================
   TABLET Y MÓVIL
   ========================================================================== */
@media (max-width:1024px){
  /* las filas pasan a columna: la foto que acompaña al texto se vuelve apaisada */
  .bb-duo img{aspect-ratio:16/10!important}
  .bb-girada{max-width:420px;margin-inline:auto}
  .bb-dato .elementor-icon-box-wrapper{text-align:left}
}
@media (max-width:767px){
  .bb-lead p{font-size:17px}
  .bb-cats>.e-con-inner>.bb-cat:nth-child(even),.bb-cats>.bb-cat:nth-child(even){margin-top:26px}
  .bb-cinta{font-size:22px;padding:11px 0}
  .bb-cifra .elementor-counter-number-wrapper{font-size:clamp(72px,24vw,120px)}
  .bb-horas{font-size:15px}
  .bb-horas td{padding-right:12px}
}

/* cabecera en móvil: logo a la izquierda, botón y menú a la derecha, en una sola fila */
@media (max-width:767px){
  .bb-cab{flex-wrap:nowrap!important;gap:10px!important}
  .bb-cab .bb-logo{margin-right:auto;flex:0 1 150px;min-width:0}
  .bb-cab .elementor-widget-button{order:2;flex:0 0 auto}
  .bb-cab .elementor-widget-button .elementor-button{padding:11px 13px;font-size:12px;white-space:nowrap}
  .bb-cab .bb-menu{order:3;flex:0 0 auto}
}
/* fotos antes que el texto cuando las filas pasan a columna */
@media (max-width:1024px){ .bb-col-foto{order:-1!important} }
/* bloques que se centran en móvil: dónde estamos (inicio y página) y pie */
@media (max-width:767px){
  .bb-centro-movil{--align-items:center;align-items:center!important}
  .bb-centro-movil .e-con{--justify-content:center;justify-content:center!important}
  .bb-centro-movil .elementor-heading-title,.bb-centro-movil .elementor-widget-text-editor{text-align:center}
  .bb-centro-movil .bb-dato{width:100%}
  .bb-centro-movil .elementor-icon-box-wrapper{flex-direction:column!important;align-items:center!important;text-align:center!important;gap:8px}
  .bb-centro-movil .elementor-icon-box-icon{margin:0!important}
  .bb-centro-movil .elementor-icon-box-content{text-align:center}
  .bb-centro-movil .bb-horas{margin-inline:auto}
  .bb-centro-movil .bb-horas td{text-align:left}
  .bb-pie .elementor-heading-title{text-align:center}
  .bb-pie .elementor-icon-list-items{align-items:center}
  .bb-pie .elementor-icon-list-item,.bb-pie .elementor-icon-list-item a{justify-content:center;text-align:center}
  .bb-pie .e-con{--justify-content:center;justify-content:center!important}
  .bb-pie .bb-legal,.bb-pie .bb-legal p{text-align:center;width:100%}
}

/* Editor de Elementor: nada oculto ni a medio animar, para ver y editar todos los textos e imágenes */
.elementor-editor-active .bb-golpe .elementor-heading-title{opacity:1!important;animation:none!important;transform:none!important}
.elementor-editor-active .bb-mordisco img,.elementor-editor-active .bb-404.bb-mordisco .elementor-heading-title{animation:none!important;--b1:var(--t)!important;--b2:calc(var(--t)*.52)!important;--b3:calc(var(--t)*.56)!important}

/* Aire entre un titular y el párrafo que lo sigue, en todas las páginas */
.elementor-widget-heading:not(.bb-et)+.elementor-widget-text-editor{margin-top:clamp(12px,1.4vw,18px)}
/* Lista de precios: los nombres largos pueden ocupar dos líneas sin montarse, y el precio no se parte */
.bb-precios .elementor-price-list-title{line-height:1.05}
.bb-precios .elementor-price-list-price{white-space:nowrap;line-height:1.05}
.bb-precios .elementor-price-list-header{align-items:flex-start;gap:10px}

/* Tabla de alérgenos: aviso de que hay más columnas a la derecha. Solo se ve cuando la tabla no cabe (lo decide bb-marca.js) */
.tabla-al-pista{display:none;align-items:center;gap:8px;margin:0 0 12px;font-weight:700;font-size:12px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--bb-cheddar,#FF8A1F);transition:opacity .25s}
.tabla-al-pista.ver{display:flex}
.tabla-al-pista.fin{opacity:.35}
.tabla-al-pista span{display:inline-block;font-size:18px;line-height:1;animation:bb-desliza 1.1s ease-in-out infinite}
.tabla-al-pista.fin span{animation:none}
@keyframes bb-desliza{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
@media (prefers-reduced-motion:reduce){.tabla-al-pista span{animation:none}}

/* Tablet: cabecera en una sola fila y texto del hero sin meterse debajo de la hamburguesa */
@media (min-width:768px) and (max-width:1024px){
  .bb-cab{flex-wrap:nowrap!important;gap:14px!important}
  .bb-cab .elementor-nav-menu--main .elementor-nav-menu{flex-wrap:nowrap!important}
  .bb-cab .elementor-nav-menu--main .elementor-item{padding-left:10px!important;padding-right:10px!important;white-space:nowrap}
  .bb-cab .elementor-widget-button .elementor-button{white-space:nowrap;padding-left:16px;padding-right:16px}
  .bb-hero .bb-lead{max-width:min(440px,calc(48vw - 40px))!important}
}
