.elementor-749 .elementor-element.elementor-element-6c0f3c3{--display:flex;--padding-top:51px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:767px){.elementor-749 .elementor-element.elementor-element-ce3b571{padding:10px 10px 10px 10px;}}/* Start custom CSS for shortcode, class: .elementor-element-ce3b571 *//* ==============
   Base / Wrapper
   ============== */
.tg-sef-box{
  max-width: 880px !important;
  margin: 32px auto !important;
  padding: 28px !important;
  background: #ffffff !important;
  border: 2px dotted #23297A !important;         /* bordure demandée */
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.06) !important;
  font-family: "Inter", "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}

/* =========
   Header
   ========= */
.tg-sef-title{
  margin: 0 0 8px 0 !important;
  font-size: clamp(22px, 3.5vw, 30px) !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  color: #2B3191 !important;                      /* primary */
  letter-spacing: .2px !important;
}
.tg-sef-subtitle{
  margin: 0 0 22px 0 !important;
  font-size: clamp(12px, 2.2vw, 17px) !important;
  line-height: 1.6 !important;
  color: #3b3f66 !important;
}
.tg-sef-subtitle strong{
  color: #8BC53A !important;                      /* accent */
  font-weight: 800 !important;
}

/* =========
   Form
   ========= */
.tg-sef-form{
  margin: 0 !important;
}
.tg-sef-grid{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}
@media (max-width: 720px){
  .tg-sef-grid{ grid-template-columns: 1fr !important; }
}

/* =========
   Fields
   ========= */
.tg-sef-label{
  display: block !important;
  margin: 2px 0 8px 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #2B3191 !important;
  letter-spacing: .15px !important;
}

.tg-sef-input,
.tg-sef-select{
  width: 100% !important;
  height: 52px !important;
  padding: 12px 16px !important;
  border: 1px solid  !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #1b1e3a !important;
  font-size: 15px !important;
  line-height: 1 !important;
  outline: none !important;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.02) inset !important;
}

/* placeholder lisible */
.tg-sef-input::placeholder{
  color: #9aa0bf !important;
  opacity: 1 !important;
}

/* focus state */
.tg-sef-input:focus,
.tg-sef-select:focus{
  border-color:  !important;
  box-shadow: 0 0 0 4px rgba(43,49,145,.10) !important;
  background: #ffffff !important;
}

/* valid / invalid */

.tg-sef-input:required:valid{
  border-color: #8BC53A !important;
}

/* number inputs uniformes */
input[type="number"].tg-sef-input{
  -moz-appearance: textfield !important;
}
input[type="number"].tg-sef-input::-webkit-outer-spin-button,
input[type="number"].tg-sef-input::-webkit-inner-spin-button{
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* =========
   Select (custom chevron)
   ========= */
.tg-sef-select{
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5' stroke='%232B3191' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 18px 18px !important;
  padding-right: 48px !important;
}

/* =========
   Actions
   ========= */
.tg-sef-actions{
  grid-column: 1 / -1 !important;                 /* bouton pleine largeur */
  margin-top: 8px !important;
}

.tg-sef-btn{
  width: 100% !important;
  height: 52px !important;
  border: 0 !important;
  border-radius: 14px !important;
  padding: 14px 18px !important;
  background: #8BC53A !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  letter-spacing: .3px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease !important;
  box-shadow: 0 8px 16px rgba(43,49,145,.18) !important;
}

.tg-sef-btn:active{
  transform: translateY(0) !important;
  box-shadow: 0 6px 14px rgba(43,49,145,.18) inset !important;
}

/* =========
   Alerts / Messages (optionnel si utilisés côté PHP)
   ========= */
.tg-sef-alert{
  margin: 8px 0 16px 0 !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}
.tg-sef-error{
  background: #FCE8E8 !important;
  color: #8A1F1F !important;
  border: 1px solid #F5B5B5 !important;
}
.tg-sef-success{
  background: #EEF9E9 !important;
  color: #265B13 !important;
  border: 1px solid #CBE8B9 !important;
}

/* =========
   Fine tune spacing des cellules
   ========= */
.tg-sef-grid > div{
  display: block !important;
}
.tg-sef-grid > div .tg-sef-input,
.tg-sef-grid > div .tg-sef-select{
  margin: 0 !important;
}





.tg-sef-divider{
      padding-bottom: 30px;
}/* End custom CSS */