/* Printing (loaded for print only, inc/assets.php). People print the
 * timetable, prices and directions: the page's words and tables, black on
 * white, with the centre's name at the top and how to reach it at the foot.
 * Menus, buttons, forms and videos are left off; a link in the text prints
 * its address. */

@page {
	margin: 1.5cm;
}

*,
*::before,
*::after {
	background: transparent !important;
	color: #000 !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

body {
	font-size: 11pt;
	line-height: 1.45;
}

/* Left off: what only works on screen. */
.notice-bar,
.site-nav,
.full-menu,
.nav-toggle,
.header-cta,
.open-state,
.site-header__actions,
.site-footer__col:not(.site-footer__contact),
.site-footer__open,
.site-footer .socials,
.site-footer .wordmark,
.video-facade,
iframe,
video,
form,
button,
.button,
.form__submit,
.wp-block-buttons,
.lcc-email-live {
	display: none !important;
}

/* The centre's name at the top; how to reach it at the foot. */
.site-header {
	position: static !important;
	padding: 0 0 0.5cm !important;
	border-bottom: 1px solid #000;
}

.site-footer {
	margin-top: 1cm;
	padding-top: 0.5cm !important;
	border-top: 1px solid #000;
	break-inside: avoid;
}

/* Sections close up, without their screen spacing. */
section,
.section {
	padding-top: 0.5cm !important;
	padding-bottom: 0.5cm !important;
}

h1,
h2,
h3 {
	break-after: avoid;
}

img,
figure,
table,
tr,
li {
	break-inside: avoid;
}

img {
	max-width: 100% !important;
	height: auto !important;
}

a {
	text-decoration: underline;
}

/* A link's address after it, in the text, so it can be typed in. */
.prose a[href^="http"]::after {
	content: " (" attr(href) ")";
	font-size: 0.85em;
	word-break: break-all;
}

/* The Room checker's day sheet (sections/room-day.php): one day on A4
 * landscape, whichever view is showing. The checker, the tools, the weekend
 * staff needs and the footer are left off; the colours are kept, green for What's on and
 * hatching for the rest, so it reads in colour or black and white; a line
 * at the foot says when it was as at. */
@page daysheet {
	size: A4 landscape;
	margin: 1cm;
}

body:has(.daysheet) {
	page: daysheet;
}

body:has(.daysheet) .site-footer,
.checker,
.weekend,
.daysheet__tools,
.daysheet__now {
	display: none !important;
}

.daysheet {
	padding: 0 !important;
	border: 0;
	font-size: 9pt;
}

/* The council's weekend PDF has a sheet for each day and view: each on a page of its own. */
.daysheet + .daysheet {
	break-before: page;
}

.daysheet .container {
	max-width: none;
	padding: 0;
}

.daysheet__title h2 {
	font-size: 18pt;
}

.daysheet__timeline,
.daysheet__list {
	overflow: visible;
	border-top: 2px solid #000;
}

.daysheet__hours,
.daysheet__row,
.daysheet__rows {
	min-width: 0;
}

.daysheet__row {
	min-height: 1.35cm;
	break-inside: avoid;
}

.daysheet__block,
.daysheet__track,
.daysheet__key span::before,
.daysheet__dot {
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}

.daysheet__track,
.daysheet__free {
	background: repeating-linear-gradient(90deg, #bbb 0 1px, transparent 1px calc(100% / var(--hours))) !important;
}

.daysheet__block,
.daysheet__key span::before,
.daysheet__dot {
	background: repeating-linear-gradient(135deg, #ddd 0 3px, #fff 3px 6px) !important;
}

.daysheet__block--public,
.daysheet__key .daysheet__key-public::before,
.is-public .daysheet__dot {
	background: #bbef65 !important;
}

/* The !important rules above set every block's background; an enquiry stays white. */
.daysheet__block--enquiry,
.daysheet__key .daysheet__key-enquiry::before,
.is-enquiry .daysheet__dot {
	background: #fff !important;
}

.daysheet__block--done,
.daysheet__list .is-done {
	opacity: 1;
}

.daysheet__block :is(b, span) {
	white-space: normal;
}

.daysheet__block b {
	font-size: 8pt;
}

.daysheet__printed {
	display: block;
	margin-top: 0.3cm;
	padding-top: 0.15cm;
	border-top: 1px solid #000;
	font-size: 8pt;
}

/* Information for hirers (sections/hirers.php): an A4 sheet to save as the
 * PDF sent to hirers. Two columns, the cyan edge and the contact panel kept
 * in colour, the things not allowed in a ruled box, and the links to the
 * terms and Your bookings written out. The site's footer is left off: the
 * sheet has its own contact details. */
@page hirers {
	size: A4;
	margin: 1.2cm 1.4cm;
}

body:has(.hirers) {
	page: hirers;
	font-size: 9.5pt;
}

/* The page margin is enough: no screen padding inside it. */
body:has(.hirers) .container {
	max-width: none;
	padding-inline: 0;
}

body:has(.hirers) .site-footer,
.hirers .section__label,
.hirers__print {
	display: none !important;
}

.hirers.section {
	padding-top: 0.3cm !important;
}

.hirers .section__head {
	margin-top: 0;
	gap: 0.2cm;
}

.hirers .section__head h1 {
	font-size: 24pt;
}

.hirers .section__head p {
	max-width: none;
	font-size: 10pt;
}

.hirers__key {
	max-width: none;
	margin-top: 0.35cm;
	padding: 0.2cm 0.35cm;
	border-left: 4pt solid var(--cyan) !important;
	font-size: 10pt;
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}

.hirers__links {
	gap: 0.1cm 0.6cm;
	margin-top: 0.3cm;
	padding-top: 0;
	border: 0;
}

.hirers__go,
.hirers__link {
	display: inline;
	gap: 0;
	padding: 0;
	border: 0;
	font-size: 8.5pt;
	font-weight: 600;
	text-decoration: none;
}

.hirers__go span,
.hirers__link span {
	display: none;
}

.hirers__go::after,
.hirers__link::after {
	content: ": " attr(href);
	font-weight: 400;
	word-break: break-all;
}

.hirers-detail.section {
	padding-top: 0.2cm !important;
}

.hirers-detail__grid {
	columns: 2;
	column-gap: 0.8cm;
}

.hirers__group,
.hirers__not,
.hirers__contact {
	margin-bottom: 0.4cm;
}

.hirers__sub {
	padding-bottom: 0.1cm;
	border-bottom-width: 1.5pt;
	font-size: 12pt;
}

.hirers__items li {
	padding: 0.1cm 0;
	border-bottom-color: #bbb;
	line-height: 1.35;
}

.hirers__not {
	padding: 0.3cm;
	border: 1.5pt solid #000;
}

.hirers__not li {
	padding: 0.05cm 0 0.05cm 0.5cm;
}

.hirers__not li::before,
.hirers__not li::after {
	width: 0.25cm;
	background: #000 !important;
}

.hirers__contact {
	padding: 0.3cm;
	background: var(--cyan) !important;
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}

.hirers__phone {
	margin-top: 0.15cm;
	font-size: 16pt;
}

/* Chrome fills the columns to the foot of their last page, so anything
 * after them prints on a page of its own: the button at the end is left
 * off and its link printed with the others at the top, and nothing is
 * left below the columns. */
.hirers__end {
	display: none !important;
}

.hirers__links .hirers__print-only {
	display: inline;
}

.hirers-detail.section,
body:has(.hirers) main {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
