/* GETCHAUFFEUR CSS UTILITIES */
:root {

    /* Typography */
    --font-family-base: 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

    /* Brand – ANTRACITE */
    --primary-color: #2A2A2A;
    /* ANTRACITE SCURO */
    --primary-light: #3C3C3C;
    /* GRIGIO ANTRACITE */
    --primary-lighter: #E5E5E5;
    /* SILVER ANTRACITE */

    --secondary-color: #7A7A7A;
    /* GRIGIO MEDIO */
    --accent-color: #1C1C1C;
    /* NERO SOFT PREMIUM */

    /* Status */
    --success-color: #28A745;
    --success-light: #5CB85C;
    --warning-color: #FFC107;
    --warning-light: #FFCD39;
    --warning-dark: #856404;
    --danger-color: #DC3545;
    --danger-light: #E4606D;
    --info-color: #17A2B8;

    /* Base */
    --white: #FFFFFF;
    --black: #000000;
    --dark-color: #2A2A2A;
    --light-color: #E5E5E5;

    /* Black Opacity */
    --black-80: rgba(0, 0, 0, 0.8);
    --black-60: rgba(0, 0, 0, 0.6);
    --black-40: rgba(0, 0, 0, 0.4);
    --black-30: rgba(0, 0, 0, 0.3);
    --black-20: rgba(0, 0, 0, 0.2);
    --black-15: rgba(0, 0, 0, 0.15);
    --black-10: rgba(0, 0, 0, 0.1);

    /* Primary Opacity */
    --primary-10: rgba(42, 42, 42, 0.1);
    --primary-15: rgba(42, 42, 42, 0.15);
    --primary-20: rgba(42, 42, 42, 0.2);
    --primary-25: rgba(42, 42, 42, 0.25);
    --primary-30: rgba(42, 42, 42, 0.3);
    --primary-60: rgba(42, 42, 42, 0.6);
    --primary-70: rgba(42, 42, 42, 0.7);

    /* Light Primary Opacity */
    --primary-light-10: rgba(60, 60, 60, 0.1);
    --primary-light-20: rgba(60, 60, 60, 0.2);
    --primary-light-30: rgba(60, 60, 60, 0.3);

    --primary-lighter-05: rgba(229, 229, 229, 0.05);
    --primary-lighter-10: rgba(229, 229, 229, 0.1);
    --primary-lighter-20: rgba(229, 229, 229, 0.2);
    --primary-lighter-30: rgba(229, 229, 229, 0.3);

    /* Accent Opacity */
    --accent-10: rgba(28, 28, 28, 0.1);
    --accent-20: rgba(28, 28, 28, 0.2);

    /* Grayscale */
    --gray-50: #FAFAFA;
    --gray-100: #E5E5E5;
    --gray-200: #CCCCCC;
    --gray-300: #B3B3B3;
    --gray-400: #7A7A7A;
    --gray-500: #555555;
    --gray-900: #2A2A2A;

    /* Borders & Shadows */
    --border-color: #CCCCCC;
    --border-hover: #7A7A7A;
    --border-focus: #2A2A2A;
    --focus-shadow: rgba(42, 42, 42, 0.25);

    --card-shadow: 0 2px 8px rgba(42, 42, 42, 0.08);
    --card-shadow-hover: 0 8px 24px rgba(42, 42, 42, 0.15);

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #2A2A2A 0%, #555555 100%);
    --gradient-accent: linear-gradient(135deg, #CCCCCC 0%, #E5E5E5 100%);
    --gradient-light: linear-gradient(135deg, #E5E5E5 0%, #FAFAFA 100%);
    --gradient-bg: linear-gradient(135deg, #FAFAFA 0%, #FFFFFF 100%);

    /* Stats */
    --stat-blue: #2A2A2A;
    --stat-green: #3C3C3C;
    --stat-orange: #7A7A7A;
    --stat-purple: #E5E5E5;
}

/* Font size */
.fs-0 {
    font-size: 0;
}

.fs-9 {
    font-size: 9px;
}

.fs-10 {
    font-size: 10px;
}

.fs-11 {
    font-size: 11px;
}

.fs-12 {
    font-size: 12px;
}

.fs-13 {
    font-size: 13px;
}

.fs-14 {
    font-size: 14px;
}

.fs-15 {
    font-size: 15px;
}

.fs-16 {
    font-size: 16px;
}

.fs-17 {
    font-size: 17px;
}

.fs-18 {
    font-size: 18px;
}

.fs-19 {
    font-size: 19px;
}

.fs-20 {
    font-size: 20px;
}

.fs-22 {
    font-size: 22px;
}

.fs-24 {
    font-size: 24px;
    line-height: 32px;
}

.fs-26 {
    font-size: 26px;
    line-height: 38px;
}

.fs-28 {
    font-size: 1.75rem;
    line-height: 2.6rem;
}

.fs-30 {
    font-size: 1.875rem;
    line-height: 2.8rem;
}

.fs-32 {
    font-size: 2rem;
    line-height: 2.5rem;
}

.fs-34 {
    font-size: 2.125rem;
    line-height: 2.5rem;
}

.fs-36 {
    font-size: 2.25rem;
    line-height: 2.5rem;
}

.fs-38 {
    font-size: 2.375rem;
    line-height: 2.5rem;
}

.fs-40 {
    font-size: 2.5rem;
    line-height: 2.5rem;
}

.fs-45 {
    font-size: 2.813rem;
    line-height: 3rem;
}

.fs-50 {
    font-size: 3.125rem;
    line-height: 3.25rem;
}

.fs-55 {
    font-size: 3.438rem;
    line-height: 3.5rem;
}

.fs-60 {
    font-size: 3.75rem;
    line-height: 3.75rem;
}

.fs-65 {
    font-size: 4.063rem;
    line-height: 4.688rem;
}

.fs-70 {
    font-size: 4.375rem;
    line-height: 4.375rem;
}

.fs-75 {
    font-size: 4.668rem;
    line-height: 4.668rem;
}

.fs-80 {
    font-size: 5rem;
    line-height: 5rem;
}

/* Line height */
.lh-0px {
    line-height: 0px;
}

.lh-10 {
    line-height: 10px;
}

.lh-11 {
    line-height: 11px;
}

.lh-12 {
    line-height: 12px;
}

.lh-13 {
    line-height: 13px;
}

.lh-14 {
    line-height: 14px;
}

.lh-15 {
    line-height: 15px;
}

.lh-16 {
    line-height: 16px;
}

.lh-18 {
    line-height: 18px;
}

.lh-19 {
    line-height: 19px;
}

.lh-20 {
    line-height: 20px;
}

.lh-22 {
    line-height: 22px;
}

.lh-24 {
    line-height: 24px;
}

.lh-26 {
    line-height: 26px;
}

.lh-28 {
    line-height: 28px;
}

.lh-30 {
    line-height: 30px;
}

.lh-32 {
    line-height: 2rem;
}

.lh-34 {
    line-height: 2.125rem;
}

.lh-36 {
    line-height: 2.25rem;
}

.lh-38 {
    line-height: 2.375rem;
}

.lh-40 {
    line-height: 2.5rem;
}

.lh-42 {
    line-height: 2.625rem;
}

.lh-44 {
    line-height: 2.75rem;
}

.lh-46 {
    line-height: 2.875rem;
}

.lh-48 {
    line-height: 3rem;
}

.lh-50 {
    line-height: 3.125rem;
}

.lh-55 {
    line-height: 3.438rem;
}

.lh-60 {
    line-height: 3.75rem;
}

.lh-65 {
    line-height: 4.063rem;
}

.lh-70 {
    line-height: 4.375rem;
}

.lh-75 {
    line-height: 4.688rem;
}

.lh-80 {
    line-height: 5rem;
}

.lh-85 {
    line-height: 5.313rem;
}

.lh-90 {
    line-height: 5.625rem;
}

.lh-95 {
    line-height: 5.938rem;
}

.lh-100 {
    line-height: 6.25rem;
}

.lh-0 {
    line-height: 0;
}

.lh-normal {
    line-height: normal;
}

.lh-initial {
    line-height: initial;
}

.lh-inherit {
    line-height: inherit;
}

/* Text color */
/* Base */
.text-white,
.btn-link.text-white,
a.text-white-hover:hover {
    color: var(--white) !important;
}

.text-black,
.btn-link.text-black,
a.text-black-hover:hover {
    color: var(--black) !important;
}

/* Primari */
.text-primary,
.btn-link.text-primary,
a.text-primary-hover:hover {
    color: var(--primary-color) !important;
}

.text-primary-light,
.btn-link.text-primary-light,
a.text-primary-light-hover:hover {
    color: var(--primary-light) !important;
}

.text-primary-lighter,
.btn-link.text-primary-lighter,
a.text-primary-lighter-hover:hover {
    color: var(--primary-lighter) !important;
}

/* Accent */
.text-accent,
.btn-link.text-accent,
a.text-accent-hover:hover {
    color: var(--accent-color) !important;
}

/* Stato */
.text-success,
.btn-link.text-success,
a.text-success-hover:hover {
    color: var(--success-color) !important;
}

.text-warning,
.btn-link.text-warning,
a.text-warning-hover:hover {
    color: var(--warning-color) !important;
}

.text-danger,
.btn-link.text-danger,
a.text-danger-hover:hover {
    color: var(--danger-color) !important;
}

.text-info,
.btn-link.text-info,
a.text-info-hover:hover {
    color: var(--info-color) !important;
}

/* Neutro */
.text-dark,
.btn-link.text-dark,
a.text-dark-hover:hover {
    color: var(--dark-color) !important;
}

.text-light,
.btn-link.text-light,
a.text-light-hover:hover {
    color: var(--light-color) !important;
}


/* Letter spacing */
.ls-0px {
    letter-spacing: 0px !important;
}

.ls-05px {
    letter-spacing: 0.5px !important;
}

.ls-1px {
    letter-spacing: 1px !important;
}

.ls-2px {
    letter-spacing: 2px !important;
}

.ls-3px {
    letter-spacing: 3px !important;
}

.ls-4px {
    letter-spacing: 4px !important;
}

.ls-5px {
    letter-spacing: 5px !important;
}

.ls-6px {
    letter-spacing: 6px !important;
}

.ls-7px {
    letter-spacing: 7px !important;
}

.ls-8px {
    letter-spacing: 8px !important;
}

.ls-9px {
    letter-spacing: 9px !important;
}

.ls-10px {
    letter-spacing: 10px !important;
}

.ls-minus-05px {
    letter-spacing: -0.5px !important;
}

.ls-minus-1px {
    letter-spacing: -1px !important;
}

.ls-minus-2px {
    letter-spacing: -2px !important;
}

.ls-minus-3px {
    letter-spacing: -3px !important;
}

.ls-minus-4px {
    letter-spacing: -4px !important;
}

.ls-minus-5px {
    letter-spacing: -5px !important;
}

.ls-minus-6px {
    letter-spacing: -6px !important;
}

.ls-minus-7px {
    letter-spacing: -7px !important;
}

.ls-minus-8px {
    letter-spacing: -8px !important;
}

.ls-minus-9px {
    letter-spacing: -9px !important;
}

.ls-minus-10px {
    letter-spacing: -10px !important;
}

.fw-100 {
    font-weight: 100 !important;
}

.fw-200 {
    font-weight: 200 !important;
}

.fw-300 {
    font-weight: 300 !important;
}

.fw-400 {
    font-weight: 400 !important;
}

.fw-500 {
    font-weight: 500 !important;
}

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

.fw-700 {
    font-weight: 700 !important;
}

.fw-800 {
    font-weight: 800 !important;
}

.fw-900 {
    font-weight: 900 !important;
}

.text-uppercase {
    text-transform: uppercase !important;
}

.text-lowercase {
    text-transform: lowercase !important;
}

.text-capitalize {
    text-transform: capitalize !important;
}

.text-normal {
    text-transform: none !important;
}

/* Colori aggiuntivi */
.text-green {
    color: var(--success-color) !important;
}

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

.text-orange {
    color: #FD7E14 !important;
}

.text-azzurro {
    color: var(--info-color) !important;
}

/* Padding/Margin aggiuntivi */
.pt-50px {
    padding-top: 50px !important;
}

.pb-30px {
    padding-bottom: 30px !important;
}

.ps-40px {
    padding-left: 40px !important;
}

.pe-40px {
    padding-right: 40px !important;
}

.mb-20px {
    margin-bottom: 20px !important;
}

.mb-35px {
    margin-bottom: 35px !important;
}