html, body { height: 100%;}
body {background-color: #fdfaf6 !important; color: #1c244b !important; font-weight: 400 !important;min-height: 100vh;display: flex;    flex-direction: column;}
main {    flex: 1;     padding: 20px;}
.toastDiv {position: fixed; bottom:40px; right: 20px;}
.bg-primary{background-color: #1c244b !important}
.bg-secondary{background-color: #f6ead4 !important}

.text-primary{color: #1c244b !important}
.text-secondary{color: #f6ead4 !important}
hr{border: 2px solid #dec596 !important;}

.nav-link{border-right: 1px solid white !important; padding: 0 1.5rem !important}
.rounded-lg{border-radius: 20px !important;}
.card-img-top{border-radius: 20px 20px 0 0 !important;}
.card-body{background-color: #f3f5f8 !important; border-radius: 0 0 20px 20px !important;}
.btn-primary{border: none !important; background-color: #1c244b !important; }
.fw-bold{font-weight: 500 !important}

main{padding-top:0;}
.form-control, .form-select{border: 1px solid #1c244b !important; border-radius: 10px !important}
.ts-wrapper.single .ts-control, .ts-dropdown.single {border: none !important; background-color: transparent !important}
.ts-wrapper.single .ts-control {background-color: white !important;background-image: none !important; box-shadow: none !important}
.ts-dropdown-content {background-color: white !important}
.ts-wrapper.single .ts-control::after {display: none !important}
.ts-control{padding: 0.2rem !important}
.nav-pills .nav-link.active, .nav-pills .show>.nav-link {color: #1c234b;background-color: #f6ead4;}
#pills-home-tab,#pills-profile-tab {color: #1c234b !important;}

.text-container {
    max-height: 500px;              /* hauteur repliée */
    overflow: hidden;
    position: relative;
    transition: max-height .35s ease;
}

.text-container-rates {
    max-height: 180px !important;              /* hauteur repliée */
}
/* dégradé transparent en bas (fond blanc ici) */
.text-container::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 3rem;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #ffffff);
    pointer-events: none;
}
.text-container.expanded, .text-container-rates.expanded  {
    max-height: 5000px !important;             /* grande valeur pour tout afficher */
}
.text-container.expanded::after {
    display: none;                   /* on retire le dégradé quand ouvert */
}
.read-more {
    display: inline-block;
    margin-top: .5rem;
    text-decoration: underline;
    cursor: pointer;
}
