/* LavisTech brand overrides on top of Dewi */
:root {
  --accent-color: #2b59ff;
  --heading-color: #172033;
  --nav-hover-color: #2b59ff;
  --nav-dropdown-hover-color: #2b59ff;
}

.header .cta-btn,
.header .cta-btn:focus {
  background: var(--accent-color);
}

.hero .btn-get-started,
.btn-get-started {
  background: var(--accent-color);
  color: #fff;
  border-radius: 4px;
  padding: 10px 28px;
  font-weight: 600;
}

.hero .btn-get-started:hover,
.btn-get-started:hover {
  background: color-mix(in srgb, var(--accent-color), #000 12%);
  color: #fff;
}

.login-card {
  background: #fff;
  border: 1px solid #e1e6ee;
  border-radius: 16px;
  padding: 28px;
  width: min(440px, 100%);
  margin: 120px auto 60px;
}

.login-card .login-form {
  padding: 0;
  border: 0;
  background: transparent;
  margin: 0 0 8px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.login-card .login-form .btn {
  margin-top: 10px;
  align-self: flex-start;
}

.login-card label {
  font-weight: 700;
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.login-card input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #d9dfe8;
  border-radius: 10px;
  font: inherit;
}

.contact .php-email-form button[type=submit] {
  background: var(--accent-color);
  border: 0;
  padding: 12px 36px;
  color: #fff;
  border-radius: 4px;
  font-weight: 600;
}

.portfolio-details .portfolio-info .btn-visit {
  background: var(--accent-color);
  color: #fff;
  padding: 8px 16px;
  display: inline-block;
  border-radius: 4px;
  margin-top: 8px;
}

.login-card .btn-primary {
  background: var(--accent-color);
  color: #fff;
  border: 0;
  border-radius: 4px;
  padding: 12px 22px;
  font-weight: 700;
  cursor: pointer;
}
.validation { color: #b42318; }
.text-link { font-weight: 700; color: var(--accent-color); }
.health-banner { display:flex; gap:16px; align-items:center; flex-wrap:wrap; padding:18px 22px; border-radius:14px; margin-bottom:22px; font-weight:700; }
.health-ok { background:#e8f8ef; color:#0f7b3b; border:1px solid #b7e4c7; }
.health-fail { background:#fdecec; color:#b42318; border:1px solid #f2c2c2; }
.health-meta { color:#687386; font-size:13px; }
.admin-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:25px; }
.admin-card { background:#fff; border:1px solid #e1e6ee; border-radius:16px; padding:25px; margin-bottom:20px; }
.admin-card strong { font-size:28px; display:block; }
.admin-card span { color:#687386; }
.admin-card h2 { font-size:1.25rem; margin-bottom:12px; }
.page-content, .content {
  max-width: 860px;
}
.page-content img, .content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.alert { padding: 14px 18px; border-radius: 8px; margin-bottom: 18px; }
.alert-success { background:#e8f8ef; color:#0f7b3b; border:1px solid #b7e4c7; }
.alert-danger { background:#fdecec; color:#b42318; border:1px solid #f2c2c2; }
@media (max-width: 900px) {
  .admin-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 600px) {
  .admin-grid { grid-template-columns:1fr; }
}
