:root {
  --background: 0 0% 100%;
  --foreground: 215 29% 23%;
  --card: 0 0% 100%;
  --card-foreground: 215 29% 23%;
  --popover: 0 0% 100%;
  --popover-foreground: 215 29% 23%;
  --primary: 210 67% 21%;
  --primary-foreground: 0 0% 100%;
  --primary-glow: 207 52% 31%;
  --secondary: 210 29% 97%;
  --secondary-foreground: 215 35% 19%;
  --muted: 210 29% 97%;
  --muted-foreground: 215 15% 43%;
  --accent: 150 65% 34%;
  --accent-foreground: 0 0% 100%;
  --success: 150 65% 34%;
  --success-foreground: 0 0% 100%;
  --whatsapp: 150 65% 34%;
  --whatsapp-foreground: 0 0% 100%;
  --border: 214 24% 89%;
  --input: 214 24% 89%;
  --ring: 150 65% 34%;
  --radius: .5rem;
  --brand-warm: 28 80% 52%;
  --gradient-hero: linear-gradient(135deg, #12355B 0%, #0A223D 48%, #1E8E5A 100%);
  --gradient-subtle: linear-gradient(180deg, #F5F7FA 0%, #FFFFFF 100%);
  --gradient-accent: linear-gradient(135deg, #1E8E5A 0%, #17724A 50%, #E67E22 100%);
  --shadow-sm: 0 1px 2px 0 rgb(18 53 91 / .06);
  --shadow-md: 0 8px 18px -10px rgb(18 53 91 / .22);
  --shadow-lg: 0 18px 46px -24px rgb(18 53 91 / .34);
  --shadow-xl: 0 28px 70px -32px rgb(18 53 91 / .42);
  --shadow-glow: 0 0 34px rgb(230 126 34 / .28);
}

body {
  background:
    linear-gradient(180deg, #ffffff 0%, #f5f7fa 58%, #ffffff 100%);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: 0;
}

.rounded-2xl,
.rounded-xl {
  border-radius: .5rem;
}

header {
  box-shadow: 0 12px 34px -30px rgb(18 53 91 / .5);
}

header img[alt="CM CONTABIL"] {
  max-width: 248px;
  object-fit: contain;
}

footer {
  background:
    radial-gradient(circle at 12% 18%, rgb(30 142 90 / .24), transparent 32%),
    linear-gradient(145deg, #0A223D 0%, #12355B 52%, #0D2A49 100%);
}

.gradient-hero {
  background:
    radial-gradient(circle at 88% 12%, rgb(230 126 34 / .18), transparent 26%),
    var(--gradient-hero);
}

.gradient-accent {
  background: var(--gradient-accent);
}

.shadow-elegant {
  box-shadow: var(--shadow-lg);
}

.bg-card {
  box-shadow: 0 1px 0 rgb(18 53 91 / .03);
}

.bg-card:hover {
  box-shadow: var(--shadow-lg);
}

.border-border {
  border-color: hsl(var(--border));
}

input,
textarea {
  background-color: #fff;
}

input:focus-visible,
textarea:focus-visible {
  border-color: hsl(var(--accent));
  box-shadow: 0 0 0 3px rgb(30 142 90 / .14);
}

.text-accent {
  color: hsl(var(--brand-warm));
}

.bg-accent {
  background-color: hsl(var(--accent));
}

.hover\:text-accent:hover {
  color: hsl(var(--brand-warm));
}

.hover\:bg-accent\/10:hover {
  background-color: rgb(230 126 34 / .1);
}

.hover\:border-accent\/40:hover {
  border-color: rgb(230 126 34 / .45);
}

@media (max-width: 640px) {
  header img[alt="CM CONTABIL"] {
    max-width: 178px;
  }
}
