html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #DF1B3B;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}

/* Applicazione font Google */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 16px;
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-weight: 700;
}

/* Form elements con Inter */
input, select, textarea, button,
.form-control, .form-select, .form-check-label {
    font-family: 'Inter', sans-serif;
}

/* Labels pił leggibili */
label {
    font-weight: 500;
}

/* Bottoni con font pił deciso */
.btn {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* Custom alert styling to match La Biennale red header */
.alert-danger {
    background-color: #D97706 !important;
    color: #FFFFFF !important;
    border-color: #D97706 !important;
    font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
}
    .alert-danger strong {
        color: #FFFFFF !important;
    }

    .alert-danger ul {
        color: #FFFFFF !important;
        margin-bottom: 0;
    }

    .alert-danger li {
        color: #FFFFFF !important;
    }

    .alert-danger .btn-close {
        filter: brightness(0) invert(1);
        opacity: 1;
    }

        .alert-danger .btn-close:hover {
            opacity: 0.8;
        }

/* Custom form controls to match La Biennale red */
/* Checkbox styling */
.form-check-input:checked {
    background-color: #DF1B3B !important;
    border-color: #DF1B3B !important;
}

.form-check-input:focus {
    border-color: #DF1B3B !important;
    box-shadow: 0 0 0 0.25rem rgba(223, 27, 59, 0.25) !important;
}

.form-check-input:checked:focus {
    background-color: #DF1B3B !important;
    border-color: #DF1B3B !important;
}

/* Radio button styling */
.form-check-input[type="radio"]:checked {
    background-color: #DF1B3B !important;
    border-color: #DF1B3B !important;
}

.form-check-input[type="radio"]:focus {
    border-color: #DF1B3B !important;
    box-shadow: 0 0 0 0.25rem rgba(223, 27, 59, 0.25) !important;
}

/* Primary button styling */
.btn-primary {
    background-color: #DF1B3B !important;
    border-color: #DF1B3B !important;
    color: #FFFFFF !important;
    font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
    font-weight: 600;
}
.btn-success {
    background-color: #DF1B3B !important;
    border-color: #DF1B3B !important;
    color: #FFFFFF !important;
    font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
    font-weight: 600;
}
.btn-primary:hover {
    background-color: #c51632 !important;
    border-color: #c51632 !important;
    color: #FFFFFF !important;
}
.btn-success:hover {
    background-color: #c51632 !important;
    border-color: #c51632 !important;
    color: #FFFFFF !important;
}


.btn-primary:focus,
.btn-primary:active {
    background-color: #b01229 !important;
    border-color: #b01229 !important;
    box-shadow: 0 0 0 0.25rem rgba(223, 27, 59, 0.5) !important;
}
.btn-success:focus,
.btn-success:active {
    background-color: #b01229 !important;
    border-color: #b01229 !important;
    box-shadow: 0 0 0 0.25rem rgba(223, 27, 59, 0.5) !important;
}
    
.btn-primary:disabled {
    background-color: #DF1B3B !important;
    border-color: #DF1B3B !important;
    opacity: 0.6;
}
.btn-success:disabled {
    background-color: #DF1B3B !important;
    border-color: #DF1B3B !important;
    opacity: 0.6;
}
.accordion-button {
    background-color: #DF1B3B !important;
    border-color: #DF1B3B !important;
    color: #FFFFFF !important;
    font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
    font-weight: 600;
}
.accordion-header .text-danger {
    color: #FFFFFF !important;
    font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
    font-weight: 600;
}

.accordion-header .text-muted {
    color: #FFFFFF !important;
    font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
    font-weight: 600;
}
.accordion-button::after {
    filter: invert(1);
}

/* ============================================
   Language Selection Page Styles
   ============================================ */
.language-card {
    transition: all 0.3s ease;
    cursor: pointer;
}

.language-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 1rem 3rem rgba(223, 27, 59, 0.175) !important;
}

.language-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.language-card .card-body {
    min-height: 400px;
}

.language-card .btn-primary:hover {
    transform: scale(1.05);
    transition: transform 0.2s ease;
}