/* =========================================================
   B2BGEMI PUBLIC v2 — REUSABLE COMPONENTS
   Χρήση στις επόμενες φάσεις χωρίς να επηρεάζονται τα παλιά blocks.
   ========================================================= */
.b2b-v2-section{padding:clamp(64px,8vw,112px) 0}
.b2b-v2-section--light{
  color:var(--b2b-text-on-light);
  background:var(--b2b-surface);
}
.b2b-v2-section--soft{
  color:var(--b2b-text-on-light);
  background:var(--b2b-surface-soft);
  border-block:1px solid var(--b2b-line-light);
}
.b2b-v2-section--dark{
  color:var(--b2b-text);
  background:var(--b2b-bg);
}
.b2b-v2-section-head{
  max-width:880px;
  margin:0 auto clamp(30px,5vw,54px);
  text-align:center;
}
.b2b-v2-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--b2b-teal-dark);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.b2b-v2-eyebrow::before{
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:var(--b2b-teal);
  box-shadow:0 0 0 5px rgba(22,223,189,.12);
}
.b2b-v2-section-head h2{
  margin:.75rem 0 0;
  font-family:var(--b2b-display);
  font-size:clamp(2.1rem,5vw,4.2rem);
  line-height:1.04;
  letter-spacing:-.055em;
}
.b2b-v2-section-head p{
  max-width:72ch;
  margin:1rem auto 0;
  color:var(--b2b-muted-on-light);
  font-size:clamp(1.05rem,1rem + .18vw,1.2rem);
}
.b2b-v2-grid{display:grid;gap:18px}
.b2b-v2-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.b2b-v2-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.b2b-v2-card{
  padding:clamp(22px,3vw,34px);
  border:1px solid var(--b2b-line-light);
  border-radius:var(--b2b-radius);
  background:#fff;
  box-shadow:var(--b2b-shadow);
}
.b2b-v2-card h3{
  margin:0;
  color:var(--b2b-text-on-light);
  font-family:var(--b2b-display);
  font-size:clamp(1.3rem,2vw,1.75rem);
  line-height:1.2;
  letter-spacing:-.025em;
}
.b2b-v2-card p{
  margin:.8rem 0 0;
  color:var(--b2b-muted-on-light);
  font-size:1.03rem;
}
.b2b-v2-btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:.78rem 1.2rem;
  border:1px solid transparent;
  border-radius:12px;
  text-decoration:none;
  font-size:1rem;
  font-weight:850;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.b2b-v2-btn:hover{transform:translateY(-1px)}
.b2b-v2-btn--primary{
  color:#032820;
  background:linear-gradient(135deg,var(--b2b-teal),#75f4dd);
  box-shadow:0 13px 32px rgba(22,223,189,.18);
}
.b2b-v2-btn--secondary{
  color:var(--b2b-text-on-light);
  border-color:var(--b2b-line-light);
  background:#fff;
}
.b2b-v2-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:clamp(28px,5vw,58px);
  border:1px solid rgba(22,223,189,.26);
  border-radius:var(--b2b-radius-lg);
  color:var(--b2b-text);
  background:
    radial-gradient(circle at 86% 12%,rgba(22,223,189,.16),transparent 35%),
    linear-gradient(135deg,#071523,#0b2034);
  box-shadow:0 34px 90px rgba(4,13,24,.25);
}
.b2b-v2-cta h2{
  margin:0;
  font-family:var(--b2b-display);
  font-size:clamp(2rem,4vw,3.8rem);
  line-height:1.06;
  letter-spacing:-.05em;
}
.b2b-v2-cta p{
  max-width:65ch;
  margin:.85rem 0 0;
  color:#b7cada;
  font-size:1.05rem;
}
