/* Footer, legal pages and contact extras (JOB D). Uses the tokens in style.css. */

.site-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
.site-footer__contact { margin: 0 0 1.4rem; }
.site-footer__phone a { font-size: 1.3rem; font-weight: 600; text-decoration: none; }
.site-footer nav .site-footer__list a { text-decoration: none; }
.site-footer nav .site-footer__list a:hover { text-decoration: underline; }
.site-footer__cookie { margin: .6rem 0 0; }

.link-button { background: none; border: 0; padding: 0; font: inherit; color: var(--on-dark); text-decoration: underline; cursor: pointer; }
.link-button:hover { color: var(--sand); }
[data-cgl-cookie-settings] { display: none; }
.has-consent [data-cgl-cookie-settings] { display: inline-block; }

.site-footer__finance { border-top: 1px solid rgba(243, 246, 244, .16); padding-block: 1.25rem; font-size: .88rem; line-height: 1.55; }
.site-footer__finance p { margin: 0 0 .35rem; max-width: 110ch; }
.site-footer__broker { color: var(--on-dark); font-weight: 600; }
.site-footer__base { font-size: .88rem; line-height: 1.55; }
.site-footer__base p { max-width: 110ch; }

.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

/* Open now sign */
.open-now { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; }
.open-now[hidden] { display: none; }
.open-now__dot { width: .6rem; height: .6rem; border-radius: 50%; background: #c98a8a; flex: none; }
.open-now.is-open .open-now__dot { background: #58c08a; box-shadow: 0 0 0 3px rgba(88, 192, 138, .25); }
.site-footer .open-now { color: var(--on-dark); }

/* Contact page */
.contact-card .open-now { color: var(--ink); }
.contact-card .open-now.is-open .open-now__dot { background: #2f8a5b; box-shadow: 0 0 0 3px rgba(47, 138, 91, .2); }

/* Legal pages */
.legal-meta { color: var(--muted); font-size: .95rem; }
.prose .wp-block-table { overflow-x: auto; margin: 1rem 0 1.5rem; }
.prose .wp-block-table table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.prose .wp-block-table th, .prose .wp-block-table td { text-align: left; vertical-align: top; padding: .55rem .6rem; border: 0; border-bottom: 1px solid var(--line); }
.prose .wp-block-table thead { border-bottom: 2px solid var(--line); }

@media (max-width: 899px) { .site-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 499px) { .site-footer__grid { grid-template-columns: 1fr; } }

/* Wide screens: the footer spans nearly the full width and parks split into two columns.
   The large faint "Cosgrove" watermark was removed (JOB H): it left a tall empty band under the footer.
   The footer now ends just after the company line at every width. */
.site-footer .wrap { width: var(--wrap-wide); }
.site-footer::after { content: none !important; display: none !important; }
.site-footer__base { padding-block: 1.25rem; }
.site-footer__grid { padding-bottom: clamp(2rem, 3vw, 3rem); }
@media (min-width: 1200px) {
	.site-footer__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-l); }
	.site-footer__name { font-size: var(--step-4); }
	.site-footer__finance p, .site-footer__base p { max-width: none; }
}
@media (min-width: 2200px) {
	.site-footer { padding-top: 4rem; }
}
@media (min-width: 1800px) {
	.site-footer__grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); }
	.site-footer nav[aria-label="Our parks"] .site-footer__list { grid-template-columns: repeat(2, max-content); column-gap: var(--space-l); }
	.site-footer__brand p { max-width: 36ch; }
}

/* Footer (JOB H, owner requests 24 Oct 2026): compact. Less space at the top, tighter lists and brand block,
   "Our parks" in one column, a "Social media" column when links are set, and one short bar for the
   company line at the bottom (16px above, about 16px below, then the page ends). */
.site-footer { padding-top: clamp(2rem, 3.5vw, 3rem); }
.site-footer .site-footer__grid { padding-bottom: clamp(1.25rem, 2vw, 1.75rem); gap: 1.5rem 2rem; }
.site-footer .site-footer__name { margin-bottom: .35rem; }
.site-footer .site-footer__brand > p { margin: 0 0 .6rem; }
.site-footer .site-footer__contact { margin: 0 0 .8rem; }
.site-footer .site-footer__heading { margin-bottom: .55rem; }
.site-footer .site-footer__list { gap: .2rem; }
.site-footer .site-footer__list a { line-height: 1.35; }
.site-footer nav[aria-label="Our parks"] .site-footer__list { grid-template-columns: minmax(0, 1fr); }
.site-footer__icon { width: 20px; height: 20px; flex: none; margin-right: .5rem; vertical-align: -4px; }
.site-footer__social a { display: inline-flex; align-items: center; }
.site-footer .site-footer__finance { border-top: 1px solid rgba(243, 246, 244, .16); padding: 16px 0 0; margin: 0 auto; }
.site-footer .site-footer__finance p { margin: 0 0 8px; }
.site-footer .site-footer__base { padding-block: 16px; margin: 0 auto; gap: .5rem 2rem; }
.site-footer .site-footer__finance + .site-footer__base { border-top: 0; padding-top: 0; }
@media (max-width: 899px) {
	.site-footer .site-footer__list { gap: 0; }
	.site-footer .site-footer__finance a { min-height: 0; padding-block: .7rem; margin-block: -.7rem; }
}
@media (min-width: 900px) and (max-width: 1199px) {
	.site-footer:has(.site-footer__social) .site-footer__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); }
}
@media (min-width: 1200px) {
	.site-footer .site-footer__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr); gap: 2rem var(--space-l); }
	.site-footer:has(.site-footer__social) .site-footer__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr) minmax(0, .8fr) minmax(0, 1fr) minmax(0, 1fr); }
}
