/* Facit font declarations for Bonitas theme */
@font-face {
    font-family: 'Facit';
    font-style: normal;
    font-weight: 400;
    src: url('/css/fonts/facit/fonnts.com-Facit.otf') format('opentype');
}

@font-face {
    font-family: 'Facit';
    font-style: normal;
    font-weight: 300;
    src: url('/css/fonts/facit/fonnts.com-Facit_Light.otf') format('opentype');
}

@font-face {
    font-family: 'Facit';
    font-style: normal;
    font-weight: 200;
    src: url('/css/fonts/facit/fonnts.com-Facit_Extralight.otf') format('opentype');
}

@font-face {
    font-family: 'Facit';
    font-style: normal;
    font-weight: 600;
    src: url('/css/fonts/facit/fonnts.com-Facit_Semibold.otf') format('opentype');
}

@font-face {
    font-family: 'Facit';
    font-style: normal;
    font-weight: 700;
    src: url('/css/fonts/facit/fonnts.com-Facit_Bold.otf') format('opentype');
}

@font-face {
    font-family: 'Facit';
    font-style: normal;
    font-weight: 800;
    src: url('/css/fonts/facit/fonnts.com-Facit_Extrabold.otf') format('opentype');
}

@font-face {
    font-family: 'Facit';
    font-style: italic;
    font-weight: 400;
    src: url('/css/fonts/facit/fonnts.com-Facit_Italic.otf') format('opentype');
}

@font-face {
    font-family: 'Facit';
    font-style: italic;
    font-weight: 300;
    src: url('/css/fonts/facit/fonnts.com-Facit_Light_Italic.otf') format('opentype');
}

@font-face {
    font-family: 'Facit';
    font-style: italic;
    font-weight: 200;
    src: url('/css/fonts/facit/fonnts.com-Facit_Extralight_Italic.otf') format('opentype');
}

@font-face {
    font-family: 'Facit';
    font-style: italic;
    font-weight: 600;
    src: url('/css/fonts/facit/fonnts.com-Facit_Semibold_Italic.otf') format('opentype');
}

@font-face {
    font-family: 'Facit';
    font-style: italic;
    font-weight: 700;
    src: url('/css/fonts/facit/fonnts.com-Facit_Bold_Italic.otf') format('opentype');
}

@font-face {
    font-family: 'Facit';
    font-style: italic;
    font-weight: 800;
    src: url('/css/fonts/facit/fonnts.com-Facit_Extrabold_Italic.otf') format('opentype');
}

.bonitas-inr {
    display: none
}

