/*
Theme Name: Primehub
Theme URI: https://primehubonline.com
Description: Custom Primehub theme — white-with-navy advisory surface for software and consultancy. Child of Twenty Twenty-Four.
Author: Primehub
Version: 1.4.0
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfour
Text Domain: primehub
Tags: business, blog, portfolio, block-styles, full-site-editing, block-patterns
*/

/* ============================================================ */
/* Banner — bright surface with a faint navy dot-grid           */
/* Used on the home page hero + CTA strip.                       */
/* ============================================================ */
.primehub-banner {
	position: relative;
	background-color: #ffffff;
	background-image:
		radial-gradient(circle at 1px 1px, rgba(11, 42, 91, 0.10) 1px, transparent 0),
		radial-gradient(ellipse 900px 450px at 85% 15%, rgba(11, 42, 91, 0.06), transparent 60%);
	background-size: 24px 24px, auto;
	overflow: hidden;
	border-bottom: 1px solid #e5eaf2;
}

.primehub-banner > * {
	position: relative;
	z-index: 1;
}

/* Monospace eyebrow style — used on section labels (now navy on white) */
.primehub-eyebrow {
	font-family: ui-monospace, "JetBrains Mono", SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.78rem;
	letter-spacing: 0.05em;
	text-transform: lowercase;
	color: #0b2a5b;
	margin-bottom: 1rem;
}
.primehub-eyebrow::before { content: "// "; opacity: 0.55; }

/* "available_for_new_projects" status chip */
.primehub-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	padding: 0.4em 0.85em;
	font-family: ui-monospace, "JetBrains Mono", Menlo, monospace;
	font-size: 0.85rem;
	color: #0b2a5b;
	background: rgba(11, 42, 91, 0.06);
	border: 1px solid rgba(11, 42, 91, 0.2);
	border-radius: 9999px;
}
.primehub-chip::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #1e4d8c;
	box-shadow: 0 0 8px rgba(30, 77, 140, 0.55);
	animation: primehub-pulse 2s ease-in-out infinite;
}
@keyframes primehub-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.45; }
}

