/* Paleta */
:root{
  --rosa:#d98c96;
  --rosado-oscuro:#8a4a52;
  --gris:#2a2a2a;
  --fondo:#0f0f10;
  --texto:#f5f5f5;
  --texto-dim:#d0cfd1;
}

*{ box-sizing:border-box }

/* App base */
.bg-app{ background:var(--fondo) !important; }
.text-body{ color:var(--texto) !important; }
a{ text-decoration:none }
a:hover{ text-decoration:underline }

/* Topbar */
.topbar{ background:#19191b; color:var(--texto-dim); border-bottom:1px solid #222; }

/* Header + brand (sticky) */
.site-header{
  position:sticky; top:0; z-index:1030;
  backdrop-filter:saturate(140%) blur(8px);
  background:linear-gradient(180deg, rgba(15,15,16,.8), rgba(15,15,16,.65));
  border-bottom:1px solid rgba(217,140,150,.15);
}
.brand-title{ font-weight:800; letter-spacing:.4px; color:var(--texto); }
.nav-link-custom{ color:var(--texto-dim); }
.nav-link-custom:hover{ color:#fff; }
.btn-ghost{ background:none; color:#fff; border:1px solid rgba(255,255,255,.2) }

/* Buttons */
.btn-cta{
  background-color:var(--rosa);
  border-color:var(--rosa);
  color:#111;
  border-radius:999px;
  padding:.55rem 1rem;
  box-shadow:0 8px 24px rgba(217,140,150,.3);
  transition:transform .15s ease, box-shadow .2s ease, background-color .2s ease;
}
.btn-cta:hover{ transform:translateY(-1px); background:var(--rosado-oscuro); color:#fff; }
.btn-outline-brand{
  border-color:var(--rosa);
  color:var(--rosa);
  border-width:2px;
  border-radius:999px;
}
.btn-outline-brand:hover{ background:var(--rosa); color:#111; }

/* Hero */
.hero{
  min-height:62vh;
  display:flex; align-items:center;
  color:#fff;
  position:relative;
}
.hero-bg{
  position:absolute; inset:0;
  background:
    radial-gradient(800px 300px at 50% -10%, rgba(217,140,150,.35), transparent),
    radial-gradient(900px 500px at 80% 120%, rgba(138,74,82,.25), transparent),
    linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.88)),
    url("img/hero-texture.png");
  background-size:cover;
  filter:saturate(120%);
  opacity:1;
}
.fade-in{ opacity:0; animation:fadeIn .8s forwards ease-out }
.fade-in.delay-1{ animation-delay:.15s }
.fade-in.delay-2{ animation-delay:.3s }
@keyframes fadeIn{ to{ opacity:1; transform:none } }

/* Sections */
.section{ scroll-margin-top:92px; }
.section-title{ color:var(--rosa); font-weight:800; letter-spacing:.3px; }

/* Product cards */
.bg-soft{ background:#141416; }
.card.product{
  background:#1b1b1d;
  border:1px solid rgba(217,140,150,.18);
  border-radius:1rem;
  color:var(--texto);
  transition:transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}
.card.product:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(0,0,0,.35), 0 0 0 1px rgba(217,140,150,.15) inset;
  border-color:rgba(217,140,150,.35);
}
.image-cover{ width:100%; height:100%; object-fit:cover; }
.price{ color:#fff; font-weight:700; background:linear-gradient(90deg, var(--rosado-oscuro), var(--rosa)); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* Info highlights */
.card-glass{
  background: linear-gradient(180deg, rgba(217,140,150,.08), rgba(217,140,150,.04));
  border:1px solid rgba(217,140,150,.18);
  border-radius:1rem;
  color:var(--texto);
}
.list-check{ padding-left:1.25rem }
.list-check li{ margin:.4rem 0; position:relative; }
.list-check li::before{
  content:"✔"; position:absolute; left:-1.25rem; color:var(--rosa);
}

/* CTA strip */
.cta-strip{
  background:linear-gradient(90deg, rgba(138,74,82,.35), rgba(217,140,150,.25));
  border-top:1px solid rgba(217,140,150,.15);
  border-bottom:1px solid rgba(217,140,150,.15);
}

/* Form dark */
.form-control, .form-select{
  background:#131315;
  border:1px solid #2b2b2b;
  color:var(--texto);
}
.form-control:focus, .form-select:focus{
  border-color:var(--rosa);
  box-shadow:0 0 0 .2rem rgba(217,140,150,.15);
}
.form-label{ color:var(--texto-dim); }
.border-brand{ border-color:rgba(217,140,150,.25) !important; }

/* Footer */
.footer{ background:#0b0b0c; border-top:1px solid rgba(217,140,150,.15); color:#bdbdc0; }


/* FAQ accordion dark style */
.accordion-button{
  background-color:#1f1f1f;
  color:var(--texto);
}
.accordion-button:not(.collapsed){
  background-color:var(--rosado-oscuro);
  color:#fff;
}
.accordion-item{
  border:1px solid rgba(217,140,150,.25);
  border-radius:.5rem;
  margin-bottom:.5rem;
}

.smalltext-muted{
  color: #eca3ad;
}
