/* ============================================================
   BMore — Nueva Web 2026
   Tokens de marca + componentes propios sobre Bootstrap 5.3
   ============================================================ */

:root{
  /* Color */
  --bm-red:        #C0151A;
  --bm-red-dark:   #841014;
  --bm-red-deep:   #4A0B0D;
  --bm-red-soft:   #E8555C;
  --bm-red-tint:   #FCEDED;
  --bm-red-tint-2: #F7DADA;
  --bm-cream:      #FFFFFF;
  --bm-section:    #FBF5F4;
  --bm-ink:        #241C1B;
  --bm-ink-soft:   #62534F;
  --bm-ink-faint:  #9C8B86;
  --bm-line:       #ECDEDC;
  --bm-gold:       #B08B57;
  --bm-silver:     #9AA3AC;
  --bm-bronze:     #A9713F;

  /* Tipografía */
  --f-display: Arial, Helvetica, sans-serif;
  --f-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --f-mono: "IBM Plex Mono", "Courier New", monospace;

  --nav-h: 76px;
}

*{ box-sizing: border-box; }

html{ scroll-behavior: smooth; scroll-padding-top: calc(var(--nav-h) + 12px); }

body{
  font-family: var(--f-body);
  color: var(--bm-ink);
  background: var(--bm-cream);
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
}

h1,h2,h3,h4,.font-display{
  font-family: var(--f-display);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--bm-ink);
}

.eyebrow{
  font-family: var(--f-mono);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bm-red);
  font-weight: 600;
}

.lead-soft{ color: var(--bm-ink-soft); }

a{ color: var(--bm-red-dark); text-decoration: none; }
a:hover{ color: var(--bm-red); }

