:root {
  --brand-green: #2F8F3A;
  --brand-red: #C62828;
  --brand-dark: #0F172A;
}

html {
  scroll-behavior: smooth;
}

body {
  color: #111;
}

.text-muted {
  color: #4b5563 !important;
}

.navbar-brand img {
  height: 34px;
}

.hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(1200px 500px at 10% 10%, rgba(47,143,58,.18), transparent 55%),
              radial-gradient(900px 450px at 80% 20%, rgba(198,40,40,.12), transparent 60%),
              linear-gradient(180deg, #ffffff, #f7faf8);
}

.hero::after {
  content: "";
  position: absolute;
  inset: -2px;
  background:
    radial-gradient(800px 420px at 70% 120%, rgba(47,143,58,.20), transparent 55%);
  pointer-events: none;
}

.hero .container {
  position: relative;
  z-index: 1;
}

.badge-brand {
  background: rgba(47,143,58,.12);
  color: var(--brand-green);
  border: 1px solid rgba(47,143,58,.25);
}

.section-title {
  letter-spacing: -0.02em;
}

.card-hover {
  transition: transform .15s ease, box-shadow .15s ease;
}
.card-hover:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(15,23,42,.08);
}

.city-card.active,
.city-card.active:focus,
.city-card.active:focus-visible {
  outline: 3px solid rgba(47,143,58,.28);
  outline-offset: 2px;
  box-shadow: 0 12px 30px rgba(47,143,58,.12);
  border-color: rgba(47,143,58,.35);
}

.apteka-actions .btn {
  white-space: nowrap;
}

.footer {
  background: #0b1220;
  color: rgba(255,255,255,.82);
}
.footer a {
  color: rgba(255,255,255,.86);
}
.footer a:hover {
  color: #fff;
}

#backToTop {
  position: fixed;
  right: 18px;
  bottom: 18px;
  display: none;
  z-index: 1030;
}


/* Bootstrap overrides: RED as primary, GREEN as secondary */
.btn-primary,
.bg-primary {
  background-color: var(--brand-red) !important;
  border-color: var(--brand-red) !important;
}
.text-primary {
  color: var(--brand-red) !important;
}

.btn-outline-primary {
  color: var(--brand-red) !important;
  border-color: var(--brand-red) !important;
}
.btn-outline-primary:hover {
  background-color: var(--brand-red) !important;
  color: #fff !important;
}

.badge-brand {
  background: rgba(47,143,58,.12);
  color: var(--brand-green);
  border: 1px solid rgba(47,143,58,.25);
}

.card-img-top{height:240px;object-fit:cover;}

.section-logo{
  width: 22px;
  height: 22px;
  object-fit: contain;
  border-radius: 4px;
}
.hero-logo{
  width: 28px;
  height: 28px;
  object-fit: contain;
  border-radius: 6px;
  vertical-align: -4px;
}
.city-logo{
  width: 18px;
  height: 18px;
  object-fit: contain;
  border-radius: 4px;
  vertical-align: -3px;
}
.badge-city{
  background: rgba(47,143,58,.14);
  color: #2F8F3A;
  border: 1px solid rgba(47,143,58,.35);
}

.hero-carousel-img{ height: 420px;
  object-fit: cover;
}
@media (max-width: 991.98px){
  .hero-carousel-img{ height: 420px; }
}