/* Service / Prime Suite card hover */
.wp-block-column.has-border-color {
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.wp-block-column.has-border-color:hover {
	border-color: #0b2a5b !important;
	transform: translateY(-2px);
	box-shadow: 0 16px 32px -20px rgba(11, 42, 91, 0.25);
}

/* ============================================================ */
/* Navbar (navy header) — force white links and submenu items    */
/* The block-level textColor on the navigation block doesn't     */
/* always propagate into wp-block-navigation-submenu children.   */
/* ============================================================ */
header .wp-block-navigation,
header .wp-block-navigation a,
header .wp-block-navigation .wp-block-navigation-item__label,
header .wp-block-navigation .wp-block-navigation-submenu__toggle {
	color: #ffffff;
}
header .wp-block-navigation a:hover,
header .wp-block-navigation .wp-block-navigation-item__label:hover {
	color: #5fa3ff;
}
/* Submenu dropdown — white panel with black/navy text. The top-level
   nav stays white-on-navy; the dropdown panel itself is light so its
   own links are dark (per Eric: "letters in the dropdown should be black"). */
header .wp-block-navigation .wp-block-navigation__submenu-container {
	background-color: #ffffff;
	border: 1px solid #d8def0;
	box-shadow: 0 12px 32px -16px rgba(11, 42, 91, 0.35);
}
header .wp-block-navigation .wp-block-navigation__submenu-container a {
	color: #0c1326 !important;
}
header .wp-block-navigation .wp-block-navigation__submenu-container a:hover {
	color: #0b2a5b !important;
	background: #f4f7fc;
}
/* Site title link */
header .wp-block-site-title a { color: #ffffff; }
header .wp-block-site-title a:hover { color: #5fa3ff; }

/* ============================================================ */
/* CONSULTANCY / ADVISORY SURFACE — mostly white, navy accent   */
/* Scoped so it never bleeds into the dark engineering pages.   */
/* ============================================================ */
.primehub-advisory {
	background: #ffffff;
	color: #1a2342;        /* darker body text → ~11:1 contrast on white (AAA) */
}
/* Default heading color on the advisory surface, but let explicit textColor
   (e.g. textColor:"navy") win — has-text-color is the marker WordPress
   applies whenever the block sets its own color. */
.primehub-advisory .wp-block-heading:not(.has-text-color) { color: #0b2a5b; }
.primehub-advisory p:not(.has-text-color) { color: #1a2342; }
.primehub-advisory a:not(.wp-block-button__link) {
	color: #0b2a5b;
	text-decoration-color: rgba(11, 42, 91, 0.4);
	text-underline-offset: 3px;
}
.primehub-advisory a:not(.wp-block-button__link):hover { color: #1e4d8c; }

/* Hero band — WHITE with a very faint navy blueprint-grid and a thin
   navy underline. The "touch of navy" is the eyebrow chip, the heading
   color, and the bottom border — not a big dark block. */
.primehub-advisory-hero {
	position: relative;
	background-color: #ffffff;
	background-image:
		linear-gradient(rgba(11, 42, 91, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(11, 42, 91, 0.045) 1px, transparent 1px),
		radial-gradient(ellipse 900px 400px at 90% 0%, rgba(11, 42, 91, 0.05), transparent 60%);
	background-size: 36px 36px, 36px 36px, auto;
	border-bottom: 1px solid #e5eaf2;
}
.primehub-advisory-hero > * { position: relative; z-index: 1; }

/* Eyebrow chip on the white hero — small touch of navy */
.primehub-advisory-eyebrow {
	display: inline-block;
	font-family: ui-monospace, "JetBrains Mono", SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #0b2a5b;
	padding: 0.35em 0.7em;
	background: rgba(11, 42, 91, 0.06);
	border: 1px solid rgba(11, 42, 91, 0.18);
	border-radius: 4px;
}

/* Reference-number chip — for the advisory documents (now on white) */
.primehub-ref {
	font-family: ui-monospace, "JetBrains Mono", Menlo, monospace;
	font-size: 0.78rem;
	color: #0b2a5b;
	letter-spacing: 0.04em;
}

/* Resource / download card — used on integrations + newsletter */
.primehub-resource-card {
	display: block;
	padding: 1.75rem;
	background: #ffffff;
	border: 1px solid #d8def0;
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(11,42,91,0.04);
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
	color: inherit !important;
	text-decoration: none !important;
}
.primehub-resource-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 40px -20px rgba(11,42,91,0.35);
	border-color: #0b2a5b;
}
.primehub-resource-card .label {
	display: inline-flex; align-items: center; gap: 0.4em;
	font-family: ui-monospace, "JetBrains Mono", Menlo, monospace;
	font-size: 0.72rem; color: #1e4d8c; letter-spacing: 0.08em; text-transform: uppercase;
}
.primehub-resource-card .label::before {
	content: "📄"; filter: grayscale(1) brightness(0.6);
}
.primehub-resource-card h3 {
	margin: 0.6rem 0 0.4rem; font-size: 1.2rem; color: #0b2a5b; letter-spacing: -0.015em;
}
.primehub-resource-card .meta {
	font-family: ui-monospace, "JetBrains Mono", Menlo, monospace;
	font-size: 0.78rem; color: #6679a0; margin-top: 0.6rem;
}
.primehub-resource-card .download-cta {
	display: inline-block; margin-top: 1rem;
	font-weight: 600; color: #0b2a5b; font-size: 0.92rem;
}

/* Step / pipeline card — Customs → Invoicing → VAT return */
.primehub-pipeline {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
	margin: 1.5rem 0;
}
.primehub-pipeline-step {
	background: #f4f7fc;
	border: 1px solid #d8def0;
	border-left: 3px solid #0b2a5b;
	border-radius: 10px;
	padding: 1.25rem;
}
.primehub-pipeline-step .step-num {
	font-family: ui-monospace, Menlo, monospace; font-size: 0.72rem; color: #1e4d8c;
	letter-spacing: 0.12em; text-transform: uppercase;
}
.primehub-pipeline-step h4 {
	margin: 0.4rem 0; color: #0b2a5b; font-size: 1.05rem;
}
.primehub-pipeline-step p {
	font-size: 0.92rem; color: #3a455e; line-height: 1.5; margin: 0;
}

/* Checklist rows */
.primehub-check-list { list-style: none; padding-left: 0; margin: 0; }
.primehub-check-list li {
	padding: 0.85rem 0 0.85rem 2rem;
	border-bottom: 1px solid #eaedf5;
	position: relative;
	font-size: 0.97rem;
}
.primehub-check-list li::before {
	content: ""; position: absolute; left: 0; top: 1.1rem;
	width: 14px; height: 14px;
	border: 1.5px solid #0b2a5b; border-radius: 3px;
}
.primehub-check-list li:last-child { border-bottom: none; }
.primehub-check-list strong { color: #0b2a5b; }

/* Subscribe form */
.primehub-subscribe-form {
	display: flex; gap: 0.6rem; flex-wrap: wrap; margin-top: 1.5rem;
}
.primehub-subscribe-form input[type="email"],
.primehub-subscribe-form input[type="text"] {
	flex: 1; min-width: 220px;
	padding: 0.85rem 1rem;
	font: inherit;
	background: #ffffff;
	color: #0c1326;
	border: 1px solid #c8d1e6;
	border-radius: 6px;
}
.primehub-subscribe-form input:focus {
	outline: none; border-color: #0b2a5b;
	box-shadow: 0 0 0 3px rgba(11,42,91,0.12);
}
.primehub-subscribe-form button {
	padding: 0.85rem 1.5rem;
	font-weight: 600;
	background: #0b2a5b; color: #ffffff;
	border: none; border-radius: 6px;
	cursor: pointer;
	transition: background 0.18s ease;
}
.primehub-subscribe-form button:hover { background: #1e4d8c; }
.primehub-subscribe-form .privacy {
	flex-basis: 100%;
	font-size: 0.82rem; color: #6679a0; margin-top: 0.5rem;
}

/* Topic chips on subscribe page */
.primehub-topic-chip {
	display: inline-block;
	padding: 0.5em 0.9em;
	margin: 0.2em;
	font-size: 0.88rem;
	color: #0b2a5b;
	background: #f4f7fc;
	border: 1px solid #d8def0;
	border-radius: 9999px;
}
