/* ===== Tema Lupita Villa (lavanda, cielo, dorado) ===== */
    body.theme-angel{
      --primary:#2a1c33;         /* texto principal */
      --accent:#c09ff0;          /* lavanda */
      --accent2:#8ad7ff;         /* azul cielo */
      --aurum:#e6c36a;           /* dorado suave (CTAs) */
      --muted:#fbf8ff;           /* fondo claro */
      --dark:#1a1320;            /* footer */
      --halo: radial-gradient(55% 55% at 50% 35%, rgba(255,255,255,.9), rgba(192,159,240,.45) 35%, rgba(138,215,255,.35) 55%, transparent 70%);
    }

    :root{ --navH:74px; scroll-padding-top:var(--navH) }

    /* NAVBAR */
    .nav-angel{
      background:#fff; border-bottom:3px solid var(--accent2);
      box-shadow:0 10px 32px rgba(50,50,93,.08);
    }
    .nav-angel .navbar-brand{display:flex;align-items:center;gap:.6rem;color:var(--primary)!important;font-weight:900}
    .nav-angel .nav-link{color:#4a4f57!important;font-weight:700}
    .nav-angel .nav-link:hover{color:var(--accent)!important}

    /* HERO ANGELICAL */
    .hero-angel{
      position:relative; padding-top:calc(var(--navH) + 2rem); padding-bottom:4.6rem; color:#271936; overflow:hidden;
      background:
        radial-gradient(80% 80% at 20% 15%, rgba(192,159,240,.35), transparent 60%),
        radial-gradient(80% 80% at 80% 25%, rgba(138,215,255,.25), transparent 60%),
        linear-gradient(180deg, #fff 0%, #f5efff 45%, #eaf8ff 100%);
    }
    .halo{ position:absolute; inset:auto -140px -80px auto; width:320px; height:320px; opacity:.22; filter:blur(0.5px); }
    .halo::before{ content:""; position:absolute; inset:0; border-radius:50%; background:var(--halo) }
    @media (max-width: 991.98px){ .halo{ display:none } }
    .hero-title{font-weight:900; letter-spacing:.3px}
    .hero-sub{opacity:.95}
    .wave-bottom{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:120px;display:block}
    .wave-bottom path{fill:var(--muted)}

    /* BOTONES */
    .btn-pill{border-radius:999px;padding:.72rem 1.2rem;font-weight:900}
    .btn-aurum{
      --bs-btn-color:#2b1c00; --bs-btn-bg:var(--aurum); --bs-btn-border-color:var(--aurum);
      --bs-btn-hover-bg:#f1d785; --bs-btn-hover-border-color:#f1d785; --bs-btn-active-bg:#dbbb59;
      box-shadow:0 14px 30px rgba(230,195,106,.28);
    }
    .btn-sky{
      --bs-btn-color:#0b2233; --bs-btn-bg:var(--accent2); --bs-btn-border-color:var(--accent2);
      --bs-btn-hover-bg:#a9e3ff; --bs-btn-hover-border-color:#a9e3ff; --bs-btn-active-bg:#7bcdf5;
      box-shadow:0 14px 30px rgba(138,215,255,.28);
    }
    .btn-ghost{
      --bs-btn-color:#3b2b45; --bs-btn-bg:transparent; --bs-btn-border-color:#3b2b45;
      --bs-btn-hover-bg:rgba(59,43,69,.08); --bs-btn-hover-border-color:#3b2b45; border-width:2px;
    }

    /* SECCIONES */
    .py-6{padding-block:4.8rem}
    .section-head{font-weight:900;letter-spacing:.2px;color:var(--primary)}
    .section-head::after{content:"";display:block;width:160px;height:4px;margin:.6rem auto 0;background:linear-gradient(90deg,var(--accent),var(--aurum))}
    .bg-muted{background:var(--muted)!important}
    .card-soft{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:1.05rem;box-shadow:0 12px 28px rgba(0,0,0,.08)}

    /* SERVICIOS XL */
    .svc-card{padding:1.5rem; transition:.15s; border:1px solid rgba(0,0,0,.06)}
    .svc-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,0,0,.14);border-color:rgba(192,159,240,.45)}
    .svc-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin-bottom:.8rem;font-size:1.6rem;color:#2a1c33;
      background:radial-gradient(65% 65% at 40% 30%, #fff, var(--accent)); border:2px solid color-mix(in oklab, var(--accent) 55%, #fff);}

    /* PAQUETES */
    .pack-card{
      background:linear-gradient(#fff,#fff) padding-box,
                 linear-gradient(135deg,var(--accent),var(--aurum)) border-box;
      border:2px solid transparent;border-radius:1.1rem;padding:1.25rem;
      box-shadow:0 12px 28px rgba(0,0,0,.08);
    }
    .pack-badge{
      display:inline-block;background:linear-gradient(90deg,var(--accent),var(--aurum));
      color:#2b1c00;font-weight:900;padding:.38rem .75rem;border-radius:.75rem;margin-bottom:.8rem
    }
    .pack-list{margin:0 0 1rem 0;padding-left:1.1rem}
    .pack-list li{margin:.35rem 0}

    /* QUIÉN SOY */
    .about-pic{
      border-radius:1.2rem; overflow:hidden; box-shadow:0 16px 44px rgba(0,0,0,.12);
      border:2px solid rgba(192,159,240,.4)
    }

    /* PROCESO */
    .step-card{padding:1.25rem;text-align:center}
    .step-num{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin:.2rem auto .6rem;background:linear-gradient(135deg,var(--accent),var(--aurum));color:#2b1c00;font-weight:900}

    /* TESTIMONIOS */
    .testi-inner{max-width:860px;margin:auto}
    .testi-quote{
      background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:1rem;padding:1.25rem 1.25rem 1rem;
      box-shadow:0 10px 26px rgba(0,0,0,.08); text-align:center; font-size:1.05rem
    }
    .testi-quote footer{margin-top:.6rem;color:#7b7f88}

    /* FAQ */
    .faq .accordion-button:not(.collapsed){color:#2a1c33;background:rgba(192,159,240,.12);box-shadow:none}

    /* CONTACTO / RD */
    .contact-card{padding:1.5rem}
    .rd-mailform .form-input{height:48px;border-radius:.7rem;border:1px solid #d9dbe0;background:#fff;padding:0 14px;outline:0;transition:border-color .15s, box-shadow .15s}
    .rd-mailform textarea.form-input{height:130px;padding:12px 14px;resize:vertical}
    .rd-mailform .form-input:focus{border-color:#a27bd9;box-shadow:0 0 0 .2rem rgba(162,123,217,.18)}

    /* Whatsapp-fancy */
    .whatsapp-fancy{position:fixed;left:18px;bottom:18px;z-index:9999;display:inline-flex;align-items:center;gap:.5rem;background:#25D366;color:#0b2;padding:.65rem 1rem;border-radius:999px;font-weight:800;box-shadow:0 10px 26px rgba(0,0,0,.25);transition:transform .2s,background .2s}
    .whatsapp-fancy:hover{transform:scale(1.04);background:linear-gradient(90deg, var(--accent), var(--aurum));color:#2b1c00}

    /* Snackbars */
    .snackbars{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:auto;max-width:380px;padding:14px 17px;background-color:#151515;color:#fff;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.25);z-index:9999;opacity:0;transition:opacity .3s,bottom .3s}
    .snackbars.show{opacity:1;bottom:40px}

    /* HERO: la ola siempre abajo, sin invertir y sin tapar CTAs */
.hero-angel{ padding-bottom:5.2rem; }
.hero-angel .container{ position:relative; z-index:2; }
.hero-angel .wave-bottom{ position:absolute; left:0; right:0; bottom:-1px; z-index:1; transform:none !important; }

/* Inputs alineados, textarea consistente */
.rd-mailform .form-input{
  height:52px;border-radius:.9rem;border:1px solid #e5e6ea;background:#fff;
  padding:0 16px;font-size:16px;transition:border-color .15s,box-shadow .15s
}
.rd-mailform textarea.form-input{height:140px;padding:14px 16px;resize:vertical}

/* Botón mismo estilo y alineación */
.rd-mailform .btn{height:52px;border-radius:999px;font-weight:900}

/* En desktop, empuja el botón al fondo de su columna */
@media (min-width: 992px){
  #contacto .d-grid{align-self:end}
}

/* (Opcional) sombras suaves del card */
.contact-card{
  border:1px solid rgba(0,0,0,.06);border-radius:1rem;box-shadow:0 12px 28px rgba(0,0,0,.08)
}
