:root {
    --primary-color: #0d6efd;
    --rgb-primary: 13, 110, 253;
    --secondary-color: #6c757d;
    --accent-color: #ffc107;
    --background-color: #ffffff;
    --background-light: #f8f9fa;
    --dark-background: #0b192f;
    --text-color: #212529;
    --text-color-light: #ffffff;
    --heading-font: 'Poppins', sans-serif;
    --body-font: 'Poppins', sans-serif;
    --border-radius: 0.375rem;
    --box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    --primary-hue: 211;
    --primary-saturation: 93%;
    --soft-primary-background: hsl(var(--primary-hue), var(--primary-saturation), 25%);

    --wave-h: clamp(100px, 12vw, 160px);
    --svc-py: clamp(2.5rem, 3.5vw, 4.5rem);
    --services-bg: hsl(var(--primary-hue), var(--primary-saturation), 25%);
    --background-shaped: var(--background-light) !important;
}

/* Themes */
.theme-alternate {
    --primary-color: #198754;
    --secondary-color: #495057;
    --accent-color: #fd7e14;
    --background-color: #fdfdfd;
    --background-light: #e9ecef;
    --text-color: #343a40;
    --background-shaped: var(--background-light) !important;
}

.theme-ocean-deep {
    --primary-color: #0b5ed7;
    --rgb-primary: 11, 94, 215;
    --secondary-color: #adb5bd;
    --accent-color: #ffc800;
    --background-color: #1a1a2e;
    --background-light: #2c3857;
    --dark-background: #0d1222;
    --text-color: #e9ecef;
    --text-color-light: #1a1a2e;
    --primary-hue: 220;
    --primary-saturation: 80%;
    --soft-primary-background: hsl(var(--primary-hue), var(--primary-saturation), 15%);
    --services-bg: var(--soft-primary-background);
    --background-shaped: var(--background-light) !important;
}

.theme-forest-green {
    --primary-color: #28a745;
    --rgb-primary: 40, 167, 69;
    --secondary-color: #6c757d;
    --accent-color: #fd7e14;
    --background-color: #f8fcf8;
    --background-light: #e6f1e6;
    --dark-background: #19692c;
    --text-color: #343a40;
    --text-color-light: #ffffff;
    --primary-hue: 140;
    --primary-saturation: 60%;
    --soft-primary-background: hsl(var(--primary-hue), var(--primary-saturation), 20%);
    --services-bg: var(--soft-primary-background);
    --background-shaped: var(--background-light) !important;
}

.theme-warm-sunset {
    --primary-color: #dc3545;
    --rgb-primary: 220, 53, 69;
    --secondary-color: #99a9bc;
    --accent-color: #ffda00;
    --background-color: #2b2d42;
    --background-light: #3d405b;
    --dark-background: #1e1f2b;
    --text-color: #edf2f4;
    --text-color-light: #1e1f2b;
    --primary-hue: 350;
    --primary-saturation: 70%;
    --soft-primary-background: hsl(var(--primary-hue), var(--primary-saturation), 20%);
    --services-bg: var(--soft-primary-background);
    --background-shaped: var(--background-light) !important;
}

.theme-lavender-breeze {
    --primary-color: #6f42c1;
    --rgb-primary: 111, 66, 193;
    --secondary-color: #6c757d;
    --accent-color: #e83e8c;
    --background-color: #fcfaff;
    --background-light: #f1e9ff;
    --dark-background: #462d7c;
    --text-color: #291e3b;
    --text-color-light: #ffffff;
    --primary-hue: 265;
    --primary-saturation: 60%;
    --soft-primary-background: hsl(var(--primary-hue), var(--primary-saturation), 25%);
    --services-bg: var(--soft-primary-background);
    --background-shaped: var(--background-light) !important;
}

