/*
Theme Name: Talleres Batista Rock Clean Editable
Theme URI: https://talleresbatista.com/
Author: SERMarketing
Description: Plantilla WordPress moderna, rockera y limpia para Talleres Batista. Negro, rojo y blanco. Todos los elementos principales son editables desde Apariencia > Batista Theme.
Version: 6.3.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: talleres-batista-rock-clean
*/

:root{
  --tb-black:#060607;
  --tb-red:#d71920;
  --tb-white:#fff;
  --tb-grey:#a9abb0;
  --tb-panel:#0d0d10;
  --tb-border:rgba(255,255,255,.09);
  --tb-logo-desktop:176px;
  --tb-logo-tablet:145px;
  --tb-logo-mobile:118px;
  --tb-hero-height:620px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--tb-black);
  color:var(--tb-white);
  font-family:Inter,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.tb-shell{width:min(1180px,calc(100% - 48px));margin:auto}

/* topbar */
.tb-topbar{
  background:#000;
  border-bottom:1px solid var(--tb-border);
  color:#c8c8cc;
  font-size:12px;
}
.tb-topbar-inner{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.tb-topbar-inner>div{display:flex;gap:9px;align-items:center}
.tb-topbar strong{color:#fff}
.tb-topbar a{color:var(--tb-red);font-weight:800}

/* header */
.tb-header{
  position:sticky;
  top:0;
  z-index:90;
  background:rgba(6,6,7,.94);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(215,25,32,.32);
}
.tb-nav{
  min-height:110px;
  display:flex;
  align-items:center;
  gap:40px;
}
.tb-logo{display:flex;align-items:center;flex:0 0 auto}
.tb-logo img{
  width:auto;
  height:var(--tb-logo-desktop);
  max-height:none;
  max-width:none;
  object-fit:contain;
}
.tb-menu{margin-left:auto;display:flex;align-items:center;gap:30px}
.tb-menu a{
  color:#f3f3f4;
  text-transform:uppercase;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  padding:44px 0;
  position:relative;
}
.tb-menu a:after{
  content:"";
  position:absolute;
  left:0;right:100%;bottom:33px;
  height:2px;background:var(--tb-red);
  transition:.25s;
}
.tb-menu a:hover:after{right:0}
.tb-menu-toggle{display:none;margin-left:auto;background:none;border:0;padding:8px}
.tb-menu-toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px}

/* hero */
.tb-hero{
  min-height:var(--tb-hero-height);
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  background-image:var(--tb-hero-image);
  background-size:cover;
  background-position:center;
  border-bottom:1px solid rgba(215,25,32,.35);
}
.tb-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.12) 75%);
}
.tb-hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:110px;
  background:linear-gradient(transparent,var(--tb-black));
}
.tb-hero-inner{position:relative;z-index:2;padding:80px 0 72px}
.tb-hero-copy{max-width:650px}
.tb-kicker,.tb-section-head>span{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--tb-red);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight:900;
}
.tb-kicker:before,.tb-section-head>span:before{
  content:"";
  width:28px;height:2px;background:var(--tb-red);
}
.tb-hero h1{
  margin:16px 0 20px;
  font-size:clamp(54px,7vw,96px);
  line-height:.88;
  letter-spacing:-.045em;
  text-transform:uppercase;
  max-width:760px;
}
.tb-hero p{
  max-width:590px;
  color:#d8d8dc;
  font-size:18px;
  line-height:1.6;
  margin:0 0 28px;
}
.tb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 26px;
  background:var(--tb-red);
  border:1px solid var(--tb-red);
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:12px;
  font-weight:900;
  transition:.22s;
}
.tb-btn:hover{background:#fff;color:#080808;border-color:#fff;transform:translateY(-2px)}
.tb-btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.tb-btn-outline:hover{background:var(--tb-red);color:#fff;border-color:var(--tb-red)}

/* sections */
.tb-section{padding:78px 0;border-bottom:1px solid var(--tb-border)}
.tb-section-alt{background:#09090b}
.tb-section-head{text-align:center;margin-bottom:36px}
.tb-section-head h2{
  margin:10px auto 0;
  max-width:820px;
  text-transform:uppercase;
  font-size:clamp(34px,4vw,56px);
  line-height:.98;
  letter-spacing:-.035em;
}
.tb-section-head.tb-left{text-align:left}
.tb-section-head.tb-left h2{margin-left:0}
.tb-center{text-align:center;margin-top:32px}

/* services */
.tb-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tb-service-card{
  background:var(--tb-panel);
  border:1px solid var(--tb-border);
  transition:.22s;
}
.tb-service-card:hover{transform:translateY(-5px);border-color:rgba(215,25,32,.65)}
.tb-service-card>a{display:flex;flex-direction:column;height:100%}
.tb-service-media{
  height:220px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#121216;
}
.tb-service-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.05)}
.tb-service-media span{font-size:62px;color:var(--tb-red)}
.tb-service-body{padding:24px;display:flex;flex-direction:column;flex:1}
.tb-service-body h3{margin:0 0 10px;font-size:24px;text-transform:uppercase}
.tb-service-body p{color:#b8b8bd;line-height:1.6;flex:1;margin:0 0 18px}
.tb-service-body strong{color:var(--tb-red);font-size:12px;text-transform:uppercase;letter-spacing:.08em}

/* promos */
.tb-promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tb-promo-card{background:var(--tb-panel);border:1px solid var(--tb-border)}
.tb-promo-image{height:230px;overflow:hidden}
.tb-promo-image img{width:100%;height:100%;object-fit:cover}
.tb-promo-body{padding:22px}
.tb-promo-body h3{margin:0 0 9px;text-transform:uppercase;font-size:21px}
.tb-promo-body p{margin:0;color:#b8b8bd;line-height:1.55}
.tb-empty{grid-column:1/-1;padding:32px;border:1px dashed rgba(255,255,255,.18);text-align:center;color:#aaa}

/* reviews */
.tb-reviews{max-width:1080px;margin:auto}

/* blog */
.tb-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tb-blog-card{background:var(--tb-panel);border:1px solid var(--tb-border);transition:.22s}
.tb-blog-card:hover{transform:translateY(-5px);border-color:rgba(215,25,32,.55)}
.tb-blog-card>a{display:flex;flex-direction:column;height:100%}
.tb-blog-image{height:210px;background:#121216;display:grid;place-items:center;overflow:hidden}
.tb-blog-image img{width:100%;height:100%;object-fit:cover}
.tb-blog-image span{font-size:46px;color:var(--tb-red);font-weight:900}
.tb-blog-body{padding:22px;display:flex;flex-direction:column;flex:1}
.tb-blog-body small{color:var(--tb-red);text-transform:uppercase;font-weight:800}
.tb-blog-body h3{font-size:22px;text-transform:uppercase;margin:9px 0}
.tb-blog-body p{color:#b8b8bd;line-height:1.55;flex:1}
.tb-blog-body strong{color:var(--tb-red);text-transform:uppercase;font-size:12px}

/* contact */
.tb-contact{background:#050506}
.tb-contact-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--tb-border);border-left:1px solid var(--tb-border)}
.tb-contact-grid>div{padding:26px 20px;border-right:1px solid var(--tb-border);border-bottom:1px solid var(--tb-border)}
.tb-contact-grid small{display:block;color:#88898e;text-transform:uppercase;font-size:10px;letter-spacing:.1em;margin-bottom:8px}
.tb-contact-grid strong{font-size:14px;line-height:1.5}

/* footer */
.tb-footer{padding:18px 0;background:#000;border-top:1px solid rgba(215,25,32,.25)}
.tb-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;color:#8f9095;font-size:12px}
.tb-footer-links{display:flex;gap:20px;flex-wrap:wrap}
.tb-footer-links a:hover{color:#fff}

/* floating help */
.tb-help{position:fixed;right:22px;bottom:22px;z-index:999}
.tb-help-trigger{
  min-height:54px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:#0d0d10;
  color:#fff;
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  text-transform:uppercase;
  font-size:12px;
  box-shadow:0 18px 50px rgba(0,0,0,.45);
  cursor:pointer;
}
.tb-help-dot{width:11px;height:11px;border-radius:50%;background:#25d366;box-shadow:0 0 0 5px rgba(37,211,102,.12)}
.tb-help-whatsapp-icon{display:none}
.tb-help-panel{
  position:absolute;
  right:0;
  bottom:66px;
  width:330px;
  padding:22px;
  background:#0d0d10;
  border:1px solid rgba(215,25,32,.45);
  box-shadow:0 25px 80px rgba(0,0,0,.65);
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  transition:.2s;
}
.tb-help.is-open .tb-help-panel{opacity:1;transform:none;pointer-events:auto}
.tb-help-panel h3{margin:0 34px 16px 0;text-transform:uppercase;font-size:20px}
.tb-help-close{position:absolute;right:12px;top:10px;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}
.tb-help-option{display:block;padding:14px;border:1px solid var(--tb-border);margin-top:10px;background:#08080a}
.tb-help-option:hover{border-color:#25d366}
.tb-help-option span{display:block;color:#25d366;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.tb-help-option strong{display:block;margin-top:4px}

/* WP content fallback */
.entry-content,.page-content{width:min(980px,calc(100% - 48px));margin:70px auto;line-height:1.75}
.entry-content h1,.entry-content h2,.entry-content h3{text-transform:uppercase}

@media(max-width:1024px){
  .tb-logo img{height:var(--tb-logo-tablet)}
  .tb-menu{gap:18px}
  .tb-contact-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .tb-shell{width:min(100% - 28px,1180px)}
  .tb-topbar-inner{display:block;padding:7px 0}
  .tb-topbar-inner>div{display:flex;flex-wrap:wrap;line-height:1.5;margin:3px 0}
  .tb-nav{min-height:82px;gap:12px}
  .tb-logo img{height:var(--tb-logo-mobile)}
  .tb-menu-toggle{display:block}
  .tb-menu{
    display:none;
    position:absolute;
    top:100%;
    left:14px;right:14px;
    background:#09090b;
    border:1px solid rgba(215,25,32,.45);
    padding:10px 16px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  body.tb-menu-open .tb-menu{display:flex}
  .tb-menu a{padding:14px 4px}
  .tb-menu a:after{display:none}
  .tb-hero{min-height:500px;background-position:62% center}
  .tb-hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.90),rgba(0,0,0,.62))}
  .tb-hero-inner{padding:58px 0 48px}
  .tb-hero h1{font-size:clamp(44px,13vw,66px)}
  .tb-hero p{font-size:16px}
  .tb-section{padding:56px 0}
  .tb-service-grid,.tb-promo-grid,.tb-blog-grid{grid-template-columns:1fr}
  .tb-contact-grid{grid-template-columns:1fr}
  .tb-footer-inner{display:block;text-align:center}
  .tb-footer-links{justify-content:center;margin-top:10px}
  .tb-help{right:14px;bottom:14px}
  .tb-help-panel{width:min(330px,calc(100vw - 28px))}
}


/* =========================================================
   v1.5 — BLOG BATISTA
   Solo afecta a page-blog.php
   ========================================================= */
.tb-blog-page{background:#070708;color:#fff}
.tb-blog-page-hero{
  position:relative;
  overflow:hidden;
  padding:118px 0 92px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 82% 35%,rgba(215,25,32,.18),transparent 27%),
    linear-gradient(135deg,#0d0d10 0%,#050506 70%);
}
.tb-blog-page-hero:after{
  content:"";
  position:absolute;
  right:-110px;
  top:-150px;
  width:440px;
  height:440px;
  border:1px solid rgba(215,25,32,.13);
  border-radius:50%;
}
.tb-blog-page-kicker{
  display:block;
  position:relative;
  z-index:1;
  margin-bottom:15px;
  color:var(--tb-red);
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.17em;
}
body .tb-blog-page .tb-blog-page-hero h1{
  position:relative;
  z-index:1;
  max-width:900px;
  margin:0;
  color:#fff;
  font-size:clamp(52px,6vw,86px)!important;
  line-height:.91!important;
  letter-spacing:-.025em;
  text-transform:uppercase;
}
.tb-blog-page-hero p{
  position:relative;
  z-index:1;
  max-width:720px;
  margin:24px 0 0;
  color:#b8b8bd;
  font-size:17px;
  line-height:1.7;
}
.tb-blog-page-list{padding:72px 0 96px}
.tb-blog-page-heading{margin-bottom:30px}
.tb-blog-page-heading>span{
  color:var(--tb-red);
  font-size:11px;
  font-weight:900;
  letter-spacing:.15em;
}
body .tb-blog-page .tb-blog-page-heading h2{
  margin:7px 0 0;
  color:#fff;
  font-size:clamp(34px,4vw,54px)!important;
  line-height:.95!important;
  text-transform:uppercase;
}
.tb-blog-page-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.tb-blog-page-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  background:#0d0d10;
  border:1px solid rgba(255,255,255,.09);
  transition:transform .22s,border-color .22s;
}
.tb-blog-page-card:hover{
  transform:translateY(-5px);
  border-color:rgba(215,25,32,.55);
}
.tb-blog-page-media{
  display:grid;
  place-items:center;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#121216;
}
.tb-blog-page-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s;
}
.tb-blog-page-card:hover .tb-blog-page-media img{transform:scale(1.035)}
.tb-blog-page-media>span{
  color:var(--tb-red);
  font-size:52px;
  font-weight:900;
}
.tb-blog-page-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:24px;
}
.tb-blog-page-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:12px;
  color:var(--tb-red);
  font-size:11px;
  line-height:1.3;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tb-blog-page-meta i{font-style:normal;color:#666}
body .tb-blog-page .tb-blog-page-card h3{
  margin:0 0 12px;
  color:#fff;
  font-size:22px!important;
  line-height:1.1!important;
  text-transform:uppercase;
}
.tb-blog-page-card h3 a{color:#fff}
.tb-blog-page-body p{
  flex:1;
  margin:0 0 22px;
  color:#aaaab0;
  font-size:14px;
  line-height:1.65;
}
.tb-blog-page-more{
  display:flex;
  align-items:center;
  gap:8px;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
}
.tb-blog-page-more b{color:var(--tb-red);font-size:16px}
.tb-blog-page-pagination{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:48px;
}
.tb-blog-page-pagination .page-numbers{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:44px;
  padding:0 12px;
  background:#101014;
  border:1px solid rgba(255,255,255,.1);
  color:#fff;
  font-weight:800;
}
.tb-blog-page-pagination .current{
  background:var(--tb-red);
  border-color:var(--tb-red);
}
.tb-blog-page-empty{
  padding:34px;
  background:#0d0d10;
  border-left:4px solid var(--tb-red);
}
.tb-blog-page-empty h3{margin-top:0}
@media(max-width:900px){
  .tb-blog-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tb-blog-page-hero{padding:90px 0 70px}
}
@media(max-width:620px){
  .tb-blog-page-hero{padding:68px 0 56px}
  body .tb-blog-page .tb-blog-page-hero h1{
    font-size:clamp(42px,13vw,62px)!important;
    line-height:.94!important;
  }
  .tb-blog-page-hero p{font-size:15px}
  .tb-blog-page-list{padding:50px 0 68px}
  .tb-blog-page-grid{grid-template-columns:1fr}
}


/* =========================================================
   v1.6 — LOGO INDEPENDIENTE DE LA ALTURA DEL HEADER
   El tamaño del logo sigue controlándose desde Batista Theme.
   El header ya no crece cuando aumenta el logo.
   ========================================================= */
.tb-header{
  overflow:visible;
}
.tb-nav{
  position:relative;
  height:110px;
  min-height:110px;
  padding-left:calc(var(--tb-logo-desktop) + 28px);
  overflow:visible;
}
.tb-logo{
  position:absolute;
  left:0;
  top:10px;
  z-index:95;
  display:block;
  line-height:0;
}
.tb-logo img{
  height:var(--tb-logo-desktop);
  width:auto;
  max-height:none;
  max-width:none;
  object-fit:contain;
}

/* El menú mantiene la altura original del header, aunque el logo sobresalga */
.tb-menu{
  align-self:stretch;
}
.tb-menu a{
  display:flex;
  align-items:center;
  padding-top:0;
  padding-bottom:0;
  height:110px;
}
.tb-menu a:after{
  bottom:24px;
}

@media(max-width:1024px){
  .tb-nav{
    height:100px;
    min-height:100px;
    padding-left:calc(var(--tb-logo-tablet) + 24px);
  }
  .tb-logo{
    top:9px;
  }
  .tb-logo img{
    height:var(--tb-logo-tablet);
  }
  .tb-menu a{
    height:100px;
  }
}

@media(max-width:760px){
  .tb-nav{
    height:82px;
    min-height:82px;
    padding-left:0;
  }
  .tb-logo{
    top:7px;
    left:0;
  }
  .tb-logo img{
    height:var(--tb-logo-mobile);
  }
  .tb-menu-toggle{
    position:relative;
    z-index:96;
  }
  .tb-menu a{
    height:auto;
    padding:14px 4px;
  }
}


/* =========================================================
   v1.7 — FIX MENÚ TRAS LOGO INDEPENDIENTE
   Normaliza los <li> reales de wp_nav_menu y mantiene el menú
   centrado dentro del header sin que el logo grande lo deforme.
   ========================================================= */
@media(min-width:761px){
  .tb-nav{
    padding-left:0;
  }

  .tb-menu{
    margin-left:auto;
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:30px;
    min-width:0;
  }

  .tb-menu > .menu-item{
    list-style:none!important;
    margin:0!important;
    padding:0!important;
    height:100%;
    display:flex;
    align-items:center;
    position:relative;
  }

  .tb-menu > .menu-item::marker{
    content:"";
    font-size:0;
  }

  .tb-menu > .menu-item > a{
    height:100%;
    display:flex;
    align-items:center;
    padding:0!important;
    white-space:nowrap;
  }

  /* Reservamos espacio físico para el emblema sin usar su altura.
     Así puede sobresalir, pero nunca empuja ni rompe el menú. */
  .tb-nav::before{
    content:"";
    display:block;
    flex:0 0 clamp(270px,28vw,430px);
    height:1px;
    pointer-events:none;
  }

  /* Si algún plugin añade un desplegable dentro del item Servicios */
  .tb-menu .sub-menu{
    list-style:none;
    margin:0;
    padding:12px 0;
  }
  .tb-menu .sub-menu li{
    list-style:none!important;
    margin:0;
  }
  .tb-menu .sub-menu li::marker{
    content:"";
  }
}

@media(min-width:761px) and (max-width:1180px){
  .tb-nav::before{
    flex-basis:clamp(220px,24vw,300px);
  }
  .tb-menu{
    gap:18px;
  }
  .tb-menu > .menu-item > a{
    font-size:11px;
    letter-spacing:.06em;
  }
}

@media(max-width:760px){
  .tb-nav::before{display:none}
  .tb-menu > .menu-item{
    list-style:none!important;
    margin:0!important;
    padding:0!important;
  }
  .tb-menu > .menu-item::marker{content:""}
}


/* =========================================================
   v1.8 — MENÚ MÁS COMPACTO
   Reduce los huecos entre enlaces sin tocar el logo ni el header.
   ========================================================= */
@media(min-width:761px){
  .tb-menu{
    gap:14px!important;
  }

  .tb-menu > .menu-item > a{
    padding-left:6px!important;
    padding-right:6px!important;
  }
}

@media(min-width:761px) and (max-width:1180px){
  .tb-menu{
    gap:8px!important;
  }

  .tb-menu > .menu-item > a{
    padding-left:4px!important;
    padding-right:4px!important;
  }
}


/* =========================================================
   v1.9 — DROPDOWN SERVICIOS COMPACTO
   Corrige la altura heredada del menú principal y acerca la flecha.
   ========================================================= */
@media(min-width:761px){
  /* Item principal Servicios */
  .tb-menu > .menu-item-has-children{
    display:flex;
    align-items:center;
    gap:6px;
  }

  /* Flecha del desplegable: integrada visualmente con Servicios */
  .tb-menu > .menu-item-has-children > .tb-submenu-toggle,
  .tb-menu > .menu-item-has-children > button,
  .tb-menu > .menu-item-has-children > .submenu-toggle{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    margin:0 0 0 2px!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
    border-radius:3px!important;
  }

  /* Contenedor del desplegable */
  .tb-menu .sub-menu{
    position:absolute;
    top:100%;
    left:0;
    min-width:420px;
    width:max-content;
    max-width:640px;
    padding:0!important;
    margin:0!important;
    background:#080808;
    border:1px solid rgba(210,20,20,.65);
    z-index:999;
  }

  /* Cada servicio deja de heredar la altura de 110px del menú principal */
  .tb-menu .sub-menu > li{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .tb-menu .sub-menu > li:last-child{
    border-bottom:0;
  }

  .tb-menu .sub-menu > li > a{
    height:auto!important;
    min-height:0!important;
    display:block!important;
    padding:15px 20px!important;
    line-height:1.25!important;
    white-space:normal!important;
    font-size:14px!important;
    letter-spacing:.035em!important;
  }

  .tb-menu .sub-menu > li > a:after{
    display:none!important;
  }
}

@media(min-width:761px) and (max-width:1180px){
  .tb-menu .sub-menu{
    min-width:360px;
    max-width:520px;
  }

  .tb-menu .sub-menu > li > a{
    padding:13px 16px!important;
    font-size:13px!important;
  }
}

@media(max-width:760px){
  .tb-menu .sub-menu{
    width:100%;
    min-width:0;
    max-width:none;
  }

  .tb-menu .sub-menu > li,
  .tb-menu .sub-menu > li > a{
    height:auto!important;
    min-height:0!important;
  }

  .tb-menu .sub-menu > li > a{
    padding:12px 16px!important;
    line-height:1.3!important;
  }
}


/* =========================================================
   v2.0 — RESPONSIVE REAL DEL MENÚ + DROPDOWN
   Evita que se pierdan servicios por altura/ancho de pantalla.
   ========================================================= */

/* Escritorio amplio: servicios en 2 columnas para reducir altura */
@media(min-width:961px){
  .tb-menu .sub-menu{
    width:min(760px, calc(100vw - 32px))!important;
    min-width:0!important;
    max-width:none!important;

    display:grid!important;
    grid-template-columns:repeat(2, minmax(0,1fr));
    grid-auto-rows:auto;

    max-height:calc(100dvh - 145px);
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
  }

  .tb-menu .sub-menu > li{
    min-width:0!important;
  }

  .tb-menu .sub-menu > li > a{
    font-size:13px!important;
    padding:14px 18px!important;
    overflow-wrap:anywhere;
  }
}

/* Pantallas intermedias: una columna pero siempre visible mediante scroll */
@media(min-width:761px) and (max-width:960px){
  .tb-menu .sub-menu{
    width:min(560px, calc(100vw - 24px))!important;
    min-width:0!important;
    max-width:none!important;

    display:block!important;
    max-height:calc(100dvh - 135px);
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;

    /* Evita que el desplegable se salga por la derecha */
    left:auto!important;
    right:0!important;
  }

  .tb-menu .sub-menu > li > a{
    padding:12px 15px!important;
    font-size:12.5px!important;
    line-height:1.25!important;
    overflow-wrap:anywhere;
  }
}

/* Portátiles con poca altura: aún más compacto */
@media(min-width:761px) and (max-height:760px){
  .tb-menu .sub-menu{
    max-height:calc(100dvh - 120px)!important;
  }

  .tb-menu .sub-menu > li > a{
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
}

/* Scroll discreto del desplegable */
@media(min-width:761px){
  .tb-menu .sub-menu{
    scrollbar-width:thin;
    scrollbar-color:#d31515 #111;
  }

  .tb-menu .sub-menu::-webkit-scrollbar{
    width:8px;
  }
  .tb-menu .sub-menu::-webkit-scrollbar-track{
    background:#111;
  }
  .tb-menu .sub-menu::-webkit-scrollbar-thumb{
    background:#d31515;
    border-radius:8px;
  }
}

/* Móvil: el submenu forma parte del flujo; nada queda fuera */
@media(max-width:760px){
  .tb-menu .sub-menu{
    position:static!important;
    width:100%!important;
    max-width:none!important;
    max-height:min(55dvh, 520px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    display:block!important;
  }

  .tb-menu .sub-menu > li > a{
    white-space:normal!important;
    overflow-wrap:anywhere;
    padding:11px 14px!important;
    font-size:12px!important;
  }
}


/* =========================================================
   v2.1 — DROPDOWN RESPONSIVE SEGURO
   Anula las 2 columnas de v2.0.
   Una sola columna, ancho contenido y scroll vertical si hace falta.
   ========================================================= */
@media(min-width:761px){
  .tb-menu .sub-menu{
    display:block!important;
    grid-template-columns:none!important;
    grid-auto-rows:auto!important;

    width:min(520px, calc(100vw - 32px))!important;
    min-width:0!important;
    max-width:calc(100vw - 32px)!important;

    left:auto!important;
    right:0!important;

    max-height:calc(100dvh - 150px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;

    padding:0!important;
    margin:0!important;
  }

  .tb-menu .sub-menu > li{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
  }

  .tb-menu .sub-menu > li > a{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:12px 16px!important;
    font-size:13px!important;
    line-height:1.22!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}

/* Portátiles / pantallas de poca altura:
   reducimos un poco el espaciado para que entren más servicios. */
@media(min-width:761px) and (max-height:800px){
  .tb-menu .sub-menu{
    max-height:calc(100dvh - 125px)!important;
  }

  .tb-menu .sub-menu > li > a{
    padding-top:9px!important;
    padding-bottom:9px!important;
    font-size:12.5px!important;
  }
}

/* Móvil: siempre dentro del menú móvil y con scroll propio si hiciera falta */
@media(max-width:760px){
  .tb-menu .sub-menu{
    position:static!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    max-height:52dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .tb-menu .sub-menu > li > a{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:11px 14px!important;
    font-size:12px!important;
    line-height:1.25!important;
    white-space:normal!important;
  }
}


/* =========================================================
   v2.2 — FIX CIERRE DEL DROPDOWN SERVICIOS
   v2.1 forzaba display:block en el submenú y por eso quedaba siempre abierto.
   Esta versión restaura el estado cerrado y solo lo muestra cuando corresponde.
   ========================================================= */

/* Escritorio/tablet: cerrado por defecto */
@media(min-width:761px){
  .tb-menu .sub-menu{
    display:none!important;
  }

  /* Abrir con hover/focus, como un menú de escritorio normal */
  .tb-menu > .menu-item-has-children:hover > .sub-menu,
  .tb-menu > .menu-item-has-children:focus-within > .sub-menu,
  .tb-menu > .menu-item-has-children.is-open > .sub-menu,
  .tb-menu > .menu-item-has-children.open > .sub-menu,
  .tb-menu > .menu-item-has-children.submenu-open > .sub-menu,
  .tb-menu > .menu-item-has-children.menu-item-open > .sub-menu{
    display:block!important;
  }
}

/* Móvil: cerrado por defecto y abierto solo cuando el JS/clase lo indique */
@media(max-width:760px){
  .tb-menu .sub-menu{
    display:none!important;
  }

  .tb-menu > .menu-item-has-children.is-open > .sub-menu,
  .tb-menu > .menu-item-has-children.open > .sub-menu,
  .tb-menu > .menu-item-has-children.submenu-open > .sub-menu,
  .tb-menu > .menu-item-has-children.menu-item-open > .sub-menu,
  .tb-menu > .menu-item-has-children:focus-within > .sub-menu{
    display:block!important;
  }
}


/* =========================================================
   v2.3 — RESTAURACIÓN REAL DEL DESPLEGABLE SERVICIOS
   Cierra por defecto, pero permite abrir mediante hover/focus
   y mediante el estado aria-expanded del botón del theme.
   ========================================================= */
@media(min-width:761px){
  .tb-menu .sub-menu{
    display:none!important;
  }

  .tb-menu > .menu-item-has-children:hover > .sub-menu,
  .tb-menu > .menu-item-has-children:focus-within > .sub-menu,
  .tb-menu > .menu-item-has-children:has(> button[aria-expanded="true"]) > .sub-menu,
  .tb-menu > .menu-item-has-children:has(> .tb-submenu-toggle[aria-expanded="true"]) > .sub-menu{
    display:block!important;
  }
}

@media(max-width:760px){
  .tb-menu .sub-menu{
    display:none!important;
  }

  .tb-menu > .menu-item-has-children:focus-within > .sub-menu,
  .tb-menu > .menu-item-has-children:has(> button[aria-expanded="true"]) > .sub-menu,
  .tb-menu > .menu-item-has-children:has(> .tb-submenu-toggle[aria-expanded="true"]) > .sub-menu{
    display:block!important;
  }
}


/* =========================================================
   v2.4 — FIX DEFINITIVO DEL DROPDOWN DE SERVICIOS
   Usa las clases REALES del plugin Servicios Completo:
   .tbsv-services-parent / .tbsv-mobile-open / .tbsv-submenu-toggle
   ========================================================= */

/* DESKTOP / TABLET */
@media(min-width:761px){
  .tb-menu > li.tbsv-services-parent{
    position:relative!important;
  }

  .tb-menu > li.tbsv-services-parent > .sub-menu{
    display:none!important;
    position:absolute!important;
    top:100%!important;
    left:auto!important;
    right:0!important;

    width:min(520px, calc(100vw - 32px))!important;
    min-width:0!important;
    max-width:calc(100vw - 32px)!important;

    max-height:calc(100dvh - 150px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;

    margin:0!important;
    padding:0!important;
    background:#080808!important;
    border:1px solid rgba(215,25,32,.65)!important;
    z-index:9999!important;
  }

  /* Apertura real: hover o teclado */
  .tb-menu > li.tbsv-services-parent:hover > .sub-menu,
  .tb-menu > li.tbsv-services-parent:focus-within > .sub-menu{
    display:block!important;
  }

  .tb-menu > li.tbsv-services-parent > .sub-menu > li{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }

  .tb-menu > li.tbsv-services-parent > .sub-menu > li:last-child{
    border-bottom:0!important;
  }

  .tb-menu > li.tbsv-services-parent > .sub-menu > li > a{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:12px 16px!important;
    font-size:13px!important;
    line-height:1.22!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .tb-menu > li.tbsv-services-parent > .sub-menu > li > a:after{
    display:none!important;
  }

  /* Flecha creada por el plugin: compacta e integrada */
  .tb-menu > li.tbsv-services-parent > .tbsv-submenu-toggle{
    position:static!important;
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    margin:0 0 0 2px!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
    font-size:16px!important;
    cursor:pointer!important;
  }
}

/* Portátiles con poca altura */
@media(min-width:761px) and (max-height:800px){
  .tb-menu > li.tbsv-services-parent > .sub-menu{
    max-height:calc(100dvh - 125px)!important;
  }

  .tb-menu > li.tbsv-services-parent > .sub-menu > li > a{
    padding-top:9px!important;
    padding-bottom:9px!important;
    font-size:12.5px!important;
  }
}

/* MÓVIL: usa exactamente la clase que activa el JS del plugin */
@media(max-width:760px){
  .tb-menu > li.tbsv-services-parent > .sub-menu{
    display:none!important;
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    max-height:52dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    margin:0!important;
    padding:0 0 8px 12px!important;
  }

  .tb-menu > li.tbsv-services-parent.tbsv-mobile-open > .sub-menu{
    display:block!important;
  }

  .tb-menu > li.tbsv-services-parent > .sub-menu > li > a{
    height:auto!important;
    min-height:0!important;
    padding:10px 8px!important;
    font-size:11px!important;
    line-height:1.25!important;
    white-space:normal!important;
  }
}


/* =========================================================
   v2.5 — HOME · VIDEOCHECKS
   ========================================================= */
.tb-videocheck{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 42%,rgba(215,25,32,.18),transparent 30%),linear-gradient(180deg,#09090b 0%,#050506 100%)}
.tb-videocheck:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px}
.tb-videocheck-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);gap:clamp(54px,7vw,110px);align-items:center}
.tb-videocheck-copy{max-width:760px}.tb-videocheck-lead{max-width:720px;margin:0 0 34px;color:#c8c8cc;font-size:clamp(16px,1.45vw,19px);line-height:1.75}
.tb-videocheck-steps{margin:0 0 34px;border-top:1px solid rgba(255,255,255,.1)}
.tb-videocheck-step{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.tb-videocheck-step>b{color:var(--tb-red);font-size:12px;letter-spacing:.15em;padding-top:5px}.tb-videocheck-step h3{margin:0 0 6px;font-size:clamp(18px,1.6vw,23px);line-height:1.05;text-transform:uppercase}.tb-videocheck-step p{margin:0;color:#aeb0b5;font-size:14px;line-height:1.55}
.tb-videocheck-visual{display:flex;justify-content:center}.tb-videocheck-phone{width:min(100%,350px);padding:9px;border:1px solid rgba(255,255,255,.2);border-radius:30px;background:#111114;box-shadow:0 30px 90px rgba(0,0,0,.48),0 0 0 1px rgba(215,25,32,.12);transform:rotate(2deg)}
.tb-videocheck-phone-top{height:45px;display:flex;align-items:center;justify-content:center;gap:9px;color:#dedee2;font-size:10px;font-weight:800;letter-spacing:.13em}.tb-videocheck-phone-top i{width:7px;height:7px;border-radius:999px;background:var(--tb-red);box-shadow:0 0 14px rgba(215,25,32,.85)}
.tb-videocheck-screen{position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:21px;background:#050506}.tb-videocheck-screen video{display:block;width:100%;height:100%;object-fit:cover;background:#000}
.tb-videocheck-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;background:linear-gradient(180deg,transparent 15%,rgba(0,0,0,.82) 100%),radial-gradient(circle at 50% 32%,rgba(215,25,32,.34),transparent 28%),linear-gradient(135deg,#222227,#070708 60%)}
.tb-videocheck-placeholder:before,.tb-videocheck-placeholder:after{content:"";position:absolute;border:1px solid rgba(215,25,32,.5);width:82px;height:82px}.tb-videocheck-placeholder:before{left:24px;top:70px;border-right:0;border-bottom:0}.tb-videocheck-placeholder:after{right:24px;bottom:142px;border-left:0;border-top:0}
.tb-videocheck-rec{position:absolute;top:24px;right:24px;color:#ff3038;font-size:10px;font-weight:900;letter-spacing:.18em}.tb-videocheck-scan{position:absolute;left:50%;top:37%;width:52%;aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid rgba(215,25,32,.28);border-radius:50%;box-shadow:0 0 50px rgba(215,25,32,.15) inset}
.tb-videocheck-placeholder strong{position:relative;font-size:clamp(30px,3.7vw,46px);line-height:.9;letter-spacing:-.03em}.tb-videocheck-placeholder small{position:relative;margin-top:13px;color:#b6b6bb;line-height:1.45}
.tb-videocheck-phone-bottom{min-height:62px;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;padding:8px 12px;text-transform:uppercase;font-size:9px;letter-spacing:.08em;color:#898b90}.tb-videocheck-phone-bottom strong{color:var(--tb-red)}
@media(max-width:900px){.tb-videocheck-grid{grid-template-columns:1fr;gap:46px}.tb-videocheck-copy{max-width:none}.tb-videocheck-visual{justify-content:flex-start}.tb-videocheck-phone{width:min(100%,320px);transform:none}}
@media(max-width:560px){.tb-videocheck-grid{gap:34px}.tb-videocheck-step{grid-template-columns:40px 1fr;gap:12px;padding:17px 0}.tb-videocheck-step p{font-size:13px}.tb-videocheck-phone{width:min(88vw,310px);margin:auto}}


/* =========================================================
   v2.6 — HERO · CLAIM 2ª GENERACIÓN
   Bloque fijo, sin animaciones, editable desde Batista Theme.
   ========================================================= */
.tb-hero-claim{
  position:absolute;
  left:0;
  bottom:14px;
  display:grid;
  grid-template-columns:auto auto auto auto;
  align-items:end;
  gap:clamp(18px,2.3vw,38px);
  margin:0;
  padding:13px 20px 12px 0;
  border-top:1px solid rgba(215,25,32,.95);
  z-index:4;
  pointer-events:none;
  white-space:nowrap;
}
.tb-hero-claim:before{
  content:"";
  position:absolute;
  top:-1px;
  right:100%;
  width:100vw;
  height:1px;
  background:rgba(215,25,32,.95);
}
.tb-hero-claim-kicker{
  align-self:center;
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.tb-hero-claim strong{
  display:flex;
  flex-direction:column;
  gap:2px;
  line-height:.86;
  text-transform:uppercase;
}
.tb-hero-claim strong b{
  order:-1;
  color:var(--tb-red);
  font-size:11px;
  line-height:1;
  letter-spacing:.16em;
  font-weight:900;
}
.tb-hero-claim strong em{
  color:#fff;
  font-style:normal;
  font-size:clamp(17px,1.6vw,24px);
  font-weight:1000;
  letter-spacing:.025em;
}

/* dejamos hueco para que el claim no pise el contenido del hero */
.tb-hero-inner{
  padding-bottom:118px;
}

@media(max-width:900px){
  .tb-hero-claim{
    grid-template-columns:1fr 1fr;
    gap:12px 26px;
    bottom:12px;
    white-space:normal;
    max-width:94vw;
  }
  .tb-hero-claim-kicker{
    grid-column:1/-1;
  }
  .tb-hero-claim strong em{
    font-size:16px;
  }
}

@media(max-width:560px){
  .tb-hero-inner{
    padding-bottom:164px;
  }
  .tb-hero-claim{
    grid-template-columns:1fr 1fr;
    gap:10px 16px;
    padding-right:8px;
  }
  .tb-hero-claim-kicker{
    font-size:10px;
    letter-spacing:.12em;
  }
  .tb-hero-claim strong b{
    font-size:9px;
  }
  .tb-hero-claim strong em{
    font-size:14px;
  }
}


/* =========================================================
   v2.7 — HERO CLAIM EN UNA SOLA LÍNEA
   2ª GENERACIÓN · MÁS EQUIPADOS · MÁS FORMADOS · MEJOR PREPARADOS
   ========================================================= */
@media(min-width:761px){
  .tb-hero-claim{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:clamp(15px,1.8vw,30px)!important;
    width:max-content!important;
    max-width:calc(100vw - 40px)!important;
    white-space:nowrap!important;
    padding-top:13px!important;
    padding-bottom:13px!important;
  }

  .tb-hero-claim-kicker{
    display:block!important;
    grid-column:auto!important;
    white-space:nowrap!important;
  }

  .tb-hero-claim strong{
    display:flex!important;
    flex-direction:row!important;
    align-items:baseline!important;
    gap:6px!important;
    white-space:nowrap!important;
  }

  .tb-hero-claim strong b{
    order:0!important;
    font-size:clamp(13px,1.05vw,16px)!important;
    line-height:1!important;
    color:var(--tb-red)!important;
  }

  .tb-hero-claim strong em{
    order:1!important;
    font-size:clamp(13px,1.05vw,16px)!important;
    line-height:1!important;
    color:#fff!important;
  }

  .tb-hero-inner{
    padding-bottom:92px!important;
  }
}

/* En móvil reducimos tipografía para intentar conservar también la línea;
   si el ancho es demasiado pequeño permitimos dos filas antes que cortar texto. */
@media(max-width:760px){
  .tb-hero-claim{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:8px 15px!important;
    max-width:calc(100vw - 24px)!important;
  }
  .tb-hero-claim strong{
    display:flex!important;
    flex-direction:row!important;
    gap:5px!important;
  }
  .tb-hero-claim strong b,
  .tb-hero-claim strong em{
    font-size:11px!important;
    line-height:1!important;
  }
}


/* =========================================================
   v2.8 — CLAIM HERO CENTRADO + MÁS GRANDE + LÍNEA A MEDIDA
   ========================================================= */
@media(min-width:761px){
  .tb-hero-claim{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;

    width:max-content!important;
    max-width:calc(100vw - 80px)!important;

    gap:clamp(20px,2vw,34px)!important;

    padding:15px 0 13px!important;
    border-top:0!important;
    white-space:nowrap!important;
  }

  /* Línea roja SOLO del ancho exacto del claim */
  .tb-hero-claim:before{
    content:""!important;
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:auto!important;
    height:2px!important;
    background:var(--tb-red)!important;
  }

  .tb-hero-claim-kicker{
    font-size:14px!important;
    letter-spacing:.16em!important;
    font-weight:900!important;
  }

  .tb-hero-claim strong{
    display:flex!important;
    flex-direction:row!important;
    align-items:baseline!important;
    gap:7px!important;
  }

  .tb-hero-claim strong b{
    font-size:clamp(15px,1.15vw,18px)!important;
    letter-spacing:.12em!important;
    color:var(--tb-red)!important;
  }

  .tb-hero-claim strong em{
    font-size:clamp(16px,1.25vw,20px)!important;
    font-weight:900!important;
    letter-spacing:.03em!important;
    color:#fff!important;
  }

  .tb-hero-inner{
    padding-bottom:98px!important;
  }
}

@media(max-width:760px){
  .tb-hero-claim{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    width:max-content!important;
    max-width:calc(100vw - 24px)!important;
    justify-content:center!important;
    padding:12px 0 10px!important;
    border-top:0!important;
  }

  .tb-hero-claim:before{
    content:""!important;
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:auto!important;
    height:2px!important;
    background:var(--tb-red)!important;
  }
}


/* =========================================================
   v2.9 — CLAIM CON SEPARADORES + PRIMERA PALABRA DESTACADA
   Todo el texto y el separador son editables.
   ========================================================= */
@media(min-width:761px){
  .tb-hero-claim{
    gap:clamp(12px,1.25vw,22px)!important;
  }

  .tb-hero-claim-separator{
    color:rgba(255,255,255,.55)!important;
    font-size:clamp(16px,1.25vw,20px)!important;
    font-weight:800!important;
    line-height:1!important;
    transform:translateY(-1px);
  }

  .tb-hero-claim strong{
    gap:7px!important;
  }

  /* Primera palabra de cada bloque: MÁS / MÁS / MEJOR por defecto */
  .tb-hero-claim strong b{
    font-size:clamp(17px,1.35vw,21px)!important;
    font-weight:1000!important;
    letter-spacing:.08em!important;
    color:var(--tb-red)!important;
  }

  .tb-hero-claim strong em{
    font-size:clamp(16px,1.22vw,19px)!important;
    font-weight:800!important;
    color:#fff!important;
  }
}

@media(max-width:760px){
  .tb-hero-claim-separator{
    color:rgba(255,255,255,.5)!important;
    font-size:12px!important;
    font-weight:800!important;
  }

  .tb-hero-claim strong b{
    font-size:12px!important;
    font-weight:1000!important;
    color:var(--tb-red)!important;
  }

  .tb-hero-claim strong em{
    font-size:11px!important;
    font-weight:800!important;
    color:#fff!important;
  }
}


/* =========================================================
   v3.0 — POSICIÓN EDITABLE DE “2ª GENERACIÓN”
   above = encima de la línea roja
   inline = al lado como en v2.9
   ========================================================= */

/* Más presencia para 2ª Generación en ambos modos */
.tb-hero-claim-kicker{
  font-size:clamp(16px,1.35vw,21px)!important;
  font-weight:1000!important;
  letter-spacing:.12em!important;
  color:#fff!important;
}

/* MODO ENCIMA */
@media(min-width:761px){
  .tb-hero-claim--above{
    padding-top:18px!important;
  }

  .tb-hero-claim--above .tb-hero-claim-kicker{
    position:absolute!important;
    left:0!important;
    bottom:100%!important;
    margin-bottom:10px!important;
    white-space:nowrap!important;
  }

  .tb-hero-claim--above .tb-hero-claim-separator--first{
    display:none!important;
  }

  /* La línea roja sigue midiendo solo lo que ocupa la fila inferior */
  .tb-hero-claim--above:before{
    left:0!important;
    right:0!important;
  }

  /* MODO AL LADO */
  .tb-hero-claim--inline .tb-hero-claim-kicker{
    position:static!important;
    margin:0!important;
    white-space:nowrap!important;
  }
}

@media(max-width:760px){
  .tb-hero-claim-kicker{
    font-size:14px!important;
    font-weight:1000!important;
  }

  .tb-hero-claim--above{
    margin-top:24px!important;
  }

  .tb-hero-claim--above .tb-hero-claim-kicker{
    position:absolute!important;
    left:0!important;
    bottom:100%!important;
    margin-bottom:8px!important;
  }

  .tb-hero-claim--above .tb-hero-claim-separator--first{
    display:none!important;
  }
}


/* =========================================================
   v3.1 — “2ª GENERACIÓN” CENTRADO EN MEDIO DE LA LÍNEA ROJA
   ========================================================= */
@media(min-width:761px){
  .tb-hero-claim--above{
    margin-top:18px!important;
  }

  .tb-hero-claim--above .tb-hero-claim-kicker{
    position:absolute!important;
    left:50%!important;
    bottom:100%!important;
    transform:translate(-50%, 50%)!important;
    margin:0!important;
    padding:0 16px!important;
    background:#090909!important;
    z-index:3!important;
    font-size:clamp(17px,1.45vw,22px)!important;
    font-weight:1000!important;
    letter-spacing:.12em!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .tb-hero-claim--above:before{
    top:0!important;
    left:0!important;
    right:0!important;
    height:2px!important;
    background:var(--tb-red)!important;
    z-index:1!important;
  }

  .tb-hero-claim--above .tb-hero-claim-separator--first{
    display:none!important;
  }
}

@media(max-width:760px){
  .tb-hero-claim--above .tb-hero-claim-kicker{
    left:50%!important;
    bottom:100%!important;
    transform:translate(-50%,50%)!important;
    margin:0!important;
    padding:0 10px!important;
    background:#090909!important;
    z-index:3!important;
    white-space:nowrap!important;
  }
}


/* =========================================================
   v3.2 — FIRST STOP HOME + LANDING SEO
   ========================================================= */
.tb-firststop-home{
  position:relative;
  overflow:hidden;
  background:#0b0b0c;
}
.tb-firststop-home:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--tb-red);
}
.tb-firststop-home-grid{
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.5fr);
  gap:clamp(40px,7vw,100px);
  align-items:center;
}
.tb-firststop-brand{
  min-height:270px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:42px 32px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(145deg,#151517,#090909);
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.tb-firststop-brand img{
  display:block;
  width:min(270px,90%);
  height:auto;
  object-fit:contain;
}
.tb-firststop-brand>strong{font-size:42px;font-weight:1000;color:#fff}
.tb-firststop-brand>span{
  margin-top:22px;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.28em;
}
.tb-firststop-copy>p{
  max-width:800px;
  margin:0 0 28px;
  color:#c9c9cc;
  font-size:clamp(16px,1.3vw,19px);
  line-height:1.75;
}
.tb-firststop-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.tb-firststop-official{
  color:#fff;
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.3);
  padding-bottom:4px;
}
.tb-firststop-official:hover{color:var(--tb-red);border-color:var(--tb-red)}

.tb-firststop-hero{
  padding:clamp(80px,10vw,145px) 0 clamp(70px,8vw,110px);
  background:
    radial-gradient(circle at 80% 35%,rgba(213,0,28,.22),transparent 30%),
    linear-gradient(135deg,#080808,#121214);
  overflow:hidden;
}
.tb-firststop-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:clamp(50px,8vw,110px);
  align-items:center;
}
.tb-firststop-kicker{
  display:block;
  margin-bottom:16px;
  color:var(--tb-red);
  font-size:12px;
  font-weight:1000;
  letter-spacing:.2em;
}
.tb-firststop-hero h1{
  max-width:900px;
  margin:0 0 24px;
  color:#fff;
  font-size:clamp(48px,6vw,88px);
  line-height:.94;
}
.tb-firststop-hero p{
  max-width:790px;
  margin:0 0 32px;
  color:#c8c8cb;
  font-size:clamp(17px,1.4vw,21px);
  line-height:1.7;
}
.tb-firststop-hero-brand{
  min-height:340px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:40px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.34);
  backdrop-filter:blur(8px);
}
.tb-firststop-hero-brand img{width:min(300px,92%);height:auto}
.tb-firststop-hero-brand strong{margin-top:28px;color:#fff;font-size:13px;letter-spacing:.18em}
.tb-firststop-hero-brand span{margin-top:7px;color:var(--tb-red);font-weight:1000;letter-spacing:.22em}
.tb-firststop-story{max-width:1050px}
.tb-firststop-lead{
  margin:0;
  color:#c8c8cb;
  font-size:clamp(18px,1.6vw,23px);
  line-height:1.75;
}
.tb-firststop-services{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.tb-firststop-services article{
  padding:30px;
  border:1px solid rgba(255,255,255,.09);
  background:#101012;
  transition:.2s ease;
}
.tb-firststop-services article:hover{transform:translateY(-3px);border-color:rgba(213,0,28,.55)}
.tb-firststop-services article>span{color:var(--tb-red);font-size:25px;font-weight:1000}
.tb-firststop-services h3{margin:15px 0 10px;color:#fff;font-size:24px}
.tb-firststop-services p{margin:0 0 20px;color:#aaaab0;line-height:1.65}
.tb-firststop-services a{color:#fff;text-decoration:none;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.08em}
.tb-firststop-services a:hover{color:var(--tb-red)}
.tb-firststop-trust{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:50px;
  padding:clamp(32px,5vw,65px);
  border-top:2px solid var(--tb-red);
  background:#101012;
}
.tb-firststop-trust h2{margin:0 0 12px;color:#fff;font-size:clamp(32px,4vw,58px)}
.tb-firststop-trust p{max-width:720px;margin:0;color:#b9b9bd;line-height:1.7}
.tb-firststop-trust-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:900px){
  .tb-firststop-home-grid,.tb-firststop-hero-grid{grid-template-columns:1fr}
  .tb-firststop-brand{min-height:210px}
  .tb-firststop-hero-brand{min-height:240px}
  .tb-firststop-services{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tb-firststop-trust{align-items:flex-start;flex-direction:column}
  .tb-firststop-trust-actions{justify-content:flex-start}
}
@media(max-width:600px){
  .tb-firststop-home-grid{gap:30px}
  .tb-firststop-brand{padding:28px 20px}
  .tb-firststop-services{grid-template-columns:1fr}
  .tb-firststop-hero h1{font-size:clamp(42px,13vw,62px)}
  .tb-firststop-hero-brand{padding:30px 20px}
}


/* =========================================================
   v3.4 — LANDING FIRST STOP COMPLETA / DISEÑADA POR EL THEME
   ========================================================= */
.tb-firststop-page .tb-section-head.tb-left{text-align:left;align-items:flex-start}
.tb-firststop-signature{
  display:inline-block;
  margin-top:34px;
  padding-top:17px;
  border-top:2px solid var(--tb-red);
  color:#fff;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.13em;
}
.tb-firststop-signature b{color:var(--tb-red);margin:0 7px}
.tb-firststop-services-section{position:relative}
.tb-firststop-service-num{
  display:block!important;
  color:var(--tb-red)!important;
  font-size:13px!important;
  font-weight:1000!important;
  letter-spacing:.15em!important;
}
.tb-firststop-why{background:#09090a}
.tb-firststop-why-grid{
  display:grid;
  grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);
  gap:clamp(45px,8vw,110px);
  align-items:center;
}
.tb-firststop-year{
  min-height:330px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(145deg,#161618,#0b0b0c);
  position:relative;
  overflow:hidden;
}
.tb-firststop-year:before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:var(--tb-red);
}
.tb-firststop-year strong{
  color:#fff;
  font-size:clamp(62px,8vw,118px);
  font-weight:1000;
  line-height:.8;
  letter-spacing:-.06em;
}
.tb-firststop-year span{
  margin-top:25px;
  color:var(--tb-red);
  font-size:12px;
  font-weight:1000;
  letter-spacing:.25em;
}
.tb-firststop-why h2{
  max-width:850px;
  margin:0 0 20px;
  color:#fff;
  font-size:clamp(34px,4vw,60px);
  line-height:1;
}
.tb-firststop-why-intro{
  color:#fff!important;
  font-size:clamp(19px,1.6vw,24px)!important;
  font-weight:800;
}
.tb-firststop-why-grid p{
  max-width:850px;
  color:#b9b9bd;
  font-size:17px;
  line-height:1.75;
}
.tb-firststop-text-link{
  display:inline-block;
  margin-top:10px;
  color:#fff;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  border-bottom:1px solid var(--tb-red);
  padding-bottom:5px;
}
.tb-firststop-text-link:hover{color:var(--tb-red)}
.tb-firststop-local{background:#111113}
.tb-firststop-local-card{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);
  border:1px solid rgba(255,255,255,.1);
  background:#0a0a0b;
}
.tb-firststop-local-copy{padding:clamp(34px,5vw,68px)}
.tb-firststop-local-copy h2{
  margin:0 0 22px;
  color:#fff;
  font-size:clamp(34px,4vw,58px);
  line-height:1;
}
.tb-firststop-local-copy>p{
  max-width:850px;
  margin:0;
  color:#b9b9bd;
  font-size:17px;
  line-height:1.75;
}
.tb-firststop-local-copy blockquote{
  margin:30px 0 0;
  padding:0 0 0 20px;
  border-left:3px solid var(--tb-red);
  color:#fff;
  font-size:clamp(18px,1.7vw,25px);
  font-weight:900;
  line-height:1.35;
}
.tb-firststop-location{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:16px;
  padding:clamp(30px,4vw,55px);
  border-left:1px solid rgba(255,255,255,.1);
  background:#151517;
}
.tb-firststop-location>span{
  color:var(--tb-red);
  font-size:11px;
  font-weight:1000;
  letter-spacing:.18em;
}
.tb-firststop-location>strong{
  color:#fff;
  font-size:20px;
  line-height:1.45;
}
.tb-firststop-location>a:not(.tb-btn){
  color:#fff;
  font-size:25px;
  font-weight:1000;
  text-decoration:none;
}
.tb-firststop-final{background:#09090a}
.tb-firststop-wordmark{font-size:clamp(36px,5vw,62px)!important;margin:0!important}

@media(max-width:900px){
  .tb-firststop-why-grid{grid-template-columns:1fr}
  .tb-firststop-year{min-height:230px}
  .tb-firststop-local-card{grid-template-columns:1fr}
  .tb-firststop-location{border-left:0;border-top:1px solid rgba(255,255,255,.1)}
}
@media(max-width:600px){
  .tb-firststop-signature{line-height:1.7}
  .tb-firststop-year strong{font-size:78px}
  .tb-firststop-local-copy,.tb-firststop-location{padding:30px 22px}
}


/* =========================================================
   v3.7 — HOME: DOS LOGOS, COLOR TOPBAR Y LOGO DEL CLAIM
   ========================================================= */

/* Color editable solo para el texto de las calles. */
.tb-topbar-inner > div > span{
  color:var(--tb-topbar-address-color,#d7d7da) !important;
}

/* Modo de uno o dos logos independientes. */
.tb-logo{
  gap:var(--tb-logo-gap,12px) !important;
}
.tb-logo .tb-logo-img--1{
  height:var(--tb-logo-desktop) !important;
  width:auto !important;
  max-width:none !important;
  object-fit:contain;
  flex:0 0 auto;
}
.tb-logo .tb-logo-img--2{
  height:var(--tb-logo-2-desktop) !important;
  width:auto !important;
  max-width:none !important;
  object-fit:contain;
  flex:0 0 auto;
}
@media (max-width:980px){
  .tb-logo .tb-logo-img--1{height:var(--tb-logo-tablet) !important;}
  .tb-logo .tb-logo-img--2{height:var(--tb-logo-2-tablet) !important;}
}
@media (max-width:680px){
  .tb-logo .tb-logo-img--1{height:var(--tb-logo-mobile) !important;}
  .tb-logo .tb-logo-img--2{height:var(--tb-logo-2-mobile) !important;}
}

/* Logo horizontal opcional encima de la línea de 2ª Generación. */
.tb-hero-claim-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:max-content;
  max-width:100%;
}
.tb-hero-claim-logo{
  width:min(var(--tb-claim-logo-desktop,360px),100%);
  margin:0 0 14px;
  line-height:0;
}
.tb-hero-claim-logo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
@media (max-width:680px){
  .tb-hero-claim-logo{
    width:min(var(--tb-claim-logo-mobile,250px),100%);
    margin-bottom:10px;
  }
}


/* =========================================================
   v3.8 — DOS LOGOS SIEMPRE EN LA MISMA FILA
   ========================================================= */
.tb-logo,
.tb-logo.tb-logo--dual{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  white-space:nowrap;
}
.tb-logo.tb-logo--dual .tb-logo-img{
  display:block !important;
  flex:0 0 auto !important;
}


/* =========================================================
   v3.9 — AJUSTE VERTICAL INDEPENDIENTE DEL LOGO 2
   =========================================================
   Mantiene ambos logos siempre en horizontal. Solo desplaza
   visualmente el segundo logo arriba/abajo para compensar
   diferencias de lienzo, proporción o espacio transparente.
*/
.tb-logo.tb-logo--dual .tb-logo-img--2{
  transform:translateY(var(--tb-logo-2-offset,0px)) !important;
}


/* =========================================================
   v4.0 — LOGO LARGO DEL HERO CENTRADO Y ESCALABLE
   =========================================================
   El logo se centra respecto al bloque completo del claim
   y mantiene un ancho configurable desde Batista Theme.
*/
.tb-hero-claim-wrap{
  width:100% !important;
  max-width:100% !important;
  align-items:center !important;
  text-align:center !important;
}

.tb-hero-claim-logo{
  width:min(var(--tb-claim-logo-desktop,620px), calc(100vw - 48px)) !important;
  max-width:100% !important;
  margin:0 auto 16px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}

.tb-hero-claim-logo img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
}

.tb-hero-claim-wrap .tb-hero-claim{
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:680px){
  .tb-hero-claim-logo{
    width:min(var(--tb-claim-logo-mobile,320px), calc(100vw - 32px)) !important;
    margin-bottom:12px !important;
  }
}


/* =========================================================
   v4.1 — TÍTULO EDITABLE QUE ROMPE LA LÍNEA DEL HERO
   ========================================================= */
.tb-hero-line-title{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:0 auto 12px;
  color:var(--tb-line-title-color,#fff);
  font-size:var(--tb-line-title-size,34px);
  font-weight:800;
  line-height:1;
  text-align:center;
}

.tb-hero-line-title::before,
.tb-hero-line-title::after{
  content:"";
  height:2px;
  background:var(--tb-red,#d71920);
  flex:1 1 auto;
  min-width:30px;
}

.tb-hero-line-title span{
  display:inline-block;
  flex:0 0 auto;
  max-width:min(70vw,900px);
  padding:0 8px;
  white-space:normal;
}

/* Fuente elegida desde Batista Theme */
.tb-hero-line-title--special{
  font-family:var(--tb-special-font,inherit);
}
.tb-hero-line-title--global{
  font-family:var(--tb-body-font,Inter,Arial,sans-serif);
}
.tb-hero-line-title--system{
  font-family:Inter,Arial,sans-serif;
}

@media (max-width:680px){
  .tb-hero-line-title{
    gap:10px;
    font-size:var(--tb-line-title-size-mobile,24px);
    margin-bottom:10px;
  }
  .tb-hero-line-title span{
    max-width:72vw;
    padding:0 4px;
  }
}


/* =========================================================
   v4.2 — SEGUNDA LÍNEA INFERIOR CON TÍTULO
   =========================================================
   La línea original de 2ª Generación permanece arriba.
   El título editable se muestra en una NUEVA línea roja debajo.
*/
.tb-hero-claim-wrap .tb-hero-line-title{
  order:20;
  margin:14px auto 0 !important;
}

/* La fuente especial se aplica SOLO a este título. */
.tb-hero-claim-wrap .tb-hero-line-title--special,
.tb-hero-claim-wrap .tb-hero-line-title--special span{
  font-family:var(--tb-special-font,inherit) !important;
  font-weight:400 !important;
}

/* Línea roja a ambos lados, con el texto abriendo el centro. */
.tb-hero-claim-wrap .tb-hero-line-title::before,
.tb-hero-claim-wrap .tb-hero-line-title::after{
  height:2px !important;
  background:var(--tb-red,#d71920) !important;
}


/* =========================================================
   v4.3 — TÍTULO CON BAD COMA EN LA LÍNEA SUPERIOR
   =========================================================
   Orden final:
   1) línea roja — TÍTULO — línea roja
   2) 2ª Generación · Más equipados · Más formados · Mejor preparados
*/
.tb-hero-claim-wrap .tb-hero-line-title{
  order:0 !important;
  margin:0 auto 14px !important;
}
.tb-hero-claim-wrap .tb-hero-claim{
  order:10 !important;
}


/* =========================================================
   v4.4 — HERO: DOS LÍNEAS PERFECTAMENTE ALINEADAS + BAD COMA REAL
   =========================================================
   El bloque completo se centra respecto al hero y toma como ancho
   el contenido inferior. La línea del título usa exactamente ese
   mismo ancho, por lo que queda centrada y simétrica.
*/
@media (min-width:761px){
  .tb-hero-claim-wrap{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:14px !important;
    transform:translateX(-50%) !important;
    width:max-content !important;
    max-width:calc(100vw - 80px) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    text-align:center !important;
    z-index:4 !important;
    pointer-events:none !important;
  }

  .tb-hero-claim-wrap .tb-hero-line-title{
    position:relative !important;
    order:0 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 0 14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
  }

  .tb-hero-claim-wrap .tb-hero-line-title::before,
  .tb-hero-claim-wrap .tb-hero-line-title::after{
    content:"" !important;
    display:block !important;
    flex:1 1 0 !important;
    min-width:36px !important;
    height:2px !important;
    background:var(--tb-red,#d71920) !important;
  }

  .tb-hero-claim-wrap .tb-hero-line-title span{
    flex:0 0 auto !important;
    max-width:70vw !important;
    padding:0 8px !important;
    line-height:.9 !important;
  }

  /* La fila inferior deja de posicionarse por su cuenta: ahora vive
     dentro del mismo contenedor que el título superior. */
  .tb-hero-claim-wrap .tb-hero-claim{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    order:10 !important;
    margin:0 auto !important;
  }

  .tb-hero-inner{
    padding-bottom:122px !important;
  }
}

@media (max-width:760px){
  .tb-hero-claim-wrap{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:10px !important;
    transform:translateX(-50%) !important;
    width:calc(100vw - 28px) !important;
    max-width:calc(100vw - 28px) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    z-index:4 !important;
  }
  .tb-hero-claim-wrap .tb-hero-line-title{
    width:100% !important;
    margin:0 0 10px !important;
  }
  .tb-hero-claim-wrap .tb-hero-claim{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    margin:0 auto !important;
  }
  .tb-hero-inner{
    padding-bottom:190px !important;
  }
}


/* =========================================================
   v4.5 — BAD COMA FORZADA EN EL TÍTULO DE LA LÍNEA
   =========================================================
   El font-family real se genera dinámicamente desde la fuente
   especial configurada en Batista Theme, igual que el H1 del hero.
*/
.tb-hero-line-title,
.tb-hero-line-title span{
  font-weight:400 !important;
  font-style:normal !important;
}


/* v4.6 — Segundo taller en Hablemos de tu coche */
.tb-contact-grids{display:flex;flex-direction:column;gap:14px}
.tb-contact-grid--second{margin-top:0}
.tb-contact-address-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
.tb-contact-address-inner strong{min-width:0}
.tb-contact-address-inner img{display:block;flex:0 0 auto;width:auto;max-width:92px;max-height:42px;object-fit:contain}
@media(max-width:760px){
 .tb-contact-address-inner{align-items:flex-start;flex-direction:column;gap:12px}
 .tb-contact-address-inner img{max-width:110px;max-height:46px}
}

/* =========================================================
   v4.8 — MOBILE EXPERIENCE
   Exclusivo <= 760px. Desktop/tablet >760px permanece intacto.
   ========================================================= */
@media(max-width:760px){
  /* Ritmo general */
  .tb-section{padding:68px 0}
  .tb-section-head{margin-bottom:28px}
  .tb-section-head h2{font-size:clamp(34px,10.5vw,48px);line-height:.94;letter-spacing:-.035em}
  .tb-kicker{letter-spacing:.18em}
  .tb-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:14px 20px}

  /* Cabecera: logo protagonista sin invadir el contenido */
  .tb-header{position:sticky;top:0}
  .tb-nav{min-height:76px;align-items:center}
  .tb-logo{align-self:center}
  .tb-logo img{height:min(var(--tb-logo-mobile),104px);max-width:168px;object-fit:contain}

  /* Hero diseñado para vertical */
  .tb-hero{min-height:calc(100svh - 76px);max-height:820px;background-position:64% center}
  .tb-hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.72) 43%,rgba(0,0,0,.97) 100%)}
  .tb-hero-inner{min-height:inherit;padding:clamp(82px,17vh,150px) 0 34px;display:flex;align-items:flex-end}
  .tb-hero-copy{width:100%;max-width:none}
  .tb-hero h1{font-size:clamp(48px,14vw,70px);line-height:.86;max-width:10ch;text-shadow:0 8px 30px rgba(0,0,0,.5)}
  .tb-hero p{max-width:34ch;font-size:15px;line-height:1.55}
  .tb-hero .tb-btn{width:min(100%,330px)}
  .tb-hero-claim-wrap{margin-top:34px!important}
  .tb-hero-claim-wrap .tb-hero-line-title{font-size:clamp(17px,5.8vw,26px)!important}
  .tb-hero-claim-wrap .tb-hero-claim{gap:7px 10px!important}

  /* Servicios: tarjetas fotográficas más grandes */
  .tb-service-grid{gap:14px}
  .tb-service-card{border-color:rgba(255,255,255,.12);overflow:hidden;border-radius:2px}
  .tb-service-media{height:clamp(210px,62vw,285px)}
  .tb-service-media img{filter:saturate(.9) contrast(1.08);transform:scale(1.01)}
  .tb-service-body{padding:20px 19px 22px}
  .tb-service-body h3{font-size:clamp(23px,7vw,29px);line-height:1}
  .tb-service-body p{font-size:14px;line-height:1.5;margin-bottom:14px}

  /* First Stop: bloque de marca con más presencia */
  .tb-firststop-home{background:radial-gradient(circle at 50% 12%,rgba(215,25,32,.16),transparent 38%),#070708}
  .tb-firststop-home-grid{gap:28px}
  .tb-firststop-brand{min-height:245px;border-color:rgba(255,255,255,.14);box-shadow:0 22px 60px rgba(0,0,0,.34)}
  .tb-firststop-brand img{max-width:min(78%,270px)}
  .tb-firststop-actions{gap:14px}
  .tb-firststop-actions .tb-btn{width:100%}

  /* Videocheck: aspecto Reel / pieza protagonista */
  .tb-videocheck{background:radial-gradient(circle at 50% 58%,rgba(215,25,32,.22),transparent 34%),linear-gradient(180deg,#09090b,#030304)}
  .tb-videocheck-grid{display:flex;flex-direction:column;gap:34px}
  .tb-videocheck-copy{display:contents}
  .tb-videocheck-copy .tb-section-head{order:1}
  .tb-videocheck-lead{order:2;margin-bottom:0;font-size:15px}
  .tb-videocheck-visual{order:3;width:100%;justify-content:center}
  .tb-videocheck-steps{order:4;width:100%;margin:0}
  .tb-videocheck-copy>.tb-btn{order:5;width:100%}
  .tb-videocheck-phone{width:min(82vw,330px);transform:rotate(-1.2deg);box-shadow:0 32px 90px rgba(0,0,0,.58),0 0 50px rgba(215,25,32,.12)}

  /* Promociones: imagen primero, copy corto y contundente */
  .tb-promo-grid{gap:16px}
  .tb-promo-card{overflow:hidden;border-color:rgba(255,255,255,.12)}
  .tb-promo-image{height:clamp(230px,68vw,310px)}
  .tb-promo-body{padding:19px}
  .tb-promo-body h3{font-size:24px;line-height:1.02}

  /* Blog HOME: portada visual, menos sensación de bloque de texto */
  .tb-blog-grid{gap:16px}
  .tb-blog-card{overflow:hidden;border-color:rgba(255,255,255,.12)}
  .tb-blog-image{height:clamp(225px,64vw,300px)}
  .tb-blog-body{padding:19px 19px 21px}
  .tb-blog-body h3{font-size:clamp(22px,6.7vw,28px);line-height:1.03;margin:8px 0 10px}
  .tb-blog-body p{font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 16px}
  #blog-home .tb-center .tb-btn{width:100%}

  /* Contacto: dos centros se leen como dos fichas diferenciadas */
  .tb-contact-grids{gap:18px}
  .tb-contact-grid{border:1px solid rgba(255,255,255,.12);background:#09090b}
  .tb-contact-grid>div{padding:20px;border-right:0;border-left:3px solid transparent}
  .tb-contact-grid>div:first-child{border-left-color:var(--tb-red)}
  .tb-contact-grid small{font-size:9px;letter-spacing:.15em}
  .tb-contact-grid strong{font-size:15px}
  .tb-contact-grid--second{background:linear-gradient(135deg,rgba(215,25,32,.08),#09090b 44%)}
  .tb-contact-address-inner{gap:15px}
  .tb-contact-address-inner img{max-width:126px;max-height:52px}

  /* Botón flotante menos invasivo */
  .tb-help{right:12px;bottom:12px}
}

@media(max-width:380px){
  .tb-shell{width:min(100% - 22px,1180px)}
  .tb-hero h1{font-size:44px}
  .tb-section-head h2{font-size:34px}
}

@media(prefers-reduced-motion:no-preference) and (max-width:760px){
  .tb-service-card,.tb-promo-card,.tb-blog-card,.tb-firststop-brand,.tb-videocheck-phone{transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
  .tb-service-card:active,.tb-promo-card:active,.tb-blog-card:active{transform:scale(.985)}
}


/* =========================================================
   V4.9 · MOBILE IMPACT 2 — SOLO MOVIL
   Desktop/tablet >=761px permanece intacto.
   ========================================================= */
@media(max-width:760px){
  /* Las dos ubicaciones se convierten en accesos visuales a Google Maps. */
  .tb-topbar{padding:8px 0;background:#050506;border-bottom:1px solid rgba(215,25,32,.35)}
  .tb-topbar-inner{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;padding:0!important}
  .tb-topbar-inner>div{display:block!important;margin:0!important;min-width:0}
  .tb-topbar-inner>div>strong,.tb-topbar-inner>div>.tb-topbar-phone{display:none!important}
  .tb-topbar-map{
    min-height:54px;padding:9px 10px!important;border:1px solid rgba(255,255,255,.14);border-radius:8px;
    background:linear-gradient(145deg,#111114,#080809);display:flex!important;align-items:center;justify-content:center;
    gap:7px;color:#fff!important;text-align:center;font-size:10px;font-weight:900!important;line-height:1.22;
    text-transform:uppercase;letter-spacing:.02em;box-shadow:0 8px 22px rgba(0,0,0,.28)
  }
  .tb-topbar-map:active{transform:scale(.975);border-color:var(--tb-red)}
  .tb-map-pin{flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--tb-red);color:#fff;font-size:15px;line-height:1}
  .tb-topbar-map span:not(.tb-map-pin){color:#fff!important}

  /* Hero: la fachada es la protagonista. Menos capa negra y encuadre vertical más fotográfico. */
  .tb-hero{
    min-height:calc(100svh - 76px);max-height:none;background-size:cover;
    background-position:center 35%!important;align-items:flex-end
  }
  .tb-hero-overlay{
    background:linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.12) 36%,rgba(0,0,0,.56) 60%,rgba(0,0,0,.96) 88%,#060607 100%)!important
  }
  .tb-hero:after{height:72px}
  .tb-hero-inner{padding:48vh 0 28px!important;align-items:flex-end}
  .tb-hero-copy{padding:18px 0 0;position:relative}
  .tb-hero h1{font-size:clamp(46px,13vw,64px);max-width:9.5ch;margin:12px 0 14px;text-shadow:0 4px 22px #000,0 1px 2px #000}
  .tb-hero p{font-size:14px;line-height:1.45;max-width:31ch;margin-bottom:18px;color:#f1f1f2;text-shadow:0 2px 10px #000}
  .tb-hero .tb-btn{width:auto;min-width:190px}
  .tb-hero-claim-wrap{margin-top:25px!important}

  /* WhatsApp: en móvil únicamente el icono reconocible. El panel conserva los dos talleres. */
  .tb-help{right:14px;bottom:14px}
  .tb-help-trigger{width:58px;height:58px;min-height:58px;padding:0;border-radius:50%;justify-content:center;background:#25d366;border:2px solid rgba(255,255,255,.92);box-shadow:0 12px 32px rgba(0,0,0,.48),0 0 0 5px rgba(37,211,102,.12)}
  .tb-help-trigger .tb-help-label{display:none!important}
  .tb-help-trigger .tb-help-dot{display:none!important}
  .tb-help-trigger .tb-help-whatsapp-icon{display:block;width:34px;height:34px;color:#fff;line-height:0}
  .tb-help-trigger .tb-help-whatsapp-icon svg{display:block;width:100%;height:100%;overflow:visible}
  .tb-help-panel{bottom:70px}
}


/* =========================================================
   V5.1 · HERO FACHADA MOBILE SEGURO — SOLO CSS
   IMPORTANTE: no modifica el HTML ni el hero de escritorio.
   La foto vive en un pseudo-elemento independiente y el contenido
   empieza DESPUES de ella. Solo <=760px.
   ========================================================= */
@media(max-width:760px){
  .tb-hero{
    display:block!important;
    min-height:0!important;
    max-height:none!important;
    background-image:none!important;
    background:#050506!important;
    overflow:hidden;
  }

  /* Fotografia protagonista: completamente independiente del copy. */
  .tb-hero::before{
    content:"";
    display:block;
    position:relative;
    z-index:1;
    width:100%;
    height:clamp(430px,72svh,650px);
    background-image:var(--tb-hero-image);
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center center;
  }

  /* Eliminamos cualquier velo/degradado encima de la fachada. */
  .tb-hero-overlay{display:none!important}

  /* La linea decorativa queda entre fotografia y contenido, no encima. */
  .tb-hero:after{
    top:clamp(430px,72svh,650px)!important;
    bottom:auto!important;
    height:2px!important;
    background:var(--tb-red)!important;
    opacity:1!important;
    z-index:3!important;
  }

  /* Todo el mensaje comienza debajo de la fotografia. */
  .tb-hero-inner{
    position:relative!important;
    z-index:2!important;
    display:block!important;
    min-height:0!important;
    padding:34px 0 38px!important;
    background:#050506!important;
  }
  .tb-hero-copy{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
  }
  .tb-hero h1{
    max-width:10ch!important;
    margin-top:12px!important;
    text-shadow:none!important;
  }
  .tb-hero p{text-shadow:none!important}
  .tb-hero-claim-wrap{margin-top:30px!important}
}

@media(max-width:430px){
  .tb-hero::before{height:68svh}
  .tb-hero:after{top:68svh!important}
}

/* =========================================================
   V5.2 · CTA SERVICIOS SOBRE FACHADA — SOLO MOVIL
   El unico elemento superpuesto a la foto es el boton principal.
   Desktop/tablet >=761px permanece intacto.
   ========================================================= */
@media(max-width:760px){
  /* Sacamos el CTA del flujo para que no pueda chocar con el claim. */
  .tb-hero .tb-btn{
    position:absolute!important;
    z-index:8!important;
    top:-86px!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:auto!important;
    min-width:190px!important;
    margin:0!important;
    box-shadow:0 14px 34px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08)!important;
  }

  /* El contenido negro queda limpio y con espacio propio. */
  .tb-hero-copy{position:relative!important}
  .tb-hero-claim-wrap{margin-top:30px!important}
}

@media(max-width:430px){
  .tb-hero .tb-btn{top:-82px!important;min-width:184px!important}
}

/* =========================================================
   V5.3 · CLAIM MOBILE EN SUBAPARTADO INDEPENDIENTE
   Solo <=760px. El claim deja de estar posicionado en absoluto:
   vive debajo de la descripcion, dentro del mismo hero negro.
   ========================================================= */
@media(max-width:760px){
  /* El bloque interior crece con su contenido: nada puede solaparse. */
  .tb-hero-inner{
    padding-bottom:0!important;
    overflow:visible!important;
  }
  .tb-hero-copy{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
  }

  /* CTA sigue siendo el unico elemento sobre la fachada. */
  .tb-hero .tb-btn{
    position:absolute!important;
    top:-86px!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    z-index:8!important;
  }

  /* Claim = subapartado propio, ya NO absoluto. */
  .tb-hero-claim-wrap{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    top:auto!important;
    transform:none!important;
    order:20!important;
    width:100%!important;
    max-width:none!important;
    margin:30px 0 0!important;
    padding:24px 0 28px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    text-align:center!important;
    border-top:1px solid rgba(215,25,32,.65)!important;
    border-bottom:1px solid rgba(215,25,32,.35)!important;
    background:#050506!important;
    z-index:2!important;
    pointer-events:auto!important;
  }

  .tb-hero-claim-wrap .tb-hero-line-title{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 18px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    font-size:clamp(20px,7vw,30px)!important;
    line-height:.9!important;
  }
  .tb-hero-claim-wrap .tb-hero-line-title::before,
  .tb-hero-claim-wrap .tb-hero-line-title::after{
    content:""!important;
    display:block!important;
    flex:1 1 24px!important;
    min-width:18px!important;
    height:2px!important;
    background:var(--tb-red,#d71920)!important;
  }
  .tb-hero-claim-wrap .tb-hero-line-title span{
    flex:0 1 auto!important;
    max-width:72vw!important;
    padding:0 4px!important;
    white-space:normal!important;
  }

  .tb-hero-claim-wrap .tb-hero-claim{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    top:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 4px!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px 9px!important;
  }
  .tb-hero-claim-wrap .tb-hero-claim-kicker,
  .tb-hero-claim-wrap .tb-hero-claim strong{
    position:relative!important;
    white-space:normal!important;
    line-height:1.2!important;
  }
}

@media(max-width:430px){
  .tb-hero .tb-btn{top:-82px!important}
  .tb-hero-claim-wrap{margin-top:26px!important;padding:22px 0 26px!important}
  .tb-hero-claim-wrap .tb-hero-line-title{font-size:clamp(19px,6.8vw,27px)!important;margin-bottom:16px!important}
  .tb-hero-claim-wrap .tb-hero-claim{gap:7px 7px!important;font-size:11px!important}
}

/* v5.7 · Contacto HOME — banners visuales apilados */
.tb-contact .tb-shell{width:min(1240px,calc(100% - 40px));max-width:none}
.tb-contact-banners{display:flex;flex-direction:column;gap:18px;width:100%;margin-top:12px}
.tb-contact-banner{--tb-contact-banner-bg:#b50912;--tb-contact-banner-text:#fff;position:relative;isolation:isolate;overflow:hidden;width:100%;padding:30px 38px 0;color:var(--tb-contact-banner-text)!important;border:1px solid color-mix(in srgb,var(--tb-contact-banner-bg) 78%,#ff5660);border-radius:3px;background:linear-gradient(112deg,#050505 0%,#120506 30%,color-mix(in srgb,var(--tb-contact-banner-bg) 58%,#080808) 70%,#050505 100%);box-shadow:0 14px 34px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.07)}
.tb-contact-banner::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(118deg,transparent 0 58%,rgba(255,0,15,.16) 58.2% 60%,transparent 60.2%),linear-gradient(90deg,rgba(255,255,255,.025),transparent 35%,rgba(0,0,0,.28));pointer-events:none}
.tb-contact-banner::after{content:"TB";position:absolute;right:3%;top:50%;transform:translateY(-50%);z-index:-1;font-size:190px;font-weight:1000;line-height:.8;letter-spacing:-.09em;color:var(--tb-contact-banner-bg);opacity:.08;pointer-events:none}
.tb-contact-banner.has-photo::before{background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.97) 42%,rgba(5,5,5,.72) 65%,rgba(5,5,5,.22) 100%),var(--tb-contact-banner-image) center right/46% 100% no-repeat}
.tb-contact-banner.has-photo::after{display:none}
.tb-contact-banner>*{position:relative;z-index:2}.tb-contact-banner a{color:inherit!important;text-decoration:none}
.tb-contact-banner__head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:22px;padding-bottom:20px;border-bottom:1px solid color-mix(in srgb,var(--tb-contact-banner-bg) 75%,transparent)}
.tb-contact-banner__identity small,.tb-contact-banner small{display:block;color:color-mix(in srgb,var(--tb-contact-banner-text) 62%,transparent)!important;font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.tb-contact-banner__identity small{color:color-mix(in srgb,var(--tb-contact-banner-bg) 82%,#fff)!important;margin-bottom:7px}
.tb-contact-banner__identity h3{margin:0!important;color:var(--tb-contact-banner-text)!important;font-size:clamp(30px,3.3vw,52px)!important;font-weight:950;line-height:.92;letter-spacing:-.045em;text-transform:uppercase;text-shadow:0 2px 0 rgba(255,255,255,.08)}
.tb-contact-banner__logo{display:block;width:auto;max-width:170px;max-height:60px;object-fit:contain}
.tb-contact-banner__map{display:inline-flex;align-items:center;gap:9px;justify-content:center;min-height:48px;padding:0 20px;background:linear-gradient(180deg,color-mix(in srgb,var(--tb-contact-banner-bg) 80%,#ff4b54),var(--tb-contact-banner-bg));border:1px solid color-mix(in srgb,var(--tb-contact-banner-bg) 60%,#fff);box-shadow:0 6px 18px color-mix(in srgb,var(--tb-contact-banner-bg) 28%,transparent),inset 0 1px rgba(255,255,255,.18);font-size:11px;font-weight:950;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:.18s ease}.tb-contact-banner__map:hover{transform:translateY(-2px);filter:brightness(1.1)}
.tb-contact-banner__address{display:flex;align-items:center;gap:15px;padding:22px 0 18px}.tb-contact-banner__ico{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--tb-contact-banner-bg) 75%,#fff);border-radius:50%;color:color-mix(in srgb,var(--tb-contact-banner-bg) 78%,#fff);font-size:23px;font-weight:900}.tb-contact-banner__address strong{display:block;color:inherit!important;font-size:18px;font-weight:850;line-height:1.3}
.tb-contact-banner__contacts{display:grid;grid-template-columns:.75fr .75fr 1.5fr;max-width:920px;padding-bottom:20px}.tb-contact-banner__contacts>div{min-width:0;padding:0 24px;border-right:1px solid rgba(255,255,255,.14)}.tb-contact-banner__contacts>div:first-child{padding-left:0}.tb-contact-banner__contacts>div:last-child{border-right:0}.tb-contact-banner__contacts small{margin-bottom:6px}.tb-contact-banner__contacts strong{display:block;color:inherit!important;font-size:16px;font-weight:850;overflow-wrap:anywhere}
.tb-contact-banner__foot{margin:0 -38px;padding:15px 38px;background:linear-gradient(90deg,rgba(0,0,0,.5),color-mix(in srgb,var(--tb-contact-banner-bg) 58%,#080808),rgba(0,0,0,.45));border-top:1px solid color-mix(in srgb,var(--tb-contact-banner-bg) 72%,transparent)}.tb-contact-banner__foot>div{display:flex;align-items:baseline;gap:18px}.tb-contact-banner__foot small{color:color-mix(in srgb,var(--tb-contact-banner-bg) 75%,#fff)!important}.tb-contact-banner__foot strong{color:inherit!important;font-size:15px;font-weight:800}
@media(max-width:760px){.tb-contact-banners{gap:12px}.tb-contact-banner{padding:23px 20px 0;border-radius:0}.tb-contact-banner::after{font-size:130px;right:-4%}.tb-contact-banner.has-photo::before{background:linear-gradient(180deg,rgba(5,5,5,.98) 0 62%,rgba(5,5,5,.7) 100%),var(--tb-contact-banner-image) center bottom/100% auto no-repeat}.tb-contact-banner__head{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding-bottom:16px}.tb-contact-banner__identity{grid-column:1/-1}.tb-contact-banner__identity h3{font-size:31px!important}.tb-contact-banner__logo{grid-column:1;max-width:135px;max-height:45px}.tb-contact-banner__map{grid-column:2;min-height:42px;padding:0 13px}.tb-contact-banner:first-child .tb-contact-banner__map{grid-column:1/-1;justify-self:start}.tb-contact-banner__address{padding:18px 0 17px;align-items:flex-start}.tb-contact-banner__address strong{font-size:16px}.tb-contact-banner__contacts{grid-template-columns:1fr 1fr;padding-bottom:16px}.tb-contact-banner__contacts>div{padding:11px 10px 11px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.tb-contact-banner__contacts>div:nth-child(even){padding-left:10px;border-left:1px solid rgba(255,255,255,.12)}.tb-contact-banner__contacts>div:last-child{grid-column:1/-1;padding-left:0;border-left:0;border-bottom:0}.tb-contact-banner__contacts strong{font-size:14px}.tb-contact-banner__foot{margin:0 -20px;padding:14px 20px}.tb-contact-banner__foot>div{display:block}.tb-contact-banner__foot small{margin-bottom:5px}.tb-contact-banner__foot strong{font-size:13px;line-height:1.35}}
\n\n/* =========================================================
   v5.9 · IDENTIDAD DE MARCA ANTES DE LA FACHADA — SOLO MÓVIL
   Desktop permanece idéntico. En móvil, TALLERES BATISTA + claim
   aparecen al abrir, antes de la fotografía.
   ========================================================= */
.tb-mobile-hero-brand{display:none}
@media(max-width:760px){
  .tb-mobile-hero-brand{
    display:block;
    position:relative;
    z-index:3;
    width:100%;
    padding:24px 18px 20px;
    background:#050506;
    text-align:center;
    border-bottom:1px solid rgba(215,25,32,.7);
  }
  .tb-mobile-hero-brand .tb-hero-line-title{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    width:100%!important;
    margin:0 0 13px!important;
    padding:0!important;
    font-size:clamp(27px,9vw,40px)!important;
    line-height:.88!important;
    color:#fff!important;
  }
  .tb-mobile-hero-brand .tb-hero-line-title::before,
  .tb-mobile-hero-brand .tb-hero-line-title::after{
    content:"";display:block;flex:1 1 18px;max-width:54px;height:2px;background:var(--tb-red,#d71920);
  }
  .tb-mobile-hero-brand .tb-hero-line-title span{white-space:normal!important;padding:0 3px!important}
  .tb-mobile-hero-brand .tb-hero-claim-logo img{max-width:210px;max-height:70px;object-fit:contain}
  .tb-mobile-hero-claim{
    display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px 7px;
    color:#fff;font-size:11px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;line-height:1.25;
  }
  .tb-mobile-hero-claim strong{font:inherit;color:inherit}
  .tb-mobile-hero-claim strong b{color:var(--tb-red,#d71920);font:inherit;font-weight:950}
  .tb-mobile-hero-claim strong em{font:inherit;color:inherit;font-style:normal}
  .tb-mobile-hero-claim__generation{font-weight:950}
  .tb-mobile-hero-claim__sep{color:var(--tb-red,#d71920);font-weight:950}

  /* El claim original deja de mostrarse abajo en móvil: no se duplica. */
  .tb-hero .tb-hero-claim-wrap{display:none!important}

  /* Al desaparecer el claim inferior, el copy termina con aire suficiente. */
  .tb-hero-inner{padding-bottom:34px!important}
}
@media(max-width:430px){
  .tb-mobile-hero-brand{padding:21px 14px 18px}
  .tb-mobile-hero-brand .tb-hero-line-title{font-size:clamp(25px,8.6vw,35px)!important;margin-bottom:12px!important}
  .tb-mobile-hero-claim{font-size:10px;gap:5px 6px}
}


/* =========================================================
   v6.0 · HERO IDENTIDAD: MOBILE AISLADO + DESKTOP AL BORDE
   - Mobile <=760px: bloque de marca adelantado antes de fachada.
   - Desktop >=761px: bloque original dentro del hero, pegado al borde rojo inferior.
   ========================================================= */
@media (min-width:761px){
  .tb-mobile-hero-brand{display:none!important;}
  .tb-hero .tb-hero-claim-wrap{
    display:flex!important;
    bottom:2px!important;
  }
}
@media (max-width:760px){
  .tb-mobile-hero-brand{display:block!important;}
  .tb-hero .tb-hero-claim-wrap{display:none!important;}
}

/* =========================================================
   v6.1 · AJUSTE FINAL HERO
   Desktop: identidad visual mas cerca de la linea roja inferior.
   Mobile: TALLERES BATISTA mucho mas protagonista y admite 2 lineas.
   ========================================================= */
@media (min-width:761px){
  .tb-hero .tb-hero-claim-wrap{
    bottom:0!important;
    transform:translate(-50%, 105px)!important;
  }
}
@media (max-width:760px){
  .tb-mobile-hero-brand{
    padding:28px 14px 23px!important;
  }
  .tb-mobile-hero-brand .tb-hero-line-title{
    font-size:clamp(44px,14.5vw,68px)!important;
    line-height:.78!important;
    letter-spacing:-.02em!important;
    margin-bottom:19px!important;
    gap:7px!important;
  }
  .tb-mobile-hero-brand .tb-hero-line-title::before,
  .tb-mobile-hero-brand .tb-hero-line-title::after{
    max-width:24px!important;
    min-width:10px!important;
  }
  .tb-mobile-hero-brand .tb-hero-line-title span{
    display:block!important;
    max-width:88vw!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
  }
  .tb-mobile-hero-claim{
    max-width:94vw;
    margin:0 auto;
    font-size:12px!important;
    line-height:1.35!important;
    gap:6px 8px!important;
  }
}
@media (max-width:390px){
  .tb-mobile-hero-brand .tb-hero-line-title{
    font-size:clamp(42px,15vw,58px)!important;
  }
}


/* =========================================================
   v6.2 · MARCA MOBILE EN DOS LINEAS REALES
   Solo movil: fuerza el nombre corporativo a dos lineas y aumenta su escala.
   ========================================================= */
@media (max-width:760px){
  .tb-mobile-hero-brand{
    padding:30px 12px 24px!important;
    overflow:visible!important;
  }
  .tb-mobile-hero-brand .tb-hero-line-title{
    width:100%!important;
    max-width:none!important;
    display:block!important;
    text-align:center!important;
    font-size:clamp(62px,20vw,92px)!important;
    line-height:.72!important;
    margin:0 auto 24px!important;
    letter-spacing:-.025em!important;
  }
  .tb-mobile-hero-brand .tb-hero-line-title::before,
  .tb-mobile-hero-brand .tb-hero-line-title::after{display:none!important;}
  .tb-mobile-hero-brand .tb-mobile-brand-title-text{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    white-space:normal!important;
  }
  .tb-mobile-hero-brand .tb-mobile-brand-title-line{
    display:block!important;
    width:100%!important;
    white-space:nowrap!important;
    text-align:center!important;
  }
  .tb-mobile-hero-claim{
    font-size:12px!important;
    line-height:1.35!important;
    padding:0 4px!important;
  }
}
@media (max-width:390px){
  .tb-mobile-hero-brand .tb-hero-line-title{
    font-size:clamp(58px,19vw,76px)!important;
  }
}


/* =========================================================
   v6.3 · MARCA HERO MOBILE CON DOS IMAGENES INDEPENDIENTES
   Solo <=760px. Desktop no se modifica.
   ========================================================= */
.tb-mobile-brand-images{display:none}
@media (max-width:760px){
  .tb-mobile-brand-images{
    display:flex!important;
    width:100%;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:var(--tb-mobile-brand-gap,6px);
    margin:0 auto var(--tb-mobile-brand-claim-gap,18px);
  }
  .tb-mobile-brand-image{
    display:block!important;
    height:auto!important;
    max-width:100%!important;
    object-fit:contain;
  }
  .tb-mobile-brand-image--1{width:var(--tb-mobile-brand-w1,82%)!important}
  .tb-mobile-brand-image--2{width:var(--tb-mobile-brand-w2,92%)!important}
}
@media (min-width:761px){
  .tb-mobile-brand-images{display:none!important}
}
