/* Shared section rhythm. The requested 7rem is the intentional exception to fixed-pixel inner spacing. */
:root { --fw-section-padding:7rem; }
body.freewave-site .freewave-section:not(.freewave-contrast),
body.freewave-site #content-inside,
body.freewave-site .section-padding {
 padding-top:var(--fw-section-padding)!important;
 padding-bottom:var(--fw-section-padding)!important;
}
/* Edge-to-edge images/maps keep their flush layout; their text panels carry the spacing. */
body.freewave-site .freewave-contrast { padding-top:0!important;padding-bottom:0!important; }
body.freewave-site .freewave-contrast .contrast-copy { padding-top:var(--fw-section-padding);padding-bottom:var(--fw-section-padding); }
body.page-template-destinations #freewave-content > section.destination-page-content { padding-top:0!important;padding-bottom:0!important; }
/* Page wrappers must not add a second layer or trailing content margins. */
body.freewave-site #content-inside > #primary { padding-top:0;padding-bottom:0; }
body.page #main > article > .entry-header { display:none; }
body.page #main > article,
body.page #main > article > .entry-content { margin-top:0;margin-bottom:0; }
body.freewave-site .freewave-section > .container > :last-child,
body.freewave-site .entry-content > :last-child,
body.freewave-site .entry-content > .row > [class*="col-"] > :last-child,
body.freewave-site .freewave-faq-column > :last-child,
body.freewave-site .freewave-faq-column > :last-child > :last-child,
body.freewave-site .section-desc > :last-child,
body.freewave-site .contrast-copy > :last-child,
body.freewave-site .contrast-copy > :last-child > :last-child,
body.freewave-site .destination-description > :last-child,
body.freewave-site .faq-answer > :last-child {
 margin-bottom:0!important;
}
body.freewave-site :where(section,.entry-content,.contrast-copy) :where(p,ul,ol,dl,figure,blockquote,table):last-child,
body.freewave-site .section-heading:last-child,
body.freewave-site .tech-block > :last-child,
body.freewave-site .yacht-information-column > :last-child,
body.freewave-site .yacht-booking-column > :last-child { margin-bottom:0!important; }
.destination-details-section .section-heading { margin-top:0;margin-bottom:32px; }
.destination-details-section .section-desc { margin-top:24px;margin-bottom:0; }

/* Homepage search uses half the standard section spacing. */
body.freewave-site .freewave-search { padding-top:calc(var(--fw-section-padding) / 2 - 12px)!important; padding-bottom:calc(var(--fw-section-padding) / 2)!important; }

/* The homepage intro is a complete section, with no trailing title-block gap. */
body.freewave-site .home-intro .section-title-area,
body.freewave-site .home-intro .section-desc { margin-bottom:0; }

/* Double the standard section padding for the fleet parallax. */
body.freewave-site .freewave-fleet-parallax .fleet-banner { padding-top:calc(var(--fw-section-padding) * 2)!important; padding-bottom:calc(var(--fw-section-padding) * 2)!important; }

/* Homepage gallery is an uninterrupted image strip. */
body.freewave-site #gallery.section-gallery { padding-top:0!important; padding-bottom:0!important; }
