body.registration-public-page {
    background: #fff !important;
    color: #1f2933;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    overflow-x: hidden;
}

.registration-public-page .fh5co-loader {
    display: none !important;
}

.registration-public-page .animate-box,
.registration-public-page .fadeInLeft,
.registration-public-page .fadeInRight,
.registration-public-page .fadeInUp,
.registration-public-page .fadeIn,
.registration-public-page .animated,
.registration-public-page .card {
    animation: none !important;
    opacity: 1 !important;
}

.registration-public-page #page {
    min-height: 620px;
    overflow-x: hidden;
}

.registration-public-page .fh5co-nav-toggle {
    position: fixed !important;
    top: 46px !important;
    right: 24px !important;
}

.registration-public-page .registration-public-stage {
    min-height: 560px;
    padding-top: 64px !important;
    padding-bottom: 72px !important;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.registration-public-page .registration-public-center {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 500px;
}

.registration-public-page .registration-public-card,
.registration-public-page .fh5co-form.registration-public-card,
.registration-public-page .card.registration-public-card {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    padding: 42px;
    background: #fff;
    border: 1px solid #f0eadb;
    border-top: 5px solid #f4b23c;
    border-radius: 8px;
    box-shadow: 0 14px 32px rgba(20, 27, 36, 0.08);
}

.registration-public-page .registration-public-card--wide,
.registration-public-page .card.registration-public-card--wide {
    max-width: 1080px;
    padding: 0;
    overflow: hidden;
}

.registration-public-page .registration-public-card--wide * {
    max-width: 100%;
}

.registration-public-page .registration-public-card h2,
.registration-public-page .registration-public-title {
    margin: 0 0 28px;
    color: #111827;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
}

.registration-public-page .card-header.registration-public-titlebar {
    padding: 30px 36px;
    background: #fff;
    border-bottom: 1px solid #f0eadb;
    color: #111827;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 700;
    text-align: left;
}

.registration-public-page .card-body {
    padding: 34px 36px;
}

.registration-public-page .form-group label {
    margin-bottom: 9px;
    color: #5f6670;
    font-size: 14px;
    font-weight: 700;
}

.registration-public-page .form-control,
.registration-public-page .custom-select,
.registration-public-page .select2-container--bootstrap .select2-selection {
    display: block;
    width: 100% !important;
    min-height: 44px;
    border: 1px solid #cfd6de !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color: #333b44;
}

.registration-public-page .select2-container {
    display: block;
    width: 100% !important;
}

.registration-public-page .form-control:focus,
.registration-public-page .custom-select:focus,
.registration-public-page .select2-container--bootstrap.select2-container--focus .select2-selection {
    border-color: #f4a000 !important;
    box-shadow: 0 0 0 3px rgba(244, 160, 0, 0.14) !important;
}

.registration-public-page .btn-warning,
.registration-public-page .btn-primary {
    min-height: 44px;
    padding: 10px 22px;
    border: 0;
    border-radius: 6px;
    background: #f5a623;
    color: #fff;
    font-weight: 700;
    box-shadow: none;
}

.registration-public-page .btn-warning:hover,
.registration-public-page .btn-primary:hover {
    background: #e69516;
    color: #fff;
}

.registration-public-page .registration-public-submit {
    width: 100%;
    margin-top: 12px;
}

.registration-public-page #qrcodeContainer canvas {
    display: none !important;
}

.registration-public-page #qrcodeContainer img {
    display: block !important;
    width: auto !important;
    max-width: min(300px, 100%) !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.registration-public-page .info-message {
    background: #eaf5ff !important;
    border-left: 4px solid #2196f3 !important;
    color: #4b5563 !important;
}

.registration-public-page #fh5co-footer {
    margin-top: 0;
}

@media (max-width: 768px) {
    .registration-public-page .fh5co-nav .container,
    .registration-public-page .registration-public-stage.container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .registration-public-page .registration-public-stage {
        padding-top: 36px !important;
        padding-bottom: 48px !important;
    }

    .registration-public-page .fh5co-nav-toggle {
        top: 42px !important;
        right: 24px !important;
    }

    .registration-public-page .registration-public-card,
    .registration-public-page .fh5co-form.registration-public-card {
        padding: 28px 24px;
    }

    .registration-public-page .card-header.registration-public-titlebar,
    .registration-public-page .card-body {
        padding: 24px;
    }

    .registration-public-page .card.registration-public-card--wide {
        border-radius: 8px;
    }

    .registration-public-page .card-header.registration-public-titlebar {
        font-size: 24px;
        line-height: 1.35;
    }

    .registration-public-page .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .registration-public-page .row > [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .registration-public-page .form-control,
    .registration-public-page .custom-select,
    .registration-public-page .select2-container {
        width: 100% !important;
        max-width: 100% !important;
    }

    .registration-public-page #qrcodeViewer {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .registration-public-page #codeRegistration {
        display: block;
        max-width: 100%;
        margin: 12px auto 0;
        text-align: center;
        word-break: break-word;
    }

    .registration-public-page #qrcodeContainer {
        min-height: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .registration-public-page #qrcodeContainer img {
        max-width: min(260px, 100%) !important;
    }
}

@media (max-width: 480px) {
    .registration-public-page .registration-public-stage.container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .registration-public-page .fh5co-nav-toggle {
        top: 38px !important;
        right: 20px !important;
    }

    .registration-public-page .card-header.registration-public-titlebar {
        padding: 22px 20px;
        font-size: 22px;
    }

    .registration-public-page .card-body {
        padding: 20px;
    }

    .registration-public-page #qrcodeViewer {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .registration-public-page #qrcodeContainer img {
        max-width: min(230px, 100%) !important;
    }
}

/* --- Normalisation navbar pour les pages publiques en mode registration/public --- */
.registration-public-page .fh5co-nav .top-menu {
    padding: 10px 0 !important;
}

.registration-public-page .fh5co-nav .top-menu .container {
    width: 100% !important;
    max-width: 1140px !important;
    padding-top: 15px !important;
    padding-right: 15px !important;
    padding-bottom: 15px !important;
    padding-left: 15px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.registration-public-page .fh5co-nav .top-menu .container,
.registration-public-page .fh5co-nav .top-menu .row1 {
    box-sizing: border-box !important;
}

.registration-public-page .fh5co-nav .top-menu .row1 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
}

@media (min-width: 992px) {
    .registration-public-page .fh5co-nav .top-menu {
        padding: 10px 0 !important;
    }

    .registration-public-page .fh5co-nav .top-menu .container {
        padding-top: 15px !important;
        padding-right: 15px !important;
        padding-bottom: 15px !important;
        padding-left: 15px !important;
    }
}
