/* The Space & Company – Space details
   Colours come from the site's own palette (Ollie theme presets), with fallbacks. */
.tsc-space {
	--tsc-ink: var(--wp--preset--color--custom-0-f-0-f-11, #0f0f11);
	--tsc-teal: var(--wp--preset--color--custom-1-d-6774, #1d6774);
	--tsc-sage: var(--wp--preset--color--custom-5-aaa-9-e, #5aaa9e);
	--tsc-mint: #e4f4ef;
	--tsc-sun: var(--wp--preset--color--custom-f-2-c-318, #f2c318);
	--tsc-rose: var(--wp--preset--color--custom-e-2567-c, #e2567c);
	--tsc-line: rgba(15, 15, 17, 0.14);
	--tsc-radius: 5px;
	color: var(--tsc-ink);
	margin-block: 2.5rem 0;
	display: grid;
	gap: 3rem;
}
.tsc-space h2,
.tsc-space h3 { margin: 0; line-height: 1.2; }
.tsc-space h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
.tsc-space h3 { font-size: 1.125rem; }

/* Intro */
.tsc-intro { display: grid; gap: 1rem; max-width: 46rem; }
.tsc-facts { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.tsc-facts li {
	padding: .25rem .75rem; border-radius: 999px;
	background: var(--tsc-mint); color: var(--tsc-teal); font-weight: 600; font-size: .9rem;
}
.tsc-bestfor { font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem); line-height: 1.3; font-weight: 600; margin: 0; max-width: 32ch; }

/* Buttons (LatePoint's own button is restyled to match) */
.tsc-btn,
.tsc-cta .latepoint-book-button {
	display: inline-block; padding: .8rem 1.4rem; border-radius: var(--tsc-radius);
	background: var(--tsc-rose) !important; color: #fff !important; font-weight: 600;
	text-decoration: none; border: 0; cursor: pointer; font-size: 1rem !important;
}
.tsc-btn:hover,
.tsc-cta .latepoint-book-button:hover { background: var(--tsc-ink) !important; }
.tsc-space a:focus-visible,
.tsc-space button:focus-visible,
.tsc-cta .latepoint-book-button:focus-visible { outline: 3px solid var(--tsc-sun); outline-offset: 3px; }

/* Photos */
.tsc-photos { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.tsc-photos figure { margin: 0; }
.tsc-photos img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--tsc-radius); display: block; }

/* Capacity: the one bold moment, seat diagrams on mint */
.tsc-capacity { background: var(--tsc-mint); border-radius: var(--tsc-radius); padding: clamp(1.5rem, 4vw, 2.5rem); display: grid; gap: 1.5rem; }
.tsc-capacity ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); gap: 1.5rem; }
.tsc-capacity li { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .9rem; align-items: end; }
.tsc-layout-icon { grid-row: 1 / span 2; width: 3.5rem; height: auto; color: var(--tsc-teal); }
.tsc-cap-n { font-size: 2.6rem; font-weight: 700; line-height: 1; color: var(--tsc-ink); }
.tsc-cap-l { font-size: .95rem; color: var(--tsc-teal); }

/* Rates */
.tsc-rates { display: grid; gap: 1rem; }
.tsc-rates ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2.5rem; }
.tsc-rates li { display: grid; }
.tsc-rate-n { font-size: 2rem; font-weight: 700; line-height: 1.1; }
.tsc-rate-l { color: var(--tsc-teal); }
.tsc-rate-other { margin: 0; font-weight: 600; }
.tsc-rate-note { margin: 0; display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.tsc-credit { padding: .2rem .7rem; border-radius: 999px; background: var(--tsc-sun); font-weight: 600; font-size: .9rem; }

/* Detail groups */
.tsc-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 2rem 3rem; }
.tsc-group { display: grid; gap: .75rem; align-content: start; }
.tsc-group h3 { padding-bottom: .5rem; border-bottom: 2px solid var(--tsc-sage); }
.tsc-group dl { margin: 0; display: grid; }
.tsc-row { display: grid; grid-template-columns: minmax(7rem, 38%) 1fr; gap: 1rem; padding: .6rem 0; border-bottom: 1px solid var(--tsc-line); }
.tsc-row dt { font-weight: 600; }
.tsc-row dd { margin: 0; }
.tsc-plainlist { margin: 0; padding-left: 1.1rem; }
.tsc-plainlist li + li { margin-top: .2rem; }

/* Guest blurb */
.tsc-blurb { border: 2px dashed var(--tsc-sage); border-radius: var(--tsc-radius); padding: 1.5rem; display: grid; gap: .75rem; max-width: 46rem; }
.tsc-blurb-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; }
.tsc-blurb h2 { font-size: 1.25rem; }
.tsc-blurb p { margin: 0; line-height: 1.6; }
.tsc-copy { background: transparent; border: 2px solid var(--tsc-teal); color: var(--tsc-teal); border-radius: var(--tsc-radius); padding: .45rem .9rem; font-weight: 600; cursor: pointer; font: inherit; }
.tsc-copy:hover { background: var(--tsc-teal); color: #fff; }
.tsc-copied { font-size: .9rem; color: var(--tsc-teal); min-height: 1.2em; }

/* End */
.tsc-end { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.5rem; border-top: 1px solid var(--tsc-line); }
.tsc-end p { margin: 0; }

@media (max-width: 480px) {
	.tsc-row { grid-template-columns: 1fr; gap: .15rem; }
	.tsc-rates ul { gap: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
	.tsc-space * { transition: none !important; }
}