body.skin-bonitas {
    overflow-y: auto;
    overflow-x: hidden;
    padding-top: 0px;
    padding-bottom: 0px;
    font-family: 'Facit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

    /* Ensure FontAwesome icons use correct font and are not overridden by Facit */
    /* Using higher specificity selectors to override Facit font */
    body.skin-bonitas i.fa,
    body.skin-bonitas i.fas,
    body.skin-bonitas i.far,
    body.skin-bonitas i.fal,
    body.skin-bonitas i.fab,
    body.skin-bonitas span.fa,
    body.skin-bonitas span.fas,
    body.skin-bonitas span.far,
    body.skin-bonitas span.fal,
    body.skin-bonitas span.fab,
    body.skin-bonitas .fa,
    body.skin-bonitas .fas,
    body.skin-bonitas .far,
    body.skin-bonitas .fal,
    body.skin-bonitas .fab,
    body.skin-bonitas [class*="fa-"],
    body.skin-bonitas *[class*=" fa-"],
    body.skin-bonitas i[class*="fa-"],
    body.skin-bonitas span[class*="fa-"] {
        font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Pro', 'FontAwesome' !important;
        font-weight: 900 !important;
    }

    /* Ensure regular icons use the correct font-weight */
    body.skin-bonitas i.far,
    body.skin-bonitas span.far,
    body.skin-bonitas .far {
        font-weight: 400 !important;
    }

    /* Ensure light icons use the correct font-weight */
    body.skin-bonitas i.fal,
    body.skin-bonitas span.fal,
    body.skin-bonitas .fal {
        font-weight: 300 !important;
    }

    /* Ensure brand icons use the correct font-family */
    body.skin-bonitas i.fab,
    body.skin-bonitas span.fab,
    body.skin-bonitas .fab {
        font-family: 'Font Awesome 5 Brands' !important;
        font-weight: 400 !important;
    }

@media (max-width: 768px) {
    body.skin-bonitas {
        padding-top: 0;
    }
}

.skin-bonitas .navbar-fixed-top {
    background: #ba0d36;
    border-color: #87162f;
}

.skin-bonitas .logo {
    background-image: url(/images/Bonitas.png);
    font-size: 0;
    width: 160px;
    background-repeat: no-repeat;
    background-position-y: 50%;
    background-size: contain;
    margin-right: 20px;
    height: 10px;
    margin-top: 10px;
}

.skin-bonitas .navbar-inverse .navbar-nav > li > a {
    color: #ffffff;
}

.skin-bonitas ng-view > .logo {
    background-image: url(/images/Bonitas.png);
    background-repeat: no-repeat;
    background-position: center;
    color: transparent;
    height: 150px;
    background-size: contain;
    margin: 75px auto 60px auto;
    display: inline-block;
    width: 390px;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
}

body.skin-bonitas.watermark {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

    body.skin-bonitas.watermark #waiting {
        width: 100%;
        height: 100%;
        background-image: url(/images/Bonitas.png);
        background-repeat: no-repeat;
        background-position: 50%;
    }

.skin-bonitas .mf-signout {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999999999999;
    background-color: rgb(255, 255, 255);
    background-image: url(/images/Bonitas.png);
    background-repeat: no-repeat;
    background-position: 50%;
}

.skin-bonitas .mf-app-disabled {
    background-image: url(/images/Bonitas.png);
    background-repeat: no-repeat;
    background-position: 50%;
}

.skin-bonitas.page-login .container.body-content {
    overflow: auto;
    height: 100%;
    width: 100%;
    padding: 0px;
}

.skin-bonitas .container.body-content hr {
    display: none;
}

.skin-bonitas .login-page {
    top: 210px;
    left: 50%;
    transform: translate(-50%, -50%);
    position: relative;
    width: 400px;
    height: 375px;
}

    .skin-bonitas .login-page .page-header {
        border: 0px;
        margin: 0px;
    }

        .skin-bonitas .login-page .page-header h2 {
            background-image: url(/images/Bonitas.png);
            background-repeat: no-repeat;
            background-position: center;
            color: transparent;
            height: 150px;
            background-size: 250px;
            margin: 0px auto;
            display: inline-block;
            width: 390px;
            position: absolute;
            left: 50%;
            transform: translate(-50%);
        }

    .skin-bonitas .login-page > .row {
        margin-top: 175px;
        min-width: 400px;
    }

        .skin-bonitas .login-page > .row > div {
            width: 100%;
        }

            .skin-bonitas .login-page > .row > div > .panel {
                border: 0px;
            }

                .skin-bonitas .login-page > .row > div > .panel > .panel-heading {
                    background-color: transparent;
                }

                .skin-bonitas .login-page > .row > div > .panel > .panel-body form .form-group {
                    padding-left: 75px;
                }

                    .skin-bonitas .login-page > .row > div > .panel > .panel-body form .form-group label {
                        margin-left: -73px;
                        font-weight: normal;
                        margin-top: 5px;
                    }

                    .skin-bonitas .login-page > .row > div > .panel > .panel-body form .form-group input {
                        float: right;
                    }

                    .skin-bonitas .login-page > .row > div > .panel > .panel-body form .form-group:last-child {
                        text-align: right;
                    }

.skin-bonitas button[value="cancel"] {
    display: none;
}

.skin-bonitas footer {
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translate(-50%);
}

img.bg {
    /* Set rules to fill background */
    min-height: 100%;
    min-width: 1024px;
    /* Set up proportionate scaling */
    width: 100%;
    height: auto;
    /* padding-bottom: 70px;*/
    /* Set up positioning */
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
}



/* Bonitas-specific button and accent colors */
.skin-bonitas .btn-primary,
.skin-bonitas .btn-primary:hover,
.skin-bonitas .btn-primary:focus,
.skin-bonitas .btn-primary:active,
.skin-bonitas .btn-login,
.skin-bonitas .btn-login:hover,
.skin-bonitas .btn-login:focus,
.skin-bonitas .btn-login:active {
    background-color: #ba0d36 !important;
    border-color: #87162f !important;
    color: #ffffff !important;
}

    .skin-bonitas .btn-primary:hover,
    .skin-bonitas .btn-login:hover {
        background-color: #9d1629 !important;
        border-color: #860a17 !important;
    }

    .skin-bonitas .btn-primary:active,
    .skin-bonitas .btn-primary:focus,
    .skin-bonitas .btn-login:active,
    .skin-bonitas .btn-login:focus {
        background-color: #87162f !important;
        border-color: #860a17 !important;
        box-shadow: 0 0 0 0.2rem rgba(186, 13, 54, 0.5) !important;
    }

.skin-bonitas a,
.skin-bonitas .btn-link {
}

    .skin-bonitas a:hover,
    .skin-bonitas .btn-link:hover {
        color: #9d1629 !important;
    }

/* Form inputs focus */
.skin-bonitas .form-control:focus {
    border-color: #ba0d36 !important;
    box-shadow: 0 0 0 0.2rem rgba(186, 13, 54, 0.25) !important;
}

.skin-bonitas .md-form input[type=text]:focus:not([readonly]),
.skin-bonitas .md-form input[type=password]:focus:not([readonly]),
.skin-bonitas .md-form input[type=email]:focus:not([readonly]),
.skin-bonitas .md-form textarea.md-textarea:focus:not([readonly]) {
    border-bottom: 1px solid #ba0d36 !important;
    box-shadow: 0 1px 0 0 #ba0d36 !important;
}

    .skin-bonitas .md-form input[type=text]:focus:not([readonly]) + label,
    .skin-bonitas .md-form input[type=password]:focus:not([readonly]) + label,
    .skin-bonitas .md-form input[type=email]:focus:not([readonly]) + label {
        color: #333436 !important;
    }

.skin-bonitas .md-form label.active {
    color: #333436 !important;
}

/* Primary header background */
.skin-bonitas .primary-header {
    background: linear-gradient(90deg, rgba(186, 13, 54, 1) 0%, rgba(157, 22, 41, 1) 100%) !important;
}

/* Secondary header - red bar */
.skin-bonitas .secondary-header {
    background: #ba0d36 !important;
    border-bottom: 2px solid #87162f !important;
}

/* Login page improvements */
.skin-bonitas .login-page {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

    .skin-bonitas .login-page h2 {
        color: #333436 !important;
        font-weight: 700;
    }

    .skin-bonitas .login-page h4 {
        color: #333436 !important;
        font-weight: 400;
    }

/* Select dropdown styling */
.skin-bonitas .form-control:focus {
    border-color: #ba0d36 !important;
}

.skin-bonitas select.form-control:focus {
    border-color: #ba0d36 !important;
    box-shadow: 0 0 0 0.2rem rgba(186, 13, 54, 0.25) !important;
}

/* Remove powered by section for Bonitas */
.skin-bonitas .powered-by {
    display: none !important;
}

/* Improve login page layout */
.skin-bonitas .login-page .page-area {
    background: transparent !important;
}

.skin-bonitas .login-page .panel-body {
    background: transparent !important;
}

/* Ensure logo displays correctly in header */
.skin-bonitas .secondary-header .logo {
    background-image: url(/images/Bonitas.png) !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    height: 60px !important;
    width: 180px !important;
}

/* Footer styling */
.skin-bonitas footer p {
    color: #333436 !important;
    text-align: center !important;
}

/* Contact link in header */
.skin-bonitas .primary-header .contact a {
    color: #ffffff !important;
}

    .skin-bonitas .primary-header .contact a:hover {
        color: rgba(255, 255, 255, 0.8) !important;
    }

/* Improve form styling */
.skin-bonitas .md-form {
    margin-bottom: 1.5rem;
}

    .skin-bonitas .md-form input[type=text],
    .skin-bonitas .md-form input[type=password],
    .skin-bonitas .md-form input[type=email] {
        color: #333436 !important;
    }

/* Button rounded styling */
.skin-bonitas .btn-rounded {
    border-radius: 25px !important;
    padding: 10px 30px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Forgot password link styling */
.skin-bonitas .btn-forgot {
    text-decoration: none !important;
    font-weight: 500 !important;
    margin-top: 10px !important;
    display: inline-block !important;
}

    .skin-bonitas .btn-forgot:hover {
        text-decoration: underline !important;
    }

/* ============================================
   Bonitas Registration Flow Styling
   ============================================ */

/* Background color for registration views */
body.skin-bonitas {
    background-color: #f5f5f5 !important;
}

/* Bonitas layout container */
.skin-bonitas .bonitas-layout-container {
    min-height: 100vh;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
    z-index: 1;
}

/* Bonitas logo card in layout */
.skin-bonitas .bonitas-layout-logo-card {
    background: white;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    width: 100%;
    max-width: 400px;
    text-align: center;
    flex-shrink: 0;
}

.skin-bonitas .bonitas-layout-logo-img {
    max-width: 200px;
    height: auto;
}

@media (max-width: 768px) {
    .skin-bonitas .bonitas-layout-logo-card {
        margin: 0 0 0px 0;
        border-radius: 0;
        box-shadow: none;
        padding: 15px;
    }

    .skin-bonitas .bonitas-layout-logo-img {
        max-width: 150px;
    }

    .skin-bonitas .bonitas-layout-container {
        justify-content: flex-start;
        padding-top: 0;
    }
}

/* Common container styles */
.skin-bonitas .bonitas-login-container,
.skin-bonitas .bonitas-membership-container,
.skin-bonitas .bonitas-otp-container,
.skin-bonitas .bonitas-password-container,
.skin-bonitas .bonitas-forgot-container,
.skin-bonitas .bonitas-logout-container,
.skin-bonitas .bonitas-loggedout-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    width: 100%;
}

/* Common card styles */
.skin-bonitas .bonitas-form-container,
.skin-bonitas .bonitas-membership-card,
.skin-bonitas .bonitas-otp-card,
.skin-bonitas .bonitas-password-card,
.skin-bonitas .bonitas-forgot-card,
.skin-bonitas .bonitas-logout-card,
.skin-bonitas .bonitas-loggedout-card {
    background: white;
    border-radius: 12px;
    padding: 40px 30px;
    width: 100%;
    max-width: 400px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    position: relative;
    padding-bottom: 80px; /* Add bottom padding to prevent content from being hidden behind buttons */
}

/* Logo section */
.skin-bonitas .bonitas-logo-section {
    text-align: center;
    margin-bottom: 30px;
}

.skin-bonitas .bonitas-logo-img {
    max-width: 200px;
    height: auto;
    margin-bottom: 10px;
}

.skin-bonitas .bonitas-tagline {
    color: #333436;
    font-size: 14px;
    margin-top: 5px;
}

/* Welcome section */
.skin-bonitas .bonitas-welcome {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    background-color: #ba0d36;
    background-image: url(/images/bonitas/background.png);
    background-size: 603% auto;
    background-position: 20% 13%;
    background-repeat: no-repeat;
    padding: 40px 30px;
    border-radius: 12px 12px 0px 0px;
    margin-left: -30px;
    margin-right: -30px;
    margin-top: -40px;
    position: relative;
    overflow: hidden;
    height: 123px;
}

    /*.skin-bonitas .bonitas-welcome::after {
    content: '';
    position: absolute;
    right: -60px;
    top: 0;
    bottom: 0;
    width: 120px;
    background: #ba0d36;
    background-image: url(/images/bonitas/background.png);
    background-size: cover;
    background-position: center;
    border-radius: 0 60% 60% 0;
    z-index: 1;
}*/

    .skin-bonitas .bonitas-welcome:has(.bonitas-welcome-image:empty)::after {
        display: none;
    }

.skin-bonitas .bonitas-welcome-content {
    flex: 1;
    position: relative;
    z-index: 2;
    padding-right: 20px;
}

.skin-bonitas .bonitas-welcome h1 {
    font-size: 36px;
    font-weight: bold;
    color: #ffffff;
    margin: 0 0 8px 0;
    text-align: left;
    line-height: 1.2;
}

.skin-bonitas .bonitas-welcome p {
    font-size: 16px;
    color: #ffffff;
    margin: 0;
    text-align: left;
    font-weight: 400;
}

.skin-bonitas .bonitas-welcome-image {
    flex-shrink: 0;
    /*width: 200px;*/
    height: 180px;
    position: relative;
    z-index: 2;
    margin-left: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .skin-bonitas .bonitas-welcome-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 12px;
        display: block;
    }

    .skin-bonitas .bonitas-welcome-image:empty {
        display: none;
    }

/* Adjust welcome section when image is not present */
.skin-bonitas .bonitas-welcome:has(.bonitas-welcome-image:empty) {
    border-radius: 12px;
}

    .skin-bonitas .bonitas-welcome:has(.bonitas-welcome-image:empty)::after {
        display: none;
    }

/* Common input styles */
.skin-bonitas .bonitas-input-group {
    margin-bottom: 20px;
}

.skin-bonitas .bonitas-input {
    width: 100%;
    padding: 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 16px;
    box-sizing: border-box;
}

    .skin-bonitas .bonitas-input:focus {
        outline: none;
        border-color: #ba0d36;
    }

    .skin-bonitas .bonitas-input.password-focused {
        border-color: #ba0d36;
    }

.skin-bonitas .bonitas-input-wrapper {
    position: relative;
}

.skin-bonitas .bonitas-password-toggle,
.skin-bonitas .bonitas-eye-icon {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #333436;
}

/* Forgot password link - deprecated, using bonitas-link-button instead */
.skin-bonitas .bonitas-forgot-link {
    text-align: right;
    margin-top: 8px;
    margin-bottom: 20px;
}

    .skin-bonitas .bonitas-forgot-link a,
    .skin-bonitas .bonitas-forgot-link button {
        color: #333436;
        text-decoration: none;
        font-size: 14px;
        background: none;
        border: none;
        padding: 0;
        cursor: pointer;
    }

/* Common button styles */
.skin-bonitas .bonitas-login-btn,
.skin-bonitas .bonitas-continue-btn,
.skin-bonitas .bonitas-next-btn {
    width: 100%;
    padding: 14px;
    background-color: #ba0d36;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    margin-bottom: 20px;
}

    .skin-bonitas .bonitas-login-btn:hover,
    .skin-bonitas .bonitas-continue-btn:hover,
    .skin-bonitas .bonitas-next-btn:hover:not(:disabled) {
        background-color: #9d1629;
    }

    .skin-bonitas .bonitas-next-btn:disabled {
        background-color: #ccc;
        cursor: not-allowed;
    }

/* Register link */
.skin-bonitas .bonitas-register-link {
    text-align: center;
    margin-top: 20px;
    color: #333436;
    font-size: 14px;
}

    .skin-bonitas .bonitas-register-link a {
        color: #333436;
        text-decoration: none;
        font-weight: 600;
    }

/* Action links container */
.skin-bonitas .bonitas-action-links {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 20px;
    gap: 24px;
}

/* Link button styles - neutral look with circular chevron */
.skin-bonitas .bonitas-link-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #333436 !important; /* neutral text color - override global red */
    font-size: 14px;
    font-weight: 500;
    transition: color .15s ease;
    flex: 0 0 auto; /* do not stretch */
}

.skin-bonitas .bonitas-link-icon {
    width: 32px;
    height: 32px;
    border: 1px solid #cfcfcf; /* light grey border */
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: border-color .15s ease, background-color .15s ease;
    background: transparent; /* remove red fill */
    color: inherit;
}

    .skin-bonitas .bonitas-link-icon i {
        font-size: 14px;
        color: #333436 !important; /* chevron color - override FontAwesome */
        transition: color .15s ease, transform .15s ease;
    }

.skin-bonitas .bonitas-link-text {
    font-size: 14px;
    line-height: 1;
    font-weight: 500;
    color: #555 !important; /* ensure text is grey */
}

/* Hover / focus */
.skin-bonitas .bonitas-link-button:hover,
.skin-bonitas .bonitas-link-button:focus {
    color: #333436 !important;
}

    .skin-bonitas .bonitas-link-button:hover .bonitas-link-icon,
    .skin-bonitas .bonitas-link-button:focus .bonitas-link-icon {
        border-color: #b5b5b5;
        background-color: #f7f7f7;
    }

        .skin-bonitas .bonitas-link-button:hover .bonitas-link-icon i,
        .skin-bonitas .bonitas-link-button:focus .bonitas-link-icon i {
            color: #333436 !important;
            transform: translateX(1px);
        }

    .skin-bonitas .bonitas-link-button:hover .bonitas-link-text,
    .skin-bonitas .bonitas-link-button:focus .bonitas-link-text {
        color: #333436 !important;
    }

/* Bottom action buttons - Get Help and Emergency */
.skin-bonitas .bonitas-bottom-buttons {
    display: flex;
    gap: 12px;
    width: calc(100% - 16px);
    position: absolute;
    bottom: 0px;
    left: 8px;
    max-width: 384px;
    z-index: 10;
}

.skin-bonitas .bonitas-help-btn,
.skin-bonitas .bonitas-emergency-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 20px;
    border-radius: 8px 8px 0px 0px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    color: white !important
}

