/* Fiche Le Bateau Phare : DA lebateauphare.paris (marine, sable, rouge, Anton + Outfit). Portée : body.lieu-btp */
@font-face{font-family:'Anton';src:url('../fonts-btp/anton-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Outfit';src:url('../fonts-btp/outfit.woff2') format('woff2');font-weight:300 700;font-display:swap}

.lieu-btp{
  --b-marine:#212f59;--b-nuit:#000A33;--b-sable:#F5E6D3;--b-rouge:#C43A3A;--b-bordeaux:#B8434F;--b-creme:#E8ECF4;--b-gris:#8EA4B8;
  --b-display:'Anton','Impact',sans-serif;--b-body:'Outfit',sans-serif;
}
:where(.lieu-btp .main) :is(p,li,span,a,div,figcaption){font-family:var(--b-body)}
.lieu-btp .main{font-family:var(--b-body)}
.lieu-btp .btpf-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Titres : Anton capitales, préfixe article pivoté à -90 degrés (signature du site) */
.lieu-btp .main h1,.lieu-btp .main h2{font-family:var(--b-display);font-weight:400;text-transform:uppercase;letter-spacing:.5px;line-height:1;color:var(--b-marine);display:block;font-size:clamp(2.4rem,5vw,4rem);margin-bottom:1.2rem}
.lieu-btp .main h1{font-size:clamp(3rem,7vw,6rem);letter-spacing:-.5px}
/* Règle unique : hauteur de l'article pivoté = hauteur des capitales Anton (1760/2048 em) ; --r = largeur d'avance / 1760 ; inline-block dont le bas est la ligne de base, donc haut sur les capitales */
.lieu-btp .btpf-t{--r:1;--cap:.859375;--gap:.18;display:block;padding-left:calc((var(--cap) / var(--r) + var(--gap)) * 1em);text-indent:calc((var(--cap) / var(--r) + var(--gap)) * -1em)}
.lieu-btp .btpf-art{position:relative;display:inline-block;vertical-align:baseline;text-indent:0;width:calc(var(--cap) / var(--r) * 1em);height:calc(var(--cap) * 1em);margin-right:calc(var(--gap) * 1em);color:var(--b-rouge)}
.lieu-btp .btpf-art svg{position:absolute;left:50%;top:50%;width:calc(var(--cap) * 1em);height:calc(var(--cap) / var(--r) * 1em);transform:translate(-50%,-50%) rotate(-90deg);display:block;overflow:visible}
.lieu-btp .btpf-t,.lieu-btp .btpf-word{font-family:inherit}
.lieu-btp .service-section h2{font-size:clamp(2rem,3.4vw,2.8rem)}

/* Intro marine */
.lieu-btp .row.bg-white.z-100.bg-cover{background-color:var(--b-sable)!important;background-blend-mode:normal}
.lieu-btp .intro-strong,.lieu-btp .intro-strong p{font-family:var(--b-body);font-style:normal;font-weight:300;font-size:1.5rem;color:var(--b-marine)}
.lieu-btp .main .btn-kadrance,.lieu-btp .btpf-btn{background:var(--b-rouge);color:#fff;border-radius:0;padding:.7rem 1.6rem;font-family:var(--b-display);text-transform:uppercase;letter-spacing:1px;font-size:1rem;transition:background .2s}
.lieu-btp .main .btn-kadrance:hover,.lieu-btp .btpf-btn:hover{background:var(--b-marine);color:var(--b-sable);text-decoration:none}
.lieu-btp .btpf-btn{display:inline-block;margin-top:1rem}

/* Sections BtP */
.lieu-btp .btpf-sec{background:var(--b-nuit);color:var(--b-creme);padding:4.5rem 0;position:relative;overflow:hidden;font-family:var(--b-body)}
.lieu-btp .btpf-sec h2{color:var(--b-sable)}
.lieu-btp .btpf-eyebrow{font-family:var(--b-body);font-weight:600;letter-spacing:.25em;text-transform:uppercase;font-size:.8rem;color:var(--b-sable);opacity:.85;margin-bottom:.6rem}
.lieu-btp .btpf-hor{background:linear-gradient(135deg,var(--b-nuit),var(--b-marine))}
.lieu-btp .btpf-priv{border:2px solid var(--b-rouge);padding:2rem;margin-top:1.5rem;background:rgba(196,58,58,.08)}
.lieu-btp .btpf-priv-txt{font-family:var(--b-display);font-size:1.9rem;line-height:1.15;text-transform:uppercase;color:var(--b-sable);margin:0}

/* Formats de privatisation */
.lieu-btp .btpf-lead{font-weight:300;font-size:1.35rem;line-height:1.5;color:var(--b-creme);margin:1.2rem 0 0;max-width:46ch}
.lieu-btp .btpf-formats{margin-top:3rem}
.lieu-btp .btpf-card{background:var(--b-nuit);border-top:4px solid var(--b-rouge);padding:1.6rem;height:100%;display:flex;flex-direction:column}
.lieu-btp .btpf-cote{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--b-rouge);margin:0;font-weight:600}
.lieu-btp .btpf-card h3{font-family:var(--b-display);font-weight:400;text-transform:uppercase;font-size:2rem;color:var(--b-sable);margin:.4rem 0 .8rem;line-height:1.05;flex:1}
.lieu-btp .btpf-prix{font-family:var(--b-display);font-size:1.5rem;color:var(--b-sable);margin:0}

/* Fin de fiche : devis puis lien discret vers le site du lieu */
.lieu-btp .btpf-fin{background:var(--b-marine);text-align:center}
.lieu-btp .btpf-fin h2{color:var(--b-sable)}
.lieu-btp .btpf-site{margin:2rem 0 0;font-weight:300;font-size:1rem}
.lieu-btp .btpf-site a{color:var(--b-sable);opacity:.8;text-decoration:underline;text-underline-offset:.25em}
.lieu-btp .btpf-site a:hover{opacity:1}

/* Bande photos */
.lieu-btp .btpf-vie{background:var(--b-nuit)}
.lieu-btp .btpf-vie-item{flex:1 1 50%;margin:0;position:relative;min-height:340px;max-height:520px;overflow:hidden}
.lieu-btp .btpf-vie-item img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.lieu-btp .btpf-vie-item figcaption{position:absolute;left:0;bottom:0;background:var(--b-rouge);color:#fff;font-family:var(--b-display);text-transform:uppercase;padding:.5rem 1.1rem;letter-spacing:1px}

/* Salles et services : fonds sable/marine, textes lisibles */
.lieu-btp .bandeau-salle.bg-white{background:var(--b-creme)!important;color:var(--b-marine)}
.lieu-btp .bandeau-salle:nth-of-type(odd).bg-white{background:var(--b-sable)!important}
.lieu-btp .bandeau-salle p,.lieu-btp .capacite-desc{font-family:var(--b-body);font-weight:300;color:var(--b-marine)}
.lieu-btp .capacite-icon{border-color:var(--b-rouge)}
.lieu-btp .capacite-icon img{filter:invert(21%) sepia(60%) saturate(2300%) hue-rotate(335deg) brightness(.85)}
.lieu-btp .bandeau-salle hr{border-color:rgba(33,47,89,.25)}
.lieu-btp .service-section .bg-white{background:var(--b-nuit)!important;color:var(--b-creme);font-family:var(--b-body);font-weight:300}
.lieu-btp .service-section .bg-white p,.lieu-btp .service-section .bg-white li{color:var(--b-creme);font-weight:300}
.lieu-btp .service-section h2{color:var(--b-sable)}
.lieu-btp .service-section a{color:var(--b-sable);text-decoration:underline}
.lieu-btp .service-section li{margin-bottom:.3rem}
.lieu-btp #galeries h2{color:var(--b-marine)}

@media (max-width:991px){
  .lieu-btp .btpf-vie-item{flex-basis:100%}
}
@media (max-width:575px){
  .lieu-btp .btpf-sec{padding:3rem 0}
}

/* Visite 3D Matterport intégrée */
.lieu-btp .btpf-3d{position:relative;aspect-ratio:16/9;margin-top:2rem;overflow:hidden;background:var(--b-marine);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.lieu-btp .btpf-3d iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:767px){.lieu-btp .btpf-3d{aspect-ratio:4/5}}

/* Collab By Kadrance x Le Bateau Phare */
.lieu-btp .btpf-collab{text-align:center;margin:0 0 2.2rem;padding:1.4rem 1rem 1.6rem;border-top:3px solid var(--b-rouge);border-bottom:3px solid var(--b-rouge);position:relative}
.lieu-btp .btpf-collab-tag{display:inline-block;background:var(--b-rouge);color:#fff;font-family:var(--b-display);text-transform:uppercase;letter-spacing:.3em;font-size:.85rem;padding:.25rem .8rem .25rem 1.1rem;margin:0 0 1rem}
.lieu-btp .btpf-collab-row{display:flex;align-items:center;justify-content:center;gap:clamp(.6rem,3vw,2.2rem)}
.lieu-btp .btpf-cl-l{height:clamp(70px,13vw,120px);width:auto;display:block}
.lieu-btp .btpf-cl-r{display:block;width:clamp(150px,30vw,300px);color:var(--b-nuit)}
.lieu-btp .btpf-cl-r svg{display:block;width:100%;height:auto}
.lieu-btp .btpf-x{font-family:var(--b-display);font-size:clamp(3.2rem,9vw,6.5rem);line-height:1;color:var(--b-rouge);display:block;transform-origin:50% 54%}
.lieu-btp .btpf-collab-nom{font-family:var(--b-display);text-transform:uppercase;letter-spacing:.18em;font-size:clamp(.85rem,2vw,1.15rem);color:var(--b-marine);margin:1rem 0 0}

/* Intro : faisceau de phare qui balaie le fond */
.lieu-btp .row.bg-white.z-100.bg-cover{position:relative;overflow:hidden}
.lieu-btp .row.bg-white.z-100.bg-cover>.container{position:relative;z-index:1}
.lieu-btp .row.bg-white.z-100.bg-cover::before{content:"";position:absolute;left:-10%;top:-20%;width:140%;height:140%;pointer-events:none;z-index:0;
  background:conic-gradient(from 80deg at 8% 12%,transparent 0deg,rgba(255,255,255,.55) 9deg,transparent 22deg,transparent 360deg);transform-origin:8% 12%;will-change:transform}

/* Boutons devis : décalage façon drop, flèche qui avance */
.lieu-btp .btpf-btn{position:relative;transition:transform .2s,box-shadow .2s,background .2s}
.lieu-btp .btpf-btn::after{content:"→";display:inline-block;margin-left:.5rem;transition:transform .2s}
.lieu-btp .btpf-btn:hover,.lieu-btp .btpf-btn:focus-visible{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--b-sable)}
.lieu-btp .btpf-btn:hover::after,.lieu-btp .btpf-btn:focus-visible::after{transform:translateX(5px)}
.lieu-btp .btpf-fin .btpf-btn:hover{box-shadow:5px 5px 0 var(--b-rouge)}

/* Compteurs : largeur finale réservée */
.lieu-btp .btpf-n{display:inline-grid;font-variant-numeric:tabular-nums}
.lieu-btp .btpf-n>span{grid-area:1/1}
.lieu-btp .btpf-n-f{visibility:visible}
.lieu-btp .btpf-n-v{display:none;text-align:left}

/* Mouvement : seulement si JS actif et mouvement non réduit */
@media (prefers-reduced-motion:no-preference){
  .lieu-btp .row.bg-white.z-100.bg-cover::before{animation:btpf-beam 11s ease-in-out infinite alternate}
  @keyframes btpf-beam{from{transform:rotate(-14deg)}to{transform:rotate(26deg)}}

  .btpf-js.lieu-btp .btpf-collab .btpf-cl,.btpf-js .lieu-btp .btpf-collab .btpf-cl{transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .7s}
  .btpf-js .btpf-collab:not(.is-in) .btpf-cl-l{opacity:0;transform:translateX(-60px)}
  .btpf-js .btpf-collab:not(.is-in) .btpf-cl-r{opacity:0;transform:translateX(60px)}
  .btpf-js .btpf-x{transition:transform 1.1s cubic-bezier(.2,.8,.2,1) .15s,opacity .5s .15s}
  .btpf-js .btpf-collab:not(.is-in) .btpf-x{opacity:0;transform:rotate(-270deg) scale(.2)}
  .btpf-js .btpf-collab.is-in .btpf-x{animation:btpf-spin 7s cubic-bezier(.6,0,.2,1) 2s infinite}
  /* Tour complet rapide puis pause : le signe reste un « × » au repos */
  @keyframes btpf-spin{0%,85%{transform:rotate(0)}100%{transform:rotate(360deg)}}

  /* Articles : de 0 à -90 degrés, l'état final est la règle de base (.btpf-art svg) */
  .btpf-js .btpf-art svg{transition:transform 1s cubic-bezier(.2,.9,.25,1.1)}
  .btpf-js .btpf-t:not(.is-in) .btpf-art svg{transform:translate(-50%,-50%) rotate(0deg)}

  /* Cartes et bloc privatisation : montée douce */
  .btpf-js .btpf-card,.btpf-js .btpf-priv{transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1)}
  .btpf-js .btpf-card:not(.is-in),.btpf-js .btpf-priv:not(.is-in){opacity:0;transform:translateY(24px)}

  /* Compteurs */
  .btpf-js .btpf-count .btpf-n.is-run .btpf-n-f{visibility:hidden}
  .btpf-js .btpf-count .btpf-n.is-run .btpf-n-v{display:block}
  .btpf-js .btpf-count:not(.is-in) .btpf-n-f{visibility:hidden}
  .btpf-js .btpf-count:not(.is-in) .btpf-n-v{display:block}
}

/* Diaporamas slick : fondu, zoom lent (Ken Burns), flèches, points. Hauteurs réservées avant l'init. */
.lieu-btp .btpf-ss{position:relative;overflow:hidden;background:var(--b-nuit)}
.lieu-btp .btpf-ss:not(.slick-initialized) .btpf-slide:not(:first-child){display:none}
.lieu-btp .btpf-slide{position:relative;overflow:hidden;height:100%;background:var(--b-nuit)}
.lieu-btp .btpf-slide>img.btpf-kb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transform-origin:var(--o,50% 50%)}
.lieu-btp .bandeau-salle .btpf-ss{min-height:350px}
.lieu-btp .btpf-ss .diapo p{z-index:3;background:var(--b-rouge);color:#fff;font-family:var(--b-display);text-transform:uppercase;letter-spacing:1px;max-width:70%}
.lieu-btp .btpf-ss .diapo .diapo_dl{z-index:3;right:14px;bottom:62px}
.lieu-btp .btpf-ss .diapo .diapo_dl .fa{color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.single-lieux.lieu-btp .btpf-ss button.btpf-arrow{position:absolute;top:50%;bottom:auto;transform:translateY(-50%);z-index:6;width:44px;height:44px;padding:0;border:0;border-radius:0;background:rgba(14,22,48,.55);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.single-lieux.lieu-btp .btpf-ss button.btpf-arrow:hover,.single-lieux.lieu-btp .btpf-ss button.btpf-arrow:focus-visible{background:var(--b-rouge);outline:2px solid #fff;outline-offset:-4px}
.single-lieux.lieu-btp .btpf-ss button.btpf-prev{left:10px;right:auto}
.single-lieux.lieu-btp .btpf-ss button.btpf-next{right:10px;left:auto}
.lieu-btp .btpf-ss ul.btpf-dots{position:absolute;left:0;right:0;bottom:16px;z-index:6;display:flex;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;pointer-events:none}
.lieu-btp .btpf-ss ul.btpf-dots li{display:block;margin:0;pointer-events:auto}
.lieu-btp .btpf-ss ul.btpf-dots button{display:block;width:12px;height:12px;padding:0;border:2px solid #fff;border-radius:50%;background:transparent;font-size:0;cursor:pointer;box-shadow:0 0 4px rgba(0,0,0,.5);transition:background .2s,transform .2s}
.lieu-btp .btpf-ss ul.btpf-dots li.slick-active button{background:var(--b-rouge);border-color:var(--b-rouge);transform:scale(1.25)}
.lieu-btp .btpf-ss ul.btpf-dots button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.lieu-btp .btpf-pp{position:absolute;top:10px;right:10px;z-index:6;width:36px;height:36px;padding:0;border:0;background:rgba(14,22,48,.55);color:#fff;cursor:pointer;display:grid;place-items:center}
.lieu-btp .btpf-pp:hover,.lieu-btp .btpf-pp:focus-visible{background:var(--b-rouge)}
.lieu-btp .btpf-pp svg{width:14px;height:14px;fill:currentColor}
.lieu-btp .btpf-pp .btpf-pp-play{display:none}
.lieu-btp .btpf-pp[aria-pressed=true] .btpf-pp-play{display:block}
.lieu-btp .btpf-pp[aria-pressed=true] .btpf-pp-pause{display:none}
.lieu-btp .header_image .btpf-ss{height:100%;min-height:0}
.lieu-btp .header_image .btpf-ss ul.btpf-dots{bottom:28px}
.lieu-btp .header_image .btpf-pp{top:96px}

/* Vie à bord : carrousel défilant, deux photos par vue au-dessus de 992 px */
.lieu-btp .btpf-vie-ss{background:var(--b-nuit)}
.lieu-btp .btpf-vie-ss:not(.slick-initialized){display:flex;overflow:hidden}
.lieu-btp .btpf-vie-ss:not(.slick-initialized) .btpf-vie-item{flex:0 0 50%;display:block}
.lieu-btp .btpf-vie-ss:not(.slick-initialized) .btpf-vie-item:nth-child(n+3){display:none}
.lieu-btp .btpf-vie-ss .btpf-vie-item{height:clamp(300px,34vw,500px);min-height:0;max-height:none;flex:none}
.lieu-btp .btpf-vie-ss .slick-list,.lieu-btp .btpf-vie-ss .slick-track,.lieu-btp .btpf-vie-ss .slick-slide{height:auto}
.lieu-btp .btpf-vie-ss .slick-slide>div{height:auto}
.lieu-btp .btpf-vie-ss .btpf-vie-item figcaption{z-index:3}
@media (max-width:991px){
  .lieu-btp .btpf-vie-ss:not(.slick-initialized) .btpf-vie-item{flex-basis:100%}
  .lieu-btp .btpf-vie-ss:not(.slick-initialized) .btpf-vie-item:nth-child(n+2){display:none}
  .lieu-btp .bandeau-salle .btpf-ss{aspect-ratio:4/3;min-height:0}
  .lieu-btp .btpf-ss .diapo .diapo_dl{bottom:56px}
}

/* Galeries : cartes qui changent de photo en fondu */
.lieu-btp .btpf-gal-layers{position:absolute;inset:0;z-index:0}
.lieu-btp .btpf-gl{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.lieu-btp .btpf-gl.is-on{opacity:1}
.lieu-btp .btpf-gal .content-slider,.lieu-btp .btpf-gal .overlay-slider{z-index:2}

/* Bandeaux Ponts et Offres groupe : photo plus grande que son cadre, parallaxe et zoom liés au défilement */
.lieu-btp .btpf-par{position:relative;overflow:hidden;background:var(--b-nuit)}
.lieu-btp .btpf-par-img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;display:block}

@media (prefers-reduced-motion:no-preference){
  .btpf-js .btpf-ss .btpf-slide>img.btpf-kb{transform:scale(1)}
  .btpf-js .btpf-ss .slick-active .btpf-slide>img.btpf-kb,.btpf-js .btpf-ss .slick-slide.btpf-out .btpf-slide>img.btpf-kb{animation:btpf-kbz 9s ease-out forwards}
  @keyframes btpf-kbz{from{transform:scale(1)}to{transform:scale(1.14)}}
  .btpf-js .btpf-par-img{will-change:transform;transform:translate3d(0,calc((var(--p,.5) - .5) * -14%),0) scale(calc(1.04 + var(--p,.5) * .12))}
}
@media (prefers-reduced-motion:reduce){
  .lieu-btp .btpf-gl{transition:opacity .3s ease}
}
.lieu-btp .btpf-vie-ss ul.btpf-dots{justify-content:flex-end;padding-right:64px}
@media (max-width:575px){.lieu-btp .btpf-vie-ss ul.btpf-dots{justify-content:center;padding-right:0;bottom:18px}.lieu-btp .btpf-ss ul.btpf-dots{bottom:14px}.lieu-btp .btpf-ss .diapo p{max-width:62%;font-size:.9rem}}

/* Chiffres animés : même police que le texte qui les entoure */
.lieu-btp .btpf-n,.lieu-btp .btpf-n *{font-family:inherit!important;font-weight:inherit!important}
