/* aDeal brand overrides — carica dopo app-modern.min.css (Hyper) in tutti i shell.
   Fonte di verità per colori brand, tipografia e reset componenti Bootstrap. */

:root {
    --bs-primary: #0078ef;
    --bs-primary-rgb: 0, 120, 239;
    --bs-link-color: #0078ef;
    --bs-link-hover-color: #0065c7;
    --bs-font-sans-serif: "Exo 2", sans-serif;
    --bs-body-font-family: "Exo 2", sans-serif;
}

body,
button,
input,
select,
textarea,
.btn,
.form-control,
.form-select,
.dropdown-menu,
.card,
.page-title {
    font-family: "Exo 2", sans-serif;
}

body,
p,
span,
label,
input,
select,
textarea,
.form-control,
.form-select,
.text-muted,
.small,
small {
    font-weight: 400 !important;
}

h1, h2, h3, h4, h5, h6,
.page-title,
.card-title,
.header-title,
.side-nav-link span,
.btn,
.badge,
strong,
b {
    font-weight: 600 !important;
}

.fw-bold,
.fw-semibold {
    font-weight: 600 !important;
}

.page-title,
.header-title,
.card-title {
    letter-spacing: 0.01em;
}

/* Hyper hardcoda .btn con border-radius:.15rem, font-weight:400, padding — !important necessario */
.btn {
    border-radius: 999px !important;
    font-weight: 600 !important;
    padding: 0.5rem 1.1rem !important;
    box-shadow: none !important;
}

.btn-sm {
    padding: 0.4rem 0.9rem !important;
}

.btn-lg {
    padding: 0.65rem 1.4rem !important;
}

/* Hyper hardcoda a{color:#536de6} senza CSS variable — !important necessario */
a,
.page-link {
    color: #0078ef !important;
}

a:hover,
.page-link:hover {
    color: #0065c7 !important;
}

.btn-primary,
.btn-outline-primary:hover,
.btn-check:checked + .btn-outline-primary,
.btn-check:active + .btn-outline-primary,
.show > .btn-outline-primary.dropdown-toggle,
.show > .btn-primary.dropdown-toggle {
    background-color: #0078ef !important;
    border-color: #0078ef !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-check:checked + .btn-primary,
.btn-check:active + .btn-primary,
.show > .btn-primary.dropdown-toggle,
.nav-pills .nav-link.active,
.pagination .active > .page-link {
    background-color: #0065c7 !important;
    border-color: #0065c7 !important;
    color: #fff !important;
}

.btn-outline-primary,
.border-primary {
    border-color: #0078ef !important;
}

.btn-outline-primary {
    color: #0078ef !important;
}

.bg-soft-primary {
    background-color: rgba(0, 120, 239, 0.14);
    color: #0078ef;
}

/* Hyper hardcoda border-color:#c8cbcf su :focus — override via cascade (carica dopo Hyper) */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: #0078ef;
    box-shadow: 0 0 0 0.15rem rgba(0, 120, 239, 0.16);
}

.form-check-input:checked,
.form-switch .form-check-input:checked,
.form-range::-webkit-slider-thumb {
    background-color: #0078ef !important;
    border-color: #0078ef !important;
}

/* Ion Range Slider */
.irs--flat .irs-bar,
.irs--flat .irs-from,
.irs--flat .irs-single,
.irs--flat .irs-to {
    background-color: #0078ef !important;
}

.irs--flat .irs-from:before,
.irs--flat .irs-single:before,
.irs--flat .irs-to:before {
    border-top-color: #0078ef !important;
}

.irs--flat .irs-handle > i:first-child {
    background-color: #0065c7 !important;
}

/* Landing contact form */
.contact-card {
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.contact-card .form-control {
    border-radius: 12px;
    padding: 10px 14px;
}

@media (max-width: 767.98px) {
    .contact-card .card-body {
        padding: 1rem !important;
    }
}
