/* =============================================================
   PoolConcept — PAGE PRODUIT (T1)
   Hérite du design system de superiorpool.ch (noir + or champagne,
   Fraunces / Manrope / Pinyon Script). Ce fichier ne fait qu'ajouter
   ce qui manque à poolconcept.css pour une fiche produit.
   Signature : LA LIGNE D'EAU qui monte et se stabilise.
   ============================================================= */
:root{
  --noir:#0A0A0B; --noir-2:#111113; --noir-3:#17171A;
  --ivoire:#ECE8E1; --gris:#8C8C90;
  --or:#C2A36B; --or-clair:#D8BE8C;
  --hair:rgba(236,232,225,.12); --hair-or:rgba(194,163,107,.34);
  --serif:"Fraunces", Georgia, serif;
  --sans:"Manrope", system-ui, sans-serif;
  --script:"Pinyon Script", cursive;
  --ease:cubic-bezier(.22,.61,.36,1); --slow:cubic-bezier(.16,1,.3,1);
  --wrap:1280px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--noir);color:var(--ivoire);font-family:var(--sans);font-weight:300;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.2rem,4vw,3rem)}
.script{font-family:var(--script);font-weight:400;color:var(--or-clair)}
.eyebrow{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--or)}

/* ---------- HERO PRODUIT : la ligne d'eau monte ---------- */
.p-hero{position:relative;height:min(88vh,760px);overflow:hidden;display:flex;align-items:flex-end}
.p-hero .ph{position:absolute;inset:0;z-index:0}
.p-hero .ph img{width:100%;height:100%;object-fit:cover;display:block;
  filter:brightness(.77) saturate(.95);transform:scale(1.06);transition:transform 2.4s var(--slow)}
body.ready .p-hero .ph img{transform:scale(1)}
/* le voile "eau" qui monte et découvre la photo */
.p-hero .eau{position:absolute;left:0;right:0;bottom:0;z-index:1;height:100%;
  background:linear-gradient(180deg,rgba(10,10,11,.13) 0%,rgba(10,10,11,.47) 45%,rgba(10,10,11,.82) 100%);
  transform:translateY(0);transition:transform 1.6s var(--slow)}
.p-hero .ligne{position:absolute;left:0;right:0;bottom:38%;z-index:2;height:1px;
  background:linear-gradient(90deg,transparent,var(--or-clair) 15%,var(--or-clair) 85%,transparent);
  opacity:0;transform:scaleX(.3);transform-origin:center;
  transition:opacity .8s var(--ease) .5s,transform 1.6s var(--slow) .3s}
body.ready .p-hero .ligne{opacity:.85;transform:scaleX(1)}
.p-hero .inner{position:relative;z-index:3;width:100%;padding-bottom:clamp(2.4rem,6vh,4rem)}
.p-hero .fil{font-size:.7rem;letter-spacing:.14em;color:var(--gris);margin-bottom:1.2rem}
.p-hero .fil a{color:var(--gris);text-decoration:none;transition:color .3s var(--ease)}
.p-hero .fil a:hover{color:var(--or-clair)}
.p-hero .fil span{color:var(--ivoire)}
.p-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,6.4vw,5rem);line-height:1.02;
  opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease) .5s,transform 1s var(--slow) .5s}
body.ready .p-hero h1{opacity:1;transform:none}
.p-hero .tag{margin-top:1rem;color:var(--gris);max-width:52ch;
  opacity:0;transform:translateY(14px);transition:opacity 1s var(--ease) .75s,transform 1s var(--slow) .75s}
body.ready .p-hero .tag{opacity:1;transform:none}

/* ---------- Bande de repères ---------- */
.p-strip{border-block:1px solid var(--hair);background:var(--noir-2)}
.p-strip .in{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding-block:clamp(1.6rem,4vh,2.4rem)}
@media (max-width:760px){.p-strip .in{grid-template-columns:repeat(2,1fr);gap:1.6rem}}
.p-strip .it{text-align:center}
.p-strip .k{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.p-strip .v{font-family:var(--serif);font-weight:300;font-size:clamp(1.1rem,2vw,1.5rem);margin-top:.4rem}
.p-strip .v em{font-family:var(--script);font-style:normal;color:var(--or-clair);font-size:1.25em}

/* ---------- Sections ---------- */
.sec{padding-block:clamp(4rem,10vh,7rem)}
.sec-head{margin-bottom:clamp(2rem,5vh,3rem)}
.sec-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,4.4vw,3.2rem);line-height:1.1}
.lede{color:var(--gris);max-width:62ch;margin-top:1rem}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease),transform .9s var(--slow)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.1s}
.reveal[data-d="2"]{transition-delay:.2s}
.reveal[data-d="3"]{transition-delay:.3s}

