.ppf-session__photo [data-carousel-slide][hidden] { display: none; }
.ppf-carousel__controls { position: absolute; z-index: 2; bottom: 18px; left: 18px; right: 18px; display: flex; align-items: center; gap: 8px; padding: 8px; border-radius: 12px; background: #06110deb; color: #f5f2e8; }
.ppf-carousel__controls[hidden] { display: none; }
.ppf-carousel__controls button { min-width: 44px; min-height: 44px; border: 1px solid #71816f; border-radius: 6px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.ppf-carousel__controls button:focus-visible { outline: 2px solid #c7ff48; outline-offset: 3px; }
.ppf-carousel__controls [data-carousel-toggle] { padding: 6px 12px; margin-left: auto; }
.ppf-carousel__count { font-size: 13px; font-variant-numeric: tabular-nums; }
/* Une arrivée consacrée aux poissons, avec les actions sur la photo. */
.ppf-fish-hero { position:relative; isolation:isolate; min-height:660px; height:min(78vh,850px); border-radius:22px; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:space-between; padding:44px 24px 100px; text-align:center; }
.ppf-fish-hero__photos { position:absolute; inset:0; z-index:-1; background:#081710; }
.ppf-fish-hero__photos [data-carousel-slide] { width:100%; height:100%; }
.ppf-fish-hero__photos [data-carousel-slide][hidden] { display:none; }
.ppf-fish-hero__photos img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.ppf-fish-hero__photos::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,#021009c9 0%,#02100920 38%,transparent 65%,#021009a6 100%); }
.ppf-fish-hero__copy { max-width:840px; color:#fff; text-shadow:0 2px 18px #0009; }
.ppf-fish-hero__copy p { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; margin:0 0 14px; }
.ppf-fish-hero__copy h1 { font-size:clamp(38px,4.4vw,68px); line-height:1.04; letter-spacing:-.035em; margin:0 0 16px; }
.ppf-fish-hero__copy>span { font-size:14px; }
.ppf-fish-hero__actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.ppf-fish-hero__actions .ppf-button { min-height:52px; padding:16px 24px; font-size:14px; }
.ppf-fish-hero__actions .ppf-button--domain { background:#071b13de; color:#fff; border:1px solid #e2efdd; }
.ppf-fish-hero .ppf-carousel__controls { z-index:2; left:50%; right:auto; transform:translateX(-50%); width:fit-content; white-space:nowrap; bottom:16px; }
.ppf-fish-hero__stats { display:flex; align-items:center; justify-content:center; gap:clamp(24px,8vw,100px); list-style:none; padding:24px 0; margin:0; border-bottom:1px solid #2a3830; color:#b6bfb5; font-size:14px; }
.ppf-fish-hero__stats strong { color:#c7ff48; margin-right:6px; }
@media(max-width:700px) {
 .ppf-fish-hero { height:auto; min-height:0; padding:0; border-radius:14px; background:#0b2117; }
 .ppf-fish-hero__copy { padding:28px 20px 20px; }
 .ppf-fish-hero__copy p { font-size:10px; line-height:1.5; }
 .ppf-fish-hero__copy h1 { font-size:34px; }
 .ppf-fish-hero__copy>span { font-size:12px; }
 .ppf-fish-hero__photos { position:relative; inset:auto; width:100%; aspect-ratio:4/3; z-index:0; }
 .ppf-fish-hero__photos img { object-fit:contain; }
 .ppf-fish-hero__photos::after { display:none; }
 .ppf-fish-hero .ppf-carousel__controls { bottom:8px; padding:4px; gap:6px; }
 .ppf-fish-hero .ppf-carousel__controls button { min-height:36px; }
 .ppf-fish-hero__actions { padding:16px; width:100%; box-sizing:border-box; }
 .ppf-fish-hero__actions .ppf-button { width:100%; text-align:center; justify-content:center; }
 .ppf-fish-hero__stats { gap:18px; font-size:11px; padding:20px 0; }
 .ppf-fish-hero__stats strong { display:block; font-size:15px; margin-bottom:4px; }
}
/* Mobile: a continuous, edge-to-edge photographic introduction. */
@media(max-width:700px){
 .ppf-home{padding-top:0}
 .ppf-fish-hero{margin-inline:-24px;width:calc(100% + 48px);border-radius:0;min-height:570px;height:calc(100svh - 90px);max-height:680px;padding:28px 24px 76px;background:#081710;box-sizing:border-box}
 .ppf-fish-hero__copy{position:relative;z-index:1;padding:0;max-width:360px}
 .ppf-fish-hero__copy p{font-size:9px;letter-spacing:.13em;margin-bottom:12px}
 .ppf-fish-hero__copy h1{font-size:clamp(30px,8.4vw,42px);line-height:1.06;margin-bottom:10px}
 .ppf-fish-hero__copy>span{font-size:12px;color:#d6ded8}
 .ppf-fish-hero__photos{position:absolute;inset:0;aspect-ratio:auto;height:100%;z-index:-1;background:#081710;touch-action:pan-y}
 .ppf-fish-hero__photos [data-carousel-slide]{display:flex;align-items:center;transform:translateY(-4px)}
 .ppf-fish-hero__photos [data-carousel-slide][hidden]{display:none}
 .ppf-fish-hero__photos img{width:100%;height:auto;max-height:64%;object-fit:contain;mask-image:linear-gradient(transparent,#000 12%,#000 86%,transparent)}
 .ppf-fish-hero__photos::after{display:block;background:linear-gradient(180deg,#081710 0%,transparent 29%,transparent 67%,#081710 89%)}
 .ppf-fish-hero__actions{position:relative;z-index:1;padding:0;gap:4px;margin-top:auto}
 .ppf-fish-hero__actions .ppf-button--booking{min-height:54px;font-size:15px;box-shadow:0 6px 24px #0004}
 .ppf-fish-hero__actions .ppf-button--domain{min-height:44px;padding:10px 16px;background:transparent;border-color:transparent;font-size:13px;color:#e2e8e2}
 .ppf-fish-hero .ppf-carousel__controls{bottom:14px;gap:10px;padding:0;background:transparent;border-radius:0}
 .ppf-fish-hero .ppf-carousel__controls button{min-width:44px;min-height:44px;border-color:#45604d;border-radius:50%}
 .ppf-fish-hero .ppf-carousel__controls [data-carousel-toggle]{border-radius:22px;font-size:12px}
 .ppf-fish-hero__stats{padding:18px 0;gap:28px;text-align:center}
 .home .ppf-assistant-launch{min-height:44px;padding:9px 12px;font-size:11px;gap:7px;right:12px;bottom:12px}
 .home .ppf-assistant-launch span{font-size:18px}
}
@media(max-width:700px){
 .home .ppf-site-header{padding:16px;gap:8px}
 .home .ppf-site-header .ppf-brand{font-size:13px}
 .home .ppf-site-header .ppf-weather-trigger--mobile{order:0;width:44px;min-width:44px;height:44px;margin-left:auto;font-size:0;justify-content:center;gap:0}
 .home .ppf-site-header .ppf-weather-trigger--mobile span{font-size:20px}
 .home .ppf-site-header .ppf-menu-toggle{margin-left:0;padding:10px 12px}
 .ppf-fish-hero__copy h1{font-size:clamp(27px,7.4vw,36px)}
 .ppf-fish-hero{height:calc(100svh - 145px);max-height:650px}
}
@media(max-width:700px){.home.ppf-hero-visible .ppf-assistant-launch{visibility:hidden;pointer-events:none}}