.theme-industrial {
    --primary-color: #00bcd4;
    --rgb-primary: 0, 188, 212;
    --secondary-color: #ced4da;
    --accent-color: #ff6347;
    --background-color: #212529;
    --background-light: #343a40;
    --dark-background: #111111;
    --text-color: #f8f9fa;
    --text-color-light: #212529;
    --primary-hue: 187;
    --primary-saturation: 100%;
    --soft-primary-background: hsl(var(--primary-hue), var(--primary-saturation), 10%);
    --services-bg: var(--soft-primary-background);
    --background-shaped: var(--background-light) !important;
}

.theme-yellow-submarine {
    --primary-color: #007bff;
    --rgb-primary: 0, 123, 255;
    --secondary-color: #5a6268;
    --accent-color: #ffc107;
    --background-color: #fffdf6;
    --background-light: #fff3cd;
    --dark-background: #002d5c;
    --text-color: #212529;
    --text-color-light: #ffffff;
    --primary-hue: 200;
    --primary-saturation: 90%;
    --soft-primary-background: hsl(var(--primary-hue), var(--primary-saturation), 20%);
    --services-bg: var(--soft-primary-background);
    --background-shaped: var(--background-light) !important;
}

.theme-kids-playground {
    --primary-color: #ff8c00;
    --rgb-primary: 255, 140, 0;
    --secondary-color: #008080;
    --accent-color: #ff69b4;
    --background-color: #fafff0;
    --background-light: #fff0d1;
    --dark-background: #ff8c00;
    --text-color: #333333;
    --text-color-light: #ffffff;
    --primary-hue: 150;
    --primary-saturation: 80%;
    --soft-primary-background: hsl(var(--primary-hue), var(--primary-saturation), 20%);
    --services-bg: var(--soft-primary-background);
    --background-shaped: var(--background-light) !important;
}

.theme-modern-black {
    --primary-color: #00f0ff;
    --rgb-primary: 0, 240, 255;
    --secondary-color: #a9b2c3;
    --accent-color: #39ff14;
    --background-color: #0a0a0a;
    --background-light: #1c1c1c;
    --dark-background: #000000;
    --text-color: #ffffff;
    --text-color-light: #0a0a0a;
    --primary-hue: 183;
    --primary-saturation: 100%;
    --soft-primary-background: hsl(var(--primary-hue), var(--primary-saturation), 5%);
    --services-bg: var(--soft-primary-background);
    --background-shaped: var(--background-light) !important;
}

.theme-earth-tone {
    --primary-color: #a0522d;
    --rgb-primary: 160, 82, 45;
    --secondary-color: #6b8e23;
    --accent-color: #ffb74d;
    --background-color: #fff8e1;
    --background-light: #fbeedc;
    --dark-background: #4e2918;
    --text-color: #5d4037;
    --text-color-light: #ffffff;
    --primary-hue: 20;
    --primary-saturation: 50%;
    --soft-primary-background: hsl(var(--primary-hue), var(--primary-saturation), 20%);
    --services-bg: var(--soft-primary-background);
    --background-shaped: var(--background-light) !important;
}

.theme-retro-teal {
    --primary-color: #00a896;
    --rgb-primary: 0, 168, 150;
    --secondary-color: #495057;
    --accent-color: #e63946;
    --background-color: #f1faee;
    --background-light: #d8e2e9;
    --dark-background: #007c70;
    --text-color: #2b2d42;
    --text-color-light: #ffffff;
    --primary-hue: 173;
    --primary-saturation: 100%;
    --soft-primary-background: hsl(var(--primary-hue), var(--primary-saturation), 15%);
    --services-bg: var(--soft-primary-background);
    --background-shaped: var(--background-light) !important;
}

.theme-deep-purple {
    --primary-color: #5c379a;
    --rgb-primary: 92, 55, 154;
    --secondary-color: #a491b8;
    --accent-color: #ffd700;
    --background-color: #130f40;
    --background-light: #2c256a;
    --dark-background: #080621;
    --text-color: #f7f7ff;
    --text-color-light: #130f40;
    --primary-hue: 250;
    --primary-saturation: 60%;
    --soft-primary-background: hsl(var(--primary-hue), var(--primary-saturation), 10%);
    --services-bg: var(--soft-primary-background);
    --background-shaped: var(--background-light) !important;
}