/* ---------- Atouts : filet d'or qui se trace ---------- */
.atouts{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.4rem,3vw,2.4rem)}
@media (max-width:760px){.atouts{grid-template-columns:1fr}}
.atout{position:relative;padding-top:1.6rem}
.atout::before{content:"";position:absolute;top:0;left:0;height:1px;width:100%;background:var(--hair)}
.atout::after{content:"";position:absolute;top:0;left:0;height:1px;width:0;background:var(--or);
  transition:width 1.2s var(--slow)}
.atout.in::after{width:38%}
.atout .n{font-size:.66rem;letter-spacing:.22em;color:var(--or)}
.atout h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.25rem,2.3vw,1.7rem);margin:.6rem 0 .7rem}
.atout p{color:var(--gris);font-size:.97rem}

/* ---------- Galerie (composant gallery.js/.css) ---------- */
.p-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.6rem,1.2vw,1rem)}
@media (max-width:760px){.p-gal{grid-template-columns:repeat(2,1fr)}}
.p-gal .pc-gitem{aspect-ratio:4/3}

/* ---------- Accompagnement (déroulé) ---------- */
.etapes{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.4vw,2rem);margin-top:1rem}
@media (max-width:860px){.etapes{grid-template-columns:repeat(2,1fr)}}
.etape{position:relative;padding-left:1.2rem;border-left:1px solid var(--hair)}
.etape .n{font-family:var(--script);font-size:1.7rem;color:var(--or-clair);line-height:1}
.etape h4{font-family:var(--serif);font-weight:300;font-size:1.05rem;margin:.5rem 0 .4rem}
.etape p{color:var(--gris);font-size:.88rem}

/* ---------- Autres modèles (maillage interne = SEO) ---------- */
.autre{position:relative;display:block;padding:1.2rem;border:1px solid var(--hair);background:var(--noir-2);
  text-decoration:none;color:var(--ivoire);transition:.35s var(--ease)}
.autre:hover{background:var(--noir-3);border-color:var(--hair-or)}
.autre .k{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or)}
.autre h4{font-family:var(--serif);font-weight:300;font-size:1.1rem;margin-top:.5rem}
.autre .go{margin-top:.8rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);
  transition:color .3s var(--ease)}
.autre:hover .go{color:var(--or-clair)}

/* ---------- CTA ---------- */
.p-cta{text-align:center;padding-block:clamp(4.5rem,11vh,7.5rem);border-top:1px solid var(--hair)}
.p-cta h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,4.6vw,3.4rem)}
.p-cta .btn{display:inline-flex;align-items:center;gap:.7rem;margin-top:1.8rem;padding:.95rem 2rem;
  border:1px solid var(--or);color:var(--ivoire);background:none;cursor:pointer;
  font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  transition:.35s var(--ease)}
.p-cta .btn:hover{background:var(--or);color:#0A0A0B}

a:focus-visible,button:focus-visible{outline:2px solid var(--or-clair);outline-offset:3px}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001s!important;transition-duration:.001s!important}
  .reveal{opacity:1;transform:none}
}


/* ---------- Schéma technique (image de leur page) ---------- */
.p-schema{border:1px solid var(--hair);background:var(--noir-2);padding:clamp(1.4rem,3vw,2.4rem);text-align:center}
.p-schema img{max-width:100%;height:auto;display:block;margin-inline:auto}


/* ---------- Autres bassins : carrousel — 4 visibles, navigation par flèches ---------- */
.autres-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}
.autres-nav{display:flex;gap:.5rem;flex:0 0 auto}
.autres-nav .ar{width:44px;height:44px;border:1px solid var(--hair);background:var(--noir-2);color:var(--ivoire);
  font-size:1.3rem;line-height:1;cursor:pointer;transition:.3s var(--ease)}
.autres-nav .ar:hover{border-color:var(--or);background:var(--or);color:#0A0A0B}

.autres{--gap:clamp(.7rem,1.4vw,1.1rem);
  display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}
.autres::-webkit-scrollbar{display:none}
/* exactement 4 cartes visibles */
.autres .autre{flex:0 0 calc((100% - 3*var(--gap))/4);scroll-snap-align:start}
@media (max-width:900px){ .autres .autre{flex:0 0 calc((100% - var(--gap))/2)} }
@media (max-width:560px){ .autres .autre{flex:0 0 82%} }

/* les 2 gammes coque : accent doré */
.autres .autre.ext{border-color:var(--hair-or)}
.autres .autre.ext .k{color:var(--or-clair)}

/* présentation multi-paragraphes (uniformisé) */
#pIntro p{margin-bottom:1rem}
#pIntro p:last-child{margin-bottom:0}