/* Globocare / Globo Care Solutions — brand tokens and base */
:root {
    --gc-teal-light: #00a99d;
    --gc-teal-mid: #0d9488;
    --gc-teal-dark: #007179;
    --gc-orange-light: #fbb03b;
    --gc-orange-dark: #f7931e;
    --gc-navy: #0f2744;
    --gc-navy-soft: #1a3a5c;
    --gc-body: #1e293b;
    --gc-muted: #64748b;
    --gc-max-width: 1280px;
    --bs-primary: var(--gc-teal-mid);
    --bs-primary-rgb: 13, 148, 136;
    --bs-link-color: var(--gc-teal-dark);
    --bs-link-hover-color: var(--gc-orange-dark);
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    color: var(--gc-body);
    background-color: #f1f5f9;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.navbar-brand,
.gc-section-title,
.gc-brand__line1,
.gc-brand__line2 {
    font-family: "Montserrat", "Poppins", system-ui, sans-serif;
}

.gc-container {
    max-width: var(--gc-max-width);
}

a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.navbar-toggler:focus-visible,
.dropdown-toggle:focus-visible {
    outline: 3px solid var(--gc-orange-light);
    outline-offset: 2px;
}

.btn {
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.btn:active:not(:disabled) {
    transform: translateY(1px);
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--gc-teal-mid);
    --bs-btn-border-color: var(--gc-teal-dark);
    --bs-btn-hover-bg: var(--gc-teal-dark);
    --bs-btn-hover-border-color: #005a5c;
    --bs-btn-active-bg: var(--gc-teal-dark);
    --bs-btn-focus-shadow-rgb: 0, 113, 121;
}

.btn-outline-primary {
    --bs-btn-color: var(--gc-teal-dark);
    --bs-btn-border-color: var(--gc-teal-mid);
    --bs-btn-hover-bg: var(--gc-teal-mid);
    --bs-btn-hover-border-color: var(--gc-teal-dark);
}

.btn-outline-light:hover {
    color: var(--gc-navy) !important;
    background-color: #fff !important;
    border-color: #fff !important;
}

.btn-accent {
    --bs-btn-color: #1a0f00;
    --bs-btn-bg: linear-gradient(180deg, var(--gc-orange-light) 0%, var(--gc-orange-dark) 100%);
    background: linear-gradient(180deg, var(--gc-orange-light) 0%, var(--gc-orange-dark) 100%);
    border: none;
    font-weight: 600;
    box-shadow: 0 0.15rem 0.5rem rgba(247, 147, 30, 0.35);
}

.btn-accent:hover {
    filter: brightness(1.05);
    box-shadow: 0 0.35rem 0.85rem rgba(247, 147, 30, 0.45);
    color: #1a0f00;
}

.btn-accent:focus-visible {
    outline-color: var(--gc-teal-light);
}

.letter-spacing-sm {
    letter-spacing: 0.08em;
}
