/* SOL WRAP custom theme (derived from supplied advert palette) */
:root{
  --solwrap-ink: #0B0F14;
  --solwrap-blue: #42505F;     /* deep blue-grey */
  --solwrap-blue-2: #7B838A;   /* mid grey-blue */
  --solwrap-grey: #ABAFB4;     /* soft grey */
  --solwrap-grey-2: #D2D6DB;   /* light grey */
  --solwrap-surface: #F7F8FA;
}

body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  color: var(--solwrap-ink);
  background: var(--solwrap-surface);
}

a{ color: var(--solwrap-blue); }
a:hover{ color: #2f3a46; }

.topbar{
  background: var(--solwrap-blue);
  color: rgba(255,255,255,.9);
  font-size: .95rem;
}
.topbar a{
  color: rgba(255,255,255,.92);
  text-decoration: none;
}
.topbar a:hover{
  color: #fff;
  text-decoration: underline;
}

.navbar-solwrap{
  background: #fff;
  border-bottom: 1px solid rgba(66,80,95,.15);
}
.navbar-solwrap .navbar-brand{
  font-weight: 800;
  letter-spacing: .3px;
  color: var(--solwrap-blue);
}
.navbar-solwrap .navbar-brand span{
  color: var(--solwrap-blue-2);
  font-weight: 800;
}
.navbar-solwrap .nav-link{
  color: #1c232b;
  font-weight: 600;
}
.navbar-solwrap .nav-link:hover,
.navbar-solwrap .nav-link:focus{
  color: var(--solwrap-blue);
}
.navbar-solwrap .nav-link.active{
  color: var(--solwrap-blue);
  position: relative;
}
.navbar-solwrap .nav-link.active::after{
  content:"";
  position:absolute;
  left:.75rem;
  right:.75rem;
  bottom:.35rem;
  height:2px;
  background: var(--solwrap-blue);
  border-radius: 2px;
  opacity:.9;
}

.btn-solwrap{
  --bs-btn-bg: var(--solwrap-blue);
  --bs-btn-border-color: var(--solwrap-blue);
  --bs-btn-hover-bg: #2f3a46;
  --bs-btn-hover-border-color: #2f3a46;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-focus-shadow-rgb: 66,80,95;
}
.btn-solwrap-outline{
  --bs-btn-color: var(--solwrap-blue);
  --bs-btn-border-color: var(--solwrap-blue);
  --bs-btn-hover-bg: var(--solwrap-blue);
  --bs-btn-hover-border-color: var(--solwrap-blue);
  --bs-btn-hover-color: #fff;
  --bs-btn-focus-shadow-rgb: 66,80,95;
}

.hero{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(1200px 600px at 10% 10%, rgba(66,80,95,.18), transparent 55%),
    radial-gradient(900px 500px at 80% 40%, rgba(123,131,138,.18), transparent 55%),
    linear-gradient(180deg, #fff, var(--solwrap-surface));
  border-bottom: 1px solid rgba(66,80,95,.12);
}
.hero .badge{
  background: rgba(66,80,95,.10);
  color: var(--solwrap-blue);
  border: 1px solid rgba(66,80,95,.18);
}
.hero-card{
  background:#fff;
  border: 1px solid rgba(66,80,95,.14);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(11,15,20,.08);
}

.icon-pill{
  width: 48px; height: 48px;
  border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(66,80,95,.12);
  color: var(--solwrap-blue);
}

.section-title{
  color: var(--solwrap-blue);
  font-weight: 800;
}
.muted{
  color: rgba(11,15,20,.72);
}

.card-soft{
  background: #fff;
  border: 1px solid rgba(66,80,95,.14);
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(11,15,20,.06);
}
.card-soft .card-header{
  background: rgba(210,214,219,.35);
  border-bottom: 1px solid rgba(66,80,95,.12);
}

.carousel-wrap{
  background: #fff;
  border: 1px solid rgba(66,80,95,.14);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(11,15,20,.06);
}
.carousel-caption{
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.55));
  left:0; right:0; bottom:0;
  padding: 2.5rem 1.25rem 1.25rem;
  text-align:left;
}
.carousel-caption h5{ font-weight: 800; }
.carousel-caption p{ margin-bottom: 0; }

.footer{
  background: #0f141b;
  color: rgba(255,255,255,.86);
}
.footer a{ color: rgba(255,255,255,.86); }
.footer a:hover{ color: #fff; }
.footer .small{ color: rgba(255,255,255,.62); }
