:root{
  --brand:#b22b78;
  --ink:#111827;
  --bg:#faf5ef;
  --card:#ffffff;
  --footer:#221923;
}

html, body { height: 100%; }

body{
  background: var(--bg);
  color: var(--ink);
  scroll-behavior:smooth;
}

.navbar{
  background: rgba(250,245,239,.92) !important;
  backdrop-filter: blur(10px);
}
.navbar-brand img{ height: 34px; width:auto; }
.nav-link{ font-weight: 500; }
.nav-link.active{ color: var(--brand) !important; }

.page-hero{
  width: 100%;
  min-height: 340px;
  padding: 78px 0 56px;
  background-size: cover;
  background-position: center;
  position: relative;
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(17,24,39,.76) 0%, rgba(17,24,39,.42) 55%, rgba(17,24,39,.18) 100%);
}
.page-hero .container{ position: relative; z-index: 1; }
.page-hero h1, .page-hero p{ color: #fff; }

.badge-soft{
  background: rgba(178,43,120,.14);
  color: var(--brand);
  border: 1px solid rgba(178,43,120,.22);
}

.btn-brand{
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
.btn-brand:hover{ filter:brightness(.95); }
.btn-outline-dark{ border-color: rgba(17,24,39,.35); }

.card{
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 18px;
  overflow: hidden;
}
.card-hover{ transition:transform .15s ease, box-shadow .15s ease; }
.card-hover:hover{ transform:translateY(-3px); box-shadow:0 1rem 2rem rgba(17,24,39,.10); }

.accordion-button{ font-weight: 600; }
.accordion-button:not(.collapsed){
  color: #fff;
  background-color: var(--brand);
}
.accordion-button:focus{ box-shadow: 0 0 0 .25rem rgba(178,43,120,.25); }
.accordion-item{
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 16px;
  overflow: hidden;
}
.accordion-item + .accordion-item{ margin-top: 10px; }

.small-muted{ color:#6b7280; }

.footer{
  background: var(--footer);
  color:#e5e7eb;
}
.footer a{ color:#f3f4f6; text-decoration:none; }
.footer a:hover{ text-decoration:underline; }
.footer .container{ max-width: 1140px; }

/* Cookie banner */
.cookie-banner{
  position: fixed;
  inset: auto 0 0 0;
  z-index: 1050;
  background: rgba(17,24,39,.92);
  color: #fff;
  padding: 14px 0;
  backdrop-filter: blur(10px);
}
.cookie-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
}
.cookie-banner a{ color:#fff; }
@media (max-width: 768px){
  .cookie-inner{ flex-direction: column; align-items: flex-start; }
}

.dropdown-menu .dropdown-item{ text-transform: none; }

/* Ajustes solicitados */
.navbar{min-height:100px;}
.page-hero{min-height:550px;}
