/* ═══ LAYOUT Y COMPONENTES GLOBALES ═══ */

.container{
  max-width:1140px;
  margin:0 auto;
  padding:0 24px;
}

.section{
  padding:64px 0;
}

.section-alt{
  background:var(--white);
}

.label{
  font-size:11px;
  font-weight:600;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:14px;
  display:block;
}

h2.section-title{
  font-family:var(--fd);
  font-size:clamp(2rem,4vw,2.8rem);
  font-weight:700;
  color:var(--dark);
  line-height:1.15;
  margin-bottom:48px;
}

.divider{
  width:48px;
  height:2px;
  background:var(--accent);
  margin:14px 0 36px;
}

/* ═══ BUTTONS ═══ */
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:13px 24px;
  font-family:var(--fb);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:1.5px;
  text-transform:uppercase;
  border-radius:var(--r);
  cursor:pointer;
  transition:var(--t);
  border:none;
  white-space:nowrap;
}

.btn-primary{
  background:var(--accent);
  color:var(--white);
}

.btn-primary:hover{
  background:var(--accent2);
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(230,0,39,.25);
}

.btn-outline{
  background:transparent;
  color:var(--accent);
  border:1.5px solid var(--accent);
}

.btn-outline:hover{
  background:var(--accent);
  color:var(--white);
  transform:translateY(-2px);
}

.btn-ghost{
  background:rgba(255,255,255,.10);
  color:var(--white);
  border:1.5px solid rgba(255,255,255,.25);
}

.btn-ghost:hover{
  background:rgba(255,255,255,.20);
  transform:translateY(-2px);
}

.btn-cal{
  background:var(--white);
  color:var(--dark);
  border:1.5px solid rgba(255,255,255,.3);
}

.btn-cal:hover{
  background:rgba(255,255,255,.92);
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}

.btn-cal svg{
  color:var(--accent);
}

.btn-whatsapp{
  background:#25D366;
  color:var(--white);
  border:1.5px solid #25D366;
}

.btn-whatsapp:hover{
  background:#1fae50;
  border-color:#1fae50;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(37,211,102,.25);
}

.btn-linkedin{
  background:#0077B5;
  color:var(--white);
  border:1.5px solid #0077B5;
}

.btn-linkedin:hover{
  background:#005885;
  border-color:#005885;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,119,181,.25);
}

.btn-bitacora{
  background:var(--white);
  color:var(--dark);
  border:1.5px solid rgba(255,255,255,.3);
}

.btn-bitacora:hover{
  background:rgba(255,255,255,.92);
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}

/* ═══ AVAILABILITY BADGE ═══ */
.avail-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:rgba(0,208,132,.12);
  border:1.5px solid rgba(0,208,132,.35);
  border-radius:40px;
  padding:8px 18px 8px 12px;
  font-size:12px;
  font-weight:600;
  color:var(--white);
  letter-spacing:.4px;
  margin-top:32px;
  margin-bottom:22px;
}

.avail-dot{
  width:9px;
  height:9px;
  background:#00d084;
  border-radius:50%;
  flex-shrink:0;
  animation:pdot 1.8s infinite;
}

@keyframes pdot{
  0%{box-shadow:0 0 0 0 rgba(0,208,132,.55)}
  70%{box-shadow:0 0 0 9px rgba(0,208,132,0)}
  100%{box-shadow:0 0 0 0 rgba(0,208,132,0)}
}
