/* Orium 3D — V8 : carrousel sur mesure. Accueil non modifié. */
.page-prestations { overflow:hidden; background:#090f16; }
.page-prestations::before { position:fixed; height:80dvh; background:radial-gradient(ellipse 72% 57% at 52% 4%, rgba(14,65,91,.42), transparent 78%); }
.page-prestations .conteneur { width:min(calc(100% - 48px), 1320px); }
.page-prestations .entete { min-height:clamp(53px,8dvh,75px); }
.page-prestations .marque img { width:clamp(106px,9vw,145px); }
.page-prestations .intro-prestations { padding:clamp(7px,1.3dvh,13px) 0 clamp(3px,.6dvh,6px); }
.page-prestations .intro-prestations h1 { margin:0; font-size:clamp(22px,2.6vw,36px); line-height:1.08; }
.page-prestations .intro-prestations .sous-titre { font-size:clamp(10px,.95vw,13px); line-height:1.25; margin-top:3px; }
.page-prestations .v8-main { display:flex; flex-direction:column; flex:1 1 0; min-height:0; }
.page-prestations .rubrique-carrousel { flex:1 1 0; min-height:0; margin:0 0 4px; display:flex; overflow:hidden; }
.page-prestations .v8-carrousel { display:flex; flex-direction:column; justify-content:stretch; width:100%; height:100%; gap:3px; min-height:0; }
.page-prestations .v8-carrousel-ligne { display:grid; grid-template-columns:42px minmax(0,1fr) 42px; gap:9px; height:auto; min-height:0; flex:1 1 0; width:100%; align-items:center; justify-content:stretch; overflow:hidden; }
.page-prestations .v8-fleche { position:static; translate:none; display:grid; place-items:center; width:39px; height:39px; border-radius:50%; background:#101e29; color:#f4f8fb; border:1px solid rgba(80,159,192,.35); font-size:25px; z-index:2; }
.page-prestations .v8-fleche:hover { border-color:#3DBDEE; }
.page-prestations .v8-scene { display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:0; min-width:0; border:0; outline:0; background:none; overflow:hidden; }
.page-prestations .v8-slide { display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; width:100%; height:100%; min-height:0; min-width:0; overflow:hidden; }
.page-prestations .v8-slide[hidden] { display:none !important; }
.page-prestations .v8-main-art { display:block; max-width:100%; max-height:100%; object-fit:contain; width:auto; height:100%; filter:saturate(.90); }
.page-prestations .v8-art-one { -webkit-mask-image:radial-gradient(ellipse 77% 80% at 50% 49%, black 68%, transparent 100%); mask-image:radial-gradient(ellipse 77% 80% at 50% 49%, black 68%, transparent 100%); }
.page-prestations .v8-art-five { width:100%; height:100%; max-width:100%; object-fit:contain; -webkit-mask-image:radial-gradient(ellipse 83% 75% at 50% 50%, black 77%, transparent 100%); mask-image:radial-gradient(ellipse 83% 75% at 50% 50%, black 77%, transparent 100%); }
.page-prestations .v8-pagination { display:flex; align-items:center; justify-content:center; gap:8px; flex:0 0 auto; min-height:9px; }
.page-prestations .v8-pagination .point { width:8px; height:8px; padding:0; border:0; border-radius:50%; background:#566979; cursor:pointer; }
.page-prestations .v8-pagination .point[aria-current="true"] { width:23px; border-radius:9px; background:#3DBDEE; }
.page-prestations .v8-compteur { display:block; text-align:center; letter-spacing:.11em; font-size:10px; min-height:14px; flex:0 0 auto; }
.page-prestations footer { z-index:1; }
.page-prestations .contact-contenu { padding-block:clamp(8px,1.2dvh,13px); }
.page-prestations .contact-copy strong { font-size:clamp(15px,1.4vw,20px); }
.page-prestations .contact-copy span { font-size:clamp(10px,.95vw,12px); }
.page-prestations .contact-cta { padding:9px 13px; font-size:clamp(11px,.95vw,13px); }
.page-prestations .pied-legal { justify-content:center; padding-block:4px 6px; font-size:10px; }
.page-prestations .pied-legal span { display:none; }

/* Vue 2 : mosaïque panoramique sur mesure, sans logo ni répétition du titre de page. */
.page-prestations .v8-slide-2 { justify-content:space-around; padding:5px 12px 8px; max-width:1140px; background-image:linear-gradient(180deg,#080f18b8,#080f1800 35%),url('assets/terrain-filaire.webp'); background-size:cover, 72% auto; background-position:center, right 10% top 0; background-repeat:no-repeat; -webkit-mask-image:linear-gradient(90deg,transparent 0,black 9%,black 91%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0,black 9%,black 91%,transparent 100%); }
.page-prestations .v8-slide2-heading { display:flex; align-items:flex-start; gap:15px; flex:0 0 auto; align-self:flex-start; margin-left:max(5%,20px); margin-bottom:2px; text-shadow:0 2px 7px #08121a; }
.page-prestations .v8-slash { width:10px; height:clamp(35px,5.3dvh,52px); background:#3DBDEE; transform:skew(-18deg); margin-top:5px; }
.page-prestations .v8-slide2-heading h2 { font-size:clamp(23px,3vw,43px); line-height:1.07; font-weight:900; letter-spacing:-.05em; margin:0 0 4px; }
.page-prestations .v8-slide2-heading em { font-style:normal; color:#3DBDEE; }
.page-prestations .v8-slide2-heading p { font-size:clamp(12px,1.4vw,19px); line-height:1.24; font-weight:600; margin:0; }
.page-prestations .v8-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); width:min(100%,870px); gap:clamp(7px,1dvh,14px); min-height:0; flex:1 1 auto; margin-inline:auto; }
.page-prestations .v8-services img { display:block; width:100%; height:100%; min-height:0; max-height:100%; object-fit:fill; border-radius:12px; filter:saturate(.90); }
.page-prestations .v8-method { display:flex; align-items:center; justify-content:center; gap:clamp(8px,1.5vw,22px); flex:0 0 auto; margin-top:7px; font-weight:750; font-size:clamp(10px,1.1vw,16px); }
.page-prestations .v8-method span { display:inline-flex; align-items:center; gap:clamp(4px,.8vw,9px); white-space:nowrap; }
.page-prestations .v8-method b { color:#3DBDEE; border:1px solid rgba(61,189,238,.72); border-radius:50%; display:grid; place-items:center; width:clamp(23px,3.8dvh,38px); height:clamp(23px,3.8dvh,38px); font-size:clamp(17px,2.6dvh,26px); font-weight:500; }
.page-prestations .v8-method i { height:2px; width:clamp(12px,2.1vw,30px); background:#3DBDEE; }

/* Vue 3 et 4 : encarts d'origine, grands et cliquables. */
.page-prestations .v8-gallery { display:grid; width:min(100%,1140px); height:100%; min-height:0; gap:clamp(8px,1.2vw,18px); justify-items:center; align-items:center; padding:8px 0 12px; }
.page-prestations .v8-gallery-three { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:minmax(0,1fr); }
.page-prestations .v8-gallery-four { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:clamp(9px,1vw,16px); padding-block:8px; }
.page-prestations .v8-zoom-card { cursor:zoom-in; position:relative; display:block; width:auto; height:auto; max-height:100%; max-width:100%; padding:0; border:1px solid rgba(61,189,238,.45); border-radius:15px; overflow:hidden; background:rgba(10,24,36,.4); box-shadow:0 2px 18px rgba(61,189,238,.07); transition: box-shadow .14s,border-color .14s,transform .14s; }
.page-prestations .v8-zoom-card:hover { border-color:#3DBDEE; box-shadow:0 1px 18px rgba(61,189,238,.25); transform:translateY(-2px); }
.page-prestations .v8-zoom-card img { display:block; width:100%; height:100%; object-fit:contain; }
.page-prestations .v8-gallery-three .v8-zoom-card { height:100%; aspect-ratio:352/525; }
.page-prestations .v8-gallery-four .v8-zoom-card { height:100%; aspect-ratio:1.43; }
.page-prestations .v8-magnify { position:absolute; right:8px; bottom:8px; display:grid; place-items:center; height:clamp(25px,4dvh,38px); width:clamp(25px,4dvh,38px); font-size:clamp(20px,3.3dvh,31px); line-height:1; border-radius:50%; background:rgba(6,17,27,.83); color:white; border:1px solid #3DBDEE; box-shadow:0 0 11px rgba(61,189,238,.37); }
.page-prestations .v8-slide-3::after,.page-prestations .v8-slide-4::after { content:""; position:absolute; left:9%; right:9%; bottom:0; height:8%; pointer-events:none; background:linear-gradient(0deg, rgba(13,69,96,.14),transparent); }

/* Zoom accessible par clic, touche Échap et bouton. */
#zoom-dialog { border:1px solid rgba(61,189,238,.55); width:min(96vw,1180px); max-height:96dvh; background:#07111c; }
#zoom-dialog img { display:block; width:auto; max-width:100%; max-height:calc(94dvh - 90px); height:auto; object-fit:contain; }

@media(max-width:640px) {
 .page-prestations .conteneur { width:calc(100% - 16px); }
 .page-prestations .entete { min-height:48px; }
 .page-prestations .intro-prestations h1 { font-size:clamp(19px,5.4vw,24px); }
 .page-prestations .intro-prestations .sous-titre { font-size:10px; }
 .page-prestations .v8-carrousel-ligne { grid-template-columns:24px minmax(0,1fr) 24px; gap:1px; }
 .page-prestations .v8-fleche { width:23px; height:36px; border-radius:7px; font-size:22px; background:rgba(7,17,27,.9); }
 .page-prestations .v8-main-art { max-width:100%; }
 .page-prestations .v8-art-one { -webkit-mask-image:linear-gradient(180deg,transparent,black 8%,black 92%,transparent); mask-image:linear-gradient(180deg,transparent,black 8%,black 92%,transparent); }
 .page-prestations .v8-slide-2 { padding:10px 2px 15px; }
 .page-prestations .v8-slide2-heading { gap:8px; margin-left:6px; }
 .page-prestations .v8-slide2-heading h2 { font-size:25px; }
 .page-prestations .v8-slide2-heading p { font-size:12px; }
 .page-prestations .v8-slash { width:6px; }
 .page-prestations .v8-services { width:100%; gap:5px; }
 .page-prestations .v8-services img { border-radius:5px; }
 .page-prestations .v8-method { gap:4px; font-size:9px; }
 .page-prestations .v8-method b { width:23px; height:23px; font-size:17px; }
 .page-prestations .v8-method i { width:10px; }
 .page-prestations .v8-gallery-three { display:flex; overflow-x:auto; align-items:center; justify-content:flex-start; scroll-snap-type:x mandatory; gap:9px; padding-inline:calc((100% - min(65vw,260px))/2); scrollbar-width:thin; }
 .page-prestations .v8-gallery-three .v8-zoom-card { flex:0 0 min(65vw,260px); height:auto; max-height:95%; scroll-snap-align:center; }
 .page-prestations .v8-gallery-four { gap:6px; padding:4px 0; }
 .page-prestations .v8-gallery-four .v8-zoom-card { width:100%; height:auto; max-height:100%; aspect-ratio:1.43; border-radius:6px; }
 .page-prestations .v8-magnify { right:3px; bottom:3px; width:22px; height:22px; font-size:18px; }
 .page-prestations .v8-pagination { gap:6px; }
 .page-prestations .v8-compteur { font-size:10px; }
 .page-prestations .contact-contenu { padding-block:7px; }
 .page-prestations .contact-copy strong { font-size:13px; }
 .page-prestations .contact-cta { padding:8px 7px; font-size:10px; }
 .page-prestations .pied-legal { padding-block:4px; }
}
@media(max-height:650px) and (min-width:641px) {
 .page-prestations .entete { min-height:48px; }
 .page-prestations .intro-prestations { padding-block:4px; }
 .page-prestations .intro-prestations h1 { font-size:26px; }
 .page-prestations .contact-contenu { padding-block:7px; }
 .page-prestations .pied-legal { padding-block:3px; }
}
@media(prefers-reduced-motion:reduce){ .page-prestations .v8-zoom-card { transition:none; } }

/* Finitions contrôlées à 1900x720, 1440x900 et sur mobile. */
.page-prestations .v8-services { align-content:stretch; }
.page-prestations .v8-service-card {
  min-width:0; min-height:0; position:relative; overflow:hidden;
  border:1px solid rgba(61,189,238,.73); border-radius:11px;
  display:flex; flex-direction:column; align-items:stretch;
  background:linear-gradient(180deg,#102436,#050f1a);
  box-shadow:0 1px 12px rgba(61,189,238,.1);
}
.page-prestations .v8-service-card img { width:100%; flex:1 1 auto; min-height:0; height:100%; object-fit:cover; object-position:center center; border-radius:9px 9px 0 0; }
.page-prestations .v8-service-card strong { flex:0 0 auto; display:block; padding:4px 9px 7px; color:white; font-weight:800; line-height:1.05; font-size:clamp(11px,1.18vw,17px); border-top:2px solid rgba(61,189,238,.42); background:#06121e; }
.page-prestations .v8-gallery-four { width:min(100%,765px); }
.page-prestations .v8-art-one, .page-prestations .v8-art-five { cursor:zoom-in; }
@media(max-width:640px){
 .page-prestations .v8-services { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); width:min(100%,325px); }
 .page-prestations .v8-service-card { border-radius:7px; }
 .page-prestations .v8-service-card img { border-radius:6px 6px 0 0; }
 .page-prestations .v8-service-card strong { font-size:clamp(10px,2.7vw,12px); line-height:1.06; padding:3px 5px 4px; }
 .page-prestations .v8-gallery-four { grid-template-rows:repeat(2, min-content); align-content:center; }
}


/* VERSION VALIDÉE : slides 3 et 4 reproduites à partir des compositions
   approuvées ; vues complètes sans rectangles vides ni nouveau logo. */
.page-prestations .approved-slide { background:transparent; }
.page-prestations .approved-desktop {
  display:block; position:relative;
  height:100%; width:auto; max-width:100%;
  flex:0 1 auto;
  margin:0 auto;
}
.page-prestations .approved-slide-3 .approved-desktop { aspect-ratio:1182 / 683; }
.page-prestations .approved-slide-4 .approved-desktop { aspect-ratio:1182 / 811; }
.page-prestations .approved-picture { display:block;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none; }
.page-prestations .approved-hit, .page-prestations .approved-hit:hover {
  position:absolute;display:block;z-index:2;
  border:none;background:transparent;border-radius:14px;
  color:transparent;box-shadow:none;outline:none;
  width:var(--w);height:var(--h);left:var(--x);top:var(--y);
  padding:0;max-width:none;max-height:none;transform:none;
  cursor:zoom-in;
}
.page-prestations .approved-hit:hover { background:rgba(61,189,238,.045);border:1px solid rgba(61,189,238,.42); }
.page-prestations .approved-hit:focus-visible { outline:2px solid #3DBDEE; outline-offset:2px; }
.page-prestations .hit-3-1 {--x:1%;--y:6.2%;--w:30.6%;--h:70.8%;}
.page-prestations .hit-3-2 {--x:34%;--y:6.2%;--w:30.6%;--h:70.8%;}
.page-prestations .hit-3-3 {--x:66.7%;--y:6.2%;--w:30.3%;--h:70.8%;}
.page-prestations .hit-4-1 {--x:2%;--y:2.6%;--w:44.9%;--h:40%;}
.page-prestations .hit-4-2 {--x:51.1%;--y:2.6%;--w:44.9%;--h:40%;}
.page-prestations .hit-4-3 {--x:2%;--y:46.7%;--w:44.9%;--h:41%;}
.page-prestations .hit-4-4 {--x:51.1%;--y:46.7%;--w:44.9%;--h:41%;}
.page-prestations .approved-slide::after {display:none;}
.page-prestations .approved-mobile { display:none; }

@media (max-width:640px) {
 .page-prestations .approved-desktop { display:none; }
 .page-prestations .approved-mobile {
   display:flex; overflow-x:auto; overflow-y:hidden;
   gap:10px; align-items:center; width:100%; height:100%;
   padding:6px 8% 8px;
   scroll-snap-type:x mandatory;
   scrollbar-width:none;
 }
 .page-prestations .approved-mobile::-webkit-scrollbar {display:none;}
 .page-prestations .approved-mobile .mobile-card {
   position:relative; flex:0 0 84%; height:min(100%,570px);
   max-width:84%; max-height:100%;
   display:flex;flex-direction:column;
   border:1px solid rgba(61,189,238,.8);
   border-radius:13px;overflow:hidden;
   background:#0a1826; box-shadow:0 0 12px rgba(61,189,238,.15);
   scroll-snap-align:center;
   transform:none;
 }
 .page-prestations .approved-mobile .mobile-card img {
   display:block;width:100%;height:auto;min-height:0;flex:1 1 0;
   object-fit:cover;object-position:center;
 }
 .page-prestations .approved-mobile .mobile-card-title {
   display:flex;align-items:center;gap:8px; flex:0 0 auto;
   width:100%;padding:9px 10px;
   font-size:clamp(14px,4.1vw,18px);
   font-weight:800;color:white;text-align:left; white-space:nowrap;
   background:linear-gradient(125deg,#0c2233,#08111c);
 }
 .page-prestations .mobile-card-title b {
   flex:0 0 auto;
   display:grid;place-items:center;
   width:29px;height:29px;border-radius:50%;
   background:#3DBDEE;color:#07131c;font-size:18px;
 }
 .page-prestations .mobile-card-title .mobile-icon {
   border:1px solid #3DBDEE;background:transparent;color:#3DBDEE;
 }
 .page-prestations .mobile-zoom {
   display:grid;place-items:center;
   position:absolute;bottom:12px;right:12px;
   border-radius:50%;background:#071721dd;
   color:white;border:1px solid #3DBDEE;
   width:34px;height:34px;font-size:27px;
 }
 .page-prestations .approved-slide-4 .approved-mobile .mobile-card {height:min(64%,380px);}
}

/* Mobile : montrer le document complet, sans recadrage agressif. */
@media (max-width:640px) {
 .page-prestations .approved-mobile { padding:6px 6% 10px; align-items:center; }
 .page-prestations .approved-mobile .mobile-card {
   flex:0 0 min(82vw,342px);
   width:min(82vw,342px);
   max-width:none;
   height:auto;
   aspect-ratio:.78;
   align-self:center;
 }
 .page-prestations .approved-mobile .mobile-card img {
   min-height:0;
   width:100%;
   flex:1 1 0;
   object-fit:contain;
   background:#09131f;
 }
 .page-prestations .approved-slide-4 .approved-mobile .mobile-card {
   flex-basis:min(84vw,345px);
   width:min(84vw,345px);
   height:auto;
   aspect-ratio:1.28;
 }
}