::selection{ background: var(--bm-red); color: #fff; }

:focus-visible{
  outline: 2px solid var(--bm-red);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

.section{ padding: 5.5rem 0; }
.section-sm{ padding: 3.25rem 0; }
@media (max-width: 767.98px){
  .section{ padding: 3.25rem 0; }
  .section-sm{ padding: 2.25rem 0; }
}
.bg-tint{ background: var(--bm-section); }
.bg-red-tint{ background: var(--bm-red-tint); }
.bg-ink{ background: var(--bm-ink); color: #F4EDEC; }
.bg-ink h1,.bg-ink h2,.bg-ink h3{ color: #fff; }

.container-narrow{ max-width: 900px; }

.section-head{ max-width: 720px; margin-bottom: 2.75rem; }
.section-head h2{ font-size: clamp(1.7rem, 3vw, 2.5rem); margin-bottom: .6rem; }

.divider-red{
  width: 46px; height: 4px; background: var(--bm-red);
  border-radius: 2px; margin: .9rem 0 1.1rem;
}

/* ---------- Botones ---------- */
.btn-bm-red{
  background: var(--bm-red);
  border: 1px solid var(--bm-red);
  color: #fff;
  font-weight: 600;
  padding: .72rem 1.5rem;
  border-radius: 8px;
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
  display: inline-flex; align-items: center; gap: .5rem;
}
.btn-bm-red:hover{ background: var(--bm-red-dark); border-color: var(--bm-red-dark); color:#fff; transform: translateY(-1px); box-shadow: 0 8px 20px -8px rgba(192,21,26,.55); }
.btn-bm-red:focus-visible{ color:#fff; }

.btn-bm-outline{
  background: transparent;
  border: 1.5px solid var(--bm-red);
  color: var(--bm-red-dark);
  font-weight: 600;
  padding: .68rem 1.45rem;
  border-radius: 8px;
  transition: all .18s ease;
  display: inline-flex; align-items: center; gap: .5rem;
}
.btn-bm-outline:hover{ background: var(--bm-red-tint); color: var(--bm-red-dark); }

.btn-bm-ghost{
  background: transparent;
  border: none;
  color: var(--bm-red-dark);
  font-weight: 600;
  padding: .5rem 0;
  display: inline-flex; align-items: center; gap: .4rem;
  border-bottom: 1.5px solid transparent;
}
.btn-bm-ghost:hover{ border-bottom-color: var(--bm-red); color: var(--bm-red); }

.btn-sm-pill{ font-size: .82rem; padding: .5rem 1.05rem; border-radius: 999px; }

/* ---------- Navbar ---------- */
.bm-navbar{
  height: var(--nav-h);
  background: rgba(255,255,255,.92);
  backdrop-filter: saturate(180%) blur(10px);
  border-bottom: 1px solid var(--bm-line);
  position: fixed; top:0; left:0; right:0; z-index: 1030;
  transition: box-shadow .25s ease;
}
.bm-navbar.is-scrolled{ box-shadow: 0 8px 24px -18px rgba(36,28,27,.35); }
.bm-navbar .navbar-brand img{ height: 34px; width: auto; }
.bm-nav-link{
  font-weight: 500; font-size: .95rem; color: var(--bm-ink);
  padding: .5rem .9rem !important; position: relative;
}
.bm-nav-link.active, .bm-nav-link:hover{ color: var(--bm-red-dark); }
.bm-nav-link.active::after{
  content:""; position:absolute; left: .9rem; right:.9rem; bottom: .18rem;
  height:2px; background: var(--bm-red); border-radius: 2px;
}
.bm-navbar .navbar-toggler{ border:none; padding: .25rem; }
.bm-navbar .navbar-toggler:focus{ box-shadow:none; }

@media (max-width: 991.98px){
  .bm-navbar .navbar-collapse{
    background: #fff; margin-top: 1rem; padding: 1rem 1.25rem 1.4rem;
    border-radius: 12px; border: 1px solid var(--bm-line);
    box-shadow: 0 20px 40px -20px rgba(36,28,27,.25);
  }
  .bm-nav-link.active::after{ display:none; }
  .bm-nav-link.active{ background: var(--bm-red-tint); border-radius: 8px; }
}

.nav-cta{ display:none; }
@media (min-width: 992px){ .nav-cta{ display:inline-flex; } }

/* ---------- Hero ---------- */
.hero{
  padding-top: calc(var(--nav-h) + 3.5rem);
  padding-bottom: 3rem;
  background:
    radial-gradient(1100px 480px at 82% -10%, var(--bm-red-tint) 0%, rgba(252,237,237,0) 60%),
    #fff;
}
.hero h1{ font-size: clamp(2rem, 4.4vw, 3.15rem); line-height: 1.12; }
.hero .kicker{ font-family: var(--f-mono); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color: var(--bm-red); }

.hero-art{
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 4/3.1;
  background: linear-gradient(155deg, #2A1414 0%, var(--bm-red-deep) 42%, var(--bm-red-dark) 78%, var(--bm-red) 100%);
  display:flex; align-items:flex-end;
}
.hero-art .art-caption{
  color: rgba(255,255,255,.82); font-size:.78rem; padding: 1.1rem 1.2rem;
  border-top: 1px solid rgba(255,255,255,.18); width:100%;
  background: linear-gradient(0deg, rgba(0,0,0,.28), transparent);
}
.hero-art svg{ position:absolute; inset:0; width:100%; height:100%; }
.hero-art img,
.bio-photo img{ width:100%; height:100%; object-fit:cover; display:block; }

.stat-strip{
  border-top: 1px solid var(--bm-line);
  border-bottom: 1px solid var(--bm-line);
  padding: 1.6rem 0;
}
.stat-item .num{ font-family: var(--f-display); font-size: clamp(1.4rem,2.6vw,2rem); color: var(--bm-red-dark); font-weight:600; }
.stat-item .label{ font-size:.8rem; color: var(--bm-ink-soft); }

/* ---------- Cards genéricas ---------- */
.bm-card{
  background:#fff; border:1px solid var(--bm-line); border-radius: 16px;
  padding: 1.9rem; height:100%;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.bm-card:hover{ transform: translateY(-4px); box-shadow: 0 22px 40px -26px rgba(36,28,27,.35); border-color: var(--bm-red-tint-2); }
.bm-card .card-index{
  font-family: var(--f-mono); font-size:.72rem; color: var(--bm-red);
  letter-spacing:.1em; display:block; margin-bottom:.6rem;
}
.bm-card h3{ font-size:1.25rem; margin-bottom:.6rem; }
.bm-card p{ color: var(--bm-ink-soft); font-size:.95rem; margin-bottom: 1rem; }

/* ---------- Proceso: Entender / Acordar / Activar ---------- */
.flow{
  display:flex; gap: 1rem; align-items: stretch; flex-wrap: wrap;
}
.flow-step{
  flex: 1 1 220px;
  background: var(--bm-red-tint);
  border: 1px solid var(--bm-red-tint-2);
  border-radius: 14px;
  padding: 1.5rem 1.4rem;
  position: relative;
}
.flow-step h4{ font-size: 1.05rem; margin-bottom:.4rem; }
.flow-step .flow-num{
  width: 30px; height:30px; border-radius:50%;
  background: var(--bm-red); color:#fff; font-family: var(--f-mono); font-size:.85rem;
  display:flex; align-items:center; justify-content:center; margin-bottom: .8rem;
}
.flow-step .deliverable{
  margin-top: 1rem; padding-top:.8rem; border-top: 1px dashed var(--bm-red-tint-2);
  font-size:.78rem; color: var(--bm-ink-faint); font-family: var(--f-mono);
}
.flow-arrow{
  display:flex; align-items:center; justify-content:center; color: var(--bm-red); font-size:1.3rem; flex: 0 0 24px;
}
@media (max-width: 767.98px){
  .flow{ flex-direction: column; }
  .flow-arrow{ transform: rotate(90deg); margin: -.4rem 0; }
}
.flow-loop{ font-size:.75rem; color: var(--bm-ink-faint); text-align:center; margin-top:.75rem; font-style: italic; }

/* ---------- Individual / Colectivo ---------- */
.rel-diagram{
  border: 1px solid var(--bm-line); border-radius: 16px; overflow:hidden;
}
.rel-col{ padding: 1.6rem 1.5rem; }
.rel-col.collective{ background: var(--bm-red-tint); }
.rel-col.individual{ background:#fff; }
.rel-col h4{ font-size:1.02rem; margin-bottom:.7rem; }
.rel-col ul{ padding-left: 1.1rem; margin:0; color: var(--bm-ink-soft); font-size:.92rem; }
.rel-col li{ margin-bottom:.4rem; }
.rel-center{
  text-align:center; padding:.6rem; font-family: var(--f-mono); font-size:.72rem;
  color: var(--bm-red-dark); background:#fff; border-top:1px solid var(--bm-line); border-bottom:1px solid var(--bm-line);
  letter-spacing:.08em; text-transform:uppercase;
}

/* ---------- Cadena CIMIENTO ---------- */
.cimiento-groups{
  display:flex; gap: .5rem; margin-bottom: .6rem; font-family: var(--f-mono);
  font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color: var(--bm-ink-faint);
}
.cimiento-groups span{ flex:1; text-align:center; border-bottom: 2px solid var(--bm-line); padding-bottom:.5rem; }
.cimiento-chain{
  display:grid; grid-template-columns: repeat(8, 1fr); gap:.6rem; align-items:end;
}
.cimiento-link{ text-align:center; }
.cimiento-chip{
  width:100%; aspect-ratio: 1/1; border-radius: 12px; background: var(--bm-red);
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-family: var(--f-display); font-size: 2.3rem; font-weight:700; margin-bottom:.5rem;
}
.cimiento-link.core .cimiento-chip{
  background: var(--bm-ink); outline: 3px solid var(--bm-red); outline-offset: 3px;
  font-size: 2.6rem;
}
/* Alternar tonos de rojo entre los eslabones (excepto el núcleo E) */
.cimiento-chain .cimiento-link:nth-child(1):not(.core) .cimiento-chip{ background: var(--bm-red); }
.cimiento-chain .cimiento-link:nth-child(2):not(.core) .cimiento-chip{ background: var(--bm-red-soft); }
.cimiento-chain .cimiento-link:nth-child(3):not(.core) .cimiento-chip{ background: var(--bm-red-dark); }
.cimiento-chain .cimiento-link:nth-child(4):not(.core) .cimiento-chip{ background: var(--bm-red-soft); }
.cimiento-chain .cimiento-link:nth-child(6):not(.core) .cimiento-chip{ background: var(--bm-red-dark); }
.cimiento-chain .cimiento-link:nth-child(7):not(.core) .cimiento-chip{ background: var(--bm-red); }
.cimiento-chain .cimiento-link:nth-child(8):not(.core) .cimiento-chip{ background: var(--bm-red-soft); }
.cimiento-link .name{ font-size:.78rem; font-weight:700; }
.cimiento-link .desc{ font-size:.72rem; color: var(--bm-ink-faint); }
@media (max-width: 767.98px){
  .cimiento-chain{ grid-template-columns: repeat(4, 1fr); row-gap: 1.4rem; }
  .cimiento-groups{ display:none; }
}
@media (max-width: 479.98px){
  .cimiento-chain{ grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Comparativo de procesos (planes) ---------- */
.plan-card{
  border: 1px solid var(--bm-line); border-radius: 16px; padding: 1.7rem; background:#fff; height:100%; position:relative;
}
.plan-card.recommended{ border-color: var(--bm-red); box-shadow: 0 22px 44px -28px rgba(192,21,26,.4); }
.plan-ribbon{
  position:absolute; top:-12px; left: 1.4rem; background: var(--bm-red); color:#fff;
  font-size:.68rem; font-family: var(--f-mono); letter-spacing:.08em; text-transform:uppercase;
  padding:.3rem .7rem; border-radius:999px;
}
.plan-card h4{ font-size:1.15rem; margin-bottom:.25rem; }
.plan-card ul{ list-style:none; padding:0; margin: 1.1rem 0 0; }
.plan-card li{ padding:.42rem 0; border-bottom: 1px dashed var(--bm-line); font-size:.88rem; display:flex; gap:.55rem; }
.plan-card li:last-child{ border-bottom:none; }
.plan-check{ color: var(--bm-red); font-weight:700; }
.plan-dash{ color: var(--bm-ink-faint); }

/* ---------- Radar (Family Strategy) ---------- */
.radar-legend{ display:flex; gap:1.2rem; font-size:.8rem; color: var(--bm-ink-soft); margin-top:.9rem; flex-wrap:wrap; }
.radar-legend span::before{
  content:""; display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:.4rem; vertical-align:middle;
}
.dot-risk::before{ background:#C0151A; }
.dot-watch::before{ background:#E8B84B; }
.dot-healthy::before{ background:#4B9E7A; }

/* ---------- Gauge (Test LatamBoard) ---------- */
.gauge-wrap{ text-align:center; }
.gauge-score{ font-family: var(--f-display); font-size:2.2rem; color: var(--bm-red-dark); font-weight:700; }

/* ---------- Timeline 4 pasos ---------- */
.timeline{ display:flex; gap:0; position:relative; }
.timeline::before{
  content:""; position:absolute; top:20px; left: 5%; right:5%; height:2px; background: var(--bm-line);
}
.tl-step{ flex:1; text-align:center; position:relative; padding-top: 0; }
.tl-dot{
  width:42px; height:42px; border-radius:50%; background:#fff; border:2px solid var(--bm-red);
  color: var(--bm-red); font-family: var(--f-mono); font-weight:700; display:flex; align-items:center; justify-content:center;
  margin: 0 auto .9rem; position:relative; z-index:1;
}
.tl-step p{ font-size:.85rem; color: var(--bm-ink-soft); padding: 0 .6rem; }
@media (max-width: 767.98px){
  .timeline{ flex-direction:column; gap: 1.6rem; }
  .timeline::before{ top:0; bottom:0; left:20px; right:auto; width:2px; height:auto; }
  .tl-step{ display:flex; align-items:flex-start; gap:1rem; text-align:left; }
  .tl-dot{ margin:0; flex-shrink:0; }
}

/* ---------- Journey LatamBoard ---------- */
.journey{ display:flex; gap: .9rem; flex-wrap:wrap; }
.journey-stop{ flex:1 1 220px; border-radius:14px; padding:1.4rem; border:1px solid var(--bm-line); background:#fff; }
.journey-stop.pro{ background: var(--bm-ink); color:#fff; border-color: var(--bm-ink); }
.journey-stop.pro h4, .journey-stop.pro .stop-tag{ color:#fff; }
.journey-stop .stop-tag{ font-family: var(--f-mono); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color: var(--bm-red); }
.journey-stop h4{ margin: .35rem 0 .6rem; font-size:1.05rem; }
.journey-stop ul{ font-size:.85rem; padding-left:1.1rem; margin:0; }
.journey-stop.pro ul{ color: rgba(255,255,255,.85); }
.journey-stop:not(.pro) ul{ color: var(--bm-ink-soft); }
.journey-badge{ display:inline-block; font-size:.68rem; padding:.2rem .55rem; border-radius:999px; background: var(--bm-red-tint); color: var(--bm-red-dark); font-family: var(--f-mono); margin-top:.6rem; }

.levels{ display:flex; gap:.8rem; margin-top:1.5rem; flex-wrap:wrap; }
.level{ flex:1 1 180px; border-radius:12px; padding:1.1rem 1.2rem; color:#fff; }
.level h5{ font-family: var(--f-display); margin-bottom:.25rem; }
.level p{ font-size:.8rem; margin:0; opacity:.9; }
.level.bronze{ background: var(--bm-bronze); }
.level.silver{ background: var(--bm-silver); }
.level.gold{ background: var(--bm-gold); }

/* ---------- Mapa Hispanoamérica (cierre contacto) ---------- */
.map-art{ border-radius:20px; overflow:hidden; background: var(--bm-ink); position:relative; aspect-ratio: 4/3.4; }
.map-art svg{ width:100%; height:100%; }
.map-caption{
  position:absolute; left:0; right:0; bottom:0; padding: 1.2rem 1.3rem;
  color:#fff; font-size:.85rem; background: linear-gradient(0deg, rgba(0,0,0,.55), transparent);
}

/* ---------- Formulario contacto ---------- */
.bm-form label{ font-size:.85rem; font-weight:600; color: var(--bm-ink); margin-bottom:.35rem; }
.bm-form .form-control, .bm-form .form-select{
  border-radius:9px; border:1px solid var(--bm-line); padding:.62rem .85rem; font-size:.95rem;
}
.bm-form .form-control:focus, .bm-form .form-select:focus{
  border-color: var(--bm-red); box-shadow: 0 0 0 .2rem var(--bm-red-tint);
}
.bm-form .form-check-input:checked{ background-color: var(--bm-red); border-color: var(--bm-red); }

/* ---------- Autoridad / bio ---------- */
.bio-photo{
  border-radius:18px; aspect-ratio: 3/3.6; background: linear-gradient(160deg,#3a1c1c,var(--bm-red-dark) 60%, var(--bm-red));
  position:relative; overflow:hidden;
}
.bio-photo .tag{ position:absolute; bottom:1rem; left:1rem; right:1rem; color:rgba(255,255,255,.85); font-size:.75rem; }

/* ---------- Contadores / channels ---------- */
.channel-row{ display:flex; align-items:center; gap:.8rem; padding: .75rem 0; border-bottom: 1px dashed var(--bm-line); }
.channel-row:last-child{ border-bottom:none; }
.channel-icon{
  width:38px; height:38px; border-radius:10px; background: var(--bm-red-tint); color: var(--bm-red-dark);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}

/* ---------- Footer ---------- */
.bm-footer{ background: var(--bm-ink); color: rgba(244,237,236,.8); padding: 3.5rem 0 1.6rem; }
.bm-footer a{ color: rgba(244,237,236,.85); }
.bm-footer a:hover{ color:#fff; }
.bm-footer h6{ color:#fff; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1rem; font-family: var(--f-mono); }
.bm-footer .foot-logo{ height:30px; margin-bottom:1rem; filter: brightness(0) invert(1); opacity:.92; }
.bm-footer ul{ list-style:none; padding:0; margin:0; }
.bm-footer li{ margin-bottom:.55rem; font-size:.9rem; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.12); margin-top:2.5rem; padding-top:1.4rem; font-size:.8rem; color: rgba(244,237,236,.55); }
.social-ico{
  width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.25);
  display:inline-flex; align-items:center; justify-content:center; margin-right:.5rem;
}
.social-ico:hover{ background: var(--bm-red); border-color: var(--bm-red); }

/* ---------- WhatsApp flotante ---------- */
.wa-float{
  position: fixed; right: 18px; bottom: 18px; z-index: 1040;
  width: 58px; height:58px; border-radius:50%;
  background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow: 0 14px 30px -10px rgba(0,0,0,.4);
  transition: transform .2s ease;
}
.wa-float:hover{ transform: scale(1.07); color:#fff; }
.wa-float::before{
  content:""; position:absolute; inset:-6px; border-radius:50%;
  border: 2px solid #25D366; opacity:.55; animation: wa-pulse 2.2s ease-out infinite;
}
@keyframes wa-pulse{
  0%{ transform: scale(.9); opacity:.55; }
  100%{ transform: scale(1.35); opacity:0; }
}
@media (prefers-reduced-motion: reduce){ .wa-float::before{ animation:none; } }

/* ---------- Utilidades varias ---------- */
.badge-bm{
  display:inline-block; font-family: var(--f-mono); font-size:.7rem; letter-spacing:.08em;
  text-transform:uppercase; color: var(--bm-red-dark); background: var(--bm-red-tint);
  padding:.32rem .7rem; border-radius:999px;
}
.chip-red{
  width:44px; height:44px; border-radius:11px; background: var(--bm-red); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:700; font-family: var(--f-mono); flex-shrink:0;
}
.page-hero{
  padding: calc(var(--nav-h) + 3rem) 0 2.5rem;
  background: radial-gradient(900px 380px at 85% -10%, var(--bm-red-tint) 0%, rgba(252,237,237,0) 60%), #fff;
}
.page-hero h1{ font-size: clamp(1.9rem, 3.6vw, 2.7rem); }

.reveal{ opacity:0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; } }

.simple-page ul{ color: var(--bm-ink-soft); }
.simple-page h2{ margin-top: 2rem; font-size: 1.4rem; }

/* ---------- Carrusel de testimonios ---------- */
.testi-carousel{ position:relative; padding: 0 3rem; }
.testi-track{
  display:flex; gap: 1.1rem; overflow-x:auto; scroll-snap-type: x mandatory;
  scroll-behavior:smooth; padding: .3rem .1rem .9rem; margin:0 -.1rem;
  -webkit-overflow-scrolling: touch;
}
.testi-track::-webkit-scrollbar{ height:6px; }
.testi-track::-webkit-scrollbar-thumb{ background: var(--bm-red-tint-2); border-radius:999px; }
.testi-item{
  flex: 0 0 calc(25% - .825rem);
  scroll-snap-align: start;
  cursor: pointer;
  border-radius: 14px;
  overflow:hidden;
  border:1px solid var(--bm-line);
  background:#fff;
  transition: transform .2s ease, box-shadow .2s ease;
}
.testi-item:hover, .testi-item:focus-visible{
  transform: translateY(-4px);
  box-shadow: 0 18px 34px -22px rgba(36,28,27,.4);
}
.testi-item img{
  width:100%; height:100%; aspect-ratio: 3/4; object-fit:cover; display:block;
}
.testi-nav{
  position:absolute; top:50%; transform: translateY(-50%);
  width:42px; height:42px; border-radius:50%;
  background:#fff; border:1px solid var(--bm-line); color: var(--bm-red-dark);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem;
  box-shadow: 0 10px 26px -14px rgba(36,28,27,.35);
  z-index:2; transition: background .18s ease, color .18s ease;
}
.testi-nav:hover{ background: var(--bm-red); color:#fff; }
.testi-nav.prev{ left:0; }
.testi-nav.next{ right:0; }
@media (max-width: 767.98px){
  .testi-carousel{ padding: 0 2.4rem; }
  .testi-item{ flex: 0 0 100%; }
  .testi-nav{ width:36px; height:36px; font-size:1.1rem; }
}

/* Modal lightbox de testimonios */
#testiModal .modal-content{ background: transparent; border:none; }
#testiModal .modal-dialog{ max-width: 640px; }
#testiModal .btn-close{ filter: invert(1) grayscale(1) brightness(2); opacity:.9; }
#testiModal img{ width:100%; height:auto; border-radius:14px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); }
