/* Rythme éditorial et cohérence des parcours, après les composants. */
.ppf-action-link { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:12px 22px; box-sizing:border-box; background:#c7ff48; color:#06110d!important; border-radius:8px; font-weight:700; text-decoration:none; line-height:1.4; }
.ppf-action-link:focus-visible { outline:2px solid #f5f2e8; outline-offset:4px; }
.ppf-booking__heading h1 { font-size:clamp(36px,4.3vw,64px); }
.ppf-booking__shortcuts { display:flex; flex-wrap:wrap; align-items:center; gap:16px 28px; margin:24px 0; }
.ppf-booking__shortcuts>a:not(.ppf-action-link) { padding:12px 0; }
.ppf-booking__empty { padding:28px 0; border-top:1px solid #344536; }
.ppf-booking__empty h3 { font-size:28px; margin:0 0 16px; }
.ppf-booking__empty p { margin-bottom:24px; }
.ppf-booking__formats article a { min-height:44px; }
.ppf-members__intro>.ppf-members__auth { grid-column:2; grid-row:1; }
.ppf-members__intro>div { grid-column:1; grid-row:1; }
.ppf-pond__gallery figure,.ppf-pond__gallery figure:nth-child(-n+2) { grid-column:span 3; }
.ppf-pond__gallery figure:last-child:nth-child(odd) { grid-column:1/-1; }
.ppf-pond__gallery figure:last-child:nth-child(odd) img { max-height:520px; }
.ppf-pond__heading::before { opacity:.1; mask-image:linear-gradient(90deg,transparent 35%,#000 85%,transparent); }
.ppf-pond__end::before { opacity:.08; }
.ppf-pond__end-actions { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.ppf-domain__cards { min-height:0; grid-template-rows:auto; gap:16px; }
.ppf-domain__image-link { aspect-ratio:4/3; }
.ppf-domain__card { padding:24px; }
.ppf-domain__card:last-child { border:0; background:transparent; padding:12px 24px; }
.ppf-experiences__grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
.ppf-experience--boat { grid-column:1; grid-row:1; }
.ppf-experience--float { grid-column:2; grid-row:1; }
.ppf-experience--events { grid-column:1 / -1; grid-row:2; }
.ppf-experience--prepare { grid-column:2; grid-row:2; display:flex; }
.ppf-experience--boat .ppf-experience__action { margin-top:24px; }
.ppf-experiences::before { opacity:.3; }
.ppf-visitor-info { max-width:1200px; padding:48px clamp(24px,4vw,64px); }
.ppf-visitor-info h1 { font-size:clamp(42px,5vw,72px); margin-bottom:28px; }
.ppf-info-nav { display:flex; flex-wrap:wrap; gap:8px 24px; padding:12px 0 24px; margin-bottom:24px; border-bottom:1px solid #344536; }
.ppf-info-nav a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:6px; }
.ppf-visitor-info section { scroll-margin-top:24px; }
.ppf-visitor-info li+li { margin-top:12px; }
.ppf-visitor-info #activites h3 { color:#c7ff48; border-top:1px solid #344536; padding-top:24px; margin-top:28px; }
.ppf-visitor-info table { font-size:14px; }
.ppf-site-footer { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px 40px; }
.ppf-site-footer>nav { grid-column:1/-1; display:flex; flex-wrap:wrap; justify-content:flex-start; gap:8px 28px; border-top:1px solid #2a3830; padding-top:20px; }
.ppf-site-footer>nav a { min-height:44px; display:inline-flex; align-items:center; }
.ppf-site-footer__note { grid-column:1/-1; margin:0; }
.ppf-footer-booking { align-self:start; }
.ppf-contact__shortcut { margin:0 0 32px; }
#ecrire { scroll-margin-top:24px; }
.ppf-journal__tabs,.ppf-gallery__filters { gap:8px 20px; }
.ppf-journal__tabs a { min-height:44px; display:inline-flex; align-items:center; }
.ppf-booking__request button,.ppf-booking__filters button,.ppf-members__auth button,.ppf-gallery__intro a,.ppf-journal-entry__all { min-height:48px; border-radius:8px; font-weight:700; }
@media(max-width:1380px) {
 .ppf-site-header nav .ppf-nav-group { grid-column:1/-1; width:100%; }
 .ppf-site-header .ppf-nav-submenu { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 20px; padding:8px 16px; }
 .ppf-site-header .ppf-nav-submenu a { min-height:44px; display:flex; align-items:center; }
}
@media(max-width:900px) {
 .ppf-members__intro>.ppf-members__auth,.ppf-members__intro>div { grid-column:1; grid-row:auto; }
 .ppf-members__intro>.ppf-members__auth { grid-row:1; }
 .ppf-members__intro>div { grid-row:2; padding-top:24px; }
 .ppf-contact__heading { margin-bottom:24px; }
}
@media(max-width:700px) {
 .ppf-experiences__grid { grid-template-columns:1fr; }
 .ppf-experience--boat,.ppf-experience--float,.ppf-experience--events,.ppf-experience--prepare { grid-column:1; grid-row:auto; }
 .ppf-site-footer { grid-template-columns:1fr; }
 .ppf-site-footer>nav,.ppf-site-footer__note { grid-column:1; }
 .ppf-footer-booking { justify-self:start; }
 .ppf-pond__gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ppf-pond__gallery figure,.ppf-pond__gallery figure:nth-child(-n+2) { grid-column:span 1; }
 .ppf-pond__gallery figure:last-child:nth-child(odd) { grid-column:1/-1; }
}
@media(max-width:600px) {
 .ppf-species { padding-top:165px; }
 .ppf-species::before { height:160px; top:0; }
 .ppf-species__heading h2 { font-size:clamp(27px,7.6vw,36px); }
 .ppf-species__heading>p { margin-top:20px; }
 .ppf-domain__card { padding:20px; }
 .ppf-domain::after { opacity:.06; }
 .ppf-experiences::before { opacity:.22; }
 .ppf-booking__heading { margin-bottom:20px; }
 .ppf-booking__steps { margin:20px 0 28px; }
 .ppf-pond__heading::before { opacity:.07; }
 .ppf-visitor-info { padding-top:32px; }
 .ppf-visitor-info th,.ppf-visitor-info td { padding:12px 5px; font-size:13px; }
 .ppf-pond__gallery { grid-template-columns:1fr; }
 .ppf-pond__gallery figure,.ppf-pond__gallery figure:nth-child(-n+2) { grid-column:1; }
 .ppf-journal__tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; }
}

.ppf-members__auth h1 { font-size:30px; margin:0 0 24px; }
.ppf-members__invitation { margin:20px 0 28px; font-size:clamp(42px,5.5vw,76px); }
.ppf-pond__notice,.ppf-booking__notice,.ppf-contact__notice { border-left:3px solid #c7ff48; padding:16px 18px; font-size:14px; line-height:1.6; }
@media(max-width:600px) { .ppf-members__invitation { font-size:38px; } }
.ppf-experience--prepare { align-items:flex-start; }
.ppf-experience--boat .ppf-experience__action { margin-top:0; padding-top:20px; }
.ppf-experience__key { margin-top:14px; padding-top:14px; }
.ppf-experience__text { margin-bottom:0; }
.ppf-gallery__filters a { min-height:44px; display:inline-flex; align-items:center; }
@media(max-width:600px) {
 .ppf-gallery__filters { display:flex; flex-wrap:wrap; gap:4px 16px; }
}
