/*
Theme Name: K18 Portal
Theme URI: https://k18hair.com.au
Author: Rebus Media
Description: Minimal block theme for the K18 Certification Portal. Brand shell only — portal logic lives in the k18-certification-portal plugin.
Version: 1.1.17
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: k18-portal
*/

:root {
	--k18-bg: #ffffff;
	--k18-text: #000000;
	--k18-muted: #666666;
	--k18-border-subtle: rgba(0, 0, 0, 0.06);
	--k18-font: "Helvetica Neue", Helvetica, Arial, sans-serif;
	/* Brand Style Guide 2024 · 382 C → 3262 C */
	--k18-page-from: #c2d500;
	--k18-page-to: #00bbb4;
}

html {
	height: 100%;
	background-color: var(--k18-page-from);
	box-sizing: border-box;
}

html.wp-toolbar {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	color: var(--k18-text);
}

body {
	min-height: 100%;
	display: flex;
	flex-direction: column;
}

html body {
	font-family: var(--k18-font);
	background-color: var(--k18-page-from);
	background-image: linear-gradient(160deg, var(--k18-page-from) 0%, var(--k18-page-to) 100%);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-attachment: scroll;
}

@media (min-width: 901px) {
	html body {
		background-attachment: fixed;
	}
}

.wp-site-blocks {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
	min-height: 0;
	background: transparent;
}

.wp-site-blocks > header,
.wp-site-blocks > footer {
	width: 100%;
	flex-shrink: 0;
}

header:has(.k18-theme-header),
header:has(.k18-nav) {
	position: relative;
	padding: 1.25rem !important;
	box-sizing: border-box;
	background: #ffffff;
	border-bottom: 1px solid var(--k18-border-subtle);
	z-index: 20;
}

.k18-theme-header {
	width: 100%;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding: 1.25rem !important;
	background: #ffffff !important;
	border-bottom: 1px solid var(--k18-border-subtle) !important;
	color: var(--k18-text);
	box-sizing: border-box;
}

header:has(.k18-theme-header) .k18-theme-header,
header:has(.k18-nav) .k18-theme-header {
	padding: 0 !important;
	border-bottom: 0 !important;
}

main.wp-block-group {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 0;
	background: transparent;
	margin-block-start: 24px;
	margin-block-end: 24px;
	padding-top: 0 !important;
	padding-left: 1.25rem !important;
	padding-right: 1.25rem !important;
	padding-bottom: 0 !important;
	box-sizing: border-box;
}

main.wp-block-group > .wp-block-post-content {
	flex: 1 1 auto;
	width: 100%;
	max-width: var(--wp--style--global--content-size, 1440px);
	margin-left: auto;
	margin-right: auto;
	min-height: 0;
	background: #ffffff;
	box-sizing: border-box;
}

.k18-theme-header .k18-nav {
	max-width: var(--wp--style--global--content-size, 1440px);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

footer {
	background: #000000;
	margin-top: 0;
	margin-block-start: 0;
}

.k18-theme-footer {
	background: #000000 !important;
	color: #666666 !important;
	padding: 2rem 1.25rem 2.5rem !important;
	border-top: 0 !important;
	text-align: center;
}

.k18-theme-footer__logo {
	display: block;
	width: 92px;
	height: 56px;
	margin: 0 auto 1rem;
	padding: 0;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url("assets/K18_Logo_reverse.png") center / contain no-repeat;
}

.k18-theme-footer__legal {
	margin: 0 auto;
	max-width: 36rem;
	font-size: 0.85rem;
	line-height: 1.4;
	color: rgb(255, 255, 255) !important;
	text-align: center;
}

.k18-theme-footer__legal + .k18-theme-footer__legal {
	margin-top: 0.4rem;
}

.k18-theme-footer__legal--muted {
	color: rgba(255, 255, 255, 0.6) !important;
}

body.k18-scorm-playing {
	background: #000000 !important;
	background-image: none !important;
}

body.k18-scorm-playing .wp-site-blocks,
body.k18-scorm-playing main.wp-block-group,
body.k18-scorm-playing main.wp-block-group > .wp-block-post-content {
	background: transparent;
	max-width: none;
}

body.k18-scorm-playing main.wp-block-group {
	margin-block-start: 0;
	margin-block-end: 0;
}

