@import url(https://lesvacantes.com/wp-content/uploads/elementor/css/post-3191.css?ver=1765366615);

:root {
  --green: #4f6e5a;
  --dark-green: #384e40;
  /* --dark-green: #1b3524; */
  --light-green: #4f6d59;
  --yellow:#ffefc8;
  --orange:#f8e5bd;
  --or:#c2a766;
  --grey:#efefef;
  /* --grey:#f0e7db; */
  --silver:#D6D9D7;
  --red: #dc3545;
}
 
/* GLOBAL */
body {}
body * { box-sizing: border-box; }
body.vacantes_account_page{ background:#ebecec; }

.line{ width:100%; display:block; }
.grid{ display:grid; grid-template-columns: repeat(auto-fit,minmax(0%,1fr)); gap:20px; width:100%; }
.grid > * { width: 100%; }
.flex{ display:flex; gap:20px; flex-wrap:wrap; }
.flex > * { flex:1;  max-width: 100%; }

@media (max-width: 600px) {
  .grid { grid-template-columns: repeat(auto-fit, minmax(100%, 1fr)); }
  .flex { flex-direction: column; }
}

#content{ padding-top: 45px; } 

/* HEADER */
header.elementor-location-header { position:fixed; top:0; left:0; right:0; width:100vw; z-index:1212; }
.admin-bar header.elementor-location-header { top:32px;   }

nav a.vact_header_button{ height:34px; margin:auto; color:white; border-color:white; padding:2px 10px; border:1px solid white; border-radius:20px;  font-size:14px; padding:5px 20px!important;}
nav a.vact_header_button:hover{ color:var(--green)!important; border-color:var(--green); background-color:white;  }

@media (max-width: 600px) {
  nav a.vact_header_button { margin:20px 20px; }
}

nav .sub-menu li a{}
nav .sub-menu li a i{ margin-right:5px; }

/* INPUTS STYLES */
#content form { /*max-width: 900px;*/ margin: 20px auto; padding: 0px;   }
#content label { display: block; margin-bottom: 10px;  width: 100%; color: #333; font-weight: normal; }
#content .vact_form_step p { font-weight: bold; }
#content input[type="text"],
#content input[type="email"],
#content input[type="password"],
#content input[type="url"],
#content input[type="tel"],
#content input[type="number"],
#content input[type="search"],
#content input[type="password"],
#content textarea,
#content select { line-height:1; width: 100%; padding: 0px 30px; margin: 5px 0 15px 0; border: 1px solid #69727d; border-radius: 20px; box-sizing: border-box; font-size: 16px;   }

#content [type="submit"],
#content [type="button"],
#content .button { background-color: var(--green); color: white; padding: 10px 20px; border: none; border-radius: 20px; cursor: pointer; font-size: 14px;   text-decoration: none; } 
#content button.outline, #content input[type="submit"].outline,
#content [type="button"].outline,
#content .button.outline { background-color: transparent; color: var(--green); border: 1px solid var(--green); }
#content [type="submit"]:hover,
#content [type="button"]:hover,
#content .button:hover,
#content button.outline:hover,
#content [type="submit"].outline:hover,
#content [type="button"].outline:hover,
#content .button.outline:hover { background-color: var(--green); color: white; text-decoration: none; }
#content [type="submit"].active,
#content [type="button"].active,
#content .button.active,
#content button.outline.active,
#content [type="submit"].outline.active,
#content [type="button"].outline.active,
#content .button.outline.active { background-color: var(--green); color: white; text-decoration: none; }

#kwp-popup-register-submit{ border-color: var(--green); }
#kwp-popup-register-submit:hover{ background-color: var(--green); color: white; text-decoration: none; }

.file-upload-label { display: inline-block; position: relative; cursor: pointer; }
.file-upload-label .file-input { display: none; }
.file-upload-label .file-button { display: inline-block; padding: 10px 20px; background: #0073aa; color: white; border-radius: 4px; font-weight: 500; transition: all 0.3s ease; margin: 0 0 10px 0; line-height: 1.5; }
.file-upload-label .file-button i { margin-right: 8px; }


.kwp-error { background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; padding: 12px; border-radius: 4px; margin-bottom: 15px; }
.kwp-success { background: #d4edda; border: 1px solid #c3e6cb; color: #155724; padding: 12px; border-radius: 4px; margin-bottom: 15px; }

/* #content label { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; } */
/* #content  label input { flex: 1; } */
/* #content  .vact_card label { display: flex; align-items: center; gap: 10px; } */
/* #content  .vact_card .flex label { flex: 1; } */

/*** NOTIFICATION ***/
.notification { padding: 15px 20px; border-radius: 20px; margin: 20px 0; font-size: 16px; }
.notification.kwp-error { border-left: 5px solid #e74c3c; background-color: #fceaea; color: #c0392b; }
.notification.kwp-success { border-left: 5px solid #2ecc71; background-color: #eafaf1; color: #27ae60; }  


/*** ELEMENTOR IMPORT ***/
.elementor-title{font-family:"sangbleu",Sans-serif;font-size:40px;font-weight:400;line-height:40px;color:var(--e-global-color-primary); margin:0 0 10px 0;} 
.elementor-title + p { margin: 0 0 30px 0; font-size:18px; color:#333; }

/*** CARDS ***/
.vact_card{ background:#fff;  border-radius:20px; margin:0 0 20px 0; padding:20px;    }
 
/*** DASHBOARD ***/
/* DASHBOARD MENU */
.kwp_dashboard_menu { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 40px 0; padding:0; list-style-type:none; align-content: space-between; }
.kwp_dashboard_menu li { flex: 1; min-width: 90px; text-align: center;   }
.kwp_dashboard_menu li a { width:100%; display: block; }

@media screen and (max-width: 600px) {
  .kwp_dashboard_menu { flex-direction: column; }
  .kwp_dashboard_menu li { width: 100%; }
}


/* NUMBER INPUT WITH +/- BUTTONS */
.number-input-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}

.number-input-wrapper .minus-btn,
.number-input-wrapper .plus-btn {
  width: 40px;
  height: 40px;
  font-size: 20px;
  border-radius: 5px;
  border: 2px solid #ddd;
  background: #f5f5f5;
  cursor: pointer;
  transition: all 0.2s ease;
}

.number-input-wrapper .minus-btn:hover,
.number-input-wrapper .plus-btn:hover {
  background: var(--green);
  color: white;
  border-color: var(--green);
}

.number-input-wrapper input[type="number"] {
  text-align: center;
  flex: 1;
}
 
/* ACCOUNT CONTAINER */
.vact_account_container { /*max-width: 800px;*/ margin: 50px auto 100px auto;    }

/*** VACANTES GRID ***/
.vact_grid{ display:flex; flex-wrap:wrap; gap:20px; justify-content:flex-start; margin-bottom:100px; }
.vact_grid > * {flex:0 1 calc(20% - 20px);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;max-width:calc(33.333% - 20px);box-sizing:border-box;}
@media (max-width:1024px){.vact_grid > *{flex-basis:calc(50% - 20px);max-width:calc(50% - 20px);}}
/* @media (max-width:600px){.vact_grid > *{flex-basis:100%;max-width:100%;}} */

/*** VACANTES ICON LINK ***/
.vact_iconlink { display: flex; flex-direction: column; align-items: center; justify-content: center; aspect-ratio: 1/1; 
  background:white; border: 2px solid transparent; border-radius: 20px; text-decoration: none !important; color: var(--green); overflow: hidden;
  font-size: 1.2em; transition: background 0.2s, color 0.2s; }
.vact_iconlink:hover, .vact_iconlink:focus { background: var(--dark-green); color: #fff; }
.vact_iconlink:hover *, .vact_iconlink:focus *{  color: #fff; }
.vact_iconlink i{ text-align: center;  font-size:40px; margin-bottom: 15px;}
.vact_iconlink span{ text-align: center;  font-size:18px; font-weight:bold; text-decoration:none; }

/*** VACANTES IMG LINK ***/
.vact_list_item { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap:10px; }
.vact_list_item .title { width:100%; text-align:left; font-size:24px; font-family:"sangbleu"; color:#333; }

.vact_imglink { position:relative; display: flex; width:100%;flex-direction: column; align-items: center; justify-content: center; aspect-ratio: 1/1; 
  border-radius: 20px; text-decoration: none !important; color: var(--green); 
  font-size: 1.2em; transition: background 0.2s, color 0.2s; overflow: hidden; }
.vact_imglink:hover, .vact_imglink:focus { background: var(--green); color: #fff; }
.vact_imglink img { width:100%; height:100%; object-fit:cover; display:block; transition: transform 0.5s ease;}
.vact_imglink img:hover { transform: scale(1.1);  }
.vact_imglink_infos { position:absolute; top:10px; bottom:10px; left:10px; right:10px; display:flex; flex-direction:column; justify-content:space-evenly; gap:10px; opacity:0; transition: opacity 0.3s ease; }
.vact_imglink:hover .vact_imglink_infos, .vact_imglink:focus .vact_imglink_infos { opacity:1; }
.vact_imglink_infos a { flex:1; background:rgba(255,255,255,0.8); color:var(--green); padding:5px 10px; border-radius:20px; text-decoration:none !important; font-size:0.9em; display:flex; align-items:center; gap:5px; }
.vact_imglink_infos a:hover { background:var(--green); color:white; }
.vact_imglink_infos a i { font-size:1.2em; text-decoration:none}

/*** VACANTES FORM ***/
.vact_form { display:block; /*max-width:900px;*/ margin:0 auto 50px auto;   }
.vact_form_step { display:none; margin:30px 0 70px; animation:fadeIn 0.5s ease-in-out; background:#fff; border:1px solid #ddd; border-radius:20px;   padding:20px 10%; }
.vact_form_step.active { display:block; }
.vact_form_step h2 { font-size:35px; color:var(--green);  } 

.vart_form_progress{ display:flex; justify-content:space-between; margin-bottom:20px; border-top:1px solid var(--green); }
.vart_form_progress_step{ display:block;  text-align:center; position:relative; top:-15px; border-radius: 50%; color:var(--green);  background-color: white; border:1px solid var(--green); width:30px; height:30px; line-height:30px; font-weight:bold;   }
.vart_form_progress_step.active, .vart_form_progress_step.completed { background-color: var(--green); color: white; }

.vact_form_address{ display:flex; gap:5%; flex-wrap:wrap; }
#content .vact_form_address label{ display:flex; line-height:40px; gap:5px;  margin:0 0 20px 0; }
#content .vact_form_address label input,
#content .vact_form_address label select{  margin:0; }

.vact_form_numbers{}
#content .vact_form_numbers label{ display:flex; line-height:40px; gap:5px;  margin:0 0 20px 0; flex-wrap: nowrap;}
#content .vact_form_numbers label span{ flex:90%;}
#content .vact_form_numbers label .number_input{ flex:10%; display:flex; line-height:40px; gap:2px;  flex-wrap: nowrap; width:100%;}
#content .vact_form_numbers label .number_input button{ margin:0; padding:10px; background:none;  color:silver; }
#content .vact_form_numbers label .number_input input{  -webkit-appearance: textfield;  -moz-appearance: textfield;   appearance: textfield; min-width: 50px; margin:0; padding:10px 0; text-align:center;  }
#content .vact_form_numbers label .number_input input::-webkit-inner-spin-button,
#content .vact_form_numbers label .number_input input::-webkit-outer-spin-button {  -webkit-appearance: none; margin: 0; }

 

.vact_form_buttons{ width:100%; margin-top:20px; display:block; overflow:hidden; }
.vact_form_buttons .next_button{ float:right;}
.vact_form_buttons .back_button{ float:left;}

.gallery-preview{ min-height:20px; }
.gallery-preview .gallery-item img{max-width:100px; height:100%; object-fit:cover; cursor:move; cursor:grab;border:2px solid #eee;border-radius:6px;transition:border-color .2s;}
.gallery-preview .gallery-item img.dragging{opacity:.5;border-color:#2e7d32;}
#content  .gallery-preview .delete-gallery-image{position:absolute; top:-5px; right:-5px; background:white; color:var(--green); border:none; border-radius:50%; width:25px; height:25px; cursor:pointer; font-size:16px; line-height:1; padding:0;}

.vact_form_progress_bar_container{width:100%; display:flex; flex-wrap:no-wrap; margin:10px 0 50px 0; }
.vact_form_progress_bar{flex:90%; width:90%; background:#eee; border-radius:10px; height:15px; }
.vact_form_progress_fill{background:var(--green); height:15px; border-radius:10px; transition:width 0.3s;}

/* .vact_form_step{display:block!important;opacity:1!important;pointer-events:auto!important;position:static!important;visibility:visible!important} */
/* .vact_form_step.active{border:1px dashed #2e7d32} */

.logement_type_choices{ display:grid; grid-template-columns:repeat(3,1fr); gap:15px; flex-wrap:wrap;}
.situation_choices{ display:grid;grid-template-columns:repeat(6,1fr);gap:10px;flex-wrap:wrap;}

.kwp_equipement_grid{ display:grid;grid-template-columns:repeat(7,1fr);column-gap:10px;row-gap:10px; border:none; margin:0; padding:0; }
#content .kwp_equipement_grid label{ display:flex; flex-direction:column; align-items:space-between; justify-content:center;  padding:5px; cursor:pointer; min-width:80px; text-align:center; gap:5px; }

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media screen and (max-width: 600px) {
  .vact_form_step { padding: 20px 20px; }
  .vart_form_progress_step { width: 25px; height: 25px; line-height: 25px; font-size: 12px; }

  .vact_form_progress_bar_container { flex-direction: column; gap: 10px; }
  .vact_form_progress_bar { width: 100%; flex:100%;}

  .logement_type_choices{ grid-template-columns: repeat(1, 1fr); }
  .situation_choices{ grid-template-columns: repeat(1, 1fr); }

  #content .vact_form_address label,
  #content .vact_form_numbers label { flex-direction: column; align-items: flex-start; }
  
  .kwp_equipement_grid{ display:grid;grid-template-columns:repeat(2,1fr); }
}


  
/*** kwp_dashboard_menu ***/
.kwp_dashboard_menu{}
#content .kwp_dashboard_menu .button.outline{ background:white; border:none; }
#content .kwp_dashboard_menu .button.outline.active{ background:var(--green); }
#content .kwp_dashboard_menu .button.outline:hover{ background:var(--green); }


/*** vacante_list_item ***/
.vacante_list_item{display:flex; align-items: flex-start; gap: 20px; padding: 20px; border-bottom: 1px solid #eee; align-items: center; justify-content: space-between;}
.vacante_list_item .title{ margin:0; font-size:24px; font-weight:400; text-decoration:none !important; color:#000; }
.vacante_list_item .title:hover{  color:var(--green); ; }
.vacante_list_item p{ color:#666; margin:0; }
.vacante_list_item .illustr{ flex-shrink: 0;  }
.vacante_list_item .illustr img,
.vacante_list_item .illustr span{ max-width:120px;max-height:120px;border-radius:5px; object-fit:cover; background:var(--or); }
.vacante_list_item .infos{ flex:1; }
.vacante_list_item .actions{ flex:2; display:flex; gap:10px; justify-content: flex-end;  flex-wrap: wrap;}
#content .vacante_list_item .button{ font-size:14px; }
 
.vacante_list_item.reservation_item{ }
.vacante_list_item.reservation_item .infos{ flex:2; } 
.vacante_list_item.reservation_item .actions{ flex:1; }  

@media screen and (max-width: 600px) {
  .vacantes_list_container { padding: 0 10px; }

  .vacante_list_item { flex-direction: column; align-items: center; text-align: center; }
  .vacante_list_item .infos { order: 2; }
  .vacante_list_item .actions { order: 3; justify-content: center; }
  .vacante_list_item .illustr { order: 1; margin-bottom: 15px; }
}

/*** VACANTE CALENDAR ***/
/* #vact_calendar .flatpickr-calendar{width:100% !important; } */
/* #vact_calendar .flatpickr-day.has-period:not(.selected):not(.startRange):not(.endRange){background:#4f6e5a;border-color:#4f6e5a; border-radius:0;color:#fff;}
#vact_calendar .flatpickr-month{font-size:14px!important; height:70px!important; }
#vact_calendar .flatpickr-current-month{ height:70px!important; }
#vact_calendar .flatpickr-months .flatpickr-month .cur-month{font-size:21px!important}
#vact_calendar .flatpickr-months .flatpickr-month .numInputWrapper{ display:none!important;} */

/* #vact_calendar .flatpickr-innerContainer{width: 100%;}
#vact_calendar .flatpickr-rContainer{width: 100%;} */
/* #vact_calendar .flatpickr-days{ width:100% !important; gap:2%;} */
/* #vact_calendar .dayContainer{ width:auto; min-width:auto; max-width: 100%; justify-content: start;} */

/* #vact_calendar .flatpickr-day.selected, 
#vact_calendar .flatpickr-day.startRange, 
#vact_calendar .flatpickr-day.endRange {background:#116b3a; border-color:#116b3a; color:#fff;}
.loyer-wrap{display:flex;align-items:center;gap:4px;margin-left:10px}
.loyer-wrap .loyer-label{color:#116b3a;font-weight:600}
.loyer-wrap .loyer-field{width:80px}

#vact_calendar .badge{display:flex;align-items:center;gap:8px;margin-bottom:8px;} */

/*** POPUP MODAL ***/
.kwp-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 99998; display: none; }
.kwp-modal-content { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #fff; padding: 30px; border-radius: 20px; z-index: 99999; width: 90%; max-width: 450px; text-align: center; }
.kwp-modal-content .kwp-modal-close { position: absolute; top: 10px; right: 15px; font-size: 24px; cursor: pointer; color: #888; }
.kwp-modal-content .kwp-modal-buttons .kwp-modal-button { display: inline-block; padding: 10px 20px; margin: 10px 5px 0; background: #4f6e5a; color: #fff; text-decoration: none; border-radius: 4px; }
.kwp-reservation-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 99998; display: none; }
.kwp-reservation-modal-content { position: fixed; top: 1vh; left: 50%; transform: translateX(-50%); background: #fff; padding: 30px; border-radius: 20px; z-index: 99999; width: 90%; max-width: 500px; text-align: center; height: 98vh; overflow-y: auto; }
.kwp-reservation-modal-close { position: absolute; top: 10px; right: 15px; font-size: 24px; cursor: pointer; color: #888; }
.kwp-date-range-input { width: 100%; padding: 10px; margin: 15px 0; border: 1px solid #ccc; border-radius: 4px; font-size: 14px; box-sizing: border-box; }
.kwp-submit-button { display: inline-block; padding: 10px 20px; margin: 10px 5px 0; background: #4f6e5a; color: #fff; text-decoration: none; border-radius: 20px; border: none; cursor: pointer; }
.kwp-submit-button:disabled { background: #ccc; cursor: not-allowed; }

/*** LOGIN POPUP MODAL ***/
/* .kwp-login-trigger-button { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; background: var(--green); color: #fff; border: none; border-radius: 20px; cursor: pointer; font-size: 16px; transition: all 0.3s ease; }
.kwp-login-trigger-button:hover { background: var(--dark-green); transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
.kwp-login-trigger-button i { font-size: 18px; } */

.kwp-login-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 99998; display: none; backdrop-filter: blur(3px); }
.kwp-login-modal-content { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #fff; border-radius: 20px; z-index: 99999; width: 90%; max-width: 450px; box-shadow: 0 10px 40px rgba(0,0,0,0.3); animation: modalSlideIn 0.3s ease-out; }

@keyframes modalSlideIn { from { opacity: 0; transform: translate(-50%, -60%); } to { opacity: 1; transform: translate(-50%, -50%); } }

.kwp-login-modal-close { position: absolute; top: 15px; right: 15px; font-size: 28px; cursor: pointer; color: #888; transition: color 0.3s ease; z-index: 1; line-height: 1; }
.kwp-login-modal-close:hover { color: #333; transform: rotate(90deg); transition: all 0.3s ease; }

.kwp-login-modal-header {  padding: 30px 30px 0 30px;  text-align: center; }
.kwp-login-modal-header h3 { margin: 0 0 8px 0; font-size: 28px; font-family: "sangbleu", Sans-serif; font-weight: 400; }
.kwp-login-modal-header p { margin: 0; opacity: 0.9; font-size: 15px; }

.kwp-login-modal-body { padding: 30px; }
.kwp-login-modal-body form { margin: 0; }
.kwp-login-modal-body label { display: block; margin-bottom: 10px; width: 100%; color: #333; }
.kwp-login-modal-body input[type="text"],
.kwp-login-modal-body input[type="email"],
.kwp-login-modal-body input[type="password"] { 
    line-height: 1; 
    width: 100%; 
    height: 45px;
    padding: 0px 30px; 
    margin: 5px 0 15px 0; 
    border: 1px solid #69727d; 
    border-radius: 20px; 
    box-sizing: border-box; 
    font-size: 16px; 
    /* font-family: 'Arial', sans-serif;  */
}
.kwp-login-modal-body input[type="checkbox"] { margin-right: 8px; }
.kwp-login-modal-body .login-remember { display: flex; align-items: center; margin: 10px 0 20px 0; }
.kwp-login-modal-body .login-remember label { margin: 0; font-weight: normal; font-size: 14px; }
.kwp-login-modal-body input[type="submit"] { background-color: var(--green); color: white; padding: 10px 20px; border: none; border-radius: 20px; cursor: pointer; font-size: 16px; text-decoration: none; }
.kwp-login-modal-body input[type="submit"]:hover { background-color: var(--green); color: white; text-decoration: none; }

.kwp-login-modal-links { text-align: center; margin-top: 20px; padding-top: 20px; border-top: 1px solid #e0e0e0; }
.kwp-login-modal-links a { color: var(--green); text-decoration: none; font-size: 14px; transition: color 0.3s ease; }
.kwp-login-modal-links a:hover { color: var(--dark-green); text-decoration: underline; }
.kwp-login-modal-links .separator { margin: 0 10px; color: #ccc; }

#kwp-register-modal label{ display:none; }

@media screen and (max-width: 600px) {
  .kwp-login-modal-content { width: 95%; max-width: none; position:fixed; 
    top:5px; left:50%; transform:translate(-50%, 0); height: 95vh; overflow-y: auto; 
  }

  #kwp-register-modal label{ display:none; }
  
}

/*** MESSAGING SYSTEM ***/
.messaging-container { display: flex; margin: 0 0 50px 0; gap:20px; }
.column {  }
.column:last-child { border-right: none; }
#conversations-view { width: 20%; overflow-y: auto; height: 70vh; max-height:600px; display: flex; flex-direction: column;  }
#messages-view { width: 45%; overflow-y: auto; height: 70vh; max-height:600px; display: flex; flex-direction: column; padding:20px; background:rgba(255,255,255,1); border-radius: 20px;}
#conversation-infos { width: 35%; overflow-y: auto; }

#conversations-list { width: 100%; }
.conversation-item { width:100%; margin-bottom:15px; position: relative; padding: 10px; border: none; border-radius:20px; cursor: pointer; }
.conversation-item:hover{ background-color: #cbdac4; }
.conversation-item.active { background-color: #4f6e5a; color: white; }
.conversation-item h4 { margin: 0 0 5px 0; font-size: 1em; }
.conversation-item p { margin: 0; font-size: 0.9em;   }

#messages-list { width: 100%; display: flex;  flex-direction: column;   flex: 1; }
.message { margin-bottom: 15px; padding: 15px 20px; border-radius: 15px; max-width: 80%; }
.message small{ display: block; color: #999; font-size: 0.85em; }
.message.sent { background-color: #cbdac4; align-self: flex-end; }
.message.received { background-color: #FFEFC8; border: 1px solid #eee; align-self: flex-start; }
#content #reply-form { margin: 0; padding: 20px 0px; }
#reply-form textarea { width: 100%; min-height:200px;  padding: 10px; border: 1px solid #ccc; border-radius: 5px; }
#reply-form button { float:right;  padding: 10px 15px; border: none; background-color: #0073aa; color: white; border-radius: 5px; cursor: pointer; }

@media screen and (max-width: 800px) {
  .messaging-container { flex-direction: column; }
  #conversations-view, #messages-view, #conversation-infos { width: 100%; height: auto; max-height: none; }
}


#vacante-details { display:flex; width: 100%; gap:10px; margin:0 0 15px 0;  }
#vacante-details .vact_imglink { flex:1;background:none; align-self: flex-start;}
#vacante-details .vact_infos { flex:3; }
#vacante-details .title{ margin:0; font-size:24px; line-height:20px; font-weight:400; text-decoration:none !important; color:#000; }
#vacante-details .title:hover{  color:var(--green); ; }



/*** Vacante card (new) ***/
.vacante_card.vact_card_new {
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 24px rgba(0,0,0,.10);
  
  font-family: inherit;
  position: relative;
}
.vacante_card.vact_card_new .vacante_card_inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.vcard_distance{
  position: absolute;
  top: 10px;
  right: 10px;
  background:var(--or);
  color: white;
  padding: 5px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
}
.vcard_photo {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  position: relative;
}
.vcard_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.vcard_body {
  padding: 10px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.vcard_price {
  color: #b8942a;
  font-size: 14px;
  margin: 0;
}
.vcard_price strong {
  font-size: 17px;
}
.vcard_specs {
  font-size: 12px;
  color: #333;
  margin: 0 0 8px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px;
}
.vcard_sep {
  color: #999;
  margin: 0 2px;
}
.vcard_title {
  font-size: 20px;
  line-height: 1.15;
  color: #3d6b4f;
  font-weight: 600;
  line-height: 1;
  margin: 0 0 10px 0;
  font-family: "sangbleu", Sans-serif;
}
.vcard_excerpt {
  font-size: 14px;
  line-height: 1.15;
  color: #555;
  margin: 0 0 12px 0;
  flex: 1;
}
.vcard_dispos {
  font-size: 13px;
  color: #333;
  margin-bottom: 16px;
  line-height: 1.25;
}
.vcard_dispos strong {
  font-style: italic;
  font-weight: 700;
}
.vcard_cta_wrap {
  text-align: center;
  margin-top: auto;
  padding-top: 12px;
}
.vcard_cta {
  display: inline-block;
  width: 100%;
  padding: 5px 20px;
  border: 1.5px solid #3d6b4f;
  border-radius: 50px;
  color: #3d6b4f;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  transition: background .2s, color .2s;
  box-sizing: border-box;
}
.vacante_card_inner:hover .vcard_cta {
  background: #3d6b4f;
  color: #fff;
}

.vcard_photo { position: relative; overflow: hidden; }
.vcard_slide { display: none; width: 100%; height: 100%;   }
.vcard_slide.active { display: block; animation: vcard_fade .3s ease; }
/* .vcard_slide.active.reverse { animation: vcard_slide_in_reverse .3s ease; } */
@keyframes vcard_fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes vcard_slide_in { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes vcard_slide_in_reverse { from { transform: translateX(-100%); } to { transform: translateX(0); } }

.vcard_slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vcard_photo .vcard_slide_btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: transparent; color: #fff; border: none;
  width: 28px; height: 40px; font-size: 32px; line-height: 1;
  cursor: pointer; z-index: 3; border-radius: 3px;
  text-shadow: 0 1px 4px rgba(0,0,0,.5);
  transition: opacity .2s;
}
.vcard_photo .vcard_slide_btn:hover { opacity: .75; }
.vcard_photo .vcard_slide_prev { left: 6px; }
.vcard_photo .vcard_slide_next { right: 6px; }
.vcard_dots {
  position: absolute; bottom: 8px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 5px; z-index: 3;
}
.vcard_dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: rgba(255,255,255,.55); cursor: pointer;
  transition: background .2s;
}
.vcard_dot.active { background: #fff; }

/*** Vacante card (legacy elementor) ***/
/* #content .elementor-element-fc0af8b > .elementor-container > .elementor-column > .elementor-widget-wrap { align-content: center; align-items: center; }
#content .elementor-element-fc0af8b:not(.elementor-motion-effects-element-type-background), #content .elementor-element-fc0af8b > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-color: #FFFFFF; }
#content .elementor-element-fc0af8b { transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s; margin-top: -30px; margin-bottom: 50px; padding: 0px 0px 10px 0px; }
#content .elementor-element-fc0af8b > .elementor-background-overlay { transition: background 0.3s, border-radius 0.3s, opacity 0.3s; }
#content .elementor-element-7676e37 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute) { margin-bottom: 12px; }
#content .elementor-element-7676e37 > .elementor-element-populated { padding: 15px 15px 0px 15px; }
#content .elementor-element-a2a4a5e { text-align: center; }
#content .elementor-element-a2a4a5e .elementor-heading-title { font-family: "sangbleu", Sans-serif; font-size: 30px; color: #4F6E5A; }
#content .elementor-element-140c7ce { text-align: center; }
#content .elementor-element-140c7ce .elementor-heading-title { font-family: "Nunito", Sans-serif; font-size: 15px; line-height: 25px; }
#content .elementor-element-bcaf369 { --spacer-size: 20px; } */
/* #content .elementor-element-3aee390 .wpr-search-form-input { color: #333333; background-color: #ffffff; border-color: #E8E8E8; text-align: left; border-width: 1px 1px 1px 1px; border-radius: 2px 2px 2px 2px !important; padding: 15px 15px 15px 15px; }
#content .elementor-element-3aee390 .wpr-search-form-input::-webkit-input-placeholder { color: #9e9e9e; }
#content .elementor-element-3aee390 .wpr-search-form-input:-ms-input-placeholder { color: #9e9e9e; }
#content .elementor-element-3aee390 .wpr-search-form-input::-moz-placeholder { color: #9e9e9e; }
#content .elementor-element-3aee390 .wpr-search-form-input:-moz-placeholder { color: #9e9e9e; }
#content .elementor-element-3aee390 .wpr-search-form-input::placeholder { color: #9e9e9e; }
#content .elementor-element-3aee390 .wpr-data-fetch { border-color: #E8E8E8; border-width: 1px 1px 1px 1px; border-radius: 2px 2px 2px 2px; background-color: #FFFFFF; width: 100%; margin-top: 5px; }
#content .elementor-element-3aee390.wpr-search-form-input-focus .wpr-search-form-input { color: #333333; background-color: #ffffff; border-color: #E8E8E8; }
#content .elementor-element-3aee390.wpr-search-form-input-focus .wpr-search-form-input::-webkit-input-placeholder { color: #9e9e9e; }
#content .elementor-element-3aee390.wpr-search-form-input-focus .wpr-search-form-input:-ms-input-placeholder { color: #9e9e9e; }
#content .elementor-element-3aee390.wpr-search-form-input-focus .wpr-search-form-input::-moz-placeholder { color: #9e9e9e; }
#content .elementor-element-3aee390.wpr-search-form-input-focus .wpr-search-form-input:-moz-placeholder { color: #9e9e9e; }
#content .elementor-element-3aee390.wpr-search-form-input-focus .wpr-search-form-input::placeholder { color: #9e9e9e; }
#content .elementor-element-3aee390 .wpr-category-select-wrap::before { right: 15px; }
#content .elementor-element-3aee390 .wpr-category-select { padding: 15px 15px 15px 15px; }
#content .elementor-element-3aee390 .wpr-search-form-submit { color: #ffffff; background-color: #605BE5; border-color: #E8E8E8; min-width: 125px; border-width: 0px 0px 0px 0px; border-radius: 0px 0px 0px 0px; }
#content .elementor-element-3aee390 .wpr-search-form-submit:hover { color: #ffffff; background-color: #4A45D2; border-color: #E8E8E8; }
#content .elementor-element-3aee390 .wpr-data-fetch ul li:hover { background-color: #F6F6F6; }
#content .elementor-element-3aee390 .wpr-data-fetch ul li { transition-duration: 0.5s; padding: 2px 2px 2px 2px; }
#content .elementor-element-3aee390 .wpr-data-fetch ul { max-height: 50vh; padding: 2px 2px 2px 2px; }
#content .elementor-element-3aee390 .wpr-data-fetch ul li:not(:last-child) { margin-bottom: 5px; }
#content .elementor-element-3aee390 .wpr-data-fetch a.wpr-ajax-title { color: #222222; }
#content .elementor-element-3aee390 .wpr-ajax-search-content a.wpr-ajax-title { margin-bottom: 2px; }
#content .elementor-element-3aee390 .wpr-data-fetch p a { color: #757575; }
#content .elementor-element-3aee390 .wpr-search-admin-notice { color: #757575; }
#content .elementor-element-3aee390 .wpr-data-fetch p a, #content .elementor-element-3aee390 .wpr-search-admin-notice { font-size: 14px; }
#content .elementor-element-3aee390 .wpr-ajax-search-content p.wpr-ajax-desc { margin-bottom: 2px; }
#content .elementor-element-3aee390 a.wpr-view-result { color: #FFFFFF; background-color: #605BE5; font-family: "Roboto", Sans-serif; font-size: 14px; transition-duration: 0.5s; border-radius: 2px 2px 2px 2px; padding: 5px 10px 5px 10px; }
#content .elementor-element-3aee390 a.wpr-view-result:hover { color: #FFFFFF; background-color: #605BE5; }
#content .elementor-element-3aee390 .wpr-data-fetch .wpr-close-search { color: #E8E8E8; height: 14px; top: 10px; right: 10px; }
#content .elementor-element-3aee390 .wpr-data-fetch .wpr-close-search::before { font-size: 14px; }
#content .elementor-element-3aee390 .wpr-data-fetch ul::-webkit-scrollbar-thumb { border-left-color: #E8E8E8; border-left-width: 3px; }
#content .elementor-element-3aee390 .wpr-data-fetch ul::-webkit-scrollbar { width: calc(3px + 3px); }
#content .elementor-element-3aee390 .wpr-data-fetch .wpr-no-results { color: #222222; height: 20vh; } */
/* #content .elementor-element-91fcae4 { --spacer-size: 30px; } */
#content .elementor-element-f37280b { --item-display: flex; --read-more-alignment: 1; --grid-row-gap: 25px; --grid-column-gap: 20px; }
#content .elementor-element-f37280b > .elementor-widget-container { margin: 0px 0px 50px 0px; }
#content .elementor-element-f37280b.elementor-element { --align-self: center; }
#content .elementor-element-f37280b .elementor-posts-container .elementor-post__thumbnail { padding-bottom: calc( 0.6 * 100% ); }
#content .elementor-element-f37280b .elementor-post__thumbnail__link { width: 100%; }
#content .elementor-element-f37280b .elementor-post__card { border-color: #4F6E5A; border-width: 0px; border-radius: 15px; }
#content .elementor-element-f37280b .elementor-post__text { margin-top: 0px; }
#content .elementor-element-f37280b .elementor-post__badge { position:absolute; top:5px; right: 5px; }
#content .elementor-element-f37280b .elementor-post__card .elementor-post__badge { background-color: #EEE3CC; color: #4F6E5A; border-radius: 15px; font-size: 10px; margin: 15px; font-family: "Raleway", Sans-serif; font-weight: 700; }
#content .elementor-element-f37280b .elementor-post__title, #content .elementor-element-f37280b .elementor-post__title a { color: #4F6E5A; font-family: "sangbleu", Sans-serif; font-size: 20px; font-weight: 600; text-decoration: none; line-height: 24px; }
#content .elementor-element-f37280b .elementor-post__title { margin-bottom: 10px; }
#content .elementor-element-f37280b .elementor-post__excerpt p { color: #000000; font-family: "Nunito Sans", Sans-serif; font-size: 13px; letter-spacing: 0px; }
#content .elementor-element-f37280b .elementor-post__excerpt { margin-bottom: 20px; }
#content .elementor-element-f37280b .elementor-post__read-more { color: #F1C264; }
#content .elementor-element-f37280b a.elementor-post__read-more { font-family: "Nunito", Sans-serif; font-size: 13px; font-weight: 600; text-decoration: none; }
/* @media(max-width: 1024px) { #content .elementor-element-fc0af8b { padding:0px 0px 20px 0px; } } */
/* @media(max-width: 767px) { #content .elementor-element-a2a4a5e .elementor-heading-title { font-size:25px; } #content .elementor-element-140c7ce .elementor-heading-title { font-size: 11px; line-height: 1.2em; } #content .elementor-element-bcaf369 { --spacer-size: 10px; } #content .elementor-element-f37280b > .elementor-widget-container { padding: 0px 10px 0px 10px; } #content .elementor-element-f37280b .elementor-posts-container .elementor-post__thumbnail { padding-bottom: calc( 0.6 * 100% ); } #content .elementor-element-f37280b:after { content: "0.6"; } #content .elementor-element-f37280b .elementor-post__thumbnail__link { width: 100%; } } */

/*** VACANTES CALENDAR ***/
#kwp_calendar_container{display:flex;gap:20px;max-width:1200px;margin:0 auto}
#kwp_main_section{flex:1;min-width:300px}
#kwp_aside_section{flex:0 1 300px; }

#kwp-summary-section{flex:0 1 calc(33.333% - 20px);min-width:280px}
#kwp-summary-section h2{color:var(--green);margin-top:0;margin-bottom:15px;font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}
.summary-stat{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}
.summary-stat:last-of-type{border-bottom:none}
.summary-stat-label{font-size:14px;color:#666;font-weight:500}
.summary-stat-value{font-size:18px;font-weight:700;color:var(--green)}
.summary-alert{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;padding:12px;margin-top:15px;font-size:14px;color:#856404;display:flex;gap:10px;align-items:flex-start}
.summary-alert strong{display:block;color:#856404}
#vact_calendar{background:#fff;padding:25px; height:fit-content}
#vact_calendar h2{color:var(--green);font-size:18px;margin:0 0 20px;display:flex;align-items:center;gap:8px}
#calendar{margin-bottom:20px}
/* .fc{font-family:'Arial',sans-serif} */
.fc .fc-toolbar{margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #f0f0f0}
.fc .fc-toolbar-title{color:var(--green);font-size:20px;font-weight:700}
.fc .fc-button{background:var(--green);border-color:var(--green);color:#fff;border-radius:6px;padding:8px 16px;font-weight:600;text-transform:none}
.fc .fc-button:hover{background:var(--dark-green);border-color:var(--dark-green)}
.fc .fc-button:disabled{opacity:.4;cursor:not-allowed}
.fc-multimonth{border:none}
.fc-multimonth-title{background:var(--green);color:#fff;padding:10px;font-weight:700;border-radius:6px 6px 0 0}
.fc .fc-daygrid-day{cursor:pointer;transition:background-color .2s ease}
.fc .fc-daygrid-day:hover{background:#4f6e5a1a}
.fc .fc-daygrid-day-number{color:#333;padding:8px;font-weight:500}
.fc .fc-day-today{background:#4f6e5a26!important}
.fc .fc-day-today .fc-daygrid-day-number{color:var(--green);font-weight:700}
.fc .fc-bg-event{background:var(--green);opacity:.8}
.fc .fc-highlight{background:#4f6e5a4d}
.fc .fc-col-header-cell{background:#f5f5f5;padding:10px 5px;font-weight:600;text-transform:uppercase;font-size:12px;color:#666}
@media (max-width: 768px) {
.fc .fc-toolbar{flex-direction:column;gap:10px}
.fc .fc-toolbar-title{font-size:18px}
.fc-multimonth{font-size:14px}
}
/* .flatpickr-calendar{display:none}
.flatpickr-day.has-period{display:none}
.flatpickr-day.today{display:none} */

/*** CALENDAR SELECTION ***/
.kwp_calendar_selection_active{display:block; overflow: hidden;}
#kwp_calendar_selection_text{float:left; width:60%; animation:fadeIn 0.7s ease-in-out; line-height: 1.1;}
#kwp_calendar_selection_text b{ color:var(--green); font-weight:700; font-size:16px; }
.kwp_calendar_selection_actions{float:right; width:40%; display:flex; gap:12px;flex-wrap:no-wrap; justify-content: flex-end; }
.kwp_calendar_selection_actions button{ }
.kwp_calendar_selection_actions #addBtn{background:var(--green);color:#fff; font-size:14px; }
.kwp_calendar_selection_actions #addBtn:disabled{background:#d0d0d0;color:#666;cursor:not-allowed;opacity:.6}
.kwp_calendar_selection_actions #clearSelBtn{background:#fff;color:var(--green);border:2px solid var(--green); font-size:14px;}
.kwp_calendar_selection_actions #clearSelBtn:hover{background:var(--green);color:#fff}


#status{margin-top:15px;padding:12px 15px;border-radius:6px;font-size:14px;min-height:20px}
#status.ok{background:#e8f5e9;color:#2e7d32;border-left:4px solid #4caf50}
#status.warn{background:#fff3e0;color:#e65100;border-left:4px solid #ff9800}
#status span{font-weight:600;margin-right:8px}
#kwp-periods-section{flex:1;min-width:400px;background:#fff;padding:25px;border-radius:10px;box-shadow:0 1px 3px #0000001a}
#kwp-periods-section h2{color:var(--green);font-size:18px;margin:0 0 20px;display:flex;align-items:center;gap:8px}

#periodsList{display:flex;flex-direction:row; flex-wrap:wrap; justify-content: flex-start; gap:2%; margin-bottom:30px;min-height:50px}

#periodsList .period_item{ width:32%; display:flex;flex-direction:column; align-items:center; background:white; padding:10px; margin-bottom:20px; border-radius:20px; position:relative;   }
#periodsList .period_item .period_item_title{color:var(--green);font-size:16px;display:block;text-align:center; }
#periodsList .period_item .period_item_duration{display:block;font-size:11px;color:#666;text-align:center; margin-bottom:10px; }

#periodsList .period_item .loyer_wrap{display:flex;flex-direction:column; align-items:center; margin-bottom:10px; } 
#periodsList .period_item .loyer_wrap .loyer_label{font-size:12px;font-weight:700;color:#333; text-align:center; }
#periodsList .period_item .loyer_wrap .loyer_field{padding:8px 12px;font-size:14px;text-align:center; max-width:120px}
#periodsList .period_item .loyer_wrap .loyer_field:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #4f6e5a1a}
#periodsList .period_item .loyer_wrap .provision_label{font-size:12px;font-weight:700;color:#333; text-align:center; }
#periodsList .period_item .loyer_wrap .provision_field{padding:8px 12px;font-size:14px;text-align:center; max-width:120px}
#periodsList .period_item .loyer_wrap .provision_field:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #4f6e5a1a}
#periodsList .period_item .total_calc_wrap {display:flex;flex-direction:column; text-align:center;  align-items:center; margin-bottom:10px; } 

#periodsList .period_item .delete_period{ position:absolute; top:-10px; right:-10px; background:#999; color:#fff; border:none; border-radius:50%; width:32px; height:32px; font-size:18px; padding:0; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.2s ease; box-shadow:0 2px 6px rgba(0,0,0,0.2); }
#periodsList .period_item .delete_period:hover{ background:#777; transform:scale(1.1); box-shadow:0 4px 10px rgba(0,0,0,0.3); }

.kwp-form-actions{display:flex;justify-content:flex-end;gap:15px}
#saveDispoBtn{background:var(--green)!important;color:#fff;padding:12px 30px;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:16px;transition:all .3s ease;display:flex;align-items:center;gap:8px}
#saveDispoBtn:hover:not(:disabled){background:var(--dark-green)!important;transform:translateY(-2px);box-shadow:0 4px 8px #0003}
#saveDispoBtn:disabled{background:#d0d0d0!important;color:#666;cursor:not-allowed;opacity:.6}
.kwp-form-actions .button-reset{background:#f5f5f5;color:#333;padding:12px 30px;border:2px solid #ddd;border-radius:6px;font-weight:600;cursor:pointer;font-size:16px;transition:all .3s ease}
.kwp-form-actions .button-reset:hover{background:#e0e0e0;border-color:#bbb}
#periodsList.empty{text-align:left;color:var(--or);   }



#daterange-picker-container{position:relative;min-height:400px}
#daterange-picker-container .daterangepicker{position:static!important;display:block!important;margin:0 auto;width:100%;max-width:100%;transform:none!important;box-shadow:none!important;border:none!important}
.daterangepicker .drp-calendar{display:inline-block!important;width:48%!important;margin:0 1%!important;vertical-align:top}
.daterangepicker .calendar.left,.daterangepicker .calendar.right{float:none!important;display:inline-block!important;width:48%!important;margin:0 1%!important}
.daterangepicker{width:100%!important;max-width:100%!important}
.daterangepicker .drp-buttons{border-top:1px solid #ddd;padding:15px;text-align:center;clear:both;display:block!important;width:100%}
.daterangepicker{/*font-family:'Arial',Sans-serif;*/border:2px solid var(--green)!important;border-radius:12px!important;box-shadow:0 8px 24px #00000026!important;padding:15px}
.daterangepicker td.active,.daterangepicker td.active:hover{background-color:var(--green)!important;border-color:var(--dark-green)!important}
.daterangepicker td.in-range{background-color:#4f6e5a1a!important}
.daterangepicker .calendar-table .next span,.daterangepicker .calendar-table .prev span{border-color:var(--green)!important}
.daterangepicker .calendar-table th,.daterangepicker .calendar-table td{border-radius:6px}
.daterangepicker td.available:hover,.daterangepicker th.available:hover{background-color:#4f6e5a26!important}
.daterangepicker .ranges li.active{background-color:var(--green)!important}
.daterangepicker .ranges li:hover{background-color:#4f6e5a1a!important}
.daterangepicker .drp-buttons .btn{padding:8px 20px;border-radius:8px;font-weight:600}
.daterangepicker .drp-buttons .applyBtn{background-color:var(--green)!important;border-color:var(--green)!important}
.daterangepicker .drp-buttons .applyBtn:hover{background-color:var(--dark-green)!important;border-color:var(--dark-green)!important}
.daterangepicker td.disabled,.daterangepicker td.off{color:#ccc!important;background-color:#f5f5f5!important;text-decoration:line-through}
.daterangepicker td.today{font-weight:600;background-color:#4f6e5a14!important}
#daterange-picker{font-size:16px;font-weight:500;color:var(--green)}
#daterange-picker:hover{border-color:var(--dark-green)!important;box-shadow:0 0 0 3px #4f6e5a1a}
#daterange-picker:focus{outline:none;border-color:var(--dark-green)!important;box-shadow:0 0 0 4px #4f6e5a26}

@keyframes fadeIn {
from{opacity:0;transform:translateY(-10px)}
to{opacity:1;transform:translateY(0)}
}
@media (max-width: 768px) {
.daterangepicker .drp-calendar,.daterangepicker .calendar.left,.daterangepicker .calendar.right{width:100%!important;display:block!important;margin:10px 0!important}
}
.fc-multimonth{display:flex!important;flex-direction:row!important;gap:0;width:100%;flex-wrap:nowrap!important}
.fc-multimonth-month{flex:1!important;min-width:350px!important;max-width:none!important;width:50%!important;padding:2px}
.fc-multimonth-daygrid{width:100%!important}
.fc .fc-highlight{background:#4f6e5a40!important;border:2px dashed var(--green)!important;border-radius:6px;opacity:.9;animation:pulse-selection 2s ease-in-out infinite}
@keyframes pulse-selection {
0%,100%{opacity:.7;transform:scale(1)}
50%{opacity:1;transform:scale(1.02)}
}
.fc-day.fc-day-today{background-color:#4f6e5a14!important}
.fc-day.fc-day-today .fc-daygrid-day-number{background:var(--green);color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-weight:600}
.fc-daygrid-day:hover{background-color:#4f6e5a1a;cursor:pointer;transition:background-color .2s ease}
.fc-event.fc-event-start,.fc-event.fc-event-end{background:var(--green)!important;border-color:var(--dark-green)!important;opacity:.75}
.fc .fc-bg-event{background:var(--green)!important;opacity:.6;border:1px solid var(--dark-green)}
.fc .fc-toolbar-title{font-size:1.5em;font-weight:600;color:var(--green);font-family:"sangbleu",Sans-serif}
.fc .fc-button-primary{background-color:var(--green)!important;border-color:var(--green)!important;border-radius:8px;padding:8px 16px;transition:all .3s ease}
.fc .fc-button-primary:hover:not(:disabled){background-color:var(--dark-green)!important;border-color:var(--dark-green)!important;transform:translateY(-2px);box-shadow:0 4px 8px #4f6e5a4d}
.fc .fc-button-primary:disabled{opacity:.4;cursor:not-allowed}
.fc .fc-button-primary:active:not(:disabled){transform:translateY(0)}
.fc-day-sat,.fc-day-sun{background-color:#00000005}
.fc .fc-daygrid-day-number{padding:4px;font-weight:500}
.fc .fc-highlight::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:3px solid var(--green);border-radius:6px;pointer-events:none;opacity:.5}
#calendar-selection-info{position:fixed;background:var(--green);color:#fff;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;pointer-events:none;z-index:10000;box-shadow:0 6px 16px #0003;opacity:0;transition:opacity .3s ease;white-space:nowrap}
#calendar-selection-info.visible{opacity:1}
#calendar-selection-info::after{content:"";position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--green)}
.fc .fc-daygrid-day{transition:all .2s ease}
.fc .fc-daygrid-day.fc-day-past:not(.fc-day-today){opacity:.5}
.fc .fc-daygrid-day.fc-day-future:hover,.fc .fc-daygrid-day.fc-day-today:hover{box-shadow:inset 0 0 0 2px var(--green);border-radius:4px}
.fc .fc-daygrid-day.selection-start-pending{background-color:#4f6e5a66!important;border:3px solid var(--green)!important;border-radius:6px;position:relative}
.fc .fc-daygrid-day.selection-start-pending::after{content:"📌 Début";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--green);color:#fff;padding:4px 12px;border-radius:6px;font-size:11px;font-weight:600;pointer-events:none;white-space:nowrap;z-index:10}
@keyframes waiting-for-end {
0%,100%{box-shadow:0 0 0 0 #4f6e5ab3}
50%{box-shadow:0 0 0 8px #4f6e5a00}
}
.fc .fc-daygrid-day.selection-start-pending{animation:waiting-for-end 2s ease-in-out infinite}
@media (max-width: 768px) {
#kwp-row-1{flex-direction:column;gap:20px}
#kwp-vacante-card{flex:1}
#kwp-summary-section{flex:1}
.loyer-wrap{flex-direction:column;align-items:flex-start}
.loyer-field{width:100%}
.controls,.kwp-form-actions{flex-direction:column}
.controls button,.kwp-form-actions button{width:100%}
.delete-period{margin-left:0;margin-top:10px}
#periodsList .badge{flex-direction:column}
}
@media (max-width: 480px) {
#kwp-calendar-container{gap:20px}
.vact_card{padding:15px}
.summary-stat{flex-direction:column;align-items:flex-start;gap:8px}
.flatpickr-calendar{width:100%}
}



/*** DATEPICKER ***/
.date-picker-wrapper { width: 100%; }
.date-picker-wrapper .dp-clearfix { display: none !important; }
.date-picker-wrapper .time { display: none !important; }
.date-picker-wrapper .gap { display: none !important; }
.date-picker-wrapper .month-wrapper { gap: 40px !important; margin: 0 !important; width: 100% !important; background: white !important; display: flex !important; align-items: flex-start !important; }
.date-picker-wrapper .month-wrapper .month1, .date-picker-wrapper .month-wrapper .month2 { margin: 0 !important; width: 50% !important; background: white !important; }
.date-picker-wrapper .month-wrapper table { table-layout: fixed; width: 100%; background: white !important; }
.date-picker-wrapper .month-wrapper table thead th.month-name {  }
.date-picker-wrapper .month-wrapper table thead .month-name .select-wrapper{ display:inline; }
.date-picker-wrapper .month-wrapper table thead .month-name .month-element{ display:inline; }
.date-picker-wrapper .month-wrapper table thead .month-name select { display:none; }
.date-picker-wrapper .month-wrapper table thead .caption .next{ font-size: 0; font-size: 20px; color:var(--green); }
/* .date-picker-wrapper .month-wrapper table thead .caption .next::before{ content:"\f105"; font-family: 'Font Awesome 7 pro';  font-size: 20px; font-weight: 400;   } */
.date-picker-wrapper .month-wrapper table thead .caption .prev{ font-size: 0; font-size: 20px; color:var(--green); }
/* .date-picker-wrapper .month-wrapper table thead .caption .prev::before{ content:"\f104"; font-family: 'Font Awesome 7 pro'; font-size: 20px; font-weight: 400;   } */
.date-picker-wrapper .month-wrapper table th {  height:40px !important; padding:0; background:white;border:none; border-block-start: none !important; } 
.date-picker-wrapper .month-wrapper table td { background:white;border:none;  width: 14.28% !important; height:40px !important; padding:4px; text-align: center; line-height:40px; ;} 

.date-picker-wrapper td .day { border-radius:5px;  }
.date-picker-wrapper td .day:not(.invalid):not(.disabled) {   }
.date-picker-wrapper td .day:not(.invalid):not(.disabled):hover {    }
.date-picker-wrapper td .day.invalid { color:var(--silver); }
.date-picker-wrapper td .day.disabled { color: var(--green) ; border:1px solid var(--light-green);   }
.date-picker-wrapper td .day.reserved { background: var(--yellow) ; color: var(--green) ;  }
.date-picker-wrapper td .day.lastMonth { display:none;  }
.date-picker-wrapper td .day.nextMonth { display:none;   }

.date-picker-wrapper td .day.checked, 
.date-picker-wrapper td .day.selected, 
.date-picker-wrapper td .day.first-date-selected, 
.date-picker-wrapper td .day.last-date-selected {  border:1px solid var(--silver); color: var(--green) ;  font-weight: bold ;  }
/* .date-picker-wrapper td .last-date-selected { background: var(--green) ; color: white ; font-weight: bold ;  } */

.date-picker-wrapper td .checked.has-tooltip { background: #FFE55C !important; }

@media screen and (max-width: 768px) {
  #kwp_calendar_container { flex-direction: column; gap: 30px; }

  #kwp_calendar_selection_active { flex-direction: column; gap: 15px; }
  #kwp_calendar_selection_text { width: 100%; text-align: left; margin:10px 0 30px 0; }
  .kwp_calendar_selection_actions { width: 100%; justify-content: center; }

  #periodsList { flex-direction: column; gap: 20px; }
  #periodsList .period_item { width: 100%; }

  .date-picker-wrapper .month-wrapper { flex-direction: column; gap: 20px !important; }
  .date-picker-wrapper .month-wrapper .month1, .date-picker-wrapper .month-wrapper .month2 { width: 100% !important; }  






}

.kwp-vacante-gallery-grid{ display:grid;grid-template-columns:repeat(12,1fr);gap:10px; }
.kwp-vacante-gallery-grid div img{ border-radius: 10px; }


/*** TOAST NOTIFICATIONS ***/
#kwp-autosave-indicator,#kwp-toast,#kwp-page-toast,#kwp-form-validation-toast{display:flex;position:fixed;right:24px;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 2px 10px rgba(0,0,0,.15);z-index:9999;pointer-events:none;}
#kwp-autosave-indicator{bottom:24px;}
#kwp-toast{bottom:72px;}
#kwp-page-toast{bottom:24px;display:none;}
#kwp-page-toast.visible{display:flex;}
#kwp-form-validation-toast{bottom:24px;display:none;max-width:300px;}
#kwp-form-validation-toast.visible{display:flex;flex-direction:column;}
#kwp-autosave-indicator.autosave-saving{background:#f5f5f5;border:1px solid #ccc;color:#555;}
#kwp-autosave-indicator.autosave-saved,#kwp-toast.toast-ok,#kwp-page-toast.toast-ok{background:#e7f8ef;border:1px solid #b6e4c9;color:#116b3a;}
#kwp-autosave-indicator.autosave-error,#kwp-toast.toast-warn,#kwp-page-toast.toast-warn,#kwp-form-validation-toast.toast-warn{background:#fdeaea;border:1px solid #f5c2c7;color:#842029;}

/*** VACANTES LIST ***/
.kwp-vl-intro { margin: 40px 0; }
.kwp-vl-heading-main { font-family: "nunito sans", sans-serif; font-size: 30px; }
.kwp-vl-heading-italic { font-family: "Sangbleu-italic", serif; font-size: 30px; }

.region-filter-box { margin: 20px 0; padding: 10px; background-color: #f9f9f9; border-radius: 10px; border: 1px solid #e0e0e0; }
.region-filter-box form { display: flex; gap: 10px; align-items: center; margin: 0; }

.kwp-filter-address-label { flex: 2; margin: 0; margin-bottom:0!important; font-weight: 600; position: relative; }
.kwp-filter-address-label .kwp-filter-address-icon { position: absolute; color:var(--green); top: 10px; left: 5px; z-index: 10; }
.kwp-filter-address-label input { color:var(--green);   }
#content .region-filter-box #address-input { color: var(--green); background-color: white;  flex: 2; margin: 0; padding: 10px 15px 10px 30px; border: 1px solid #ddd; border-radius: 5px;   }
#content .region-filter-box .kwp-filter-select { flex: 1; margin: 0; padding: 10px 15px; border: 1px solid #ddd; border-radius: 5px; background-color: #fff; cursor: pointer; }
.kwp-filter-submit { flex: 1; margin: 0; padding: 5px 20px; background-color: var(--green); color: #fff; border: none; border-radius: 5px; cursor: pointer; font-weight: 600; }
#reset-filters { padding: 5px 15px; background-color: #e8e8e8; color: #333; border-radius: 5px; text-decoration: none; font-weight: 600; display: inline-block; }

#address-autocomplete-list { position: absolute; top: 100%; left: 0; right: 0; z-index: 9999; background: #fff; border: 1px solid #ddd; border-top: none; border-radius: 0 0 6px 6px; list-style: none; margin: 0; padding: 0; max-height: 240px; overflow-y: auto; display: none; box-shadow: 0 4px 10px rgba(0,0,0,.12); }
.kwp-ac-item { padding: 9px 14px; cursor: pointer; font-size: 14px; border-bottom: 1px solid #f0f0f0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kwp-ac-item.ac-highlighted { background-color: #eef2ef; }

@media screen and (max-width: 768px) {
  .region-filter-box form { flex-direction: column; align-items: stretch; }
  .kwp-filter-address-label { margin-bottom: 5px; }
  #content .region-filter-box #address-input, #content .region-filter-box .kwp-filter-select, .kwp-filter-submit { width: 100%; }
}

/*** RESERVATION DETAIL GRID ***/
.reservation_detail_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 30px;
  align-items: start;
}
@media screen and (max-width: 768px) {
  .reservation_detail_grid {
    grid-template-columns: 1fr;
  }
  .reservation_detail_grid > * {
    width: 100%;
  }
}