.tmfc-form,.tmfc-form *,
.tmfc-alternative,.tmfc-alternative *,
.tmfc-calendar,.tmfc-calendar *{box-sizing:border-box}
.tmfc-form,.tmfc-alternative{width:100%;max-width:760px;min-width:0}
.tmfc-field,.tmfc-grid,.tmfc-grid>*{min-width:0}
.tmfc-field{margin:0 0 16px}
.tmfc-field label{display:block;font-weight:600}
.tmfc-field input[type="text"],.tmfc-field input[type="email"],.tmfc-field input[type="tel"],
.tmfc-field input[type="date"],.tmfc-field input[type="time"],.tmfc-field select,.tmfc-field textarea{
  width:100%;max-width:100%;min-width:0;margin-top:7px;padding:11px 12px;border:1px solid #cfd4da;border-radius:6px;background:#fff;color:#1f2933
}
.tmfc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tmfc-submit{padding:12px 20px;border:0;border-radius:999px;background:#102744;color:#fff;cursor:pointer}
.tmfc-submit:disabled{opacity:.55;cursor:not-allowed}
.tmfc-result{margin-top:14px;font-weight:600}
.tmfc-info,.tmfc-sensitive-note{font-size:.93rem;line-height:1.55}
.tmfc-sensitive-note{padding:12px;border-left:3px solid #c7a461;background:#faf8f4}
.tmfc-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:650px){
  .tmfc-grid{grid-template-columns:minmax(0,1fr)}
  .tmfc-form,.tmfc-alternative{max-width:100%}
  .tmfc-field input,.tmfc-field select,.tmfc-field textarea{font-size:16px}
}

.tmfc-live-slot{padding-top:8px}
.tmfc-contact-auto-section .tmfc-form{margin-top:28px}
#tm-final .tmfc-form label{color:#343a40}
#tm-final .tmfc-form .tmfc-submit{font-family:Arial,Helvetica,sans-serif}

/* 1.2.1 — functional visual hardening only; final design remains deferred. */
#tm-final .tmfc-form button.tmfc-submit,
.tmfc-casco-overlay .tmfc-form button.tmfc-submit{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:#102744!important;
  background-image:none!important;
  color:#fff!important;
  border:1px solid #102744!important;
  border-radius:999px!important;
  box-shadow:none!important;
  text-shadow:none!important;
  padding:12px 20px!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:600!important;
  text-transform:none!important;
  letter-spacing:0!important;
  cursor:pointer!important;
}
#tm-final .tmfc-form button.tmfc-submit:hover,
#tm-final .tmfc-form button.tmfc-submit:focus,
.tmfc-casco-overlay .tmfc-form button.tmfc-submit:hover,
.tmfc-casco-overlay .tmfc-form button.tmfc-submit:focus{
  background:#102744!important;
  color:#fff!important;
  border-color:#102744!important;
  filter:none!important;
}

/* 1.3.0 — secure quote document transfer */
.tmfc-document-field input[type="file"]{
  width:100%;
  max-width:100%;
  min-width:0;
  margin-top:8px;
  padding:12px;
  border:1px solid #cfd4da;
  border-radius:6px;
  background:#fff;
}
.tmfc-document-field small{
  display:block;
  margin-top:7px;
  font-weight:400;
  line-height:1.45;
}


/* 1.5.0 — Interprétation: pure layout + availability/price summary */
.tmfc-casco-interpretation .tmfc-form{
  max-width:980px;
  margin:0;
}
.tmfc-casco-interpretation .tmfc-live-slot{
  padding-top:0;
}
.tmfc-casco-interpretation .tmfc-field{
  margin-bottom:18px;
}
.tmfc-casco-interpretation .tmfc-field label{
  font-size:15px;
  color:#343a40;
  font-weight:600;
}
.tmfc-casco-interpretation .tmfc-field input[type="text"],
.tmfc-casco-interpretation .tmfc-field input[type="email"],
.tmfc-casco-interpretation .tmfc-field input[type="tel"],
.tmfc-casco-interpretation .tmfc-field input[type="date"],
.tmfc-casco-interpretation .tmfc-field input[type="time"],
.tmfc-casco-interpretation .tmfc-field select,
.tmfc-casco-interpretation .tmfc-field textarea{
  border:1px solid #d8d5cf;
  border-radius:2px;
  padding:13px 14px;
  min-height:48px;
  background:#fff;
  color:#102744;
  box-shadow:none;
}

.tmfc-int-shell{background:#fff;color:#102744}
.tmfc-int-header{
  height:108px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:1440px;
  margin:0 auto;
  padding:0 56px;
  border-bottom:1px solid #e7e0d7;
}
.tmfc-int-brand{
  font-family:Georgia,"Times New Roman",serif;
  font-size:38px;
  letter-spacing:.10em;
  color:#102744;
}
.tmfc-int-brand small{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  letter-spacing:.22em;
  color:#697584;
  margin-top:7px;
}
.tmfc-int-nav{display:flex;gap:38px;align-items:center;font-family:Arial,Helvetica,sans-serif}
.tmfc-int-nav a{color:#222;text-decoration:none}
.tmfc-int-nav .cta{
  border:1px solid #c7a461;
  border-radius:999px;
  padding:15px 27px;
  color:#8b642d;
  font-family:Georgia,"Times New Roman",serif;
}
.tmfc-int-hero{
  background:#faf8f4;
  padding:86px 56px 76px;
}
.tmfc-int-wrap{max-width:1240px;margin:0 auto}
.tmfc-int-eyebrow{
  color:#c19a5b;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
  margin-bottom:20px;
}
.tmfc-int-hero h1{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:64px;
  line-height:1.03;
  margin:0 0 28px;
  max-width:950px;
  color:#102744;
}
.tmfc-int-hero p{
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
  line-height:1.55;
  color:#55657a;
  max-width:900px;
  margin:0;
}
.tmfc-int-booking{
  padding:70px 56px 90px;
}
.tmfc-int-booking-grid{
  display:grid;
  grid-template-columns:minmax(0,980px);
  gap:0;
  align-items:start;
}
.tmfc-int-booking h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:42px;
  font-weight:400;
  margin:0 0 14px;
}
.tmfc-recovery-action{padding:64px 56px 86px;background:#fff}
.tmfc-recovery-action h2{
  margin:0 0 12px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:38px;
  font-weight:400;
  color:#102744;
}
.tmfc-recovery-action p{max-width:780px;font-size:17px;line-height:1.65;color:#55657a}
.tmfc-recovery-cta,
.tmfc-recovery-link{
  display:inline-flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  margin:12px 16px 0 0;
  text-decoration:none;
}
.tmfc-recovery-cta{padding:11px 24px;border-radius:999px;background:#102744;color:#fff}
.tmfc-recovery-link{color:#102744;text-decoration:underline;text-underline-offset:4px}
@media(max-width:850px){
  .tmfc-int-header{height:auto;min-height:88px;padding:18px 24px;gap:18px}
  .tmfc-int-nav{gap:14px}
  .tmfc-int-nav a:not(.cta):not(:first-child){display:none}
  .tmfc-int-brand{font-size:28px}
  .tmfc-int-hero,.tmfc-int-booking,.tmfc-recovery-action{padding-left:24px;padding-right:24px}
  .tmfc-int-hero h1{font-size:44px}
  .tmfc-int-booking-grid{grid-template-columns:minmax(0,1fr);gap:42px}
}
@media(max-width:650px){
  .tmfc-int-header{padding-left:16px;padding-right:16px;flex-wrap:wrap}
  .tmfc-int-nav{width:100%;justify-content:space-between}
  .tmfc-int-nav .cta{padding:11px 16px}
  .tmfc-int-hero,.tmfc-int-booking,.tmfc-recovery-action{padding-left:16px;padding-right:16px}
  .tmfc-int-hero{padding-top:54px;padding-bottom:50px}
  .tmfc-int-hero h1{font-size:clamp(36px,11vw,44px);overflow-wrap:anywhere}
  .tmfc-int-hero p{font-size:20px}
  .tmfc-recovery-action{padding-top:46px;padding-bottom:64px}
  .tmfc-recovery-action h2{font-size:32px}
}


/* 1.5.1 — Client-facing visual agenda */
.tmfc-calendar{
  width:100%;
  max-width:100%;
  min-width:0;
  margin:8px 0 26px;
  border:1px solid #e7e0d7;
  background:#fff;
  padding:22px;
}
.tmfc-calendar-head{
  display:grid;
  grid-template-columns:42px 1fr 42px;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}
.tmfc-calendar-head strong{
  text-align:center;
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
  font-weight:400;
  color:#102744;
  text-transform:capitalize;
}
.tmfc-calendar-nav{
  width:40px;
  height:40px;
  border:1px solid #d9d2c8;
  background:#fff;
  color:#102744;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.tmfc-calendar-nav:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.tmfc-calendar-weekdays,
.tmfc-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:7px;
}
.tmfc-calendar-weekdays{
  margin-bottom:8px;
}
.tmfc-calendar-weekdays span{
  text-align:center;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#7b8490;
  padding:4px 0;
}
.tmfc-calendar-day{
  min-height:62px;
  border:1px solid #e5e2dc;
  background:#fff;
  color:#102744;
  cursor:pointer;
  padding:8px 6px 6px;
  text-align:center;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.tmfc-calendar-day span{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
}
.tmfc-calendar-day small{
  display:block;
  min-height:13px;
  margin-top:3px;
  font-size:9px;
  letter-spacing:.04em;
  color:#8a7656;
}
.tmfc-calendar-day:not(:disabled):hover{
  border-color:#c7a461;
  transform:translateY(-1px);
}
.tmfc-calendar-day.is-selected{
  border:2px solid #102744;
  background:#f7f4ee;
}
.tmfc-calendar-day.is-limited{
  background:#fbf7ed;
  border-color:#dfcfae;
}
.tmfc-calendar-day.is-unavailable,
.tmfc-calendar-day.is-past{
  background:#f3f3f1;
  border-color:#ecebe8;
  color:#a4a7aa;
  cursor:not-allowed;
  text-decoration:line-through;
}
.tmfc-calendar-empty{min-height:62px}
.tmfc-calendar-loading,
.tmfc-calendar-error{
  grid-column:1/-1;
  padding:24px;
  text-align:center;
  color:#657080;
  background:#faf8f4;
}
.tmfc-calendar-legend{
  display:flex;
  gap:22px;
  flex-wrap:wrap;
  margin-top:18px;
  padding-top:15px;
  border-top:1px solid #eee9e1;
  font-size:12px;
  color:#596779;
}
.tmfc-calendar-legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.tmfc-calendar-legend i{
  width:11px;
  height:11px;
  border:1px solid #ddd;
  display:inline-block;
}
.tmfc-calendar-legend i.available{background:#fff;border-color:#c7a461}
.tmfc-calendar-legend i.limited{background:#fbf7ed;border-color:#dfcfae}
.tmfc-calendar-legend i.unavailable{background:#f3f3f1;border-color:#e3e2df}
.tmfc-calendar-note{
  margin:12px 0 0;
  font-size:12px;
  color:#7a828c;
}
@media(max-width:650px){
  .tmfc-calendar{padding:14px}
  .tmfc-calendar-weekdays,
  .tmfc-calendar-grid{gap:4px}
  .tmfc-calendar-day,
  .tmfc-calendar-empty{min-height:52px}
  .tmfc-calendar-day span{font-size:17px}
  .tmfc-calendar-legend{gap:12px}
}


/* 1.5.2 — protect calendar navigation from legacy/global button styles */
.tmfc-casco-interpretation .tmfc-calendar-nav{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:#fff!important;
  background-image:none!important;
  color:#102744!important;
  border:1px solid #c7a461!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-shadow:none!important;
  padding:0!important;
}
.tmfc-casco-interpretation .tmfc-calendar-nav:hover,
.tmfc-casco-interpretation .tmfc-calendar-nav:focus{
  background:#faf8f4!important;
  color:#102744!important;
  border-color:#c7a461!important;
}
.tmfc-casco-interpretation .tmfc-calendar-nav:disabled{
  background:#fff!important;
  color:#a8adb3!important;
  border-color:#e5e1da!important;
  opacity:.45!important;
}


/* 1.5.3 — isolate calendar day buttons from legacy/global site button styles */
.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:#ffffff!important;
  background-image:none!important;
  color:#102744!important;
  border:1px solid #e5e2dc!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-shadow:none!important;
  padding:8px 6px 6px!important;
  font-family:inherit!important;
  font-weight:400!important;
  text-transform:none!important;
  letter-spacing:0!important;
}

.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day:hover:not(:disabled),
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day:hover:not(:disabled){
  background:#faf8f4!important;
  border-color:#c7a461!important;
  color:#102744!important;
}

.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day.is-limited,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day.is-limited{
  background:#fbf7ed!important;
  border-color:#dfcfae!important;
  color:#102744!important;
}

.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day.is-unavailable,
.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day.is-past,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day.is-unavailable,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day.is-past{
  background:#f3f3f1!important;
  border-color:#e7e5e1!important;
  color:#a4a7aa!important;
  opacity:1!important;
}

.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day.is-selected,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day.is-selected{
  background:#102744!important;
  border-color:#102744!important;
  color:#ffffff!important;
}

.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day.is-selected small,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day.is-selected small{
  color:#e8dfcf!important;
}


/* 1.5.4 — reliable month navigation */
.tmfc-calendar-nav{
  position:relative!important;
  z-index:5!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  user-select:none!important;
}
.tmfc-calendar-nav:not(:disabled){
  cursor:pointer!important;
}


/* 1.5.5 — compact agenda + simplified availability/price feedback */
.tmfc-casco-interpretation .tmfc-calendar,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar{
  width:100%!important;
  max-width:640px!important;
  margin:6px 0 24px!important;
  padding:16px!important;
}

.tmfc-casco-interpretation .tmfc-calendar-head,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar-head{
  grid-template-columns:34px 1fr 34px!important;
  margin-bottom:12px!important;
}

.tmfc-casco-interpretation .tmfc-calendar-head strong,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar-head strong{
  font-size:20px!important;
}

.tmfc-casco-interpretation .tmfc-calendar-nav,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar-nav{
  width:34px!important;
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  font-size:22px!important;
  line-height:1!important;
}

.tmfc-casco-interpretation .tmfc-calendar-nav.is-disabled,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar-nav.is-disabled{
  opacity:.3!important;
  pointer-events:none!important;
}

.tmfc-casco-interpretation .tmfc-calendar-weekdays,
.tmfc-casco-interpretation .tmfc-calendar-grid,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar-weekdays,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar-grid{
  gap:5px!important;
}

.tmfc-casco-interpretation .tmfc-calendar-weekdays span,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar-weekdays span{
  font-size:10px!important;
}

.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day{
  min-height:44px!important;
  padding:5px 3px!important;
}

.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day span,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day span{
  font-size:16px!important;
}

.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day small,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar .tmfc-calendar-day small{
  min-height:10px!important;
  font-size:8px!important;
  margin-top:1px!important;
}

.tmfc-casco-interpretation .tmfc-calendar-empty,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar-empty{
  min-height:44px!important;
}

.tmfc-casco-interpretation .tmfc-calendar-legend,
.tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar-legend{
  margin-top:12px!important;
  padding-top:10px!important;
  gap:14px!important;
  font-size:11px!important;
}

.tmfc-check-status{
  max-width:640px;
  margin:14px 0 18px;
  padding:10px 14px;
  border:1px solid #e7e0d7;
  background:#fff;
  font-size:14px;
  line-height:1.5;
}

.tmfc-check-status span{
  display:block;
}

.tmfc-check-status [data-tmfc-availability]{
  display:block;
  color:#102744;
  font-weight:600;
}

.tmfc-check-status [data-tmfc-availability][data-state="available"]{
  color:#2f5f4a;
}

.tmfc-check-status [data-tmfc-availability][data-state="unavailable"]{
  color:#9b2c2c;
}

@media(max-width:650px){
  .tmfc-casco-interpretation .tmfc-calendar,
  .tmfc-casco-overlay.tmfc-casco-interpretation .tmfc-calendar{
    max-width:100%!important;
    padding:12px!important;
  }
}


/* 1.6.0 — Lawyer / BAJ intake */
.tmfc-billing-box{
  margin:8px 0 22px;
  padding:18px;
  border:1px solid #e7e0d7;
  background:#faf8f4;
}
.tmfc-billing-box[hidden],
.tmfc-baj-documents[hidden]{
  display:none!important;
}
.tmfc-baj-documents{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid #e7e0d7;
}
.tmfc-baj-documents>p:first-child{
  margin-top:0;
  color:#102744;
  line-height:1.55;
}
.tmfc-baj-documents .tmfc-sensitive-note{
  margin-bottom:0;
}
.tmfc-casco-interpretation [data-tmfc-requester],
.tmfc-casco-interpretation [data-tmfc-billing]{
  width:100%;
}


/* 1.6.2 — public busy-hour visibility */
.tmfc-day-schedule{
  max-width:640px;
  margin:-10px 0 20px;
  padding:12px 14px;
  border:1px solid #e7e0d7;
  background:#faf8f4;
  color:#102744;
  font-size:14px;
  line-height:1.5;
}
.tmfc-day-schedule[hidden]{
  display:none!important;
}
.tmfc-day-schedule strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:400;
  margin-bottom:4px;
}
.tmfc-day-schedule [data-tmfc-day-schedule-content]{
  color:#343a40;
}
.tmfc-day-schedule small{
  display:block;
  margin-top:5px;
  color:#7a828c;
  font-size:11px;
}


/* 1.6.3 — BAJ missing-document commitment */
.tmfc-baj-commitment{
  margin:16px 0 8px;
  padding:14px 16px;
  border:1px solid #d8c7a9;
  background:#fffaf1;
  color:#343a40;
  font-size:13px;
  line-height:1.55;
}
.tmfc-baj-commitment[hidden]{
  display:none!important;
}
.tmfc-baj-commitment label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-weight:400!important;
}
.tmfc-baj-commitment input[type="checkbox"]{
  margin-top:4px;
  flex:0 0 auto;
}


/* 1.6.6 — visible indicative tariff for lawyer direct payment */
.tmfc-direct-tariff{
  margin:14px 0 6px;
  padding:14px 16px;
  border-left:3px solid #c7a461;
  background:#fff;
  color:#102744;
}
.tmfc-direct-tariff[hidden]{
  display:none!important;
}
.tmfc-direct-tariff strong{
  display:block;
  margin-bottom:4px;
  font-size:14px;
  color:#102744;
}
.tmfc-direct-tariff [data-tmfc-direct-tariff-value]{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  line-height:1.35;
  color:#8a6a38;
}


/* 1.6.9 — presentiel travel fee */
.tmfc-direct-tariff .tmfc-travel-rate{
  display:block;
  margin-top:6px;
  font-size:13px;
  line-height:1.45;
  color:#343a40;
}
.tmfc-direct-tariff .tmfc-travel-rate[hidden]{
  display:none!important;
}



/* 1.6.12 — privacy footer cleanup */
.tmfc-consent{
  margin-top:14px;
  margin-bottom:14px;
}
.tmfc-consent label{
  display:flex;
  font-weight:400;
  align-items:flex-start;
  gap:9px;
  font-size:14px;
  line-height:1.45;
}
.tmfc-consent input[type="checkbox"]{
  margin-top:3px;
  flex:0 0 auto;
}
.tmfc-consent a{
  text-decoration:underline;
  text-underline-offset:2px;
}


/* 1.6.15 — consumer withdrawal request */
.tmfc-early-performance{
  margin:14px 0 18px;
  padding:14px 16px;
  border:1px solid #e3d6c2;
  background:#fffaf1;
  color:#343a40;
  font-size:13px;
  line-height:1.55;
}
.tmfc-early-performance[hidden]{
  display:none!important;
}
.tmfc-early-performance label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-weight:400!important;
}
.tmfc-early-performance input[type="checkbox"]{
  margin-top:4px;
  flex:0 0 auto;
}


/* 1.6.16 — Contact choices: remove legacy pink/red */
.tmfc-casco-contact a.tmfc-contact-choice-link{
  display:inline-flex!important;
  align-items:center;
  gap:10px;
  width:fit-content;
  color:#102744!important;
  text-decoration:none!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:18px!important;
  font-weight:500!important;
  line-height:1.35!important;
  border-bottom:1px solid rgba(199,164,97,.55);
  padding-bottom:4px;
  transition:color .18s ease,border-color .18s ease,transform .18s ease;
}
.tmfc-casco-contact a.tmfc-contact-choice-link::after{
  content:"→";
  color:#C7A461;
  font-size:20px;
  line-height:1;
  transition:transform .18s ease;
}
.tmfc-casco-contact a.tmfc-contact-choice-link:hover,
.tmfc-casco-contact a.tmfc-contact-choice-link:focus{
  color:#8A6A38!important;
  border-bottom-color:#C7A461;
  outline:none;
}
.tmfc-casco-contact a.tmfc-contact-choice-link:hover::after,
.tmfc-casco-contact a.tmfc-contact-choice-link:focus::after{
  transform:translateX(3px);
}

/* 1.7.2 — sélection cumulative de plusieurs documents source */
.tmfc-document-selection{
  margin-top:10px;
  font-weight:400;
  line-height:1.45;
}
.tmfc-selected-files{
  list-style:none;
  padding:0;
  margin:0 0 6px;
}
.tmfc-selected-files li{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  padding:8px 0;
  border-bottom:1px solid #e5e7eb;
}
.tmfc-remove-file{
  flex:0 0 auto;
  border:1px solid #cfd4da;
  border-radius:4px;
  background:#fff;
  color:#102744;
  padding:5px 9px;
  cursor:pointer;
}
.tmfc-selection-summary{
  display:block;
  margin-top:5px;
  font-weight:600;
}


/* 1.7.3 — liens juridiques sobres TAGMEMICS */
#tm-final .tmfc-consent a,
.tmfc-form .tmfc-consent a,
.tmfc-consent a{
  color:#8A6A38!important;
  text-decoration:none!important;
  font-weight:400!important;
  border-bottom:1px solid rgba(199,164,97,.58);
  padding-bottom:1px;
  transition:color .18s ease,border-color .18s ease;
}
#tm-final .tmfc-consent a:hover,
#tm-final .tmfc-consent a:focus,
.tmfc-form .tmfc-consent a:hover,
.tmfc-form .tmfc-consent a:focus,
.tmfc-consent a:hover,
.tmfc-consent a:focus{
  color:#102744!important;
  border-bottom-color:#102744;
  outline:none;
}
#tm-final .tmfc-consent input[type="checkbox"],
.tmfc-form .tmfc-consent input[type="checkbox"],
.tmfc-consent input[type="checkbox"]{
  accent-color:#102744;
}

/* 1.7.4 — bouton Retirer sobre / premium */
#tm-final .tmfc-selected-files .tmfc-remove-file,
.tmfc-form .tmfc-selected-files .tmfc-remove-file,
.tmfc-selected-files .tmfc-remove-file{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:#ffffff!important;
  background-image:none!important;
  color:#102744!important;
  border:1px solid #cfd4da!important;
  border-radius:5px!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.2!important;
  letter-spacing:.01em!important;
  padding:7px 11px!important;
  min-height:0!important;
  height:auto!important;
  width:auto!important;
  cursor:pointer!important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease!important;
}
#tm-final .tmfc-selected-files .tmfc-remove-file:hover,
#tm-final .tmfc-selected-files .tmfc-remove-file:focus,
.tmfc-form .tmfc-selected-files .tmfc-remove-file:hover,
.tmfc-form .tmfc-selected-files .tmfc-remove-file:focus,
.tmfc-selected-files .tmfc-remove-file:hover,
.tmfc-selected-files .tmfc-remove-file:focus{
  background:#f7f4ee!important;
  color:#102744!important;
  border-color:#b99a61!important;
  outline:none!important;
  box-shadow:0 0 0 2px rgba(185,154,97,.12)!important;
}

/* 2.0.8 — pilotage dossier compact et sans texte transversal */
.tmfc-workflow-form{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:flex-start;
  margin:0;
}
.tmfc-workflow-field{
  display:flex;
  flex-direction:column;
  min-width:220px;
}
.tmfc-workflow-field label > span{
  display:block;
  font-weight:600;
  margin-bottom:6px;
}
.tmfc-workflow-field select{
  min-height:42px;
  min-width:220px;
}
.tmfc-workflow-priority small{
  display:block;
  color:#646970;
  font-size:12px;
  line-height:1.35;
  margin-top:5px;
}
.tmfc-workflow-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:28px;
}
.tmfc-workflow-actions .button{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
}
.tmfc-workflow-guard{
  max-width:420px;
  color:#646970;
  font-size:12px;
  line-height:1.35;
  align-self:center;
}
@media (max-width: 782px){
  .tmfc-workflow-form,
  .tmfc-workflow-field,
  .tmfc-workflow-actions{
    width:100%;
  }
  .tmfc-workflow-field select{
    width:100%;
  }
  .tmfc-workflow-actions{
    margin-top:0;
  }
}

/* 2.0.8 : compatibilité avec ancien HTML mis en cache */
.tmfc-workflow-priority > small{display:none!important;}

/* 2.4.4 — public alternative-slot CTA: enforce TAGMEMICS brand colors. */
#tmfc-alternative button.tmfc-submit,
.tmfc-alternative button.tmfc-submit{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:#102744!important;
  background-color:#102744!important;
  background-image:none!important;
  color:#fff!important;
  border:1px solid #102744!important;
  border-radius:999px!important;
  box-shadow:none!important;
  text-shadow:none!important;
  padding:14px 24px!important;
  font-weight:600!important;
  text-transform:none!important;
  letter-spacing:0!important;
  cursor:pointer!important;
}
#tmfc-alternative button.tmfc-submit:hover,
#tmfc-alternative button.tmfc-submit:focus,
.tmfc-alternative button.tmfc-submit:hover,
.tmfc-alternative button.tmfc-submit:focus{
  background:#17385f!important;
  background-color:#17385f!important;
  color:#fff!important;
  border-color:#17385f!important;
  filter:none!important;
  outline:2px solid rgba(16,39,68,.16)!important;
  outline-offset:2px!important;
}
/* 2.7.27 — route publique Devis, rendue directement par le Functional Core. */
.tmfc-public-quote{background:#fff;color:#102744;min-height:70vh}
.tmfc-public-quote *{box-sizing:border-box}
.tmfc-public-quote__wrap,.tmfc-public-quote__content{width:min(1180px,calc(100% - 48px));margin:0 auto}
.tmfc-public-quote__hero{padding:72px 0 62px;background:#faf8f4;border-bottom:1px solid #e8e1d7}
.tmfc-public-quote__eyebrow{margin:0 0 18px;color:#a8834d;font-size:12px;font-weight:800;letter-spacing:.18em}
.tmfc-public-quote__hero h1,.tmfc-public-quote__intro h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.025em;color:#102744}
.tmfc-public-quote__hero h1{max-width:980px;margin:0;font-size:clamp(42px,6vw,74px);line-height:1.05}
.tmfc-public-quote__lead{max-width:980px;margin:28px 0 0;color:#566273;font-family:Georgia,"Times New Roman",serif;font-size:clamp(19px,2vw,25px);line-height:1.55}
.tmfc-public-quote__content{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:64px;padding-top:72px;padding-bottom:90px;align-items:start}
.tmfc-public-quote__intro{position:sticky;top:32px}
.tmfc-public-quote__intro h2{margin:0 0 20px;font-size:clamp(30px,3vw,43px);line-height:1.12}
.tmfc-public-quote__intro>p:last-child{color:#606b79;font-size:16px;line-height:1.75}
.tmfc-public-quote__form{min-width:0;padding:28px;border:1px solid #e2dbd1;background:#fff}
.tmfc-public-quote .tmfc-form button.tmfc-submit{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%!important;
  min-height:50px!important;
  margin:8px 0 0!important;
  padding:14px 24px!important;
  background:#102744!important;
  background-color:#102744!important;
  background-image:none!important;
  color:#fff!important;
  border:1px solid #102744!important;
  border-radius:4px!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font:600 15px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
  cursor:pointer!important;
}
.tmfc-public-quote .tmfc-form button.tmfc-submit:hover{
  background:#17385f!important;
  background-color:#17385f!important;
  border-color:#17385f!important;
  color:#fff!important;
}
.tmfc-public-quote .tmfc-form button.tmfc-submit:focus-visible{
  outline:3px solid rgba(168,131,77,.42)!important;
  outline-offset:3px!important;
}
.tmfc-public-quote .tmfc-form button.tmfc-submit:disabled{
  opacity:.58!important;
  cursor:not-allowed!important;
}
@media(max-width:820px){.tmfc-public-quote__wrap,.tmfc-public-quote__content{width:min(100% - 28px,720px)}.tmfc-public-quote__hero{padding:50px 0 44px}.tmfc-public-quote__content{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:44px;padding-bottom:64px}.tmfc-public-quote__intro{position:static}.tmfc-public-quote__form{padding:18px 14px}}

/* 2.7.31 — rendu institutionnel commun des formulaires publics certifiés. */
.tmfc-public-quote__form{
  padding:0;
  border:0;
  background:transparent;
}

.tmfc-form[data-tmfc-form]{
  --tmfc-form-ink:#0f2b3d;
  --tmfc-form-paper:#fbf8f1;
  --tmfc-form-white:#fffefb;
  --tmfc-form-mist:#e8eff1;
  --tmfc-form-gold:#b58a3b;
  --tmfc-form-gold-dark:#8b6426;
  --tmfc-form-sand:#d6cabb;
  --tmfc-form-slate:#4d5f6c;
  width:100%;
  max-width:900px;
  min-width:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 20px;
  margin:0;
  padding:0 34px 34px;
  border:1px solid #cfc4b6;
  border-top:0;
  border-radius:0;
  background:var(--tmfc-form-white);
  color:var(--tmfc-form-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

.tmfc-form[data-tmfc-form]::before{
  grid-column:1/-1;
  min-height:104px;
  display:flex;
  align-items:center;
  margin:0 -34px 27px;
  padding:24px 34px 22px;
  border-bottom:2px solid var(--tmfc-form-gold);
  background:var(--tmfc-form-ink);
  color:var(--tmfc-form-paper);
  font-family:Georgia,"Times New Roman",serif;
  font-size:29px;
  font-weight:400;
  line-height:1.18;
  letter-spacing:-.01em;
}

.tmfc-form[data-tmfc-form="quote"]::before{content:"Demande de devis"}
.tmfc-form[data-tmfc-form="interpretation"]::before{content:"Demande d’interprétation"}
.tmfc-form[data-tmfc-form="contact"]::before{content:"Formulaire de contact"}

.tmfc-form[data-tmfc-form] > .tmfc-field{
  min-width:0;
  margin:0 0 19px;
}

.tmfc-form[data-tmfc-form] > .tmfc-field:has(textarea),
.tmfc-form[data-tmfc-form] > .tmfc-field:has(input[type="checkbox"]),
.tmfc-form[data-tmfc-form] > .tmfc-document-field,
.tmfc-form[data-tmfc-form] > .tmfc-consent,
.tmfc-form[data-tmfc-form] > .tmfc-grid,
.tmfc-form[data-tmfc-form] > .tmfc-billing-box,
.tmfc-form[data-tmfc-form] > .tmfc-direct-tariff,
.tmfc-form[data-tmfc-form] > .tmfc-calendar,
.tmfc-form[data-tmfc-form] > .tmfc-day-schedule,
.tmfc-form[data-tmfc-form] > .tmfc-check-status,
.tmfc-form[data-tmfc-form] > .tmfc-info,
.tmfc-form[data-tmfc-form] > .tmfc-sensitive-note,
.tmfc-form[data-tmfc-form] > .tmfc-result{
  grid-column:1/-1;
}

.tmfc-form[data-tmfc-form] .tmfc-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 20px;
}

.tmfc-form[data-tmfc-form] .tmfc-field label{
  display:block;
  color:var(--tmfc-form-ink);
  font-size:13px;
  font-weight:650;
  line-height:1.5;
  letter-spacing:0;
  text-transform:none;
}

.tmfc-form[data-tmfc-form] .tmfc-field label > span[aria-hidden="true"],
.tmfc-form[data-tmfc-form] .tmfc-field label > strong{
  color:var(--tmfc-form-gold-dark);
}

.tmfc-form[data-tmfc-form] .tmfc-field input[type="text"],
.tmfc-form[data-tmfc-form] .tmfc-field input[type="email"],
.tmfc-form[data-tmfc-form] .tmfc-field input[type="tel"],
.tmfc-form[data-tmfc-form] .tmfc-field input[type="date"],
.tmfc-form[data-tmfc-form] .tmfc-field input[type="time"],
.tmfc-form[data-tmfc-form] .tmfc-field select,
.tmfc-form[data-tmfc-form] .tmfc-field textarea{
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:54px;
  margin-top:9px;
  padding:13px 14px;
  border:1px solid var(--tmfc-form-sand);
  border-radius:0;
  outline:0;
  background:#fcfbf7;
  color:var(--tmfc-form-ink);
  font:400 15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

.tmfc-form[data-tmfc-form] .tmfc-field textarea{
  min-height:148px;
  resize:vertical;
}

.tmfc-form[data-tmfc-form] .tmfc-field input:focus-visible,
.tmfc-form[data-tmfc-form] .tmfc-field select:focus-visible,
.tmfc-form[data-tmfc-form] .tmfc-field textarea:focus-visible{
  border-color:var(--tmfc-form-gold-dark);
  outline:2px solid rgba(181,138,59,.24);
  outline-offset:2px;
}

.tmfc-form[data-tmfc-form] .tmfc-document-field input[type="file"]{
  min-height:82px;
  margin-top:9px;
  padding:16px 17px;
  border:1px dashed var(--tmfc-form-gold);
  border-radius:0;
  background:var(--tmfc-form-paper);
  color:var(--tmfc-form-slate);
  font-size:13px;
}

.tmfc-form[data-tmfc-form] .tmfc-document-field input[type="file"]::file-selector-button{
  margin-right:14px;
  padding:9px 13px;
  border:1px solid var(--tmfc-form-ink);
  border-radius:0;
  background:var(--tmfc-form-ink);
  color:#fff;
  font:600 12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  cursor:pointer;
}

.tmfc-form[data-tmfc-form] .tmfc-document-field small{
  margin-top:9px;
  color:var(--tmfc-form-slate);
  font-size:12px;
  line-height:1.55;
}

.tmfc-form[data-tmfc-form] .tmfc-document-selection{
  margin-top:10px;
  padding:11px 13px;
  border-left:2px solid var(--tmfc-form-gold);
  background:var(--tmfc-form-mist);
  color:var(--tmfc-form-slate);
  font-size:12px;
}

.tmfc-form[data-tmfc-form] .tmfc-sensitive-note,
.tmfc-form[data-tmfc-form] .tmfc-info{
  margin:3px 0 18px;
  padding:15px 17px;
  border:0;
  border-left:2px solid var(--tmfc-form-gold);
  background:var(--tmfc-form-mist);
  color:var(--tmfc-form-slate);
  font-size:12px;
  line-height:1.62;
}

.tmfc-form[data-tmfc-form] .tmfc-consent{
  min-height:54px;
  margin:3px 0 18px;
  padding:13px 15px;
  border:1px solid #e2d8ca;
  background:var(--tmfc-form-paper);
}

.tmfc-form[data-tmfc-form] .tmfc-consent label{
  display:flex;
  align-items:flex-start;
  gap:11px;
  color:var(--tmfc-form-slate);
  font-size:12px;
  font-weight:500;
  line-height:1.55;
}

.tmfc-form[data-tmfc-form] .tmfc-consent input[type="checkbox"]{
  width:17px;
  height:17px;
  flex:0 0 17px;
  margin:2px 0 0;
  accent-color:var(--tmfc-form-ink);
}

.tmfc-form[data-tmfc-form] .tmfc-billing-box,
.tmfc-form[data-tmfc-form] .tmfc-direct-tariff,
.tmfc-form[data-tmfc-form] .tmfc-check-status,
.tmfc-form[data-tmfc-form] .tmfc-day-schedule{
  max-width:none;
  border-color:#e2d8ca;
  border-radius:0;
  background:var(--tmfc-form-paper);
}

.tmfc-form[data-tmfc-form] .tmfc-calendar{
  width:100%!important;
  max-width:none!important;
  border-color:#e2d8ca!important;
  border-radius:0!important;
  background:var(--tmfc-form-white)!important;
}

#tm-final .tmfc-form[data-tmfc-form] button.tmfc-submit,
.tmfc-casco-overlay .tmfc-form[data-tmfc-form] button.tmfc-submit,
.tmfc-public-quote .tmfc-form[data-tmfc-form] button.tmfc-submit,
.tmfc-form[data-tmfc-form] button.tmfc-submit{
  grid-column:1;
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:245px!important;
  min-height:52px!important;
  margin:5px 0 0!important;
  padding:13px 23px!important;
  border:1px solid var(--tmfc-form-ink)!important;
  border-radius:2px!important;
  background:var(--tmfc-form-ink)!important;
  background-image:none!important;
  color:#fff!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font:600 13px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
  cursor:pointer!important;
}

#tm-final .tmfc-form[data-tmfc-form] button.tmfc-submit:hover,
.tmfc-casco-overlay .tmfc-form[data-tmfc-form] button.tmfc-submit:hover,
.tmfc-public-quote .tmfc-form[data-tmfc-form] button.tmfc-submit:hover,
.tmfc-form[data-tmfc-form] button.tmfc-submit:hover{
  border-color:#0a2130!important;
  background:#0a2130!important;
  color:#fff!important;
}

.tmfc-form[data-tmfc-form] .tmfc-result{
  min-height:0;
  margin:14px 0 0;
  color:var(--tmfc-form-ink);
  font-size:13px;
  line-height:1.55;
}

@media(max-width:760px){
  .tmfc-form[data-tmfc-form]{
    grid-template-columns:minmax(0,1fr);
    gap:0;
    padding:0 20px 23px;
  }
  .tmfc-form[data-tmfc-form]::before{
    min-height:0;
    margin:0 -20px 23px;
    padding:22px 20px 20px;
    font-size:25px;
  }
  .tmfc-form[data-tmfc-form] > .tmfc-field,
  .tmfc-form[data-tmfc-form] > .tmfc-grid,
  .tmfc-form[data-tmfc-form] > .tmfc-billing-box,
  .tmfc-form[data-tmfc-form] > .tmfc-direct-tariff,
  .tmfc-form[data-tmfc-form] > .tmfc-calendar,
  .tmfc-form[data-tmfc-form] > .tmfc-day-schedule,
  .tmfc-form[data-tmfc-form] > .tmfc-check-status,
  .tmfc-form[data-tmfc-form] > .tmfc-info,
  .tmfc-form[data-tmfc-form] > .tmfc-sensitive-note,
  .tmfc-form[data-tmfc-form] > .tmfc-consent,
  .tmfc-form[data-tmfc-form] > .tmfc-submit,
  .tmfc-form[data-tmfc-form] > .tmfc-result{
    grid-column:1;
  }
  .tmfc-form[data-tmfc-form] .tmfc-grid{
    grid-template-columns:minmax(0,1fr);
    gap:0;
  }
  .tmfc-form[data-tmfc-form] .tmfc-field input[type="text"],
  .tmfc-form[data-tmfc-form] .tmfc-field input[type="email"],
  .tmfc-form[data-tmfc-form] .tmfc-field input[type="tel"],
  .tmfc-form[data-tmfc-form] .tmfc-field input[type="date"],
  .tmfc-form[data-tmfc-form] .tmfc-field input[type="time"],
  .tmfc-form[data-tmfc-form] .tmfc-field select,
  .tmfc-form[data-tmfc-form] .tmfc-field textarea{
    font-size:16px;
  }
  #tm-final .tmfc-form[data-tmfc-form] button.tmfc-submit,
  .tmfc-casco-overlay .tmfc-form[data-tmfc-form] button.tmfc-submit,
  .tmfc-public-quote .tmfc-form[data-tmfc-form] button.tmfc-submit,
  .tmfc-form[data-tmfc-form] button.tmfc-submit{
    width:100%!important;
    min-width:0!important;
  }
}
