/**
 * Eduhive Portal Foundation 0.1.12
 *
 * Scope: public design tokens, content width, typography and base spacing.
 * Version 0.1.1 also presents the existing public primary navigation. It does
 * not create or delete menu items and does not affect the WordPress dashboard.
 */

:root {
	--eduhive-navy: #0d1735;
	--eduhive-blue-text: #526078;
	--eduhive-yellow: #ffbd00;
	--eduhive-yellow-hover: #eeb100;
	--eduhive-pale-yellow: #fff9eb;
	--eduhive-cream: #fffdf8;
	--eduhive-line: #e5e7eb;
	--eduhive-white: #ffffff;
	--eduhive-content-width: 1440px;
	--eduhive-page-gutter: clamp(18px, 3vw, 48px);
	--eduhive-section-space: clamp(28px, 4vw, 56px);
	--eduhive-font: Arial, Helvetica, sans-serif;
}

body {
	color: var(--eduhive-blue-text);
	font-family: var(--eduhive-font);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
	font-family: var(--eduhive-font);
}

/*
 * Storefront places page content inside its own narrow outer columns. Keep the
 * portal responsive, but allow its approved 1440px canvas to be used.
 */
body.page .site-content > .col-full {
	box-sizing: border-box;
	width: 100% !important;
	max-width: calc(var(--eduhive-content-width) + (2 * var(--eduhive-page-gutter))) !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-right: var(--eduhive-page-gutter) !important;
	padding-left: var(--eduhive-page-gutter) !important;
}

body.page .site-content .content-area,
body.page .site-content main.site-main {
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	float: none !important;
}

.eduhive-custom-home,
.efl-wrap,
.eh-cf-page,
.eh-portal,
.eduhive-account-shell,
.eduhive-order-builder,
.eduhive-catalogue,
.eduhive-order-review,
.eduhive-book-order,
.eduhive-custom-order,
.eduhive-maintenance-request,
body.woocommerce-account main.site-main {
	box-sizing: border-box;
	width: min(100%, var(--eduhive-content-width)) !important;
	max-width: var(--eduhive-content-width) !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.efl-wrap,
.eh-cf-page,
.eh-portal,
.eduhive-account-shell,
.eduhive-order-builder,
.eduhive-catalogue,
.eduhive-order-review,
.eduhive-book-order,
.eduhive-custom-order,
.eduhive-maintenance-request,
body.woocommerce-account main.site-main {
	padding-right: var(--eduhive-page-gutter);
	padding-left: var(--eduhive-page-gutter);
}

/* Existing public header and primary navigation. */
.site-header {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	border-bottom: 1px solid var(--eduhive-line) !important;
}

.storefront-primary-navigation {
	background: var(--eduhive-white) !important;
	border-top: 0 !important;
}

.storefront-primary-navigation .col-full {
	min-height: 56px !important;
}

.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
	display: inline-flex !important;
	align-items: center;
	gap: 9px;
	padding: 15px 16px !important;
	color: var(--eduhive-navy) !important;
	font-weight: 700;
	line-height: 1.2;
}

.main-navigation ul.menu > li > a::before,
.main-navigation ul.nav-menu > li > a::before {
	display: none;
	width: 21px;
	height: 21px;
	flex: 0 0 21px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	content: "";
}

.main-navigation .eduhive-nav-home > a::before {
	display: inline-block !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1735' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 9-8 9 8'/%3E%3Cpath d='M5 10v10h14V10M9 20v-6h6v6'/%3E%3C/svg%3E");
}

.main-navigation .eduhive-nav-account > a::before {
	display: inline-block !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1735' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E");
}

.main-navigation .eduhive-nav-auth > a::before,
.main-navigation .eduhive-auth-menu-item > a::before {
	display: inline-block !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1735' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17l5-5-5-5M15 12H3'/%3E%3Cpath d='M14 3h5a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5'/%3E%3C/svg%3E");
}

.main-navigation ul.menu > li > a:hover,
.main-navigation ul.nav-menu > li > a:hover,
.main-navigation ul.menu > li.current-menu-item > a,
.main-navigation ul.nav-menu > li.current-menu-item > a {
	color: var(--eduhive-navy) !important;
	background: #fff8e5;
}

/* Remove only the public Storefront footer and WordPress page-edit links. */
body .site-footer,
body .storefront-handheld-footer-bar {
	display: none !important;
}

body .post-edit-link,
body .entry-footer > .edit-link,
body .entry-content > .edit-link {
	display: none !important;
}

/* Replace the temporary club character with a neutral custom-request icon. */
.efl-custom-order .efl-truck {
	font-size: 0 !important;
}

