@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

/* ============================================================
   BFL Tecnologia — Capa de identidad "Sello"
   Se carga DESPUES de bfl-odoo-odoo.css y solo sobrescribe.
   El archivo original queda intacto: para revertir, basta con
   desactivar la vista heredada "BFL · Identidad + e-CF 15N".
   v1 · 2026-08-14
   ============================================================ */

:root{
  --maroon:      #CD3634;
  --maroon-deep: #A82A28;
  --maroon-soft: #FBE9E9;
  --maroon-ink:  #7A1F1E;

  --ink:    #101C2B;
  --ink-2:  #2B3A4D;
  --ink-3:  #5A6472;
  --taupe:  #8A93A0;

  --dark:   #101C2B;
  --dark-2: #17263A;
  --dark-3: #1F3148;

  --paper-2: #F2F4F7;
  --paper-3: #E6E9EF;

  --line:   rgba(16,28,43,.10);
  --line-2: rgba(16,28,43,.055);

  --shadow:    0 1px 3px rgba(16,28,43,.06), 0 14px 36px -14px rgba(16,28,43,.16);
  --shadow-lg: 0 2px 8px rgba(16,28,43,.06), 0 44px 84px -30px rgba(16,28,43,.30);

  --serif: "Barlow", system-ui, -apple-system, sans-serif;
  --sans:  "Barlow", system-ui, -apple-system, sans-serif;

  --teal:         #0E6E6E;
  --teal-on-dark: #1FA3A3;
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;
}

/* derivados del rojo antiguo que estaban escritos a mano */
.method .kicker__n,
.phase:hover .phase__n,
.ind:hover .ind__ic      { color: #E38A88; }
.frame__dots i:nth-child(1) { background: #E0726A; }
.cta h2 em               { color: #F6CFCE; }
.field.has-error input,
.field.has-error select,
.field.has-error textarea { background: #FDF3F3; }
.field input::placeholder,
.field textarea::placeholder { color: #97A0AC; }
.quote__tag              { box-shadow: 0 8px 24px rgba(16,28,43,.05); }

/* ============================================================
   Bloques nuevos. Todo bajo .bfl-* para no chocar con nada.
   ============================================================ */

.bfl-eyebrow{
  font-family:var(--mono); font-size:11px; letter-spacing:.26em;
  text-transform:uppercase; color:var(--teal); margin:0 0 14px;
}

/* --- banda de urgencia bajo el hero --- */
.bfl-band{
  background:var(--dark); color:var(--paper);
  border-top:1px solid rgba(190,190,190,.14);
  border-bottom:1px solid rgba(190,190,190,.14);
}
.bfl-band__in{
  max-width:var(--maxw); margin:0 auto;
  padding:26px var(--gutter);
  display:flex; align-items:center; gap:clamp(18px,3vw,44px); flex-wrap:wrap;
}
.bfl-band__count{ display:flex; align-items:baseline; gap:10px; flex:none; }
.bfl-band__num{
  font-family:var(--serif); font-weight:800; font-size:clamp(42px,6vw,62px);
  line-height:.9; letter-spacing:-.03em; color:var(--maroon);
}
.bfl-band__unit{
  font-family:var(--mono); font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--taupe); line-height:1.4; max-width:70px;
}
.bfl-band__txt{ flex:1 1 320px; min-width:250px; }
.bfl-band__txt strong{
  display:block; font-size:clamp(16px,2vw,19px); font-weight:700;
  margin-bottom:5px; color:var(--paper);
}
.bfl-band__txt span{ font-size:14px; color:#BEC5CF; line-height:1.55; }
.bfl-band__txt em{ font-style:normal; font-family:var(--mono); font-size:12px;
  letter-spacing:.12em; color:var(--teal-on-dark); text-transform:uppercase; }
.bfl-band .btn{ flex:none; }

/* --- secciones --- */
.bfl-sec{ padding:clamp(56px,8vw,104px) 0; }
.bfl-sec__in{ max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); }
.bfl-ecf{ background:var(--paper-2); }
.bfl-head{ max-width:760px; margin-bottom:clamp(30px,4vw,50px); }
.bfl-head h2{
  font-family:var(--serif); font-weight:800; letter-spacing:-.025em;
  font-size:clamp(28px,4vw,44px); line-height:1.12; margin:0 0 14px; color:var(--ink);
}
.bfl-head p{ color:var(--ink-3); font-size:clamp(15px,1.7vw,17px); line-height:1.65; margin:0; }

.bfl-grid{ display:grid; gap:18px; }
.bfl-grid--3{ grid-template-columns:repeat(3,1fr); }
@media(max-width:920px){ .bfl-grid--3{ grid-template-columns:1fr; } }

.bfl-card{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:clamp(24px,3vw,32px);
  display:flex; flex-direction:column;
}
.bfl-card h3{ font-family:var(--serif); font-weight:700; font-size:20px;
  margin:0 0 8px; color:var(--ink); letter-spacing:-.01em; }
.bfl-card p{ color:var(--ink-3); font-size:14.5px; line-height:1.6; margin:0; }
.bfl-card__price{
  font-family:var(--serif); font-weight:800; font-size:36px;
  letter-spacing:-.025em; color:var(--ink); margin:18px 0 0; line-height:1;
}
.bfl-card__price small{
  font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.14em;
  color:var(--ink-3); text-transform:uppercase; margin-left:7px;
}
.bfl-card__list{ list-style:none; padding:0; margin:20px 0 0; }
.bfl-card__list li{
  position:relative; padding-left:22px; margin-bottom:10px;
  font-size:14px; color:var(--ink-2); line-height:1.5;
}
.bfl-card__list li::before{
  content:""; position:absolute; left:0; top:7px;
  width:8px; height:8px; background:var(--maroon);
}
.bfl-card--feat{ border-color:var(--maroon); box-shadow:var(--shadow); }
.bfl-card__tag{
  align-self:flex-start; font-family:var(--mono); font-size:10px; letter-spacing:.2em;
  text-transform:uppercase; color:#fff; background:var(--maroon); padding:5px 10px;
  margin-bottom:14px;
}
.bfl-card__foot{ margin-top:auto; padding-top:22px; }

/* --- tres capas sobre oscuro --- */
.bfl-capas{ background:var(--dark); }
.bfl-capas .bfl-head h2{ color:var(--paper); }
.bfl-capas .bfl-head p{ color:#BEC5CF; }
.bfl-capas .bfl-eyebrow{ color:var(--teal-on-dark); }
.bfl-capas .bfl-card{ background:var(--dark-2); border-color:rgba(190,190,190,.16); }
.bfl-capas .bfl-card h3{ color:var(--paper); }
.bfl-capas .bfl-card p{ color:#BEC5CF; }
.bfl-capas .bfl-card__price{ color:var(--paper); }
.bfl-capas .bfl-card__price small{ color:var(--taupe); }
.bfl-capas .bfl-card__list li{ color:#D3D8DF; }
.bfl-card__step{
  font-family:var(--mono); font-size:11px; letter-spacing:.24em;
  text-transform:uppercase; color:var(--teal-on-dark); margin-bottom:12px;
}

/* --- nota legal --- */
.bfl-note{
  margin-top:28px; padding:16px 20px; border-left:2px solid var(--maroon);
  background:var(--maroon-soft); border-radius:0 var(--r) var(--r) 0;
  font-size:13.5px; line-height:1.6; color:var(--maroon-ink);
}
.bfl-capas .bfl-note{
  background:rgba(205,54,52,.12); color:#EFC4C3; border-left-color:var(--maroon);
}
