/* Panier et langues réunis dans une bande réservée au-dessus du contenu. */
html.ft-services {
  --ft-services-hauteur:calc(56px + env(safe-area-inset-top));
}
html.ft-services.ft-services-langues-ouvertes {
  --ft-services-hauteur:calc(108px + env(safe-area-inset-top));
}
html.ft-services body {
  --safe-top:calc(max(14px, env(safe-area-inset-top)) + var(--ft-services-hauteur));
}
#ftServicesReserve { height:var(--ft-services-hauteur); flex:none; pointer-events:none; }
html.ft-services body #ftServices {
  position:fixed!important; inset:0 0 auto!important; z-index:2147482100;
  display:flex; align-items:flex-start; gap:10px; box-sizing:border-box;
  height:var(--ft-services-hauteur); min-height:56px;
  padding:calc(6px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left));
  background:#fffaf4; color:#352921; border-bottom:1px solid #d9cbbb;
  font:600 13px/1.3 Arial,Helvetica,sans-serif;
}
html.ft-services body #ftServices :is(#defialuPanierProjetBtn,.header-project,.ft-services-panier) {
  position:relative!important; inset:auto!important; display:inline-flex!important;
  align-items:center; justify-content:center; gap:8px; flex:0 0 auto;
  min-width:44px; width:auto!important; height:44px!important; min-height:44px!important;
  max-width:none!important; padding:0 12px!important; margin:0!important;
  border:1px solid #bdab95!important; border-radius:22px!important;
  color:#352921; background:#fffaf4; box-shadow:none!important;
  font:inherit; text-decoration:none; cursor:pointer;
}
#ftServices :is(#defialuPanierProjetBtn,.ft-services-panier) svg {
  width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8;
  stroke-linecap:round; stroke-linejoin:round;
}
html.ft-services body #ftServices #defialuPanierProjetBtn .defialu-panier-badge {
  position:static!important; margin:0; border:0; box-shadow:none; flex:none;
}
html.ft-services body #ftServices #ftLangues {
  position:relative!important; inset:auto!important; display:flex!important;
  flex:0 0 auto; gap:6px!important; width:104px!important; max-width:104px!important;
  height:44px!important; min-height:44px!important; margin:0!important;
  padding:0 10px!important; border:1px solid #bdab95!important; border-radius:22px!important;
  background:#fffaf4!important; color:#352921!important; box-shadow:none!important;
  font:600 13px/1.3 Arial,Helvetica,sans-serif!important; z-index:auto!important;
}
#ftServices .ft-services-drapeau { width:23px; height:16px; display:block; flex:none; border-radius:2px; overflow:hidden; }
#ftServices .ft-services-drapeau svg { width:100%; height:100%; display:block; }
#ftServices #ftLangues [data-ft-status] {
  position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap;
}
html.ft-services body #ftServices #ftLangues select {
  flex:1; width:56px!important; max-width:56px!important; min-width:0!important;
  height:42px!important; min-height:42px!important; margin:0!important; padding:0!important;
  border:0!important; background:transparent!important; color:inherit; font:inherit!important; cursor:pointer;
}
html.ft-services body #ftServices #ftLangues select[hidden] { display:none!important; }
#ftServices .ft-services-langue-bouton {
  display:flex; align-items:center; gap:6px; width:100%; height:42px; padding:0;
  border:0; background:transparent; color:inherit; font:inherit; cursor:pointer;
}
#ftServices .ft-services-langue-code { flex:1; }
#ftServices .ft-services-langue-chevron { font-size:10px; }
#ftServices .ft-services-langues-options {
  position:absolute; top:calc(56px + env(safe-area-inset-top)); left:max(12px,env(safe-area-inset-left));
  right:max(12px,env(safe-area-inset-right)); display:flex; align-items:center; gap:6px;
  height:44px; max-width:380px;
}
#ftServices .ft-services-langues-options[hidden] { display:none; }
#ftServices .ft-services-langues-options button {
  display:flex; align-items:center; justify-content:center; gap:5px; flex:1; min-width:0;
  min-height:44px; padding:0 4px; border:1px solid #d9cbbb; border-radius:12px;
  background:#fffaf4; color:#352921; font:inherit; cursor:pointer;
}
#ftServices .ft-services-langues-options button[aria-pressed="true"] { border-color:#8f6744; background:#eee2d5; }
#ftServices :is(button,a,select):focus-visible { outline:2px solid #9d514c; outline-offset:2px; }
html.ft-services body .site-header { top:var(--ft-services-hauteur)!important; }
html.ft-services body .showroom:not(.is-docked) { top:var(--ft-services-hauteur)!important; }
html.ft-services body :is(#scene3d,#defialuExactStep3Viewer) {
  top:var(--ft-services-hauteur)!important; height:calc(100% - var(--ft-services-hauteur))!important;
}
html.ft-services body #defialuPanierProjetPanel {
  top:calc(var(--ft-services-hauteur) + 8px)!important;
  max-height:calc(100dvh - var(--ft-services-hauteur) - 20px)!important;
}
html.ft-services body #defialuPanierProjetAncreV66:empty { display:none!important; }
html.ft-services body form.wizard {
  height:calc(100dvh - var(--ft-services-hauteur))!important;
  min-height:calc(100dvh - var(--ft-services-hauteur))!important;
  max-height:calc(100dvh - var(--ft-services-hauteur))!important;
}
@media(min-width:761px) {
  html.ft-services body .form-progress-shell,
  html.ft-services body .top-actions,
  html.ft-services body #ftServicesProgression,
  html.ft-services body #ftServicesActions {
    top:calc(var(--ft-services-hauteur) + max(12px,env(safe-area-inset-top)))!important;
  }
  html.ft-services body .door-header,
  html.ft-services body #ftServicesEntete {
    top:calc(var(--ft-services-hauteur) + max(12px,env(safe-area-inset-top)) + var(--ft-services-progression-hauteur,70px) + 14px)!important;
  }
}
@media(max-width:760px) {
  html.ft-services body.df-v378-mobile #defialuMobilePleinLargeurV378 {
    top:var(--ft-services-hauteur)!important;
    height:calc(100dvh - var(--ft-services-hauteur))!important;
  }
  html.ft-services body.df-v378-mobile #defialuMobileEnteteV378 { padding-right:14px!important; }
  html.ft-services body.df-v378-mobile #defialuMobileSceneV378 :is(#scene3d,#defialuExactStep3Viewer) {
    top:0!important; height:100%!important;
  }
  html.ft-services body:is(:has(#step2.is-active),:has(#step3.is-active)) form.wizard {
    top:var(--ft-services-hauteur)!important;
  }
  html.ft-services body #step1 #catalogRightPanel,
  html.ft-services body #step1 #catalogRightPanel .viewer-head {
    top:calc(var(--ft-services-hauteur) + max(8px,env(safe-area-inset-top)))!important;
  }
  html.ft-services body[data-chapter] .showroom:not(.is-docked) { top:calc(var(--ft-services-hauteur) + 70px)!important; }
  html.ft-services body form.wizard #step2 .project-step-shell {
    height:calc(100dvh - var(--ft-services-hauteur))!important;
    max-height:calc(100dvh - var(--ft-services-hauteur))!important;
  }
}
@media print {
  #ftServices,#ftServicesReserve { display:none!important; }
  html.ft-services { --ft-services-hauteur:0px; }
}