.efl-custom-order .efl-truck::before {
	display: block;
	width: 42px;
	height: 42px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23526078' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3.5 7 8.5-4 8.5 4-8.5 4-8.5-4Z'/%3E%3Cpath d='M3.5 7v10L12 21l8.5-4V7M12 11v10'/%3E%3Cpath d='M16.5 4.9 8 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	content: "";
}

.eduhive-custom-home,
.efl-wrap,
.eh-cf-page,
.eh-portal,
.eduhive-account-shell,
.eduhive-order-builder,
.eduhive-catalogue,
.eduhive-order-review,
.eduhive-book-order,
.eduhive-custom-order,
.eduhive-maintenance-request {
	color: var(--eduhive-blue-text);
}

.eduhive-custom-home h1,
.eduhive-custom-home h2,
.eduhive-custom-home h3,
.efl-wrap h1,
.efl-wrap h2,
.efl-wrap h3,
.eh-cf-page h1,
.eh-cf-page h2,
.eh-cf-page h3,
.eh-portal h1,
.eh-portal h2,
.eh-portal h3,
.eduhive-account-shell h1,
.eduhive-account-shell h2,
.eduhive-account-shell h3,
.eduhive-order-builder h1,
.eduhive-order-builder h2,
.eduhive-order-builder h3,
.eduhive-catalogue h1,
.eduhive-catalogue h2,
.eduhive-catalogue h3,
.eduhive-order-review h1,
.eduhive-order-review h2,
.eduhive-order-review h3,
.eduhive-book-order h1,
.eduhive-book-order h2,
.eduhive-book-order h3,
.eduhive-custom-order h1,
.eduhive-custom-order h2,
.eduhive-custom-order h3,
.eduhive-maintenance-request h1,
.eduhive-maintenance-request h2,
.eduhive-maintenance-request h3 {
	color: var(--eduhive-navy);
	font-family: var(--eduhive-font);
}

.eduhive-custom-home p,
.efl-wrap p,
.eh-cf-page p,
.eh-portal p,
.eduhive-account-shell p,
.eduhive-order-builder p,
.eduhive-catalogue p,
.eduhive-order-review p,
.eduhive-book-order p,
.eduhive-custom-order p,
.eduhive-maintenance-request p {
	color: var(--eduhive-blue-text);
	line-height: 1.6;
}

/* Standard public landing and item-page heroes. */
.efl-wrap,
.eh-cf-page {
	margin-top: 16px !important;
	margin-bottom: 48px !important;
}

.efl-hero,
.eh-cf-hero,
.eh-books-hero {
	min-height: 280px !important;
	margin-bottom: 30px !important;
	border-radius: 15px !important;
}

.efl-hero-content,
.eh-cf-hero-content,
.eh-books-hero-text {
	padding: 30px 42px !important;
}

.efl-back,
.eh-cf-back,
.eh-books-back {
	margin-bottom: 16px !important;
}

.efl-hero h1,
.eh-cf-title,
.eh-books-hero h1 {
	font-size: clamp(34px, 3.2vw, 44px) !important;
	line-height: 1.08 !important;
}

.efl-hero-image,
.eh-cf-hero-image,
.eh-books-hero-image {
	min-height: 280px !important;
}

.eduhive-custom-hero {
	width: min(calc(100vw - (2 * var(--eduhive-page-gutter))), var(--eduhive-content-width)) !important;
	max-width: var(--eduhive-content-width) !important;
	margin-top: 16px !important;
}

.eduhive-custom-hero-image img {
	height: clamp(280px, 26vw, 360px) !important;
}

/* Approved homepage introduction hierarchy. */
.eduhive-custom-categories .eduhive-category-intro {
	margin: 0 auto 34px !important;
	padding-top: 20px !important;
	text-align: center !important;
}

.eduhive-custom-categories .eduhive-category-label {
	color: var(--eduhive-blue-text) !important;
	font-family: var(--eduhive-font) !important;
	font-size: clamp(28px, 3vw, 36px) !important;
	font-weight: 700 !important;
	letter-spacing: 0.035em !important;
	line-height: 1.15 !important;
	margin: 0 !important;
}

.eduhive-custom-categories .eduhive-category-label::after {
	display: block;
	width: 58px;
	height: 5px;
	margin: 13px auto 15px;
	border-radius: 999px;
	background: var(--eduhive-yellow);
	content: "";
}

.eduhive-custom-categories .eduhive-category-intro h2 {
	color: var(--eduhive-blue-text) !important;
	font-family: var(--eduhive-font) !important;
	font-size: clamp(20px, 2vw, 24px) !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	margin: 0 0 10px !important;
}