.theme-sunny-yellow {
    --primary-color: #ffc107;
    --rgb-primary: 255, 193, 7;
    --secondary-color: #192a56;
    --accent-color: #ff6348;
    --background-color: #fffff0;
    --background-light: #fff9e6;
    --dark-background: #cc9900;
    --text-color: #212529;
    --text-color-light: #ffffff;
    --primary-hue: 220;
    --primary-saturation: 50%;
    --soft-primary-background: hsl(var(--primary-hue), var(--primary-saturation), 15%);
    --services-bg: var(--soft-primary-background);
    --background-shaped: var(--background-light) !important;
}

/* ============================================= */
/* AJUSTES NAS CLASSES BOOTSTRAP PARA GRAYSCALE */
/* ============================================= */
.theme-grayscale {
    --primary-color: #343a40;
    --rgb-primary: 52, 58, 64;
    --secondary-color: #6c757d;
    --accent-color: #212529;
    --background-color: #ffffff;
    --background-light: #f8f9fa;
    --dark-background: #111111;
    --text-color: #212529;
    --text-color-light: #ffffff;
    --primary-hue: 0;
    --primary-saturation: 0%;
    --soft-primary-background: #212529;
    --services-bg: var(--soft-primary-background);
    --background-shaped: var(--background-light) !important;
}

.theme-grayscale .text-primary{
    color: var(--primary-color) !important;
}
.theme-grayscale a, .theme-grayscale a:hover, .theme-grayscale a:focus, .theme-grayscale a:active, .theme-grayscale a:visited, .theme-grayscale button, .theme-grayscale .btn {
  color: var(--primary-color) !important;
  text-decoration: none;
}

.theme-grayscale .bg-dark a, .theme-grayscale .bg-dark a:hover, .theme-grayscale .bg-dark a:focus, .theme-grayscale .bg-dark a:active, .theme-grayscale .bg-dark a:visited, .theme-grayscale .bg-dark button, .theme-grayscale .bg-dark .btn {
  color: var(--text-color-light) !important;
  text-decoration: none;
}

.theme-grayscale button:hover, .theme-grayscale .btn:hover {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--text-color-light) !important;
    text-decoration: none;
}
.theme-grayscale .btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--text-color-light) !important;
}

.theme-grayscale .bg-primary {
    background-color: var(--primary-color) !important;
}

.theme-grayscale .text-secondary {
    color: var(--secondary-color) !important;
}
.theme-grayscale .text-accent {
    color: var(--accent-color) !important;
}

.theme-grayscale .text-warning {
    color: var(--accent-color) !important;
}

.theme-grayscale .text-danger {
    color: var(--text-color) !important;
}

.theme-grayscale .bg-secondary {
    background-color: var(--secondary-color) !important;
}
.theme-grayscale .bg-accent {
    background-color: var(--accent-color) !important;
}

.theme-grayscale .bg-warning {
    background-color: var(--secondary-color) !important;
}
.theme-grayscale .bg-danger {
    background-color: var(--primary-color) !important;
}

.theme-grayscale .navbar.scrolled {
    background-color: rgba(255, 255, 255, 0.95) !important;
}


/* General Classes */
body {
    font-family: var(--body-font), sans-serif;
    color: var(--text-color);
    background-color: var(--background-color);
}
body, html {
    max-width: 100vw;
    overflow-x: hidden;
}
/* Trava o scroll da página quando o modal está aberto */
body.modal-open {
    overflow: hidden !important;
}

.page-wrapper {
    overflow-x: hidden;
    position: relative;
}

.btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}
.btn-primary:hover {
    opacity: 0.9;
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}
.text-primary {
    color: var(--primary-color) !important;
}
.bg-primary {
    background-color: var(--primary-color) !important;
}
.bg-light {
    background-color: var(--background-light) !important;
}

.section-title {
    font-family: var(--heading-font), sans-serif;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 0.5rem;
}
section {
    max-width: 100%;
}
