/* Caratore brand theme (May 2026 brand guidelines)
   Slate Blue #2F334E (primary) | Dark Navy #171928 (secondary) | Gold #E2B279 (accent)
   Ivory #F6F1EA (background)    | Charcoal #3F434A (text)
   Loaded after each layout's own stylesheets. */

:root {
  --caratore-slate: #2F334E;
  --caratore-navy: #171928;
  --caratore-gold: #E2B279;
  --caratore-ivory: #F6F1EA;
  --caratore-charcoal: #3F434A;
}

/* Primary typeface: Helvetica Neue (system fallback stack; no webfont is bundled).
   Icon fonts use ::before pseudo-elements, so they are not affected. */
body, h1, h2, h3, h4, h5, h6, p, a, span, li, button, input, select, textarea,
label, td, th, small, strong, div {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

/* Logo sizing: keep the wordmark at or above the 65px minimum digital size */
nav .logo { width: auto; min-width: 180px; max-width: 260px; }
nav .logo img { width: 100%; padding-top: 0 !important; height: auto; }
.site-logo img { height: auto; width: 190px; max-width: 100%; }
.ftr-logo .ftr-log-img { width: 70%; }
.ftr-logo .ftr-log-img img { width: 100%; max-width: 260px; }

/* "Powered by MGW" line */
.powered-by {
  font-size: 14px !important;
  line-height: 22px !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--caratore-gold) !important;
  margin: 0;
}
.powered-by strong { font-weight: 700; }

/* Body copy colour */
p { color: var(--caratore-charcoal); }
footer p, footer a, .card-plans p, .scan-box p { color: #fff; }

/* Admin panel: dark header and login panel so the gold wordmark stands out */
#header.header { background-color: var(--caratore-navy); }
.logo-main { background-color: var(--caratore-navy) !important; }
.logo-main .logo img { width: 560px !important; max-width: 88% !important; max-height: none !important; height: auto !important; padding: 0 !important; }

/* Buttons and links: brand colours (Bootstrap + admin panel) */
.btn-primary, .btn-primary:focus, .login button, .login .submit-sec a {
  background-color: var(--caratore-slate) !important;
  border-color: var(--caratore-slate) !important;
  color: #fff !important;
}
.btn-primary:hover, .btn-primary:active, .login button:hover, .login .submit-sec a:hover {
  background-color: var(--caratore-navy) !important;
  border-color: var(--caratore-navy) !important;
  color: var(--caratore-gold) !important;
}
.btn-outline-primary { color: var(--caratore-slate) !important; border-color: var(--caratore-slate) !important; }
.btn-outline-primary:hover { background-color: var(--caratore-slate) !important; color: #fff !important; }
.text-primary, .login h2, .login-page h2 { color: var(--caratore-slate) !important; }
.bg-primary, .badge.bg-primary { background-color: var(--caratore-slate) !important; }
a { color: var(--caratore-slate); }
.login input:focus, .form-control:focus, .form-select:focus {
  border-color: var(--caratore-gold) !important;
  box-shadow: 0 0 0 .2rem rgba(226,178,121,.25) !important;
}
input[type=checkbox]:checked, .form-check-input:checked { background-color: var(--caratore-slate); border-color: var(--caratore-slate); accent-color: var(--caratore-slate); }