.eduhive-custom-categories .eduhive-category-intro p {
	color: var(--eduhive-blue-text) !important;
	font-family: var(--eduhive-font) !important;
	font-size: 17px !important;
	line-height: 1.55 !important;
	margin: 0 !important;
}

/* Consistent public ordering-table headings. */
.eh-cf-page .eh-cf-table thead th,
.eduhive-book-order table thead th,
.eduhive-order-builder table thead th,
.eduhive-custom-order table thead th,
.eduhive-maintenance-request table thead th,
.eh-review thead th {
	color: var(--eduhive-navy) !important;
	font-family: var(--eduhive-font) !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	text-align: center !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}

.eh-product-head > span,
.eh-book-head > span {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--eduhive-navy) !important;
	font-family: var(--eduhive-font) !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	text-align: center !important;
	white-space: nowrap !important;
}

/* One approved yellow for public card arrows and yellow actions. */
.efl-arrow,
.eh-books-arrow,
.efl-custom-button,
.eh-cf-add-title {
	background: var(--eduhive-yellow) !important;
	color: var(--eduhive-navy) !important;
}

.efl-arrow:hover,
.eh-books-arrow:hover,
.efl-custom-button:hover,
.eh-cf-add-title:hover {
	background: var(--eduhive-yellow-hover) !important;
	color: var(--eduhive-navy) !important;
}

.efl-card:focus-visible .efl-arrow,
.eh-books-card:focus-visible .eh-books-arrow,
.efl-custom-button:focus-visible,
.eh-cf-add-title:focus-visible {
	outline: 3px solid rgba(13, 23, 53, 0.28) !important;
	outline-offset: 3px !important;
}

/* Homepage arrows: circular control aligned to the lower right. */
.eduhive-custom-home .eduhive-category-arrow {
	display: flex !important;
	justify-content: flex-end !important;
	width: 100% !important;
	background: transparent !important;
}

.eduhive-custom-home .eduhive-category-arrow > span {
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	background: var(--eduhive-yellow) !important;
	color: var(--eduhive-navy) !important;
}

.eduhive-custom-home .eduhive-category-arrow:hover > span {
	background: var(--eduhive-yellow-hover) !important;
}

.eduhive-custom-home .eduhive-category-arrow:focus-visible > span {
	outline: 3px solid rgba(13, 23, 53, 0.28) !important;
	outline-offset: 3px !important;
}

/* One approved pale yellow for public cards, hero copy and prompt panels. */
.efl-wrap .efl-card,
.eh-books-card,
.efl-hero-content,
.eh-cf-hero-content,
.eh-books-hero-text,
.efl-custom-order,
.eduhive-custom-order,
.eduhive-maintenance-request,
.eh-cf-page .eh-cf-table thead th {
	background: var(--eduhive-pale-yellow) !important;
}

/* The homepage intentionally keeps its lighter catalogue-card surface. */
.eduhive-custom-home .eduhive-category-card-content {
	background: var(--eduhive-cream) !important;
}

/* Facilities landing: remove the two approved duplicate routes only. */
.efl-wrap .efl-card[data-category="other-facilities-maintenance"],
.efl-wrap:has(.efl-card[data-category="maintenance-purchase-requests"]) > .efl-custom-order {
	display: none !important;
}

/* Explicit empty state after legacy demonstration rows are removed. */
.eh-cf-page .eh-cf-table .eduhive-catalogue-empty-row td {
	padding: 34px 24px !important;
	background: var(--eduhive-white) !important;
	color: var(--eduhive-blue-text) !important;
	font-family: var(--eduhive-font) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	text-align: center !important;
	vertical-align: middle !important;
}

.eh-cf-page.eduhive-catalogue-is-empty .eh-cf-submit-wrap {
	display: none !important;
}

@media (max-width: 760px) {
	:root {
		--eduhive-page-gutter: 18px;
		--eduhive-section-space: 28px;
	}

	.main-navigation ul.menu > li > a,
	.main-navigation ul.nav-menu > li > a {
		display: flex !important;
		width: 100%;
		padding: 13px 16px !important;
	}

	.efl-hero,
	.eh-cf-hero,
	.eh-books-hero {
		grid-template-columns: 1fr !important;
	}

	.efl-hero-content,
	.eh-cf-hero-content,
	.eh-books-hero-text {
		padding: 26px 24px !important;
	}

	.efl-hero-image,
	.eh-cf-hero-image,
	.eh-books-hero-image {
		min-height: 220px !important;
	}
}
