/* September 21: retain One Cat's palette and existing gallery behaviour. */
.onecat-feedback .inner-hero.ocf-open-hero { max-width:none; margin-inline:0; padding-inline:0; }
.onecat-feedback.ocf-finish .ocf-open-hero > img { width:100%; max-width:none; height:auto; max-height:none; object-fit:contain; margin:0; border-radius:0; }
.onecat-feedback .ocf-family-story { border-top:1px solid #d9dfdf; }
.onecat-feedback .ocf-family-story > header { max-width:850px; margin:0 auto 36px; text-align:center; }
.onecat-feedback .ocf-family-story h2 { font-size:clamp(32px,4vw,58px); line-height:1.12; }
.onecat-feedback .ocf-family-photos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:0 0 44px; align-items:start; }
.onecat-feedback .ocf-family-photos figure { min-width:0; margin:0; }
.onecat-feedback .ocf-family-photos img { display:block; width:100%; height:300px; object-fit:contain; background:#f3f1ec; border-radius:4px; }
.onecat-feedback .ocf-family-photos figcaption { margin-top:10px; font:13px/1.6 Arial,sans-serif; }
.onecat-feedback .ocf-family-prose { max-width:780px; margin-inline:auto; }
.onecat-feedback .ocf-family-prose p { font-size:18px; line-height:1.85; margin:0 0 22px; }
.onecat-feedback .ocf-family-prose h3 { font-size:clamp(27px,3vw,38px); margin:44px 0 22px; }
.onecat-feedback .ocf-family-preview { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,72px); align-items:center; }
.onecat-feedback .ocf-family-preview > img { display:block; width:100%; height:auto; border-radius:4px; }
.onecat-feedback .ocf-family-preview h2 { font-size:clamp(30px,3.4vw,48px); line-height:1.2; }
.onecat-feedback .ocf-family-preview p:not(.eyebrow) { line-height:1.8; margin-block:24px; }
.onecat-feedback .ocf-activities-nav { margin:0 0 72px; }
.onecat-feedback .ocf-activities-nav > p { margin:18px 0 28px; }
.onecat-feedback .ocf-activity-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.onecat-feedback .ocf-activity-card { display:flex; flex-direction:column; min-width:0; background:#f4f2ed; color:#0a2331; border:1px solid #e3e4df; border-radius:4px; text-decoration:none; overflow:hidden; }
.onecat-feedback .ocf-activity-card img { width:100%; height:180px; object-fit:cover; }
.onecat-feedback .ocf-activity-card strong { padding:20px 18px 8px; font-size:18px; line-height:1.35; }
.onecat-feedback .ocf-activity-card span { padding:0 18px 18px; margin-top:auto; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.onecat-feedback .ocf-activity-card:hover { border-color:#a28455; }
.onecat-feedback .ocf-activity-card:focus-visible,.onecat-feedback .ocf-water-photo:focus-visible { outline:3px solid #a28455; outline-offset:4px; }
.onecat-feedback .ocf-water-activities { margin-block:60px 20px; scroll-margin-top:120px; }
.onecat-feedback .ocf-water-activities > p { max-width:760px; line-height:1.8; margin:20px 0 28px; }
.onecat-feedback .ocf-water-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.onecat-feedback .ocf-water-photo { padding:0; margin:0; border:0; background:#f4f2ed; color:#0a2331; cursor:pointer; text-align:left; min-width:0; }
.onecat-feedback .ocf-water-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; }
.onecat-feedback .ocf-water-photo span { display:block; padding:14px; font-size:14px; }
.onecat-feedback .ocf-water-dialog { padding:44px 12px 12px; border:0; border-radius:4px; max-width:94vw; max-height:94vh; background:#0a2331; color:#fff; }
.onecat-feedback .ocf-water-dialog::backdrop { background:rgb(0 0 0 / 85%); }
.onecat-feedback .ocf-water-dialog > img { display:block; max-width:88vw; max-height:80vh; width:auto; height:auto; object-fit:contain; }
.onecat-feedback .ocf-water-dialog > button { position:absolute; top:10px; right:14px; background:transparent; border:0; color:#fff; cursor:pointer; font-size:17px; }
.onecat-feedback .ocf-usd-price { display:block; font-size:16px; margin:9px 0; color:#46585f; }
.onecat-feedback .ocf-exchange-note { font:13px/1.7 Arial,sans-serif; max-width:900px; margin:20px 0; }
.onecat-feedback .ocf-exchange-note a { text-decoration:underline; }
.onecat-feedback #snorkeling,.onecat-feedback #escales-balades,.onecat-feedback #peche,.onecat-feedback #rencontres-artisanat,.onecat-feedback #saveurs-a-bord,.onecat-feedback #navigation-voile,.onecat-feedback #notre-histoire { scroll-margin-top:120px; }
@media(max-width:1000px) { .onecat-feedback .ocf-activity-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
 .onecat-feedback .ocf-family-preview,.onecat-feedback .ocf-family-photos,.onecat-feedback .ocf-water-gallery { grid-template-columns:minmax(0,1fr); }
 .onecat-feedback .ocf-family-photos img { height:auto; max-height:520px; }
 .onecat-feedback .ocf-family-prose p { font-size:17px; }
 .onecat-feedback .ocf-activity-cards { gap:12px; }
 .onecat-feedback .ocf-activity-card img { height:140px; }
 .onecat-feedback .ocf-activity-card strong { font-size:16px; padding:16px 12px 8px; }
 .onecat-feedback .ocf-activity-card span { padding:0 12px 16px; }
}
@media(max-width:380px) { .onecat-feedback .ocf-activity-cards { grid-template-columns:minmax(0,1fr); } }

.onecat-feedback .ocf-events-flush .oc-events-hero { max-width:none; margin-inline:0; padding-inline:0; }
.onecat-feedback .ocf-events-flush .oc-events-hero-image { width:100%; max-width:none; margin-inline:0; }
.onecat-feedback .ocf-events-flush .oc-events-hero-content { padding-inline:max(24px,calc((100% - 1240px)/2)); }

.onecat-feedback .ocf-activity-card .ocf-card-description { padding:0 18px 18px; margin:0; font-size:14px; line-height:1.6; }

/* Remove the home hero scroll prompt, including late insertion by the theme. */
.onecat-feedback .oc-scroll-cue { display:none !important; }

.onecat-feedback .ocf-activity-lightbox video { display:block; width:100%; max-width:88vw; max-height:72vh; object-fit:contain; background:#000; }

/* Smaller section headings on desktop and mobile. */
.onecat-feedback .ocf-teaser > h2,
.onecat-feedback .ocf-activities-nav > h2 {
  font-size:clamp(30px,3.3vw,48px) !important;
  line-height:1.18;
  letter-spacing:-0.025em;
  overflow-wrap:break-word;
}
@media(max-width:600px) {
  .onecat-feedback .ocf-teaser > h2,
  .onecat-feedback .ocf-activities-nav > h2 { font-size:28px !important; line-height:1.22; }
}

.onecat-feedback .ocf-crew-bio { margin-top:28px; }
.onecat-feedback .ocf-crew-bio h3 { font-size:26px; line-height:1.2; margin:0 0 14px; color:inherit; }
.onecat-feedback .ocf-crew-bio p { font-size:16px; line-height:1.75; margin:0 0 16px; }