.skin-bonitas .bonitas-help-btn {
    background-color: #4a4a4a;
    color: #fff;
}

    .skin-bonitas .bonitas-help-btn:hover {
        background-color: #3a3a3a;
        color: white !important;
        text-decoration: none;
    }

.skin-bonitas .bonitas-emergency-btn {
    background-color: #ba0d36;
    color: #fff;
}

    .skin-bonitas .bonitas-emergency-btn:hover {
        background-color: #9a0a2a;
        color: white !important;
        text-decoration: none;
    }

.skin-bonitas .bonitas-help-icon,
.skin-bonitas .bonitas-emergency-icon {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.skin-bonitas .bonitas-help-icon {
    border: 2px solid rgba(255, 255, 255, 0.5);
    background-color: rgba(255, 255, 255, 0.1);
}

.skin-bonitas .bonitas-emergency-icon {
    border: 2px solid rgba(255, 255, 255, 0.8);
    background-color: rgba(255, 255, 255, 0.1);
}

    .skin-bonitas .bonitas-help-icon i,
    .skin-bonitas .bonitas-emergency-icon i {
        font-size: 14px;
        color: #fff;
    }

/* Mobile adjustments */
@media (max-width: 768px) {
    .skin-bonitas .bonitas-action-links {
        gap: 12px;
    }

    .skin-bonitas .bonitas-link-button {
        font-size: 13px;
    }

    .skin-bonitas .bonitas-link-icon {
        width: 28px;
        height: 28px;
    }

        .skin-bonitas .bonitas-link-icon i {
            font-size: 13px;
        }
}

/* Membership Number page */
.skin-bonitas .bonitas-membership-title {
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    color: #333436;
    margin-bottom: 12px;
}

.skin-bonitas .bonitas-membership-subtitle {
    text-align: center;
    font-size: 14px;
    color: #333436;
    margin-bottom: 30px;
}

.skin-bonitas .bonitas-back-link {
    text-align: center;
}

    .skin-bonitas .bonitas-back-link a {
        color: #333436;
        text-decoration: none;
        font-size: 14px;
    }

/* OTP page */
.skin-bonitas .bonitas-otp-title {
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    color: #333436;
    margin-bottom: 12px;
}

.skin-bonitas .bonitas-otp-subtitle {
    text-align: center;
    font-size: 14px;
    color: #333436;
    margin-bottom: 30px;
}

.skin-bonitas .bonitas-otp-inputs {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 30px;
}

.skin-bonitas .bonitas-otp-input {
    width: 50px;
    height: 50px;
    text-align: center;
    font-size: 24px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-weight: 600;
}

    .skin-bonitas .bonitas-otp-input:focus {
        outline: none;
        border-color: #ba0d36;
    }

.skin-bonitas .bonitas-resend-link {
    text-align: center;
}

    .skin-bonitas .bonitas-resend-link button {
        background: none;
        border: none;
        color: #333436;
        text-decoration: none;
        font-size: 14px;
        cursor: pointer;
        padding: 0;
    }

/* Password creation page */
.skin-bonitas .bonitas-password-title {
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    color: #333436;
    margin-bottom: 30px;
}

/* Forgot password page */
.skin-bonitas .bonitas-forgot-title {
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    color: #333436;
    margin-bottom: 12px;
}

.skin-bonitas .bonitas-forgot-subtitle {
    text-align: center;
    font-size: 14px;
    color: #333436;
    margin-bottom: 30px;
}

.skin-bonitas .bonitas-message {
    background-color: #e7f3ff;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 20px;
    color: #333436;
    font-size: 14px;
    text-align: center;
}

/* Logout page */
.skin-bonitas .bonitas-logout-title {
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    color: #333436;
    margin-bottom: 20px;
}

.skin-bonitas .bonitas-logout-text {
    text-align: center;
    font-size: 16px;
    color: #333436;
    margin-bottom: 30px;
}

/* LoggedOut page */
.skin-bonitas .bonitas-loggedout-title {
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    color: #333436;
    margin-bottom: 20px;
}

.skin-bonitas .bonitas-loggedout-content {
    text-align: center;
    font-size: 16px;
    color: #333436;
    display: flex;
    flex-direction: column;
    align-items: center;
}

    .skin-bonitas .bonitas-loggedout-content p {
        margin-bottom: 20px;
        color: #333436;
    }

    .skin-bonitas .bonitas-loggedout-content a:not(.bonitas-login-btn) {
        color: #333436;
        text-decoration: none;
    }

.skin-bonitas .bonitas-login-btn {
    display: inline-block;
    background-color: #ba0d36;
    color: #fff;
    padding: 12px 40px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
    margin-top: 10px;
    transition: background-color 0.3s ease;
    border: none;
    cursor: pointer;
    width: 100%;
    min-width: 200px;
}

    .skin-bonitas .bonitas-login-btn:hover {
        background-color: #9a0a2a;
        color: #fff;
        text-decoration: none;
    }

.skin-bonitas .bonitas-input-label {
    font-weight: 600;
    color: #333436;
    margin-bottom: 8px;
    display: block;
    font-size: 14px;
}

.skin-bonitas .bonitas-requirements {
    margin-bottom: 20px;
}

.skin-bonitas .bonitas-requirements-label {
    font-weight: 600;
    color: #333436;
    margin-bottom: 12px;
    display: block;
    font-size: 14px;
}

.skin-bonitas .bonitas-requirement-item {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    font-size: 14px;
}

.skin-bonitas .bonitas-requirement-icon {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    font-size: 12px;
    flex-shrink: 0;
}

    .skin-bonitas .bonitas-requirement-icon.invalid {
        background-color: #dc3545;
        color: white;
    }

    .skin-bonitas .bonitas-requirement-icon.valid {
        background-color: #28a745;
        color: white;
    }

.skin-bonitas .bonitas-checkbox-group {
    margin-bottom: 25px;
    display: flex;
    align-items: flex-start;
}

.skin-bonitas .bonitas-checkbox {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    margin-top: 2px;
    flex-shrink: 0;
}

.skin-bonitas .bonitas-checkbox-label {
    color: #333436;
    font-size: 14px;
    line-height: 1.4;
}

    .skin-bonitas .bonitas-checkbox-label a {
        color: #9d1629;
        text-decoration: none;
    }

/* Make Bonitas checkboxes use Bonitas red */
.skin-bonitas .bonitas-checkbox {
    accent-color: #ba0d36;
}

/* Error messages */
.skin-bonitas .bonitas-error {
    color: #dc3545;
    font-size: 14px;
    text-align: center;
    margin-bottom: 15px;
}

/* Mobile responsive styles */
@media (max-width: 768px) {
    .skin-bonitas .bonitas-layout-background {
        height: 260px;
    }

    .skin-bonitas .bonitas-layout-container {
        padding: 0;
    }

    .skin-bonitas .bonitas-login-container,
    .skin-bonitas .bonitas-membership-container,
    .skin-bonitas .bonitas-otp-container,
    .skin-bonitas .bonitas-password-container,
    .skin-bonitas .bonitas-forgot-container,
    .skin-bonitas .bonitas-logout-container,
    .skin-bonitas .bonitas-loggedout-container {
        padding: 0;
        width: 100%;
        justify-content: flex-start;
    }

    .skin-bonitas .bonitas-form-container,
    .skin-bonitas .bonitas-membership-card,
    .skin-bonitas .bonitas-otp-card,
    .skin-bonitas .bonitas-password-card,
    .skin-bonitas .bonitas-forgot-card,
    .skin-bonitas .bonitas-logout-card,
    .skin-bonitas .bonitas-loggedout-card {
        max-width: 100%;
        width: 100%;
        min-height: 100vh;
        border-radius: 0;
        padding: 30px 20px;
        padding-bottom: 100px; /* Add extra padding for fixed bottom buttons */
        box-shadow: none;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    .skin-bonitas .bonitas-logo-img {
        max-width: 150px;
    }

    .skin-bonitas .bonitas-otp-input {
        width: 45px;
        height: 45px;
        font-size: 20px;
    }

    .skin-bonitas .bonitas-action-links {
        gap: 8px;
    }

    .skin-bonitas .bonitas-link-button {
        font-size: 12px;
    }

    .skin-bonitas .bonitas-bottom-buttons {
        gap: 12px;
        position: fixed;
        bottom: 0px;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100%;
        padding: 0 8px;
        box-sizing: border-box;
        background: white;
    }

    .skin-bonitas .bonitas-help-btn,
    .skin-bonitas .bonitas-emergency-btn {
        width: 100%;
        font-size: 14px;
        padding: 12px 16px;
    }

    .skin-bonitas .bonitas-link-icon {
        width: 20px;
        height: 20px;
        font-size: 10px;
    }

    .skin-bonitas .bonitas-welcome {
        flex-direction: column;
        padding: 30px 20px;
        border-radius: 12px;
        min-height: auto;
    }

        .skin-bonitas .bonitas-welcome::after {
            display: none;
        }

    .skin-bonitas .bonitas-welcome-content {
        padding-right: 0;
        text-align: center;
        margin-bottom: 20px;
    }

    .skin-bonitas .bonitas-welcome h1 {
        text-align: center;
        font-size: 28px;
    }

    .skin-bonitas .bonitas-welcome p {
        text-align: center;
    }

    .skin-bonitas .bonitas-welcome-image {
        width: 100%;
        max-width: 200px;
        height: 150px;
        margin-left: 0;
        margin: 0 auto;
    }
}
