.fs-rem-85{
    font-size: 0.85rem!important;
}
.fs-rem-100{
     font-size: 1.4rem!important;
}
.bg-badge-primary{
   background-color: #FD5D07!important;
}
.pricing-card.pricing-featured.bg-no {
    border: 0!important;
    background: none;
}
/* OS Selection Styles */
.os-input-element {
    display: none;
}

.modal-content .modal-body .form-control
 {
    border: 1px solid #e2e3e5;
}


#pageLoader.loaded {
    opacity: 0;
    visibility: hidden;
    pointer-events: none; /* Prevents invisible loader from blocking clicks */
    transition: opacity 0.7s ease, visibility 0.7s ease;
}
#tawk-bubble-container {
    display: none !important;
}
/* 1. Position the button inside the input field */
.password-type-toggle {
    position: absolute;
    top: 0;
    right: 0;
    height: calc(3.5rem + 2px); /* Standard Bootstrap 5 form-floating height */
    z-index: 5; /* Ensures it sits above the input and is clickable */
    font-size: 22px;

    /* Make it look like a seamless part of the input (Optional, but recommended) */
    background: transparent;
    border: none;
    color: #6c757d;
}

/* Add a hover effect for the seamless look */
.password-type-toggle:hover,
.password-type-toggle:active,
.password-type-toggle:focus {
    background: transparent;
    color: #212529;
    box-shadow: none; /* Removes the focus ring from the button */
}

/* 2. Prevent the typed password from disappearing behind the eye icon */
.form-floating #signupform-repeat_password {
    padding-right: 3rem;
}

/* 3. Handle the 'is-invalid' state so icons don't overlap */
.form-floating #signupform-repeat_password.is-invalid {
    /* Push the red validation (!) icon to the left of your eye icon */
    background-position: right 2.5rem center;
    /* Add extra padding so text doesn't hit the validation icon */
    padding-right: 4.5rem;
}
.alert-trial{
    font-size: 12px;
    font-weight: 600;
    margin: 15px 20px 0;
}

/* loader */
#pageLoader{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99999;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;transition:opacity .6s,visibility .6s}
#pageLoader .lr{width:48px;height:48px;border:4px solid rgba(0,82,204,.15);border-top-color:#0052cc;border-radius:50%;animation:ls .8s linear infinite}
#pageLoader .lt{font-family:'Inter',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#6c757d}
#pageLoader.loaded{opacity:0;visibility:hidden;pointer-events:none}
@keyframes ls{to{transform:rotate(360deg)}}
[data-bs-theme="dark"] #pageLoader{background:#121212}
[data-bs-theme="dark"] #pageLoader .lr{border-color:rgba(0,82,204,.25);border-top-color:#3d8bfd}
[data-bs-theme="dark"] #pageLoader .lt{color:#adb5bd}
/* end loader */

/* Глобальные стили для кнопки с лоадером */
.spinner {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: currentColor; /* Цвет спиннера будет подстраиваться под цвет текста кнопки */
    animation: spin 1s ease-in-out infinite;
    margin-right: 8px;
    vertical-align: middle;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

button.is-loading {
    opacity: 0.8;
    cursor: not-allowed;
}
.dw-cabinet{

}
@media (max-width: 1120px) {
    .dw-cabinet {
        display: none!important;
    }
    #user-profile-menu{
        display: block!important;

    }
}
@media (min-width: 1119px) {
    .dw-cabinet {
        display: block!important;
    }
    #user-profile-menu{
        display: none!important;

    }
}

.dropdown-menu .dropdown-header-user {
    background: rgba(0, 0, 0, 0.02);
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 1rem 1rem 0 0;
}
.dropdown-header-user .user-name {
    font-weight: 700;
    color: #212529;
    font-size: 0.95rem;
    margin-bottom: 0.1rem;
}
.dropdown-menu .dropdown-header-user .user-email {
    font-size: 0.8rem;
    color: #6c757d;
}

[data-bs-theme=dark] .dropdown-menu .dropdown-header-user {
    background: rgba(255, 255, 255, 0.04) !important;
    border-bottom-color: rgba(255, 255, 255, 0.07) !important;
}
[data-bs-theme=dark] .dropdown-menu .dropdown-header-user .user-name {
    color: #f0f2f5 !important;
}
[data-bs-theme=dark] .dropdown-menu .dropdown-header-user .user-email {
    color: #8a9ab5 !important;
}
/* Chrome, Safari, Edge, Opera */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}
/* Utilities the views use that neither Bootstrap nor style.css defines
   (the pages were written against a theme whose CSS never came across). */
.fs-xs { font-size: 0.75rem !important; }
.ls-wide { letter-spacing: 0.08em; }
.ls-wider { letter-spacing: 0.12em; }
.py-6 { padding-top: 4.5rem !important; padding-bottom: 4.5rem !important; }
.mt-6 { margin-top: 4.5rem !important; }
.opacity-10 { opacity: 0.1 !important; }
.grayscale { filter: grayscale(100%); }
.color-white { color: #fff !important; }
.dashed-bot { border-bottom-style: dashed !important; }
.transition-all { transition: all 0.2s ease-in-out; }

.hover-lift {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.hover-lift:hover {
    transform: translateY(-3px);
    box-shadow: 0 0.75rem 1.5rem rgba(0, 82, 204, 0.2) !important;
}

.btn-icon-only {
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* A choice card: the radio is hidden (style.css), the card is the control. */
.card-radio-btn {
    display: block;
    cursor: pointer;
    margin-bottom: 0;
}
.card-input .check-circle {
    transition: background-color 0.2s ease, border-color 0.2s ease;
}
.card-input-element:checked + .card-input .check-circle {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary) !important;
}
.card-input-element:checked + .card-input .check-circle .check-indicator {
    color: #fff !important;
}

/* A blog post's body comes from the editor as plain HTML. */
.article-content img { max-width: 100%; height: auto; border-radius: 0.75rem; }
.article-content h2, .article-content h3, .article-content h4 { color: var(--bs-body-color); font-weight: 700; margin: 2rem 0 1rem; }
.article-content p { margin-bottom: 1.25rem; }
.article-content blockquote { border-left: 4px solid var(--bs-primary); padding-left: 1rem; font-style: italic; }
