/*
Theme Name:   Sonia Barahona Child
Theme URI:    https://soniabarahona.com
Description:  Child theme de Hello Elementor para Sonia Barahona — Coach de la Herida Materna
Author:       Sonia Barahona
Author URI:   https://soniabarahona.com
Template:     hello-elementor
Version:      1.0.0
Text Domain:  soniabarahona-child
Tags: elementor, child-theme, coaching, herida-materna
*/

/* ═══════════════════════════════════════════
   PALETA DE COLORES — SONIA BARAHONA
═══════════════════════════════════════════ */
:root {
  --sb-cream:        #FEF8F0;
  --sb-terra:        #ED8258;
  --sb-terra-deep:   #C8633D;
  --sb-terra-light:  #F5B99A;
  --sb-terra-pale:   #FDF0E8;
  --sb-sage:         #8FB5AD;
  --sb-sage-deep:    #5C9490;
  --sb-sage-pale:    #EBF3F1;
  --sb-ink:          #2C2218;
  --sb-ink-mid:      #5A4A3A;
  --sb-ink-soft:     #8A7A6A;
  --sb-white:        #FFFFFF;
  --sb-divider:      #EDE0D0;
}

/* ═══════════════════════════════════════════
   TIPOGRAFÍA BASE
═══════════════════════════════════════════ */
body {
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  color: var(--sb-ink);
  background-color: var(--sb-cream);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  color: var(--sb-ink);
  line-height: 1.15;
}

/* ═══════════════════════════════════════════
   BOTONES GLOBALES
═══════════════════════════════════════════ */
.sb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--sb-terra);
  color: var(--sb-white) !important;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 14px 32px;
  border-radius: 50px;
  border: none;
  cursor: pointer;
  text-decoration: none !important;
  transition: background .2s, transform .15s, box-shadow .2s;
  box-shadow: 0 4px 16px rgba(237,130,88,.35);
}
.sb-btn:hover {
  background: var(--sb-terra-deep);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(237,130,88,.45);
}
.sb-btn--outline {
  background: transparent;
  color: var(--sb-terra) !important;
  border: 2px solid var(--sb-terra);
  box-shadow: none;
}
.sb-btn--outline:hover {
  background: var(--sb-terra-pale);
}
.sb-btn--sage {
  background: var(--sb-sage-deep);
  box-shadow: 0 4px 16px rgba(92,148,138,.35);
}
.sb-btn--sage:hover {
  background: var(--sb-sage);
}

/* ═══════════════════════════════════════════
   CARDS — RECURSOS Y PROGRAMAS
═══════════════════════════════════════════ */
.sb-card {
  background: var(--sb-white);
  border-radius: 16px;
  border: 1px solid var(--sb-divider);
  padding: 28px 24px;
  transition: transform .2s, box-shadow .2s, border-color .2s;
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 100%;
}
.sb-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(237,130,88,.12);
  border-color: var(--sb-terra-light);
}
.sb-card__badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  width: fit-content;
}
.sb-card__badge--test {
  background: var(--sb-sage-pale);
  color: var(--sb-sage-deep);
}
.sb-card__badge--programa {
  background: var(--sb-terra-pale);
  color: var(--sb-terra-deep);
}
.sb-card__badge--gratuito {
  background: #E8F5E9;
  color: #2E7D32;
}
.sb-card__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(18px, 2.5vw, 22px);
  font-weight: 600;
  color: var(--sb-ink);
  line-height: 1.25;
  margin: 0;
}
.sb-card__desc {
  font-size: 14px;
  line-height: 1.75;
  color: var(--sb-ink-soft);
  flex: 1;
  margin: 0;
}
.sb-card__price {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 28px;
  font-weight: 700;
  color: var(--sb-terra-deep);
}
.sb-card__price-was {
  font-size: 14px;
  color: var(--sb-ink-soft);
  text-decoration: line-through;
  opacity: .6;
  margin-right: 8px;
}
.sb-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 14px;
  border-top: 1px solid var(--sb-divider);
  margin-top: auto;
}
.sb-card__link {
  font-size: 13px;
  font-weight: 500;
  color: var(--sb-terra-deep);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: color .15s;
}
.sb-card__link:hover { color: var(--sb-terra); }

/* ═══════════════════════════════════════════
   GRIDS
═══════════════════════════════════════════ */
.sb-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.sb-grid--2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 900px) {
  .sb-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .sb-grid--2 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .sb-grid {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════
   SECCIONES
═══════════════════════════════════════════ */
.sb-section {
  padding: 72px 24px;
}
.sb-section--cream { background: var(--sb-cream); }
.sb-section--white { background: var(--sb-white); }
.sb-section--sage  { background: var(--sb-sage-pale); }
.sb-section--terra { background: var(--sb-terra-pale); }

.sb-section__eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sb-terra-deep);
  margin-bottom: 12px;
  display: block;
}
.sb-section__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(28px, 5vw, 44px);
  font-weight: 500;
  line-height: 1.15;
  color: var(--sb-ink);
  margin-bottom: 16px;
}
.sb-section__title em {
  font-style: italic;
  color: var(--sb-terra-deep);
}
.sb-section__desc {
  font-size: 16px;
  line-height: 1.85;
  color: var(--sb-ink-soft);
  max-width: 640px;
}

/* ═══════════════════════════════════════════
   WRAP
═══════════════════════════════════════════ */
.sb-wrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
}
.sb-wrap--narrow { max-width: 720px; margin: 0 auto; padding: 0 24px; }

/* ═══════════════════════════════════════════
   WHATSAPP FLOAT BUTTON
═══════════════════════════════════════════ */
.sb-whatsapp-float {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 56px;
  height: 56px;
  background: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,.4);
  z-index: 9999;
  transition: transform .2s, box-shadow .2s;
  text-decoration: none;
}
.sb-whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 28px rgba(37,211,102,.5);
}
.sb-whatsapp-float svg { width: 28px; height: 28px; }

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media (max-width: 768px) {
  .sb-section { padding: 48px 16px; }
  .sb-grid { grid-template-columns: 1fr; }
  .sb-grid--2 { grid-template-columns: 1fr; }
}
/* ═══════════════════════════════════════════
   TESTIMONIOS
═══════════════════════════════════════════ */
.sb-testimonios-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}
.sb-testimonio-card {
  background: var(--sb-white);
  border-radius: 16px;
  border: 1px solid var(--sb-divider);
  padding: 28px 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform .2s, box-shadow .2s;
}
.sb-testimonio-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 28px rgba(237,130,88,.1);
}
.sb-testimonio-quote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 56px;
  line-height: .8;
  color: var(--sb-terra-light);
  font-weight: 700;
}
.sb-testimonio-texto {
  font-size: 15px;
  line-height: 1.82;
  color: var(--sb-ink-mid);
  flex: 1;
  font-style: italic;
}
.sb-testimonio-footer {
  padding-top: 14px;
  border-top: 1px solid var(--sb-divider);
}
.sb-testimonio-nombre {
  font-size: 14px;
  font-weight: 600;
  color: var(--sb-ink);
}
.sb-testimonio-programa {
  font-size: 12px;
  color: var(--sb-terra-deep);
  font-weight: 500;
  letter-spacing: .04em;
  margin-top: 2px;
}
@media (max-width: 768px) {
  .sb-testimonios-grid { grid-template-columns: 1fr; }
}

