.accueil-maison .scene-visuel.vm3d{ background: #F1F0DF; overflow: hidden; }
.vm3d .im-scene{ position: absolute; inset: 0; isolation: isolate; color: #103C32; }
.vm3d .im-canvas{ position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; display: block; }
.vm3d .im-fallback{ position: absolute; inset: 0; display: grid; place-items: center; padding: 12px; }
.vm3d .im-fallback svg{ width: 100%; height: 100%; }
.vm3d .im-scene[data-vue='3d'] .im-fallback{ display: none; }
.vm3d .im-label, .vm3d .im-cote{ position: absolute; z-index: 3; transform: translate(-50%, -50%); padding: 7px 11px; background: #FFFFFF; border: 1px solid #103C32; font: 500 14px/1.25 var(--corps); color: #103C32; white-space: nowrap; pointer-events: none; transition: opacity .3s; }
.vm3d .im-cote{ background: #103C32; color: #F1F0DF; font-weight: 600; }
.vm3d .im-label[hidden], .vm3d .im-cote[hidden], .vm3d .im-trait[hidden]{ display: none !important; }
.vm3d .im-trait{ position: absolute; z-index: 2; height: 1px; background: #103C32; transform-origin: 0 50%; pointer-events: none; }
.vm3d .im-trait::before{ content: ""; position: absolute; left: -4px; top: -4px; width: 9px; height: 9px; border-radius: 0; background: #103C32; }
.mf-mention{ position: absolute; left: 16px; bottom: 12px; z-index: 3; margin: 0; font: 400 13px/1.3 var(--corps); color: rgba(16, 60, 50, .72); }
.mf-fiche{ position: absolute; z-index: 4; right: clamp(12px, 2.5%, 32px); top: 50%; width: min(380px, 46%); padding: 14px 18px 16px; background: #FFFFFF; border: 1px solid #103C32; color: #103C32; opacity: 0; transform: translate(24px, -50%); transition: opacity .45s var(--entree, ease), transform .45s var(--entree, ease); pointer-events: none; }
.mf-fiche.is-visible{ opacity: 1; transform: translate(0, -50%); }
.mf-tete{ margin: 0 0 8px; font: 400 22px/1.2 var(--titre, Georgia, serif); }
.mf-tete span{ font: 400 15px/1.2 var(--corps); color: rgba(16, 60, 50, .78); }
.mf-blocs{ display: grid; grid-template-columns: 1fr; gap: 0; border-top: 2px solid #103C32; }
.mf-bloc{ padding: 9px 0 10px; border-bottom: 1px solid rgba(16, 60, 50, .28); }
.mf-bloc h4{ margin: 0 0 4px; font: 400 17px/1.25 var(--titre, Georgia, serif); }
.mf-bloc ul{ list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; font: 400 14.5px/1.35 var(--corps); }
.mf-vide{ margin: 0; font: 400 14.5px/1.35 var(--corps); }
.mf-bloc.mf-plu{ background: #103C32; color: #F1F0DF; padding: 9px 12px 11px; border-bottom-color: #103C32; }
.mf-bloc.mf-plu h4{ font-size: 18px; }
.mf-fiche mark{ white-space: nowrap; position: relative; background: none; color: inherit; }
.mf-fiche mark::before{ content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 3px; background: #B9C6A3; transform: scaleX(0); transform-origin: 0 50%; transition: transform .4s cubic-bezier(.165, .84, .44, 1) .35s; }
.mf-fiche.is-visible mark::before{ transform: scaleX(1); }
@media (prefers-reduced-motion: reduce){.mf-fiche mark::before{ transform: scaleX(1); transition: none; }
}
.mf-src{ margin: 6px 0 0; padding-left: 9px; border-left: 3px solid currentColor; font: 400 13.5px/1.35 var(--corps); }
.mf-src b{ font-weight: 600; display: block; }
.mf-src.mf-propose{ border-left-style: dashed; }
.mf-src.mf-verifier{ border-left-style: double; border-left-width: 4px; }
.mf-src.mf-public{ border-left-style: solid; }
.accueil-maison .scene[data-mode="empile"] .scene-visuel.vm3d{ height: auto; aspect-ratio: 4 / 3; min-height: 260px; }
.accueil-maison .scene[data-mode="empile"] .mf-fiche{ position: relative; inset: auto; width: auto; margin: 0; transform: none; display: none; }
.accueil-maison .scene[data-mode="empile"] .vm3d[data-etape="3"]{ aspect-ratio: auto; height: auto; }
.accueil-maison .scene[data-mode="empile"] .vm3d[data-etape="3"] .im-scene{ position: relative; min-height: 240px; }
.accueil-maison .scene[data-mode="empile"] .vm3d[data-etape="3"] .im-scene:not([data-vue='3d']) .im-fallback{ position: relative; inset: auto; }
.accueil-maison .scene[data-mode="empile"] .vm3d[data-etape="3"] .im-scene:not([data-vue='3d']) .im-fallback svg{ height: auto; aspect-ratio: 3 / 2; }
.accueil-maison .scene[data-mode="empile"] .vm3d[data-etape="3"] .mf-fiche{ display: block; opacity: 1; border-left: 0; border-right: 0; }
.accueil-maison .scene[data-mode="empile"] .vm3d[data-etape="3"] .mf-mention{ position: static; padding: 8px 12px; }
.accueil-maison .scene[data-mode="empile"] .vm3d:not([data-etape="3"]) .mf-mention{ display: none; }
.accueil-maison .scene[data-mode="empile"] .mf-blocs{ grid-template-columns: 1fr; }
.accueil-maison .scene[data-mode="empile"] .mf-bloc, .accueil-maison .scene[data-mode="empile"] .mf-bloc:nth-child(even), .accueil-maison .scene[data-mode="empile"] .mf-bloc:nth-child(2n+1):not(.mf-plu){ padding: 12px 0 14px; border-left: 0; }
.accueil-maison .scene[data-mode="empile"] .mf-bloc.mf-plu{ padding: 12px 14px 14px; }
@media (max-width: 1180px){.mf-fiche{ width: min(560px, 76%); padding: 14px 16px 16px; }
.mf-bloc h4{ font-size: 17px; }
.mf-bloc ul, .mf-vide{ font-size: 14.5px; }
.mf-src{ font-size: 12.5px; }
}
@media (max-width: 767px){.vm3d .im-label, .vm3d .im-cote{ font-size: 13px; padding: 5px 8px; }
}
.mf-tete, .mf-bloc h4{ text-wrap: balance; }
.mf-bloc li, .mf-vide, .mf-src{ text-wrap: pretty; }
.accueil-maison .scene:not([data-mode="empile"]) .vm3d[data-etape="3"] .im-fallback{ padding-right: min(420px, 50%); }
@media (max-height: 820px) and (min-width: 768px){.mf-fiche{ padding: 10px 14px 12px; }
.mf-tete{ font-size: 20px; margin-bottom: 6px; }
.mf-bloc{ padding: 6px 0 7px; }
.mf-bloc.mf-plu{ padding: 6px 10px 8px; }
.mf-bloc h4{ font-size: 16px; }
.mf-bloc ul, .mf-vide{ font-size: 13.5px; }
.mf-src{ font-size: 12.5px; margin-top: 4px; }
}
.mf-pile{ position: absolute; z-index: 3; left: 16px; right: 16px; bottom: 40px; margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; opacity: 0; transition: opacity 250ms linear; pointer-events: none; }
.mf-pile.is-visible{ opacity: 1; }
.mf-couche{ position: relative; padding: 9px 11px 10px 38px; border: 1px solid rgba(16, 60, 50, .35); background: rgba(255, 255, 255, .72); color: rgba(16, 60, 50, .62); font: 400 13.5px/1.35 var(--corps); transition: background-color 250ms linear, color 250ms linear, border-color 250ms linear; }
.mf-couche b{ display: block; margin-bottom: 2px; font: 600 15px/1.25 var(--corps); }
.mf-couche span{ display: block; }
.mf-couche .mf-repere{ position: absolute; left: 11px; top: 11px; width: 18px; height: 18px; border: 2px solid #103C32; }
.mf-plan .mf-repere{ background: transparent; }
.mf-photo .mf-repere{ background: #647B67; }
.mf-plu .mf-repere{ background: repeating-linear-gradient(135deg, #103C32 0 2px, transparent 2px 5px); }
.mf-devis .mf-repere{ background: #103C32; border-radius: 0; }
.mf-couche:not(.is-posee) .mf-repere{ opacity: .35; }
.mf-couche.is-posee{ color: #103C32; border-color: #103C32; background: rgba(255, 255, 255, .92); }
.mf-couche.is-actif{ background: #103C32; color: #F1F0DF; border-color: #103C32; }
.mf-couche.is-actif .mf-repere{ border-color: #F1F0DF; }
.mf-couche.is-actif.mf-plan .mf-repere{ background: transparent; }
.mf-couche.is-actif.mf-photo .mf-repere{ background: #B9C6A3; }
.mf-couche.is-actif.mf-plu .mf-repere{ background: repeating-linear-gradient(135deg, #F1F0DF 0 2px, transparent 2px 5px); }
.mf-couche.is-actif.mf-devis .mf-repere{ background: #F1F0DF; }
@media (max-width: 1100px){.mf-pile{ grid-template-columns: repeat(2, 1fr); bottom: 36px; }
.mf-couche span{ display: none; }
}
.accueil-maison .scene[data-mode="empile"] .mf-pile{ display: none; }
@media (prefers-reduced-motion: reduce){.mf-pile, .mf-couche{ transition: none; }
}
