credit-direct/assets/css/cd_main.css
2025-12-18 09:44:42 +01:00

1568 lines
29 KiB
CSS

@import url('fonts.css');
@import url('range-selector.css');
:root {
--orange-credit-direct: #F76622;
--text-dark: #333333;
--background-light: #f5f5f5;
}
.load_simulator {
/* display: -webkit-flex;
display: flex; */
color: #192c4a;
}
.cout_total_value.final {
font-size: 16px;
font-weight: 800;
}
.ls_result_label.final {
font-size: 16px;
font-weight: 800;
}
h3.simulator_title {
font-size: 30px !important;
color: #001954 !important;
text-align: center;
margin-top: 3rem !important;
margin-bottom: 1rem !important;
}
h4.simulator_subtitle {
font-size: 18px !important;
color: #001954 !important;
margin: 2em 0 1em 0;
}
.load_simulator label {
vertical-align: baseline;
color: #192c4a;
}
.widget-input-text {
border: 1px #E8E8E8 solid;
padding: 5px;
}
#date-range-selector {
margin: 0;
text-align: center;
margin-bottom: 10px;
margin-top: 10px;
padding: 0px;
}
.date-range-buttons {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 4px;
}
.date-range-buttons li:last-child:nth-child(odd) {
grid-column: 1 / -1;
}
li.months-inactive,
li.months-active {
list-style: none;
display: inline-block;
padding: 5px 10px;
/* border-bottom: 2px solid #274471; */
color: #274471;
font-weight: 700;
cursor: pointer;
}
li.months-inactive,
li.months-active {
box-shadow: 0 5px 10px 0 rgba(184, 184, 184, 0.1);
border-radius: 8px;
border: 1px solid #e0e0e0;
margin: 6px;
transition: all ease-in 0.3s;
font-size: 0.9em;
font-weight: normal;
}
li.months-active .mensualite {
font-size: 1.2em;
font-weight: 700;
}
li.months-inactive {
border-color: #c3c3c3;
color: #c3c3c3;
cursor: default;
}
li.months-active.selected,
li.months-active:hover {
/* border-bottom: 2px solid #fe8c1e; */
background: #fe8c1e;
color: #fff;
}
.stimulator-slider-control {
border: none;
border-radius: 50%;
width: 22px;
background-color: #274471;
color: #fff;
float: left;
}
.slider-count-wrapper {
width: calc(100% - 44px);
display: block;
float: left;
margin-top: 5px;
background: linear-gradient(#e9e9e9, #fff);
border-color: #1c3050;
color: #fff;
}
div.stimulator_info_block {
display: inline-block;
}
.stimulator_label,
.stimulator_value {
font-size: 12px;
margin-bottom: 5px;
}
#additional_messages,
.disclaimer p {
font-size: 12px;
text-align: justify;
margin: 1.5rem 0 1rem 0 !important;
}
.disclaimer p.credit-example {
color: #192c4a;
font-size: 12px;
margin: 0 !important;
}
p em {
color: #192c4a;
font-size: 10px;
margin: 0 !important;
}
.exemple-info p em {
font-size: 0.8em;
}
.disclaimer p.credit-example strong {
font-weight: 900;
}
#additional_messages {
color: #fd841f
}
#additional_messages:empty {
display: none;
}
.stimulated-results {
background: url("images/blug-abstract-bg.png");
background-size: cover;
min-height: 387px !important;
}
.load_simulator .vc_col-md-8,
.load_simulator .vc_col-md-4 {
padding: 20px;
}
.ls_result_label {
float: left;
font-size: 15px;
font-weight: 700;
color: #fff;
text-transform: uppercase;
margin-bottom: 20px;
}
.ls_result_value {
float: right;
}
.ls_result_value,
.ls_result_value span {
font-size: 15px;
font-weight: 700;
color: #fff;
}
.btn.stimulator_result_btn {}
.load_simulator .vc_col-md-12 {
width: 100%;
}
.load_simulator .vc_col-md-12,
.load_simulator .vc_col-md-6,
.load_simulator .vc_col-lg-4 {
padding: 0;
display: inline-block;
}
form.load_simulator>div,
div.load_simulator>div {
padding: 10px 20px !important;
/* background-color: #f5f5f5; */
}
.first-col {
background: #fff;
background-size: cover;
min-height: 387px !important;
box-shadow: 0 4px 19px 0 rgba(8, 41, 78, .15);
border-radius: 15px;
/* margin: 1rem; */
}
.stimulated-results {
background: #fff;
background-size: cover;
min-height: 387px !important;
box-shadow: 0 4px 19px 0 rgba(8, 41, 78, .15);
border-radius: 15px;
/* margin: 1rem; */
}
.advice-text {
color: #192c4a;
}
.ls_result_label {
float: left;
font-size: 14px;
font-weight: 700;
color: #192c4a;
margin-bottom: 20px;
text-transform: none;
}
.ls_result_value {
float: right;
}
.ls_result_value,
.ls_result_value span {
font-size: 15px;
font-weight: 700;
color: #192c4a;
}
.stimulator_result_btn {
font-size: 20px !important;
width: 100%;
padding: 25px 0 !important;
font-weight: 600 !important;
}
.show-on-mobile {
display: none;
}
.btn {
display: inline-block;
padding: 6px 12px;
margin-bottom: 0;
font-size: 14px;
font-weight: 400;
line-height: 1.42857143;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-ms-touch-action: manipulation;
touch-action: manipulation;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-image: none;
border: 1px solid transparent;
border-radius: 8px;
margin-top: 1rem;
}
.btn-warning,
.vc_btn3-color-warning,
.vc_btn3.vc_btn3-color-warning.vc_btn3-style-modern {
color: #fff !important;
border-color: #ff921d !important;
background: #ff921d !important;
background: #ff921d !important;
background: #ff921d !important;
background: #ff921d!important;
font-weight: bolder !important;
font-size: 14px !important;
}
.stimulator_result_btn {
font-size: 15px !important;
width: 100%;
padding: 15px 0 !important;
font-weight: 600 !important;
}
.ui-slider-input {
display: none !important;
}
.range_selector {
display: inline-block;
width: 100%;
}
.slider-count-wrapper {
margin-left: 1.5rem;
}
.icon-check label.form-check-label:hover,
.icon-check label.form-check-label.active {
background-color: #fe8c1e;
color: white;
}
.icon-check label.form-check-label:active {
background-color: #fe8c1e !important;
color: white!important;
}
.range_selector.selected_months {
margin-bottom: 10px;
}
.stimulator_value {
float: right;
font-weight: 700;
}
.stimulator_label {
float: left;
font-weight: 700;
}
.stimulator_label,
.stimulator_value {
font-size: 12px;
margin-bottom: 5px;
}
input.widget-input-text.col-lg-8 {
width: 66.66666667%;
}
.stimulator-slider-control {
border: none;
border-radius: 6px;
/* padding: 4px 12px; */
margin: 0 6px;
/* width: 22px; */
height: 20px;
line-height: 2px;
background-color: #1c3050;
color: #fff;
float: left;
font-weight: 700;
}
.slider-count-wrapper {
position: relative;
width: calc(100% - 8px);
display: block;
float: left;
margin-top: 5px;
background-color: #d6d7db;
border-color: #1c3050;
color: #fff;
/* margin: 50px 0 20px 0; */
margin: 15px 0 20px 0;
}
/* .slider-count-wrapper::after {
content: '';
position: absolute;
height: 12px;
width: 100%;
top: 0;
border-radius: 8px;
background-color: #f76622;
} */
.slider-count-wrapper .after_bar {
position: absolute;
height: 12px;
width: 100%;
top: 0;
border-radius: 8px;
}
.after_bar_month {
position: absolute;
height: 12px;
width: 100%;
top: 0;
border-radius: 8px;
background-color: #fe8c1e;
}
.slider-count-wrapper .after_bar.active {
background-color: #fe8c1e;
}
.slider-count-wrapper {}
.ui-slider-horizontal span {
font-weight: bold;
}
#selected_capital {
/* margin-bottom: 10px; */
}
#selected_months {
/* display: none;
color: #f6931f; */
font-weight: bold;
}
.simulator_selectors>.form-group>label {
padding: 5px 0;
margin-bottom: 0;
}
.stimulated-results .disclaimer-results {
margin-top: 20px;
}
.stimulated-results,
.stimulated-results .disclaimer-results p,
.stimulated-results .disclaimer-results p em,
.stimulated-results .disclaimer-results a {
color: #fff;
font-weight: 300;
font-size: 12px;
}
h3.ui-accordion-header {
color: #333;
background: none;
border: none;
border-bottom: 1px solid #284776;
font-size: 1.4em;
padding-bottom: 5px;
border-radius: 0;
cursor: pointer;
}
h3.ui-accordion-header i {
color: #284776;
}
.wp-credit-form {
padding: 25px 0;
}
.wp-credit-form input[type="number"],
.wp-credit-form input[type="date"],
.wp-credit-form input[type="text"],
.wp-credit-form input[type="tel"],
.wp-credit-form input[type="email"],
#selected_capital {
border: 1px solid #ccc;
}
.form-group {
margin-top: 15px;
}
label {
display: inline-block;
max-width: 100%;
margin-bottom: 5px;
font-weight: 700;
font-size: 10px;
}
.form-control {
display: block;
width: 100%;
height: var(--form_input_height);
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857143;
color: #555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.hidden {
display: none;
}
.date-range-buttons .mensualite {
display: block;
margin-top: 8px;
text-align: center;
}
ul.credit_type,
div.loan_type_radio {
padding-left: 0;
margin-left: -7.5px;
margin-right: -7.5px;
}
.credit_type li,
.loan_type_radio .form_check {
list-style: none;
padding: 0 8px;
margin-bottom: 16px;
}
.credit_type li a {
display: block;
height: 100%;
padding: 8px 12px;
border: 1px solid #ccc;
border-radius: 4px;
transition: all ease-in 0.3s;
}
.loan_type_radio .loan_type,
.loan_type_radio .sub_loan_type,
.loan_type_radio .sub_auto_loan_type {
display: none;
}
/* .sub_auto {
margin-top: 15px 0;
padding: 15px 0;
border-top: 1px solid #f2f3f5;
} */
.sub_radio_sel {
margin-top: 15px;
padding: 12px;
border-radius: 8px;
background: 1px solid #f2f3f5;
}
.loan_type_radio label {
display: inline-block;
width: 100%;
height: 100%;
cursor: pointer;
text-align: center;
line-height: normal;
border-radius: 8px;
border: 1px solid #cfcdcd;
transition: all ease-in 0.3s;
font-size: 0.7em;
font-weight: normal;
padding: 15px 5px 10px 5px;
}
/* .col-md-4 {
padding: 10px 20px !important;
} */
/* .col-md-12:not(.co-emprunteur) {
padding: 0px !important;
} */
.loan_type_radio label i {
display: inline-block;
text-align: center;
font-size: 1.3em;
padding: 5px;
}
.loan_type_radio label .label_text {
display: inline-block;
/* margin-top: 15px; */
width: 100%;
font-weight: bold;
}
.simu_step {
display: inline-block;
width: 30px;
height: 30px;
border-radius: 50%;
background-color: #ff921d;
color: #fff;
text-align: center;
font-size: 0.8em;
line-height: 30px;
font-weight: 700;
margin-right: 8px;
}
.credit_type li a:hover,
.loan_type_radio label:hover i,
.loan_type_radio .loan_type:checked+label,
.loan_type_radio .sub_loan_type:checked+label i,
.loan_type_radio .sub_auto_loan_type:checked+label i,
.credit_type li a.active {
text-decoration: none;
}
/**multistep progress**/
.progressbar {
display: flex;
justify-content: center;
list-style: none;
counter-reset: container 0;
}
.progressbar li {
/* display: flex; */
text-align: center;
list-style: none;
text-transform: uppercase;
counter-increment: container 1;
position: relative;
/* margin-right: 133px;
margin-top: 20px; */
width: 33.33%;
/* float: left; */
letter-spacing: 1px;
}
/* .progressbar li.active-step::before {
background-color: #f76622;
border: none;
color: #fff;
} */
.progressbar li.active-step:before,
.progressbar li.active-step:after {
background: #f76622;
color: white;
}
.progressbar li::before {
/* content: counter(container);
position: absolute;
height: 40px;
width: 40px;
border-radius: 50%;
border: 2px solid #f76622;
color: #f76622;
text-align: center;
line-height: 40px;
z-index: 10;
background-color: #fff;
font-weight: 700; */
content: counter(container);
position: relative;
counter-increment: step;
width: 40px;
height: 40px;
line-height: 35px;
display: block;
font-size: 12px;
color: #f76622;
text-align: center;
background: white;
border: 2px solid #f76622;
border-radius: 50%;
margin: 0 auto 10px auto;
font-size: 1.2em;
z-index: 1;
}
.progressbar li::after {
/* content: '';
position: absolute;
height: 2px;
width: 140px;
background-color: #f76622;
top: 12px;
right: -10px; */
content: '';
width: 100%;
height: 2px;
background: #f76622;
position: absolute;
left: -50%;
top: 18px;
z-index: 0;
}
.progressbar li:first-child::after {
content: none;
}
#selected_capital_range {
background-color: #d6d7db;
box-shadow: none;
border-radius: 8px;
height: 12px;
}
.outside_box_wrapper {
display: flex;
justify-content: center;
margin-top: 15px;
align-items: center;
}
.outside_box{
border-color: #1c3050;
background: #1c3050;
min-width: 1.2em;
min-height: 1.2em;
cursor: grab;
padding: 4px 8px;
text-wrap: nowrap;
border-radius: 4px;
font-size: 1.25em;
line-height: 22px;
font-weight: 700;
}
.ui-slider-horizontal .ui-slider-handle .slider_capital_box, .ui-slider-horizontal .ui-slider-handle .slider_duree_box {
display: none;
position: absolute;
top: -38px;
border-color: #1c3050;
background: #1c3050;
min-width: 1.2em;
min-height: 1.2em;
cursor: grab;
padding: 2px 6px;
text-wrap: nowrap;
border-radius: 4px;
left: -50px;
}
.ui-slider-horizontal .ui-slider-handle .slider_duree_box {
left: -22px;
}
.ui-slider-horizontal .ui-slider-handle {
display: inline-block;
text-align: center;
font-size: 1.25em;
line-height: 22px;
width: 26px;
height: 26px;
border-radius: 50%;
background: #1c3050;
border: 0;
cursor: pointer;
-webkit-box-shadow: none;
box-shadow: 0px 0px 0px 4px rgba(28, 48, 80, 0.3);
}
#selected_months_range {
background-color: #d6d7db;
box-shadow: none;
border-radius: 8px;
height: 12px;
margin: 0;
}
#selected_months_range .ui-slider-handle {
display: inline-block;
text-align: center;
font-size: 1.25em;
line-height: 23px;
width: 26px;
height: 26px;
border-radius: 50%;
background: #1c3050;
border: 0;
cursor: pointer;
-webkit-box-shadow: none;
box-shadow: 0px 0px 0px 4px rgba(28, 48, 80, 0.3);
}
#selected_months_range .ui-slider-handle .slider_months_box {
position: absolute;
top: -38px;
border-color: #1c3050;
background: #1c3050;
min-width: 1.2em;
min-height: 1.2em;
cursor: grab;
padding: 2px 6px;
text-wrap: nowrap;
border-radius: 4px;
left: -50px;
}
/*.active-step {
display: block !important;
} */
.pivot-value {
color: #f76622 !important;
}
#selected_capital_range {
position: relative;
overflow: visible;
}
.pivot-zone {
border-radius: 0 8px 8px 0;
z-index: 1;
background-color: rgba(247, 102, 34, 0.15) !important;
}
.stimulator_result_btn.disabled {
opacity: 0.6;
cursor: not-allowed;
background: #cccccc !important;
border-color: #cccccc !important;
}
.credit-recap {
background-color: #fff;
padding: 20px 0;
/* box-shadow: 0 2px 4px rgba(0,0,0,0.05); */
/* border: 1px solid #e0e0e0; */
}
.infos-credits-top {
background-color: #f8f9fa;
padding: 20px 0;
margin: 0 -15px;
}
.steps-holder {
/* background-color: #f8f9fa;
padding: 20px 0;
margin: 0 -15px; */
/* box-shadow: 0 2px 4px rgba(0,0,0,0.05); */
/* border: 1px solid #e0e0e0; */
}
.credit-recap-holder {
padding: 3rem 0;
width: 100%;
}
.credit-recap-container {
max-width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
/* padding: 0 30px; */
}
.credit-info {
display: flex;
align-items: stretch;
gap: 0;
width: 100%;
}
.credit-item {
display: flex;
flex-direction: column;
gap: 8px;
min-width: 140px;
border: 1px solid #e0e0e0;
padding: 10px 15px;
background-color: #fff;
margin-left: -1px;
flex: 1;
}
.credit-item:first-child {
margin-left: 0;
}
.credit-label {
font-size: 14px;
color: #666;
font-weight: normal;
}
.credit-value {
font-size: 18px;
font-weight: bold;
color: var(--text-dark);
}
.credit-value.highlight {
color: var(--orange-credit-direct);
}
.progress-steps {
display: flex;
justify-content: space-between;
max-width: 1200px;
margin: 20px auto;
padding: 0 15px;
}
.step {
display: flex;
align-items: center;
gap: 10px;
}
.step-number {
width: 24px;
height: 24px;
border-radius: 50%;
background-color: #fff;
border: 2px solid #ddd;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
font-size: 14px;
}
.step.active .step-number {
background-color: var(--orange-credit-direct);
border-color: var(--orange-credit-direct);
color: white;
}
.step-text {
color: #999;
font-size: 14px;
}
.step.active .step-text {
color: var(--text-dark);
font-weight: bold;
}
.credit-step-header {
background-color: #001954;
color: #fff;
padding: 40px 20px;
margin: 0 -20px;
}
.credit-step-header h2 {
color: #fff;
margin-bottom: 0;
}
.iziModal-header.inner-header {
background: none;
box-shadow: none;
border-bottom: none;
}
.comment_fieldset {
margin-top: 20px;
}
.stimulated-results.info_active .btn_holder {
position: relative;
right: 0;
left: 0;
width: 100%;
}
@media (max-width: 768px) {
.credit-info {
flex-wrap: wrap;
gap: 15px;
}
.credit-item {
flex: 1 1 calc(50% - 15px);
}
.progress-steps {
flex-wrap: wrap;
gap: 20px;
}
.step {
flex: 1 1 calc(50% - 10px);
}
body .container {
width: 100%;
}
}
@media (max-width: 480px) {
.credit-item {
flex: 1 1 100%;
}
.step {
flex: 1 1 100%;
}
}
/**end progress bar**/
@media (max-width: 600px) {
.show-on-mobile {
display: block;
}
.hide-on-mobile {
display: none !important;
}
.master-slider-parent {
display: none;
}
}
@media (max-width: 648px) {
.form-body .nav-justified>li {
width: 20%;
display: inline-block;
margin: 0;
box-sizing: border-box;
float: left;
}
.form-wizard ul li span.number {
width: 48px;
padding: 7px 4px;
font-size: 12px;
}
.form-body>ul {
display: flex;
}
.form-wizard ul li span.desc {
font-size: 12px;
font-weight: 900;
word-wrap: break-word;
}
}
/* Styles pour les colonnes de crédit */
/* .credit-cols {
display: flex;
flex-wrap: wrap;
margin: 0 -15px;
} */
.credit-cols .wpcf-borrower,
.credit-cols .wpcf-coborrower {
padding: 15px;
transition: all 0.3s ease;
}
/* Style pour le mode deux colonnes */
.credit-cols .wpcf-borrower.col-md-6,
.credit-cols .wpcf-coborrower.col-md-6 {
width: 50%;
border-right: 1px solid #dee2e6;
}
/* Ajustements responsives */
@media (max-width: 768px) {
.credit-cols .wpcf-borrower.col-md-6,
.credit-cols .wpcf-coborrower.col-md-6 {
width: 100%;
border-right: none;
border-bottom: 1px solid #dee2e6;
}
.credit-cols .wpcf-borrower.col-md-6:last-child,
.credit-cols .wpcf-coborrower.col-md-6:last-child {
border-bottom: none;
}
}
/* Animation pour l'apparition/disparition */
.wpcf-coborrower {
opacity: 1;
transition: opacity 0.3s ease;
}
.wpcf-coborrower.d-none {
opacity: 0;
display: none !important;
}
legend.sub-section {
margin-top: 15px;
}
/* Styles pour le rappel de crédit */
.credit-reminder {
position: fixed;
bottom: 20px;
left: 20px;
max-width: 400px;
z-index: 9999;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
border-radius: 8px;
background-color: #fff;
border: 1px solid #e0e0e0;
transition: all 0.3s ease;
}
.credit-reminder:hover {
box-shadow: 0 4px 15px rgba(0,0,0,0.15);
transform: translateY(-2px);
}
.credit-reminder .button {
background-color: #007bff;
color: white;
padding: 8px 15px;
text-decoration: none;
border-radius: 4px;
display: inline-block;
transition: background-color 0.3s ease;
}
.credit-reminder .button:hover {
background-color: #0056b3;
}
.credit-reminder h4 {
margin: 0 0 10px 0;
color: #333;
font-size: 1.1em;
}
.credit-reminder p {
margin: 0 0 5px 0;
color: #666;
font-size: 0.95em;
line-height: 1.4;
}
.credit-reminder .time-info {
color: #999;
font-size: 0.85em;
margin-top: 8px;
}
.col-sim {
position: relative;
}
.active_btn {
background: #ff921d !important;
border: none !important;
}
/* Credit Reminder Button Styles */
.credit-reminder-wrapper {
position: fixed;
bottom: 75px;
left: 15px;
z-index: 9999;
}
.credit-reminder-btn {
background: #fff;
border-radius: 50%;
width: 45px;
height: 45px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 2px 10px rgba(0,0,0,0.2);
cursor: pointer;
transition: all 0.3s ease;
padding: 8px;
position: relative;
}
.credit-reminder-btn:hover {
transform: scale(1.1);
box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}
.credit-reminder-btn img {
width: 100%;
height: 100%;
object-fit: contain;
}
.notification-badge {
position: absolute;
top: -5px;
right: -5px;
background: #ff6b00;
color: white;
border-radius: 50%;
width: 22px;
height: 22px;
display: flex;
align-items: center;
justify-content: center;
font-size: 12px;
font-weight: bold;
border: 2px solid #fff;
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.stimulated-results .btn_holder {
position: absolute;
bottom: 15px;
left: 15px;
right: 15px;
width: calc(100% - 30px);
}
/**modal override**/
.modal-backdrop.fade.show {
opacity: 0.5 !important; /* ou 1 selon votre préférence */
z-index: 1050 !important; /* valeur Bootstrap standard, à ajuster si besoin */
}
.modal.fade.show { opacity: 1 !important; }
section.co-emprunteur {
padding: 12px;
border-radius: 6px;
}
.credit-incentive {
text-align: center;
}
.fusion-tb-header .main-header-container {
z-index: 999 !important;
}
.iziModal-overlay {
z-index: 1000 !important;
}
#creditReminderModal {
z-index: 1001 !important;
}
@media (max-width: 768px) {
.credit-reminder {
left: 10px;
right: 10px;
bottom: 10px;
max-width: none;
}
.credit-reminder > div {
flex-direction: column;
text-align: center;
}
.credit-reminder .button {
margin-top: 10px;
width: 100%;
text-align: center;
}
.credit-reminder-wrapper {
bottom: 75px;
left: 15px;
}
.credit-reminder-btn {
width: 35px;
height: 35px;
padding: 6px;
}
.notification-badge {
width: 18px;
height: 18px;
font-size: 10px;
}
}
/* Spinner de chargement */
.cd-loading-spinner {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 1000;
width: 40px;
height: 40px;
border: 4px solid #f3f3f3;
border-top: 4px solid #ff6b00;
border-radius: 50%;
animation: cd-spin 1s linear infinite;
}
@keyframes cd-spin {
0% { transform: translate(-50%, -50%) rotate(0deg); }
100% { transform: translate(-50%, -50%) rotate(360deg); }
}
/* Animations de transition */
@keyframes slideInUp {
0% {
transform: translateY(100%);
}
100% {
transform: translateY(0);
}
}
@keyframes slideOutDown {
0% {
transform: translateY(0);
}
100% {
transform: translateY(100%);
}
}
.animate-slide-in-up {
animation: slideInUp 0.5s ease-out forwards;
}
.animate-slide-out-down {
animation: slideOutDown 0.5s ease-in forwards;
}
.fade-out {
animation: fadeOut 0.3s ease-out forwards;
}
.fade-in {
animation: fadeIn 0.3s ease-in forwards;
}
@keyframes fadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
/* Styles pour les boutons de navigation entre étapes */
section.bottom-form {
width: 100%;
}
.form-buttons {
display: flex;
justify-content: space-between;
align-items: center;
gap: 20px;
}
.form-buttons .btn {
flex: 1;
max-width: 200px;
}
.form-buttons .btn-secondary {
background-color: #6c757d;
border-color: #6c757d;
color: #fff;
}
.form-buttons .btn-secondary:hover {
background-color: #5a6268;
border-color: #545b62;
color: #fff;
}
button.wpcf-btn-retirer {
padding: 8px 6px;
border-radius: 6px;
border: 1px solid #c0392b;
background-color: #fff;
color: #000;
font-size: 14px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
transition: all 0.3s ease;
}
button.wpcf-btn-retirer:hover {
background-color: #c0392b;
color: #fff;
}
@media (max-width: 768px) {
.form-buttons {
flex-direction: column;
gap: 15px;
}
.form-buttons .btn {
max-width: 100%;
width: 100%;
}
}
/* ========================================
SYSTÈME DE SAUVEGARDE AUTOMATIQUE LOCALSTORAGE
======================================== */
/* Indicateur de sauvegarde */
.auto-save-indicator {
position: fixed;
top: 20px;
right: 20px;
background: #28a745;
color: white;
padding: 10px 15px;
border-radius: 5px;
font-size: 14px;
z-index: 9999;
opacity: 0;
transform: translateY(-20px);
transition: all 0.3s ease;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.auto-save-indicator.show {
opacity: 1;
transform: translateY(0);
}
.auto-save-indicator.saving {
background: #ffc107;
color: #212529;
}
.auto-save-indicator.error {
background: #dc3545;
}
/* Animation de pulsation pour indiquer la sauvegarde */
.auto-save-indicator.saving::before {
content: '';
display: inline-block;
width: 12px;
height: 12px;
border: 2px solid currentColor;
border-radius: 50%;
border-top-color: transparent;
animation: spin 1s linear infinite;
margin-right: 8px;
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
/* Style pour les champs modifiés */
.field-modified {
border-color: #28a745 !important;
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25) !important;
transition: all 0.3s ease;
}
/* Style pour les champs restaurés */
.field-restored {
border-color: #17a2b8 !important;
box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.25) !important;
transition: all 0.3s ease;
}
/* Message d'information localStorage */
.localstorage-info {
background: #e7f3ff;
border: 1px solid #b3d9ff;
border-radius: 5px;
padding: 10px 15px;
margin-bottom: 20px;
font-size: 14px;
color: #0056b3;
}
.localstorage-info .icon {
margin-right: 8px;
font-weight: bold;
}
/* Bouton pour effacer les données sauvegardées */
.clear-storage-btn {
background: #6c757d;
color: white;
border: none;
padding: 5px 10px;
border-radius: 3px;
font-size: 12px;
cursor: pointer;
margin-left: 10px;
}
.clear-storage-btn:hover {
background: #5a6268;
}
.simu_steps {
display: grid;
gap: 20px;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: 1fr;
}
.first-col,
.second-col,
.third-col {
padding: 15px;
}
@media screen and (max-width: 992px) {
.simu_steps {
grid-template-columns: 1fr;
grid-template-rows: 1fr;
}
.stimulated-results .btn_holder {
position: relative;
}
}
/* Responsive pour la sauvegarde automatique */
@media (max-width: 768px) {
.auto-save-indicator {
top: 10px;
right: 10px;
left: 10px;
text-align: center;
}
}