:root {
    --primary-color: #841849;
}

.form-check-input, input[type="checkbox"] {
    width: 1.5em;
    height: 1.5em;
    border: 2px solid var(--primary-color);
    border-radius: 0.25em;
    background-color: #fff;
    transition: box-shadow 0.2s, border-color 0.2s;
}

    .form-check-input:checked, input[type="checkbox"]:checked {
        background-color: var(--primary-color);
        border-color: var(--primary-color);
        box-shadow: 0 0 0 0.2rem rgba(132,24,73,0.15);
    }

    .form-check-input:focus, input[type="checkbox"]:focus {
        box-shadow: 0 0 0 0.2rem rgba(132,24,73,0.25);
        border-color: var(--primary-color);
    }

.bg-img {
    background-color:white;
    background-image: url("../images/bg-desktop.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media (max-width: 1024px) {
    .bg-img {
        background-image: url("../images/bg-mobile.jpg");
    }
}

.center-box {
    background: #ffffffdd;
    border-radius: 20px;
    padding: 1.5rem 2rem;
    border: 1px solid rgba(200, 200, 255, 0.4);
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
}

.full-width-container-box {
    background: #ffffffdd;
    padding: 3rem 2rem;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
    border: 1px solid rgba(200, 200, 255, 0.4);
}

.loading-pill-container {
    box-shadow: rgba(0, 0, 0, 0.17) 0px -23px 25px 0px inset, rgba(0, 0, 0, 0.15) 0px -36px 30px 0px inset, rgba(0, 0, 0, 0.1) 0px -79px 40px 0px inset, rgba(0, 0, 0, 0.06) 0px 2px 1px, rgba(0, 0, 0, 0.09) 0px 4px 2px, rgba(0, 0, 0, 0.09) 0px 8px 4px, rgba(0, 0, 0, 0.09) 0px 16px 8px, rgba(0, 0, 0, 0.09) 0px 32px 16px;
}

.lng-switch-container {
    background-color: #f0eff4;
    border-radius: 2rem;
}

.lng-switch{
    max-height: 1.7rem;
}

.terms-container {
    max-height: calc(100vh - 30rem);
    overflow-y: auto;
    scrollbar-width: thin;
}

.bg-custom-primary {
    background-color: var(--primary-color);
}

.header-bar {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.header-logo {
    max-height: 5rem;
}

.banner-img {
    display: block;
    max-height: 300px;
    object-fit: cover;
}

.welcome-message {
    font-weight: bold;
    color: black;
}

.company-name-welcome-msg {
    font-weight: bolder;
    font-size: 2rem;
    color: var(--primary-color);
}

.welcome-caption {
    margin-top: 2rem;
    color: #515151;
}


.btn-primary, .btn-primary:focus, .btn-primary:active, .btn-primary:hover {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(132,24,73,0.15);
    transition: background 0.2s, box-shadow 0.2s;
}

    .btn-primary:hover, .btn-primary:focus {
        background-color: #6c133b !important;
        border-color: #6c133b !important;
        box-shadow: 0 4px 16px rgba(132,24,73,0.25);
    }

.form-control:focus, .form-select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.25rem rgba(132,24,73,0.25);
}

.form-control:hover, .form-select:hover {
    border-color: var(--primary-color);
}

.page-header {
    color: var(--primary-color);
    letter-spacing: 1px;
}

.page-header-underline {
    height: 6px;
    width: 10rem;
    background: var(--primary-color);
    border-radius: 3px;
}

.page-header-caption {
    color: #515151;
}

.customer-name {
    font-weight: bolder;
    font-size: 1.3rem;
    color: var(--primary-color);
}

.custom-link {
    text-decoration: none;
    color: var(--primary-color);
    font-weight: bold;
}

.terms-content {
    font-size: 1rem;
    color: #333;
}
