/* ====== TOKENS (renombrados y extendidos) ====== */
:root{
  --ind-green-50:#edf7f1;
  --ind-green-100:#dff2e8;
  --ind-green-200:#cfe8d7;
  --ind-text:#24313f; --ind-muted:#6c757d; --ind-bg:#f7f9fb;
  --radius:14px; --shadow:0 10px 30px rgba(0,0,0,.07)
}

/* ====== ACCESIBILIDAD FOCOS ====== */
a:focus-visible, button:focus-visible, .form-control:focus-visible, .form-select:focus-visible{
  outline:2px solid rgba(25,135,84,.5);
  outline-offset:2px;
}
.btn:focus-visible{ box-shadow:0 0 0 .2rem rgba(25,135,84,.35) }

/* ====== BUTTONS (opción danger clara con contraste) ====== */
.btn-danger{
  background:var(--ind-green-50);
  border-color:var(--ind-green-50);
  color:#0f5132;
}
.btn-danger:hover,.btn-danger:focus{
  background:var(--ind-green-100);
  border-color:var(--ind-green-100);
  color:#0f5132;
}

/* ====== BOTÓN DE MARCA (recomendado para CTAs) ====== */
.btn-brand{
  --_bg:#198754; --_bg-hover:#157347;
  background:var(--_bg); border-color:var(--_bg); color:#fff; font-weight:700;
}
.btn-brand:hover,.btn-brand:focus{ background:var(--_bg-hover); border-color:var(--_bg-hover); }

/* ====== HERO / CLS / MOTION ====== */
.hero{ min-height:460px; }
.hero .cta-btn{ transform:translateY(0); transition:transform .2s ease; }
.hero .cta-btn:hover{ transform:translateY(-2px); }
@media (prefers-reduced-motion: reduce){
  .hero .cta-btn, .price-card{ transition:none !important; transform:none !important; }
}

/* ====== RATING (única fuente de verdad) ====== */
.rating{ color:#ffc107; letter-spacing:2px; font-weight:700; font-size:1rem }

/* ====== CARD GHOST (reemplaza selector frágil) ====== */
.card-ghost{ border:1px dashed #e5e7eb }

/* ====== ANCLAS ====== */
section,:target{ scroll-margin-top:84px }

/* ====== FORM ESTADOS ====== */
.form-control:invalid{ border-color:#198754 }
.form-control:valid{ border-color:#198754 }
.form-card .form-control:focus,
.form-card .form-select:focus {
  border-color:#198754;
  box-shadow:0 0 0 .2rem rgba(25,135,84,.15);
}

/* ====== WHATSAPP FLOAT FOCUS ====== */
/* Forzar flotante siempre arriba, fuera del flujo */
.floating-whatsapp{
  position: fixed !important;
  right: 22px;
  bottom: 22px;
  z-index: 2147483647; /* bien arriba de todo */
  pointer-events: auto;
}

/* tamaño/forma del botón (ya lo tienes, lo dejo para completar) */
.floating-whatsapp .btn{
  width: 58px; height: 58px;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 25px rgba(37,211,102,.35);
}

/* iOS/Safari: evitar que se “pegue” por contextos raros */
@supports (-webkit-touch-callout: none) {
  .floating-whatsapp { transform: translateZ(0); }
}

/* en pantallas medianas+ debe verse; en móviles ya lo ocultas con d-none d-md-block */
@media (max-width: 991.98px){
  .floating-whatsapp{ right:16px; bottom:16px; }
}

/* ====== BADGE TRUST SHADOW ====== */

.accordion-button {
  font-weight:600;
  background:#fff;
}
.accordion-button:not(.collapsed) {
  color:#0f5132;
  background:#edf7f1;
}
.accordion-item {
  border:1px solid #e5e7eb;
  border-radius:var(--radius);
  margin-bottom:.75rem;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.accordion-body.small {
  color:#314355;
}

#prices .price-card{
  border:1px solid #e5e7eb; border-radius:var(--radius);
  padding:1.25rem; transition:transform .15s ease, box-shadow .15s ease;
}
#prices .price-card:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,0,0,.06); }
#prices .display-6{ font-weight:800; }
#prices .badge.bg-secondary-subtle{
  background:#f1f5f9; color:#41546a;
}

/* Testimonials */
.testimonial-item{ transition:transform .15s ease, box-shadow .15s ease; }
.testimonial-item:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,0,0,.06); }
.avatar-initials{
  width:36px;height:36px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:700;background:#f1f5f9;color:#41546a;
}
/* Chips de áreas */
.service-chips .chip{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.35rem .6rem;border:1px solid #e5e7eb;border-radius:999px;
  background:#fff;font-size:.9rem;color:#41546a
}
